ffmpeg похоже годится для тьмы задач которые я делал mplayer/mencoder.
mpv совсем не нужен ни для чего кроме проигрывания. Декодировать
ALAC/APE -- ffmpeg может. Аналог -ao pcm тоже. Из example его
документации увидел как делается просто запись экрана. Сразу задаюсь
вопросом во что кодировать? Хочется же чтобы потом можно было хорошо
сжать, а источник в идеале должен быть без потери качества.
Об опыте lossless кодеков писал в 748a0008be8dd4408f9366e02a71144acec766a7.
YUV4MPEG2 слишком круто забивает диск. FFV1 очень жрёт CPU. ffvhuff
хорошо подходит: и жмёт вполне себе лучше чем голый YUV4MPEG2 (у меня на
ZFS уйдёт процессорное время всё) и в real-time вполне себе справляется.
Теперь хочется сжать в VP9 lossless, просто ради поиграться. Но хочу
vpxenc утилиту использовать. ffmpeg-ом делаю yuv4mpegpipe вывод и меня
посылают, ибо надо задать формат пикселя. Задаю такой, какой vpxenc
берёт по умолчанию: I420. Да, закодировался lossless, но цвета явно
покорёжены и унылы. Очевидно из-за I420. Указываю I444, ffmpeg опцию
соответствующую, vpxenc ругается что при текущем профиле не
поддерживается этот формат пикселей. Пошёл в исходный код, потом в
Wikipedia: https://en.wikipedia.org/wiki/VP9#Profiles
Действительно, есть разные профили (ну как и в MPEG стандартах) и мне
нужен явно profile 1. Благо в vpxenc это можно указать и всё
закодировалось, действительно без потерь. 800-1000Kbps при всяких top-ах
и переключениях рабочих столов оно где-то тратит битрейта на FullHD.
https://wiki.xiph.org/Opus_Recommended_Settings
5+1 канала в WAV хотел вот закодировать в Opus. Начал прикидывать и
искать официальные советы какой bitrate желателен при этом. А думать не
надо. opusenc сам сразу по умолчанию для такого количества каналов
делает 320Kbps -- именно то, что и я запланировал. Документация говорит
что там и особые фишки для объёмного звука имеются.
Выяснилось что YUV4MPEG который делает mpv, имеет корявый FPS и
libtheora encoder_example такое принимать не хочет. ffmpeg-ом можно
выправить (явно указав руками FPS). Похоже что для темы кодирования
пора полностью мне переходить на ffmpeg. Абсолютно мне его не понятные
опции, но... оно зато работает уж точно (пока только example-ы находил
мне нужные из документации).
Началось с того, что пытался закодировать в Theora. Не удалось. Точнее
Theora файлы то он делает, но 100Kbps и никак опции влияющие на это
никакие не прокидывает. При этом тот же самый ffmpeg работает. Затем
начал проверять работу VP8 кодировщика. Уже лучше, уже заработал. Но...
когда я пытаюсь сделать двухпроходное кодирование, то он снова не видит
хотя бы опции bitrate и делает плохое качество.
Ладно, чёрт с ним, попробую хотя бы выводить сырое видео для подачи его
напрямую в vpxenc утилиту. Сработало, без проблем. Затем захотел
сбросить звук в WAV PCM файле для кодирования отдельно... и он
coredump-ится. Точнее, если указать --end, то не до конца сбрасывает
содержимое (assert где-то там в коде аллокатора памяти). Если не
указывать, то файл целёхонький, хотя .core всё равно будет. А подобная
штука (--ao=pcm) мне нужна хотя бы для того чтобы декодировать ALAC-и
или какие-нибудь Monkey's Audio (я даже не знаю есть ли для них
отдельные утилиты для работы).
Пошёл в их репозиторий и просто собрал master. Ура! Теперь не падает.
Ради интереса пошёл читать их git log. Encoder теперь deprecated. Ладно,
терпимо, ибо он всё равно не работал у меня, годился только для вывода
сырого видео. Но вот что не ладно, так это то, что они удалили поддержку
OSS! В коммите сказано что SDL будут юзать. Зашибись, а как в нём
выбрать аудиоустройство то хотя бы? В mpv не нашёл для этого ручек. То
есть, уже текущий master mpv не способен у меня проигрывать звук.
Поэтому обновляться до следующего релиза уже бесполезно будет. В
принципе, так наверное жить вполне себе можно, ведь mplayer вообще лет
десять наверное не обновлялся как проигрыватель и мне хватало. Сейчас
mpv добавляет крутые фичи типа VAAPI (дающего VP8 аппаратного) и gapless
playback, но этого мне достаточно. Как кодировшик mencoder я полноценно
не использовал тоже давно: только для вывода сырого изображения или
-oac/-ovc copy, без которых, с наличием Matroska, можно жить. mpv как
полноценный кодировщик уже не работает и уже в master deprecated. Профит
сейчас однозначно уже есть. mplayer я обновлял только ради более новых
кодеков. mpv и сейчас просто использует libavcodec библиотеки, так что
это тоже можно просто будет обновлять независимо.
https://en.wikipedia.org/wiki/Mpv_player
В продолжении вчерашнего bc7954cf5910fb3fdf35af90597c04880eb9d227.
mpv полностью весь нужный мне функционал как проигрыватель, пока
удовлетворяет. Даже больше и лучше:
* mplayer по расширению файла мог только автоматически подключить опции
по аппаратному декодированию видео. mpv же просто автоматически это
умеет делать -- теперь это вообще не забота пользователя
* однако для этого требуется настройка: надо аппаратное декодирование
включать, плюс добавлять туда кодеки которые ради безопасности
выключены
* теперь не нужен VDPAU и прослойка для него до VAAPI! Это привело к
тому, что у меня аппаратно декодируется VP8 (но не VP9, который
реально был бы полезнее, ибо FullHD на нём я не могу в real-time
декодировать). 71154f45d9f366207838a37a870434857d0652a0: остаётся
только VAAPI который в конфиге включить и забыть
* gapless проигрывание аудио -- ради этого я уже мог бы перейти
* реально более быстрая перемотка
Главная проблема: непривычно всё после mplayer. Но если бы изучать все
эти сотни опций с нуля, то в mpv они все логичнее, аккуратнее сделаны.
Кодировать ещё не пробовал, но по сути там просто пробрасываются опции
до ffmpeg и нижестоящих кодеков (типа libvpx). Но вроде всех фильтров и
опций хватает.
Dell ноутбук точно не тянет на удалённую работу на нём
Ибо время от времени после самой обычной штатной перезагрузки он во
время загрузки показывает красивое окошко о том что никаких аппаратных
проблем не найдено. И нужно тыкнуть на continue. То есть, сделаешь на
нём reboot и больше систему загруженную уже не увидишь, если физически
не перезапустить или тыкнуть на кнопку.
https://habr.com/ru/company/globalsign/blog/498592/
Автор пишет что "Другая версия PGP с открытым исходным кодом -- OpenPGP".
Могу дальше не читать, ибо автор даже не понимает о чём говорит что
такое OpenPGP, а ещё пытается что-то делать с ним. Уж хотя бы Wikipedia
бы открыл он что ли.
Каждый открытый ключ должен быть подписан, прежде чем сообщения от
владельца этого открытого ключа можно будет расшифровать.
Эээ, что? С какой стати?
Я дважды запускал генерацию ключей, потому что не был уверен, этот
результат означает наличие пары открытого/закрытого ключей или
только одного ключа.
Ну... может читать что означает --list-keys и не задаваться вопросом а
есть ли тут ещё приватные ключи? Он выводит список публичных: чего
жаловаться на непонимание если команда очевидно не может дать на это
ответ?
Открытый ключ нужно отправить каждому, кому вы отправляете
зашифрованное письмо, чтобы он мог его расшифровать.
Блядь, что??? Автор, иди ка лучше почитай пару минут основы
асимметричной криптографии и что такое приватный и публичный ключи. Всё
абсолютно наоборот понял и твои ожидания поэтому не удовлетворяются.
-passphrase my-pass-phrase
мягко говоря, очень странное и не безопасное он делает, ну да ладно.
Я не смог найти никакой информации, как самому расшифровать свой
собственный шифротекст, поэтому пришлось отправить его ей, не зная,
правильно ли я его зашифровал
Потому что это основа любой темы начинающей асимметричную криптографию.
Автор точно совершенно не понимает для чего нужны приватные и публичные
ключи, иначе бы не задавался вопросом как расшифровать. А вообще, можно
указать несколько получателей, среди которых указать себя самого --
тогда можно будет расшифровать, вот только тогда уже два ключа можно
будет скомпрометировать для прочтения.
Если вы знаете о более простом способе шифрования почты, пожалуйста,
подумайте о том, чтобы оставить комментарий.
если хочется шифровать почту, то всё же стоит использовать почтовый
клиент который это поддерживает. Если автор шифровал просто текст,
отправляя его внутри armored сообщения, то это всё же шифрование
файла/произвольного набора данных и это не самый удобный способ общения.
Но тоже приемлемый.
Если вы знаете о более простом способе шифрования почты, пожалуйста,
подумайте о том, чтобы оставить комментарий.
Да, я знаю, но только он в любом случае потребует понимания что такое
публичный и приватный ключи и для чего они нужны. Без этого никак. Этой
базы у автора нет, поэтому он просто тупо не понимал что пытался делать.
Сегодня я для C-шной библиотеке своей думал и смотрел как делать
конфигурирование сборки. Ну, как минимум, найти где заголовочные файлы
для зависимых библиотек и какие опции нужны. Собственно, что ./configure
делает, генерируя Makefile-ы. Так как я люблю минимализм, красоту,
простоту, то autoconf... наверное последнее на что стоит обращать
внимание. Так говорят все кто хоть как-то в теме всяких Plan 9,
suckless, Go и прочего. В основном говорят про то, что современный
хорошо и добротно по современному написанный софт и ОС с дистрибутивами,
не нуждаются в тоннах всего что есть в autoconf, типа это legacy
сплошной.
Так вот suckless проекты не чураются использовать pkg-config. Да и я с
ходу вижу что изначально эта система вообще на shell была простом.
Оказалось что, как такового, pkg-config у меня в системе и нет, а есть
вполне себе не супер громоздкий pkgconf. С ним Makefile-ы становятся
удивительно простыми, как в suckless.
И чисто совпадение, но я сегодня восхитился pkg-config-ом ещё раз, когда
собирал mpv из предыдущего поста. mpv использует waf сборочную систему.
Сталкиваюсь с ней возможно впервые. Я не хочу глобально в систему
ставить ffmpeg, поэтому его установил просто в ~/tmp/куда-то. Очевидно,
waf ffmpeg там найти не сможет самостоятельно. Раньше в ./configure
(autoconf) принято было добавлять разные --with-ffmpeg опции чтобы
указать и намекнуть флаги для его нахождения. В waf ничего этого не
увидел, но в его логе нашлась простая строка: pkg-config не нашёл ничего
касательно ffmpeg. man pkgconf, быстро нахожу PKG_CONFIG_PATH
переменную, добавляю в неё директорию с ~/tmp/ffmpeg/..., ведь в нём же
есть автоматически сгенерированный .pc файл, который должен указывать
куда надо. После добавления в PKG_CONFIG_PATH, всё обнаружилось и
прекрасно собралось.
Вообще это первый опыт подсовывания pkg-config файлов, но ведь в них
действительно все нужные опции имеются! И они достаточно просты чтобы
использовать pkg-config-compatible утилиты на несколько экранов C-шного
кода. Похоже что использование pkg-config-а это очень правильное и для
моего рабочего проекта направление!
https://en.wikipedia.org/wiki/Mplayer#Forks
Заприметил сегодня что в mpv есть gapless проигрывание, плюс VAAPI из
коробки. Удалили mencoder, но при этом всё равно какое-то кодирование
есть прямо в самом mpv. Решил попробовать. Собирается непривычно, но
удалось. Вывести звук через OSS на внешнюю звуковуху получилось.
Использовать VAAPI тоже. Gapless есть. Очень много непривычного в
опциях, надо переучиваться, но... если это сильно более чистое изделие,
да и в котором единственный существенный для меня недостаток mplayer --
gapless проигрывание, решено, то почему бы и не пересесть? Насколько
понял, mencoder -ovc copy -oac copy он сделать не может, поэтому
полноценной заменой, возможно, не станет. Но у меня и задач для такого
copy всё меньше и меньше. В общем пока буду использовать mpv стараться:
надо понять как делать -vf crop/cropdetect, как выводить сырьё для
vpxenc, как делать -ao pcm, -vo yuv4mpeg, делать +/- (управлять
sync-ом), -framedrop, -af volnorm, -endpos, -ss, изменять скорость.
Пробегаясь глазами по доке, вроде почти всё это видел.
Снова как и в e7b2b9026150fa2c3032e3aa2e8afce6537ab994 раз позвонил
робот по поводу Интернета. Сразу, после того как сказали про Интернет,
спросил робот ли, и точно такой же ответ что "да, только никому не
говорите".
Мне много чего не нравится в C, ибо почти всё что не нравится исправлено
в Go -- грустно использовать инструмент, зная что рядом есть очень
похожий но с кучей убранных мин для отрыва ног, в котором всё проще,
понятнее, яснее и удобнее. Я не касаюсь таких вещей как GC и map-ы с
интерфейсами. Но вот пока больше всего что выбешивает: объявление
переменной не обнуляет её значение! Да, я понимаю что и не должно, но я
к этому так во всех языках прежних привык, что постоянно совершаю
ошибку, считая что int foo будет равно нулю изначально, как и объявление
указателя куда-нибудь.
А вот что нравится, так это тернарный оператор. Да, опять же, понимаю
что с ним можно тривиально сделать нечитаемый код, особенно два
тернарных оператора подряд использовав. Но мне их всё равно постоянно не
хватает в Go. В Python я X if Y else Z часто использую, но на протяжении
долгих лет меня всё-равно это каждый раз коробило, ибо и длинно и
условие в середине. Это должно говорить о том, что нефиг использовать,
но этот грешок меня постоянно преследует.
Форматирование C кода: фигурные скобки после сигнатуры функции
Уже какую неделю я страдал от того, что в vi команды [[ и ]] не прыгают
по функам, как это сделано для Python или Go. В этих двух языках это
возможно банально просто из-за наличия "func", "def", "class" и подобных
слов, по которым превосходно можно делать навигацию. В C же, разбитое
на множество строк объявление функи, невозможно просто так регуляркой
выцепить.
Для форматирования кода я использую clang-format, у которого очень много
ручек настройки этого форматирования. Руками я вообще ничего не делаю. И
меня осенило что [[ и ]] прыгают по фигурным скобкам на начале строки и
clang-format-у можно сказать чтобы он все функи вот так и форматировал:
int main()
{
...
}
Я много видел странного форматирования и такое вот меня бесило. Ладно,
самое странное и безумное что я видел -- GNU стиль. Хотя наверное там не
просто так всё. Вот и тут эти фигурные скобки бьют по глазам, но зато
теперь навигация по коду стала невероятно простой. До этого хака я вовсю
использовал https://github.com/jeetsukumaran/vim-indentwise плагин, но с
ним приходилось глазами понимать где находится мой курсор и какую
команду надо дать чтобы прыгнуть на основе indentation в начало функи.
Для просмотра изображений я использую sxiv: https://github.com/muennich/sxiv
А он в свою очередь imlib2 для декодирования изображений. Только начиная
с версии 1.6 эта библиотека из коробки поддерживает WebP.
Чтобы Mutt корректный выставлял MIME-тип, то пришлось добавить:
echo image/webp webp >> ~/.mime.types
Поездка на общественном транспорте Москвы будет деанонимизирована
https://lenta.ru/news/2020/04/20/propsk/
За всё последнее время я в Москву ещё не наведывался на работу, хотя
пропуск есть. Но правило привязки карты Тройка к персональному пропуску
удручает. Если очень понадобится на работу поехать, то мне сильно
повезло что я за час смогу дойти до неё от ВДНХ.
Больше всего пугает то, что это наверняка оставят и после того, как
настанут рабочие дни. Хотя, возможность получения кода по SMS всё же
оставили, так что возможно и тут одумаются. Не, погода сейчас не
холодная и грязи нет, но тратить по четыре часа, в лучшем случае, вместо
двух-трёх, каждый день на поездку не очень приятно.
https://en.wikipedia.org/wiki/Free_Lossless_Image_Format
В предыдущей заметке говорил про WebP. А ведь есть ещё вот и FLIF,
использующий MANIAC (вариант CABAC), судя по описанию ещё сильнее должен
превзойти в lossless сжатии. Но это только для локального хранения может
подойти, ибо броузер то уж такое не будет показывать, в отличии от WebP.
BPG и HEIF ещё есть, использующие алгоритмы из HEVC-а. Однако их я бы не
стремился даже пробовать, ибо это всё патентованные не свободные
технологии, в противовес VP8 (хотя lossless WebP сжатие (VP8L), вроде
как, отношения к VP8 не имеет). Apple заявляла что HEIF будет вместо
JPEG использоваться... ну раз Apple сказала, то эту технологию точно не
стоит брать в руки, ибо максимально несвободно, патентованно и с DRM-ом
будет.
https://en.wikipedia.org/wiki/WebP
Про этот формат сжатия изображений я слышал очень давно, но почему то
никогда не трогал и не игрался с ним. Пересжал я им lossless PNG-шки,
обработанные pngcrush-ем (я все PNG им переделываю) с сайта PyDERASN:
http://pyderasn.cypherpunks.ru/download/iamgoing.jpg (локально PNG версия)
http://pyderasn.cypherpunks.ru/_images/browser.png
http://pyderasn.cypherpunks.ru/_images/pprinting.png
Делал просто cwebp -lossless, проверял потом декодируя в PPM формат
оригинал и WebP и считал хэш получившийся.
iamgoing.png на самом деле изначально вроде JPEG-ом был.
Он сжался на: 157316 -> 107258 (~32%)
browser.png: 50989 -> 24978 (~51%)
pprinting.png: 50795 -> 19838 (~61%)
50-60%! Офигеть! Да и даже мой древненький webkit-based Xombrero броузер
из коробки его отображает. Похоже, я буду полностью переходить с PNG на
этот формат. Всё же более половины экономии это очень не хило.
Всё это я писал не используя -z/-m опции, которые позволяют торговать
CPU и уровнем сжатия. С -z 9 сжатие ещё на 1-2% лучше будет.
https://www.youtube.com/watch?v=f2pyAiACP-w
У этих финнов сплошная толкиеновская тематика, заводная музыка, отлично
под которую работается. На некоторых трэках их альбомах отличнейший гроул!
В 69f3f2c6ca8d8f2800343f27fc4daef02bd89fc2 писал, что на работе в
качестве IM-а используется Mattermost. Использую его через matterircd:
демон выступающий в роли IRC сервера и как клиента Mattermost.
Количество каналов за это время существенно выросло где я являюсь
участником и я заметил что очень ко многим я не подключаюсь почему то.
Иногда выходит, иногда нет. В качестве костыля, я запрещал в конфиге
matterircd подключаться самому, а дальше в irssi задавал JOIN команды
после подключения к серверу. Вчера выяснял в чём же всё таки дело.
Оказалось, что серверу на работе не нравится кол-во запросов от
matterircd и он включает защиту от flood. Пришлось в кишках демона
покопаться и выставить различные sleep-ы. Проблему поборол. Вот только
если на работе ещё какие-нибудь ручки подкрутят, то снова жди
каких-нибудь проблем. Чего только люди не придумают как бы посложнее
организовать общение между собой. Инструменты оттачиваются
десятилетиями, но нет... все перейдут на какую-нибудь новую платформу
(типа macOS или смартфонов), а на ней, само собой, ничего вменяемого не
будет.
WD, Seagate, Toshiba начали выпускать диски без указания SMR
https://habr.com/ru/post/497900/
Слежу за всем этим в рассылках с самого начала. Ну что можно сказать?
Все эти производители: ссаные пидарасы, раз позволяют не упоминать об
SMR. С этой технологией диски СОВЕРШЕННО по другому себя ведут, для них
нужны СОВЕРШЕННО другие задачи и режимы работы. По сути, современные ФС,
особенно типа ZFS, тупо ни капли под них не заточены (точнее SMR не
заточен под задачи обычных НЖМД) и, грубо говоря, не будут на них
работать. С ходу я не понимаю почему это не указывать то? Типа впихнуть
при покупке, а потом отказаться, ведь диск то исправен, не наши проблемы
что ваши general purpose filesystems/RAID/whatever не работают с ними? В
рассылке один человек уже рассказывал что ему отказали в сдаче, ведь
диск то работающий, чисто технически.
Как-то я смотрел серию передач "трудности перевода", где разбирались
разные переводы компьютерных игр. И там не раз повторялось что мат
должен быть, обязан, ибо это не реалистично. Типа никто не будет орать
"мне ногу оторвало, чёрт подери!" в реальности. С родителями как-то заходила
тема о реалистичности в фильмах секса (со всеми подробностями, крупным
планом), всякой крови, расчленёнки, когда кишки крупным планом смакуют.
Недавно видел новость про то, что одобряют и поощряют как реалистично
стали показывать ничем не примечательную (как пишут) женскую
мастурбацию: видел пару фильмов где был такой кусок... вообще никак на
сценарий или восприятие жизни главного героя не влияющий, вырежи и ни
бита не потеряется. Потом вспомнилось обсуждение "бодипозитива" (какое
же идиотское и тупое слово/название!) на работе.
А вот лично я хочу смотреть на нереалистичные моменты. Хочу не видеть
множество элементов реализма. Мне не интересно как кто-то пошёл посрать,
у кого была отрыжка во время еды, если это не напрямую влияет на сюжет.
Аналогично этому тупейшему "бодипозитиву": я ХОЧУ смотреть на красивых
людей, хочу смотреть на то как они пять минут метелят друг друга, хотя в
жизни большинство вымотается после нескольких ударов.
Бодипозитив то тупейшее явление на самом деле вдвойне, ибо он
отталкивается от того, что в фильмах/рекламах показывают некий идеал и
к нему стремятся. По моему, только тупые последователи (других то там и
не будет) этого движения и воспринимают людей с рекламы как идеал и что
другие люди к нему хотят стремится. Да я по пути на работу или на самой
работе вижу куда более красивых, симпатичных, желанных, обаятельных
девушек чем в фильмах за целый год. Безусловно внешний вид некоторых
актрис иногда и перехватывает дыхание, но... я ХОЧУ этого. Я пришёл
посмотреть фильм, сказку, историю, выдумку. Пускай даже не выдумку, но
крайности которые в жизни маловероятны. Я хочу любоваться тем что там
показывают, а не кивать головой на то, как реалистично она пукнула во
время мастурбации, пролив на себя суп, при этом это была бы не комедия
где весь акцент на неряшливой героине. Бодипозитив это когда считают,
что ты считаешь, что женщины с рекламы это настоящие, а всякие жирнухи
(которых в целом то не много в нашей стране) это инопланетяне и поэтому
тебе надо с плакатов рекламы их показывать чтобы ты не отрывался от
реальности. Это аналогично пидарасам: им мало кто чего запрещает,
большинству пофиг кто там с кем спить и чем занимается, но орать им о
себе нужно ещё как, привлекать внимание.
Людям ратующим за реализм в фильмах, похоже самим нужно начать жить в
настоящем мире, чтобы понять, что фильмы то смотрят чтобы выбраться за
рамки действительности. Безусловно, есть жанры когда основной упор на
реализм и иногда оно нужно, как например про ужасы войны, показывая что
там нет ничего хорошего или романтического. Но это особые случаи. Я хочу
посмотреть какую-нибудь историю, без того чтобы в неё подмешивали
многоминутные порнографические сцены, потому что это реалистично (только
не относится к истории).
http://ca.cypherpunks.ru/
http://blog.cacert.org/2020/03/technical-problems-with-signer-machine/
Так как из-за коронавируса CACert.org потерял доступ к своей машине
создающей подписи и она не работает, а у меня некоторые сертификаты уже
протухают с недели на неделю, то решил создать свой CA.
* Let's Encrypt я принципиально не приемлю: по сути централизованный,
под США, требующий кучу геморроя (дополнительного софта) CA
* CACert.org был единственным известным мне из оставшихся бесплатных CA
* Доверять ли моему CA? Хороший вопрос, так как я же ведь смогу сделать
сертификат для google.com. Но Let's Encrypt-у же люди слепо доверяют?
* В любом случае, безопаснее всего делать certificate pinning для
конкретных доменов. Конечные сертификаты я сделал на год
* Этот CA -- всего лишь точка доверия, подписанная моим PGP ключом
Из плюсов: использую ECDSA ключи, вместо огромных RSA, что и существенно
быстрее и трафик экономит.
Не исключаю что когда CACert.org вернётся в строй, то я вновь начну его
использовать. Но не уверен.
https://www.youtube.com/watch?v=X_TSFYiKC1c
Сегодня вспомнил о такой группе как Adorned Brood и достал когда-то
приобретённые её альбомы. Totenmarsch трэк сегодня аж несколько раз
переслушал -- нравится. В YouTube правда только одну live запись смог
найти с очень громким звуком.
Регистрация новых вебкам-моделей выросла на 37—69%
https://habr.com/ru/news/t/497374/
Типа работы нет из-за вируса, вот и пошли в проституцию. В
комментариях пытаются доказать что мораль сейчас поменялась
и это всё нормально. Ну... я уж буду ханжой, но проституцию
не могу оправдывать или поощрять.
В реальной жизни почти никто не проверяет отпечаток SSH-ключа сервера
не особенно задумываясь о возможности MiTM-атаках.
Ага, то есть, SSH делает всё что бы было безопасно, но особо умные в
реальной жизни не проверяют всё равно, хотя процедура тривиальнейшая.
Если человек так плевать хотел на безопасность, где везде соломка уже
подложена, то может ему SSH то в принципе не стоит использовать и
подпускать к нему?
Но нет! Мы теперь аутентичность нашего SSH ключа просто отдадим в руки
DNS регистраторам, которые DNSSEC подписывают. Ага, давайте.
https://www.opennet.ru/opennews/art.shtml?num=52737
Меня очень удивляют заявления людей о том, что тот самый ZFS-on-Linux,
который BSD-шники хаяли, теперь в FreeBSD. Точнее удивляет
безграмотность техническая. Есть код касающийся исключительно и чисто
ZFS, а есть куча кода обвязки и внедрения этого ZFS-а в ядро, в VFS, в
ФС и остальные подсистемы ядра. Можно использовать какой угодно код ZFS,
но если его использование в контексте ядра не может корректно помечать
страницы ARC-а как page cache, то тут без разницы какой у вас под
капотом код ZFS.
ВСЕ нарекания к качеству ZFS под Linux касаются по сути то только
как-раз его обвязки, интегрированности в ядро. То, что теперь общая
кодовая база для самого ZFS-а будет -- это прекрасно и здорово! Только
это не означает что проблемы именно интеграции с ядром (да и самого
ядра) Linux перенесутся на FreeBSD, ибо они не касаются кода самого ZFS.
А так я бы хотел уже пощупать родное ZFS шифрование и zstd сжатие!
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-April/000044.html
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-April/000047.html
Прежде тэги не проверялись при декодировании на чёткое следование
требованиям BER/CER/DER (они общие для тэгов). Например там могли идти
байты с нулевым значением -- при декодировании номер тэга будет такой
же, но у него несколько разных представлений возможно. Кроме того, любой
тэг в короткой форме можно всегда представить и в длинной, что тоже
запрещено.
Почему я раньше не проверял? Наверное были мысли о том, что, раз всё
равно наверняка декодирование будет идти по схеме, где в виде байтов
задаётся требуемый тэг, то вопросы его корректности -- это вопрос
корректности схемы, который PyDERASN-а не касается. Но функи типа
tag_strip, len_decode используются далеко не только во внутренностях и
работе с высокоуровневыми объектами, поэтому было бы хорошо чтобы они
блюли стандарты и проверки. Благо что BER/CER/DER требования тут общие.
Плюс добавил явный запрет на использование aware datetime-ов, ибо по
сути работа идёт только с naive временами, и aware datetime-ов может
смутить разработчика неожиданным поведением.
Снова установка GNU/Linux и снова НЕ на первый жёсткий диск
Ставил тут Devuan не флешку (Linux-specific утилиту надо было запустить,
а Devuan как default distribution беру), загрузившись с CD. Всё успешно
шло до момента установки загрузчика. На компьютере был жёсткий диск с
FreeBSD: мне сказали что на компьютере, похоже, нет других систем и
предлагают установиться в MBR первого диска. Я говорю нет и выбираю
флешку для установки. Ну и конечно же после перезагрузки ничего с неё не
грузится.
Я вот уже даже не помню толком: хоть 1 из 10 дистрибутивов позволяет
установится УСПЕШНО не на единственный и первый диск в системе и быть
потом загруженным? Загрузчики это всегда какая-то боль в GNU/Linux мире.
Хотя точнее наверное говорить про GRUB, ибо с syslinux и [вроде ещё
какие-то простые есть -- вставить нужное] проблем не помню, но давно уже
было.
А ещё ставил Astra Linux. Этот дистрибутив вообще просто в initrd в
fstab прописал sda1, поэтому если, после установки на флешку, вставить
жёсткий диск, то он не будет загружаться.
Пришло мне тогда три сообщения от одного знакомого, которые никак не
ожидал, не шибко приятные. Без подробностей, на профессиональную тему,
но вчера вот понял с чем их можно было сравнить: только с моментом когда
бывшая сообщила что мне изменяла. Такой же удар молнии (хотя прочитав
сообщения я по началу даже и не понял точно мне ли они были адресованы),
потом колотящееся сердце, гнев, негодование, удивление, и т.д.. Не знаю
что там выбрасывается организмом, адреналин или ещё чего, но руки
тряслись минут 15, хотя даже в моменты близкие к драке так не трясло.
Причём и в этом случае, и в случае с изменой, самое обидное то это
чувство что тебя предали (сделали то, чего ты уж точно не ожидал), хотя
если поразмыслить, его тут нет, ибо никто никому ничего не должен
(женщина, если не замужем, никому ничего не должна и ничем не обязана,
как они все говорят). Эх, кому ж верить то и на кого можно полагаться?
Жизненный опыт, очевидно, должен научить пониманию людей и тому, чего от
каждого из них можно ожидать.
* На сайте сплошной обфусцированный закрытый JS-код, поэтому через него
получать не вариант
* Установка приложения на смартфон -- нут без комментариев уровень
слежки и, опять же, закрытое ПО
* Есть обычный телефонный номер для получения, но коллеги сообщают что
там время ожидания 30мин -- мягко говоря, дороговато чисто на связь
выходит, ведь оно и оборваться легко может и нужно всё с начала
звонить
* Коллеги говорят что там необходимо или номер автомобиля своего
вписывать или номера карт Тройка/Стрелка. До Москвы я добираюсь за
наличку на маршрутке (если на электричке, то, опять же, только за
наличку), а дальше до работы могу иди пешком. Получается такой вариант
тоже не вариант, ибо я не могу не указать номера карт/автомобиля
Но судя по новости https://lenta.ru/brief/2020/04/13/propusk_guide/
это можно получить через SMS, где номера карт опциональны. Текст там на
русском надо набрать, а у меня только несколько месяцев назад появился
сотовый где можно кириллицу ввести.
А сетевуха всё же виснет на ноутбуке под нагрузкой
В продолжении e1f6b92ee30063104f65d30ffd7a0c9646e79d81, сегодня вновь
гонял много трафика и вновь возникали watchdog-и на re0. Но вот только
она уже полностью переставала гонять трафик, даже ping не работает. Хотя
link поднимает.
Понадобилось мне тут поработать с ASN.1. Но на низком уровне:
декодировать тэг, длину по отдельности. Нашёл для этого функу в OpenSSL
у которой вообще нет документации, и названия переменных такие, что мне
реально нужно интерпретировать в голове по сути весь её код чтобы понять
что же это там всё такое. Нашёл похожие функи в libtasn1. Небо и земля!
Буквально полная противоположность и по качеству кода, и по его
документированности и по проверкам на переполнение и по хотя бы наличию
в нормальном вменяемом виде документации. А OpenSSL код... создаётся
впечатление что его буквально говнякали на коленке за пять минут.
Более того, отпарсить тэг в котором 16-битный номер зашит OpenSSL не
смог. Просто возвращает ошибку и всё тут. libtasn1 -- без проблем.
Лично меня (пока?) изоляция в целом радует. Не, с ходу, конечно, могу
сказать что скучаю по собакам (ух как мне не хватает обнимашек с ними!),
встречам с родителями (у которых собаки) и потом это только усилится. Но
самое главное то, что я уже какую неделю встаю без будильника! Каждый
день у меня чувство что я выспавшийся! Ну и плюс целыми днями я слушаю
музыку в отличном качестве в открытых наушниках, чего на работе
невозможно. Но вставать тогда, когда твой организм захочет... ух здорово!
Посмотрел "Краденое свидание", "Путешествие Гектора в поисках счастья"
https://ru.wikipedia.org/wiki/%D0%91%D1%83%D0%B4%D1%8C_%D0%BC%D1%83%D0%B6%D1%87%D0%B8%D0%BD%D0%BE%D0%B9_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
https://ru.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D0%B5%D1%88%D0%B5%D1%81%D1%82%D0%B2%D0%B8%D0%B5_%D0%93%D0%B5%D0%BA%D1%82%D0%BE%D1%80%D0%B0_%D0%B2_%D0%BF%D0%BE%D0%B8%D1%81%D0%BA%D0%B0%D1%85_%D1%81%D1%87%D0%B0%D1%81%D1%82%D1%8C%D1%8F
А эти фильмы посмотрел уже потому что в них в главной роли снимается
Саймон Пегг. И просмотра этих не пожалел! Первый очень забавный, лёгкий,
хорошо заканчивается, отличная, на мой взгляд, игра актёров. Второй тоже
хорош и довольно разнообразен. Пэгг играет в нём, по мне, отлично! Тоже
легко смотрится, хорошо заканчивается.
https://ru.wikipedia.org/wiki/%D0%9C%D0%B0%D0%BB%D1%8B%D1%88_%D0%BD%D0%B0_%D0%B4%D1%80%D0%B0%D0%B9%D0%B2%D0%B5
Взял этот фильм исключительно потому что от режиссёра трилогии "Кровь и
мороженое". Плюс там же Кевин Спейси! Пожалел. Главный герой редкостно
бесит почти всем, каждым движением, словом, действием. Подставляет тех
кого любит -- тупой придурок. Настолько идиотичного главного героя
сложно придумать и не объяснить кроме как паршивым сценарием. Да и все
остальные постоянно мелют языком, вместо того, чтобы дела делать. Спейси
харизматичен, но вытянуть фильм он не может.
Электронные пропуска в Москве для тех у кого нет смартфона или Интернета
https://lenta.ru/news/2020/04/12/sposob/
Ну я бы ещё добавил "для тех, кто не собирается запускать у себя
несвободное ПО". Молодцы, возможность оставили для людей типа меня. Про
аналогичный fallback для подмосковья ещё не слышал. Впрочем... мне и
ездить то никуда не надо.
https://ru.wikipedia.org/wiki/%D0%90%D1%80%D0%BC%D0%B0%D0%B3%D0%B5%D0%B4%D0%B4%D0%B5%D1%86
https://ru.wikipedia.org/wiki/%D0%97%D0%BE%D0%BC%D0%B1%D0%B8_%D0%BF%D0%BE_%D0%B8%D0%BC%D0%B5%D0%BD%D0%B8_%D0%A8%D0%BE%D0%BD
https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%BE%D0%B2%D1%8C_%D0%B8_%D0%BC%D0%BE%D1%80%D0%BE%D0%B6%D0%B5%D0%BD%D0%BE%D0%B5
Посмотрел я тут какие ещё фильмы есть у создателя, так когда-то мне
понравившихся, "Типа крутых легавых". Оказывается это всё является
частью трилогии "Кровь и мороженое". И действительно во всех фильмах
чуть ли не 2/3 актёров общие. ВСЕ три фильма -- просто отпад! "Легавых"
я смотрел давно, но помню что начинается так всё по простому, а потом
наступает какая-то чёртова чертовщина! Во всех фильмах трилогии --
аналогично. И "Зомби" и "Армагеддец" заканчиваются так, что, волей не
волей, но хочется спросить "что это только что было!?". Очень
неожиданные концовки, офигенная парочка главных героев (Саймон Пегг и
Ник Фрост)! Я давно таких хороших... комедий (или правильнее сказать
ужастиков?) не смотрел!
https://habr.com/ru/post/495966/
А что самое печальное, что некоторые из этих людей могут *годами*
работать программистом, хотя очевидно они совершенно не понимают что
творят. Но статья очень понравилась, ибо... нет пределов тупости.
Depeche Mode (песня Stripped) + Rammstein (музыка) + На-На (видеоряд)
https://lenta.ru/news/2020/04/07/nana/
Вполне себе получается отличный видеоклип! Девушка радует глаз, а музыка
уши. Я уж не знаю насколько всё же было сделано монтажа (если вообще
было), но получилось здорово.
https://www.opennet.ru/tips/3141_pulseaudio_alsa_linux_sound_audio.shtml
Это шутка такая? Сплошные настройки resampling-а! То есть, софт
декодирует звук, получается какой-нибудь 44.1kHz/16b и его ещё
подвергают преобразованиям, вместо того, чтобы просто подать на звуковую
карту. Зашибись, но я на таком музыку не хотел бы слушать.
Когда-то давно в C стандарт была введена "#pragma". Так как официально
её поведение было не определённым, то GCC на полном серьёзе в
документации и коде имел:
The "#pragma" command is specified in the ANSI standard to have an
arbitrary implementation-defined effect. In the GNU C preprocessor,
"#pragma" first attempts to run the game "rogue"; if that fails, it
tries to run the game "hack"; if that fails, it tries to run GNU
Emacs displaying the Tower of Hanoi; if that fails, it reports a
fatal error. In any case, preprocessing does not continue.
Проблема и бага только в том, что в GCC код не соответствовал
документации, так как "hack" запускался прежде "rogue"!
https://en.wikipedia.org/wiki/List_of_cover_versions_of_Depeche_Mode_songs
git говорит что я не упоминал об исполнении этой песни на концерте
Lacuna Coil. Сильнее всего то меня удивило что, особо не слушая Depeche
Mode, я знал большинство слов, весь припев, и на концерте подпевал
вместе со всем залом. Depeche Mode круты, что их Stripped все знают,
благодаря Rammstein, Enjoy The Silence этот (ещё с две дюжины групп
её перепели). Судя по списку каверов, даже black metal не чуждается их
творений. А я сейчас как-раз переслушиваю их альбомы -- работается под
них вполне себе.
Стал я тут что-то часто перемещаться между директориями разных проектов
или частей проекта. Даже со всеми автодополнениями это может занимать
ощутимое время. Так и хочется сделать некий алиас на директорию. zsh это
позволяет:
hash -d foo=~/work/foo/bar/baz
и cd ~foo перейдёт куда надо, даже сделает подстановку пути prompt.
Но в zsh есть и гораздо более мощный инструмент когда можно по частям
собирать путь до куда хотим перейти через функу zsh_directory_name_generic.
Делая cd ~[gs:p:s] мы говорим о том, чтобы перейти в git директорию
scratch (gs), нашего пользователя $USER, в поддиректорию myproject (p) и
его documentation (d), задав вот такие настройки:
local -A zdn_top=(
g ~/git
ga ~/alternate/git
gs /scratch/$USER/git/:second2
:default: /:second1
)
local -A second1=(
p myproject
s somproject
os otherproject/subproject/:third
)
local -A second2=(
p myscratchproject
s somescratchproject
)
local -A third=(
s top/srcdir
d top/documentation
)
Этот пример я взял из документации к этой функе. Сам не использую, ибо
пока нет таких сложных переходов, да и квадратные скобки (их набор)
напрягают.
https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D1%8C%D1%84%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C
Где-то прочитал что это чуть ли не первый киберпанк фильм. Аж 1965-го года.
В принципе да, антиутопия, закат человечества, царство технологий
(точнее одного Альфа-60 компьютера, управляющего всем городом). В целом
понравился. Очень крут стиль, архитектура всего что там происходит. В
одной сцене в зеркале, правда, был даже виден оператор, но ничего
страшного. Особенно красивы там девушки. Правда, на протяжении всего
фильма, всё усиливаясь к концу, поражаешься уровню безопасности всего
города и его центрального компьютера -- один человек из вне легко и
непринуждённо проникает в их машинные залы и перебивает там людей,
уничтожая всё. Если компьютер такой умный, то уж о своей безопасности
обязан был куда больше думать, ведь он же имеет дело с людьми! Но это
наверное объясняется тем, что своим расизмом создатели города настолько
высокомерны, что считают себя неуязвимыми.
Провозился с LibreSSL/OpenSSL и начинаю понимать почему его ненавидят
Несколько дней назад я работал с libgcrypt. Отличная понятная info-дока:
поясняется как и что надо делать, дают советы, и т.д., и т.п. Просто
читаешь и делаешь. OpenSSL... мягко говоря, совершенно непонятно откуда
начинать, какие советы есть. В Wiki: https://wiki.openssl.org/index.php/Libcrypto_API
даётся понятный пример как начать использовать libcrypto, но... как мне
по man-ам то дойти до всего этого?
Коды ошибок: man говорит что, как правило, можно сравнивать с 0/1 (где 1
это успех), но иногда бывает всё наоборот у некоторых фунок. В libgcrypt
выдаются нормально отдельно типизированные структуры с ошибками. В
libcrypto у вам просто пулемёт нацеленный на ваши ноги. Это жесть, ужас.
Не, я понимаю что это наверное из-за legacy и совместимости, но это...
даже мне, абсолютно начинающему C-программисту, понятно что ни в какие
ворота.
Почти всё что я с libcrypto делаю -- на всё отсутствует документация
хотя бы даже в виде неких docstring-ов в коде и приходится тупо читать
каждую строчку и догадываться.
https://www.opennet.ru/opennews/art.shtml?num=52652
С появлением всей темы об удалённой работе, я впервые услышал из
новостей про Zoom. Потом я услышал что в нём вообще нет никакого E2EE,
хотя они нагло заявляли что есть. И сейчас куча блогов завалены всем
этим Zoom. Я вот не понимаю: раньше что ли не было никаких решений для
телеконференций? Непойми откуда внезапно появилась какое-то приложение,
люди какого-то чёрта массово его начали использовать, а потом все
возбухают и ужасаются что там никакой приватности нет, их собственная
криптография ещё хуже чем в Telegram, плюс, вроде как, ещё и в Китай
сливают. Для меня со стороны это выглядит так: выбрали рулеткой какой-то
софт, сделали вид что раньше без него нельзя было, увидели что софт то
говно (с точки зрения безопасности) и давай дни напролёт в блогах о нём
писать.
Судя по новости, Zoom стал популярен, как раз из-за заявлений об E2EE.
То есть, люди ничему не учатся: Дуров заявлял про хорошую криптографию в
Telegram и все ведутся, теперь вот другие. Только вот даже правительства
успевают подсесть на подобные приложения, в которых и ещё и backdoor-ы и
слив в Facebook.
https://www.opennet.ru/opennews/art.shtml?num=52677
Вот именно поэтому (одна из причин) я не понимаю как можно вообще жить в
экосистеме современных смартфонов. Это ж как старый DOS или Windows:
сплошные вирусы и прочее, только тут уже речь про то, что ваше
устройство легко может быть под управлением кого угодно другого.
https://ru.wikipedia.org/wiki/%D0%94%D0%B6%D0%B5%D0%BD%D1%82%D0%BB%D1%8C%D0%BC%D0%B5%D0%BD%D1%8B_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Ну что могу сказать... у Рая Ритчи ещё есть порох в пороховницах!
Отличный фильм! Очень понравился! Это конечно не тот action забавный как
"Карты, деньги, два ствола" и "Большой куш", но всё равно превосходнейший
фильм! И сюжет и игра актёров и разговоры! Плюс мне очень нравится Мишель
Докери, а только наличие Колина Фаррелла и Макконахи уже говорят о качестве!
https://lenta.ru/news/2020/04/03/observ/
https://lenta.ru/news/2020/04/03/dry_low/
В первом видео человек считает что можно отбросить коньки от, по мне
так, отличной еды (йогурт, кофе, картошка, котлета, салат). Мне просто
даже любопытно а что он привык есть то?
А в Якутии за два дня выпили недельный запас спиртного. У нас
родственник работает экспедитором в области в магазинах. Говорит, что
пиво они развозят буквально в разы больше чем прежде -- никогда в таких
количества не видели поставок. То есть, реально, в московской области
(по новостям видно что и в других) бухают конкретно. Интересно сколько
помрёт на почве пьянства и дебошей?
В 69c87e2694ffb0b7d18133a7def4a3abab4b0991 писал о том, что, как
минимум, на несколько недель CACert.org не сможет продлевать
сертификаты. А у меня через 45 дней больше десятка протухает. Вот
интересно, CACert.org восстановит работоспособность к тому времени?
Если нет, то.... бесплатных кроме Let's Encrypt-а нет. Его я
принципиально не хочу. Что ж делать то, получается только свой
самоподписанный CA?
https://roskomsvoboda.org/56975/
Ну да, молодцы, я думаю в одной только Москве миллионы людей пересели на
удалённую работу (отец у меня вот, хотя штатно он только из офиса), а
эти конечно же именно сейчас нашли время когда вредить работоспособности
и доступности надо. У меня почти все ресурсы (которые не на .ru)
открываются со скрипом и это даже если в броузере где у меня и картинки
автоматом не загружаются и JavaScript-а нет.
https://www.opennet.ru/opennews/art.shtml?num=52659
Ну... как-то, я бы сказал, уныло. Лучшие шутки это конечно же RFC, хотя
и отказ Guix от Linux хорош, но очевидно что Hurd очень далеко ещё надо
проделывать путь. Мне больше всего вспоминается из прошлых лет выпил
IPv4 из OpenBSD и что Кармак будет работать в ScummVM:
https://www.scummvm.org/data/news/20160401.jpg
https://habr.com/ru/company/globalsign/blog/495314/
Взбесила статья. Суть такая: ВОЗ и ещё куча официальных крупных
организаций говорит и советует делать одно, но профессор Зейнеп Туфеки
говорит что это всё ложь. Видимо, уж профессору то мы должны больше
поверить. Хотя при этом там же явно написано что ВОЗ делает "ложь во
благо", но типа раз это ложь, то нужно плюнуть на неё и делать как
профессор и мы посчитаем нужным. То есть нужно не делать так, чтобы
уменьшить риски, последствия и урон, как это стремится делать ВОЗ (и
другие). Власти вынуждены давать советы чтобы "снизить ажиотаж и
остановить панику" -- ну... молодцы, именно это они и должны делать, ибо
хуже паники ничего не может быть, всё верно, поддерживаю. Но статья
считает что раз это дезинформация, то надо принципиально брать и сметать
маски, ага, чтобы реально нуждающимся их не хватило, зато мы не
следовали лжи. Уроды короче, которым нужно просто показать что они не
следуют лжи, вместо того чтобы уменьшить урон и вообще проблемы.
https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=1e220874b4f99cbf411d218a62075f96a8a24ea9
Дока по libgcrypt, как и штатно всё GNU-шное, находится в .info файле.
Ну точнее в Texinfo, который можно и в HTML отрендерить, но зачем, когда
есть .info? Но сегодня мне прям особо много пришлось лазать и искать по
нему всякое. Прочитал гораздо более внимательнее доку по самому info и,
оказывается то, он очень и очень даже ничего броузер то! Во-первых, в
нём есть цветовая подсветка, что мне нравилось в pinfo (но его не
использовал кроме пары запусков, так как он не рендерил UTF-8),
во-вторых очень неплохой "I" поиск, которого мне не хватало. Хочется
скроллер мышки чтобы работал? Пара строчек и всё будет. Очень часто мне
нужно было сделать window split чтобы удобно прочитать какую-то другую
секцию документации. Ну я то делал tmux-ом, потом искал куда надо
перейти. В info оказалось поддержка windows split-ов есть из коробки.
Прежде я только читал его и суммарно написал наверное 150 строк за всю
жизнь на нём. В отличии от Rust, меня особо нигде не воротит в нём. Да и
вообще не воротит. Но удручает после Go. Всякие мелочи типа "name *int"
vs "int *name" -- ну почему придумали добавлять звёздочку к имени? Не,
наверное причина есть, но в Go же в итоге сделали гораздо более
читабельно. Да и то, что вначале идёт типизация, потом имя (к которому
всякие звёздочки могут быть добавлены), потом возможно инициализация --
имя, получается, находится где-то в середине строки, что неудобно же. В
Go имя чётко находится вначале, всегда, детерминировано. Внимательно
просмотрел книгу Кернигана и Ричи -- вижу как много способов выстрелить
себе в ногу имеется и как же их много убрали в Go. Воситину, Go это C
каким он должен был быть!
Но в целом всё ожидаемо мною и мне нравится. Почитал про разные стили
написания C кода и... большинство меня отталкивают, особенно после
привычек в Python/Go. Ладно, как минимум, хотелось бы инструмент
автоматизирующий форматирование кода, аналогично go fmt. Попробовал
indent -- из коробки он сделал ужас (лично по мне), а man по нему
большой. А вот clang-format сделал всё очень даже ничего, только
величину отступа пришлось поправить. Я был шокирован, увидев что в C
нельзя оставлять запятую в конце последнего аргумента!
Высокоуровневые привычки (даже из Go) конечно терзают, но ничего. В C
реально прям много интересных подходов у K&R увидел, хотя большинство из
них мог бы отнести к yet another way to shoot your leg. C *гораздо*
сложнее и богаче возможностями самовыражения чем Go.
Приложение от правительства Москвы -- тотальная слежка
https://roskomsvoboda.org/56900/
Кто бы сомневался! Приложение сливает всё что только можно слить, да ещё
в открытом виде, да ещё за рубеж. Единственное с чем я не согласен в
статье это с заявлением о том, что "слежку москвичи не простят" -- как
показывает практика, люди самостоятельно выбирают и делают всё, где
больше слежка (смартфоны, WhatsApp, Telegram, и т.д.). В статье ещё
упомянуто что людям насильно выдают смартфоны со всем этим софтом. Вот
вам персональный телекран!
https://github.com/caseykneale/VIMKiller
Сделали кнопку для принудительного выхода из vi, если кто-то нечаянно в
него зашёл (явно по ошибке). Спасительное устройство!
Sergey Matveev [Tue, 31 Mar 2020 13:59:50 +0000 (16:59 +0300)]
Засветился в четвёртом томе "Программирование: введение в профессию"
http://www.stolyarov.info/books/programming_intro/vol4
Делал как-то пожертвование и поэтому в начале книге засветился. В целом
мне нравится как эта книга пишется. Но проглядывал по диагонали.
Sergey Matveev [Tue, 31 Mar 2020 07:34:39 +0000 (10:34 +0300)]
Внезапно узрел что Yggdrasil использует TCP для работы
https://yggdrasil-network.github.io/2018/07/13/about-mtu.html
И без возможности использования UDP. Безусловно, удобство большого MTU,
возможность работы за SOCKS/Tor/whatever это приятно, но для high
performance TCP для VPN-а уже не годится. Если раньше я в принципе
гипотетически мог рассматривать Yggdrasil как альтернативу VPN, то
сейчас уже нет. Это штука (суперская!) для создания mesh сетей, но всё
же не может выступать как high performance решение. Как альтернативу
IPsec можно рассматривать, получается, только WireGuard из современных
достойных решений.
Sergey Matveev [Mon, 30 Mar 2020 21:26:04 +0000 (00:26 +0300)]
Skylark -- оказывается наша группа из Петрозаводска
https://posadafolk.blogspot.com/2019/02/skylark-2cds.html
https://www.russiandvd.com/index.php?route=product/search&type=band&id=4615
Folk-а я не много слушаю, но альбом Reipas Tuuli бывает ставлю. Решил
почитать побольше об этой финской (как я считал) группе, а оказалось что
это вообще наша.
Sergey Matveev [Mon, 30 Mar 2020 13:16:09 +0000 (16:16 +0300)]
Что будет с нашей приватностью в ближайшее время?
https://habr.com/ru/company/globalsign/blog/494798/
https://www.schneier.com/blog/archives/2020/03/privacy_vs_surv.html
https://www.eff.org/deeplinks/2020/03/protecting-civil-liberties-during-public-health-crisis
https://roskomsvoboda.org/56813/
Пока я не нашёл подтверждений того, что москвичам нужно будет в
обязательном порядке регистрироваться чтобы получить свой персональный
код для перемещения по столице. Но не удивлюсь что это произойдёт.
Очевидно я его получить штатно не смогу: необходимость предоставить свой
номер портативного устройства слежки, плюс скачивать закрытый софт в
броузер. Судя по новостям, всё это уже вовсю применяется в Китае. Ну и
специалисты по безопасности (Брюс Шнайер, не Сноуден, которого я не
отношу к спецам никоим образом) уверены что драконовская слежка
останется после спада вируса. Причём сейчас в открытую говорят о том что
тотально следят за гражданами, а все только ещё больше будут
устанавливать какие-нибудь программы от Яндекса. Под шумок, так сказать,
слежка достигнет невиданным 1984-высот, а что самое паршивое, что
преобладающая часть населения активно этому помогает и ускоряет процесс.
Sergey Matveev [Sun, 29 Mar 2020 18:28:32 +0000 (21:28 +0300)]
Заценил альбомы Theatre Of Tragedy начиная с Musique
https://en.wikipedia.org/wiki/Theatre_Of_Tragedy
Я был знаком только с их более ранним творчеством, где чисто мрачное
готическое звучание. Насколько помню, то ещё в школе, услышав Musique,
сказал что это какая-то ссаная попса пошла и даже не сохранил на диске.
Сейчас слушаю и его и Assembly -- очень нравятся, уже хочется
переслушать! Но да, это стоит воспринимать как совершенно другую группу.
А ещё я почему то считал что это немецкая группа. Оказалось норвежская.
Sergey Matveev [Sun, 29 Mar 2020 08:20:54 +0000 (11:20 +0300)]
Такой скорости Интернета до заграницы давно не встречал
Github например мне вчера давал качать где-то со скорости в 7-40 KiB/sec.
Очень давно я не помню такой скорости -- как-будто на 10+ лет назад
перенёсся. А канал до Hurricane Electric бОльшую часть времени просто
лежал. Зато обнаружил что мой Unbound оказалось (ошибка конфигурации) не
делал запросы к DNS-ам по IPv4.
Sergey Matveev [Fri, 27 Mar 2020 09:25:26 +0000 (12:25 +0300)]
Что в СМИ только не понапишут: женщина которая пошла блядствовать
https://lenta.ru/articles/2020/03/27/dyingforsex/
Статью толком не читал, но поражает количество текста в ней. О женщине
которая заболела, недолго осталось жить, поэтому пошла блядствовать.
Впрочем... на lenta.ru не раз уж были и статьи о жизни порноактрис с
подчёркиванием что у них очень такая неплохая жизнь то выходит.
Sergey Matveev [Fri, 27 Mar 2020 07:30:14 +0000 (10:30 +0300)]
PalmOS древности
https://habr.com/ru/company/kaspersky/blog/417595/
Вроде не писал особо в блоге, но у меня был Palm Tungsten E2 -- один из
последних Palm-ов, до закрытия компанией их производства. Без него я,
можно сказать, не выходил из дома. Постоянно использовал для заметок,
как минимум. Ещё для прослушивания Vorbis (для MP3 был платный софт, а
Vorbis плагин для AeroPlayer бесплатен полностью) и чтения книг (ух
сколько я их прочитал там!). Но как устройство для ведения TODO и
заметок он был идеален! Я бы и сейчас подобное устройство бы не прочь
приобрести, даже, не смотря на то, что там проприетарное закрытое ПО: я
его рассматриваю не как компьютер, а как blackbox конечное законченное
для заданных функций устройство. Его graffiti система ввода -- ну блин,
ну ни в какое сравнение не идёт с тем, где надо толстым (значит
маленькое разрешение и большие ошибки) пальцем что-то делать, вместо
тонкого точного удобного стилуса. Восемь лет я с ним ходил, а потом он
просто отказался включаться, ни с того, ни с сего. На нём я ещё и в
interactive fiction и RPG игры резался в самолёте в Иран :-). Ещё в
SCUMM игры можно было играть (ведь его разрешение полностью отображало
DOS VGA). У Tungsten очень качественный экран (чёткость и
цветопередача): прям практически лучшее что я видел среди всех ЖК
экранчиков. А сейчас... аналогов на замену уже и нет в вопросах
интерфейса. А даже если бы и были, то наверняка нашпигованные кучей
модулей связи не отказом работы без доступа в Интернет, что не вариант
для безопасности и приватности.
Sergey Matveev [Thu, 26 Mar 2020 13:13:04 +0000 (16:13 +0300)]
Metal.Ball
https://textfiles.libsyn.com/the-metalball-episode
В очередном выпуске подкаста Jason Scott Talks His Way Out Of It он
рассказал что десять лет был в MUD-ах и видел в реальности как студенты
настолько засасывались в них, что ничего другого в их жизни не было, ну
и вылетали из институтов конечно же. Вот чего чего, но в MUD-ах я так ни
разу и не побывал, не пробовал совсем этого. Впрочем, я и в принципе то
даже online игры никогда не пробовал (кроме запускаемых в LAN). Сейчас
уже, думаю, поздно начинать. Если interactive fiction игры ещё можно в
одиночку играть и проходить, то MUD это всё вокруг людей.
Sergey Matveev [Wed, 25 Mar 2020 12:31:32 +0000 (15:31 +0300)]
Убрал дьявольские тормоза sdcv
Много лет использую эту программу словаря. Но она всегда жутко
тормозила. Стыдоба, но я почему-то не сразу понял проблему и не смог
быстро понять в чём же дело. Для утилиты выставляется переменная
окружения указывающая на директорию где могут быть словари (dic/). И у
меня она указывала на $HOME, так как в $HOME/dic словари и лежат. Так
она по всей иерархии, получается, гуляла постоянно и поэтому дико долго
отрабатывала.
Я чисто случайно обратил внимание, когда запускал env, на то, что
STARDICT_DATA_DIR указывает прямо на домашнюю.
Sergey Matveev [Wed, 25 Mar 2020 04:18:42 +0000 (07:18 +0300)]
Закоммитил почти всю свою ~/bin директорию
https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=d2e5cc8ecae8174df5a584931c0e839577c4efbd
В которой тьма скриптов относительно постоянно используемых. Многое это
однострочники.
Sergey Matveev [Tue, 24 Mar 2020 07:33:54 +0000 (10:33 +0300)]
Женщина в Армении отрубила весь Интернет лопатой
https://web.archive.org/web/20141225063937/http://www.wsj.com/articles/SB10001424052748704630004576249013084603344
Новость ещё 2011-го года правда. В поисках медного кабеля, она
перерубила лопатой оптоволоконный кабель, отрубив почти полностью
от Интернета всю Армению.
Sergey Matveev [Mon, 23 Mar 2020 07:23:15 +0000 (10:23 +0300)]
Райзеру отказали в освобождении
https://www.opennet.ru/opennews/art.shtml?num=52588
Уйбица есть убийца, но из комментариев дело выглядит так: его жена
связалась с каким-то наркоманом садомазохистом и развлекалась с ним,
пагубно влияя на детей, при этом успевая обвинять Ганса в том, что он
трудоголик (ну, ReiserFS то писать!).
* поменьше ест и выделяет памяти во время работы (ведь хранение данных о
полумиллиона файлов, например, требует осязаемых объёмов)
* можно указать минимальный размер файлов для рассмотрения
* появился двухпроходный режим: вместо того, чтобы менять ссылки на
файлы прямо во время работы, можно в stdout посылать
netstring-сериализованные "задачи" для дедупликации. А отдельным
аргументом заставлять их читать из stdin и заниматься уже только
перелинковкой. Это позволяет полностью разделить процесс где есть
только чтение и процесс где только запись
* можно натравливать -basedir и -dupdir на одну и ту же директорию.
Раньше тоже можно было, но при этом чуть ли не гарантированно получить
что foo ссылается на bar, который ссылается на baz, который на foo
* убрал разделение на две очереди для больших и маленьких файлов. В коде
оно не шибко много чего проще и короче делает и просто файлы будут
закрываться не так рано как могли бы -- не велика проблема
Sergey Matveev [Sun, 22 Mar 2020 14:48:56 +0000 (17:48 +0300)]
Зарелизил PyDERASN 7.4
https://lists.cypherpunks.ru/pipermail/pyderasn-devel/2020-March/000042.html
http://pyderasn.cypherpunks.ru/_images/browser.png
Главное изменение в нём: появление ASN.1 броузера. Впервые я наверное
пишу что-то на toolkit-ах для создания TUI/GUI. Использовал когда-то
рекомендованный http://urwid.org/. В целом довольно легко сделать там
всё, хотя качество библиотеки (её аккуратность) не очень понравились, но
она работает, вполне себе.
ASN.1 броузер использует всё терминальное окно для отображение дерева
ASN.1 элементов, их местоположения в hexdump выводе сыром, а также кучу
информации по конкретному элементу. Плюс одним нажатием можно сохранить
чётко заданную часть структуры в файлик.
Sergey Matveev [Sat, 21 Mar 2020 07:57:51 +0000 (10:57 +0300)]
Перевёл свои DNS зоны на использование DNSCurve
http://www.stargrave.org/Trust-anchor.html
Давно в 108669cb34dc8b1fd2d91f77214906350ac5f76b писал о разнице между
DNSSEC и DNSCurve. Первый не приемлю -- дичайшая сложность и PKI во всей
красе, плюс никакой приватности пользователя он не защищает (нет
шифрования). Дошлю руки его реализовать. К тому же, уже давно у меня в
DNS есть TLSA записи (DANE) для всего что использует TLS сертификаты.
Поэтому, доверяя DNS ответам (доверяя DNSCurve публичным ключам), можно
доверять и TLSA записям (с хэшами SPKI TLS сертификатов) и,
соответственно, сертификатам, без необходимости доверия к CACert.org,
ибо многие дистрибутивы ОС его не содержат.
Sergey Matveev [Fri, 20 Mar 2020 21:22:22 +0000 (00:22 +0300)]
Опомнитесь! Нет ни 3.5" дискет, ни 1.44MB размеров на них
https://jdebp.uk/FGA/floppy-discs-are-90mm-not-3-and-a-half-inches.html
https://jdebp.uk/FGA/1mb44-is-not-a-standard-floppy-disc-size.html
Потому что есть 90мм, которые являются 3.5433".
А размер на самом деле 1440 KiB -- это или 1.41 MiB или 1.47 MB.
Sergey Matveev [Fri, 20 Mar 2020 14:06:33 +0000 (17:06 +0300)]
Посмотрел как обстоят дела с IPsec в DragonflyBSD
IPsec там безопасный. Он просто отсутствует, начисто :-)
Date: 2018-04-21 23:26:37 +0200
Remove IPsec and related code from the system.
It was unmaintained ever since we inherited it from FreeBSD 4.8.
In fact, we had two implementations from that time: IPSEC and FAST_IPSEC.
FAST_IPSEC is the implementation to which FreeBSD has moved since, but
it didn't even build in DragonFly.
Sergey Matveev [Fri, 20 Mar 2020 11:17:45 +0000 (14:17 +0300)]
Написал утилиту для дедупликации файлов sgodup
https://git.stargrave.org/cgit.cgi/sgodup.git/tree/README
Есть у меня задачи где имеются несколько директорий, между которыми есть
множество одинаковых файлов, возможно с отличающимися именами. Посмотрел
я на множество предлагаемых для этой задачи утилит, но что-то никто не
понравился: то сравнивается содержимое файлов полностью, то MD5
используется, то низкая производительность или недостаточная гибкость,
не позволяющая делать symlink-и или направлять их только из одной
директории в другую.
Решил написать своё. Очень хорошая производительность (я даже не знаю
можно ли быстрее -- всё-равно упираюсь в ФС), старается не делать ничего
лишнего, красивенький real-time прогресс. Можно и для symlink-ов
использовать, можно и hardlink-и, можно и в пределах одной директории
дедуплицировать данные.
Sergey Matveev [Fri, 20 Mar 2020 11:06:36 +0000 (14:06 +0300)]
В продолжении темы выпила FTP из Firefox
https://www.opennet.ru/opennews/art.shtml?num=52569
Просто понравился комментарий:
Когда они отключали gopher:// - я молчал, потому что не был пользователем gopher
Когда они пришли за ftp:// - я молчал, потому что использовал ssh
Когда они пришли за http:// - я молчал, потому что использовал let's encrypt
Когда они отняли у нас свой собственный интернет и заставили держать
сайты исключено на своих серверах -- заступиться было уже некому за меня
Хотя я не перевариваю этот тупейший либерастский аргумент про "когда
они...", но согласен что всё движется в сторону "запускай ка всё у нас,
и давай пользователям только софт или удалённый доступ".
Sergey Matveev [Thu, 19 Mar 2020 11:25:24 +0000 (14:25 +0300)]
Android запретит устанавливать не одобренный Google-ом софт
https://phd.livejournal.com/319141.html
https://www.cnews.ru/news/top/2020-03-19_polzovatelej_android_nastig
https://ww.9to5google.com/2020/03/18/google-advanced-protection-android/
Теперь загрузить и запустить свою программу (APK) будет нельзя, если она
не прошла через Google Play. И штатно это нельзя будет отключить.
Sergey Matveev [Thu, 19 Mar 2020 07:30:40 +0000 (10:30 +0300)]
Хотят убрать FTP из Firefox
https://www.opennet.ru/opennews/art.shtml?num=52569
В целом мне то пофиг на FF уже давным давно: этим пользоваться
самоубийственно. С ходу не помню, но я до сих пор встречал регулярно
обновляемые программы, которые можно скачать только по FTP. А аргумент
"оно не безопасно" -- лицемерная херня, ибо если рядом лежит PGP
подпись, то проблем нет, да и TLS тоже, с точки зрения шифропанка, из-за
PKI природы, не является безопасным. Впрочем и ничего страшного в
выпиливании не вижу: использование внешнего клиента не проблема, к тому
же, даже в Windows 98 (последняя винда что я использовал), ftp в
командной строке имелся.
Sergey Matveev [Wed, 18 Mar 2020 13:53:47 +0000 (16:53 +0300)]
Вирус ввели для уничтожения налички
https://lenta.ru/news/2020/03/18/akazy/
https://vitus-wagner.dreamwidth.org/2146936.html
Ну теперь всё складывается! Уже идут призывы магазинам задумываться об
online-заказах. Что наверняка подразумевает и невозможность оплаты
наличкой. Всё точно сделано для того чтобы от неё избавиться, повод такой!
А ведь буквально вчера я наличкой без проблем домен cryptoparty.ru
оплачивал.
А между тем, вчера в своём небольшом магазине в доме, реально увидел что
всякие туалетные бумаги и бумажные полотенца сметены. Еды полно как и
было, но вот полка со всякой бумагой -- пуста. Ну не совсем, но на 90%.
Sergey Matveev [Wed, 18 Mar 2020 13:24:34 +0000 (16:24 +0300)]
Современные HTML стандарты и создание броузера
https://drewdevault.com/2020/03/18/Reckless-limitless-scope.html
Если взять спецификации C11, C++17, UEFI, USB 3.2, POSIX, все 8754 RFC,
а также самые длинные новеллы из списка в Wikipedia, то вы получите
всё-равно объём текста на 12M слов короче, чем все W3C спецификации (в
этот остаток можно запихнуть полностью всю спецификацию x86 ISA... шесть
раз). Это ещё не считая WebGL, который не под W3C.
Сложность создания броузера с нуля равносильна каким-нибудь проектам
типа Апполон или Манхэттен. Это самый сложный софт на компьютере
большинства людей. Кроме колоссальной ресурсоёмкости, у них ещё и тысячи
тысячи зарегистрированных CVE уязвимостей. За счёт монополии такого
сложного ПО, корпорации встраивают в броузеры рекламу, слежку, DRM и
обязательные плагины для всего этого.
Написать броузер корректно: НЕВОЗМОЖНО
Написать броузер безопасно: НЕВОЗМОЖНО
Написать броузер в принципе: НЕВОЗМОЖНО
Что очевидно.
Поэтому, когда люди святую святых -- криптографию, реализуют в
JavaScript броузера, там же и работая с ключами, то это сразу
неприемлемый fail.
Sergey Matveev [Wed, 18 Mar 2020 11:28:03 +0000 (14:28 +0300)]
Тупейшая критика WireGuard. Ненависть
https://habr.com/ru/company/dcmiran/blog/492888/
Я сразу перейду к части где критикуется криптография в этой статье.
* "Это не есть большой недостаток, потому что VPN используют HMAC для
создания целостности" -- это не так, потому что современные VPN-ы
используют AEAD режимы шифрования, где нет HMAC и хэша как такового.
Ладно, допустим, пропустим
* "ChaCha20 — это потоковый шифр, который легче внедрить в программное
обеспечение. Он шифрует один бит за раз. Блочные протоколы, такие как
AES, шифруют блок по 128 бит за раз" -- у ChaCha20 есть состояние в
512-бит. Оно не шифрует по одному биту за раз, а делает XOR с выхлопом
ChaCha20. Абсолютно точно также как это делают режимы шифрования для
AES: -CTR или -GCM. Более того, сколько бит за раз обрабатывают -- не
имеет никакой корреляции с кол-ом транзисторов. Автор несёт херню
полную
* "Ожидалось, что AES-NI никогда не попадет в смартфоны" -- кем и когда
ожидалось?
* "Для этого был разработан ChaCha20 — в качестве легкой и экономичной
альтернативы, щадящей заряд батареи" -- а Бернштейн то знает что он
разрабатывал Salsa20 (ChaCha20 -- одна фигня) для экономии батареи
смартфонов?
* "Следовательно, я ожидаю, что AES превзойдет ChaCha20 в каждом
отдельно взятом сценарии." -- ожидать автор может что угодно, да вот
только тесты в реальной жизни демонстрируют что ChaCha20+Poly1305
реально зачастую быстрее AES-GCM с AESNI ускорением
Отсюда, следовательно, очевидно, я могу сделать вывод и ожидать что
автор нихера не понимает что несёт и пытается рассуждать непойми о чём.
Salsa20 разрабатывали никоим образом не для конкуренции с AES и
используют его (а также ChaCha20) не только для экономии вычислительных
ресурсов. Стоит ли мне и дальше обсуждать выводы этого человека?
* "BLAKE2 является преемником BLAKE, финалиста SHA-3, который не выиграл
из-за своего сходства с SHA-2." -- а авторы то знали что это была
причина почему они не выиграли? Автор снова несёт херню. Если бы
требовался отличный дизайн от Давье-Майера, то это было бы в условиях
SHA3 конкурса
* "Я не уверен, можно ли было предвидеть это при разработке WireGuard,
но сегодня факт того, что он гвоздями прибит к одному шифрованию — уже
является недостатком, который может не очень хорошо повлиять на его
работу." -- боюсь что разработчики множества современных
криптографических решений как-раз придерживаются прямо
противоположного мнения и считают это достоинством. Но сам же автор
пишет: "Достижение консенсуса на тему того, какое шифрование
использовать, делает протоколы типа IKE и TLS более сложными. Слишком
сложными? Да, в TLS/SSL уязвимости встречаются достаточно часто, и
альтернативы им нет." -- сам же говорит что они слишком сложны и
именно из-за этого люди используют и пилят свои более простые
протоколы, потому что основной враг безопасности в криптографии это
сложность. Простота WireGuard говорит о его повышенной безопасности
Представьте, что у вас есть VPN-сервер с 200 боевыми клиентами,
где-то по всему миру. Это вполне стандартный сценарий использования.
Если вам придется менять шифрование, вам нужно доставить обновление
на все копии WireGuard на этих ноутбуках, смартфонах и так далее.
Одновременно доставить. Это буквально невозможно. Администраторам,
которые попытаются это сделать, потребуются месяцы для развертывания
необходимых конфигураций, а средним компаниям буквально понадобятся
годы на проведение подобного мероприятия.
IPsec и OpenVPN предлагают функцию согласования шифров. Поэтому
некоторое время, после которого вы включите новое шифрование, будет
работать и старое. Благодаря этому текущие клиенты смогут обновиться
до новой версии. После того, как обновление будет раскатано, вы
просто выключите уязвимое шифрование. И все! Готово! вы
восхитительны! А клиенты этого даже не заметят.
Тоже полный лютый бред. Почти во всех протоколах всегда указывается
версия протокола, чтобы можно было отличить их. Если нужно менять
шифрование, то... меняйте, кто мешает то, новые версии будут
использовать новый протокол. Вы даже можете слушать на одном порту и
старой и новой версией и по её номеру понимать какие алгоритмы/протоколы
использовать. Если ВЫ (подчёркиваю -- ВЫ) обновляете у клиентов софт, то
просто используйте другие endpoint-ы для соединения, где форсированно
используются новые алгоритмы. Как вариант.
То, что OpenVPN или IPsec умеет согласовывать шифры, не отменяет того
факта что какая-нибудь Windows до сих пор поддерживает только
3DES+HMAC-MD5, какой-нибудь racoon из FreeBSD не умеет AES-GCM, а сама
FreeBSD не умеет ESN -- фиг вы всё это соедините без обновления софта.
Я до сих пор, не смотря на согласование алгоритмов, в 2020-ом году вижу
что OpenVPN-ы регулярно работают до сих пор с Blowfish-ем.
Ну и последнее -- а за всю историю человечества и компьютеров, много
приходилось менять то алгоритмы? Даже 3DES с HMAC-MD5 -- до сих пор
неубиваемая и невзламываемая штука. Приходилось форсированно обновлять
TLS из-за BEAST или CRIME. Почему? Из-за сложности протокола, его
гибкости и ФАТАЛЬНОГО факапа во всей этой сложности. Единственное что
нужно менять это короткие RSA ключи. Но... зачастую это можно сделать не
изменяя протокол в принципе, просто начиная использовать более длинные
ключи прозрачно. Среди хороших протоколов НЕ было уже 30+ лет надобности
использовать новые алгоритмы из-за вопросов безопасности. А именно этот
аргумент автор статьи приводит чаще всего -- а аргумент на практике
просто не имеет смысла. И гибкость, которую автор так хочет, как-раз и
погубила безопасность TLS, сложность губила OpenSSL. Раздел у автора
называется "об игнорировании реальных проблем" -- которых (проблем) то и
нет, а вот надуманные и высосанные из пальца имеются.
* "Но даже не это самое главное, на что стоит обратить внимание согласно
официальной документации проекта. Ведь главное — это скорость." --
нет, автор статьи, главное в WireGuard это простота, что, по моему,
было очевидно. Не выдумывай
Дальше целый экран посвящённый тому что корпорации типа Cisco сделали
вот так, а оно не совместимо. Да, WireGuard это не реализация IPsec, а
другой VPN. Какой смысл это обсуждать я не понимаю. Хочется Cisco
обмазаться -- будешь использовать то, что они реализовали, без
вариантов, без обсуждений, очевидно.
Дальше лютейшее непонимание шифрования блоками по 64 KB.
В сборке WireGuard для Linux он получает преимущество, используя GSO
— Generic Segmentation Offloading. Благодаря ему, клиент создает
огромный пакет размером 64 килобайта и шифрует/расшифровывает его за
один подход. Таким образом, затраты на вызов и реализацию
криптографических операций снижаются.
всё верно.
Но, как это водится, в реальности не все так просто. Отправка такого
большого пакета на сетевой адаптер требует, чтобы он бы был нарезан
на множество меньших пакетов. Обычный размер отправления составляет
1500 байт. То есть наш гигант в 64 килобайта будет разделен на 45
пакетов (1240 байт информации и 20 байт IP-заголовка). Затем, на
некоторое время они полностью заблокируют работу сетевого адаптера,
потому что они должны быть отправлены вместе и сразу. В итоге это
приведет к скачку приоритета, а такие пакеты, как, например, VoIP,
будут поставлены в очередь ожидания.
Вот мне интересно кто это так требует что все фрагменты должны быть
отправлены "вместе и сразу"? Не, ну правда, лютый бред. Автор, ау, это
Интернет, где царит IP протокол, где пакеты передаются по сетям, в
общем случае, полностью независимо. Всем (технике) пофиг как ты
отправишь пакеты на сетевой адаптер, потому что на первом же hop они
перетасуются и дойдут до получателя уж как повезёт (или вообще не
дойдут). Ну а что такое "скачок приоритета"... я вообще даже примерно не
понимаю. Я не знаю конкретно что там делает WireGuard -- не исключено
что автор что-то выдумал, как сделал неоднократно с историей
криптографических примитивов.
Дальше длинный монолог о том, что WireGuard привёл показатель
производительности из слишком идеальных условий. Автор статьи пишет, что
"критерий применимости в реальной жизни абсолютно нарушен и, как я
думаю, автор проведенного «измерения» серьезно дискредитировал сам себя
по понятным причинам". Клёво: сам же придумал критерий которому надо
было удовлетворить и начал по нему оценивать. Очевидно автор статьи не в
курсе что выжать гигабит на старых добрых OpenVPN, OpenSSH, IPsec и
других популярных реализациях -- не просто. WireGuard показывает что им
это как нефиг делать. Речь про то, что у него огромный запас по
прочности, тогда как другие на практике и гигабит то с трудом выжмут. А
если захочется 10 GbE сеть обезопашивать? Вот тут то WireGuard и
намекает что с ним без хитростей возможно из коробки это просто
получится сделать.
Для того, чтобы WireGuard стал конкурентным, ему нужно добавить хотя
бы настройку IP-адреса и конфигурацию маршрутизации и DNS.
эээ, кхм... ну ok, даже не знаю как это комментировать. Для всего этого
уже уйму лет вроде бы есть специализированные для этого протоколы (DHCP
например), а IPv6 SLAAC просто из коробки позволит это автоматом всё
сделать. Добавлять это в VPN протокол? Даже бредом не могу это назвать,
это уже больное воображение. Если бы такое в него добавили, то WireGuard
бы стал лично для меня неконкурентоспособным.
Но предыдущий абзац автора я привёл не полностью:
Для того, чтобы WireGuard стал конкурентным, ему нужно добавить хотя
бы настройку IP-адреса и конфигурацию маршрутизации и DNS. Очевидно,
что именно для этого нужны зашифрованные каналы.
Вот для чего они нужны то, оказывается! Надо же! Ну раз для этого, то
да, WireGuard вообще не вариант. Редко я слышал подобные несуразные
заявления.
Любая криптографическая защита рано или поздно взламывается и,
соответственно, должна быть заменена или обновлена.
Давай, ломай 3DES. Криптографическая защита то, как раз, в преобладающем
меньшинстве случаев ломается. И среди этих случаев ломаются реализации
корявые, как правило. А появляются они из-за сложности. TLS сертификаты
X.509 использует -- значит атаковать будут успешно (это уже было) ASN.1
парсер, ибо этот парсер более сложен чем весь WireGuard протокол,
включая симметричные алгоритмы.
IPsec де-факто является стандартом и поддерживается практически
повсеместно. И он работает. И как бы это не выглядело, в теории,
WireGuard в будущем может быть несовместим даже с разными версиями
самого себя.
Тут я не согласен с тем, что IPsec "работает". С одним человеком я тут
переписывался и подружить strongSwan на FreeBSD с Windows машиной -- я
даже уже точно получилось ли или нет. Вроде получилось, но без PFS
свойства, что... далеко не всегда можно сказать что удовлетворительно.
Плюс это было на 3DES+HMAC-MD5, производительность которых оставляет
желать лучшего. Соединить компьютеры за NAT... удачи. Соединить
используя IKEv1 -- люди будут радоваться и прыгать когда оно заработает,
так как большинство попыток будут приводить к неудаче, если параметры не
указывать зеркально. Да и вообще использовать IPsec без IPv6... страдание.
В общем, негодую всему этому написанному бреду. Точнее тому, что ведь в
него будут тыкать пользователи и считать WireGuard плохим.
Не хочу сказать что я рекомендую его использовать, так как сам я
однозначно поклонник IKEv2+ESP (IPsec), но меня берёт красота,
продуманность, гибкость инфраструктуры с ним. 99.9% пользователям ничего
из этого не надо и WireGuard их полностью удовлетворит с лихвой и будет
куда лучшим решением.
Sergey Matveev [Wed, 18 Mar 2020 08:38:07 +0000 (11:38 +0300)]
Совсем не заходит Пелевин
На Модели для Сборки было чтение его "Поколение П". Я не смог --
стараюсь слушать, МДС идеально читает, но очень сложно воспринимать.
Вышел фильм по ней -- фильм понравился. Сейчас аудиокниги попались тоже
с его рассказами. Один прослушал час -- дальше не смог, ну совсем грузит
и не могу. Потом начал "Чапаев и пустота" -- несколько дней книгу
слушал, но сегодня понял что дальше ну совсем не хочу продолжать
слушать. Совсем не идёт мне его слог, хотя ничего плохого не могу
сказать. Но "Затворник и Шестипалый" я, помню, прочитал с удовольствием.
Sergey Matveev [Wed, 18 Mar 2020 05:06:26 +0000 (08:06 +0300)]
Настоящая причина избавления от ifconfig в Linux
https://blog.farhan.codes/2018/06/25/linux-maintains-bugs-the-real-reason-ifconfig-on-linux-is-deprecated/
Связана исключительно с тем, что ядро и сопутствующий софт
разрабатываются совершенно отдельно друг от друга. Linux приходится
блюсти совместимость с кучей старья, в том числе даже и с багами.
ifconfig это как-раз сложность подстройки из-за изменённого API когда
Linux смог задавать несколько IPv4 адресов на один интерфейс. Поэтому во
всех остальных Unix (в том числе BSD) для сети есть пара команд, а в
Linux регулярно пилятся новые с нуля.
Sergey Matveev [Tue, 17 Mar 2020 11:39:54 +0000 (14:39 +0300)]
Звёздные приключения Нуми и Ники
https://readli.net/zvezdnyie-priklyucheniya-numi-i-niki/
С коллегой говорили о детских книжках: Незнайка, Кир Булычёв...
А я вот вспомнил что у меня самая пресамая любимая книга была сабжовая.
Она была просто вне конкуренции с чем бы то ни было! Да и сейчас готов
её перечитать с удовольствием. В школе на уроках изобразительного
искусства рисовал картины с сюжетами взятыми из неё.
Sergey Matveev [Tue, 17 Mar 2020 09:41:19 +0000 (12:41 +0300)]
NsCDE -- визуально очень нравится
https://www.opennet.ru/opennews/art.shtml?num=52555
Я всегда обожал как выглядит Motif. В живую видел. Обожал как выглядит
CDE на screenshot-ах. И тут просто лепота, судя по всему. Цвета и
оформление окон тёплые и приятные. Хотелось бы поставить, но я использую
tiling и почти 100% времени у меня просто окна терминала с tmux-ом внутри.
Sergey Matveev [Tue, 17 Mar 2020 09:00:27 +0000 (12:00 +0300)]
Прочитал "Лидерство во льдах. Антарктическая одиссея Шеклтона"
https://bookshake.net/b/liderstvo-vo-ldah-antarkticheskaya-odisseya-shekltona-alfred-lansing
На одном дыхании читается! Очень здорово и с чувством всё описано.
Уважаешь Шеклтона как руководителя. По сравнению с испытаниями выпавшими
на их долю, экспедиция Амундсена выглядит как приятная вечерняя прогулка.
Как они вообще умудрились выжить -- поражает и впечатляет! Человек,
получается, настолько трудноубиваемая природой штука то!
Sergey Matveev [Mon, 16 Mar 2020 11:56:00 +0000 (14:56 +0300)]
Lindemann в Москве на арене
https://www.youtube.com/watch?v=YAKnV4z_PMc
На огромном стадионе распевали песни о ladyboy, о том как любят
заниматься этим с толстухами (fat), с кучей видеоряда с блюющими людьми
и видео не проходящим цензуру. Здоровый клип с Тиллем лупящим
ошибающуюся в чтении девочку по её голой попке. А ещё орали "cunt!":
ну, слова такие в песни о золотом дожде. Ну и конечно же восхваляли
аборты. А ещё толпу чем-то типа тортов закидали. В первых рядах и у
Rammstein было опасно стоять из-за огромного стреляющего члена. Ещё
закидали рыбой (точно не знаю). О чём поют на немецком я не особо знаю,
тоже небось непотребство. Lindemann (точнее Тилл) молодцы тем, что их
слова запоминаются и их можно скандировать без проблем.
Поклонившись неоднократно всем зрителям, Тилл произнёс: "Спасибо.
Ахуенно. Спасибо родные. Спасибо большое".
Sergey Matveev [Mon, 16 Mar 2020 08:49:37 +0000 (11:49 +0300)]
Seagate НЖМД
В рассылке zfs-discuss@ обсуждают SMR диски и, в частности, Seagate-ы.
Оказывается они выпускают некоторые модели, по сути являющимися SMR, но
не предупреждающие об этом. Люди выставляют timeout в минуту, чтобы оно
хоть как-то работало. 5 IOPS. Магазин при этом не возвращает деньги,
ведь SMART то без ошибок.
На первой работе я для себя уяснил что хуже Seagate нет дисков. Возможно
когда-то они были и хороши (дома то, изначально, у нас полно Seagate-ов
было), потом стали дерьмом. Возможно потом и получше стали, но, если они
недоговаривают об SMRности диска, то это уже жёсткий обман. Для меня
Seagate это табу уже больше десяти лет -- сейчас только всё подкрепляется.
Sergey Matveev [Mon, 16 Mar 2020 08:34:36 +0000 (11:34 +0300)]
OpenSSH PKI
https://engineering.fb.com/security/scalable-and-secure-access-with-ssh/
К своему стыду, был не в курсе (хотя ведь man то я всё же открывал по
ssh-keygen) про полноценную поддержку PKI в OpenSSH. Facebook вот у себя
по полной это использует. Выглядит очень удобно. Как-нибудь надо будет
где-нибудь попробовать использовать.
Sergey Matveev [Mon, 16 Mar 2020 07:44:48 +0000 (10:44 +0300)]
Отключение переаутентификации в strongSwan
В IKEv1 протоколе есть штатная поддержка переаутентификации в пределах
текущей сессии. В IKEv2 нету -- RFC предлагает просто создавать
параллельно ещё одну IKE SA. На практике, при использовании PSK или
X.509 сертификатов с приватными ключами на диске, я не знаю как можно
скомпрометировать SA, но не скомпрометировать аутентификационные данные.
Поэтому отключение reauth не представляет, как я это вижу, рисков (если
речь не про смарт-карты, PKCS#11, и т.д.), а плюсом является то, что у
меня вот уже длительное время нет ни одного лишнего IKE SA, которые
часто бывают плодятся.