Loess.ru

having fun

Удобный self-hosted список задач (ToDo list) с синхронизацией в NextCloud

Ставим NextCloud на выделенный IP
Ставим Nginx-proxy для подключения к нему по SSL
На телефон — ставим F-Droid
Устанавливаем tasks.org из F-Droid

Открываем tasks.org, авторизуемся на сервере NextCloud с помощью CalDAV

Создаём виджет на экране, и ставим галочку в «настройки — внешний вид — Временно показывать задачи после завершения», получаем что-то вроде:

Туда же можно подключить синхронизацию закладок браузеров с помощью Floccus

NSA Green Lambert for OS X rootkit investigation

Green Lambert is described as an “active implant” and “the only one where non-Windows variants have been found.”

“C2 jitter, secure erase / uninstall, SSL/TLS+extra crypto, size below 150K, encrypt logs and local collection, decrypt strings on the fly in mem… simply following these guidelines immediately makes the malware (“tools”) more interesting and, recognizable by a skilled analyst.”

https://objective-see.com/blog/blog_0x68.html (pdf)

Про сон

Сумбурная копипаста с кучей информации на одной странице https://habr.com/ru/company/timeweb/blog/579626/. В т.ч. — написано и про глицин, и про мелатонин, и про ГАМК

Ася Казанцева <3 «Зачем нужно спать и как делать это правильно?»:

Вячеслав Дубынин. Мозг и сон (основная лекция, по материалам которой собрана выжимка на хабре):

Установка streamripper

Качаем темплейт деб 10 потому что на пве6.3 (под управлением деб10) образ 11 деб не работает
заводим CT деб 10
Добавляем публичный ключ putty в /root/.ssh/authorized_keys
смотрим локалю, если её нет и кракозябры — делаем dpkg-reconfigure locales, перезагружаемся
коннектимся в консоль, cкачиваем стримриппер https://sourceforge.net/projects/streamripper/files/streamripper%20%28current%29/1.64.6/

apt install gcc glib2.0 libogg-dev libvorbis-dev make
./configure
make

./streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -t -o version -D "%S/%1q %A - %T" --xs_offset=3000

делаем демона /etc/systemd:

[Unit]
Description=streamripper-frisky
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

StartLimitIntervalSec=500
StartLimitBurst=5

[Service]
Restart=on-failure
RestartSec=10s

ExecStart=/path/to/streamripper-1.64.6/streamripper http://chill.friskyradio.com/frisky_aac_high -r 8008 -z -L playlist.pls -o version -t -D '/path/to/FriskyChill/%%1q %%A - %%T' --xs_offset=3000

[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable streamripper-frisky
apt install incron

Добавляем юзера в /etc/incron.allow

incrontab -e

ебёмся с тем, что инкронтаб вообще никак не умеет обрабатывать пути с пробелами,

тыкаем галку «Disable application keypad mode» in PuTTY (on the Features panel) для того, чтобы нумпад наконец-то заработал

пишем скрипт, на вход которому скармливаем параметр для выгрузки файла в тг:

/path/to/FriskyChill       IN_CREATE,IN_MOVED_TO   /path/to/py-frisky-bot/py-frisky-bot.py "$@/$#" $% >> /path/to/py-frisky-bot/py-frisky-bot.log 2>&1

Осознаём, что файлы больше 50 мб ботами в телегу не выгружаются, и делаем http-сервер и отправку урла в чат вместо аудио.

Получаем что-то типа этого: https://t.me/FriskyChill
Подписывайтесь! =)

184 467 440 737 btc

было создано в одной из транзакций в 2010 году

The issue was termed an “overflow bug”; the code for checking Bitcoin transactions didn’t work if outputs were large enough that they overflowed when summed

https://nvd.nist.gov/vuln/detail/CVE-2010-5139

https://decrypt.co/39750/184-billion-bitcoin-anonymous-creator

История IP

Весьма занятное, я бы даже сказал — фундаментальное чтиво (The world in which IPv6 was a good design): https://apenwarr.ca/log/20170810 (pdf)

Anyway, I digress. The salient detail here is that unlike real IP services, bootp and DHCP need to know about ethernet addresses, because after all, it’s their job to hear your ethernet address and assign you an IP address to go with it. They’re basically the reverse of ARP, except we can’t say that, because there’s a protocol called RARP that is literally the reverse of ARP. Actually, RARP worked quite fine and did the same thing as bootp and DHCP while being much simpler, but we don’t talk about that.

И небольшое ревью спустя три года, не менее фундаментальное, чем предыдущая статья (IPv4, IPv6, and a sudden change in attitude): https://apenwarr.ca/log/20200708 (pdf)

И немного рекламы после ревью: Tailscale+WireGuard. Авторы в этих сервисах видят решение основной нерешённой проблемы ipv6 — коннективити при смене ip-адреса:

IP mobility is what we do, in a small way, with Tailscale’s WireGuard connections. We try all your Internet links, IPv4 and IPv6, UDP and TCP, relayed and peer-to-peer. We made mobile IP a real thing, if only on your private network for now. And what do you know, the math works. Tailscale’s use of WireGuard with two networks is more reliable than with one network.

Also: hilbert map of IPv4 address space, same for IPv6

Some ways for organizing linux desktops/workflows/terminals

Прекрасная статья-обзор организации процесса в текстовых терминалах в терминальной стадии: http://jacobzelko.com/workflow/ (pdf)


Таскбар в screen делается записью в ~/.screenrc, что-то типа:
hardstatus alwayslastline "%{bw}[%H] [%?%-Lw%?%{wb}%n*%f %t%{bw}%?%+Lw%?]%=%{bw} [%1`] [%c:%s] [%l]"
http://www.softpanorama.org/Utilities/Screen/tips.shtml
https://www.transfusion.eu.org/2014/06/18/gnu-screen-on-steroids/


Недавно узнал, что window-менеджеров не десять штук, а в разы больше =) Например, HiveOS использует легковесный аскетичный Openbox WM + Tint2:


https://laurvas.ru/openbox/

Git для самых маленьких и для совсем больших

https://ohmygit.org/

Git LFS vs Git Annex:

side-to-side comparison: https://workingconcept.com/blog/git-annex-vs-git-lfs (pdf)
вводный обзор, как работать с annex: https://blog.debiania.in.ua/posts/2013-12-15-advertising-git-annex.html (pdf)

Основное юзабилити-отличие:

With Git LFS, new developers cloning a Git LFS-enabled repo for the first time don’t need to know anything about it. They can use «git lfs clone» to have that initial clone come down faster, but they don’t have to. «git clone» alone is all they need.

Based on my reading just now (mainly Git Annex vs. Git LFS), with Git Annex new developers cloning the repo for the first time must also remember to invoke «git annex sync —content» after cloning. They must also remember to run that same command after adding new files.

While it probably does not seem like a lot to remember (one extra command to type), in my experience adding one extra command to a workflow can impair productivity pretty signficantly — especially if people sometimes forget to run that command.

— https://www.reddit.com/r/git/comments/7vgudg/why_or_is_git_lfs_winning/