↑↑↓↓←→←→ⒷⒶ Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1146.3 пользователей не могут ошибаться!
?6497
прекрасное6256
говно5842
говнорашка5336
хуита4297
anime2916
linux2505
bnw2466
music2366
log2146
рашка2078
pic1881
ололо1816
быдло1424
украина1397
сталирасты1387
дыбр1192
гімно1158
bnw_ppl1007
роботы_не_одобряют1005

Починил IMAP в neomutt, теперь им можно пользоваться без регулярных рестартов клиента.
#T309V4 (0+1) / @l29ah / 7 дней назад
Наговнякал скрипт для gdb для починки содержимого регистров чтобы можно было делать bt, up, смотреть локальные переменные и делать и прочие полезные вещи после hard fault в ARM Cortex M-микроконтроллерах: define hfstack set $frame_ptr = (unsigned *)$sp if $lr & 0x10 set $sp = $frame_ptr + (8 * 4) else set $sp = $frame_ptr + (26 * 4) end set $lr = $frame_ptr[5] set $pc = $frame_ptr[6] bt end document hfstack set the correct stack context after a hard fault on Cortex M end
#CLK0FP (0+1) / @l29ah / 8 дней назад
Начал пилить коллекцию патчей для EC от 51nb X210 с няшным dialog-интерфейсом: https://github.com/l29ah/x210-ec
#71JJRJ (0+1) / @l29ah / 94 дня назад
Наговнякал осциллоскоп для stdin: https://github.com/l29ah/stdinscope
#S9DZXU (8+2) / @l29ah / 108 дней назад
Скрутил вместе mpv и yandex-music-download: https://github.com/l29ah/yandex-music-download/tree/fixes mpv $(ya.pl -s -l -u https://music.yandex.ru/album/1893037/track/17198916)
#HQ0RIB (3+2) / @l29ah / 116 дней назад
https://github.com/l29ah/waitgdb написал костыль, останавливающий софтину в случае креша, чтобы к ней можно было подсосаться отладчиком.
#5861SU (13+3) / @l29ah / 120 дней назад
Test/drive your servos using FTDI boards: https://github.com/l29ah/ft232-servo
#7PGY67 (0) / @l29ah / 178 дней назад
Чёт data science в прыщесосноле хуевато идёт import Data.List import System.Environment import System.IO purgeOutliers :: Double -> [Double] -> ([Double], [Double]) purgeOutliers fraction list = let len = length list mean = sum list / fromIntegral len droplen = round $ fromIntegral len * fraction offsets = map (abs . (subtract mean)) list boundary = head $ drop droplen $ reverse $ sort offsets in partition (\x -> abs (x - mean) < boundary) list main :: IO () main = do args <- getArgs let fraction = read $ head args inp <- getContents let (good, bad) = (purgeOutliers fraction . map read . lines) inp hPutStr stdout $ unlines $ map show good hPutStr stderr $ unlines $ map show bad
#W5JG2G (10) / @l29ah / 378 дней назад
https://github.com/l29ah/posplyu лан чёт работает надо выкладывать
#2PAESR (11) / @l29ah / 384 дня назад
Управляем SSD1306 OLED-дисплеем по I2C с помощью FTDI: https://github.com/l29ah/ssd1306-libmpsse
#QUAD2E (0+4) / @l29ah / 579 дней назад
Написал крючко-либу: https://www.thingiverse.com/thing:2889126
#R9IAT9 (0+3) / @l29ah / 590 дней назад
Модная обходилка говнолиста: Инит-скрипт для 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 / 595 дней назад
https://github.com/l29ah/pid высрал пид-регулятор с cli кароч
#ZX0YM7 (2+1) / @l29ah / 932 дня назад
Купил ещё микросхему оцифрятора термопары, на этот раз в терре. Заебись, работает! Китайцы на ебее кормят говном! // Reading MAX31855 using FTDI&#39;s MPSSE via libmpsse: https://github.com/l29ah/max31855-libmpsse
#WIZZ8Z (11+2) / @l29ah / 937 дней назад
Зделал швабодную фирмварь для пятибаксового вайфай-выключателя: https://github.com/l29ah/sonoff-wifi-switch-sming
#5D79ST (0+3) / @l29ah / 1066 дней назад
Для любителей сохранять аттачи в mutt: https://dev.mutt.org/trac/ticket/3746#comment:1
#8DS221 (0) / @l29ah / 1279 дней назад
БАЙТЫ БЛЯТЬ ГДЕ ГДЕ БЛЯДЬ БАЙТЫ 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 / 1394 дня назад
Написал пиздилку/запихивалку стандартных vcard для n900. Теперь адресные книги задроида, linphone и n900 синхронизируются, ня // на самом деле нет, нужно ещё сделать умную мержилку, вместо которой сейчас мясной лях и референс-адресная книга на лаптопе.
#PUB1WA (30+1) / @l29ah / 1395 дней назад
Починил 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 / 1437 дней назад
Нашёл свой код полуторагодовалой давности, который почему-то не опубликовал: Обожаю 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 / 1630 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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