Sergey Matveev [Thu, 2 Nov 2017 19:42:19 +0000 (22:42 +0300)]
Лахта Центр
Зашёл я на одну статью, в итоге прочитал больше дюжины других.
Аж строителем захотелось побывать! Мне, как инженеру, очень
интересно было всё это почитать и хочется дальше, продолжения!
Налитый перед этим чай остыл до комнатной температуры.
https://geektimes.ru/company/lakhtacenter/blog/294667/
https://geektimes.ru/company/lakhtacenter/blog/282584/
https://geektimes.ru/company/lakhtacenter/blog/282940/
https://geektimes.ru/company/lakhtacenter/blog/283360/
https://geektimes.ru/company/lakhtacenter/blog/287194/
https://geektimes.ru/company/lakhtacenter/blog/292675/
https://geektimes.ru/company/lakhtacenter/blog/283836/
https://geektimes.ru/company/lakhtacenter/blog/285152/
https://geektimes.ru/company/lakhtacenter/blog/287304/
https://geektimes.ru/company/lakhtacenter/blog/288997/
https://geektimes.ru/company/lakhtacenter/blog/290795/
https://geektimes.ru/company/lakhtacenter/blog/292019/
https://habrastorage.org/files/7e2/a34/102/7e2a341026b94219b750f4b340981577.png
Sergey Matveev [Wed, 1 Nov 2017 19:08:25 +0000 (22:08 +0300)]
Поругался с Теплицей Социальных Технологий из-за статьи
Статья которая была выложена утром и которая была под вечер --
отличаются. Без каких-либо предупреждений и согласований ТеСТ её
поправила. Вообще в самом начале было многое у меня сказано про OpenBSD
например -- в том что они выдали мне на согласование это полностью
исчезло. Ну OK, я допускаю что иначе бы текст получился очень огромным и
долгим для чтения, но суть оно особо не поменяло, лишь дало окраску что
другого мира кроме GNU/Linux в СПО нет.
Но под вечер они из пункта про недостатки GNU/Linux, отсутствия
современных технологий, убрали вообще упоминание ZFS! Блин, да это чуть
ли не основной пункт приходящий мне в голову если спросят почему бы мне
сейчас не пересесть снова под GNU/Linux. Если бы я говорил о GNU/Linux и
ничего не сказал о недостатках -- то это говно а не статья, потому-что
любой опытный человек обязан видеть и знать недостатки с чем он работает
(идеальных систем нет). Если оставить пункт про отсутствие технологий
только с DTrace-ом или Containers, то это выглядит несерьёзно -- да эти
две технологии пользователь может вообще ни разу в жизни не трогать, они
для своих задач, возможно никогда не возникающих. И пункт можно было бы
посчитать высосанным из пальца. Но ФС, штука обеспечивающая
доступность, сохранность и целостность данных -- САМОГО ценного что есть
на компьютерах, является архиприоритетной. В итоге, убрав это важнейшее
замечание (одного слова "ZFS" достаточно чтобы полностью объяснить
почему кто-то не использует GNU/Linux) статья превратилась в marketing
bullshit где описывается идеальный, без изъянов мир добродушных
линуксоидов у которых всегда всё прекрасно, современно и выше остальных.
Более того, в своём оригинальном ответе на вопрос о недостатках, я
написал что ZFS "отсутствует в качественном виде". Что в корне меняет
оценку этого моего высказывания. "ZFS отсутствует" -- было бы не совсем
правдой, так как, всё же, как-то, в каком-то виде он присутствует. Но
когда добавлено "качественном виде", то это сразу передаёт ещё и
требования к не простому наличию и субъективную оценку.
В любом случае журналист совершил недопустимое, на мой взгляд и именно
из-за этого к ним предвзятое отношение -- уберут одно/два слова,
переставят местами без предупреждения, вот и смысл другой и человек
выглядит как полный пустозвон, а люди будут тыкать пальцами в него, мол
что за херню он спорол во время интервью, поганя репутацию.
В итоге сегодня статья появилась. Больше всего статьи читают вечером,
после работы -- и люди видят что Матвеев какой-то мудак, живущий в мире
бабочек и пони, очередной 15 летний-ий сопляк радующийся pipe-ам в
командной строке. Вот не помню зарекался ли я связываться с журналистами
или нет, но если нет, то начинаю, ибо потом пожалею снова.
Я вот только не понимаю что я такого сделал ТеСТу? Вышли на связь со
мной они сами -- Маша позвала выступить и рассказать про СПО. С Машей
вроде конфликта не было, и вообще она мне очень нравится, глаз не
оторву. А вот с Натальей... Если я пишу не то что хочет видеть их
"линуксоидная" компания, не желающая видеть упоминания СПО, а только
этот open source, то уж проигнорировала бы мой ответ на интервью или
явно бы написала что им надо. Я бы потерял время, но люди хотя бы не
увидели бы то, чего я не говорил (я не мог не упомянуть ZFS и недостатки
GNU/Linux -- это знает любой, кто со мной знаком по технической части).
Что такое операционная система Linux: плюсы и минусы свободной платформы
Заголовок не мой, я бы такого конечно же не написал, но начиная со
второго абзаца уже идёт мой текст. Linux это не ОС и уж точно не
"платформа" (такого понятия не встречал относительно него).
Узнал вот про существование этого дистрибутива. Из интересного:
* защита от утечек по побочным каналам для бедных: просто в фоне
заставлять работать GnuPG что-нибудь делая с какими-нибудь файлами.
Прослушивая электромагнитный спектр, типа не так легко будет понять
где же выполнялась настоящая работа
* вместо ввода парольной фразы напрямую как есть, показывается таблица,
где, введя X и Y координаты нужной буквы, она будет по-настоящему
введена в программу. Сами значения X/Y координат постоянно меняются и
поэтому если идёт прослушка (keylogger в том числе) клавиатуры, то, не
зная вывода экрана, нельзя будет понять что же конкретно введено. Ну
кроме длины парольной фразы
Sergey Matveev [Mon, 30 Oct 2017 08:19:44 +0000 (11:19 +0300)]
Слово "блокчейн" в резюме повышает стоимость работника на 25%
Мне вот не раз предлагали сменить работу и заниматься блокчейном. И
прекрасно понимают и мне то, технарю, по чесноку говорят что на самом
деле 90% что называется блокчейном, на самом деле не имеет никакого
отношения. Сейчас в мире если где-то используется хэш от хэша -- можно
смело употребить слово блокчейн и в 100% случаев это прокатит для
заказчика. Поэтому если закрыть глаза на то, что по-настоящему является
блокчейном, то я заядлый специалист по нему :-)
Sergey Matveev [Sun, 29 Oct 2017 16:35:52 +0000 (19:35 +0300)]
Зарелизил PyDERASN 1.4
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2017-October/000001.html
Самое главное изменение это возможность проводить автоматическое
декодирование полей, в зависимости от OID-а:
http://pyderasn.cypherpunks.ru/reference.html#defined-by
Такого функционала не было ни в одной библиотеке что я видел.
На работе оно уже используется -- безумно удобно стало.
Sergey Matveev [Sun, 29 Oct 2017 10:32:30 +0000 (13:32 +0300)]
7 H.Target -- Promotional disc
http://technicaldeathmetal.org/7-h-target-promotional-disc-2017/
Два новых трэка от нижегородцев 7 H.Target. Возможно появится новый
альбом или что-то подобное на концерте с Ulcerate в ноябре. Буду ждать!
Sergey Matveev [Fri, 27 Oct 2017 20:36:55 +0000 (23:36 +0300)]
Пообщался со специалистами из КриптоПро
Возникли у меня вопросы о выборе authenticate-then-encrypt решения в
одном из стандартов ТК26, ведь все зарубежные специалисты советуют
делать как можно проще и выбирать encrypt-then-authenticate, так
как это не может быть не правильно. Но КриптоПро убедил что в их
подходе, при их выборе алгоритмов, это действительно даже лучше
получается, лучше противостоит атакам по побочным каналам.
Действительно узнал что-то новое, благодарен их сотрудникам,
потратившим время на объяснение!
Sergey Matveev [Thu, 26 Oct 2017 22:53:08 +0000 (01:53 +0300)]
Mailman 2.1.25 с моими поправками к переводу
https://mail.python.org/pipermail/mailman-announce/2017-October/000230.html
Вышел GNU Mailman с моими поправками к русскому переводу. На
lists.cypherpunks.ru запущена версия более старая, но с моими
поправками. Сейчас, если обновиться, то патчи больше не нужны.
Sergey Matveev [Sun, 22 Oct 2017 22:02:00 +0000 (01:02 +0300)]
Неделя отпуска прошла без единой строчки кода
В этом году возможно единственная неделя на которой я только читал
новости и писал письма. Но отпуск закончен и до конца года такого
безобразия не повторится.
Sergey Matveev [Sat, 21 Oct 2017 18:21:24 +0000 (21:21 +0300)]
Как Yandex деанонимизирует пользователей
https://victor-sudakov.livejournal.com/396946.html
Вот и я с автором солидарен -- само собой никакой подозрительной
активности или чего-то подобного там не было, а просто они под этим
предлогом хотят провести полную деанонимизацию.
Как-то давно я заводил учётную запись в Yandex.Money. Надо было купить
фонарик, оплатив его через этот кошелёк. Положил и перевёл 1k руб. и мне
сказали что мол всё подозрительно, achtung, дуй, короче, к нам в офис с
паспортом. Тогда ещё не было такого массового требования на сотовые
телефоны -- там сразу вон паспорт захотели.
Sergey Matveev [Thu, 19 Oct 2017 18:29:12 +0000 (21:29 +0300)]
Muncausen by Proxy
В расширенной версии фильма "Всегда говори да" (2008-го года с Джимом
Керри) есть четыре полных песни вымышленной сабжевой группы. Это почти
15 минут фильма!
В действительности же это электро-поп группа Von Iva с Зуи Дешанель
(главной героини фильма). Её голос очень нравится, да и, не смотря на
то, что я предпочитаю метал и грайндкор (как и Джим Керри, кстати), но
выступление у них получилось очень здоровское.
Sergey Matveev [Wed, 18 Oct 2017 21:41:17 +0000 (00:41 +0300)]
Митап Теплицы в Москве: что нужно знать про открытый код и лицензии
https://te-st.ru/events/opensource-meetup/
30 октября я совместно с организатором предыдущих мероприятий в te-st.ru
будем рассказывать про свободное ПО. Название митапа, к сожалению про
open source, как и вся тематика te-st.ru, но внутри новости о данном
мероприятии написано и про СПО в том числе.
Sergey Matveev [Wed, 18 Oct 2017 19:31:53 +0000 (22:31 +0300)]
Покатался на современном Mercedes C-класса
И в очередной раз убеждаюсь что хотел бы ездить именно на Мерсах. Всё уж
нравится. Ну кроме цены и долговечности за такую цену. Всерьёз конечно
копить на такую тачку не думаю, ибо для этого нужно в разы бОльшую
зарплату иметь.
Sergey Matveev [Wed, 18 Oct 2017 19:30:16 +0000 (22:30 +0300)]
Впервые увидел-таки Млечный путь
Рядом с Москвой световое загрязнение ужасно и никогда не видел Млечного
пути. А тут вот на несколько дней ездил в Нижегородскую область -- звёзд
на порядок больше видно, ну и, собственно, сама наша галактика.
Sergey Matveev [Mon, 16 Oct 2017 03:14:10 +0000 (06:14 +0300)]
Reasons to not use Gmail
http://www.horsfall.org/gmail.html
Хороший сборник причин почему Gmail является ужаснейшим почтовым
сервисом. По большей части технические SMTP-related причины.
Подтверждаю: особенно в этом году почта до них массово перестала ходить
и никто, абсолютно никто и нигде не может сказать причины -- отказ
в доставке происходит случайным образом. Попадание в спам -- случайным
образом.
Sergey Matveev [Wed, 11 Oct 2017 21:41:26 +0000 (00:41 +0300)]
Вышел альбом Exhumed -- Death Revenge
http://nnm.me/blogs/sid_oi/exhumed-death-revenge-2017/
А я в этом году был на их концерте как-раз:
http://www.stargrave.org/photoes/exhumed.jpg (группа на заднем плане)
Sergey Matveev [Wed, 11 Oct 2017 19:37:54 +0000 (22:37 +0300)]
Написал GEOM Gate демона на Go
https://www.freebsd.org/doc/handbook/geom-ggate.html
У меня была давно хотелка написать свою реализацию полнодискового
шифрования. Не то чтобы текущий GELI или LUKS не устраивал бы, но если
можно с достаточной надёжностью написать своё, то почему бы и нет. Плюс
иметь возможно делать deniable encryption -- например хранить данные
так, что нельзя доказать их наличие. Например по запросу суда/полиции
заставляют отдать ключ дешифрования диска -- отдаём, но также возможно
будут иметься ещё какие-то скрытые данные, факт наличия которых не
доказать.
Идея hidden volume-ов не нова и давно есть в TrueCrypt. Я же пока думаю
делать полнодисковое шифрование не совсем классическими XTS, CBC,
whatever, но добавлять к ним вектор инициализации и именно в нём
возможно хранить дополнительный hidden volume. Если IV будет на самом
деле шифротекстом, то для стороннего наблюдателя он всё-равно не отличим
от шума и выглядит как просто IV, рандомный, как и должен бы быть.
Но это всё откладывал потому-что хочется писать на Go, но чтобы никакого
C. Поэтому применять только сетевую подсистему эмулирующую доступ к
блочным устройствам. Я знал про iSCSI, AoE, NBD. AoE -- сложно и
геморройно и мало где используется. NBD нет под *BSD. iSCSI -- мне
кажется я не осилил прочитать даже всякий introduction в его RFC: с нуля
писать iSCSI target это колоссальное количество работы.
Но вот на днях случайно увидел GEOM Gate -- УБЕР простой протокол
доступа по сети к блочному устройству. Вчера за вечер полностью его
реализовал. Теперь остаётся только криптографическая часть,
Sergey Matveev [Wed, 11 Oct 2017 21:22:39 +0000 (00:22 +0300)]
Бердымухамедов груб с щенком для Путина
https://lenta.ru/news/2017/10/12/putinsdoggy/
Ну вообще я нисколько так не посчитал. Да, можно было бы под мышки её
взять, но у щенков шкирка вполне себе приспособлена для подобных
действий. Вот ни капли никакого возмущения или чего-то кроме умиления
щенком у меня не возникло. Президент Туркмении доволен и нормален.
А вот то что удивляет, так это что в сети видимо нет особо ничего про
сегодняшнюю новость где какая-то женщина на глазах у хозяина переехала
его маленькую собаку. Возможно это вырезано из контекста и мы не знаем
какие были отношения у хозяина с ней. Возможно это несчастный случай и
за своей огромной тачкой она действительно не видела барбоса и поддала
газу испугавших долбящего её машину мужчину. Но если это не так, то мой
приз как самым жестоким, самым бесчеловечным, самым низким существам
отдаётся в очередной раз женщинам -- страшнее них нет никого. Наш
мужской мозг никогда не сможет даже придумать или подумать о том, на что
они способны.
Sergey Matveev [Sun, 8 Oct 2017 20:21:55 +0000 (23:21 +0300)]
Testing Security Keys
https://www.imperialviolet.org/2017/10/08/securitykeytest.html
Продолжение статьи о security keys: https://www.imperialviolet.org/2017/08/13/securitykeys.html
Adam Langley не просто рассматривает базовые характеристики ключей, но
теперь уже щупает их. Что меня удивило и порадовало: ASN.1 DER даже
такие решения делают криво! И... как меня это не удивило -- проблемы с
кодированием целых чисел. Вообще это ужас и позор делать огрехи в таких
вещах как DER (!!!) кодирование -- оно же именно для этого и сделано:
чтобы было только одно представление данных.
Sergey Matveev [Sun, 8 Oct 2017 11:50:09 +0000 (14:50 +0300)]
ipsec интерфейс в FreeBSD
Обновил FreeBSD на своём шлюзе до 11.1 в которой появился ipsec
интерфейс (man if_ipsec). Настолько удобная штука, что вот потратил
прилично времени всё везде обновляя аккуратно.
Выглядит, с точки зрения пользователя, ipsec как gif интерфейс, но с
одним отличием: он автоматически добавляет security policies связанные с
этим интерфейсом. Именно их добавление очень удручало меня всегда в
настройке IPsec-а. А с ipsec интерфейсом теперь поднимать IPsec стало
делом проще некуда.
Предварительно на двух компьютерах убеждаюсь что конфигурационный файл
racoon имеется. У меня он выглядит неизменно как в
http://www.stargrave.org/IPsec-setup.html статье.
К этапу конфигурации я бы не стал это относить.
то есть, адреса просто симметричны. fc00 сеть имеется заранее и она
внутренняя. На этом вся конфигурация туннеля завершена. Указали
endpoint-ы и указали виртуальную сеть. На этом реально всё. ipsec
интерфейс добавляет SP такого рода:
0.0.0.0/0[any] 0.0.0.0/0[any] any
in ipsec
esp/tunnel/fc00::2752-fc00::7a00/unique#16385
spid=1 seq=3 pid=96714 scope=ifnet ifname=ipsec0
refcnt=1
::/0[any] ::/0[any] any
in ipsec
esp/tunnel/fc00::2752-fc00::7a00/unique#16385
spid=3 seq=2 pid=96714 scope=ifnet ifname=ipsec0
refcnt=1
0.0.0.0/0[any] 0.0.0.0/0[any] any
out ipsec
esp/tunnel/fc00::7a00-fc00::2752/unique#16385
spid=2 seq=1 pid=96714 scope=ifnet ifname=ipsec0
refcnt=1
::/0[any] ::/0[any] any
out ipsec
esp/tunnel/fc00::7a00-fc00::2752/unique#16385
spid=4 seq=0 pid=96714 scope=ifnet ifname=ipsec0
refcnt=1
а racoon видя эти SP, автоматически пытается сделать IKE для
согласования ключей и создания SA. Единственное чего пока не хватает,
так это прописать pre-shared ключи аутентификации в psk.txt:
То есть, повторюсь, если забыть про константный racoon.conf, то
достаточно: прописать PSK, указать конечные точки туннеля, сделать любую
соответствующую настройку адресов внутри туннеля. В принципе проще быть
уже не может. if_ipsec очень удобен. Без него, на самом деле, было бы
всё то же самое, но ещё надо было бы руками прописывать эти SP, как это
было в http://www.stargrave.org/IPsec-setup.html
Sergey Matveev [Wed, 4 Oct 2017 08:26:20 +0000 (11:26 +0300)]
Необразованная молодёжь. Ответ бизнеса
https://habrahabr.ru/company/regionsoft/blog/339284/
Ответ на статью про "Необразованную молодёжь": https://habrahabr.ru/post/339022/
Хороший ответ! Вот я со всем написанным в нём полностью согласен и
воочию регулярно видел. То что то, что хотят молодые неопытные
специалисты -- мягко говоря, очень завышено.
Sergey Matveev [Tue, 3 Oct 2017 19:06:18 +0000 (22:06 +0300)]
Посмотрел первый сезон Рика и Морти
https://ru.wikipedia.org/wiki/%D0%A0%D0%B8%D0%BA_%D0%B8_%D0%9C%D0%BE%D1%80%D1%82%D0%B8
И мне очень понравился этот мультсериал! Классно нарисован -- есть что
разглядывать. В меру пошел и чёрноюморен. А главное что интересен и
забавен! Плюс всякая фантастика, так мною обожаемая!
https://lists.suckless.org/dev/1709/32357.html
Anselm Garbe старейший член общества Suckless хорошо отзывается о Go.
Ну собственно все плюсы очевидны: OO сделан как надо (такой можно
использовать), статическая линковка и CSP.
Выводы на будущее после написания тысяч строк Python кода на днях
Не выходил я толком из дома уже неделю и писал писал кучу Python кода.
На работе мы конечно давно исповедуем некоторые мантры, но в очередной
раз убедился в их пользе и для меня уже просто неоспоримом преимуществе:
* рефакторить только после покрытия тестами. После хорошего покрытия,
типа 100%. Лучше сначала дописать как есть, покрыв тестами, а потом
рефакторить
* использовать coverage. Если pylint/flake8/mypy/whatever просто
помогают чуть сократить время нахождения недочётов, если тесты покажут
только те проблемы, что были оформлены явно человеком в этих тестах,
как он их видит и представляет, то coverage это über вещь,
показывающая то, что человек которому этот coverage пальцем тычет в
строчки кода, он всё-равно не поверит что они не покрыты, ведь вот же
прям отдельно для этих случаев специально написан же тест. Что на
работе, что вот в личных проектах -- coverage показывает то, чего
люди, команда людей, в упор не видит. Потрясающая по своей простоте и
эффективности повышения качества кода штука
Отдельно для себя ещё намотал на ус что всякие составные if-ы (if condA
or condB) имеет смысл писать отдельными if-ами, чтобы сделать из этого
два ветвления, два statement. Coverage не раз мне показал что одна из
частей этого условия никогда не покрывается, а я ведь был уверен, так
уверен.
Ну и quickfix-подход, а именно Hypothesis библиотека
(http://hypothesis.readthedocs.io/), очень и очень здорово помогает.
Требуется конечно порог вхождения чтобы научиться писать тесты под неё.
Часто приходится возиться с оптимизацией стратегий, так как могут быть
очень медленными, но оно всё стоит того. Мало того что оно просто
помогает писать меньше тестов, так ещё и как небольшой fuzzer работает.
В добавление к предыдущему посту. Пока рассматривал этот свой t скрипт,
увидел что какая-то $N добавляется к директории заметок:
NOTES_DIR=$HOME/.t/$N
Подумал что какая-то опечатка, больше нигде не используется. Но вспомнил
что это я так когда-то собирался делать namespace-ы! Типа T=arbeit t a
(добавить заметку по поводу работы), T=pyderasn t (посмотреть задачи по
pyderasn), итд. Честно: так как забыл что такое было, то и не
использовал, но удивлён что в таком маленьком скрипте нашлось что-то ещё
более фичастое.
Узнал тут про такую программу как Taskwarrior: https://taskwarrior.org/docs/start.html
Выглядит просто и аппетитно и хорошо б если бы я знал про неё раньше,
когда искал себе TODO management программу. Однако, если не нужно
архивирования выполненных TODO (то есть совсем всякие мелочи), то ничто
не сравнится с моей самописной "t": https://git.stargrave.org/cgit.cgi/t.git/tree/t
Судя по copyright, использую её с 2013-го (а то и раньше) года.
Написана и чистом POSIX shell, в качестве БД использует директорию и
файлы. Пользоваться тривиально:
Добавление новых записей:
% t a не забыть обновить домашнюю страницу
% t a купить хлеба
% t a
запустится $EDITOR, после сохранения файла которого он добавится
Просмотр имеющихся:
% t
[0] sshnm guest@foobar (6)
[1] не забыть обновить домашнюю страницу (1)
[2] купить хлеба (1)
[3] черновик записи в блог (10)
Число в квадратных скобках это порядковый номер записи, её текущий
идентификатор (если удалить [2], то [3] станет [2]). Длинные строки
обрезаются. Число в круглых скобках показывает количество строк в
записи.
Запустить редактор для правки записи:
% t m 3
Удалить запись:
% t d 2
Вывести запись в stdout:
% t 2
Всё. Больше эта штука ничего не умеет. Но мне все эти года большего и не
надо. Я *регулярно* ввожу t<CR>. ВСЁ что нужно запомнить и не забыть
сразу же добавляю "t a"-ом. Практически любая статья или заметка которую
временно надо сохранить или всё что угодно проходит через "t", правится,
ну а когда куда-то надо вставить, то в Vim делаю ":r!t XXX". Чтобы
просто в черновиках где-то создать файл с одной-парой строчек, то нужно
ввести vi а дальше путь, что всегда дольше чем "t a". Эта утилитка
наверное чаще чем vi запускается. А главное что ни надо никакого
интерпретатора типа Python, ничего компилировать.
Всё плохо с существующими ASN.1 библиотеками и книгами
https://github.com/andrivet/python-asn1
Эта библиотека является форком другой. Существует давно. Время от
времени в неё что-то коммитится. Но... она некорректно (невалидно)
кодирует отрицательные целые числа. Если её забросили, то почему
всё-равно коммиты продолжают делать? Или не знают о баге?
http://luca.ntop.org/Teaching/Appunti/asn1.html
Эта документация по ASN.1 на которую ссылается сама Go реализация
encoding/asn1. Как минимум, в ней говорится что формат UTCTime может
быть разнообразным и в DER оно вот тоже в куче разных видов. Это ошибка,
обман (в DER возможна запись только в UTC).
Официальную спецификацию ASN.1 DER тоже читать... мягко говоря
непонятно. Или нужно соответствующее образование программерское, но я ни
черта не понял как надо кодировать отрицательные целые числа. Самое
понятное, ясное и простое по действиям я нашёл просто в реализации Go
encoding/asn1. Go это всё-таки неимоверно крутой язык -- его код
читается на раз два. А Python это просто помойка всяких говн (люто
ненавижу)!
pyasn1 библиотека которую мы используем: под Py27 в ней просто не
работает BitString пустой. Были баги с отсутствием сортировки. Ещё
какие-то по мелочам. Но нельзя её так просто было взять и чтобы всё
работало!
Всё в Python мире меня достало по этой теме и поэтому я решил взять и
написать own ASN.1 library with slots and offsets. Об этом уже упоминал
аж месяцы назад в a8fcb1a8b48f5ff1c74551cdcd4a06c57eb93470, но так и не
находилось время на его реализацию до конца (а ведь это надо сделать вне
рабочее время, чтобы компания, не имея прав, не смогла бы его сделать не
свободным).
Typeset in the future: dedicated to fonts in sci-fi
https://typesetinthefuture.com/
Всегда скорее негативно относился к тому как люди заморачиваются с
шрифтами, но на этом сайте провёл уйму времени! Всё-таки зацепило всё
это смотреть и читать, особенно про всякие факты из фильма Чужой, где
напоминают что одна из миссий на Марс провалилась потому-что одна страна
и пару отщепенцев не считают в стандартных системах мер.
http://www.stargrave.org/Links.html
А то там была какая-то мешанина из всего и вся в одной куче. Кроме
разбиения по секциям, добавил ещё всякие блоки на которые подписан.
Сравнение Protobuf, Cap'n'proto, SBE и FlatBuffers сериализации
https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-sbe.html
Статья довольно старая и возможно что-то уже не актуально, но идея иметь
форматы сериализации с нулевым копированием данных это интересно.
Опасно, сложно, но интересно в плане производительности. Понял, читая
её, что XDR формат, так мне нравящийся, выравнивающий всё по 32-бита,
ещё и для ускорения в виде выравненных структур хорошо подходит.
Я работал с Protobuf-ом на Go в Python -- он создаёт реально очень
компактное представление данных и очень быстр (в Python конечно за счёт
C-шных вставок). Плюс самые разнообразные структуры можно запаковать, то
бишь, он не минималистичен.
http://www.opennet.ru/opennews/art.shtml?num=47251
ZIL конечно приятен своим минимализмом, как BSD или MIT, но тяга не
читать лицензии, такие огромные как GNU GPL, приводит к тому, что
появляется очень много софта не copyleft. Что вредит миру СПО. Если
нужна permissive лицензия с учётов патентов, то для этого есть Apache 2.
Ну а Zero не является свободной лицензией -- нарушает нулевую свободу в
терминах определения СПО. Но является открытой -- вот ещё один пример
того что open != free в контексте ПО.
Речь о том, что на практике уже не раз деанонимизировали людей/серверы.
Те, кто могут смотреть за трафиком на глобальном уровне. Про
сопоставление активности исходящей/входящей я на всех своих выступлениях
говорил всегда и подчёркивал что это сделает Tor нерабочим (против
powerful adversary). Что и подтверждается.
Пора, пора, уже давно пора переезжать на что-то куда более
технологичное. Tor это средство обхода блокировок, цензуры, но не
средство анонимизации серверов или людей от powerful adversary.
https://github.com/golang/go/issues/21956
Я могу сказать одно: понабежали хипстеры, которые НИЧЕРТА не могут и
что-то хотят. Не хочу задеть их профессионализм, но они явно не
занимаются ревью кода. Как бы я не не любил Gerrit, но он однозначно
бесспорно существенно лучше интерфейса Github для ревью. GH вообще
толком не предназначен для этого. Хипстеры хотят коммитить, но
совершенно плюют на удобство ревьюверов, за что кстати в Linux Торвальдс
жёстко может послать.
Они говорят что сложно сделать вклад, типа геморройно. Это говорит о том
что сейчас растёт поколение людей которые не просто не умеют
пользоваться git, а которые умеют пользоваться только GH и больше ничем.
Как-то было дело что я отправлял патч в golang.org/x/crypto/blake2b
библиотеку: и чего чего, но уж точно не припомню что бы где-то был
какой-то геморрой, ну кроме Gerrit требующего JS.
ISO отвергает АНБ алгоритмы шифрования Speck и Simon
https://www.schneier.com/blog/archives/2017/09/iso_rejects_nsa.html
Что очень хорошая новость. Когда я впервые узнал про Speck/Simon, то
очень очень напрягся, думав про себя -- неужели это стандартизуют и оно
будет массово использоваться? Я не криптограф нисколько, но очень уж они
выглядят несерьёзно, с точки зрения порога безопасности. Не везде нужен
высочайший порог -- где-то достаточно и слабенького, лишь бы быстрого и
компактного, но ISO настолько это не приемлет.
http://www.darkside.ru/news/96599/
Две клёвые девахи на одной сцене. Lacuna Coil, как группу, я обожаю, но
вот к Epica очень холоден -- уж очень попсовые, но имеющие хорошую
вокалистку. Но не буду же я слушать группу из-за одной неё, как например
из-за текущей вокалистки Arch Enemy?
XZ из коробки умеет понимать сконкатенированные .xz файлы и разжимать их
как один целый поток байт. Это может пригодиться когда у вас данные
итеративно накапливаются и их можно просто присоединить, как например
mbox файл с почтой. Конечно, это ухудшит сжатие, так как будут два
словаря использованы, но если нужно что-то быстро провернуть или
пересжимать заведомо реже, то самое оно.
Когда-то давно, делая бэкапы, столкнулся с тем, что 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
http://darkside.ru/show/9117/
Увидел тут новость что к нам приезжают крутейшие монстры техничного
брутал дет метала из Новой Зеландии: Ulcerate! Кроме того, при поддержке
нижегородцев 7 H.Target, в футболке которых я регулярно хожу.
Вот чего уж точно не ожидал, так это подобного посещения!
Выдержка из анонса:
Тёмный и гнетущий дет-метал, который со временем претерпел ряд
метаморфоз и вобрал в себя всю ярость и напор, выражаемые
музыкантами в сложных звуковых конструкциях, которые вот уже 15 лет
сводят слушателей с ума безумной скоростью ударных и убийственными
гитарными риффами, как дикий хищник беспощадно терзающий свою
добычу.
Популярный эмулятор терминала для macOS сливает приватную информацию
https://gitlab.com/gnachman/iterm2/issues/6050
А именно iTerm2 делает DNS запросы с тем что увидит в выводе своём.
"User experience" почти всегда на противоположной чаше весов с "security".
Я нашла твой профиль В Контакте, а потом и твои сайты. Мы сейчас в
XXX ищем Python developer. Я бы хотела обсудить с тобой это.
Готов пообщаться?
Во-первых, в ВК я даавным давно был зарегистрирован, но не в состоянии
удалить профиль, так как для входа нужно слить им свой сотовый телефон,
а на письма они не отвечают. Профиль там мёртв. Очень паршиво когда
соцсети начинают использовать для спама -- ведь всё это *нежелательная*
корреспонденция, как мне кажется. Если нужно общаться по поводу работы,
то для этого есть специализированные ресурсы со всякими резюме и тому
прочим. Соцсети типа ВК, как мне кажется, это для общения дружеского. Но
да ладно -- меня в соцсетях нет, хотя даже то что осталось даёт о себе знать.
Во-вторых, тут уж без сомнений для меня -- обращаться к совершенно
незнакомому человеку на "ты" это невоспитанно. Я понимаю что возможно
это была попытка сразу перейти на что-то дружественное, подальше от
формализма, но тут перегнута палка. Тем более что работа это вовсе не
место для дружбы (это, конечно же, не исключено, но не является ни
необходимым, ни желательным).
Павел Дуров -- бесстыдный конченный маркетолог с кастрюлями лапши
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 шифрования в том, что пользователю не надо более никому
доверять, никакой третьей стороне или компании, так как протокол
обеспечивает криптографическую гарантию.
https://triplebyte.com/blog/technical-interview-performance-by-editor-os-language
Статистика говорит о том, что если вы сидите в Vim -- ваши шансы пройти
интервью выше всех. Если вы Ruby, то тоже выше. Если вы пользователь
GNU/Linux, то... ну что особо общаться с людьми из мира где массово
стали переходить на systemd, сделав из когда-то неплохих дистрибутивов
аналог Windows? Не прокатит такое на серьёзную работу. Только
BSD-семейство систем, ну... в том числе macOS. Под все эти критерии
кстати идеально подходит Tim Pope -- создатель крутейших и
must-have-нейших плагинов для 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.
Надо мне тут было в одной программе массово переименовать множество
функций/переменных. Делать несколько десятков :%s/whatever/another/, а
потом ещё их и в другом файле применить. Хочется Vim для ввода командной
строки иметь. Почему-то смотрел в сторону command line window: q: -- там
действительно можно заниматься редактированием строки, но нельзя
подготовить несколько и сказать исполнить их все.
Оказалось проблема решается тривиально: скопировав заранее
подготовленный текст, например, в стандартный регистр, просто выполнить:
Заметил серьёзную багу/проблему с Tox-ом (или Toxic-ом): после пропажи
сети и её возврата вновь, не всегда Tox понимает что он в online и
известные ему контакты тоже доступны. Отключился Ethernet на минуту,
подключился вновь, а в течении двух часов после этого он всё-равно так и
не видит что контакты стали online.
Не знаю проблема эта Tox-а (библиоеки) или Toxic (клиента), но
действительно неприятна. Перезапуск клиента конечно же сразу же
показывает контакты в online.
Для продувки компьютеров. На одной из работ видел как идеально чисты
становятся сервера после пары минут воздуходува. Мой не такой мощный,
без баллона, но компактный (в виде чемодана) и поток выдаёт достаточно
мощный для продувки.
http://www.nncpgo.org/Integration.html
А именно то, как можно скачивать Web-сайты/страницы, делать и читать
WARC файлы, скачивать множество файлов с hook-ом на их отправку через
aria2c, работать с Git, а также упомянуть про RSS/Atom и youtube-dl.
git bundle это архив веток/коммитов. Если у вас нет прямого подключения
к серверу с репозиторием, то ветки можно передать через этот
store-and-forward метод. Он специально заточен под использование в
условиях флоппинета. Отдавать полностью склонированный репозиторий на
флешке -- может быть огромный overhead.
Кроме того, git протокол не умеет делать докачку данных. Через bundle
можно сделать репозиторий простым файлов, который уже докачивать как
угодно. Например склонировать репозиторий Linux на не очень каналах --
испытание. Получив bundle, который делается раз в неделю, это сделать
легко, потом, подключив репозиторий, докачать накопившиеся за неделю
коммиты.
https://www.kernel.org/cloning-linux-from-a-bundle.html
Как-то в 682f2a0ad02fdad6b80cb861fdf9d73e530e6e4a писал что, из-за
VPN-ов всяких, начал использовать аккселератор скачивания aria2. Сейчас
пригляделся к нему получле и на данный момент полностью заменил им
rTorrent BitTorrent клиент. Из BT клиентов мне всегда нравился ctorrent
-- чисто выполняет свою функцию на отлично. Но в нём нет поддержки UDP
трэкеров и DHT, а это ну очень хочется иметь. Transmission -- невероятно
прожорлив и вообще не рассматриваю как вариант. А rTorrent с задачей
справляется (ну кроме скачивания eXoDOS коллекции, где у него жёстко в
коде вшито ограничение на максимальный размер торрента), но его TUI
интерфейс мне нравился, тем что он TUI, а не CLI. Конечно есть RPC где
из CLI можно бы было дёргать его, но всё-равно не то. А вот aria2
как-раз ctorrent со всеми фичами и возможностью обслуживать много
торрентов сразу, на одном порту, чего ctorrent тоже не мог (один порт --
один торрент). В rTorrent правда было очень много всякой информации о
подключённых пирах, используемых трэкерах, очередях, но... пока на
данный момент решил пожертвовать. Возможно aria2 полностью заменит
rtorrent -- нужно время для окончательной оценки.
За годы существования людей очень мало и, насколько понимаю, если и было
общение, то только со мной (хотя есть более удобные средства). Не люблю
я мёртвый код, мёртвые сервисы и вообще всё что угодно что не
используется. Если это плагин для Vim/whatever и он не использовался в
течении полугода-года -- точно нафиг нужен и не надо жалеть. Про демонов
точно так же всё -- если не используется, то время затрачиваемое на его
поддержку (хотя... мониторинг работает, goircd не падает, автозапуск
есть, ротация логов автоматическая -- особо то делать ничего и не надо,
кроме обновления сертификатов) не стоит того.
https://lenta.ru/news/2017/09/06/tinkov/
Очень точно он сказал обращаясь к "либералам, школьникам и прочим
любителям Дурова". Контингент очень точно описан. Ещё он умолчал
про его бессовестный лживый трёп про его безопасный MTProto протокол:
позорнейший пример того, что сделают те, кто в криптографии не
разбирается, но хватает бессовестности вешать лапшу на уши о его
безопасности. Впрочем... либералы и школьники закрывают глаза на
неоднократные криптоанализы показывающие убожество Telegram.
https://geektimes.ru/post/292667/
Большая статья, начинающаяся с факта о том, что женщинам, как бы они не
хныкали, гораздо проще находить себе пару и не быть одинокой. Ибо
одинокими они могут быть только из-за чертовски высоких требований.
http://leaden.ru/2017/09/100-hidden-game-mechanics/
Очень интересно почитать про дизайнерские мелочи в играх! Ведь все они
очень влияют на то, понравится ли игра или нет, интересно ли в неё,
увлекательно ли будет играть. Очень круто!
Очень понравилась книга! Больше всего, правда, осело то, что Зоя спит с
тем, кого остальные считают тем ещё уродом моральным, из-за дурости
которого погиб не один человек. Даже там -- женщина с самым мерзким
типом вместе. А достойнейшими мужчинами -- "давай будем друзьями", хотя
они уважительно и заболтиво к ней относятся, в отличии от урода который
чуть ли не стыдится их взаимоотношений.
"Лирику" Сектора Газа попсово перепевают на Дорожном радио
В столовой где обедаю, постоянно включено Дорожное радио. Сегодня
услышал как какая-то попсовая певица что-то очень знакомое пела. Я,
вообще, не слушаю слова песен и предпочитаю чтобы их или не было или
вокал был как в горграйнде -- как ещё один музыкальный инструмент. Но
узнал что песня была "Лирика" Сектора Газа. СГ перепевают на всю страну!
Возможно единственная группа у которой я слушаю слова, помню их, трогают.
Многие ставят СГ на одну полочку с каким-нибудь Ленинградом. Никогда НИ
ОДНОЙ песни Ленинграда не понимал в лучшем случае, удивлялся тупости в
худшем. То, о чём поют Ленинград, говорят, должно трогать каждого
русского -- но вот нет, меня никак. А СГ -- полностью наоборот.
Sergey Matveev [Thu, 31 Aug 2017 08:08:38 +0000 (11:08 +0300)]
НЖМД Пратчетта раздавили катком
https://geektimes.ru/post/292515/
Но на то была его воля. Пратчетт -- великий, для меня, писатель, который
существенно повлиял на мировоззрение и отношение к жизни.
Понравился комментарий:
ТЕРРИ, ГЛЯДИ, ВОТ И ТВОЙ ВИНЧЕСТЕР ПРИШЁЛ. МОЖЕШЬ ТЕПЕРЬ ПРОДОЛЖАТЬ РАБОТУ.
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.
Sergey Matveev [Tue, 29 Aug 2017 18:17:51 +0000 (21:17 +0300)]
Tor заблокировал ...
https://rublacklist.net/31552/
Без разницы кого он заблокировал, но он осуществил в буквальном смысле
цензуру. Таким образом, проект голосит что против цензуры и за свободу
слова, но сам блокирует кому и как можно пользоваться его услугами. Или
я изменился или что-то они даже перестали скрывать своего двуличия.
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 процессоры становятся более юзабельными в плане безопасности.
Sergey Matveev [Mon, 28 Aug 2017 20:38:32 +0000 (23:38 +0300)]
Послушал альбом-soundtrack к Doom (4)
И могу сказать что в кой да веки я слышу ИМЕННО то что должно быть для
игр класса Doom! Лучшее что я когда-либо встречал идеально подходящее
для мясорубилова. Мик Гордон теперь у меня в одном ряду с Марком
Морганом (чья рука узнаётся всегда, где каждый звук его трэков из
Fallout заучены наизусть).
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 -- но они, вроде как, нигде бутылочным горлышком не
являются).
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 очень много уже мёртвых), то будет потерей -- поэтому
привожу сюда её, чтобы локально на жёстком диске перманентно сохранить.
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%).
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.
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 миллионов москвичей (хотя я сам не отношусь к
москвичам) занимаются делом, а не призывами уничтожения, разрушения и
дискредетирования шифропанковских технологий (ну больная у меня эта тема).
Sergey Matveev [Sat, 26 Aug 2017 08:57:24 +0000 (11:57 +0300)]
Проверил свою скорость печати: ~59 WPM
Это я только сел за компьютер, пальцы ещё не разогрелись, но выдаю под
60 WPM английских слов в программе typespeed. Ожидал большего, а тут я
банальный пользователь получаюсь. И ведь это явно существенно быстрее
чем на не тактильной клавиатуре. Но у меня реально есть проблема в виде
наработающих мизинцев -- поэтому все программы где активно нужно
нажимать Ctrl я не использую, в том числе Emacs как одна из них.
Sergey Matveev [Fri, 25 Aug 2017 07:40:39 +0000 (10:40 +0300)]
i2pd не стабилен
После пары недель мониторинга доступности I2P туннелей до своих
ресурсов, убедился что i2pd исправно работает какую-то часть дня,
но потом напрочь отказывается ходить до своих же туннелей.
kill -HUP не помогает. Поэтому пока полностью перезапускаю демон.
Sergey Matveev [Fri, 25 Aug 2017 07:35:31 +0000 (10:35 +0300)]
https://moscow.megafon.ru не работает
А если точнее, то не работает по IPv6, хотя адрес прописан. TLS
устанавливается шустро, а потом соединение после нескольких секунд
рвётся. Вроде бы такая большая компания, но я вот банально из дома
не могу выйти на их сайты, если только не прописать в /etc/hosts
например IPv4 адрес. Позор.
Sergey Matveev [Mon, 21 Aug 2017 18:24:14 +0000 (21:24 +0300)]
Сегодня день Стрибога
http://www.calend.ru/holidays/0/0/1732/
То есть, в том числе, можно считать и нашей современной хэш-функции
ГОСТ Р 34.11-2012 "Стрибог". Если бы пил, то был бы повод :-)!
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 и тому прочее -- немного помогает, но ничто из этого не
находило реальные серьёзные проблемы.
Sergey Matveev [Sun, 20 Aug 2017 16:33:39 +0000 (19:33 +0300)]
Снова мысли о "Летят журавли"
Пораскинув мозгами, изменил мнение о главной героине сабжевого фильма.
Если учесть как ушёл её возлююбленный на фронт -- не оставив ни записки
(которую бы она нашла), не сообщив вменяемого времени встречи для провод,
то у неё действительно не было точной информации о том любит ли он её.
Имею в виду чётко осознанной, а не чувств. Плюс не давал никаких весточек.
Вот и поняла что глупо надеяться непойми на что, тем более рядом уже
есть ухажёр. Так что... не могу уже сказать что она поступила недостойно
или где-то не правильно.
Sergey Matveev [Sat, 19 Aug 2017 23:01:19 +0000 (02:01 +0300)]
Посмотрел "Летят журавли"
Смотря его, вспоминал как ехал в маршрутке и парень разговаривал по
сотовому телефону со своей (уже, очевидно, бывшей) девушкой о том как
она, дрянь, не дождалась его из армии. У нас служат ведь всего год, но
сколько вон не дожидаются.
Ближе к концу института, когда тоже надо было думать об армии, моя
бывшая мне долго думая отвечала что "не знает" дождётся ли, если бы
ушёл. То есть, априори, уже знала что нет, типа вряд ли.
И ладно бы не дожидаются сейчас -- войны у нас явной нет для
призывников, большинство спокойно служат, без каких-либо возможностей
погеройствовать.
Но вот в фильме я думал будет, как-раз, речь про то как главная героиня
будет дожидаться своего жениха. Который не пытался искать и использовать
бронь, а пошёл защищать свою Родину. И всё-равно: ушла к другому... И
никто её не заставлял -- сучка не захочет, кобель не вскочит. Вот ведь
всё верно в сцене в госпитале сказали о таких как она -- когда там
раненый узнал что его любовь ушла тоже к другому.
Хорошо, возможно она пожалела об этом, кусает себе локти каждый день.
Судя по фильму, действительно надеется, но всё-равно продолжает жить
рядом с крайне нехорошим человеком. Возможно поодиночке просто не выжить
в то время то и, поэтому, это просто рациональный здравый поступок.
Счастливым концом я считаю можно считать то, что главный герой погиб не
зная что его предал человек, фотографию которого он носил с собой каждый
день рядом с сердцем. Ну и факт того, что женщины в общем и целом и
более чем полвека назад кардинально не отличались от того что есть
сейчас.
Ну и не могу не заметить как же красива главная героиня! В каждом кадре
налюбоваться не мог.
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+, так как есть проекты
в которых я не против включения этих библиотек.
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. БОльшая часть перечисленного мною
используется до сих пор.
> 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.
Я с ним полностью солидарен и аргумент, так часто навязываемый, "запусти
это проприетарное ПО под виртуалкой" является плохим.
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 части. Автор говорит что третья уже не
та, но мне она всё-равно очень нравится. А вот четвёртая действительно
фигова -- я забросил её, так как за часы игры ну вообще нет удовольствия.
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 с
нейтрально-немного-положительного, на негативное.
Sergey Matveev [Thu, 10 Aug 2017 19:24:49 +0000 (22:24 +0300)]
В lenta.ru исчезла проверка орфографии
Я подписан на их RSS. Мой глаз существенно лучше многих других замечает
опечатки и орфографические ошибки в тексте. Годами (!) я отмечал что не
замечаю недочётов на сабжевом ресурсе. Уже второй день подряд натыкаюсь
на опечатки. Что-то у них явно произошло. Это недостойно такого ресурса.
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.
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 систем.