]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
7 years agoВокалистка Lacuna Coil на сцене с Epica
Sergey Matveev [Thu, 21 Sep 2017 12:21:52 +0000 (15:21 +0300)]
Вокалистка Lacuna Coil на сцене с Epica

http://www.darkside.ru/news/96599/
Две клёвые девахи на одной сцене. Lacuna Coil, как группу, я обожаю, но
вот к Epica очень холоден -- уж очень попсовые, но имеющие хорошую
вокалистку. Но не буду же я слушать группу из-за одной неё, как например
из-за текущей вокалистки Arch Enemy?

7 years agoНесколько потоков в XZ формате сжатия
Sergey Matveev [Thu, 21 Sep 2017 08:43:21 +0000 (11:43 +0300)]
Несколько потоков в XZ формате сжатия

XZ из коробки умеет понимать сконкатенированные .xz файлы и разжимать их
как один целый поток байт. Это может пригодиться когда у вас данные
итеративно накапливаются и их можно просто присоединить, как например
mbox файл с почтой. Конечно, это ухудшит сжатие, так как будут два
словаря использованы, но если нужно что-то быстро провернуть или
пересжимать заведомо реже, то самое оно.

7 years agoПро форматы архивов
Sergey Matveev [Wed, 20 Sep 2017 12:12:25 +0000 (15:12 +0300)]
Про форматы архивов

Когда-то давно, делая бэкапы, столкнулся с тем, что cpio или tar команда
у меня не смогли сделать архив большого размера и часть имён файлов там
не умещалась. Начитался про разные форматы одного только tar-а, но
позабыл. Решил вспомнить.

В POSIX/UNIX мире можно выделить три команды для работы с архивами: tar,
cpio и pax (ar не в счёт). Вне POSIX мира единственный формат имеющий
самую широкую поддержку это ZIP (какие конкретно версии -- не знаю). Про
него речь тоже не веду.

Лично мне tar мало когда нравился своим интерфейсом. После знакомства с
cpio я для себя сделал вывод что вот именно вот так должен выглядеть
архиватор. Долгое время использовал исключительно cpio, бойкотируя tar,
ибо уж правильно в нём всё с точки зрения интерфейса. Однако его формат
(cpio) имел и имеет существенные ограничения из-за которых им нельзя
просто так брать и архивировать всё что угодно.

После cpio я узнал о существовании pax. Pax создавался POSIX-ом именно
как архиватор всех архиваторов -- подружить ("pax" это "мир", с
греческого, вроде бы) tar и cpio, сделав что-то унифицированное.
Интерфейс pax повторяет cpio-шный: что круто. Формат поддерживаемый
pax-ом это один из tar-ов в котором нет крупных ограничений cpio -- тоже
хорошо. Вроде бы идеальная команда -- интерфейс cpio, формат tar, однако
pax мало популярен и большинстве дистрибутивов его не будет из коробки.

Остаётся tar. Однако форматов tar-а которые сейчас можно увидеть на
практике целых три: GNU tar, UStar, pax, всякое старьё о котором стоит
забыть.

Всякое старьё это между собой не очень совместимые vendor-specific
форматы, которые POSIX решил унифицировать и сделать "Unix standard
TAR". UStar поддерживает длину *полного* имени файла в 256 байт -- это
единственное что на данный момент прям может сильно "ударить" по глазам.
Но, насколько понимаю, UStar поддерживается широко и это формат который
должны открыть все и везде. Ну уж, существуя с 1988 года, не удивительно.

GNU tar, как всегда всё GNU-шное, куда более сложный формат, только с
собой совместимый, но в него можно запаковать всё без ограничений в 256
байт.

Но в POSIX.1-2001 стандарте, Sun предложила обновить UStar, сделав
pax-формат. Это UStar в котором в виде расширений добавлена
дополнительная информация о файлах: точность timestamp-ов хоть до
наносекунд, нет ограничений на длину имён файлов, как и символических
ссылок, пользователей/групп. Нет ограничений по размеру файлов. Сделан
этот архив так, что его отличия от UStar хранятся в виде PaxHeaders
файлов -- открыв такой архив мы увидим эти специфичные файлы, но многое
сможет достать. В FreeBSD версии tar есть restricted-pax формат который,
везде где можно, убирает PaxHeaders, добавляя только при необходимости.
То есть, если можно сделать архив UStar, то он и будет делаться и только
в худшем случае будет создан pax.

pax формат открывают все современные дистрибутивы. И именно его и стоит
использовать. А если точнее, то стоит использовать наверное
restricted-pax -- создавая UStar если это можно. Что забавно: pax
команда не поддерживает pax формат.

Подводя итог (в том числе субъективный, зависящий от моих дистрибутивов):

Формат(ы) cpio: все архаичны и имеют существенные ограничения
Формат UStar: до сих пор может быть часто использован без геморроя
Формат pax: лучший, может быть часто обратно-совместим с UStar

Команда cpio: хороший интерфейс, не может pax
Команда pax:  хороший интерфейс, не может pax
Команда tar:  плохой интерфейс,  может pax

Хотя моя FreeBSD версия cpio умеет pax.

7 years agoUlcerate в Москве!!!
Sergey Matveev [Wed, 20 Sep 2017 11:24:45 +0000 (14:24 +0300)]
Ulcerate в Москве!!!

http://darkside.ru/show/9117/
Увидел тут новость что к нам приезжают крутейшие монстры техничного
брутал дет метала из Новой Зеландии: Ulcerate! Кроме того, при поддержке
нижегородцев 7 H.Target, в футболке которых я регулярно хожу.
Вот чего уж точно не ожидал, так это подобного посещения!

Выдержка из анонса:

    Тёмный и гнетущий дет-метал, который со временем претерпел ряд
    метаморфоз и вобрал в себя всю ярость и напор, выражаемые
    музыкантами в сложных звуковых конструкциях, которые вот уже 15 лет
    сводят слушателей с ума безумной скоростью ударных и убийственными
    гитарными риффами, как дикий хищник беспощадно терзающий свою
    добычу.

7 years agoПопулярный эмулятор терминала для macOS сливает приватную информацию
Sergey Matveev [Tue, 19 Sep 2017 19:16:47 +0000 (22:16 +0300)]
Популярный эмулятор терминала для macOS сливает приватную информацию

https://gitlab.com/gnachman/iterm2/issues/6050
А именно iTerm2 делает DNS запросы с тем что увидит в выводе своём.
"User experience" почти всегда на противоположной чаше весов с "security".

7 years agoHR становятся просто невоспитанными
Sergey Matveev [Tue, 19 Sep 2017 18:28:15 +0000 (21:28 +0300)]
HR становятся просто невоспитанными

Получил сегодня письмо от одного HR:

    Я нашла твой профиль В Контакте, а потом и твои сайты. Мы сейчас в
    XXX ищем Python developer. Я бы хотела обсудить с тобой это.
    Готов пообщаться?

Во-первых, в ВК я даавным давно был зарегистрирован, но не в состоянии
удалить профиль, так как для входа нужно слить им свой сотовый телефон,
а на письма они не отвечают. Профиль там мёртв. Очень паршиво когда
соцсети начинают использовать для спама -- ведь всё это *нежелательная*
корреспонденция, как мне кажется. Если нужно общаться по поводу работы,
то для этого есть специализированные ресурсы со всякими резюме и тому
прочим. Соцсети типа ВК, как мне кажется, это для общения дружеского. Но
да ладно -- меня в соцсетях нет, хотя даже то что осталось даёт о себе знать.

Во-вторых, тут уж без сомнений для меня -- обращаться к совершенно
незнакомому человеку на "ты" это невоспитанно. Я понимаю что возможно
это была попытка сразу перейти на что-то дружественное, подальше от
формализма, но тут перегнута палка. Тем более что работа это вовсе не
место для дружбы (это, конечно же, не исключено, но не является ни
необходимым, ни желательным).

7 years agoПавел Дуров -- бесстыдный конченный маркетолог с кастрюлями лапши
Sergey Matveev [Tue, 19 Sep 2017 18:21:19 +0000 (21:21 +0300)]
Павел Дуров -- бесстыдный конченный маркетолог с кастрюлями лапши

https://techcrunch.com/2017/09/18/signal-moxie-marlinspike-techcrunch-disrupt-sf-2017-telegram/
Увидел тут в статье что оказывается Дуров говорил:

    The encryption of Signal (=WhatsApp, FB) was funded by the US
    Government. I predict a backdoor will be found there within 5 years
    from now.

и при этом умудряется закрывать глаза на полностью провалившие
криптоанализы его MTProto протокол, *худший* из существующих которые на
деле используются. А говорить такой бред про уже отлично
проанализированный криптографами Signal -- плевок в сторону всех
профессионалов, математиков. Полнейшее бесстыдство -- надо быть
конченный моральным уродом чтобы так нагло врать.

А Moxie верно говорит:

   Marlinspike reiterated that the whole point of end-to-end encryption
   is that users no longer need to trust anyone if the protocol works --
   and Signal does.

Вся суть E2E шифрования в том, что пользователю не надо более никому
доверять, никакой третьей стороне или компании, так как протокол
обеспечивает криптографическую гарантию.

7 years agoRuby в Vim под macOS -- залог успеха
Sergey Matveev [Tue, 19 Sep 2017 18:19:06 +0000 (21:19 +0300)]
Ruby в Vim под macOS -- залог успеха

https://triplebyte.com/blog/technical-interview-performance-by-editor-os-language
Статистика говорит о том, что если вы сидите в Vim -- ваши шансы пройти
интервью выше всех. Если вы Ruby, то тоже выше. Если вы пользователь
GNU/Linux, то... ну что особо общаться с людьми из мира где массово
стали переходить на systemd, сделав из когда-то неплохих дистрибутивов
аналог Windows? Не прокатит такое на серьёзную работу. Только
BSD-семейство систем, ну... в том числе macOS. Под все эти критерии
кстати идеально подходит Tim Pope -- создатель крутейших и
must-have-нейших плагинов для Vim.

7 years agoCodeComm плагин для Vim
Sergey Matveev [Sun, 17 Sep 2017 09:55:49 +0000 (12:55 +0300)]
CodeComm плагин для Vim

https://git.stargrave.org/cgit.cgi/codecomm.git/tree/doc/codecomm.txt
Понадобилось мне тут в email отправить комментарии для всякого кода из
Git-репозитория. То есть удобно и явно указать в каком коммите, каком
файле, на каких строках что-то так/не так.

Сделал CodeComm плагин для этой задачи -- по сути, являющийся просто
урезанной версией Gerrvim (https://git.stargrave.org/cgit.cgi/gerrvim.git/),
который, в свою очередь, изначально был написан для комментирования кода
для Redmine в ivi компании.

Работать с ним аналогично как и прежде: открываем файл в репозитории
(возможно через Fugitive, чтобы CodeComm узнал про коммит), выделяем
текстовый блок, жмём \cc или :CodeComm и открывается окно с шаблоном для
комментирования. После его сохранения, он дописывается в /tmp/codecomm.txt.

Шаблон имеет вид:

    -----# 2 [                            ec77b1f6b | src/pyderasn.py ]-----
      79 def tag_encode(num, klass=TagClass.universal, form=TagForm.primitive):
      80     if num < 31:
      81         # [XX|X|.....]
      82         return int2byte(klass.value | form.value | num)
      83     # [XX|X|11111][1.......][1.......] ... [0.......]
      84     return int2byte(klass.value | form.value | 31) + ...
      85
    ---------------------------------- >8 ----------------------------------
    Тут мой всякий комментарий.

7 years agoВыполнение в Vim заранее подготовленных команд
Sergey Matveev [Sat, 16 Sep 2017 07:03:26 +0000 (10:03 +0300)]
Выполнение в Vim заранее подготовленных команд

Надо мне тут было в одной программе массово переименовать множество
функций/переменных. Делать несколько десятков :%s/whatever/another/, а
потом ещё их и в другом файле применить. Хочется Vim для ввода командной
строки иметь. Почему-то смотрел в сторону command line window: q: -- там
действительно можно заниматься редактированием строки, но нельзя
подготовить несколько и сказать исполнить их все.

Оказалось проблема решается тривиально: скопировав заранее
подготовленный текст, например, в стандартный регистр, просто выполнить:

    :@"

7 years agoTox(ic) не всегда видит контакты online
Sergey Matveev [Fri, 15 Sep 2017 20:52:30 +0000 (23:52 +0300)]
Tox(ic) не всегда видит контакты online

Заметил серьёзную багу/проблему с Tox-ом (или Toxic-ом): после пропажи
сети и её возврата вновь, не всегда Tox понимает что он в online и
известные ему контакты тоже доступны. Отключился Ethernet на минуту,
подключился вновь, а в течении двух часов после этого он всё-равно так и
не видит что контакты стали online.

Не знаю проблема эта Tox-а (библиоеки) или Toxic (клиента), но
действительно неприятна. Перезапуск клиента конечно же сразу же
показывает контакты в online.

7 years agoКак надо делать селфи. Урок от Пушного
Sergey Matveev [Thu, 14 Sep 2017 18:03:21 +0000 (21:03 +0300)]
Как надо делать селфи. Урок от Пушного

https://www.youtube.com/watch?v=BkG1Y4J_fPA

7 years agoФинал 20 лет исследований Кассини-Гюйгенс
Sergey Matveev [Thu, 14 Sep 2017 08:14:52 +0000 (11:14 +0300)]
Финал 20 лет исследований Кассини-Гюйгенс

https://geektimes.ru/post/292701/
Очень интересная статья про эти аппараты!

7 years agoУм, зад и кубики
Sergey Matveev [Wed, 13 Sep 2017 21:13:39 +0000 (00:13 +0300)]
Ум, зад и кубики

https://nplus1.ru/blog/2017/09/13/Vombatidae
Это всё характеристики вомбатов. Очень уж мне они нравятся!

7 years agoПеревёл статью Брюса Шнайера: Касательно утечки данных Equifax
Sergey Matveev [Wed, 13 Sep 2017 20:54:18 +0000 (23:54 +0300)]
Перевёл статью Брюса Шнайера: Касательно утечки данных Equifax

http://www.stargrave.org/Equifax.html

7 years agoПриобрёл воздушный компрессор
Sergey Matveev [Tue, 12 Sep 2017 18:49:39 +0000 (21:49 +0300)]
Приобрёл воздушный компрессор

Для продувки компьютеров. На одной из работ видел как идеально чисты
становятся сервера после пары минут воздуходува. Мой не такой мощный,
без баллона, но компактный (в виде чемодана) и поток выдаёт достаточно
мощный для продувки.

7 years agoДобавил множество примеров интеграции ПО с NNCP
Sergey Matveev [Sun, 10 Sep 2017 15:15:54 +0000 (18:15 +0300)]
Добавил множество примеров интеграции ПО с NNCP

http://www.nncpgo.org/Integration.html
А именно то, как можно скачивать Web-сайты/страницы, делать и читать
WARC файлы, скачивать множество файлов с hook-ом на их отправку через
aria2c, работать с Git, а также упомянуть про RSS/Atom и youtube-dl.

7 years agoGit bundle
Sergey Matveev [Sat, 9 Sep 2017 14:46:50 +0000 (17:46 +0300)]
Git bundle

git bundle это архив веток/коммитов. Если у вас нет прямого подключения
к серверу с репозиторием, то ветки можно передать через этот
store-and-forward метод. Он специально заточен под использование в
условиях флоппинета. Отдавать полностью склонированный репозиторий на
флешке -- может быть огромный overhead.

Кроме того, git протокол не умеет делать докачку данных. Через bundle
можно сделать репозиторий простым файлов, который уже докачивать как
угодно. Например склонировать репозиторий Linux на не очень каналах --
испытание. Получив bundle, который делается раз в неделю, это сделать
легко, потом, подключив репозиторий, докачать накопившиеся за неделю
коммиты.
https://www.kernel.org/cloning-linux-from-a-bundle.html

7 years agoНовый релиз на работе называется: Ликвидный лемминг
Sergey Matveev [Fri, 8 Sep 2017 18:42:52 +0000 (21:42 +0300)]
Новый релиз на работе называется: Ликвидный лемминг

7 years agoaria2 -- как BitTorrent клиент
Sergey Matveev [Fri, 8 Sep 2017 07:43:53 +0000 (10:43 +0300)]
aria2 -- как BitTorrent клиент

Как-то в 682f2a0ad02fdad6b80cb861fdf9d73e530e6e4a писал что, из-за
VPN-ов всяких, начал использовать аккселератор скачивания aria2. Сейчас
пригляделся к нему получле и на данный момент полностью заменил им
rTorrent BitTorrent клиент. Из BT клиентов мне всегда нравился ctorrent
-- чисто выполняет свою функцию на отлично. Но в нём нет поддержки UDP
трэкеров и DHT, а это ну очень хочется иметь. Transmission -- невероятно
прожорлив и вообще не рассматриваю как вариант. А rTorrent с задачей
справляется (ну кроме скачивания eXoDOS коллекции, где у него жёстко в
коде вшито ограничение на максимальный размер торрента), но его TUI
интерфейс мне нравился, тем что он TUI, а не CLI. Конечно есть RPC где
из CLI можно бы было дёргать его, но всё-равно не то. А вот aria2
как-раз ctorrent со всеми фичами и возможностью обслуживать много
торрентов сразу, на одном порту, чего ctorrent тоже не мог (один порт --
один торрент). В rTorrent правда было очень много всякой информации о
подключённых пирах, используемых трэкерах, очередях, но... пока на
данный момент решил пожертвовать. Возможно aria2 полностью заменит
rtorrent -- нужно время для окончательной оценки.

7 years agoОпустил IRC сервер на cypherpunks.ru
Sergey Matveev [Wed, 6 Sep 2017 20:27:59 +0000 (23:27 +0300)]
Опустил IRC сервер на cypherpunks.ru

За годы существования людей очень мало и, насколько понимаю, если и было
общение, то только со мной (хотя есть более удобные средства). Не люблю
я мёртвый код, мёртвые сервисы и вообще всё что угодно что не
используется. Если это плагин для Vim/whatever и он не использовался в
течении полугода-года -- точно нафиг нужен и не надо жалеть. Про демонов
точно так же всё -- если не используется, то время затрачиваемое на его
поддержку (хотя... мониторинг работает, goircd не падает, автозапуск
есть, ротация логов автоматическая -- особо то делать ничего и не надо,
кроме обновления сертификатов) не стоит того.

7 years agoТиньков о Дурове
Sergey Matveev [Wed, 6 Sep 2017 20:17:46 +0000 (23:17 +0300)]
Тиньков о Дурове

https://lenta.ru/news/2017/09/06/tinkov/
Очень точно он сказал обращаясь к "либералам, школьникам и прочим
любителям Дурова". Контингент очень точно описан. Ещё он умолчал
про его бессовестный лживый трёп про его безопасный MTProto протокол:
позорнейший пример того, что сделают те, кто в криптографии не
разбирается, но хватает бессовестности вешать лапшу на уши о его
безопасности. Впрочем... либералы и школьники закрывают глаза на
неоднократные криптоанализы показывающие убожество Telegram.

7 years agoFedora запрещена к использованию в Крыму
Sergey Matveev [Wed, 6 Sep 2017 19:45:50 +0000 (22:45 +0300)]
Fedora запрещена к использованию в Крыму

https://lenta.ru/news/2017/09/06/fedora/
https://habrahabr.ru/post/337290/
http://www.opennet.ru/opennews/art.shtml?num=47142
https://www.linux.org.ru/news/opensource/13662993

Всецело поддерживаю. Только *BSD, только ZFS! (шучу конечно)

7 years agoЛегион одиноких мужчин
Sergey Matveev [Mon, 4 Sep 2017 21:36:06 +0000 (00:36 +0300)]
Легион одиноких мужчин

https://geektimes.ru/post/292667/
Большая статья, начинающаяся с факта о том, что женщинам, как бы они не
хныкали, гораздо проще находить себе пару и не быть одинокой. Ибо
одинокими они могут быть только из-за чертовски высоких требований.

7 years ago100 игровых механик
Sergey Matveev [Sun, 3 Sep 2017 19:41:00 +0000 (22:41 +0300)]
100 игровых механик

http://leaden.ru/2017/09/100-hidden-game-mechanics/
Очень интересно почитать про дизайнерские мелочи в играх! Ведь все они
очень влияют на то, понравится ли игра или нет, интересно ли в неё,
увлекательно ли будет играть. Очень круто!

7 years agoПрочёл "Горячий снег" Юрия Бондарева
Sergey Matveev [Sat, 2 Sep 2017 22:21:54 +0000 (01:21 +0300)]
Прочёл "Горячий снег" Юрия Бондарева

Очень понравилась книга! Больше всего, правда, осело то, что Зоя спит с
тем, кого остальные считают тем ещё уродом моральным, из-за дурости
которого погиб не один человек. Даже там -- женщина с самым мерзким
типом вместе. А достойнейшими мужчинами -- "давай будем друзьями", хотя
они уважительно и заболтиво к ней относятся, в отличии от урода который
чуть ли не стыдится их взаимоотношений.

7 years ago"Лирику" Сектора Газа попсово перепевают на Дорожном радио
Sergey Matveev [Fri, 1 Sep 2017 20:04:51 +0000 (23:04 +0300)]
"Лирику" Сектора Газа попсово перепевают на Дорожном радио

В столовой где обедаю, постоянно включено Дорожное радио. Сегодня
услышал как какая-то попсовая певица что-то очень знакомое пела. Я,
вообще, не слушаю слова песен и предпочитаю чтобы их или не было или
вокал был как в горграйнде -- как ещё один музыкальный инструмент. Но
узнал что песня была "Лирика" Сектора Газа. СГ перепевают на всю страну!
Возможно единственная группа у которой я слушаю слова, помню их, трогают.
Многие ставят СГ на одну полочку с каким-нибудь Ленинградом. Никогда НИ
ОДНОЙ песни Ленинграда не понимал в лучшем случае, удивлялся тупости в
худшем. То, о чём поют Ленинград, говорят, должно трогать каждого
русского -- но вот нет, меня никак. А СГ -- полностью наоборот.

7 years agoНЖМД Пратчетта раздавили катком
Sergey Matveev [Thu, 31 Aug 2017 08:08:38 +0000 (11:08 +0300)]
НЖМД Пратчетта раздавили катком

https://geektimes.ru/post/292515/
Но на то была его воля. Пратчетт -- великий, для меня, писатель, который
существенно повлиял на мировоззрение и отношение к жизни.

Понравился комментарий:

    ТЕРРИ, ГЛЯДИ, ВОТ И ТВОЙ ВИНЧЕСТЕР ПРИШЁЛ. МОЖЕШЬ ТЕПЕРЬ ПРОДОЛЖАТЬ РАБОТУ.

7 years agoPink
Sergey Matveev [Wed, 30 Aug 2017 19:44:14 +0000 (22:44 +0300)]
Pink

https://pinkapp.io/
Первая в мире анонимная площадка торговли проституцией с применением blockchain.

7 years agoПочему я не могу крепко спать с blockchain, будучи шифропанком
Sergey Matveev [Wed, 30 Aug 2017 07:47:06 +0000 (10:47 +0300)]
Почему я не могу крепко спать с blockchain, будучи шифропанком

http://www.stargrave.org/Sleep-blockchain.html
https://lists.cpunks.org/pipermail/cypherpunks/2017-August/039082.html
Написал вот короткое письмо по теме blockchain.

7 years agoTor заблокировал ...
Sergey Matveev [Tue, 29 Aug 2017 18:17:51 +0000 (21:17 +0300)]
Tor заблокировал ...

https://rublacklist.net/31552/
Без разницы кого он заблокировал, но он осуществил в буквальном смысле
цензуру. Таким образом, проект голосит что против цензуры и за свободу
слова, но сам блокирует кому и как можно пользоваться его услугами. Или
я изменился или что-то они даже перестали скрывать своего двуличия.

7 years agoОтключение чёрного хода в современных Intel процессорах
Sergey Matveev [Tue, 29 Aug 2017 07:47:17 +0000 (10:47 +0300)]
Отключение чёрного хода в современных Intel процессорах

http://www.opennet.ru/opennews/art.shtml?num=47091
Хорошая новость: есть возможность отключить Intel ME, который позволяет
получать полный удалённый контроль над компьютером. В принципе, с этой
штукой Intel процессоры становятся более юзабельными в плане безопасности.

7 years agoПослушал альбом-soundtrack к Doom (4)
Sergey Matveev [Mon, 28 Aug 2017 20:38:32 +0000 (23:38 +0300)]
Послушал альбом-soundtrack к Doom (4)

И могу сказать что в кой да веки я слышу ИМЕННО то что должно быть для
игр класса Doom! Лучшее что я когда-либо встречал идеально подходящее
для мясорубилова. Мик Гордон теперь у меня в одном ряду с Марком
Морганом (чья рука узнаётся всегда, где каждый звук его трэков из
Fallout заучены наизусть).

7 years agoО создании музыки в Doom (4)
Sergey Matveev [Mon, 28 Aug 2017 19:44:05 +0000 (22:44 +0300)]
О создании музыки в Doom (4)

https://www.youtube.com/watch?v=U4FNBMZsqrY
Очень понравился рассказ, как и сама музыка!

7 years agoЗарелизил GoVPN 7.4
Sergey Matveev [Sun, 27 Aug 2017 10:10:22 +0000 (13:10 +0300)]
Зарелизил GoVPN 7.4

http://www.govpn.info/Reliz-7_002e4.html
Тривиальные правки связанные с появлением sync.Map в Go 1.9. Теперь это
минимальная версия необходимая для сборки. Код из-за неё стал попроще.
Плюс обновил все зависимые криптографически библиотеки. Форсированно
бежать и переходить на этот релиз смысла не имеет -- всё по-мелочам
(если не считать вроде как ускоренные криптопримитивы из
golang.org/x/crypto -- но они, вроде как, нигде бутылочным горлышком не
являются).

7 years agoZFS RAIDZ stripe width, or: How I Learned to Stop Worrying and Love RAIDZ
Sergey Matveev [Sun, 27 Aug 2017 09:05:28 +0000 (12:05 +0300)]
ZFS RAIDZ stripe width, or: How I Learned to Stop Worrying and Love RAIDZ

https://www.delphix.com/blog/delphix-engineering/zfs-raidz-stripe-width-or-how-i-learned-stop-worrying-and-love-raidz
Очень хорошая и полезная статья для лучшего понимания устройства ZFS
RAIDZ и лучшего расчёта его конфигурации. Если статья пропадёт (а ссылок
по поводу ZFS очень много уже мёртвых), то будет потерей -- поэтому
привожу сюда её, чтобы локально на жёстком диске перманентно сохранить.

------------------------ >8 ------------------------

The popularity of OpenZFS has spawned a great community of users,
sysadmins, architects and developers, contributing a wealth of advice,
tips and tricks, and rules of thumb on how to configure ZFS. In general,
this is a great aspect of the ZFS community, but I'd like to take the
opportunity to address one piece of misinformed advice about how many
disks to put in each RAID-Z group (terminology: "zpool create tank
raidz1 A1 A2 A3 A4 raidz1 B1 B2 B3 B4" has 2 RAIDZ groups or "vdevs",
each of which has 4 disks or is "4-wide"). To do so, let's start by
looking at what concerns play into choice of group width.

TL;DR: Choose a RAID-Z stripe width based on your IOPS needs and the
amount of space you are willing to devote to parity information. If you
need more IOPS, use fewer disks per stripe. If you need more usable
space, use more disks per stripe. Trying to optimize your RAID-Z stripe
width based on exact numbers is irrelevant in nearly all cases.

For best performance on random IOPS, use a small number of disks in each
RAID-Z group. E.g, 3-wide RAIDZ1, 6-wide RAIDZ2, or 9-wide RAIDZ3 (all
of which use a..." of total storage for parity, in the ideal case of
using large blocks). This is because RAID-Z spreads each logical block
across all the devices (similar to RAID-3, in contrast with RAID-4/5/6).
For even better performance, consider using mirroring.

For best reliability, use more parity (e.g. RAIDZ3 instead of RAIDZ1),
and architect your groups to match your storage hardware. E.g, if you
have 10 shelves of 24 disks each, you could use 24 RAIDZ3 groups, each
with 10 disks - one from each shelf. This can tolerate any 3 whole
shelves dying (or any 1 whole shelf dying plus any 2 other disks dying).

For best space efficiency, use a large number of disks in each RAID-Z
group.  Wider stripes never hurts space efficiency. (In certain
exceptional cases, use at least 5, 6, or 11 disks (for RAIDZ-1, 2, or 3
respectively) - see below for more details.) When trading off between
these concerns, it is useful to know how much it helps to vary the
parameters.

For performance on random IOPS, each RAID-Z group has approximately the
performance of a single disk in the group. To double your write IOPS,
you would need to halve the number of disks in the RAID-Z group. To
double your read IOPS, you would need to halve the number of "data"
disks in the RAID-Z group (e.g. with RAIDZ-2, go from 12 to 7 disks).
Note that streaming read performance is independent of RAIDZ
configuration, because only the data is read. Streaming write
performance is proportional to space efficiency.

For space efficiency, typically doubling the number of "data" disks will
halve the amount of parity per MB of data (e.g. with RAIDZ-2, going from
7 to 12 disks will reduce the amount of parity information from 40% to
20%).

    P0   D0   D2   D4   D6
    P1   D1   D3   D5   D7 |
    P0   D0   D1   D2 | P0
    D0   D1   D2 | P0   D0 |
    P0   D0   D4   D8   D11
    P1   D1   D5   D9   D12
    P2   D2   D6   D10  D13
    P3   D3   D7 | P0   D0
    D1   D2   D3   X  | P0
    D0   D1   X  | P0   D0
    D3   D6   D9   P1   D1
    D4   D7   D10  P2   D2
    D5   D8    .    .    .

RAID-Z block layout RAID-Z parity information is associated with each
block, rather than with specific stripes as with RAID-4/5/6. Take for
example a 5-wide RAIDZ-1. A 3-sector block will use one sector of parity
plus 3 sectors of data  (e.g. the yellow block at left in row 2). A
11-sector block will use 1 parity + 4 data + 1 parity + 4 data + 1
parity + 3 data (e.g. the blue block at left in rows 9-12). Note that if
there are several blocks sharing what would traditionally be thought of
as a single "stripe", there will be multiple parity blocks in the
"stripe". RAID-Z also requires that each allocation be a multiple of
(p+1), so that when it is freed it does not leave a free segment which
is too small to be used (i.e. too small to fit even a single sector of
data plus p parity sectors - e.g. the light blue block at left in rows
8-9 with 1 parity + 2 data + 1 padding). Therefore, RAID-Z requires a
bit more space for parity and overhead than RAID-4/5/6.

A misunderstanding of this overhead, has caused some people to recommend
using "(2^n)+p" disks, where p is the number of parity "disks" (i.e. 2
for RAIDZ-2), and n is an integer. These people would claim that for
example, a 9-wide (2^3+1) RAIDZ1 is better than 8-wide or 10-wide. This
is not generally true. The primary flaw with this recommendation is that
it assumes that you are using small blocks whose size is a power of 2.
While some workloads (e.g. databases) do use 4KB or 8KB logical block
sizes (i.e. recordsize=4K or 8K), these workloads benefit greatly from
compression. At Delphix, we store Oracle, MS SQL Server, and PostgreSQL
databases with LZ4 compression and typically see a 2-3x compression
ratio. This compression is more beneficial than any RAID-Z sizing. Due
to compression, the physical (allocated) block sizes are not powers of
two, they are odd sizes like 3.5KB or 6KB. This means that we can not
rely on any exact fit of (compressed) block size to the RAID-Z group
width.

To help understand where these (generally incorrect) recommendations
come from, and what the hypothetical benefit would be if you were to use
recordsize=8K and compression=off with various RAID-Z group widths, I
have created a spreadsheet which shows how much space is used for
parity+padding given various block sizes and RAID-Z group widths, for
RAIDZ1, 2, or 3. You can see that there are a few cases where, if
setting a small recordsize with 512b sector disks and not using
compression, using (2^n+p) disks uses substantially less space than one
less disk. However, more disks in the RAID-Z group is never worse for
space efficiency.

Note that setting a small recordsize with 4KB sector devices results in
universally poor space efficiency -- RAIDZ-p is no better than p-way
mirrors for recordsize=4K or 8K. The strongest valid recommendation
based on exact fitting of blocks into stripes is the following: If you
are using RAID-Z with 512-byte sector devices with recordsize=4K or 8K
and compression=off (but you probably want compression=lz4): use at
least 5 disks with RAIDZ1; use at least 6 disks with RAIDZ2; and use at
least 11 disks with RAIDZ3.

To summarize: Use RAID-Z. Not too wide. Enable compression.

7 years agoНенавистнеческая запись о "Свободном Интернете" на пр-те Сахарова
Sergey Matveev [Sun, 27 Aug 2017 07:14:29 +0000 (10:14 +0300)]
Ненавистнеческая запись о "Свободном Интернете" на пр-те Сахарова

http://nnm.me/blogs/dendy2008/pryamo-seychas-skachayte-vpn-v-moskve-proshel-miting-za-svobodnyy-internet/
Мне откровенно противны все эти митинги, даже неприятна идея оказаться
там рядом, а то, не дай бог, подумают что я с ними. В статье c NNM есть
следующие фразы:

    Студент-программист Егор считает, что отсутствие людей тоже
    следствие цензуры в интернете: "Я политически активный человек, и я
    об этом митинге узнал только вчера"

Ага, этот политически активный человек наверное весь из себя сидит в
соцсетях, но с трудом узнаёт о вещах о которых даже я, тот кто
отсутствует в них, кто общается в почтовых рассылках и просто email
переписках, почему-то узнаёт без проблем. Егору не нравится цензура? Так
а чего он ожидал от централизованной системы? Куда он полез то? В
централизованной системе может не быть цензуры? Человек не включил мозги.

    "ВКонтакте" была свободным островом, а сейчас соцсеть абсолютно
    зарегулирована. ... У нас есть запрет обсуждать во "ВКонтакте" нашу
    кампанию -- только через Телеграм.

Ну тут могу только посочувствовать компании у которой если и возникает
вопрос безопасности, то они выбрали наихудший вариант. Мало того что
Telegram среди каких-нибудь WhatsApp и Signal остаётся (и так будет
всегда) самым небезопасным, так ещё и страшнее всего что они риски
теперь не могут оценить, ибо считают что он безопасен. Приятно ли мне
находится рядом с людьми которые бы сказали подобное? Стыдно бы было. А
почему люди Дурову доверяют? Отвечу цитатой из книги Терри Пратчетта:
"Если бы кошки были похожи на жаб, мы бы очень быстро поняли, какими
мерзкими, жестокими существами они на самом деле являются. Стиль. Вот
что люди помнят."

    Нас и так всего лишили, только интернет и остался.

Классика жанра -- перманентное состояние хныканья и жаловаться. Просто
делать это ещё и настолько бессовестно, чтобы говорить "лишили всего"...
так могут только женщины бесспорно. У неё в жизни ничего кроме Интернета
нет? Работы лишили? Семьи и возможности завести детей? Заняться нечем,
бедненькой -- лоботряска и тунеядка.

    Прямо сейчас скачайте VPN и близким на телефоны поставьте. У всех в
    этой стране должен стоять VPN, тогда блокировки будут
    бессмысленными!

Ну а вот тут показывается разница между шифропанками и теми кто пытается
быть рядом с этой темой. И все проблемы того, что полиция наезжает на
системы анонимизации -- именно в том что подобные уроды (толдычащие про
VPN) смешивают обход цензуры/сетевых ограничений с анонимизацией. Сейчас
я убеждён что Tor всё же создавался не для чего кроме как для обхода
цензуры сети -- но я Tor теперь считаю плохой штукой. Но всё остальное
то -- это скрытие вашей транспортной метаинформации. Лично я если
говорил про Tor, то только чтобы сохранить метаинформацию приватной, при
посещении ресурсов каких-нибудь компаний и корпораций, которые мои же
данные продают. VPN абсолютно не относится к анонимизации.

И вот именно из-за подобных людей на таких митингах и хочет полиция
грохнуть вообще всё что касается анонимизации, хотя никто из людей на
митинге её не хочет (Telegram ёп-та!, когда-то остров свободы ВКонтакте,
VPN, итд, итд). Именно подобные люди создают ложное представление о
технологиях близких к шифропанковской теме! Именно из-за них полиция
вынуждена прикрывать кучу технологий. Потому-что если какое-то
правонарушение совершено используя, как скажут люди, средства
анонимизации, то полиция вынуждена прикрывать "средства анонимизации",
хотя они ни капли к этим людям не относятся. Это просто очернение
понятий и технологий.

Те, кто там говорят про Telegram, про VPN-ы -- призывают к
централизации и исключительно только присоединяясь к корпорациям... по
идее это буквально мои враги должны быть. Основные наши
(шифропанковские) враги это корпорации которые уничтожают и пользуются
нашей приватностью -- а эти люди на Сахарова как-раз призывают лезть к
ним под крыло. Гады, одним словом.

Ну и наконец:

    Пишешь комментарий и думаешь -- посадят или не посадят.

Во-первых, он голову не пытался включать, прежде чем что-то написать.
Во-вторых, если он прекрасно понимает что то, что он напишет является
противозаконным, то он осознанно идёт на то, чтобы быть преступником.
Сколько таких преступников было на митинге? Какие вообще могут быть
нарекания к текущей власти, когда всякие нежелательные элементы, опасные
для общества, маршируют на свободе, когда их место в камерах??? Всегда
это удивляло. Женщин лишили всего: видимо лишили возможности совершать
преступления?

Я всегда удивлялся как только люди не боятся оскорблять и троллить
направо и налево всех в Интернете. В жизни то они по морде сразу
схлопочат, либо получат приглашение в милицию. А в Интернете, как
Патриарх не раз говорил, открывается их поганая и мерзкая тухлая
душёнка. Если у нас стали наказывать за комментарии которые задевают и
оскорбляют людей, что в обычной жизни не допустимо бы было, то я только
могу порадоваться за работу правоохранительных органов. Я искренне буду
рад если "пишешь комментарий и думаешь -- посадят или не посадят" будет
посажен. Искренне буду рад если будут сидеть люди призывающие разрушить
мою Родину -- а это, по сути, все либертарианцы, парнасы и всякий
либерально настроенный сброд. И меня успокаивает факт того, что эти вот
врагов народа и технологий шифропанков всего-лишь собралось тысяча штук,
тогда как остальные 15 миллионов москвичей (хотя я сам не отношусь к
москвичам) занимаются делом, а не призывами уничтожения, разрушения и
дискредетирования шифропанковских технологий (ну больная у меня эта тема).

7 years agoПроверил свою скорость печати: ~59 WPM
Sergey Matveev [Sat, 26 Aug 2017 08:57:24 +0000 (11:57 +0300)]
Проверил свою скорость печати: ~59 WPM

Это я только сел за компьютер, пальцы ещё не разогрелись, но выдаю под
60 WPM английских слов в программе typespeed. Ожидал большего, а тут я
банальный пользователь получаюсь. И ведь это явно существенно быстрее
чем на не тактильной клавиатуре. Но у меня реально есть проблема в виде
наработающих мизинцев -- поэтому все программы где активно нужно
нажимать Ctrl я не использую, в том числе Emacs как одна из них.

7 years agoi2pd не стабилен
Sergey Matveev [Fri, 25 Aug 2017 07:40:39 +0000 (10:40 +0300)]
i2pd не стабилен

После пары недель мониторинга доступности I2P туннелей до своих
ресурсов, убедился что i2pd исправно работает какую-то часть дня,
но потом напрочь отказывается ходить до своих же туннелей.
kill -HUP не помогает. Поэтому пока полностью перезапускаю демон.

7 years agohttps://moscow.megafon.ru не работает
Sergey Matveev [Fri, 25 Aug 2017 07:35:31 +0000 (10:35 +0300)]
https://moscow.megafon.ru не работает

А если точнее, то не работает по IPv6, хотя адрес прописан. TLS
устанавливается шустро, а потом соединение после нескольких секунд
рвётся. Вроде бы такая большая компания, но я вот банально из дома
не могу выйти на их сайты, если только не прописать в /etc/hosts
например IPv4 адрес. Позор.

7 years agoСегодня день Стрибога
Sergey Matveev [Mon, 21 Aug 2017 18:24:14 +0000 (21:24 +0300)]
Сегодня день Стрибога

http://www.calend.ru/holidays/0/0/1732/
То есть, в том числе, можно считать и нашей современной хэш-функции
ГОСТ Р 34.11-2012 "Стрибог". Если бы пил, то был бы повод :-)!

7 years agoDepressed Developer #17
Sergey Matveev [Sun, 20 Aug 2017 20:16:19 +0000 (23:16 +0300)]
Depressed Developer #17

http://turnoff.us/geek/the-depressed-developer-17/
Хорошая иллюстрация того, для чего нужен test coverage :-)
Конкретно для Python, на своём опыте на работе, могу подтвердить что
*самая* полезная штука которая действительно находила недочёты
пропущенные человеком это coverage после прогона тестов. Всякие pylint,
pep8, mypy и тому прочее -- немного помогает, но ничто из этого не
находило реальные серьёзные проблемы.

7 years agoСнова мысли о "Летят журавли"
Sergey Matveev [Sun, 20 Aug 2017 16:33:39 +0000 (19:33 +0300)]
Снова мысли о "Летят журавли"

Пораскинув мозгами, изменил мнение о главной героине сабжевого фильма.
Если учесть как ушёл её возлююбленный на фронт -- не оставив ни записки
(которую бы она нашла), не сообщив вменяемого времени встречи для провод,
то у неё действительно не было точной информации о том любит ли он её.
Имею в виду чётко осознанной, а не чувств. Плюс не давал никаких весточек.
Вот и поняла что глупо надеяться непойми на что, тем более рядом уже
есть ухажёр. Так что... не могу уже сказать что она поступила недостойно
или где-то не правильно.

7 years agoПосмотрел "Летят журавли"
Sergey Matveev [Sat, 19 Aug 2017 23:01:19 +0000 (02:01 +0300)]
Посмотрел "Летят журавли"

Смотря его, вспоминал как ехал в маршрутке и парень разговаривал по
сотовому телефону со своей (уже, очевидно, бывшей) девушкой о том как
она, дрянь, не дождалась его из армии. У нас служат ведь всего год, но
сколько вон не дожидаются.

Ближе к концу института, когда тоже надо было думать об армии, моя
бывшая мне долго думая отвечала что "не знает" дождётся ли, если бы
ушёл. То есть, априори, уже знала что нет, типа вряд ли.

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

Но вот в фильме я думал будет, как-раз, речь про то как главная героиня
будет дожидаться своего жениха. Который не пытался искать и использовать
бронь, а пошёл защищать свою Родину. И всё-равно: ушла к другому... И
никто её не заставлял -- сучка не захочет, кобель не вскочит. Вот ведь
всё верно в сцене в госпитале сказали о таких как она -- когда там
раненый узнал что его любовь ушла тоже к другому.

Хорошо, возможно она пожалела об этом, кусает себе локти каждый день.
Судя по фильму, действительно надеется, но всё-равно продолжает жить
рядом с крайне нехорошим человеком. Возможно поодиночке просто не выжить
в то время то и, поэтому, это просто рациональный здравый поступок.

Счастливым концом я считаю можно считать то, что главный герой погиб не
зная что его предал человек, фотографию которого он носил с собой каждый
день рядом с сердцем. Ну и факт того, что женщины в общем и целом и
более чем полвека назад кардинально не отличались от того что есть
сейчас.

Ну и не могу не заметить как же красива главная героиня! В каждом кадре
налюбоваться не мог.

7 years agoНовые релизы PyGOST и GoGOST теперь LGPLv3+ лицензированы
Sergey Matveev [Sat, 19 Aug 2017 15:00:33 +0000 (18:00 +0300)]
Новые релизы PyGOST и GoGOST теперь LGPLv3+ лицензированы

Во-первых, сменилась домашняя страница этих проектов:
http://pygost.cypherpunks.ru/
http://gogost.cypherpunks.ru/
Во-вторых, вместо GPLv3+ они теперь LGPLv3+, так как есть проекты
в которых я не против включения этих библиотек.

7 years agoУмер Андрей Чернов
Sergey Matveev [Wed, 16 Aug 2017 20:17:05 +0000 (23:17 +0300)]
Умер Андрей Чернов

http://www.opennet.ru/opennews/art.shtml?num=47037
Создатель KOI8-R, один из авторов FreeBSD, SSH, Taylor UUCP, PGP, Elm,
Tin, Lynx, NCFTP, ZIP/UNZIP и Less. БОльшая часть перечисленного мною
используется до сих пор.

7 years agoПосмотрел "Ва-банк" (польский старый фильм)
Sergey Matveev [Wed, 16 Aug 2017 07:53:51 +0000 (10:53 +0300)]
Посмотрел "Ва-банк" (польский старый фильм)

И он очень понравился! Как мне говорили, это типа 11 друзей Оушена,
только польский и старый. Действительно из этой серии и очень очень хорош!

7 years agoНаш новый релиз называется: Калибровочный какаду
Sergey Matveev [Tue, 15 Aug 2017 11:21:50 +0000 (14:21 +0300)]
Наш новый релиз называется: Калибровочный какаду

7 years agoЯ закрыл Tor relay ноды
Sergey Matveev [Tue, 15 Aug 2017 07:55:39 +0000 (10:55 +0300)]
Я закрыл Tor relay ноды

По причинам описаным тут: http://www.stargrave.org/CTTor.html
Я теперь совсем не сторонник Tor-а. Слишком много накопилось напрягающих
в нём вещей.

7 years agoTheo de Raadt о виртуализации и безопасности
Sergey Matveev [Tue, 15 Aug 2017 05:30:02 +0000 (08:30 +0300)]
Theo de Raadt о виртуализации и безопасности

https://marc.info/?l=openbsd-misc&m=119318909016582

    > Virtualization seems to have a lot of security benefits.

    You've been smoking something really mind altering, and I think you
    should share it.

    x86 virtualization is about basically placing another nearly full
    kernel, full of new bugs, on top of a nasty x86 architecture which
    barely has correct page protection.  Then running your operating
    system on the other side of this brand new pile of shit.

    You are absolutely deluded, if not stupid, if you think that a
    worldwide collection of software engineers who can't write operating
    systems or applications without security holes, can then turn around
    and suddenly write virtualization layers without security holes.

    You've seen something on the shelf, and it has all sorts of pretty
    colours, and you've bought it.

    That's all x86 virtualization is.

Я с ним полностью солидарен и аргумент, так часто навязываемый, "запусти
это проприетарное ПО под виртуалкой" является плохим.

7 years agoIf I Made Another Monkey Island
Sergey Matveev [Sun, 13 Aug 2017 20:23:08 +0000 (23:23 +0300)]
If I Made Another Monkey Island

http://grumpygamer.com/if_i_made_another_monkeyisland
Автор Monkey Island игр пишет свои мысли о том, если бы он делал новую
MI. Это мои любимейшие игры: 1-3 части. Автор говорит что третья уже не
та, но мне она всё-равно очень нравится. А вот четвёртая действительно
фигова -- я забросил её, так как за часы игры ну вообще нет удовольствия.

7 years agoНаписал немного информации о моём опыте с разными крипто-тулзами
Sergey Matveev [Sun, 13 Aug 2017 17:30:29 +0000 (20:30 +0300)]
Написал немного информации о моём опыте с разными крипто-тулзами

http://www.stargrave.org/Cryptools.html
Bitcoin, cjdns, Freenet, GNUnet, GnuPG, I2P, IPFS, IPsec, OpenVPN, OTR,
RetroShare, Signal, Telegram, TLS, Tor, Tox, YaCy, Zcash, ZeroNet. В
основном, правда, критика. Но я действительно в последнее время
разочарован всем что происходит. Из нового: я поменял отношение к Tor с
нейтрально-немного-положительного, на негативное.

7 years agoДобавил фотографии своей техники на домашней странице
Sergey Matveev [Sun, 13 Aug 2017 12:13:10 +0000 (15:13 +0300)]
Добавил фотографии своей техники на домашней странице

http://www.stargrave.org/Photoes.html

7 years agoВ lenta.ru исчезла проверка орфографии
Sergey Matveev [Thu, 10 Aug 2017 19:24:49 +0000 (22:24 +0300)]
В lenta.ru исчезла проверка орфографии

Я подписан на их RSS. Мой глаз существенно лучше многих других замечает
опечатки и орфографические ошибки в тексте. Годами (!) я отмечал что не
замечаю недочётов на сабжевом ресурсе. Уже второй день подряд натыкаюсь
на опечатки. Что-то у них явно произошло. Это недостойно такого ресурса.

7 years agoBitreich community
Sergey Matveev [Wed, 9 Aug 2017 20:23:44 +0000 (23:23 +0300)]
Bitreich community

http://lists.suckless.org/dev/1708/32002.html
scc проект уходит из suckless в Bitreich: gopher://bitreich.org
У этих ребят даже Git-броузер в Gopher-е имеется. Очень здорово!
И не могу не привести их манифест, который очень понравился:

    # Bitreich Manifesto

    ## Introduction

    We  live  surrounded by complex software which receives new versions and
    updates day after day. RAM and CPU consumption never  reduce,  they  in‐
    crease.  Software  still  provides the same features from years ago, but
    everything looks new.  This is called »advance« in the new speak of pro‐
    prietary software development.

    This has to change!

    ## Suckless

    Suckless failed.

    ## Consumerism

    Consumerism is the ability of persons to lose their skill in thinking on
    their own, producing things, applying logical and practical ways of  be‐
    having.  This disease of consumerism is striking the devices and comput‐
    ers we humans produced to make them not scale in the possibilities  they
    could  be  used  for.  Computers can do things consumers cannot want and
    imagine before they use the computer for something. The  market  economy
    of demand and supply does simply not work here.

    ## UNIX Principles

    In  the  beginning of the development of software principles were intro‐
    duced how to create software which can be reused in  ways  the  original
    developers  never  imagined.  Small  utilities are combined using simple
    pipes, speaking to eachother, just doing one task well.

    ## Dawn Of Ugliness

    By  not  applying this methodolgy to its extreme, by trying to force new
    features of computers into the UNIX principles, binary blobs evolved into
    a  complexity  no  young programmer can understand. They are forced into
    the industry due to »life events«, where they are  degrading  to  robots
    which  only  apply  what  they learned at programming school (e.g. life,
    university ...).  This circle is producing  even  bigger  binary  blobs.
    Nowadays  this  evolved  into shipping whole operating systems in images
    which you run separately.

    This has to end!

    ## Bitreich

    We  form  a movement to improve our daily software life. Software has to
    not misbehave, it has to follow our rules, it has to be reusable, it has
    to be easily maintainable, it has to provide its recompilable source and
    it has to be easily understandable.

    ### Bitreich Principles

    #### KISP – Keep It Simple Perfect

    Software needs to do one thing well / perfect.

    #### Commandline Interfaces

    Always  add a commandline interface to your software. Graphical User In‐
    terfaces are for sissies. Pipes are welcome.

    #### When Possible Use GPLv3

    The  signs  of MIT‐appearance in the community is based on the circle of
    complexity introduced into the minds of libre  software  programmers  by
    their  oppressors transferring money to their bank accounts every month.
    Your software is used in war machines to kill people and  the  companies
    will never  give back. So enforce GPLv3, it’s needed.

    #### Users Are Programmers

    Software should be written for programmers, which means the code is the
    documentation, it should be easy readable, low abstraction levels should be
    used (OOP sucks most of the times) and a simple Makefile to build everything
    needs to be present.

    #### Bugreports Are Patches

    Bugtrackers  are  obsolete.  Whenever  you find a bug, fix it. The other
    principles make it possible for you to send a patch instead of a report.

    #### Applications Can Be Done

    When  a  project  solves  a problem, keep it done and declare it so. New
    problems are solved by different projects.

    #### Freedom Of Language

    The  software  world  is spammed with new revolutionary programming lan‐
    guages every month. Choose whatever you need to solve your problem,  but
    keep  to  the above mentioned principles. Most new programming languages
    solve a non‐problem the principles of bitreich solve.

    #### Inevitability Of Change

    These principles can change, based on the consent of the bitreich elite.

7 years agoИз крупных дистрибутивов Gentoo выглядит самым достойным сейчас
Sergey Matveev [Wed, 9 Aug 2017 19:23:28 +0000 (22:23 +0300)]
Из крупных дистрибутивов Gentoo выглядит самым достойным сейчас

https://habrahabr.ru/post/335022/
Ибо Arch с его bleeding edge, systemd и Python3 раньше всех -- в топку
сразу же. Fedora/CentOS -- лично я RPM ненавижу. Debian -- был когда-то
хорошим, но сейчас стал отвратным (плюс systemd). А вот Gentoo выглядит
очень достойно, плюс система портов вдохновлённая из BSD систем.

7 years agoNIST наконец-то рекомендует длинные парольные фразы
Sergey Matveev [Wed, 9 Aug 2017 19:16:25 +0000 (22:16 +0300)]
NIST наконец-то рекомендует длинные парольные фразы

https://geektimes.ru/post/291907/
В кой да веки свершилось! Наконец-то вменяемые рекомендации касательно
запоминаемых людьми ключей.

7 years agoРазместил фотографию рабочего места
Sergey Matveev [Mon, 7 Aug 2017 05:26:14 +0000 (08:26 +0300)]
Разместил фотографию рабочего места

https://www.linux.org.ru/gallery/workplaces/13595789

7 years agoВ октябре будет концерт Leprous
Sergey Matveev [Thu, 3 Aug 2017 07:45:05 +0000 (10:45 +0300)]
В октябре будет концерт Leprous

http://darkside.ru/show/9068/
На который надобно сходить! Люблю эту группу.

7 years agoSTROBE protocol framework
Sergey Matveev [Wed, 2 Aug 2017 20:55:37 +0000 (23:55 +0300)]
STROBE protocol framework

https://www.cryptologie.net/article/416/the-strobe-protocol-framework/
Да, это ещё один framework для построения криптографических протоколов.
Но, в отличии от Noise, он ориентирован на симметричные операции, а не
асимметричные, как это делает Noise. Что интересно в STROBE, так это то,
что он применяет только одну криптографическую операцию чтобы проводить
шифрование, хэширование, аутентификацию сообщений, PRF, KDF. И это
cSHAKE (из SHA3). Очень интересная штука по своей простоте и гибкости.

7 years agoНа деле впервые применил zfs clone
Sergey Matveev [Wed, 2 Aug 2017 17:07:06 +0000 (20:07 +0300)]
На деле впервые применил zfs clone

Годами использовал ZFS, но до zfs clone на практике не доходило. Сегодня
работал с виртуальными машинами (где их образы являются ZVOL-ами) и на
них по крупному обновлял внутри всякие пакеты/репозитории. Но вот
понадобилось провести небольшую проверку/эксперимент над старым образом,
который есть в snapshot-е. Сделать zfs rollback старого snapshot, когда
есть более новый, я не могу. Делаю просто:

    zfs clone myzvol@oldsnapshot myzvol-old

и сразу же имею /dev/zvol/myzvol-old блочное устройство, на которое я
могу натравить виртуальную машину, поиграться, а потом просто zfs
destroy её чтобы подчистить за собой.

7 years agoОбновился Mailman на lists.cypherpunks.ru
Sergey Matveev [Wed, 2 Aug 2017 10:54:35 +0000 (13:54 +0300)]
Обновился Mailman на lists.cypherpunks.ru

С 2.1.20 на 2.1.24 версию, с моим патчем исправляюшим орфографию кривую
в русском переводе.

7 years agoОрфография в GNU Mailman 2.1
Sergey Matveev [Tue, 1 Aug 2017 20:55:01 +0000 (23:55 +0300)]
Орфография в GNU Mailman 2.1

https://bugs.launchpad.net/mailman/+bug/1708016
Завёл баг с патчем, правящем кучу всякой орфографии.

7 years agoPwnie Awards 2017: Поттеринга оценили по достоинству!
Sergey Matveev [Sun, 30 Jul 2017 09:25:59 +0000 (12:25 +0300)]
Pwnie Awards 2017: Поттеринга оценили по достоинству!

http://www.opennet.ru/opennews/art.shtml?num=46943

7 years agoСделал пожертвование на "Программирование: введение в профессию"
Sergey Matveev [Sun, 30 Jul 2017 09:14:51 +0000 (12:14 +0300)]
Сделал пожертвование на "Программирование: введение в профессию"

http://stolyarov.info/books/programming_intro
Узнал об этих книгах с ЛОРа и мне они очень понравились. И подход,
отношение автора к миру Unix систем и shell-а мне приятен.

7 years agoПрочитал "Возвращение со звёзд" Станислава Лема
Sergey Matveev [Fri, 28 Jul 2017 20:07:57 +0000 (23:07 +0300)]
Прочитал "Возвращение со звёзд" Станислава Лема

Википедия упоминает что Лем недоволен этим своим произведением, считая
его неудачным. Если это у него неудачное, то, видимо, Солярис должен
быть шедевром фантастики! Мне Возвращение очень понравилось!

7 years agoGmail не принимает почту по IPv6 больше
Sergey Matveev [Fri, 28 Jul 2017 08:33:14 +0000 (11:33 +0300)]
Gmail не принимает почту по IPv6 больше

https://productforums.google.com/forum/#!topic/gmail/nGjpcaELswo
Неделю назад у человека в этом форуме обнаружилась проблема с которой я
столкнулся вчера. Письма из рассылки на lists.cypherpunks.ru проходят на
@gmail.com адреса по IPv4, но не проходят по IPv6. Абсолютно никак
конфигурацию не менял уже месяцы -- всё снова перепроверил что
удовлетворяет требованиям bulk sender guidelines, но Google, само собой,
не говорит почему он блокирует почту.

Что тут поделать? А ничего. Google просто не хочет принимать почту и всё
тут, не объясняя причин. Я несколько лет назад уже говорил что он начнёт
"прикрывать" почту, делая так, что только почта между корпорациями будет
ходить, а федерация с остальными будет неработоспособна к чертям.

Проблемы, замечу, только с Google. Yandex, который тоже весь из себя
проверяет на спам, требует PTR записи, работает по IPv6 -- без проблем.

Сейчас я transport map-ом форсированно сказал чтобы на @gmail.com, как
во времена мамонтов, слать почту по IPv4 только.

7 years agoУже надоело, но очередные вести о Sourceforge
Sergey Matveev [Thu, 27 Jul 2017 08:36:43 +0000 (11:36 +0300)]
Уже надоело, но очередные вести о Sourceforge

https://lists.sdaoden.eu/pipermail/s-mailx/2017-July/000607.html
Автор S-mailx завёл тикеты на SF.net о том что теперь ещё и mbox-ы со
всем архивом почтовых рассылок стали недоступны. Раньше они хотя бы
админам были видны. И мне понравился его ответ о том что SF.net ведь
действительно роют себе могилу:

    I doubt this is true. Which countries? Which laws? This is my
    project. The people subscribed to hear about my software. If you
    want to reduce traffic and turn your users to happy but dumb
    robots which may not do anything but can be fired at with
    advertisements for which you get paid, then why don't you say it
    like that. You ruin Sourceforge. You would be nothing without
    those projects you are doing this at. It would have been fair to
    at least give a warning note to administrators in advance so
    that they can manage to shutdown their project at Sourceforge
    gracefully. I have no doubt that what you do is covered savely
    by american law, but my gut feeling is what i am talking about
    and that says "what you do is criminal". Thanks for your
    patience.

7 years agoМакрос для Python (обо|разво)рачивания в try/except/pdb
Sergey Matveev [Thu, 27 Jul 2017 07:21:07 +0000 (10:21 +0300)]
Макрос для Python (обо|разво)рачивания в try/except/pdb

https://git.stargrave.org/cgit.cgi/vim-dotfiles.git/commit/?id=e360a7effec58f6f9d8b2a1f84ce884d6dfe6659
Теперь, визуально выделив блок, можно нажать "@b" и блок будет обёрнут в
try/except с pdb внутри. А, находясь на try: можно нажать "@n" и
try/except будет удалён. Часто в тестах приходится при отладке это делать.

7 years agoВчера надел IPv6 футболку и вчера же новость о 20% трафике в Google
Sergey Matveev [Thu, 27 Jul 2017 07:19:25 +0000 (10:19 +0300)]
Вчера надел IPv6 футболку и вчера же новость о 20% трафике в Google

Вчера надел футболку о том что я сертифицированный sage в IPv6 и вчера
же увидел новость от Google о том что к ним 20% трафика от пользователей
поступает через IPv6. Как чувствовал!

7 years agoНаш новый релиз называется: Йоркширский йодотрофеус
Sergey Matveev [Mon, 24 Jul 2017 12:14:55 +0000 (15:14 +0300)]
Наш новый релиз называется: Йоркширский йодотрофеус

7 years agoflake8 с игнорированием pylint disable комментариев
Sergey Matveev [Mon, 24 Jul 2017 07:47:45 +0000 (10:47 +0300)]
flake8 с игнорированием pylint disable комментариев

В Python проекте где сейчас работаю, даже запуская pylint натравливая на
один файл, приходится ждать под полминуты. Это очень долго, ведь хочется
побыстренькому профиксить тривиальные недочёты. В действительности даже
тесты быстрее проходят, показывая ошибку.

Я поэтому начал использовать flake8. В нём существенно меньше проверок,
но он работает просто стремглав. Единственная проблема: он ничего не
знает о pylint disable комментариях. Решил её просто прям наживую
прохачив flake8 исполняемый файл, насильно перебивая regexp:

    > from flake8 import defaults
    > defaults.NOQA_INLINE_REGEXP = re.compile(
    >     '# (noqa(?:: (?P<codes>([A-Z][0-9]+,?)+))?|.*pylint: disable)',
    >     re.IGNORECASE
    > )
    >

7 years agoЦензура нод в Tor
Sergey Matveev [Sun, 23 Jul 2017 09:29:15 +0000 (12:29 +0300)]
Цензура нод в Tor

https://lists.torproject.org/pipermail/tor-talk/2017-July/043341.html
https://lists.torproject.org/pipermail/tor-talk/2014-July/034219.html
Разработчики Tor говорят что у них есть свои собственные закрытые
репозитории в которых они решают какая нода "честна", а какая нет и
какие ноды в сети "блокировать".

Во-первых, яркий пример того, что любая P2P (а не F2F) сеть подвержена
Sybil атакам и что они могут вывести сеть из строя.

Во-вторых, управление сетью возложено на плечи всё-равно
централизованного узкого круга лиц. Они решают кто является хорошим, кто
плохим, кому можно проксировать трафик, а кому нет. Я никогда не был
поклонником этой сети, но тут мне крайне не нравится этот факт
управления сетью. Почему я должен доверять этим людям, но не доверять
например государству?

В GNUnet например доверие к каждой ноде у каждой ноды своё -- нет
централизованного арбитра для доверия. Каждая самостоятельно решает кому
верить -- вот это правильно.

Но в Tor действительно ОЧЕНЬ много нод совершающих MitM на выходе.
Вообще настолько много, что местами она становится чуть ли не
неюзабельной.

7 years agoХорошо видимая подсветка орфографически плохих слов в Vim
Sergey Matveev [Fri, 21 Jul 2017 07:31:57 +0000 (10:31 +0300)]
Хорошо видимая подсветка орфографически плохих слов в Vim

Есть проблема с включённым spellchecker-ом и родной подсветкой Python
кода: плохие слова показываются красным, а содержимое строк показывается
фиолетовым цветом. Очень плохо видно. Либо отключать синтаксическую
подсветку и тогда цвета становятся различимы, либо вот сделать как я:

    ighlight SpellBad cterm=inverse ctermfg=red ctermbg=black

Очень важно указать inverse было, так как с включённым set cursorline он
меняет цвета вновь на неудобочитаемые.

7 years agoПрочитал "Рассказы о пилоте Пирксе" Станислава Лема
Sergey Matveev [Fri, 21 Jul 2017 07:28:34 +0000 (10:28 +0300)]
Прочитал "Рассказы о пилоте Пирксе" Станислава Лема

https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D1%81%D1%81%D0%BA%D0%B0%D0%B7%D1%8B_%D0%BE_%D0%BF%D0%B8%D0%BB%D0%BE%D1%82%D0%B5_%D0%9F%D0%B8%D1%80%D0%BA%D1%81%D0%B5
Очень понравился сборник! Довольно разносторонние рассказы, но по
большей части о людях, о своих реакциях и интерпретациях событий,
психологией людей в космосе. В некоторых рассказах частично вижу себя со
стороны (не положительной правда), с объяснением почему такие как я
делают те или иные вещи.

7 years agoЧто не следует обсуждать с девушками
Sergey Matveev [Thu, 20 Jul 2017 08:36:53 +0000 (11:36 +0300)]
Что не следует обсуждать с девушками

Вспомнил былые годы, пока рассматривал HTTP 451 код ответа. И внезапно
увидел взаимосвязь с двумя девушками с которыми пытался завести
отношения. Оба раза, общение с ними заканчивалось когда: в одном случае
я прочитал перед вторым свиданием "451 градус по Фаренгейту" и начал его
обсуждать, а в другом случае я прочитал "О дивный новый мир" и тоже
решил его обсудить. После этого, девушки полностью прекращали общение.
Сколько лет прошло, а только сейчас дошла закономерность :-)

7 years agoДобавил возможность в Vim Python linter выбирать между flake8 и pylint
Sergey Matveev [Wed, 19 Jul 2017 08:53:10 +0000 (11:53 +0300)]
Добавил возможность в Vim Python linter выбирать между flake8 и pylint

https://git.stargrave.org/cgit.cgi/vim-dotfiles.git/commit/?id=67c693e1e6b37575532cbb68e7dbecd5d8f47ef9

7 years agoChrome даже не предполагает что пользователь должен доверять не Google
Sergey Matveev [Wed, 19 Jul 2017 07:42:02 +0000 (10:42 +0300)]
Chrome даже не предполагает что пользователь должен доверять не Google

А именно как посмотреть сертификат в этом броузере?
Ответ на http://victor-sudakov.livejournal.com/388776.html:
Меню "..." -> Дополнительные инструменты -> Инструменты разработчика -> Security -> View certificate

Просмотр сертификата -- единственная вещь которую может хоть как-то
аутентифицировать пользователь и начать доверять удалённому сервера. Но
этот броузер считает что это "дополнительный инструмент", то бишь не
штатно используемый, и вообще это касается только разработчика.

У бедных (хотя не особо их и жалко) пользователей забирают даже уже
возможность и право на самостоятельное определение кому и как доверять.
Google говорит просто -- заткнись и выйди из меню и доверяй мне, как я
сказал, тот сайт и будет доверенным.

7 years agoРоскомсвобода запустила VPNlove.me
Sergey Matveev [Wed, 19 Jul 2017 07:36:17 +0000 (10:36 +0300)]
Роскомсвобода запустила VPNlove.me

Я вот вообще не могу понять как только совесть позволяет этим людям
писать такое:

    VPN делает вас невидимым для наблюдения со стороны властей и
    нечистоплотных владельцев веб-сайтов.

Что за враньё? Наглейшая низкопробная ложь. И очевидное желание просто
срубить бабла на бедах людей не шибко разбирающихся в том как устроен и
работает Интернет.

    Используя доверенные VPN-сервисы, вы можете не бояться, что ваши
    личные данные будут украдены, когда вы используете публичные точки
    доступа.

Очередное враньё, не понятно на чём основанное.

Ну и небольшая придирка на https://rublacklist.net/30475/: где написано
что у вас есть право на "конфиденциальность переписки" и "анонимность и
шифрование" -- вот шифрование это не буквально ли гарантия
конфиденциальности переписки? Не грамотно, очень не грамотно.

Я вроде бы не являюсь противником Роскомсвободы, но всё больше и больше
они пишут такое... что просто стыдно находится или как-то "светиться"
рядом с ними.

7 years agoPyDERASN -- зачатие проекта ASN.1 DER кодека
Sergey Matveev [Wed, 19 Jul 2017 07:26:58 +0000 (10:26 +0300)]
PyDERASN -- зачатие проекта ASN.1 DER кодека

В Python мире всё очень плохо с ASN.1 библиотеками. Либо они позволяют
закодировать, либо крайне просто прочитать (без высокоуровневых структур),
либо... остаётся единственный годный проект -- pyasn1. Однако его качество
меня не удовлетворяет. Нет возможности узнать точный размер и смещение
распарсенных данных. Нет возможности точно узнать пришло ли значение в
DER-е или нет. Плюс существенно меняющийся API из-за которого много чего
надо править. Терпение лопнуло и вот решил написать своё решение.

pyderasn сильно напоминает pyasn1, с точки зрения useability. Всё
потому-что мне тоже не хочется уже имеющиеся проекты сильно переколбашивать.

7 years agoSpacemap в ZFS
Sergey Matveev [Sun, 16 Jul 2017 09:23:35 +0000 (12:23 +0300)]
Spacemap в ZFS

Чтобы следить за участками свободного места на жёстких дисках, нужно
где-то иметь карту/список этого занятого/свободного места.

Когда-то применяли простые bitmaps: каждый бит показывает занят ли или
свободен блок на жёстком диске. С увеличением объёма накопителей это
становится очень расточительным -- bitmap-ы занимают много места. Как
решение их можно разбить на несколько частей и по необходимости в память
загружать только часть. Однако bitmap-ы нужно обновлять не только по
мере выделения блоков под хранения, но и по мере их освобождения. Это
легко приведёт к огромному кол-ву IO операций.

Можно применять B-деревья -- но проблемы IO остаются. Можно вместо
блоков использовать extent-ы: показывающие продолжительные линейные
участки на диске. Но это всё малоэффективно.

В ZFS применяют, на мой взгляд, гениальный ход. Во-первых весь pool
бьётся на сотни относительно небольших metaslab-ов, несколько частей.
Каждый metaslab представляет из себя буквально журнал операций по
заниманию и освобождению extent-ов на диске. Это append-only место куда
помещается факт alloc/free участка диска: по идее, добавление просто
пары integer-ов с фактом alloc или free. То есть, любые операции
связанные с изменением свободности места: выполняются крайне быстро.
Чтобы понять что же конкретно свободно: нужно просто считать весь этот
лог и "проиграть" -- создав настоящую "карту" свободного места. Так как
диск разбит на metaslab-ы, то работа в памяти может производиться
например только с одним, небольшого размера. Проблема с IO решена.

Когда размер журнала metaslab-а становится большим, то он конечно же
просто перезаписывается более компактным представлением уже имеющимся в
памяти. Но это редкая операция и которая просто линейно сбрасывает на
диск небольшой набор данных.

https://blogs.oracle.com/bonwick/space-maps

7 years agoПришла футболка от Hurricane Electric о том что я сертифицированный SAGE
Sergey Matveev [Sat, 15 Jul 2017 11:07:07 +0000 (14:07 +0300)]
Пришла футболка от Hurricane Electric о том что я сертифицированный SAGE

Белая. Спереди написано что я SAGE.
А сзади ссылки на RFC и формат IPv6 заголовка.

7 years agoToxic: работа видео и групповых чатов
Sergey Matveev [Fri, 14 Jul 2017 10:15:55 +0000 (13:15 +0300)]
Toxic: работа видео и групповых чатов

Сегодня с коллегой проверили на Toxic-е работу видео чатов. Работает.
Причём у него это всё шло через сотового оператора и в итоге всё за
двумя NAT-ами. У меня web-камеры нет, то отображать видео -- без проблем.
Групповые чаты очень просты, но достаточно удобны. Плюс отлично работает
оповещение о том что противоположная сторона набирает сообщение. Плюс
Toxic хранит состояние недоставленных сообщений и когда контакт
появляется в online, то его додоставит.

7 years agoCAPTCHA создаёт проблемы для инвалидов
Sergey Matveev [Fri, 14 Jul 2017 07:44:07 +0000 (10:44 +0300)]
CAPTCHA создаёт проблемы для инвалидов

http://lists.gnu.org/archive/html/repo-criteria-discuss/2017-07/msg00006.html
Вот прям явно написали что например в рассылке SoX есть слепые люди,
которым ввод чего бы то ни было с картинок не вариант, а аудио во всяких
броузерах хорошо дружащих с системами синтеза речи, как правило не
поддерживается нигде совсем. Сайты всё более и более по всему миру
деградируют и становятся менее доступными для людей с ограниченными
возможностями.

7 years agoЕвангелист ZFS
Sergey Matveev [Fri, 14 Jul 2017 07:42:52 +0000 (10:42 +0300)]
Евангелист ZFS

https://lists.debian.org/debian-russian/2017/07/msg00183.html
В рассылке Debian применили ко мне данный термин :-). А я ведь
действительно собирался было написать статью рассказывающую о
ZFS, но, так как не разработчик, так как не имел лично много
опыта с большими инсталляциями ZFS, то не решался.

7 years agoTox instant messenger
Sergey Matveev [Thu, 13 Jul 2017 08:59:43 +0000 (11:59 +0300)]
Tox instant messenger

Несколько постов я сделал о Tox-е. Почему? Почти с первых версий слежу
за этим протоколом и мне он нравится как никто:

* не федеративная сеть, а полностью децентрализованная
* вся кооперация идёт банально и просто через DHT
* сессия чата использует временные сессионные ключи -- forward secrecy
  свойство эта система имеет, в отличии от OpenPGP
* сообщения шифруются банальным NaCl-ом (secretbox и тому прочее) -- это
  быстрая, простая, эффективная и надёжная криптография. Отличный выбор
* работает поверх UDP, может делать hole punching, но также есть и
  downgrade до TCP соединений
* позволяет передавать файлы (эффективно, без Base64 внутри XML
  какого-нибудь), продолжать докачивание
* есть групповые чаты (в том числе, вроде бы, с аудио и видео (не
  пробовал))
* оповещения о доставке сообщения, а также факте набора сообщения
* может передавать и аудио (Opus кодек (!))/видео (VP8 кодек)
* можно поднять свой собственный DHT сервер и ни с кем его не соединять
  -- будет приватная изолированная Tox сеть
* установление соединения производится через onion сообщения и трёх
  посредников. Поэтому внешний наблюдатель не видит кто конкретно с кем
  общается, оценивая публичные ключи. Установление/согласование сессии
  порождает временные пары ключей, которые уже вне onion-а работают и их
  взаимосвязь с долгоживущими парами неизвестна внешнему наблюдателю
* куча клиентов на разные платформы: от мобильных, до GUI решений на
  компьютерах и suckless клиентах с FIFO-файлами
* есть возможность бороться со спамом (это же всё же P2P сеть) за счёт
  выставления nospam специальных значений
* клиенты стараются соединиться друг с другом напрямую, без постоянного
  промежуточного перегона трафика через прокси-сервер

Я вообще поклонник федеративных решений. Но иногда хочется просто
быстренько как-то пообщаться, ничего не поднимая, не имея mission
critical условий, без нужды много чего конфигурировать. Tox это штука в
которой даже сервер нигде не надо прописывать. А если и придётся, то
всего-лишь адрес, порт и публичный ключ.

Идентификатор человека в Tox это его публичный ключ, в отличии от
легко-запоминаемых email-like адресов XMPP или SIP. С одной стороны
плохо, с другой стороны он позволяет аутентифицировать собеседника,
банально имея его ключ.

В Tox нет фишек OTR: plausible deniability нет, key ratcheting или
постоянные DH сообщения отсутствуют. Но это под вопросом а надо ли оно
так сильно. А вот чего бы хотелось уж для совсем шика, так это SMP
протокол (ну или аналог).

7 years agoToxic клиент: дополнительное что я проверил
Sergey Matveev [Thu, 13 Jul 2017 08:58:29 +0000 (11:58 +0300)]
Toxic клиент: дополнительное что я проверил

* без проблем работает за Tor-ом
* без проблем работает с чётко указанной DHT нодой, без обновлений
  списка нод с сайта Tox
* показывает были ли доставлены сообщения или нет
* недоставленные сообщения доставляет позже, когда клиент появляется online

7 years agoКомпрометация известных не китайских CA
Sergey Matveev [Thu, 13 Jul 2017 08:07:19 +0000 (11:07 +0300)]
Компрометация известных не китайских CA

Недавно были новости о том что WoSign и StartCom все из себя плохие CA и
их отзывают и не доверяют (c1d991e20528f6b0e84b06cda975543a69a502d2).
Вот тут кое какой список нашёл о том что куда более крупные и известные
CA совершали куда более серьёзные нарушения и факапы, но им ничего за
это не было:

https://www.eff.org/deeplinks/2015/09/symantec-issues-rogue-ev-certificate-googlecom
Symantec Issues Rogue EV Certificate for Google.com

https://threatpost.com/fraudulent-certificate-google-domains-found-after-mistake-turkish-ca-010313/77361/
Fraudulent certificate for Google domains found after mistake by turkish CA

https://defcon.org/images/defcon-17/dc-17-presentations/defcon-17-zusman-hacking_pki.pdf

https://www.cnet.com/news/microsoft-warns-of-hijacked-certificates/
VeriSign issues two digital certificates in the software giant's name...

https://en.wikipedia.org/wiki/Diginotar#Issuance_of_fraudulent_certificates
On July 10, 2011, an attacker with access to DigiNotar's systems issued
a wildcard certificate for Google.

https://en.wikipedia.org/wiki/Comodo_Group#2011_breach_incident
In 2009 Microsoft MVP Michael Burgess accused Comodo of issuing digital
certificates to known malware.

https://en.wikipedia.org/wiki/Comodo_Group#2011_breach_incident
On March 23, 2011, Comodo posted a report that 8 days earlier, on 15
March 2011, a user account with an affiliate registration authority had
been compromised and was used to create a new user account that issued
nine certificate signing requests.

7 years agoYour site needs HTTPS -- DISAGREE
Sergey Matveev [Thu, 13 Jul 2017 08:01:26 +0000 (11:01 +0300)]
Your site needs HTTPS -- DISAGREE

http://n-gate.com/software/2017/07/12/0/
Отличная короткая статья критикующая статью "ваш сайт нуждается в
HTTPS". В целом я со всеми пунктами согласен. Не надо и не стоит вестись
на тупую мало чем обоснованную мантру -- нам нужен HTTPS. Нет: в
большинстве случаев он не нужен. А как его предлагают делать: чаще
создают иллюзию безопасности.

7 years agoSourceForge.net совсем обезумели
Sergey Matveev [Wed, 12 Jul 2017 21:34:08 +0000 (00:34 +0300)]
SourceForge.net совсем обезумели

Из-за почтовых рассылок (70c3b55254fa19e49447fedc10e831edf0775bdd) я
списался с автором S-mailx (S-nail) MTA (https://www.sdaoden.eu/code.html)
и выяснилось что они ещё и закрыли возможность администраторам своих
проектов смотреть список подписантов почтовых рассылок. Раньше это было
годами всегда доступно. А тут, буквально вот совсем недавно, посчитали
его третьим лицом и не положено мол ему знать о своих подписчиках,
пользователях ничего.

Вчера удалили все мои проекты (по моему запросу). Я собирался на
выходных написать письмо автору S-mailx, с просьбой подписать меня на
его рассылку (от которой отписался ради того чтобы сразу же подписаться
назад, чтобы reconfirmation перестал ругаться на SF.net), но сегодня от
него получил уведомление что он уже сам поднял свои рассылки и всех кого
может переносит на них. Вот это молодец лидер проекта -- на шаг впереди
даже своих пользователей! Достойно уважения.

7 years agoНаписал более тяжёлый вариант переключения буферов в Vim
Sergey Matveev [Wed, 12 Jul 2017 20:41:18 +0000 (23:41 +0300)]
Написал более тяжёлый вариант переключения буферов в Vim

https://git.stargrave.org/cgit.cgi/vim-dotfiles.git/commit/?id=956b1c6314f83a4f6d41e659b866791b5945e248
Раньше я использовал вот такой простой способ:

    nmap <Tab> :buffers<CR>:b<Space>

Нажимая клавишу Tab, мне показывался список буферов и готовая для ввода
команда ":b ", где мне остаётся ввести только номер буфера или часть его
имени, и нажать enter.

К сожалению, если есть коллизия в именах, то Vim откажется что-либо
открывать. При редактировании Python программ создаётся впечатление что
хватило бы простой логики: выбирать буфер с наименее длинным именем
файла. Например есть модуль, а есть тест для него, который будет с
"test_" префиком. Так что пока буквально так и сделал: среди буферов где
в имени файла встречается введённое пользователем слово, он откроет с
самым коротким именем. Ввод числа, то бишь номера буфера, поддерживается
как и прежде.

7 years agoToxic: Tox клиент
Sergey Matveev [Wed, 12 Jul 2017 19:05:52 +0000 (22:05 +0300)]
Toxic: Tox клиент

https://github.com/JFreegman/toxic
Несколько дней поигрался с этим Tox клиентом.

* довольно удобный интерфейс
* особо ничего лишнего из функционала
* возможность управлять no-spam значением
* возможность подключиться к чётко заданной DHT ноде
* возможность группового текстового общения
* приём/отправка файлов
* голосовые звонки -- реально работают без проблем. Банально делаем
  /call, а дальше /answer или /hangup и всё ok
* возможность управлять уровнем voice activity detection
* всякие мелочи типа bell при получении сообщений
* возможность выбора/переключения аудио входа/выхода

7 years agoПрочитал "Непобедимый" Станислава Лема
Sergey Matveev [Wed, 12 Jul 2017 07:48:07 +0000 (10:48 +0300)]
Прочитал "Непобедимый" Станислава Лема

https://ru.wikipedia.org/wiki/%D0%9D%D0%B5%D0%BF%D0%BE%D0%B1%D0%B5%D0%B4%D0%B8%D0%BC%D1%8B%D0%B9_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD)
Очень понравилась книга! На одном дыхании, можно сказать, поглотил. В
ней нет быстрой смены декораций и действий -- много рассуждений и
болтовни, но каких! Да и сама основная тема очень захватывающая для
научной фантастики.

Что-то у Лема прям не читалось никак -- закрывал и забывал. Но вот эта
книга превосходна. Заставляет задуматься о своей человеческой сущности
-- всё уничтожать что чужое и непохожее.

7 years agoПосетил концерт Mike Portnoy's Shattered Fortress
Sergey Matveev [Wed, 12 Jul 2017 07:39:44 +0000 (10:39 +0300)]
Посетил концерт Mike Portnoy's Shattered Fortress

И сделал вывод что концерт Dream Theater полная фигня! Вот *именно*
таким должен быть выбор композиций! Просто идеально! Нафиг мне не
сдались старые хиты DT начала 90-х годов -- я хочу Metropolis и тому
подобное, которое DT не исполняли. А здесь Портной со своей командой всё
просто на ура сделал и отыграл! Плюс вокалист в DT и на альбомах то не
очень нравился, но в живую ужасно писклявый раздражающий голос -- у
Портного вокалист поёт как надо, не раздражая, нравится.

На DT не пойду больше ни за что, а вот на Портного с удовольствием!
Выбор композиций, повторюсь, просто идеален! Играли вот лучшее что
вообще есть у DT и в отличном порядке.

7 years agoПрезервативы 16-ним норвежским детям
Sergey Matveev [Wed, 12 Jul 2017 07:24:42 +0000 (10:24 +0300)]
Презервативы 16-ним норвежским детям

https://lenta.ru/news/2017/07/11/norgechildecondoms/
Я не перестаю удивляться тому что удивляюсь что творится в Норвегии,
Швеции, Дании, Голландии и окружающих их странах. Вот не дай бог чтобы
подобный аморальный безнравственный пошлый животный бред и у нас начал
развёртываться.

7 years agoSourceForge форсирует использование Google. Удаляю все проекты у них
Sergey Matveev [Tue, 11 Jul 2017 05:12:41 +0000 (08:12 +0300)]
SourceForge форсирует использование Google. Удаляю все проекты у них

http://lists.gnu.org/archive/html/repo-criteria-discuss/2017-07/msg00004.html
Во-первых, сделали мой первоначальный тикет о необходимости JS-а для
подписки на рассылку приватным и поэтому никто извне не видит что был
такой запрос и что они мне ответили. Во-вторых, ответили что это не мы,
а Google в своей reCAPTCHA требует этого.

Завёл тикет на удаление всех своих проектов. Это абсолютно недопустимо и
неэтично так поступать с людьми. SF окончательно умер и перестал быть
хоть каким-то вариантом.

7 years agoОбновил SSD: старый пошёл в ZFS L2ARC
Sergey Matveev [Mon, 10 Jul 2017 09:15:54 +0000 (12:15 +0300)]
Обновил SSD: старый пошёл в ZFS L2ARC

Старому 3.5 года и стрёмно уже с ним -- отрубаются же они резко, без
предупреждения. На новый переехал, а старый поставил в один из серверов
в качестве L2ARC кэша: zpool add storage cache ada2.eli -- и вот и кэш и
начал сразу же работать. Собственно, получился гибридный жёсткий диск. А
из-за .eli префикса, HardenedBSD автоматически там делает шифрование
одноразовым ключом.

7 years agoVim снова радует: gi и gp
Sergey Matveev [Sun, 9 Jul 2017 21:45:12 +0000 (00:45 +0300)]
Vim снова радует: gi и gp

Заметил в help-е пару команд которые уже по чуть-чуть начал использовать.

"gi" -- вернутся режиме вставки на место где в последний раз вставка и
производилась. Честно говоря, пока наверное пару раз вызвал, но с ходу
просто вспоминается что регулярно я нажимаю "g;i" -- возвращаюсь к
последней правке и перехожу в режим ввода. А тут, получается, можно короче.

"gp" -- вставить и переместить курсор после вставленного текста. Раз
приходится писать на Python, то эта штука очень пригождается в ситуации
такой: надо взять метод и вставить в начало класса. Обычно я удалял
метод который надо вставить (он сохраняется в @" регистре), нажимаю "[["
чтобы переместиться в на объявление класса, потом "p", потом перемещаюсь
на конец вставленного текста, чтобы добавить пустую строку ("o") после.
Самая засада это переместиться на конец: или с относительной нумерацией
сделать "Nj" прыжок, или через поиск "/def" какой-нибудь. А тут можно
просто "gp" сделать вместо "p" и сразу же нажать "o".

7 years agoGoogle/Mozilla не доверяют WoSign и StartCom
Sergey Matveev [Sun, 9 Jul 2017 08:59:42 +0000 (11:59 +0300)]
Google/Mozilla не доверяют WoSign и StartCom

http://www.opennet.ru/opennews/art.shtml?num=46823
https://habrahabr.ru/post/332672/

Крайне не нравятся мне эти две корпорации лицемеров и политиков.

* WoSign/StartCom нарушали больше, недопустимее и хуже всех? Я помню что
  куда более крупные и брэндовые VeriSign/Comodo-ы (или кто-то из
  подобных крупных) выпускали сертификаты не честно (вроде на Google).
  К ним, значит, никаких претензий и наказаний?
* Если все они из себя за правильность оценки качества работы CA, то
  какого чёрта доверие к сертификату учитывает его популярность в Alexa?
  Что за @#$%? По моему вообще нонсенс что безопасность зависит от
  популярности ресурса.

Так чем же не угодили CACert (который раньше попал в "недоверяемые") и
эти два CA? Тем что они выпускали бесплатно, мешали делать деньги из
воздуха. Только вот не надо говорить что тут продажа доверия -- те кто
оплошал, но является США-организацией, то тому всё-равно ничего не делается.

Но, безусловно, основная причина это не то что мешают делать бизнес, а
конечно же, вопрос контроля. К китайским компаниями силовые структуры
США не могут прийти. А к Let's Encrypt, в котором 100500 мировых
корпораций, само собой из США, без проблем. Кроме того, малое время
жизни превращает LE сертификаты в нечто крайне малоюзабельное. В моём
броузере делается certificate pinning и если сертификат изменился, то он
меня спросит что делать дальше то? На многие многие сайты я захожу
запросто с периодичностью в 90+ дней -- а это значит что каждый заход
мне нужно принимать решение о доверии к сайту. По хорошему я что должен
делать? Должен достучаться до него через Tor, должен поднять VPN до
работы и из разных мест попытаться зайти, сравнивая тот ли мне
сертификат суют? Однако это будет просто проверка на MitM. Никто не
запрещает силовикам иметь доступ к приватному ключу. В идеале я должен
послать бы OpenPGP почту до сайта и узнать его сертификат, постучаться в
DANE DNSSEC-овский этого сайта, итд. LE, таким образом, превращает
использование TLS соединений в некий ад. Представьте что каждое бы
подключение имело свой новый уникальный сертификат? Они вынуждают
забыть о pinning, а только и только доверять ихнему CA, которому я чисто
политически и потому-что там 100500 корпораций просто не могу доверять.

Мне часто многие пишут почему я не подниму у себя LE сертификаты.
Основной довод: популярность, мол производители наших броузеров его CA в
себя засунули. Ну ok -- политическое решение Mozilla и Google было
таким. Мне то до него какое дело? Я вижу что решения они принимают
лицемерно. Ну и мне очень, очень и очень не нравится ставить какой-то
сторонний софт без надобности. Чтобы запросить себе сертификат и
доказать владение доменом -- софт не нужен. Я не девочка-секретарша
которая не в состоянии сделать запрос на сертификацию. Можно обойтись и
без их софта, но это каждые 90 дней трахаться и геморроиться. LE: делает
неюзабельным certificate pinning и усложняет администрирование.

7 years agoSourceforge вообще не даёт теперь подписаться на рассылки
Sergey Matveev [Fri, 7 Jul 2017 11:55:18 +0000 (14:55 +0300)]
Sourceforge вообще не даёт теперь подписаться на рассылки

https://lists.gnu.org/archive/html/repo-criteria-discuss/2017-07/msg00003.html
Теперь Sourceforge... стал полной жопой. Окончательно и бесповоротно.