]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
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
А то там была какая-то мешанина из всего и вся в одной куче. Кроме
разбиения по секциям, добавил ещё всякие блоки на которые подписан.

7 years agoСравнение Protobuf, Cap'n'proto, SBE и FlatBuffers сериализации
Sergey Matveev [Fri, 22 Sep 2017 11:44:19 +0000 (14:44 +0300)]
Сравнение Protobuf, Cap'n'proto, SBE и FlatBuffers сериализации

https://capnproto.org/news/2014-06-17-capnproto-flatbuffers-sbe.html
Статья довольно старая и возможно что-то уже не актуально, но идея иметь
форматы сериализации с нулевым копированием данных это интересно.
Опасно, сложно, но интересно в плане производительности. Понял, читая
её, что XDR формат, так мне нравящийся, выравнивающий всё по 32-бита,
ещё и для ускорения в виде выравненных структур хорошо подходит.

Я работал с Protobuf-ом на Go в Python -- он создаёт реально очень
компактное представление данных и очень быстр (в Python конечно за счёт
C-шных вставок). Плюс самые разнообразные структуры можно запаковать, то
бишь, он не минималистичен.

7 years agoArtix Linux
Sergey Matveev [Fri, 22 Sep 2017 10:46:49 +0000 (13:46 +0300)]
Artix Linux

https://artixlinux.org/
Arch Linux версия без systemd. Аналог Devuan (Debian без systemd). Молодцы!

7 years agoНовые открытые лицензии: LIL и Zero
Sergey Matveev [Fri, 22 Sep 2017 09:20:29 +0000 (12:20 +0300)]
Новые открытые лицензии: LIL и Zero

http://www.opennet.ru/opennews/art.shtml?num=47251
ZIL конечно приятен своим минимализмом, как BSD или MIT, но тяга не
читать лицензии, такие огромные как GNU GPL, приводит к тому, что
появляется очень много софта не copyleft. Что вредит миру СПО. Если
нужна permissive лицензия с учётов патентов, то для этого есть Apache 2.

Ну а Zero не является свободной лицензией -- нарушает нулевую свободу в
терминах определения СПО. Но является открытой -- вот ещё один пример
того что open != free в контексте ПО.

7 years agoTor не применим к анонимизации
Sergey Matveev [Thu, 21 Sep 2017 15:52:08 +0000 (18:52 +0300)]
Tor не применим к анонимизации

https://netzpolitik.org/2017/secret-documents-reveal-german-foreign-spy-agency-bnd-attacks-the-anonymity-network-tor-and-advises-not-to-use-it/
https://netzpolitik.org/2017/geheime-dokumente-der-bnd-hat-das-anonymisierungs-netzwerk-tor-angegriffen-und-warnt-vor-dessen-nutzung/
https://www.reddit.com/r/TOR/comments/71cxy2/secret_documents_reveal_german_federal/
https://www.freehaven.net/anonbib/cache/SS03.ps
https://www.freehaven.net/anonbib/cache/timing-fc2004.pdf
https://www.freehaven.net/anonbib/cache/murdoch-pet2007.pdf
http://www.spiegel.de/media/media-35540.pdf
http://www.spiegel.de/media/media-35541.pdf
http://www.spiegel.de/media/media-35543.pdf
http://www.spiegel.de/media/media-35538.pdf
http://www.spiegel.de/media/media-35540.pdf
https://assets.documentcloud.org/documents/801433/doc1-1.pdf
https://assets.documentcloud.org/documents/1342115/timeline-correlation-jeremy-hammond-and-anarchaos.pdf
https://edwardsnowden.com/wp-content/uploads/2014/04/2009-sigdev-conference.pdf

Речь о том, что на практике уже не раз деанонимизировали людей/серверы.
Те, кто могут смотреть за трафиком на глобальном уровне. Про
сопоставление активности исходящей/входящей я на всех своих выступлениях
говорил всегда и подчёркивал что это сделает Tor нерабочим (против
powerful adversary). Что и подтверждается.

Пора, пора, уже давно пора переезжать на что-то куда более
технологичное. Tor это средство обхода блокировок, цензуры, но не
средство анонимизации серверов или людей от powerful adversary.

7 years agoПредложение языку Go: just use Github
Sergey Matveev [Thu, 21 Sep 2017 12:25:44 +0000 (15:25 +0300)]
Предложение языку Go: just use Github

https://github.com/golang/go/issues/21956
Я могу сказать одно: понабежали хипстеры, которые НИЧЕРТА не могут и
что-то хотят. Не хочу задеть их профессионализм, но они явно не
занимаются ревью кода. Как бы я не не любил Gerrit, но он однозначно
бесспорно существенно лучше интерфейса Github для ревью. GH вообще
толком не предназначен для этого. Хипстеры хотят коммитить, но
совершенно плюют на удобство ревьюверов, за что кстати в Linux Торвальдс
жёстко может послать.

Они говорят что сложно сделать вклад, типа геморройно. Это говорит о том
что сейчас растёт поколение людей которые не просто не умеют
пользоваться git, а которые умеют пользоваться только GH и больше ничем.
Как-то было дело что я отправлял патч в golang.org/x/crypto/blake2b
библиотеку: и чего чего, но уж точно не припомню что бы где-то был
какой-то геморрой, ну кроме Gerrit требующего JS.

7 years agoISO отвергает АНБ алгоритмы шифрования Speck и Simon
Sergey Matveev [Thu, 21 Sep 2017 12:23:33 +0000 (15:23 +0300)]
ISO отвергает АНБ алгоритмы шифрования Speck и Simon

https://www.schneier.com/blog/archives/2017/09/iso_rejects_nsa.html
Что очень хорошая новость. Когда я впервые узнал про Speck/Simon, то
очень очень напрягся, думав про себя -- неужели это стандартизуют и оно
будет массово использоваться? Я не криптограф нисколько, но очень уж они
выглядят несерьёзно, с точки зрения порога безопасности. Не везде нужен
высочайший порог -- где-то достаточно и слабенького, лишь бы быстрого и
компактного, но ISO настолько это не приемлет.

7 years agoВокалистка Lacuna Coil на сцене с Epica
Sergey Matveev [Thu, 21 Sep 2017 12:21:52 +0000 (15:21 +0300)]
Вокалистка Lacuna Coil на сцене с Epica

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    :@"

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

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

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

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

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

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

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