Ш̴̴̜̥͍͕̼̙̱͙͎͍̘̀̐̔́̾̃͒̈̔̎́́͜р̧̛̺͖͖̯̖ͧͤ͋̅̽ͧ̈̐̽̆̐͋ͤͦͬ͛̃̑͞͞и̒ͥͤͯ͂ͣ̐̉̑ͫ̉̑҉̛͏̸̻͕͇͚̤͕̯̱̳͉ͅф̴̴̡̟̞͙̙̻͍̦͔̤̞̔̓́̍͗̚͢͞ͅт̨̐ͫ̂͊̄̃ͥͪ͏̫̺͍̞̼͈̩̥̜͔͜͜ы̸̴̱̺̼̠̦͍͍͍̱̖͔̖̱͉̅͑͌͒ͫ͒̀ͥ͐ͤ̅͘̕.̵̴̡̭̼̮͖͈̙͖͖̲̮̬͍͙̼̯̦̮̮ͦ̆̀̑̌ͮͧͣͯ̔̂́͟г͌ͮ̏̈͂ͯ̚҉̛̙̬̘̲̗͇͕̠̙͙̼̩͚̀͘͞ͅо̷̥̯̘̓ͤ̽͒̋̉̀̂̄̒̓̊ͨ͛́̌ͤ̂̀͠в̶̒͒̓̏̓̚҉̛̙̘̺̰̮̼̟̼̥̟̘̠̜͜н̸̷̸̲̝͈͙̰̟̻̟̰̜̟̗͎̻̻͍̿̔̃ͨ͑о̔̀̋ͫ̇̿̐ͫ͌͗ͩ҉̨̜̙̙͈͍̮̮̼̙̘̞̕͜͡ Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1239.1 пользователей не могут ошибаться!
?6943
прекрасное6443
говно5905
говнорашка5512
хуита4716
anime3066
linux2652
music2635
bnw2602
рашка2565
log2355
ололо2176
дунч1832
pic1815
сталирасты1491
украина1439
быдло1437
bnw_ppl1419
дыбр1238
гімно1158

https://github.com/l29ah/posplyu лан чёт работает надо выкладывать
#2PAESR (11) / @l29ah / 2201 день назад
Управляем SSD1306 OLED-дисплеем по I2C с помощью FTDI: https://github.com/l29ah/ssd1306-libmpsse
#QUAD2E (0+4) / @l29ah / 2396 дней назад
Написал крючко-либу: https://www.thingiverse.com/thing:2889126
#R9IAT9 (0+3) / @l29ah / 2407 дней назад
Модная обходилка говнолиста: Инит-скрипт для openrc: #!/sbin/openrc-run # Copyright 1999-2018 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 savefile=/var/db/iptables-rbl/saved depend() { need net } start() { ipset restore < "$savefile" ipset create -q vpn-whitelist hash:net maxelem 4294967295 iptables -t mangle -A OUTPUT -m set --match-set vpn-whitelist dst -j MARK --set-xmark 0x103 # ip rule add fwmark 0x103 lookup 3 # ip r a default dev myvpn table 3 } stop() { ipset save vpn-whitelist > "$savefile" } Скрипт для крона: #!/bin/bash echo Updating iptables-rbl | logger cd /var/db/iptables-rbl TARGET_SET=vpn-whitelist TARGET_TMP=vpn-whitelist-tmp mkset() { ipset destroy -q ${TARGET_TMP} || true ipset create -q ${TARGET_SET} hash:net maxelem 13107200 || true ipset create ${TARGET_TMP} hash:net maxelem 13107200 { cat list # rutracker echo 195.82.146.214 # pornhub echo 216.18.168.162 } | xargs -n1 ipset -q add ${TARGET_TMP} ipset swap ${TARGET_TMP} ${TARGET_SET} ipset destroy ${TARGET_TMP} } code=&#39;import pandas as pd import sys data = pd.read_csv(sys.argv[1], sep=";", header=None, skiprows=[0], encoding="cp1251", names=["ip", "url", "full_url", "blocked_by", "law", "date"]) ip_list = {ip for sublist in data["ip"].dropna().unique() for ip in sublist.split(" | ")} print("\n".join(ip_list))&#39; python3 -c "$code" <(wget -O - https://raw.githubusercontent.com/zapret-info/z-i/master/dump.csv 2>/dev/null) > list-new if [ $(wc -c list-new | cut -d\ -f 1) -gt 7 ]; then mv list-new list mkset else echo "iptables-rbl haven&#39;t received an address list" | logger mkset fi
#KL06TL (10+8) / @l29ah / 2412 дней назад
https://github.com/l29ah/pid высрал пид-регулятор с cli кароч
#ZX0YM7 (2+1) / @l29ah / 2749 дней назад
Купил ещё микросхему оцифрятора термопары, на этот раз в терре. Заебись, работает! Китайцы на ебее кормят говном! // Reading MAX31855 using FTDI&#39;s MPSSE via libmpsse: https://github.com/l29ah/max31855-libmpsse
#WIZZ8Z (11+2) / @l29ah / 2753 дня назад
Зделал швабодную фирмварь для пятибаксового вайфай-выключателя: https://github.com/l29ah/sonoff-wifi-switch-sming
#5D79ST (0+3) / @l29ah / 2883 дня назад
Для любителей сохранять аттачи в mutt: https://dev.mutt.org/trac/ticket/3746#comment:1
#8DS221 (0) / @l29ah / 3096 дней назад
БАЙТЫ БЛЯТЬ ГДЕ ГДЕ БЛЯДЬ БАЙТЫ c 'int f = open("/dev/ttyUSB1", O_RDONLY);while(1){ char c; read(f, &c, 1); printf("%x\n", (int)c);}' СУКА ВСЁ САМОМУ ДЕЛАТЬ БАЙТЫ БЛ Я БАЙТЫ ИДУТ ВИДНО УРА
#6BG8KZ (15+2) / @l29ah / 3211 дней назад
Написал пиздилку/запихивалку стандартных vcard для n900. Теперь адресные книги задроида, linphone и n900 синхронизируются, ня // на самом деле нет, нужно ещё сделать умную мержилку, вместо которой сейчас мясной лях и референс-адресная книга на лаптопе.
#PUB1WA (30+1) / @l29ah / 3212 дней назад
Починил noping чтобы предсказуемо работал с ncurses-6, получился какой-то костыль уёбищный, вырезающий oping-подобную функциональность. Жаль больше вменяемых пингеров, запихуемых в небольшое окошко, нет. Сейчас получается что-то такое в дешборде: https://dump.bitcheese.net/files/ejujeku/screenshot-noping.png diff --git a/src/oping.c b/src/oping.c index 8f85234..283593b 100644 --- a/src/oping.c +++ b/src/oping.c @@ -1376,8 +1376,8 @@ static int pre_loop_hook (pingobj_t *ping) /* {{{ */ } main_win_height = height - (box_height * host_num); - main_win = newwin (/* height = */ main_win_height, - /* width = */ width, + main_win = newwin (/* height = */ 0, + /* width = */ 0, /* y = */ 0, /* x = */ 0); /* Allow scrolling */ scrollok (main_win, TRUE); @@ -1533,7 +1533,7 @@ static void update_host_hook (pingobj_iter_t *iter, /* {{{ */ context = (ping_context_t *) ping_iterator_get_context (iter); #if USE_NCURSES -# define HOST_PRINTF(...) wprintw(main_win, __VA_ARGS__) +void HOST_PRINTF(char *c, ...){if(c)return;} #else # define HOST_PRINTF(...) printf(__VA_ARGS__) #endif
#9ZR5QN (10) / @l29ah / 3254 дня назад
Нашёл свой код полуторагодовалой давности, который почему-то не опубликовал: Обожаю security through obscurity. Декодируем пароль из конфига Psi, кидая первым аргументом password, а вторым jid: #include <QString> #include <iostream> QString decodePassword(const QString &pass, const QString &key) { QString result; int n1, n2; if (key.length() == 0) { return pass; } for(n1 = 0, n2 = 0; n1 < pass.length(); n1 += 4) { ushort x = 0; if(n1 + 4 > pass.length()) { break; } x += QString(pass.at(n1)).toInt(NULL,16)*4096; x += QString(pass.at(n1+1)).toInt(NULL,16)*256; x += QString(pass.at(n1+2)).toInt(NULL,16)*16; x += QString(pass.at(n1+3)).toInt(NULL,16); QChar c(x ^ key.at(n2++).unicode()); result += c; if(n2 >= key.length()) { n2 = 0; } } return result; } int main(int argc, char *argv[]) { QString p = QString(argv[1]); QString k = QString(argv[2]); QString r = decodePassword(p, k); std::string ru = r.toUtf8().constData(); std::cout << ru << std::endl; return 0; }
#O3MZIP (2+2) / @l29ah / 3446 дней назад
https://dump.bitcheese.net/files/evurula/tkabber-muc-history-preload.patch Починил подкачку оффлайновых сообщений в муках ткаббером. Теперь если сервер настроен не уебански и не является кривым ежабберд, то ткаббер получит все сообщения, что прошли через мук пока юзера не было, в пределах лимитов в конфиге ткаббера же.
#R62YID (4+1) / @l29ah / 3502 дня назад
Красивые часики в i3lock: https://github.com/i3/i3lock/pull/7
#PMU0SM (22) / @l29ah / 3562 дня назад
Взял задачу допилить прошивку под новую железку. Исходно эту прошивку писал я, там все было красиво, расширябельно и с мыслью о том, что похожих железок будет несколько разных типов. Потом я из той фирмы ушел. Прошивку дали допиливать какому-то криворукому мудаку, который хуй поклал на мою расширябельность и красоту кода, накоммитил в репу бинарников, цтагсов и еще какого-то дерьмища, все изгадил translitom ebuchim, со всякими rele, pechka и friquling. Почти физически больно на это смотреть. Пойду чистить говно.
#F1079V (4+2) / @lexszero / 3589 дней назад
Выпиливаем спам нотификашками от токсика при изменении статуса хуя из контактлиста: http://dump.bitcheese.net/files/ujebumo/toxic-dont-notify-online-status.patch
#F027HL (0) / @l29ah / 3737 дней назад

Получаем нотификашки о новом спаме в любимый десктоп из любимого mutt:
∞ cat mutt-notify-send.patch
--- curs_main.c 2014-09-05 19:30:37.578096061 +0400
+++ curs_main.c 2014-09-05 19:37:02.549530283 +0400
@@ -401,6 +401,12 @@
menu->redraw = REDRAW_INDEX | REDRAW_STATUS;
}

+static void notifynew() {
+ if (option (OPTBEEPNEW))
+ beep ();
+ system("notify-send -a mutt -c mail 'new mail have arrived'");
+}
+
static const struct mapping_t IndexHelp[] = {
{ N
("Quit"), OPQUIT },
{ N
("Del"), OP_DELETE },
@@ -496,8 +502,7 @@
else if (check == M_NEW_MAIL)
{
mutt_message _("New mail in this mailbox.");
- if (option (OPTBEEPNEW))
- beep ();
+ notify_new();
} else if (check == M_FLAGS)
mutt_message _("Mailbox was externally modified.");

@@ -519,8 +524,8 @@
menu->redraw |= REDRAW_STATUS;
if (do_buffy_notify)
{
- if (mutt_buffy_notify () && option (OPTBEEPNEW))
- beep ();
+ if (mutt_buffy_notify ())
+ notify_new();
}
else
do_buffy_notify = 1;

#9BHI7X (16+1) / @l29ah / 3742 дня назад

Захотел чтобы OSS4 собиралась сразу в модули ядра (сейчас она компилится в объектники, а линкуется уже после установки), дабы можно было быстро проверять, насколько хуйни я туда набыдлокодил. Объелся говна с упоротой билд-системой, желание что-то быдлокодить пропало. Закрыл крышку ноута, ноут ушёл в саспенд, OSS сломалась, надо перезапускать весь звукософт, желание вкорячить в OSS поддержку power management вернулось. goto ^;

#6DTQNT (0) / @l29ah / 3742 дня назад

Выпиливаем новую фичу mpv, благодаря которой он подвисает, пока окно с его говнищем (например, обложкой альбома из эмпэти) не будет смэплено в иксовый дисплей. Актуально для пользователей оконных менеджеров с автоматическим распихиванием окон по воркспейсам.
diff --git a/video/out/x11_common.c b/video/out/x11_common.c
index adfbd95..5a74d60 100644
--- a/video/out/x11_common.c
+++ b/video/out/x11_common.c
@@ -1311,7 +1311,6 @@ void vo_x11_config_vo_window(struct vo *vo, XVisualInfo *vis, int flags,

 vo_x11_fullscreen(vo);
  • wait_until_mapped(vo); vo_x11_update_geometry(vo); update_vo_size(vo); x11->pending_vo_events &= ~VO_EVENT_RESIZE; // implicitly done by the VO
#ULIJBS (3+1) / @l29ah / 3842 дня назад
--
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.