]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
7 years agoElectron и блобы
Sergey Matveev [Sat, 30 Dec 2017 10:07:57 +0000 (13:07 +0300)]
Electron и блобы

https://github.com/electron/electron/blob/master/docs/tutorial/application-distribution.md

    Для распространения ваших Electron приложений, вам нужно скачать
    кем-то собранные бинарники Electron.

Ага, зашибись. А во время сборки https://github.com/electron/electron/blob/master/script/bootstrap.py
модуль ещё и сам полезет в Интернет скачивать вам ещё тоже какие-то бинари.

По моему, мир сошёл с ума если пипл хавает всё это. Electron -- ладно,
поделие корпораций которые создают весь тот ад что есть в web-броузерах.
Но в 7813d0d8d3edaf7ba4344bc5706ffae33c8e3461 я писал что и Rust в эти
же дебри полез. Хотя проект https://github.com/thepowersgang/mrustc
показывает что можно написать, даже не будучи самим разработчиком Rust,
C++ bootstrap для него. Просто это лень и пофигизм Rust, ведь пипл
хавает же.

7 years agoЗарелизил NNCP 2.0
Sergey Matveev [Sat, 30 Dec 2017 10:04:09 +0000 (13:04 +0300)]
Зарелизил NNCP 2.0

https://lists.cypherpunks.ru/pipermail/nncp-devel/2017-December/000063.html
В этой версии я заменил Twofish алгоритм на ChaCha20, существенно
увеличивая пропускную способность шифрования. Кроме того, HKDF заменил
на BLAKE2X XOF. Всё это, кроме ускорения, убирает две зависимости
исходного кода.

Получилось что вообще вся криптография, так или иначе, в NNCP растёт от
Бернштейна. Noise протокол использует ChaCha20 + Poly1305 (чисто
Бернштейновские). BLAKE2 основан на BLAKE, который, в свою очередь, тоже
Бернштейна и основан на ChaCha20. BLAKE2X основан на BLAKE2 и
практически идентичен ему.

С этими шифрами я теперь на своём ноутбуке упираюсь не в CPU при
передаче файлов, а в SSD/ZFS.

7 years agoВозможность разрабатывать Rust
Sergey Matveev [Fri, 29 Dec 2017 23:21:35 +0000 (02:21 +0300)]
Возможность разрабатывать Rust

Решил я тут посмотреть на Rust язык. Посмотрел, посмотрел, но потом
узнал что компилятор Rust собирается только если он из Интернета скачает
неизвестно и непойми как собранный какой-то бинарь. То есть, я должен
скачать какой-то тайно собранный закрытый код чтобы попрограммировать на
этом языке. Безусловно не вариант. Я прочёл про OCaml, про то, что
каждая сборка (чуть ли не каждый последующий коммит) требуют предыдущей
версии -- ok, понимаю, но пусть объяснят как я могу с нуля воссоздать
Rust. Пускай авторы расскажут как же они получают свои stage0 bootstrap
бинари. Ни о каком доверии к этим людям, при подобном отношении, быть не
может в принципе.

Однако есть проект https://github.com/thepowersgang/mrustc в котором
нашлись-таки вменяемые кто пишет хоть какую-то минималистичную версию
Rust чтобы хотя бы можно было бы использовать её для bootstrap-а.
На https://www.reddit.com/r/rust/comments/7lu6di/mrustc_alternate_rust_compiler_in_c_now_broken/
говорят что кто-то на GNU/Linux системах уже в состоянии собирать
оригинальный Rust без бинарных блобов и даже некоторые объектные файлы
stageing-а получает бинарно идентичные. На FreeBSD не собирается. Так
что вообще возможность хотя бы смотреть в сторону этого языка зависит
только от mrustc проекта.

7 years agoСтиль общения Линуса и Грега
Sergey Matveev [Fri, 29 Dec 2017 17:27:56 +0000 (20:27 +0300)]
Стиль общения Линуса и Грега

https://habrahabr.ru/post/345846/
Забавная статья, где просто проанализировали стили общения двух
крупнейших разработчиков/руководителей Linux. Торвальдс конечно славится
своей руганью, но вот то что в его лексиконе слова "спасибо" практически
нет было любопытно. Ну и ругательные слова он ух как любит повторять :-)

7 years agoПрочитал "Семиевие" Нила Стивенсона
Sergey Matveev [Thu, 28 Dec 2017 19:34:59 +0000 (22:34 +0300)]
Прочитал "Семиевие" Нила Стивенсона

Книга очень понравилась! Луна ВНЕЗАПНО взрывается и делится на кучу
частей, дробящихся на камни, которые через пару лет покроют всю Землю
уничтожив практически всё живое, испарив влагу и расширив атмосферу от
нагрева. За эти годы в космос отправляют пару тысяч людей с кучей
оборудования чтобы они попытались спастись от армагеддона. Всегда
найдётся американец, да ещё и женщина, который без спроса припрётся и
будет сеять хаос и разруху сеянием своей демократии -- в итоге и так
немногочисленное человечество делится на два лагеря. Как-то выживают,
притаскивают ядерные реакторы и ядра ледяных комет -- чтобы было и
топливо и вода. Обустраиваются в одном из лунных осколков, защищаясь от
губительной радиации, летающих камней и приобретая массу железа. В живых
остаются семь женщин (Ев), которые, благодаря генной инженерии и
биологии самостоятельно беременеют (говорят, что так действительно
можно) и делают правки в генах. Каждая женщина сама решает какие правки
вносить и каждая очень не похожа на других. Затем книга переносит на
пять тысяч лет вперёд, где население уже многомиллионное и состоит из
семи рас ОЧЕНЬ непохожих друг на друга. Технические достижения очень
круты -- все живут на орбите в роскошных комфортных просторных станциях.
Бомбят планету ледяными кометами и всякой живностью, чтобы побыстрее
появилось много воды и расплодилась жизнь. Начинают высаживаться на
поверхность, исследовать, но, обнаруживается, что кое кто из землян всё
же выжил под землёй. Возникает лютая вражда. А потом ещё обнаруживается
что и под водой часть людей выжило, существенно трансформировавшись.

7 years agoЛогично ли, что Google отклонил кандидатуру автора Homebrew за неумение инвертировать...
Sergey Matveev [Thu, 28 Dec 2017 08:08:46 +0000 (11:08 +0300)]
Логично ли, что Google отклонил кандидатуру автора Homebrew за неумение инвертировать бинарные деревья?

https://habrahabr.ru/post/345756/

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

7 years agoasync_destroy в ZFS
Sergey Matveev [Tue, 26 Dec 2017 17:53:04 +0000 (20:53 +0300)]
async_destroy в ZFS

https://www.delphix.com/blog/delphix-engineering/performance-zfs-destroy
Сегодня на рабочей машине удалил zfs destroy-ем ZVOL на 200 GB. Команда
вернула управление быстро, но я видел что минут 20 жёсткий диск трещал,
была активность и zfs list показывал что всё это время свободное место
постепенно увеличивалось. То есть, процесс удаления был очень долгим.

В поисковике нашёл статью которая как-раз про это и рассказывает. У меня
сработало асинхронное удаление -- фича pool-а. Из-за CoW природы быстро
освободить место занятое 4-8 KiB блоками -- задача затратная по IO
транзакциям и её ZFS может выполнять в фоне. Это ещё можно использовать
для того чтобы удалять большие директории -- обычный rm -r будет до
конца ждать когда всё отработает.

7 years agozsh и Vi-режим
Sergey Matveev [Tue, 26 Dec 2017 05:43:44 +0000 (08:43 +0300)]
zsh и Vi-режим

Больше года назад в b989cff6eaae04112306381d6264225b14a77e7b начал
использовать Vi-режим командной строки в zsh. Во-первых, нигде его не
сменил. Во-вторых ни разу не пожалел. В-третьих, когда логинюсь на
всякие удалённые сервера, понимаю как часто я его использую для
редактирования строки. Вижу как многое бы можно было бы сделать
эффективнее с ним, когда смотрю на работу в командной строке коллег.
Мне он очень удобен!

7 years agoIosevka шрифты
Sergey Matveev [Mon, 25 Dec 2017 19:02:37 +0000 (22:02 +0300)]
Iosevka шрифты

https://github.com/be5invis/Iosevka
Сегодня у коллег увидел сей шрифт и попробовал сам. Возможно прям лучший
что я встречал! Я совсем не эстет, но придираюсь к плохо различимым
"1IlLi" всяким. Тут всё отлично, плюс здоровские скобочки.

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

Но шрифт действительно отличнейший! Худший что я видел это тот, который
когда-то стал по-умолчанию в Ubuntu -- абсолютно неотличимые "il"
всякие: просто поражался как такое могли вставить по-умолчанию и как оно
вообще кому-то юзабельно?

7 years agoУжасы syscall-ов в Linux
Sergey Matveev [Mon, 25 Dec 2017 08:06:00 +0000 (11:06 +0300)]
Ужасы syscall-ов в Linux

https://www.cloudatomiclab.com/antisyscall/
Давно и всё больше буду называть Linux -- помойкой кода.
Никакой эстетики, красоты, аккуратности и простоы.

7 years agoPyGOST 3.7
Sergey Matveev [Sun, 24 Dec 2017 11:21:26 +0000 (14:21 +0300)]
PyGOST 3.7

https://lists.cypherpunks.ru/pipermail/gost/2017-December/000100.html
Зарелизил новую версию PyGOST. Alexander Lodin нашёл багу в 34.13 OFB
режиме: https://lists.cypherpunks.ru/pipermail/gost/2017-December/000096.html

7 years agogohpenc
Sergey Matveev [Sat, 23 Dec 2017 20:45:18 +0000 (23:45 +0300)]
gohpenc

В 89274b537e23da52cf13f39e07fa1837b8ce6d3c я писал об утилите hpenc:
https://github.com/vstakhov/hpenc
высокопроизводительной утилите для шифрования с PSK ключом. Но в ней
проблемы: не собирается/не работает на ряде платформ (aarch64, sparc64),
что не гоже, а главное она выдаёт разный результат на FreeBSD и
HardenedBSD, делая бесполезной в моих домашних условиях где половина
компьютером с Free, а половина с Hardened.

И вот за пару часов написал её, как и хотел две недели назад:
https://git.cypherpunks.ru/cgit.cgi/gohpenc.git/tree/README

Совместимости никакой с hpenc нет. Нет метаданных, только
ChaCha20-Poly1305 алгоритм, нет режима генерирования рандома, более
простая (но и немного более дорогая) выработка ключей для блоков.
Впервые кстати заиспользовал XOF (как KDF) и authenticated data в AEAD
режиме. Распараллеливание, константное использование заранее выделенной
памяти, буферизованное чтение.

В итоге на моей Celeron-машине оно занимает два ядра и способно
пропускать 130-140 MiB/sec данных (размер блока в мегабайт). Собственно,
что мне и нужно было, но только работающее, в отличии от hpenc.

7 years agoБард -- философа киберпространства
Sergey Matveev [Sat, 23 Dec 2017 09:09:28 +0000 (12:09 +0300)]
Бард -- философа киберпространства

https://roskomsvoboda.org/13852/
Так как музыку я люблю, то имя Александра Барда у меня сразу вызывает
ассоциацию с Army Of Lovers и Vacuum. Но вот я очень удивился что в этой
статье буквально тот же самый Бард фигурирует. Оказалось что он не
только в теме музыки, но вот ещё и "филисоф киберпространства" и всякие
книги пишет.

7 years agoМэтью Грин об Extended Random и лазейках в криптопротоколах
Sergey Matveev [Wed, 20 Dec 2017 08:13:54 +0000 (11:13 +0300)]
Мэтью Грин об Extended Random и лазейках в криптопротоколах

https://blog.cryptographyengineering.com/2017/12/19/the-strange-story-of-extended-random/
Замечательная статья (как и все у Мэтью) об Dual EC DRBG, RSA, BSAFE,
лазейках, Extended Random расширении и том как США очень пытается и
хочет протолкнуть лазейки в криптографические алгоритмы и протоколы.
А главное что оно действительно задействовано и работает на практике
в различных продуктах.

7 years agoScummVM 2.0!
Sergey Matveev [Sun, 17 Dec 2017 19:16:47 +0000 (22:16 +0300)]
ScummVM 2.0!

Вышел новый релиз эмулятора различных квестовых игр:
http://www.scummvm.org/news/20171217/
Я помню что когда-то немного играл в Полную Трубу (Full Pipe),
где клёвые персонажи. Тут вот её поддержка появилась в этой
новой версии.

7 years agoШесть минут Google, Apple, Facebook, Microsoft, Twitch, NTT трафик шёл через РФ
Sergey Matveev [Wed, 13 Dec 2017 08:34:06 +0000 (11:34 +0300)]
Шесть минут Google, Apple, Facebook, Microsoft, Twitch, NTT трафик шёл через РФ

https://bgpmon.net/popular-destinations-rerouted-to-russia/

7 years agoПервая леди Интернета
Sergey Matveev [Wed, 13 Dec 2017 08:31:03 +0000 (11:31 +0300)]
Первая леди Интернета

https://geektimes.ru/company/nag/blog/296401/
Не очень правда понятно почему именно Интернета, ведь работа с
изображениями не связано с передачей данных в общем-то, но её
действительно наверное каждый ИТ-шник знает. Но в статье не
отмечено что доооолгие годы сама эта Лена не подозревала что
её изображение популярно в наших кругах.

7 years agoСпросили как-то про моё мнение о ProtonMail
Sergey Matveev [Wed, 13 Dec 2017 06:31:59 +0000 (09:31 +0300)]
Спросили как-то про моё мнение о ProtonMail

https://en.wikipedia.org/wiki/Protonmail
А я с ходу и не знал что ответить.

Во-первых, не понимаю чего сравнивать почтовых провайдеров между собой.
Их задача это принять от пользователя набор байт, сохранить, ждать когда
следующий сервер в цепочке получателей будет доступен и передать ему эти
байты. И так до момента когда оно свалится в почтовый ящик получателя.
Если что-то из этого не выполняется -- это не работающая почта.
ProtonMail, как например и Gmail -- работает и свою основную функцию
выполняет.

Во-вторых, если хочется безопасности, а именно аутентификации
пользователя, проверку целостности и конфиденциальность корреспонденции,
то тут придумывать нечего и достаточно (я бы сказал нужно) использовать
OpenPGP. Чем OpenPGP может не угодить пользователям? Да ничем, кроме как
отсутствием PFS. Но PFS нужен не каждому и не всегда. Плюс PFS не всегда
технически вообще выполним, особенно в store-and-forward среде email где
нет интерактивных сессий между абонентами.

ProtonMail, говорит Wikipedia, делает в броузере на JS этот самый
OpenPGP. Криптография (серьёзная, а не просто хэшики посчитать) на JS:
никто всерьёз о таком не будет думать и рассматривать этот вариант
невозможно, если мы говорим о чём-то серьёзном, а не передаче котиков
или сообщений Telegram. Для безопасной почты *нужно* использовать
сторонний софт -- в броузере эта задача (ну кроме как использованием
внешних PKCS#11/OpenPGP криптоключей) невыполнима. Поэтому то, что
предлагает ProtonMail -- фуфло, лапша на уши, marketing bullshit, к
безопасности отношения не имеет. Решение для почты это использование
OpenPGP. А его без разницы с каким email-провайдером использовать.

Кроме того, это даже наоборот только существенно вредит. До ProtonMail,
грубо говоря, я, видя OpenPGP с другой стороны, спокоен и уверен что с
этим человеком можно переписываться нормально. А с ProtonMail я вижу
OpenPGP и не знаю -- в нормальном ли он софте реализован или это JS в
броузере. Теперь с ним я просто уже не уверен, мне страшно и не
безопасно. Из-за OpenPGP в JS совершенно невозможно оценить риски. Если
бы оно громко везде кричало и предупреждало что это не просто OpenPGP
вменяемо созданное сообщение, а софт на JS в броузере, то это было бы
получше -- тогда можно было бы сказать что в таком раскладе не будешь
общаться с человеком и будешь ждать пока он не установит себе нормальную
реализацию. Кому нужна безопасность (конфиденциальность, целостность,
аутентичность), тот будет использовать нормальную реализацию, а кому она
не важна -- какой толк от кода на JS ProtonMail?

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

Wikipedia подчёркивает как они активно используют HTTPS и TLS. Если речь
про безопасность, то тут только об end-to-end можно думать. TLS/HTTPS
роли не играет.

Резюмируя: как store-and-forward провайдер почему бы и не использовать
его -- таких сотни и все более менее справляются с этой задачей.
Касательно всего что они воротят якобы связанное с безопасностью --
marketing bullshit, так как кому она важна, тот в любом случае будет
использовать OpenPGP (или что-то с PFS-ом например). Их поддержка
OpenPGP только вредит тем, что стало сложнее оценивать риски, не принося
никакой реальной пользы.

7 years ago(почти) Прошедший год
Sergey Matveev [Mon, 11 Dec 2017 09:30:03 +0000 (12:30 +0300)]
(почти) Прошедший год

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

* Съехал от родителей в собственную квартиру. Вот уж почти год как живу
  один. Это здорово, свобода! Вот только готовка еды напрягает, не
  нравится, но деваться некуда. Добираться до работы стало даже удобнее
  -- транспорт от ВДНХ прямо до подъезда моего идёт по выделенной полосе.
* Я стал большим и жирным как никогда -- появился, как его называют,
  авторитетик. На два размера поправился. Помню, что когда меня бросила
  любимая девушка, то я набрал более 10кг. А тут съехал и стал жить один
  -- вот и ещё прибавка в весе, хотя вроде особо ничего типа fast-food
  не ем. Нервы, похоже, всё сжигали.
* В этом году стукнуло 30 лет. Для меня это всегда считался
  возраст-граница между тем когда ты молодой и готовишь себе фундамент
  для дальнейшей жизни и между тем когда ты дядька, его использующий. До
  30 лет всё основное должно быть сделано, построено -- надо найти
  достойную работу, надо отучиться (это первым делом), надо бы
  остепениться от родителей (съём квартиры считаю полумерой), завести
  семью. Получить образование и остепениться успел. С работой, как мне
  кажется, всё получилось на ура -- со школы хотел работать примерно в
  таком месте и вот я на нём, вроде бы начальство удовлетворено.
  Профессиональную репутацию имею положительную. Но семью завести не то
  что не получилось, а вообще стало без вариантов. Заинтересовать
  девушек абсолютно нечем -- очень я однобок, скучен, кроме как о работе
  поговорить не о чем. Кроме того упрям, не даю права на ошибку и не
  умею прощать. Максимум что за последние 6 лет получалось -- это
  договориться об одном свидании, после которого общение (с её стороны)
  заканчивается. Если же происходила переписка, то она всегда внезапно
  со стороны девушки прекращалась, просто молчание и точка.
* Поменялось отношение к сети Tor. Раньше я был не то что поклонником,
  но тем кто её бы мог посоветовать и тот кто поддерживал одну из
  выходных нод (относительно регулярно общаясь с полицией) почти пять
  лет. Сейчас я противник и воспринимаю её исключительно как средство
  США для пропаганды, для сеяния своей дезинформации/лжи/мнений минуя
  цензуры враждебных им государств.
* Сбылось желание о приобретении ленточного накопителя. Сейчас дома у
  меня наверное все виды накопителей информации есть, кроме
  магнитооптических дисков -- ну они уж просто вымерли.
* В этом году написал свой самый любимый проект: NNCP, который вовсю
  использую. Народу он правда как-то мало интересен и ни одного человека
  лично не знаю кто бы его использовал. Ну и ладно :-)
* Написал PyDERASN который на работе заменил все библиотеки работы с
  ASN.1. Половину всего времени отпусков на него потратил стоя за столом
  с утра до вечера, выходя только за пополнением запасов еды. Но я
  доволен результатом, как минимум тем, что практически ничего с момента
  релиза не правилось -- косяков не было серьёзных
* Стал сертифицированным SAGE по IPv6 от HurricaneElectric.
* Пересел на HardenedBSD.
* Закрыл boycottdocker.org. Хватит троллить людей. Троллинг это плохо,
  и, как оказалось, просто. Но сколько же я гневных писем получил! Ух!

7 years agohpenc
Sergey Matveev [Sun, 10 Dec 2017 15:08:10 +0000 (18:08 +0300)]
hpenc

https://github.com/vstakhov/hpenc/
Мой простенький компьютер для бэкапов имеет очень медленный процессор. А
записывать на ленты и передавать данные по сети хочется в зашифрованном
виде и с проверкой целостности. Быстрый поиск в поисковике дал hpenc
проект. Именно то что надо. Быстрый современный аутентифицированный
шифр, PSK, многопоточность, разные размеры блоков. openssl enc -- не
аутентифицирован. GnuPG не имеет Salsa/ChaCha/Poly/AES-GCM. OpenSSH
однопоточен. hpenc выглядит идеалом.

Но... на практике попробовав обломался. В C++ я мало чего понимаю и не
знаю как легко выяснить и понять проблему, но hpenc между FreeBSD и
HardenedBSD сборкой может обработать только 8192 блоков. У меня четыре
машины сейчас: две с FreeBSD, две с HardenedBSD. F<->F и H<->H работают
без проблем. F<->H ровно после 8192 блоков (размер блока варьирую --
результат один) вылетает с сообщением о том, что verification failed.
Версия софта, порта -- точно такие же. FreeBSD на Xeon-ах, последняя
стабильная. HardenedBSD последняя стабильная на одной машине (Celeon
весь из себя урезанный) и годовалой давности на другой (Core i5 SkyLake)
(но между собой они работают). Более того, я собрал пакет на HardenedBSD
и его, точно такой же, поставил на FreeBSD -- результат один.

Кроме того, лично меня это не касается, но в портах отмечено что оно не
будет собираться/работать на ARM64 и PowerPC64. У меня мысли написать
примерно такую же утилиту на Go. ChaCha20/Poly1305 там оптимизированы, с
ассемблером под amd64, так что должны быть не намного медленнее C-шной
реализации. Зато, как минимум, будет поддерживать большее количество
платформ и уж работать без проблем с 8192 блоками.

7 years agoСтатья: ZFS mirror/RAIDZ vs mdadm
Sergey Matveev [Sun, 10 Dec 2017 11:38:19 +0000 (14:38 +0300)]
Статья: ZFS mirror/RAIDZ vs mdadm

https://habrahabr.ru/post/344204/
Во-первых, если автору нужна только производительность и ничего кроме,
то действительно можно мериться скоростями. Но ZFS это штука которая
гарантирует целостность данных -- тогда как mdadm при нештатных
падениях и вылетов дисков (я про write hole) будет плачевен. Если нужна
надёжность и целостность, то mdadm вообще не вариант рассматривать и с
чем-либо сравнивать.

Во-вторых, даже я заметил что все тесты проходят на размерах записей
по-умолчанию: 128 KiB. Тогда как тесты вовсю используют 4 KiB блоки.
Автор, судя по комментариям, не очень считает нужным и штатным менять
recordsize, что в корне не верно. Это одна из основных и главных
настроек влияющая на производительность (особенно RAIDZ) и которая на
практике под определённые dataset-ы нужным образом настраивается. Ну и,
судя по комментариям, возможно он не корректно выставил и размер блока и
не отключил prefetch, что тоже не в лучшую сторону сыграет.

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

7 years agoПостараюсь больше не брать дешёвые блоки питания для ПК
Sergey Matveev [Sat, 9 Dec 2017 18:16:54 +0000 (21:16 +0300)]
Постараюсь больше не брать дешёвые блоки питания для ПК

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

Методом научного тыка и исключения стало понятно что не ладное с
питанием до стримера. Ну я корпус с блоком вместе приобрёл, практически
самые дешёвые что были. Сегодня в нём поменял блок на старый что имелся
под диваном с переходниками для SATA питания. Проблемы решены. Видимо,
дешёвенький блок никак не ожидал что то, что нацелено для подключения
жёстких дисков, будет жрать в разы больше энергии (стример и греется
нехило).

7 years agoCisco о legacy/acceptable криптографических алгоритмах
Sergey Matveev [Sat, 9 Dec 2017 11:32:45 +0000 (14:32 +0300)]
Cisco о legacy/acceptable криптографических алгоритмах

https://www.cisco.com/c/en/us/about/security-center/next-generation-cryptography.html
Таблица где показано какие алгоритмы использовать нельзя, какие
устаревшие, но ещё допустимые в крайнем случае к использованию, какие
желательны. Моё мнение со всем совпадает что там указано. Не пурга, не
marketing bullshit.

7 years agoПрочитал "Солярис" Станислава Лема
Sergey Matveev [Sat, 9 Dec 2017 10:12:38 +0000 (13:12 +0300)]
Прочитал "Солярис" Станислава Лема

Действительно заслуженно отличная книга! Фильм был ужасно скучный и
поэтому книгу ну вот никак не хотел читать раньше, потому что уже
неприятная ассоциация была. Но эта книга куда лучше! Перед Солярисом
прочитал несколько томов сборников всякой фантастики, и ни в какое
сравнение там не шло с ним -- аж станции метро пропускал свои, как
затягивает.

7 years agoИнтернет РФ -- одна из наиболее автономных замкнутых систем в Европе
Sergey Matveev [Fri, 8 Dec 2017 05:28:53 +0000 (08:28 +0300)]
Интернет РФ -- одна из наиболее автономных замкнутых систем в Европе

https://victor-sudakov.livejournal.com/400689.html
Если коротко, то российский сегмент Интернета очень автономен и мало
гоняет трафик через внешние узлы. Это говорит о хороших настройках
маршрутизации и автономности. Лично меня это радует -- у нас думают
и парятся о безопасности.

7 years agolibsodium: как я расшифровал сообщение без закрытого ключа
Sergey Matveev [Thu, 7 Dec 2017 21:51:19 +0000 (00:51 +0300)]
libsodium: как я расшифровал сообщение без закрытого ключа

https://habrahabr.ru/post/311726/
Статья меня прям удивила! Хочется делать palm-face снова и снова. Автор
признаёт и понимает что допустил недопустимое потому-что просто не читал
документацию, но мне искренне страшно что люди берутся что-то делать
криптографическое ДАЖЕ не читая что они вообще используют и делают.
Интересно, а есть ли какая-нибудь фобия которая вызывает дичайшее
потоотделение и панический страх перед чем-либо где неизвестно кем и как
реализована крипта? Потому-что если подобное куда-то просасывается...
армагеддон уже близко, всем хана.

7 years agoОчередное доказательство бесполезности Ethereum
Sergey Matveev [Thu, 7 Dec 2017 18:53:47 +0000 (21:53 +0300)]
Очередное доказательство бесполезности Ethereum

https://tproger.ru/news/ethereum-users-ask-to-pause-cryptokitties/
Ну вот скажите: кому нужна система которая не может прокормить и
обеспечить котиков? В IRC нельзя вот передать картинку котика --
IRC полностью заменился WhatsApp и Telegram, изначально заточенных под
передачу котиков (что очевидно видно из криптографической безопасности
Telegram протокола). И так про любую технологию. Я не любитель ни
котиков, ни в жизни кошек (я собачник), но конкретно тут blockchain
технология выглядит интересно.

7 years agoТео Де Раадт о Linux разработчиках
Sergey Matveev [Thu, 7 Dec 2017 06:01:07 +0000 (09:01 +0300)]
Тео Де Раадт о Linux разработчиках

https://lwn.net/Articles/288299/

    [...]
    The Linux developers are selfish dickheads who have exactly the same
    monopolistic mindset as Microsoft -- who also signs NDAs with
    vendors. I see nothing different about their processes.  They want
    an advantage.
    [...]

Он прав. И даже если не про Linux вспомнить, то про systemd и
высказывания Поттеринга -- они грёбаные монополисты с американским
мышлением.

7 years agoAnti Web design manifesto
Sergey Matveev [Mon, 4 Dec 2017 19:33:25 +0000 (22:33 +0300)]
Anti Web design manifesto

http://brandon.invergo.net/news/2013-03-10-Anti-web-design-Manifesto.html
Отличный манифест описывающий проблему современного Web-а! Вот именно
ему каждый сайт и должен следовать -- а иначе в помойку.
* переопределяемые CSS
* никаких сриптов на стороне клиента
* никаких проприетарных плагинов
* никакой рекламы
* никаких фреймов, многоколоночных элементов и прочей бурды
* никаких нестандартных шрифтов
* никакой слежки
* никакой не обязательной пагинации
* никаких злоупотреблений по учётным записям

Мои сайты следуют всем этим пунктам.

7 years agoКриптовалюты мало имеют отношения к криптографии и "крипте"
Sergey Matveev [Mon, 4 Dec 2017 17:59:02 +0000 (20:59 +0300)]
Криптовалюты мало имеют отношения к криптографии и "крипте"

https://www.schneier.com/blog/archives/2017/12/crypto_is_being.html
Что я так не раз говорил что меня эти штуки не интересуют, потому-что
никакого отношения к настоящей криптографии не имеют, что вот и Брюс
Шнайер с Мэтью Грином подтверждают.

Вообще шокирован узнать что люди где-то используют "crypto" для
криптовалют.

7 years agoНовый релиз на работе: Назидательная неясыть
Sergey Matveev [Mon, 4 Dec 2017 15:50:51 +0000 (18:50 +0300)]
Новый релиз на работе: Назидательная неясыть

7 years agoЗарелизил NNCP 1.0
Sergey Matveev [Sat, 2 Dec 2017 16:30:53 +0000 (19:30 +0300)]
Зарелизил NNCP 1.0

https://news.ycombinator.com/item?id=15832615
https://lists.cypherpunks.ru/pipermail/nncp-devel/2017-December/000061.html
Долго он у меня лежал в разработке, но вот выложил.

Это мажорная версия, потому что формат зашифрованных пакетов чуть-чуть
поменялся: добавилось поле получателя. Это было необходимо для
nncp-bundle команды и выцыпления зашифрованных пакетов из потоков байт.

Главная фишка нового релиза это появление команды nncp-bundle. Если
раньше в offline методе обмена данными необходимо было использовать
накопители где есть файловые системы, то теперь можно использовать всё
что угодно где можно просто сохранить потоком набор байт. nncp-xfer
требовал оперирования с директориями и файлами. bundle позволяет:

* записать на компакт-диск пакеты для отправки без создания
  промежуточного ISO образа (или директории для nncp-xfer который его
  подготовит). Указываете кому надо отправить имеющиеся пакеты и в
  stdout nncp-bundle выплюнет то, что можно сразу отправить на запись.
  Аналогично и прочитать можно с диска dd-ой и отправить в nncp-bundle
* записать на флешку/диск пакеты для отправки без создания файловой
  системы. ФС между разными компьютерами это большой геморрой -- права
  доступа, совместимость ФС. Единственная ФС которая работает на Windows
  и BSD/GNU системах из коробки это FAT32. Для записи на которую нужно
  помнить о создании chunked файлов небольшого размера (на FAT32 нельзя
  писать большие файлы)
* записать/принять данные на ленту (магнитную). Причём постоянно на неё
  добавлять дополнительные bundle. Раньше пришлось бы создавать
  nncp-xfer-ом промежуточную директорию и её tarball-ом слать на ленту
* рассылать пакеты по однонаправленным broadcast каналам. Постоянно
  слушать nncp-bundle -rx входящий трафик чтобы услышать пакеты для себя

Сам по себе выхлоп nncp-bundle это tar (pax) архив, структура внутри
которого полностью идентична директориям создаваемым nncp-xfer. Это
делалось не специально, но получился приятный бонус -- обработать
принятый bundle можно и старой доброй nncp-xfer командой (с созданием
промежуточной директории). Так же как и создать bundle можно просто
заархивировав nncp-xfer обработанную директорию.

Также появилась возможность создания state-а в spool директории. Очень
не хотелось делать подобного, но пришлось. Допустим мы приняли большую
ёмкую ленту с кучей пакетов для нас. За раз наша spool директория не
может вместить все зашифрованные пакеты с ленты. Можно сделать в
несколько проходов: натравливаем nncp-bundle -rx и принимаем пока
хватает места. Дальше делаем nncp-toss -seen, который для каждого
обработанного пакета создаст PKT.seen файл. Снова натравливаем
nncp-bundle -rx, но он, видя .seen файлы, будет их игнорировать и
записывать в spool только ещё не обработанные.

Плюс nncp-rm команда может удалять временные файлы, .lock, .seen, .part
(частично принятые), а также очищать очереди. На практике довольно
регулярно приходится что-то подчищать, используя find -delete. Теперь
таких ручных действий не надо.

7 years agoI bang
Sergey Matveev [Fri, 1 Dec 2017 11:02:15 +0000 (14:02 +0300)]
I bang
You bang
He bangs
 #!s

7 years agoGit планирует переезжать на более сильный хэш
Sergey Matveev [Thu, 30 Nov 2017 21:25:18 +0000 (00:25 +0300)]
Git планирует переезжать на более сильный хэш

https://github.com/git/git/blob/master/Documentation/technical/hash-function-transition.txt
Молодцы! Это очень надо.

7 years agoMajor Parkinson -- Blackbox альбом
Sergey Matveev [Wed, 29 Nov 2017 20:44:10 +0000 (23:44 +0300)]
Major Parkinson -- Blackbox альбом

https://theprogmind.com/2017/10/09/major-parkinson-blackbox/
https://www.youtube.com/watch?v=DWJxbPpgt0c
Не много я в последнее время слушаю новых альбомов и тем более мало что
меня ощутимо впечатляет. Но вот достал я сабжевый альбом уже знакомой
мне группы. И он восхитителен! Атмосфера этой группы неповторима. Вот
совсем не ожидал что они смогут снова тронуть. Хотя альбом очень уж
спокойный.

7 years agob2sum как замена md5/sha*sum
Sergey Matveev [Wed, 29 Nov 2017 18:19:50 +0000 (21:19 +0300)]
b2sum как замена md5/sha*sum

На моём дешёвеньком компьютере для бэкапов/архивов очень слабенький
процессор. Он сообщает что поддерживает все виды SSE, AVX, AES-NI, но
скорость AES выглядит как совсем не ускоренная, а SHA512 не может выжать
даже половину скорости жёсткого диска. BLAKE2b в виде b2sum утилиты --
быстрее, но всё-равно никак не выжимает диск. BLAKE2s (из этой же b2sum
утилиты) уже работает со скоростью 88 MiB/sec. Всё-равно медленнее
md5sum, но я для себя решил что чёрт с ним -- достаточно. Этот Celeron
видимо только эмулирует инструкции процессора, но не реализует их
по-настоящему.

7 years agoGPLv3 условия расторжения берутся RedHat, Facebook, Google, IBM
Sergey Matveev [Mon, 27 Nov 2017 20:47:14 +0000 (23:47 +0300)]
GPLv3 условия расторжения берутся RedHat, Facebook, Google, IBM

http://www.opennet.ru/opennews/art.shtml?num=47636
В очередной раз показывает продуманность GPLv3 лицензии.

7 years agoВчера день неудач на ИТ фронте системного администрирования
Sergey Matveev [Mon, 27 Nov 2017 08:09:49 +0000 (11:09 +0300)]
Вчера день неудач на ИТ фронте системного администрирования

Возился с новоприобретённым дешёвеньким компьютером. Celeron процессор
на 1.6 GHz напаянный на материнской плате, 2 GB RAM. Не, всё работает,
ничего менять не буду, но я очень удивлён был что регулярно упираюсь в
криптографические операции. Насколько же этот процессор слабее Core i5 в
старом (или тем более новом) ноутбуках!

AES-128 не более 27-28 MiB/sec обрабатывает, соответственно IPsec между
компьютерами c гигабитным Ethernet ну очень слабо занимает канал.

Хорошо, попробовал гонять трафик просто через nc по IPv6 link-local
адресам -- скорость 40-60 MiB/sec. Уже лучше, но больше никак не выдаёт.
Пока игрался с буферами, то чуть-чуть поднимал, но это всё-равно даже до
полугигабита не доходит. Или кривые руки или Realtek (re драйвер)
сетевуха и тем как она пристроена на материнской плате уже не
вытягивает.

Шифровать на лету GnuPG с AES и SHA512 (SHA256 медленней, SHA1
deprecated) -- тоже проседает по процессору. Поэтому передавал tarball-ы
зашифрованные по этому nc.

Изначально сделал ZFS для хранилища. Установил Skein хэш, который
существенно быстрее SHA256/512, но просто так записать большой файл и
читать его -- что-то около 60 MiB/sec. Забыл я послушать жёсткий диск --
может быть это из-за малого объёма памяти метаинформация постоянно
считывалась, но навряд ли. То есть, опять-таки, упор был в процессор.
Сделал немыслимое!!! Заиспользовал UFS2 вместо ZFS -- там, само собой,
линейная запись/чтение уже без проблем на полной скорости (140+ MiB/sec).
Ну для раздела с хранилищем ZFS особо не важен, но всё-равно я давно уже
ничего не на нём не делал ибо никогда не упирался даже близко в
криптографию.

Но это всё ничего. Поначалу я копировать файлы хотел по NFS. У меня
везде дома всё по NFS поверх IPsec передаётся. Я СОВЕРШЕННО не понимаю и
не знаю причин, но почему-то NFS на этой машинке по IPsec-у работает со
скоростью... даже менее 1 MiB/sec! top говорит что всё простаивает. Не
смотрел что там по tcpdump-у ходит, ибо хотелось же всё побыстрее
установить и настроить, но если подмонтировать NFS просто по IPv4 без
всяких IPv6 внутри IPsec, то существенно сильно лучше становится. Причём
это почти такая же HardenedBSD что и у меня на рабочей машине, тот же
самый сервер, точно так же настроенный IPsec, IPv6 и NFS -- просто
copy-paste конфигов и команд. Надо будет как-нибудь с этим
разбираться... а то со стороны получается что поднять тривиальную
конфигурацию я разучился.

Вспомнил что когда-то давно хотел попробовать Kerberos в деле, особенно
для NFS, тем более что там вроде как без IPsec можно будет обеспечивать
и аутентификацию и конфиденциальность. По handbook поднял вроде бы всё,
но с ходу NFS по krb5 не заработал. Опять же, в течении часа помучился и
плюнул, хотя надо будет как-то добить эту тему. Скорее всего
какую-нибудь мелочь забыл на NFS сервере.

Просто передать массу данных поверх TCP я не доверяю целостности.
Поэтому делал через tee подсчёт SHA512 налету. Напомню что SHA256 на
amd64 медленнее! Но SHA512 на этой медленной машине хэширует где-то со
скоростью 50-60 MiB/sec. Эх... использовал md5 -- там он жёсткий диск
полностью выжимает. Но надо будет попробовать BLAKE2b, а то MD5 как-то
не солидно, хотя для проверки целостности (в отсутствии злоумышленника)
он годится.

Но, пусть в разы медленнее чем могло бы быть, но накопировал я суммарно
несколько терабайт на машинку по gpg over nc over IPv6 link-local,
назаписывал на ленты.

7 years agoСтал использовать GPT labels
Sergey Matveev [Sun, 26 Nov 2017 08:15:35 +0000 (11:15 +0300)]
Стал использовать GPT labels

Когда надо просто поставить ОС на ZFS (а на что ж ещё?) по-простому, то
я даже разделы не создаю, а просто dd-шкой устанавливаю загрузчик и
использую ZFS на весь раздел.

Однако бывает необходимость загружаться именно в UEFI режиме, что
накладывает тонны геморроя на то, как можно установить ОС. Приходится
создавать GPT разделы. Иногда разделы нужно создать когда корень и
какое-нибудь хранилище разделены вынужденной мерой: например хранилище
использует Skein хэш. Тут тоже делать GPT.

И в случае с GPT мне понравилось задавать метки, так как любая GELI или
zpool команда понимает вот такое:

    zpool create storage gpt/BACKUP-STORAGE

или вот SSD кэш у меня добавлен:

    cache
      gpt/SSDCACHE.eli                  ONLINE       0     0     0

Особенно это хорошо, когда нумерация/наименование каких-нибудь ada0p2
сильно меняется.

7 years agoПервые впечатления от LTO стримера
Sergey Matveev [Sat, 25 Nov 2017 15:56:00 +0000 (18:56 +0300)]
Первые впечатления от LTO стримера

Никогда раньше не доводилось использовать подобные устройства (ну кроме
Spectrum загружающего программы с обычной аудиокассеты).

* Стример здоровый! В имеющийся пьедестальный корпус в 5.25" отсек он не
  влазит по длине. Без SAS/питания проводов он упирается в блок питания.
  Нужен или большего размера или тот, в котором блок питания находится
  снизу
* Он греется! Существенно больше обычного 3.5" жёсткого диска под
  нагрузкой. Корпус, во время работы горячий
* Он ШУМНЫЙ! Не даром я видел что пишут уровень громкости.
  Не обращал внимание на эту цифру. Лента во время записи/чтения
  мотается с большой скоростью и механизм визжит. Оставлял на ночь
  записывать -- пришлось закрыть две двери до него в квартире, чтобы не
  было его слышно, а то мешает. Соответственно, во время работы рядом с
  ним -- музыку тоже проблематично слушать

Нет проблем с совместимостью: родные mt, tar программы из коробки с ним
работают, мотают, стирают, пишут, ставят метки, итд. Пишет на LTO4 ленты
(LTO5 ещё не приобрёл) со скоростью около 113 MiB/sec -- то есть, старый
дохлый жёсткий диск его банально не потянет.

Важно указывать размер блока во время операций с dd, иначе лента
начинает туда-обратно ходить на месте, производя запись/чтение со
скоростью около 5 MiB/sec. Что делает её чуть ли не бесполезной.

Так как в моих серверах для 5.25" отсека нет, места в корпусе тем более,
нельзя вставить не low-profile SAS контроллер, то, чтобы оно не висело
на соплях с проводами и блоком питания наружу, я приобрёл системный блок
подешевле для этого девайса. Материнская плата с несъёмным Celeron, 2 GB
RAM, корпус подешевле -- туда и контроллер, и стример с жёстким диском (с
которого будет производится запись, так как гигабитная сеть даже в
идеальных условиях не вытянет такой поток). Поставил на него HardenedBSD.

7 years agoЕдинственная фича которой не хватает в Aria2: IPv4 only
Sergey Matveev [Fri, 24 Nov 2017 08:08:11 +0000 (11:08 +0300)]
Единственная фича которой не хватает в Aria2: IPv4 only

С 59862ce0e889b45d6872ba974d906312bfbf0a01 я использую Aria2 программу
как BitTorrent клиент. rTorrent не запустил ни разу, похоже что
полностью она меня удовлетворяет. Также её использую для скачивания
списков файлов.

Но вот единственной фичи которой не хватает, из-за которой я частенько
запускаю Wget, это возможность указать чтобы использовался только IPv4
адрес при скачивании. Или же я в /etc/hosts прибиваю его руками. IPv6
у меня провайдер не предоставляет -- использую Hurricane Electric
туннели, которые медленнее, да и не хочу я их нагружать подобными
штуками тяжёлыми.

7 years agoСходил на концерт 7 H.Target и Ulcerate
Sergey Matveev [Fri, 24 Nov 2017 07:23:44 +0000 (10:23 +0300)]
Сходил на концерт 7 H.Target и Ulcerate

7 H.Target КАЖДЫЙ концерт где я был играют неповторимо и не похоже на
предыдущие. Вот сейчас понимаю что это самая любимая российская группа!
Считаю что сыграли отлично, под впечатлением, хотя не раз на них был.
Приобрёл ещё одну футболку (их футболок у меня больше чем каких-либо
других) и диск.

Ulcerate -- играют круто, особенно барабанщик. Ушёл я пораньше (по
техническим причинам), но вовсю они рубили узнаваемые трэки. С первых
звуков, пару дёрганий струн уже знаю что сейчас будет за трэк. Даже не
подозревал что так хорошо запомнил всё их творчество. Но... всё-равно
воспоминания о 7 H.Target затмевают.

7 years agoСтал владельцем LTO5 стримера
Sergey Matveev [Wed, 22 Nov 2017 08:08:49 +0000 (11:08 +0300)]
Стал владельцем LTO5 стримера

Очень давно себе хотел ленточный накопитель. Цены... не просто кусаются,
а в клочья разрывают. Но приобрёл за вменяемую цену б/у LTO5 внутренний.
Кроме проверки работоспособности, пока ещё не игрался и не возился с ним.
LTO5 это лента на 1.5 терабайта со скоростью записи под 120 мегабайт в
секунду. То есть, даже не факт что один жёсткий диск гарантированно
будет давать необходимый поток данных для записи.

7 years agoУмер Малькольм Янг
Sergey Matveev [Sat, 18 Nov 2017 16:03:21 +0000 (19:03 +0300)]
Умер Малькольм Янг

http://www.darkside.ru/news/97826/

7 years agoЗерелизил PyDERASN 1.6
Sergey Matveev [Sat, 18 Nov 2017 13:36:12 +0000 (16:36 +0300)]
Зерелизил PyDERASN 1.6

https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2017-November/000003.html
Сущая мелочь: возможность пропустить сколько-то байт при использовании
утилиты командной строки. Полезно когда надо попытаться декодировать
содержимое OctetString внутри которого может быть очередная DER структура.

7 years agoПро межправительственную связь
Sergey Matveev [Fri, 17 Nov 2017 09:04:06 +0000 (12:04 +0300)]
Про межправительственную связь

https://geektimes.ru/company/ua-hosting/blog/293619/
Очень много интересных статей делает ua-hosting.company!
Для меня это прям как брэнд уже.

7 years agoБудущее уже здесь: как уцелеть в эпоху киберпанка
Sergey Matveev [Fri, 17 Nov 2017 05:33:02 +0000 (08:33 +0300)]
Будущее уже здесь: как уцелеть в эпоху киберпанка

http://nnm.me/blogs/konelav/budushee-uzhe-zdes-kak-ucelet-v-epohu-kiberpanka/
Статья с которой почти по всем тезисам согласен. В ней правда
преуменьшено многое и упор делается на такие детекторы как сканеры лица
и прочее. А ведь просто сам по себе факт ношения радиомаяка, постоянно
отправляющего координаты, прослушивающего устройства -- куда более
просто и удручающ.

    Наша молодёжь сознательно променяла безопасность  на тщеславную
    самопрезентацию.

Вот это верно. Об этом не раз и Патриарх Кирилл говорил.

Плюс действительно никто из людей продающих свою приватность и
безопасность, как правило, не читал Гибсона или хотя бы 1984. Ведь
каждый рад телекрану в своём кармане.

7 years agoФорматы кодирования данных
Sergey Matveev [Thu, 16 Nov 2017 19:14:57 +0000 (22:14 +0300)]
Форматы кодирования данных

В рассылке http://www.metzdowd.com/pipermail/cryptography/2017-November/033025.html
и на работе уже не первый день поднята тема про вообще форматы
кодирования данных. Имеется в виду для отправки по сети между
гетерогенными системами.

Всяких Protocol Buffers, Apache Thrift, MsgPack и прочего -- уйма.
Огромная уйма. Но я уже, видимо старею, но склоняюсь к тому чтобы
использовать семейство возможно чуть ли не самых старых форматов:
ASN.1 либо XDR.

Вот просто по сути своей чем тот же Protocol Buffer отличается от ASN.1
BER? Или MsgPack от BER? Да ничем. Всё это TLV! Одно но: в ASN.1 куча
всяких типов данных которые можно и не реализовывать. Но, в отличии от
многих, в нём есть DATETIME, так необходимый чуть ли не постоянно и
всегда на практике.

Да, ASN.1 BER можно было бы упростить в плане кодирования -- получим
BSON или MsgPack (если без схемы) или Protobuf (если с ней). Но так ли
это должно терзать и мучать людей? Сложность это конечно плохо, но
всё-равно регулярно все безропотно используют XML или JSON. Будь
возможность заменяют на что-то другое, попроще, но ё моё, не каждый же
раз в каждой компании и каждом стартапе писать очередной сериализатор?

liblber из состава OpenLDAP, говорят, может много гигабит спокойно
просасывать. Так что вопрос скорости тут уже не так важен. BER далеко не
самый компактный -- ok, берём ASN.1 PER. Да, сложен, даже сейчас мало
FOSS библиотек для работы с ним. Но я на полном серьёзе склоняюсь к тому
что надо бы взять и допилить или написать! PER ОЧЕНЬ компактен. Если так
волнует трафик -- нефига изобретать велосипед. PER вовсю например во
всей сотовой связи используется -- именно в нём между сотовым и станцией
передаются сообщения, так как там ёмкость канала важно экономить. Есть
aligned PER, где выравнивание произойдёт по байтам -- будет менее
эффективен чем unaligned вариант, зато на обычных
процессорах/компьютерах куда удобнее обрабатывать будет. Есть canonical
вариант PER -- можно будет применять в криптографии.

Недостаток BER в том, что одно и то же представление можно получиться
разными способами и поэтому там где происходит аутентификация или
подпись -- его не поиспользуешь. Для этого есть DER. DER это
подмножество BER -- BER его всегда сможет прочитать. Но он создаёт
другую фигню: его нельзя потоково передавать и обрабатывать. Для решения
этой проблемы есть CER -- почти ничем не отличается от DER, но позволяет
потоково обрабатывать данные. Имея в руках BER кодек, можно легко
сделать и DER и CER из него. PER значительно сложнее, но в компактности
с ним не потягаешься.

Но кроме ASN.1 я однозначно ещё считаю что стоит смотреть в сторону XDR.
Изобретён аж тоже в 80-х Sun Microsystems и почти во всём что они делают
используется этот формат (а также автоматом у всех в NFS и ZFS). Его
главное отличие, как мне кажется, это простота! Реализовать BER -- не
один день работы. А XDR -- пару часов. Выравнивание по четыре байтам,
говорят, ОЧЕНЬ помогает с обработкой данных на 32-бит и старше
процессорах. Очень просто и очень эффективно. Просасывать фигову тучу
гигабит на нём не проблема. Реализовать -- любой сможет с нуля. И лично
я в своих проектах (например NNCP) использую именно его.

Но всё-равно у XDR есть недостатки: нельзя потоково обрабатывать (длину
и количество элементов нужно знать сразу же при посылке), нельзя
передавать большие integer-ы (хотя конечно может быть кто-то и никогда в
жизни не столкнётся с такой задачей) и максимальный объём бинарного
блоба или количества элементов в массиве может быть только 2^32. То
есть, на практике большие файлы просто так одним куском не всегда можно
будет засунуть и придётся городить сверху этого ещё что-то.

Но BER, DER/CER, PER, XDR требуют схемы. Чтобы без схемы жить, то лично
я поклонник bencode. Один экран кода на Python -- вся его реализация.
Типов данных мало. Кодировать списки можно потоково -- остальные
элементы потоково нельзя. Но декодировать можно всё в потоке. Не самый
компактный, но и не жирный, как JSON. Но, что мне очень нравится, так
это то, что у него каноническое представление -- применим в
криптографии! Ну и, в отличии от JSON, в нём можно передавать бинарные
данные.

Есть вот например MsgPack или CBOR или BSON. Ну обычные yet another TLV
кодеки. Да, попроще чем ASN.1, но из-за этого городить таакой зоопарк?

У Google действительно есть объективные причины писать Protobuf или
Cap'n'proto, но Google один и у него свои условия эксплуатации. Это
очередная статья из серии "вы не Google -- не надо делать как Google,
потому-что они так делают". Если они используют сложный распределённый
map-reduce это не значит что для обработки отчётов вам тоже самое надо
делать. 99% подойдёт и просто обычный PostgreSQL какой-нибудь, с набором
скриптов обсчитывальщиков. Если Netflix-ы пилят свои sendfile примитивы,
внедряются в драйвера сетевых карт чтобы сделать DMA доступ, настраивают
хитро прерывания и CPU affinity для сетевых процессов это не значит что
не сделав этого у вас будет всё плохо. Так же как если у вас нет
zero-copy сериализации данных, то возможно вы никогда в жизни на своих
проектах в сериализацию и не упрётесь.

7 years agoНовый релиз на работе называется: Макетный магот
Sergey Matveev [Thu, 16 Nov 2017 18:34:55 +0000 (21:34 +0300)]
Новый релиз на работе называется: Макетный магот

7 years agoUlcerate уже вовсю колесят по Европе!
Sergey Matveev [Tue, 14 Nov 2017 12:15:13 +0000 (15:15 +0300)]
Ulcerate уже вовсю колесят по Европе!

http://www.ulcerate-official.com/
Жду не дождусь выступления в Москве!

7 years agoВыпилил WiFi чип из ноутбука
Sergey Matveev [Tue, 14 Nov 2017 11:35:48 +0000 (14:35 +0300)]
Выпилил WiFi чип из ноутбука

WiFi я сам по себе не использую. Если мне нужен доступ в Интернет, то я
всегда в пределах досягаемости нормального Ethernet кабеля. Если на
работе, то там значит нужен SSH зачастую. А WiFi вносит очень осязаемые
задержки при интерактивной работе -- я не понимаю людей которые терпят
уменьшение отзывчивости удалённого доступа. Видимо, отсутствие провода
это им компенсирует всё -- но не мне.

Во-вторых, в текущем ноутбуке WiFi просто не работает, даже если
захотеть, из-за того что нужны проприетарные закрытые прошивки.

В-третьих, когда я вставлял SSD в него, то видел что WiFi то можно
спокойно открутить вообще. Что вот и сделал, раз всё-равно толку в нём
нет, а лишний канал доступа мне не к чему.

7 years agoРассуждения ESR на тему почему C++ не взлетел, а Go будет жить
Sergey Matveev [Tue, 14 Nov 2017 08:44:36 +0000 (11:44 +0300)]
Рассуждения ESR на тему почему C++ не взлетел, а Go будет жить

http://esr.ibiblio.org/?p=7724

7 years agoИз рассылки узнал о существовании файла семьи BSD систем
Sergey Matveev [Sun, 12 Nov 2017 14:47:46 +0000 (17:47 +0300)]
Из рассылки узнал о существовании файла семьи BSD систем

/usr/share/misc/bsd-family-tree
https://svnweb.freebsd.org/base/head/share/misc/bsd-family-tree?view=co

Огромный чёткий список всех крупных BSD систем. Кроме ДЕМОС, который
когда-то в СССР использовался и отвечал за наш Интернет.

Немного простого языка: http://www.freebsdworld.gr/freebsd/bsd-family-tree.html

Вот даже за такие мелочи, как из коробки предоставляемые подобные файлы,
мне очень BSD системы нравятся!

7 years agoivi банит тех кто рекламирует Tor
Sergey Matveev [Thu, 9 Nov 2017 12:19:58 +0000 (15:19 +0300)]
ivi банит тех кто рекламирует Tor

https://rublacklist.net/33336/
Вот так вот! Работал я в ivi когда-то, а теперь там нет шифропанков :-)

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

7 years agoZFS на GELI и TRIM
Sergey Matveev [Wed, 8 Nov 2017 14:43:51 +0000 (17:43 +0300)]
ZFS на GELI и TRIM

Я почему-то думал что единственный серьёзный недостаток (не считая того
что с ZFS ничего не сделаешь без ключа) запуска ZFS поверх
зашифрованного GELI диска это то, что перестанет работать TRIM. Но, в
man geli нашлась опция:

  -T  Don't pass through BIO_DELETE calls
      (i.e., TRIM/UNMAP).  This can
      prevent an attacker from knowing how
      much space you're actually using and
      which sectors contain live data, but
      will also prevent the backing store
      (SSD, etc) from reclaiming space
      you're not using, which may degrade
      its performance and lifespan.  The
      underlying provider may or may not
      actually obliterate the deleted
      sectors when TRIM is enabled, so it
      should not be considered to add any
      security.

То есть, по-умолчанию, GELI вполне себе прокидывает TRIM команду и это
даже надо отключать (если кому-то не надо). Не устаю радоваться FreeBSD
разработчикам!

7 years agoВысокоэнтропийное передвижение по сцене во время выступления
Sergey Matveev [Wed, 8 Nov 2017 12:18:55 +0000 (15:18 +0300)]
Высокоэнтропийное передвижение по сцене во время выступления

Скачал с Youtube два видео с митапа 30-го октября: моё выступление и
Дмитрия. Оба из них перекодировал в свободный WebM формат, с чуть
уменьшенным разрешением (ибо не нужно большого). Получившийся WebM файл
на моём выступлении, даже с сильно больше пожатым звуком, урезанным
разрешением -- оказался ощутимо больше по размеру чем оригинал с H.264.
Выступление Дмитрия получилось компактнее, что на практике всегда и
происходило. Я думаю то, что я хожу туда-обратно по сцене, очень плохо
кодируется (движение же), а плохо кодируется то, где много энтропии.

7 years agoВыложили видео моего выступления по поводу свободного ПО
Sergey Matveev [Wed, 8 Nov 2017 05:33:42 +0000 (08:33 +0300)]
Выложили видео моего выступления по поводу свободного ПО

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

А также доклад администратора группы в ВКонтакте "Линуксоид":
https://www.youtube.com/watch?v=R3SlK6QENR4

7 years agoПросмотр DVD на свободных ОС -- незаконно в США
Sergey Matveev [Mon, 6 Nov 2017 17:31:56 +0000 (20:31 +0300)]
Просмотр DVD на свободных ОС -- незаконно в США

https://www.howtogeek.com/138969/why-watching-dvds-on-linux-is-illegal-in-the-usa/
Вообще эта новость не нова, но я что-то всё не осознавал всю
серьёзность. На полном серьёзе просмотр DVD под GNU/Linux (FreeBSD,
whatever) -- незаконно, является преступлением. Даже не могу описать
насколько же рад жить в РФ: нет патентов на математику, нет патентов на
программное обеспечение, нет того что называется fair use, нет вот этого
DMCA (из-за которого просмотр DVD нелегален), нет ужасных стандартов в
которых ужасная криптография типа FIPS (помните Dual ECDRBD?), ваши
выложенные в соцсети (или вообще места третьим лицам) данные принадлежат
вам. И, глядя на этот список которой с ходу написал -- видно что в США
вовсю рулят деньги, корпорации.

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

И ещё вот вспомнил что в США мне даже задумываться не стоит суваться на
мало ли какую конференцию или тусу. Во-первых, выпускникам МАИ, говорят,
будут вставлять палки в колёса. Во-вторых, когда я размещал свои проекты
на sourceforge.net, то выставлял что в них нету криптографии, поэтому
применять "санкции" против дружественных стран типа Сирии, Ирана и...
Крыма, не надо. Тем самым я, как администратор своих программных
проектов, беру ответственность на себя, а вообще я ведь обманул типа их
судебную систему, сказав не правду. Сейчас на SF меня нет, то долгие
годы я само собой не собирался ставить ограничения своим друзьям.

7 years agoWin8/10 больше не позволяет проигрывать DVD/BluRay
Sergey Matveev [Mon, 6 Nov 2017 17:27:21 +0000 (20:27 +0300)]
Win8/10 больше не позволяет проигрывать DVD/BluRay

https://www.howtogeek.com/127774/how-to-play-dvds-on-windows-8/
Случайно напоролся на информацию о том что Windows современный хоть
когда-то и умел играть DVD, но это взяли и выпилили. Блин, я вот
поражаюсь как люди вообще могут верить в то, что корпорации (подобные
этим) хоть что-либо делают *действительно* во благо пользователей.

Как-то с коллегой обсуждал и вот вспомнил что из коробки Windows95 (я
такую ещё использовал, застал) предоставляла колоссально больше
возможностей действительно нужных и полезных для работы. А вот несколько
лет назад у знакомой обнаружил что Win7 (или более поздняя) не имели
даже менеджера печати. Из года в год возможности этого семейства ОС
деградируют.

7 years agoЗарелизил PyDERASN 1.5
Sergey Matveev [Mon, 6 Nov 2017 14:42:14 +0000 (17:42 +0300)]
Зарелизил PyDERASN 1.5

https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2017-November/000002.html
Чисто всё по-мелочи, даже расписывать особо нечего. Оно вот просто работает!

7 years agoСамая распространённая ОС в мире: MINIX
Sergey Matveev [Mon, 6 Nov 2017 12:25:19 +0000 (15:25 +0300)]
Самая распространённая ОС в мире: MINIX

https://www.networkworld.com/article/3236064/servers/minix-the-most-popular-os-in-the-world-thanks-to-intel.html
Потому-что именно эта свободная ОС находится в Intel Management Engine.
Почему она там имеет полный доступ к центральному CPU и всем шинам с
памятью? Имеет и сетевой стэк? Чтобы Intel могли прямо вот через
Интернет, удалённо делать с компьютером всё что заблагорассудится.
Всё написанное взято из статьи.

7 years agoЗашифрованный кэш для ZFS pool
Sergey Matveev [Sun, 5 Nov 2017 13:51:56 +0000 (16:51 +0300)]
Зашифрованный кэш для ZFS pool

Нужно добавить кэш к ZFS pool? А ещё чтобы он был зашифрован?
Проще простого!

Одноразовый ключ шифрования для диска:

    # geli onetime ada1

ключ есть только в памяти и ada1.eli устройство уже автоматически
создано. По-умолчанию используется AES-128-XTS режим.

И теперь добавляем его как кэш:

    # zpool add storage cache ada1.eli

7 years agoAgainst an Increasingly User-Hostile Web
Sergey Matveev [Fri, 3 Nov 2017 08:02:07 +0000 (11:02 +0300)]
Against an Increasingly User-Hostile Web

https://www.neustadt.fr/essays/against-a-user-hostile-web/
Статья аналог которой я тоже не раз писал. Современный Web абсолютно,
полностью, унижает и не уважает своих пользователей. Вместо отправки
нескольких килобайт или десятков килобайт полезной информации, самой
статьи, самой сути, современный Web-сайт отправляет более двух-трёх
мегабайт данных (!!!!!!!!!), под 30 мегабайт через минуту, полтысячи
запросов, огромное время ожидания загрузки (вместо того чтобы кликнуть и
увидеть новую страницу, мы ждёёёём), полная деанонимизация, слив кучи
пользовательских приватных данных на более чем сотню сервисов слежки
постоянно в режиме реального времени. Очевидно что *никто* из вменяемых
пользователей не хочет ничего такого -- он хочет получить свою чёртову
страницу чтобы прочитать статью или раздел документации или новость или
ещё чего. Верно замечено что можно менее чем за 10$ купить Raspberry Pi
и хостить свой собственный Web-сайт, без всего этого дерьма.

7 years agoNIST планирует включить 25519 и 448
Sergey Matveev [Thu, 2 Nov 2017 20:26:39 +0000 (23:26 +0300)]
NIST планирует включить 25519 и 448

https://csrc.nist.gov/News/2017/Transition-Plans-for-Key-Establishment-Schemes
Отличные новости! Мне бы конечно важнее услышать что в ГОСТ такое
включать бы собирались, но распространения 25519/448 я очень желаю!

7 years agoЛахта Центр
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

7 years agoПоругался с Теплицей Социальных Технологий из-за статьи
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 -- это знает любой, кто со мной знаком по технической части).

7 years agoТеплица Социальных Технологий взяла у меня интервью
Sergey Matveev [Wed, 1 Nov 2017 08:45:54 +0000 (11:45 +0300)]
Теплица Социальных Технологий взяла у меня интервью

https://te-st.ru/2017/11/01/linux-advantages-and-disadvantages/

    Что такое операционная система Linux: плюсы и минусы свободной платформы

Заголовок не мой, я бы такого конечно же не написал, но начиная со
второго абзаца уже идёт мой текст. Linux это не ОС и уж точно не
"платформа" (такого понятия не встречал относительно него).

7 years agoTinfoil Hat Linux
Sergey Matveev [Tue, 31 Oct 2017 20:05:45 +0000 (23:05 +0300)]
Tinfoil Hat Linux

https://en.wikipedia.org/wiki/Tinfoil_Hat_Linux
https://web.archive.org/web/20020605001701/http://www.evilmutant.com:80/stuff/tinfoil/

Узнал вот про существование этого дистрибутива. Из интересного:

* защита от утечек по побочным каналам для бедных: просто в фоне
  заставлять работать GnuPG что-нибудь делая с какими-нибудь файлами.
  Прослушивая электромагнитный спектр, типа не так легко будет понять
  где же выполнялась настоящая работа
* вместо ввода парольной фразы напрямую как есть, показывается таблица,
  где, введя X и Y координаты нужной буквы, она будет по-настоящему
  введена в программу. Сами значения X/Y координат постоянно меняются и
  поэтому если идёт прослушка (keylogger в том числе) клавиатуры, то, не
  зная вывода экрана, нельзя будет понять что же конкретно введено. Ну
  кроме длины парольной фразы

7 years agoВыступил на митапе, рассказал про движение свободного ПО
Sergey Matveev [Mon, 30 Oct 2017 19:40:07 +0000 (22:40 +0300)]
Выступил на митапе, рассказал про движение свободного ПО

https://te-st.ru/events/opensource-meetup/

7 years agoСлово "блокчейн" в резюме повышает стоимость работника на 25%
Sergey Matveev [Mon, 30 Oct 2017 08:19:44 +0000 (11:19 +0300)]
Слово "блокчейн" в резюме повышает стоимость работника на 25%

Мне вот не раз предлагали сменить работу и заниматься блокчейном. И
прекрасно понимают и мне то, технарю, по чесноку говорят что на самом
деле 90% что называется блокчейном, на самом деле не имеет никакого
отношения. Сейчас в мире если где-то используется хэш от хэша -- можно
смело употребить слово блокчейн и в 100% случаев это прокатит для
заказчика. Поэтому если закрыть глаза на то, что по-настоящему является
блокчейном, то я заядлый специалист по нему :-)

7 years agoПонравилось, будучи поклонником творчества Гая Ритчи
Sergey Matveev [Mon, 30 Oct 2017 08:14:57 +0000 (11:14 +0300)]
Понравилось, будучи поклонником творчества Гая Ритчи

Яндекс выпустил "яндекс карты", "яндекс деньги".
На очереди: "яндекс два ствола".

7 years agoЗарелизил PyDERASN 1.4
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
Такого функционала не было ни в одной библиотеке что я видел.
На работе оно уже используется -- безумно удобно стало.

7 years agoДобавил немного информации про SESPAKE на gost.cypherpunks.ru
Sergey Matveev [Sun, 29 Oct 2017 12:46:01 +0000 (15:46 +0300)]
Добавил немного информации про SESPAKE на gost.cypherpunks.ru

http://gost.cypherpunks.ru/Russian.html
Сам я пока ещё не реализовывал его нигде и особенностей чисто
программерских не могу написать.

7 years ago7 H.Target -- Promotional disc
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 в ноябре. Буду ждать!

7 years agoПообщался со специалистами из КриптоПро
Sergey Matveev [Fri, 27 Oct 2017 20:36:55 +0000 (23:36 +0300)]
Пообщался со специалистами из КриптоПро

Возникли у меня вопросы о выборе authenticate-then-encrypt решения в
одном из стандартов ТК26, ведь все зарубежные специалисты советуют
делать как можно проще и выбирать encrypt-then-authenticate, так
как это не может быть не правильно. Но КриптоПро убедил что в их
подходе, при их выборе алгоритмов, это действительно даже лучше
получается, лучше противостоит атакам по побочным каналам.
Действительно узнал что-то новое, благодарен их сотрудникам,
потратившим время на объяснение!

7 years agoMailman 2.1.25 с моими поправками к переводу
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 запущена версия более старая, но с моими
поправками. Сейчас, если обновиться, то патчи больше не нужны.

7 years agoНеделя отпуска прошла без единой строчки кода
Sergey Matveev [Sun, 22 Oct 2017 22:02:00 +0000 (01:02 +0300)]
Неделя отпуска прошла без единой строчки кода

В этом году возможно единственная неделя на которой я только читал
новости и писал письма. Но отпуск закончен и до конца года такого
безобразия не повторится.

7 years agoIPv6 buddy
Sergey Matveev [Sat, 21 Oct 2017 18:25:39 +0000 (21:25 +0300)]
IPv6 buddy

http://www.ipv6buddy.com/
Необходимая вещь для IPv6 инженеров!

7 years agoКак Yandex деанонимизирует пользователей
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, дуй, короче, к нам в офис с
паспортом. Тогда ещё не было такого массового требования на сотовые
телефоны -- там сразу вон паспорт захотели.

7 years agoRainbow в Олимпийском
Sergey Matveev [Fri, 20 Oct 2017 13:56:26 +0000 (16:56 +0300)]
Rainbow в Олимпийском

8-го апреля в Москве будет выступать Rainbow, с Ритчи Блэкмором!
Поведу туда и родителей тоже на такое мероприятие!

7 years agoMuncausen by Proxy
Sergey Matveev [Thu, 19 Oct 2017 18:29:12 +0000 (21:29 +0300)]
Muncausen by Proxy

В расширенной версии фильма "Всегда говори да" (2008-го года с Джимом
Керри) есть четыре полных песни вымышленной сабжевой группы. Это почти
15 минут фильма!

В действительности же это электро-поп группа Von Iva с Зуи Дешанель
(главной героини фильма). Её голос очень нравится, да и, не смотря на
то, что я предпочитаю метал и грайндкор (как и Джим Керри, кстати), но
выступление у них получилось очень здоровское.

7 years agoМитап Теплицы в Москве: что нужно знать про открытый код и лицензии
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, но внутри новости о данном
мероприятии написано и про СПО в том числе.

7 years agoПокатался на современном Mercedes C-класса
Sergey Matveev [Wed, 18 Oct 2017 19:31:53 +0000 (22:31 +0300)]
Покатался на современном Mercedes C-класса

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

7 years agoВпервые увидел-таки Млечный путь
Sergey Matveev [Wed, 18 Oct 2017 19:30:16 +0000 (22:30 +0300)]
Впервые увидел-таки Млечный путь

Рядом с Москвой световое загрязнение ужасно и никогда не видел Млечного
пути. А тут вот на несколько дней ездил в Нижегородскую область -- звёзд
на порядок больше видно, ну и, собственно, сама наша галактика.

7 years agoReasons to not use Gmail
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 причины.
Подтверждаю: особенно в этом году почта до них массово перестала ходить
и никто, абсолютно никто и нигде не может сказать причины -- отказ
в доставке происходит случайным образом. Попадание в спам -- случайным
образом.

7 years agoВышел альбом Exhumed -- Death Revenge
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 (группа на заднем плане)

7 years agoНаписал GEOM Gate демона на Go
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 -- УБЕР простой протокол
доступа по сети к блочному устройству. Вчера за вечер полностью его
реализовал. Теперь остаётся только криптографическая часть,

7 years agoБердымухамедов груб с щенком для Путина
Sergey Matveev [Wed, 11 Oct 2017 21:22:39 +0000 (00:22 +0300)]
Бердымухамедов груб с щенком для Путина

https://lenta.ru/news/2017/10/12/putinsdoggy/
Ну вообще я нисколько так не посчитал. Да, можно было бы под мышки её
взять, но у щенков шкирка вполне себе приспособлена для подобных
действий. Вот ни капли никакого возмущения или чего-то кроме умиления
щенком у меня не возникло. Президент Туркмении доволен и нормален.

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

7 years agoTesting Security Keys
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 (!!!) кодирование -- оно же именно для этого и сделано:
чтобы было только одно представление данных.

7 years agoipsec интерфейс в FreeBSD
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 статье.
К этапу конфигурации я бы не стал это относить.

На компьютере A делаю:

    # ifconfig ipsec0 create
    # ifconfig ipsec0 inet 192.168.20.2/32 192.168.20.1
    # ifconfig ipsec0 inet6 tunnel fc00::7a00 fc00::2752

на B:

    # ifconfig ipsec0 create
    # ifconfig ipsec0 inet 192.168.20.1/32 192.168.20.2
    # ifconfig ipsec0 inet6 tunnel fc00::2752 fc00::7a00

то есть, адреса просто симметричны. 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:

    fc00::2752 0x40b4ce70eb608e66b8b181705233e63e6ff2ff494ad83fb48af72cc875882d44
    fc00::7a00 0x40b4ce70eb608e66b8b181705233e63e6ff2ff494ad83fb48af72cc875882d44

То есть, повторюсь, если забыть про константный racoon.conf, то
достаточно: прописать PSK, указать конечные точки туннеля, сделать любую
соответствующую настройку адресов внутри туннеля. В принципе проще быть
уже не может. if_ipsec очень удобен. Без него, на самом деле, было бы
всё то же самое, но ещё надо было бы руками прописывать эти SP, как это
было в http://www.stargrave.org/IPsec-setup.html

7 years agoНеобразованная молодёжь. Ответ бизнеса
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/
Хороший ответ! Вот я со всем написанным в нём полностью согласен и
воочию регулярно видел. То что то, что хотят молодые неопытные
специалисты -- мягко говоря, очень завышено.

7 years agoПосмотрел первый сезон Рика и Морти
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
И мне очень понравился этот мультсериал! Классно нарисован -- есть что
разглядывать. В меру пошел и чёрноюморен. А главное что интересен и
забавен! Плюс всякая фантастика, так мною обожаемая!

7 years agoI’m going to build my own ASN.1 library with slots and blobs!
Sergey Matveev [Tue, 3 Oct 2017 15:21:08 +0000 (18:21 +0300)]
I’m going to build my own ASN.1 library with slots and blobs!

Сегодня зарелизил PyDERASN: http://pyderasn.cypherpunks.ru/
Даже несколько версий со всякими мелкими косяками.

7 years agoПредставитель Suckless за Go
Sergey Matveev [Fri, 29 Sep 2017 19:28:29 +0000 (22:28 +0300)]
Представитель Suckless за Go

https://lists.suckless.org/dev/1709/32357.html
Anselm Garbe старейший член общества Suckless хорошо отзывается о Go.
Ну собственно все плюсы очевидны: OO сделан как надо (такой можно
использовать), статическая линковка и CSP.

7 years agoВыводы на будущее после написания тысяч строк Python кода на днях
Sergey Matveev [Mon, 25 Sep 2017 20:50:13 +0000 (23:50 +0300)]
Выводы на будущее после написания тысяч строк 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 работает.

7 years agot команда оказалась умеет большее
Sergey Matveev [Sun, 24 Sep 2017 07:35:39 +0000 (10:35 +0300)]
t команда оказалась умеет большее

В добавление к предыдущему посту. Пока рассматривал этот свой t скрипт,
увидел что какая-то $N добавляется к директории заметок:

    NOTES_DIR=$HOME/.t/$N

Подумал что какая-то опечатка, больше нигде не используется. Но вспомнил
что это я так когда-то собирался делать namespace-ы! Типа T=arbeit t a
(добавить заметку по поводу работы), T=pyderasn t (посмотреть задачи по
pyderasn), итд. Честно: так как забыл что такое было, то и не
использовал, но удивлён что в таком маленьком скрипте нашлось что-то ещё
более фичастое.

7 years agoTaskwarrior и t
Sergey Matveev [Sun, 24 Sep 2017 07:21:51 +0000 (10:21 +0300)]
Taskwarrior и t

Узнал тут про такую программу как 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, ничего компилировать.

7 years agoВсё плохо с существующими ASN.1 библиотеками и книгами
Sergey Matveev [Sat, 23 Sep 2017 20:23:12 +0000 (23:23 +0300)]
Всё плохо с существующими 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, но так и не
находилось время на его реализацию до конца (а ведь это надо сделать вне
рабочее время, чтобы компания, не имея прав, не смогла бы его сделать не
свободным).

7 years agoTypeset in the future: dedicated to fonts in sci-fi
Sergey Matveev [Sat, 23 Sep 2017 08:08:02 +0000 (11:08 +0300)]
Typeset in the future: dedicated to fonts in sci-fi

https://typesetinthefuture.com/
Всегда скорее негативно относился к тому как люди заморачиваются с
шрифтами, но на этом сайте провёл уйму времени! Всё-таки зацепило всё
это смотреть и читать, особенно про всякие факты из фильма Чужой, где
напоминают что одна из миссий на Марс провалилась потому-что одна страна
и пару отщепенцев не считают в стандартных системах мер.

7 years agoОтрефакторил список ссылок
Sergey Matveev [Fri, 22 Sep 2017 12:07:32 +0000 (15:07 +0300)]
Отрефакторил список ссылок

http://www.stargrave.org/Links.html
А то там была какая-то мешанина из всего и вся в одной куче. Кроме
разбиения по секциям, добавил ещё всякие блоки на которые подписан.