Sergey Matveev [Sun, 14 Jun 2020 17:11:46 +0000 (20:11 +0300)]
Попробовал redo систему сборки
https://fzakaria.com/2020/06/08/my-love-letter-to-redo.html
http://cr.yp.to/redo.html
https://apenwarr.ca/log/20101214
https://redo.readthedocs.io/en/latest/
Про redo слышал достаточно давно, но не пробовал. После первой ссылки
решился всё же. Перевёл один рабочий проект полностью на него. Не самый
маленький и со многими фишками POSIX Make-а (мне же надо было чтобы и
под BSD и в GNU/Linux собиралось). По началу не скажу что было всё
понятно как делать, но чем дальше, тем всё лучше и лучше, проще и проще
и элегантнее получается. В общем, какой-либо засады не нашлось.
Использовал я apenwarr-redo.
Зависимости учитываются и собираются на ура, даже с меньшим количеством
проблем чем в Make. Собственно Бернштейн приводит много примеров где
Make не срабатывает и где с ним не очень тривиально получается --
действительно, в моём рабочем проекте проблемы встречались и с redo они
попросту исчезли. Очень приятна гибкость от того, что всё везде является
shell-ом, а не Make-ом где не везде можно shell вставить и не везде с
ним удобно.
В Make мне пришлось много костылей делать чтобы оно без проблем работало
на старом GNU Make и на современном BSD Make -- в redo всё тупо вышло
проще и красивее, вообще без костылей. Минимальная реализация redo
(которая на shell в комплекте с python apenwarr-redo) работает тоже без
проблем.
В целом, чем дальше, тем больше и больше мне redo нравится. Прям
яростное желание активно его и дальше начать впиливать!
Sergey Matveev [Sat, 13 Jun 2020 15:00:37 +0000 (18:00 +0300)]
Airbourne гитарное соло
https://www.youtube.com/watch?v=svrGjrS-8xk
Вот он, настоящий рокер! Безбашенность и риск обязательно должны быть!
Когда мы с отцом возвращались с Rival Sons концерта, то ожидая в очереди
в гардероб, он рассказал что недавно где-то смотрел интервью с Кинчевым.
Суть уж не помню, да и он в общих чертах описывал, но когда он что-то
там толкал про защиту родины, про сыновей и матерей... отец сказал что у
него всякое уважение к нему как к рокеру пропало (слушать он вроде
никогда и не слушал его, но личность то всё же известная в нашей
истории), полностью, типа тряпка он, как баба какую-то муть нёс. Когда
музыканты на сцене плюются, рыгают, матерятся -- чёрт, да это рок, он
должен таким быть, должен быть вызов, протест, крутость! Я вот алкоголь
вообще не употребляю никак и никогда, но когда тьму пива со сцены
Airbourne выливает или когда в целом группы поют про бухло, то я это
понимаю, поддерживаю, это же рок! Вне сцены никто не призывает вести
себя также, а на сцене ты должен вести себя подобающим образом. Вон
какой-нибудь Napalm Death фронтмен или из Gojira -- все из себя
вегетарианцы, возможно пацифисты какие-нибудь, но со сцены они эту фигню
людям не толкают (ну ok, Gojira про защиту природы поёт много).
Sergey Matveev [Sat, 13 Jun 2020 10:11:15 +0000 (13:11 +0300)]
Открытие результатов grep-а
https://git.stargrave.org/cgit.cgi/dotfiles.git/tree/bin/bin/qq
Часто я в командной строке shell-а вызываю grep и он показывает кучу
всяких файлов. И очень часто хочется их открыть в Vim. Во-первых, если
бы я постоянно сидел и искал в Vim, то проблемы бы не было, но... если
бы. Во-вторых, проблем у людей сидящих в acme или Emacs тоже нет. А я
для себя сделал вот такой вот хак в виде qq команды:
* дампит текущий экран в временный файл
* открывает его vim-ом интерпретируя как quickfix
* подчищает за собой после выхода
Прежде я мышкой выделял двойным кликом файл:строка:колонка и Vim-ом
открывал это выделение. Вот это позволяет открывать такие пути, работает на ура:
https://git.stargrave.org/cgit.cgi/dotfiles.git/tree/vim/.vim/plugin/file_line.vim
Но это уж совсем не трушно и не корректно. Поэтому теперь просто qq<Enter>.
На самом деле я уже думал писать и поддержку открытия файлов из git
status-а, но понял что в fugitive всё есть для этого
(a8500d4d86307f09b46067439024e777597bde57).
Sergey Matveev [Sat, 13 Jun 2020 09:52:03 +0000 (12:52 +0300)]
OpenZFS избавляется от слова "slave"
https://www.opennet.ru/opennews/art.shtml?num=53146
Блин, как же откровенно за@#$%ли со всем этим дерьмом. Причём тут
проголосовавших против было даже больше. А ведь Мэттью Аренс крутой же
чувак, нормальным должен быть.
Мне очень вот нравится code-of-conduct в OpenBSD проекте. Его недавно в
рассылке огласили, оригинал забыл, но суть такая: не нервируй Тео.
Sergey Matveev [Fri, 12 Jun 2020 12:33:48 +0000 (15:33 +0300)]
Начал активно использовать :G в Vim fugitive плагине
Ведь очень очень часто хочется работать с грязными, с точки зрения git
индекса, файлами, или untracked (ещё не закоммиченными). Видимо
предполагается частое использование :Gstatus, поэтому у него есть
короткий :G вариант. Tim Pope всё же крутейший "crafter of vim plugins"!
Sergey Matveev [Fri, 12 Jun 2020 09:37:29 +0000 (12:37 +0300)]
Снова про screencasting
В продолжение 9e4f39c6983d7b1e2085f8e50dc4ab04d7a1ef95. Снова поигрался.
FFV1 даёт очень маленькие битрейты: 40-50 Mbps, но полностью отжирает
одно моё ядро и бывает пропускает кадры. ffvhuff делает видео с
битрейтом в 200 Mbps, однако, оно хорошо сжимается lz4 на ZFS и реальный
размер файла меньше чем у FFV1 (или хотя бы сравним), при куда меньшем
потреблении CPU:
Сохранение потока в PNG картинки жрёт CPU ещё больше FFV1, хотя размер
получается в разы меньше.
А для показа того что я набираю на клавиатуре попробовал screenkey:
https://www.thregr.org/~wavexx/software/screenkey/
Особо зависимостей не требует, вроде работает как надо без проблем.
Правда, если терминал раскрыт на всё пространство, что глупо не делать,
что автоматом делают tiling WM-ы, то screenkey будет поверх какого-то
возможно важного текста выводить данные. Поэтому приходится урезать его
и распологать где-то не в столь мешающемся месте:
./screenkey -g "50%x100%+50%+0%" --persist --bak-mode normal -t 5
Sergey Matveev [Fri, 12 Jun 2020 07:59:59 +0000 (10:59 +0300)]
Попробовал zsh-history-substring-search и улучшил свой поиск
https://github.com/zsh-users/zsh-history-substring-search
https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=81ce22d8f258e168af0eec20c98d1f37fac2d0f8
Для того, чтобы в zsh появились все фичи FISH, создали три плагина:
zsh-history-substring-search, zsh-autosuggestions и zsh-syntax-highlighting.
Два последних я использую и яростно рекомендую: они абсолютно стоят того!
А вот substring-search у меня под вопросом большим.
Суть его работы тривиальна: мы что-то набрали в командной строке, а
дальше, нажимая вверх/вниз, ищем набранное в истории, при этом не
обязательно чтобы набранное было с начала строки -- оно может хоть
частью слова в середине где-то быть. Ещё там есть опция включающая fuzzy
поиск, когда вместо пробела, подставляется, грубо говоря, ".*". Но у
меня сразу же возникла тут дилемма: точно есть случаи когда мне точно
захочется fuzzy, но точно есть больше случаев когда его точно не
захочется. А штатного переключения (разных keybinding) там нет.
Но, стандартные средства в самом zsh в общем-то не хуже, насколько
помню. И вот сделал коммит в котором я Shift-Up-ом включаю
инкрементальный поиск по шаблону. Первая при этом проблема: я хочу чтобы
в нём автоматически было вбито то, что я уже написал в строке (когда
писал, то ещё не знал что захочу incremental search) -- проблему решил.
Вторая проблема: хочу чтобы точно также клавиши вверх/вниз искали по
истории -- решил. А ещё вбивать "*" вместо пробелов куда геморройнее и я
просто при подстановке уже набранного заменяю их на звёздочки. В итоге:
штатное поведение стрелочек не поменялось и мне оно нравится. А если
хочу fuzzy (*-pattern) incremental search, то просто жму Shift-Up и
дальше стрелочками ищу спокойно команды как и в zsh-history-substring-search.
Единственное что это не даст: красивую подсветку найденных элементов
слов. Но, уж эта то подсветка точно не горит. Мой код занимает с десяток
строчек и более гибок и покрывает всё что в zsh-history-substring-search.
Возможно я чего-то недопонял и недоувидел, но я честно за ним просидел
прилично времени.
Sergey Matveev [Thu, 11 Jun 2020 21:10:22 +0000 (00:10 +0300)]
Спросили про моё мнение BSD 2-clause, MIT, GPL лицензий
Будучи ярым приверженцем движения свободного ПО, copyleft-а, бывшим
членом FSF и FSFE, то мнение моё заранее предопределено :-). BSD/MIT
лицензии позволяют закрывать исходный код, позволяют делать ПО не
свободным. Грубо говоря, permissive лицензии (BSD/MIT/etc) это "нам
насрать, делайте что хотите, только нас не забудьте упомянуть, а что вы
там с пользователями творите не наше дело". GPL лицензии запрещают
запрещать, так сказать: нельзя делать ПО не свободным, у пользователя
должно быть право на использование в любых целях, на изучение,
изменение, распространение как оригинальной версии, так и своих
модификаций. С моей точки зрения, ничто не может быть плохого и не
правильного в этих базовых "свободах", а их отсутствие явно не для
благих и честных намерений делается.
Permissive лицензии позволяют старым добрым грабительским способом
зарабатывать: продавая копии ПО, как это делает Microsoft. Они позволяют
и просто нахлебничать, не отдавая наработки назад, как это делает Apple.
Не то чтобы меня это всё сильно беспокоило ("пипл же хавает"), но это
всё не очень какой-то честный труд то. GPL это не запрещает никоим
образом, просто с ним это не так просто сделать.
А GPL, это то, без чего не было бы например GNU/Linux, который теперь у
миллиардов людей в карманах. И это не моё мнение, а Линуса Торвальдса.
Собственно проблем в зарабатывании денег с GPL-ем нет никаких: Linux
пилят уже даже и Microsoft, все железячники, все кому не лень и неплохо
зарабатывают. Никто же не отменяет разработку под заказ нужных вещей,
никто не отменяет поддержку, обучение, внедрение -- всё это стоит
огромных денег, которые для свободного ПО тоже приходится платить. На
первой работе вообще всё что я писал -- становилось СПО. И не смотря на
то, что выкладывалось в свободный доступ бесплатно, это не означало что
люди способны и хотят даже configure/make делать и спокойно готовы
платить за даже такие вещи. Netflix или Yandex сколько отдали в FreeBSD
проект: их наработки нисколько не ставят их под удар какими-либо
конкурентами, как это придумывают многие мыслящие "по старинке". Ко мне
с вопросами по PyGOST прилично обращались за помощью и с денежным
вознаграждением (от которого отказывался) -- суммарно это очень неплохие
суммы.
Ровно один use-case я видел и слышал когда permissive лицензия может
быть лучше: когда например надо распространить какой-то формат данных.
Например Vorbis (хотя уже не актуален, из-за Opus) вместо MP3: не так
важно (возможно совершенно не важно) какими библиотеками он будет
кодироваться/декодироваться (рано или поздно свободную можно будет
написать), но важно протолкнуть и внедрить сам формат как можно более
широко. Тут сама суть уже не в ПО конкретном.
Меня спросили какие самые трушные лицензии среди всего этого зоопарка.
Де-факто когда-то был GPLv2 (GPLv1, можно сказать, никогда не было),
который используется в Linux. В 2000-х сделали GPLv3. С ходу у него
отличия: запрещено ограничивать и вредить пользователям патентами (на
момент создания GPLv2 такого типа вредительства человечество просто ещё
не придумало для IT-сферы), запрещена TiVoization (когда ПО может быть и
свободным, но например свободную прошивку устройства нельзя обновить,
потому что необходима криптографическая подпись над этим ПО -- ещё один
хитрый трюк чтобы вредить пользователям, при этом формально не нарушая
GPLv2), явно разрешено распространение через BitTorrent сети. Я вообще
абсолютно полностью не вижу смысла в GPLv2.
Есть LGPLv3 (аналогично v2 -- бессмысленнен) которая позволяет
несвободной программе линковаться с LGPLv3 свободной, не заставляя
несвободную становится свободной. Но если меняется сама LGPLv3
библиотека, то эти наработки нельзя "скрывать", если продаётся. Это так
называемый weak copyleft. "L" значит "lesser", но некоторые считают что
это "library", действительно часто применяя это к библиотекам, где тоже
важно их распространение, но не такая упорная борьба за свободу. Не
идеально, лучше не стоит использовать, но возможно поблажки захочется
дать. Я например для PyDERASN своего использую именно LGPLv3.
Есть ещё AGPLv3 -- Affero GPLv3, отличающаяся от GPLv3 тем, что при
использовании ПО на серверах (в клиент-серверной архитектуре), код
должен быть доступен для пользователя, чтобы он понимал что с его
данными/запросами там будет происходить, чтобы не позволять просто
вынеся ПО за рамки пользовательского ПК, формально не нарушать ничего,
ведь пользователь типа же ничего не запускает сам и мы ему не продаём и
не предоставляем это ПО.
Вообще Affero GPLv3 покрывает и все случаи GPLv3 и типа чистый GPLv3
особо как смысла не имеет поэтому можно применять и только Affero. Ну...
лично я не сторонник этого, чисто субъективно: для какой-нибудь PyGOST
библиотеки странно применять лицензию которая про серверы там всякие
говорит.
Касательно BSD/MIT... во всём этом не сильно разбираюсь в отличиях, ибо
насрать на лицензии которые плюют на пользователей, не гарантируя им что
ПО будет свободным. Но если уж и хочется использовать permissive
лицензию, то FSF и GNU рекомендуют Apache License v2 -- типа такая штука
как и BSD/MIT, но явно учитывающая тему про патенты. Ведь можно сделать
и полностью свободное ПО, но только всех засуживать за нарушение
патентов. BSD/MIT и прочие создавались когда такой практики ещё не было.
У многих людей аргумент для permissive лицензий есть такой: а я не хочу
ограничивать вообще никого ни в чём, типа чистая анархия, что хотите то
и делайте. Но это лицемерие при этом выбирать какую-то лицензию! Если
хочешь полной свободы, так отдавай свою программу в public domain! А
иначе я это считаю обманом. Хочется полной свободы всем, так не
заставляй оставлять их рекламу твоего продукта и твоего упоминания (это
же тоже требование!). Хочется гарантировать свободу
использования/распространения/изучения/модификации -- тогда copyleft
лицензии типа GPL помогут, ибо они для этого и создаются. Вот например
Дэниель Бернштейн хочет всем полной свободы и делает public domain софт.
Я люблю BSD мир ОС и их программы, но это не значит что я люблю и хотя
бы уважаю их подход к выбору лицензий. Даже такое говнище как Linux
умудрилось прососаться везде и всюду, благодаря GPL.
Sergey Matveev [Thu, 11 Jun 2020 07:55:24 +0000 (10:55 +0300)]
Мой zsh prompt и Vim statusline
Спросили меня тут как-то, увидев screenshot, что означают всякие циферки
у меня в zsh и vim.
zsh prompt у меня однострочный (всегда ужасался колоссальной потере
места на экране на многострочных), классический:
work/blog|0|1-% f bar G foo W
Цветов нет, кроме жирной "1" и "%":
* "%" фиолетового цвета: его хорошо видно на экране когда надо глазами
найти где же начало вывода какой-нибудь программы.
* "-" перед ним отображает текущий vi-режим. Если я нажму Esc и перейду
в командный, то он поменяется на "+"
* "1" перед ним яркого белого цвета (bold) и это код возврата только что
выполнившейся команды. Нередко бывает надо его узнать -- можно конечно
набрать echo $?, но иногда я уже успею набрать какую-нибудь другую
команду и эта информация уже будет потеряна, а тут на экране
сохранится
* "0" показывает время исполнения последней команды. Очень часто хочется
узнать сколько же она выполнялась, но забываешь добавлять time, к тому
же у которого довольно громоздкий вывод. Очень полезная штука!
* work/blog это два последних элемента пути. "~" если я нахожусь в
домашней директории, "~/work" если в $HOME/work, "~pyg" если в
именованной директории "pyg" (PyGOST директория проекта в данном
случае). Показывать полный путь -- самоубийство, ибо он может быть
громадным, не оставляя места для команды
Когда-то я там писал и название git ветки в prompt, но отказался --
во-первых, как правило, я знаю где я, во-вторых, оно тормозит. Только
зайдя в какой-нибудь проект, с непрогретым ARC-ом этой git-директории,
тормоз будет даже на SSD, что меня дико бесит. Нажав F2/F3 я сделаю git
status (--short). Набрав Gb я увижу ветки, если уж запамятовал.
Аналогично и в Vim я не отображаю этой информации, ибо тормозит!
Я пробовал разграничивать колонки prompt-а по цветам, например чтобы
убрать "|" разделитель, но там их и так всего две штуки и слишком
горизонтально сгруппированная информация тоже не шибко приятна.
Я не понимаю когда добавляют в строку приглашения всякие вещи типа
времени или уровня WiFi сигнала -- ведь это же всё стоит вывести в
вне терминала в какой-нибудь statusbar desktop environment-а (или
dwmstatus в моём случае). Как минимум, это не будет запрашивать кучу
информации у ОС при каждом отображении приглашения. Да и, действительно
каждый раз вам нужно знать время после каждого ls? Нерациональная трата
места.
По директориям я перемещаюсь не просто через cd, а с обязательной (это
первая главная причина почему я не могу использовать bash) autopushd
фичей, когда формируется стэк директорий и любой cd превращается в
pushd. Нажав F4 я сделаю popd, быстро вернувшись по стэку назад, что
крайне частая операция.
"f bar G foo W" это аналог: find . -name "*bar*" | grep --color foo | wc -l
В zsh у меня синтаксическая подсветка команд, кавычек, всяких аргументов
команд и спецсимволов типа "|", "<>", и т.д.. ОЧЕНЬ помогает и удобно --
а главное что не тормозит. Плюс включён autosuggestions плагин, который
бледным синим цветом выводит элемент истории найденный по уже набранным
символам -- это очень полезно тем, что я буквально вижу что будет если я
нажму Up+Enter. Ctrl-R у меня включает поиск по истории с regexp-ом, ибо
я не всегда точно помню с чего начинается команда, но помню её примерные
опорные слова.
На самом деле тут (кроме "[+]") нет ни одного "[", "]" -- я так пометил
области выделенные разными яркими цветами. Во-первых, это хорошо заметно
и быстрее позволяет навигации глазами. Во-вторых, экономит ощутимо места
на экране, ведь тут много полей. Место становится важно когда открыто
несколько split-ов всяких.
* ~/work/blog/.git/COMMIT_EDITMSG -- путь до файла, тут всё очевидно
* [+] -- флаг что файл изменён. После него могут идти и всякие другие
флаги типа [RO]
* ^^^^^^^^ -- заполняет всё пустое пространство и показывает текущее
окно, если их больше одного. Это сильно помогает быстро глазами
отыскать где я
* 1 -- номер текущего буфера, который можно ввести при нажатии Tab для
прыжка в него. Вообще не часто я его запоминаю и смотрю в его сторону,
но бывает, место мало занимает
* GITCOMMIT -- текущий filetype, обязательная к показу информация
* "utf-8 unix" -- текущая кодировка и режим окончания строк. Тоже
обязательные к показанию информации, ибо Vim при открытии
самостоятельно делает конвертирования и ты не увидишь что это файл с
DOS-овскими окончаниями строк или что Vim некорректно подумал что это
не UTF-8 файл
* 31/37 -- номер текущей строки и всего их сколько. Без этого никуда
* 43-31 -- первое число показывает номер байта в строке, offset в
пределах строки на котором сейчас мой курсор. Второе число показывает
номер символа в строке. Если числа совпадают, то показывается только
одно. Разнится эти числа будут на многобайтных символах (кириллица).
Полезны оба числа зачастую для разных случаев
* 0x03A -- Unicode codepoint символа под курсором. С ходу мне
вспоминается что это чаще всего используется для понимания что у меня
под курсором: какой-то Unicode или ASCII, которые могут выглядеть
абсолютно одинаково
* 2324 -- абсолютная байтовая позиция курсора внутри файла. Полезно при
разбирательствах с немного не текстовыми файлами. Было очень полезно
"отлаживать" комментарии моего блога, которые в netstring формате, в
которых постоянно из-за преобразований git-а что-то съезжало на 1-2
байта
* LN -- это поле штатно не видно вообще (пустое пространство), но если в
фоне у меня запущен linter или какая-нибудь gogetdoc команда, то там
красным ярким цветом показывается двухбуквенное уведомление что что-то
работает в фоне
* 73% -- позиция внутри файла, "Ende" если в конце, "Anfang" если в
начале. Всегда очень полезно быстро понимать сколько я уже просмотрел
какого файла
Вообще особо ничего хитрого: почти всё что умеет Vim тут просто
выводится. И действительно многое очень полезно на практике.
Кроме того, у меня подчёркивается вся строка на которой я сейчас
нахожусь, вертикальной красной линией подсвечивается текущая колонка где
курсор -- эдакое перекрестие, которое очень помогает быстро отыскивать
местоположение курсора, который может быть плохо виден на всяких
разукрашенных синтаксической подсветкой файлах.
Слева отображаются относительные номера строк -- überfeature, без
которой жизни нет вообще. Граница 80-го символа тоже подсвечивается
вертикальной красной четой. По умолчанию у меня включён folding по
отступу и слева от номеров строк отображается уровень fold-а. Частенько
бывает смотрю туда чтобы понять на какой глубине находится тот или иной
участок кода, особенно когда полностью вся функция/класс/метод не
влезают на экран. А ещё левее могут отображаться sign-ы, которые
linter-ами показывают строки в которых что-то не ладно.
Whitespace-ы в конце показываются ярким зелёным цветом, чтобы бить в
глаза ими. Табы отображаются ">→→→→→→→" символами -- я могу визуально
сосчитать кол-во табов, если захочу.
Sergey Matveev [Wed, 10 Jun 2020 08:59:20 +0000 (11:59 +0300)]
Интересные контакты в email сообщении
Прислали мне тут письмо, где в подписи (XXX я подставил):
m: +7 XXX XXX XX XX
w: www.XXX.com
e: XXX@XXX.com
s: XXX@mail.ru
"m", "w", "e" я понял, из контекста что такое. А вот "s" это что? Если
SIP, то @mail.ru не слышал что такое предоставлял. Просто любопытно, но
что мешало нормальные URL там прописать, чтобы и софт сразу же это
интерпретировал как ссылки и позволял их "открыть"?
Sergey Matveev [Wed, 10 Jun 2020 07:33:02 +0000 (10:33 +0300)]
Современные матричные принтеры
https://habr.com/ru/company/epson/blog/505984/
Отдавали нам как-то матричный принтер (ещё с 90-х годов) и он наверняка
бы у меня сейчас дома находился и я им пользовался, но он сгорел в
пожаре на даче, куда временно был вывезен. Да, шумный, не быстрый,
особенно если хочется печатать с большой плотностью точек, для лучшего
качества (а оно вполне себе может быть!), но зато надёжный, простой и
расходники безумно дешёвые. Даже сейчас картридж стоит несколько сот
рублей, а хватало их, помню, чуть ли не на целый год спокойно. Плюс на
любой бумаге печатает -- что ни всунь, на всём оставит точки.
Несколько лет назад я выкинул лазерный принтер, купленный ещё в школе:
совсем плоховат стал и бумагу не цепляет. В одну контору, занимающуюся
принтерами, предложил отдать просто так, но типа такого старого точно не
надо, да и возиться же с ним чтобы бумагу хорошо хватал. Но ему нужен
был PCL. А матричному можно скармливать просто cat cp866.txt > /dev/lpt0
и по русски напечатает.
А в прошлом году на работе я настраивал промышленные огромные матричные
принтеры -- для печати на конвертах PIN-кодов. Ну дома такие не
поставить, но он и UTF-8 на входе понимал уже.
Sergey Matveev [Tue, 9 Jun 2020 15:54:29 +0000 (18:54 +0300)]
Поменял ИБП
В новом ИБП есть ЖК мониторчик где можно посмотреть уровень заряда,
нагрузку, напряжение. Рядом с ним одна кнопка. Честно, пока я не
прочитал инструкцию, то я совершенно не понимал как на нём переключать
что он показывает. Кнопка то одна! Я думал что зажимая надолго я могу
выключать ИБП, а кратковременными менять view. Оказалось что экранчик
сенсорный :-)
Sergey Matveev [Tue, 9 Jun 2020 15:50:58 +0000 (18:50 +0300)]
Впервые посетил Москву с конца марта
Куча зелени, жарко, солнце, много народу. Половина без масок. В
перчатках не много кого. В метро аналогично. Но лично меня это и не
парит. В Королёве в транспорте бдят более менее и следят за тем, чтобы
маски люди надевали.
Вообще первое что удивляет: запахи. Масса запахов. Дома как то и просто
типа нету разнообразных. Моя квартира достаточно высоко, вокруг всякие
леса, отсутствуют какие-либо пахнущие производства -- ничего не залетает.
Ну а второе: куча девушек в платьях... отвык я прям в живую то это видеть.
Если маску не надевать на нос, то жить можно, особо её не замечаешь.
Sergey Matveev [Tue, 9 Jun 2020 07:39:55 +0000 (10:39 +0300)]
Снова про замену устоявшихся технических терминов
https://habr.com/ru/news/t/505734/
https://public-inbox.org/git/CAOAHyQwyXC1Z3v7BZAC+Bq6JBaM7FvBenA-1fcqeDV==apdWDg@mail.gmail.com/T/
Узнал что в Django master/slave заменили на leader/follower. Оно даже
стало ближе к русскому, с нашим "ведущий/ведомый", но в английском коде
я бы был обескуражен такими терминами. Вот blocklist/allowlist -- не
спорю, всё же понятно сразу что такое.
А ещё, некоторые начали master ветку переименовывать в main.
И ещё забавно выглядит git blame наверное для всех этих больных людей.
Но, говорят, что в коммерческих инструментах "blame" заменили на "Last
change for line" -- зашибись, очень кратко и понятно!
А ещё эти ужасные слова "net", "web", "blockchain", "kill"...
Понравился комментарий, который по моему как-раз хорошо описывает
происходящее: когда коту нечем заняться, он лижет себе яйца.
Sergey Matveev [Tue, 9 Jun 2020 07:27:57 +0000 (10:27 +0300)]
Иннополис
https://habr.com/ru/post/505932/
Рассказ человека туда переехавшего, со всякими фотографиями.
Ну... впечатляет, нравится описание даже и мне. Но любые мысли о
возможном переезде (хотя зачем? мне и так нравится тут) останавливаются
сразу же только вспоминая об одном: концерты музыкальные. Даже в Питер
далеко не все заезжают, не говоря о других городах.
Sergey Matveev [Mon, 8 Jun 2020 21:33:01 +0000 (00:33 +0300)]
История одного студента выбравшего путь свободного ПО
https://0gitnick.voidnet.tech/rejecting-visual-studio/
Много чем похож он на меня. У меня были похожие тёрки с некоторыми
преподавателями (cabab74bdde2cab78031aacb827f4e4c131907f0). С одной
стороны хотелось бы его поддержать, ибо он вообще ушёл из института,
с другой... есть ровно один момент в котором он не прав, совсем, по
моему.
Преподаватели предлагали помочь ему с предоставлением бесплатной копии
Windows и помощью установки на его компьютер. Действительно, безусловно,
это неприемлемо всё равно бы было (без сарказма). Но вот в МАИ например
такого никто не предлагал. Но, это говорило что всё же они пытались идти
навстречу хоть как-то. Ладно, это не суть. А суть в том, что ему
предложили выполнить задание на компьютере внутри института, не своём. И
вот тут студент не прав, включая "оно всё равно же не свободное ПО".
Если что, то и мне предложили один раз сдать чертёж в AutoCAD на
компьютере учебного класса, во вне учебное время -- я это выполнил, без
пререканий. Но это был просто зачёт по основам компьютерного CAD.
В институте требуют показать знания и умения. Сдача его работ по
программированию, это почти на 100% демонстрация просто умений решать
задачу на заданном ЯП. Каким он это решит инструментом? Я вот проклинаю
любую не тактильную клавиатуру, ибо их придумал сам Сатана для адских
дьявольских мук людских. Мне может объективно по всем параметрам не
нравится какой-нибудь цвет букв/шрифта на компьютере в институте. В
общем всё что угодно. Точно так же мне может не нравится тупо
преподаватель (как он объясняет, как говорит, как пахнет, как выглядит,
вызывает отвращение, или это наоборот привлекательная аспирантка в юбке
и мне не до мыслей об учёбе) или я ему. Но в институте, в том числе, мы
видим насколько жизнь далека от идеала и не всё в жизни будет по твоему.
Студент из статьи говорит что Windows на компьютерах института это
spyware. Да, действительно, это так. Отключи Ethernet. Да и даже
представь что твоя работа утечёт -- она не имеет ценности ни для кого,
кроме как для преподавателей на короткий срок, чтобы просто оценить твои
знания/умения. Хорошо, твой стиль утечёт -- не подключайся к Интернету,
загрузись в каких-нибудь safe-mode-ах. Да, это не гарантия, но и риск не
так велик -- учись писать в разных стилях, пригодится больше. А ещё там
Core2 процессоры например могут быть, у которых FLOPS на Ватт должны
заставлять паниковать любого экоактивиста. Тебя просят и предоставляют
все возможности показать свои умения в программировании. Вот мне чертить
от и до придётся в AutoCAD в классе, дома я не смогу подготовить ничего
заранее для этого. А этому чуваку всего-лишь отлаживать для
работоспособности в VisualStudio. Ему идут навстречу и выделяют средства
для облегчения выполнения работы, но и он тоже мог бы подумать о
преподах: им нужно изучать как пользоваться CMake? Чувак, я вот в
прошлом месяце изучал CMake, потому что framework его использует, но я
не хотел бы этого делать, я считаю CMake плохим решением и, будь моя
воля, заставил бы тебя переписывать с этого дерьма (собирающегося дольше
чем GCC) на нормальных POSIX Makefile-ах. У тебя в gnu-c++ получилось
указать массив без размера, а в VisualStudio нет? Даже я уже знаю что в
C99 эта возможность появилась -- может быть нужно включать warning-и и
соответствующие стандарты при компиляции? Возможно это не отменит факта
что VS это всё равно не поддерживает и поэтому это простительно, но... у
меня большие сомнения что C99 там не держится, учитывая что статья
наисвежайшая. Ты обязан писать портируемый код, обязан его делать по
стандартам. Это я к тому, что полностью объективно тоже могу придраться
к твоим подходам, при том что у меня тоже полностью свободное ПО будет,
но например LLVM/Clang в котором я не собираюсь включать никаких
нестандартных фич (никакого GNU) или использовать CMake (почему не waf,
ninja, amake, bmake, pmake, mk и десятки других систем сборок и
подходов?). У нас на кафедре преподавал Береговой, который часто любил
кричать "ЕСКД!" -- вот и я бы кричал "POSIX!".
Есть всё же разумные и здоровые границы убеждений. Когда я пользуюсь
банкоматом, то это ещё запросто может быть даже OS/2 например. Студент
явно считает что это равносильно использованию проприетарного ПО. Но, я
тыкну в Ричарда Столлмана -- который так не считает. Это конечное
законченное устройство, blackbox, выполняющее только свои чётко заданные
функции. Оно не предназначено для запуска general purpose программ, не
предназначено для программирования или обновления прошивки (с точки
зрения пользователя). Если не хочет использовать банкомат, то может
пойти в отделение банка в кассу, заставляя девушку использовать
проприетарное банковское ПО чтобы оно ей авторизовало выдачу ему денег.
Он своим действием заставляет ещё больше использовать несвободное ПО
кассиру! Подумал ли он об этом?
Насколько помню, у Столлмана прям на домашней страничке написано, что
может и в Интернет-кафе каком-нибудь через Windows залезть в WWW
что-либо посмотреть. Это не его компьютер, это законченное устройство с
ограниченными возможностями -- его не нужно воспринимать как компьютер.
И никто не заставляет ставить под удар свой компьютер, объединяя его в
сеть с этим проприетарным. Так то... да куда мой взор не упадёт, в любых
наручных часах электронных будет проприетарное ПО, только с этим нет
проблем, ибо это не компьютер. А студент именно вот этого не понимает и
он, как классический религиозный человек на всё смотрит: компьютер...
устройство созданное для расчёта траекторий ракет, чтобы ими убивать
людей, для взломов шифров, чтобы ещё больше убивать. Интернет (ARPANET
точнее) создан тоже не для милых обменов котиками. И насквозь
религиозный человек не будет ничего этого использовать, ибо этого всего
коснулась рука дьявола. Хотя напомню, что почти весь прогресс в первую
очередь делается войнами -- почти всё что изобретается в первую очередь
рассматривается (или с самого начала ориентируется) на военные задачи.
Мне не нравится например матан, ибо на практике всё равно будут
использовать численные методы. Мне не нравится XXX, потому что есть
более современная, более правильная какая-нибудь штука. В институте есть
своя программа учебная, точка. Из описаний требований к VS я не увидел
что там как-то прививают насильно зависимость от Microsoft. Ну косвенно
то конечно прививают. Но... 95% времени он может жить со своим GNU GCC и
выполнять задачи, а остальные 5% тратить просто на оформление для сдачи,
как бы оно ему не нравилось -- на институтском компьютере сделать так,
чтобы оно заработало на VS. Всё же это не заставлять писать на MatLab
современных диалектов, свободных аналогов которого нет (GNU Octave
совместим с ним только до каких-то версий). Тот же Столлман, очевидно,
объективно, использовал проприетарное ПО на котором разрабатывал свою
свободную ОС, компиляторы/GCC и всё остальное. Просто если использование
проприетарного ПО в таком случае приведёт к большому выигрышу СПО, то
оно стоит того. Мне вот в этом году, можно сказать, пришлось делать
reverse engineering одной проприетарное программы, очевидно её запуская
(конечно, на совершенно отдельной изолированной железке) -- в итоге
появился полностью свободный и открытый аналог.
Я бы хотел как он, отказываться прикасаться к компьютеру в котором
systemd: та ещё мерзкая ужасная штука, пускай и свободная, но ещё и с
vendor-lockin-ом (Linux ядро обязательно), тоже spyware (спасибо ей за
8.8.8.8 DNS по умолчанию) и аналогичной надёжности.
Само собой, это не означает что просто иногда нужно "поддаться",
"прогнуться", "лечь под", как многие на других ресурсах ему советуют.
Случай описанный студентом вообще не подходит под эти вопросы: ему
предоставляют компьютер, ему предлагают бесплатную копию Windows (ну
мало ли, может он платить не хочет только например) и помощь с её
установкой, дают возможность не трогая его ЭВМ сдать работу в
определённом формате, чтобы время преподов не тратить на этот CMake
нафиг им сдавшийся. Никто не заставит его потом этот VS использовать,
зато мог бы выпустится квалифицированный дипломированный специалист,
которому куда проще найти работу где он бы мог помогать СПО миру.
Ну а вопрос "прогнуться"... наверное всегда рано или поздно встаёт у
людей как по мелочам, так и по серьёзным полностью влияющим на жизнь
вещам. Кто-то и по мелочам будет конфликтовать и не искать компромиссов
или идти на уступки. У кого какие ценности. Я вот отказываюсь
использовать несвободное ПО, несвободные форматы. Случай со студентом я
не считаю использованием ПО -- это демонстрация умений/знаний
программирования или там CAD черчения, просто в отвратительном
инструменте. Кто-то например никогда не пойдёт ни на малейшие уступки
женщине, ибо воспитан так, что женщина должна подчиняться и слушаться
мужчину, точка. Кто-то не пойдёт ни на какие компромиссы с тем, кого
яростно ненавидит. Кто-то всегда и во всём будет искать компромиссы,
лишь бы понравится человеку. У кого какие ценности. Но студент своим
поведением/поступком не защищает ценности СПО -- там, когда ему
предложили работать за институтским компьютером, другая история.
Однако статья напрягла меня: бляха муха, а если я всё же точно так же
себя веду по жизни как это чувак? Ну то есть и про мои решения точно так
же аналогично люди думают? То что я мудак тот ещё -- знаю и не спорю,
такой вот уж. Но вот неужели по детски поступал как и этот чувак? Всё же
в институте все работы сдавал, пускай не совсем в том виде, но преподам
главное увидеть знания/понимания/умения выполнить задачу. В AutoCAD тоже
показал умения чертить (в QCad многие принципы были схожи, поэтому не в
новинку). В ivi я отказывался ставить Skype, который выбрали (много лет
назад уж было, сейчас его вроде уже точно не используют) как средство
официального общения между людьми во время релизов, которые происходили
по ночам. Но мне подняли (сам техдир!) виртуалку с Windows, где был
поставлен этот Skype -- заходить мне надо туда было удалённо только во
время выгрузок (несколько часов). На своём компьютере под удар ничего не
ставлю, ну да, тыкаю мышкой в GUI интерфейс в rdesktop-е. Может и
подумали что я на пустом месте придумываю всякую фигню и создаю проблемы
-- может, почему нет, но мне кажется что компромисс как-бы всё же
находится. Да и в институте говорят что преподаватель, с которым
поднималась тема СПО, рассказывал про меня другой группе, без негатива,
в положительном ключе.
В общем, студенту этому хотелось бы сказать "повзрослей", ибо Ричард
Столлман тоже упёртый, принципиальный, и т.д., но он понимает где вся эта
тема СПО применима (к компьютерам), а где нет (не к general purpose
programmable computing device). Но и понимаю, что наверное и мне и
раньше и сейчас тоже самое могли бы люди сказать. Некоторые сообщали что
упёртость в СПО мне по жизни только всё усложняет -- но тут хотелось бы
ответить как и этот студент: а я и не стремлюсь, как многие, жить чтобы
лишь бы было полегче. Как и не стремлюсь усложнять жизнь.
Пока это всё писал, то позабавило, что когда я писал про Сатану, то на
полном серьёзе я вообще забыл как он пишется. Я изначально написал
"Сотона" -- Vim подсветил что словарь не знает этого слова. "Сотана" --
тоже не прокатило. Потом я полез в поисковик, ибо я совсем забыл, ну и
почти два часа ночи сейчас. А ведь были люди говорившие что я поклоняюсь
(вроде такое слово применялось) сатанинским вещам... да я даже не знал
как это пишется :-)
Sergey Matveev [Mon, 8 Jun 2020 16:40:09 +0000 (19:40 +0300)]
В Chrome уберут blacklist/whitelist
https://lenta.ru/news/2020/06/08/blacklist/
Мда уж. Ну на Chrome мне пофиг, но прям страшно за любые программные
проекты разрабатываемые де-юре в США (ну так уж исторически сложилось).
В FreeBSD например есть целый демон чёрных списков:
https://www.freebsd.org/doc/handbook/firewalls-blacklistd.html
Его тоже уберут? Страшно быть разработчиком в США наверное, для головы
вредно: ибо в своём проекте надо будет делать blacklist на blacklist
термины.
Впрочем, у нас в стране тоже есть программисты которые отказываются
использовать не то что устоявшиеся термины, а официальные типа daemon,
трактуя их как "демонов", значит не православно, не гоже. Хотя вообще-то
демон это "demon", а "daemon" в одном художественном литературном
произведении перевели на русский как "деймон", что мне очень понравилось.
Ещё тоже есть боязнь использовать "skeleton". А в Unix ещё есть и зомби,
число 666 нередко и дети сироты, убийства самого себя. Демон pcscd
буквально пишет на экран:
00000009 pcscdaemon.c:226:signal_thread() Preparing for suicide
Sergey Matveev [Mon, 8 Jun 2020 16:05:12 +0000 (19:05 +0300)]
Получил зарплату от трёхбуквенных компаний? Значит твоя работа насмарку
https://lists.freebsd.org/pipermail/freebsd-questions/2020-June/289962.html
В рассылке FreeBSD, по теме сравнения FreeBSD и NetBSD, всплыла OpenBSD.
И вот вроде бы человек ранее был замечен адекватным, но а тут он пишет
что раз разработчик работал с трёхбуквенными компаниями, получал от них
зарплату, то от его кода надо держаться подальше. Речь про код связанный
с IPsec в OpenBSD, насколько понимаю.
Я этого совершенно не понимаю. Я даже не понимаю где тут логика.
"Трёхбуквенным" организациям, вроде бы, как никому нужна безопасность и
хороший качественный код. Что удивительного что они его пишут? Эти
организации могут и хотят позволять себе нанимать профессионалов. А
профессионалы по моему вольны продавать свои знания/умения нуждающимся в
этом. У меня такое ощущение что у людей "Трёхбуквенные" организации
занимаются тем, чтобы *уменьшать* где-то безопасность, вставлять
backdoor-ы. Ну США в этом замечены, да, только для своих задач то они
что используют? Windows или macOS никто из трёхбуквенных для себя
использовать не будет в вопросах безопасности -- там то лазейки
гарантированно имеются, безусловно. Но даже если и так, то это означает
что профессионал типа ничего не умеет делать кроме как писать код с
лазейками? Бред какой-то. И речь то не про ширпотрёбные ОС, которые
используют люди, а про системы которые уже для реальной безопасности.
Вообще какие компании то заинтересованы в настоящей безопасности, тем
более криптографической? Google/Apple/Microsoft/Facebook -- очевидно что
никто из них, более того, они и сами всю безопасность только усугубляют.
Просто такое отвращение сразу и неуважение к человеку вызывают все эти
беспочвенные нелогичные бредни. А Брюс Шнайер работал на Минобороны...
очевидно что наверное его работа и книги тоже наверное никакого веса не
имеют после этого. Или Минобороны чем-то отличается от "трёхбуквенных"?
Или внутри США его "Прикладная криптография" и его
Blowfish/Twofish/Skein/whatever -- какие-то другие версии? В нашей
стране у меня то как-раз впечатление что самые параноидальные на тему
безопасности люди собраны как-раз "трёхбуквенными", что тупо логично.
... but realizing that to audit the code written by top programmer
is virtually impossible, I decided for myself to just shy away from
OpenBSD
То есть, код топового программиста он не в состоянии оценить. Ok. А если
бы этот код был написал студентом за лето в Google Summer Of Code? То
его можно было бы проанализировать или просто не нужно было бы? Какова
вероятность что в сетевом/криптографическом коде студент совершит ошибку
на C? Его код по любому априори будет требовать аудита. Тогда как
хороший код профессионала явно должен и будет написан так, что никаких
странностей и неаккуратностей не должно оставаться по максимуму.
Ну собственно вот мы и живём, большинство людей, в мире говноподелок
несерьёзных, где всякие OpenSSL живут десятилетиями с критическими
багами. Зато не спонсировано и написано не "трёхбуквенными"! У которых я
вообще не припомню чтобы были какие-либо значительные уязвимости и
проблемы (ну кроме возможно маленьких DH групп по умолчанию, что
конфигурацией правится) в IPsec/OpenBSD за всю историю.
А ещё вот в https://en.wikipedia.org/wiki/OpenBSD#Funding увидел что два
года основные денежные вливания вообще были от китайской компании.
Sergey Matveev [Mon, 8 Jun 2020 10:20:02 +0000 (13:20 +0300)]
Снова хаки matterircd
Уже были проблемы с matterircd в 2b96a8c59bf04a7f70d9226390e8d060a19a1a07.
Точнее не с ним, а с рабочим сервером, который считает что matterircd
флудит сообщениями. Но уже точно с matterircd есть другая проблема:
длинные сообщения он жёстко режет просто по 400-ому байту.
Англоговорящим то это нормально, ибо в одном байте буква умещается, а
вот у меня часто бьющиеся сообщения попадают, когда в irssi приходит
последующее сообщение в котором все данные искорёжены. Это правда
чуть-чуть удивляет, ведь в UTF-8 действительно есть самосинхронизация и
после битых данных он должен показываться, но тут уж наверное зависит и
от способа рендеринга irssi и от терминала.
Для тестирования решил сам себе отправить сообщение (через другой клиент
на удалённом доступе): matterircd сразу же запаниковал, ибо в коде явно
не подразумевается возможность общения самого с собой и кое где
появляется nil. Ну, 10 секунд, и это профикшено. Ещё минут пять и теперь
он с конца определяет валиден ли UTF-8 символ, по байту отступая назад.
Теперь разбиение происходит ничего не ломая. Open source и язык Go
позволяют в совершенно незнакомой программе с ходу вносить изменения и
исправления!
Sergey Matveev [Mon, 8 Jun 2020 09:06:21 +0000 (12:06 +0300)]
Storage subsystem performance: analysis and recipes
https://gudok.xyz/sspar/
Очень большая интересная статья про жёсткие диски, SSD и многое что с
ними связано, с кучей иллюстраций и примеров. Боюсь что ничего нового
для себя на нашёл, но когда-то это точно было бы находкой ценнейшей!
Sergey Matveev [Mon, 8 Jun 2020 08:48:42 +0000 (11:48 +0300)]
Посмотрел "Вид на жительство" и "Четыре свадьбы и одни похороны"
https://ru.wikipedia.org/wiki/%D0%92%D0%B8%D0%B4_%D0%BD%D0%B0_%D0%B6%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D1%81%D1%82%D0%B2%D0%BE_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC%2C_1990)
https://ru.wikipedia.org/wiki/%D0%A7%D0%B5%D1%82%D1%8B%D1%80%D0%B5_%D1%81%D0%B2%D0%B0%D0%B4%D1%8C%D0%B1%D1%8B_%D0%B8_%D0%BE%D0%B4%D0%BD%D0%B8_%D0%BF%D0%BE%D1%85%D0%BE%D1%80%D0%BE%D0%BD%D1%8B
После "Дня сурка" решил ещё фильмы посмотреть с Энди Макдауэлл. Я совсем
не прочь всяких любовных историй и мелодрам. Оба фильма хороши, ничего
так. Хотя "свадьбы" местами проматывал, ибо много кадров без диалогов и
значимого действия.
Что-то подумалось тут про любовь с первого взгляда: кто-то считает это
бредом, игрой гормонов, кто-то в это верит. Я не уверен, но скорее
склоняюсь к тому, что такое бывает.
В моей жизни был ровно один случай когда просто увидев девушку, больше
ни о чём не мог думать. Писал я олимпиаду в МИФИ, которая могла бы, при
успешной сдаче, быть приравнена к сдаче туда экзамена. Я уже даже и не
помню с какими результатами сдал там что-либо, ибо особо в МИФИ не
стремился и он был для галочки, как запасной план. Получается, было мне
17 лет. Прийдя заранее в большой лекторий с длинными партами, где было
от силы 5% людей, сел за парту. Посмотрел направо на свой ряд, а там
девчонка сидит, на меня тоже посмотрела и вроде бы мы прям задержали
отводить глаза. В общем сердце стучало, о задачах я точно не мог особо
думать, наверное постоянно смотря в её сторону. Может я это и придумал
себе, видел что хотел, но казалось что и она тоже посматривает (может
смотрела как я смотрю и её это нервировало :-)). И для каких-то
административных целей был пущен листок, где мы заполняли ФИО и из какой
школы. И из него я узнал, когда очередь дошла до меня, что она тоже из
Королёва из такой то школы. В общем, после олимпиады этой, меня долго
мучали мысли и желание засесть у неё рядом со школой, хоть на несколько
дней (ведь не факт что она обязательно каждый день там будет появляться)
чтобы пересечься (знаю школу, знаю ФИО (из листка)). Вообще не знаю на
что я рассчитывал, но всё же выкинул эту идею.
Верю что легко может перехватить дыхание когда внезапно покажется
какая-нибудь в мини юбке аппетитная деваха: но это просто от
неожиданности, на какое-то время конечно взгляд будет прикован понятно
куда, но тут нет речи о любви и через пять минут ты уже можешь и забыть
про неё вовсе. А я вот увидел только лицо и на несколько дней (может и
куда больше, уж не помню, всё же ~15 лет назад было) ни о чём больше не
думал. Причём точно помню что это не было лицо какой-нибудь вся-из-себя
каноничной красавицы и на девчонку другие внимания не обращали.
Sergey Matveev [Sun, 7 Jun 2020 18:57:22 +0000 (21:57 +0300)]
Абрамович купил Крик
https://lenta.ru/news/2020/06/07/krik/
А в фильме Гая Ритчи "Рок-н-рольщик" тоже был русский, явно
прототипированный с Абрамовича и тоже любивший картины. А я
на работе ASCII Крик для одного проекта использую как логотип:
Sergey Matveev [Sun, 7 Jun 2020 09:00:10 +0000 (12:00 +0300)]
Политкорректность в Go
https://www.opennet.ru/opennews/art.shtml?num=53109
Вроде и не первое апреля, но полная жопа какая-то. Вот OpenBSD например
развивается де-юре в Канаде: ни тебе ограничений на криптографию
(которые были раньше), ни всяких придурков, оскорбляющихся от
десятилетиями использующейся устоявшейся терминологии. Конечно, давайте
всё делать "политкорректно" и хрен потом разберёшься в терминологии и
самом коде соответственно. А "Go" наверное ещё и должен задевать
инвалидов в коляске? Но это происходит во всех языках. Обидно что кучка
дебилов/меньшинств имеет бОльшее влиянее в США чем нормальные здоровые
люди, но этот факт то уже давно известен. А может здоровых то людей там
уже и нема? Если негров под половину, то это уже не меньшинство. А
кто-нибудь встречал где-либо негра программиста? Сколько конференций не
посмотреть, но ни докладчиков, ни в зале их не увидеть. Если и будет
парочка, то наверняка для галочки пришлют. Можно же (или уже есть такие
профессии) быть женщиной(феминисткой)-негром-гомосексуалкой-трансгендером
и просто зарабатывать на факте своего присутствия на мероприятиях, чтобы
никто к ним не смог бы придраться.
Sergey Matveev [Sun, 7 Jun 2020 07:52:11 +0000 (10:52 +0300)]
Посмотрел "День Сурка"
https://ru.wikipedia.org/wiki/%D0%94%D0%B5%D0%BD%D1%8C_%D1%81%D1%83%D1%80%D0%BA%D0%B0_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Фильм регулярно во всяких списках "лучших фильмов" светится, но я
почему-то постоянно откладывал его в сторону. А зря, конечно же.
Отличный фильм, очень добрый! Однозначно рекомендовать могу к
просмотру в любое время.
Sergey Matveev [Sun, 7 Jun 2020 07:32:42 +0000 (10:32 +0300)]
Денежная система в Англии
Вспомнилось тут интересное примечание из одной книги Терри Пратчетта:
ПРИМЕЧАНИЕ ДЛЯ МОЛОДЕЖИ И АМЕРИКАНЦЕВ: один шиллинг = пяти пенсам.
Будет легче понять, каковы были доходы Армии охотников за ведьмами в
стародавние времена, если вы ознакомитесь с исходной британской
денежной системой.
Два фартинга = полпенни.
Два полпенни = одному пенни.
Три пенни = одному трехпенсовику.
Два трехпенсовика = шестипенсовику.
Два шестипенсовика = шиллингу (жарг. «боб»).
Два боба = одному флорину.
Один флорин и один шестипенсовик = одной полукроне.
Четыре полукроны = десятишиллинговой банкноте.
Две десятишиллинговые банкноты = одному фунту (или 240 пенни).
Один фунт и один шиллинг = одной гинее.
Британцы долгое время сопротивлялись переходу на десятичную монетную
систему, считая ее слишком сложной.
Sergey Matveev [Sat, 6 Jun 2020 15:09:44 +0000 (18:09 +0300)]
Посмотрел Бартон Финк
https://ru.wikipedia.org/wiki/%D0%91%D0%B0%D1%80%D1%82%D0%BE%D0%BD_%D0%A4%D0%B8%D0%BD%D0%BA
Не скажу что конец его понял, но получил огромное удовольствие от
просмотра! Мне кажется весь фильм я не отрывался от экрана, и даже
чая не отходил себе заварить. Здорово снят, отличная игра актёров.
Но Фарго и, особенно, Большой Лебовски всё же мне лучше зашли, как
минимум они понятнее (от тех же режиссёров). Но и Фарго я не знаю
когда можно прям порекомендовать для просмотра. А вот Лебовского
я не раз пересматривал.
Sergey Matveev [Sat, 6 Jun 2020 07:26:30 +0000 (10:26 +0300)]
Игры на OpenBSD
https://dataswamp.org/~solene/2020-06-05-openbsd-gaming.html
Всё что может быть там запущено, само собой пойдёт и под FreeBSD.
Для меня было новостью узнать о движке gemrb, который даёт возможность
запуска Planescape: Torment, Baldur’s Gate 1/2 и движка openmw, дающий
Elder Scroll III: Morrowind. К этому ещё добавить ScummVM, с десятками
квестом и GrimE, дающий Grim Fandango и Monkey Island 4. В общем всё
очень и очень неплохо. Именно под ScummVM я проиграл почти все квесты
Lucas Arts. Под GrimE-ом прошёл Grim Frandango.
Sergey Matveev [Fri, 5 Jun 2020 13:43:53 +0000 (16:43 +0300)]
Билл Гейтс с его чипами
https://roskomsvoboda.org/59682/
Такое впечатление, что только Гейтс и остался разумен и адекватен :-)
С Михалковым то всё понятно: надо попиариться, поскандалить, любая
реклама хороша типа. Но ведь реально пишут что десятки миллионов людей
верят в этот бред сивой кобылы и реально будут отказываться от
вакцинации, ставя под угрозу и жизни остальных окружающих. Может все
подобные люди сосредоточены в каком-нибудь Библейском поясе, где ещё и
не верят что Земля круглая? К сожалению, когда регулярно читаю что и у
нас в стране уничтожают вышки связи, распространяющие коронавирус, то
уже и сомнения.
Sergey Matveev [Fri, 5 Jun 2020 11:19:44 +0000 (14:19 +0300)]
В Fedora планируют перейти на Clang вместо GCC
https://www.opennet.ru/opennews/art.shtml?num=53097
В комментариях обратили внимание что в OpenMandriva уже в 2015 было
сделано. Ну... FreeBSD перешла на Clang уже в 2014-ом. Собственно, я
прям с того времени на Clang-е и сижу, да и сейчас, будучи C-разрабом
и пишу (хотя приходится проверять мой код и под GCC 4.x). Буквально для
считанных пакетов (типа сборки UEFI загрузчика для bhyve) нужен GCC в
явном виде (как минимум, в той версии порта что у меня). С ходу не могу
сказать влияет ли Clang на производительность. В 2014-ом вроде как
говорили что он хуже оптимизирует. Я ещё застал времена когда
компилирование ядра FreeBSD на K6-2 с более оптимизированными опциями
компиляции под мой процессор реально давало осязаемый прирост, то сейчас
уже давно не замечаю ничего.
Опыта C разработки у меня никакого. Впервые увидел я разукрашенные
сообщения от компилятора именно на Clang-е и только годами спустя в
каких-то модных GCC версиях. Clang мне нравится вроде бы прям огромным
количеством проверок кода -- действительно сильно помогая и тыкая меня в
носом что я бы и не заметил. Плюс clang-format, clang-tidy. Другие
инструменты не получилось использовать, ибо сильно завязаны на CMake или
многие sanitizer-ы работают не работают на FreeBSD. Но что мне в нём не
нравится: время сборки всего этого LLVM/Clang. У меня создалось
впечатление что 80%+ времени сборки FreeBSD занимает именно LLVM/Clang.
Современный GCC не знаю, но GCC 4.x -- на порядок или даже ещё больше
собирался быстрее. Но это операция конечно не частая.
Sergey Matveev [Fri, 5 Jun 2020 05:44:55 +0000 (08:44 +0300)]
Узнал про man 9 style
http://nixdoc.net/man-pages/FreeBSD/man9/style.9.html
https://man.openbsd.org/style
Когда начинал программировать на C, то мне не хватало именно современных
советов и тенденций. До большей части всего в man-ах дошёл сам, так что
они уже не актуальны. Но очень бы пригодились несколько месяцев назад!
FreeBSD явно говорит чтобы не использовать typedef для структур. Я
как-раз наоборот делаю и собираюсь продолжать.
Sergey Matveev [Fri, 5 Jun 2020 05:22:03 +0000 (08:22 +0300)]
Художник Ян Миллер
http://www.hitkiller.com/koshmarnyj-starik-xudozhnik-oformitel-ian-miller.html
https://www.ian-miller.org/
Офигенно рисует мужик! Естественно его темы и манера рисования не может
не привлечь металлистов и он и для метал групп делает вот работы.
Sergey Matveev [Thu, 4 Jun 2020 19:52:54 +0000 (22:52 +0300)]
Отец open source движения будет считать белых мятежников антифа коммунистами
http://esr.ibiblio.org/?p=8708
Он вышел на улицы чтобы поменять блок питания. Во всеоружии,
предупреждая что будет стрелять в любого кто будет угрожать жизни.
Чёрным претензий меньше, ибо они в обиде из-за смерти собрата. Белые
мятежники будут считаться антифа коммунистами, использующими ситуацию
для своих политических манипуляций, являясь врагами всего человечества.
И ESR будет стрелять незамедлительно, без сожаления и предупреждения.
Вот такие они, отцы open source движения.
Sergey Matveev [Thu, 4 Jun 2020 13:51:32 +0000 (16:51 +0300)]
Обострение чувств когда глухой
Когда-то в детстве мне очень запомнился момент из фильма, где было
какое-то там расследование и подозреваемая прикидывалась глухой.
Детектив когда пошёл с ней поговорить, то зашёл в комнату, а она к нему
спиной повёрнута. Он громко хлопнул дверью, подошёл, ну и когда она его
увидела, то вздрогнула, удивилась его появлению, наивно играя глухую,
ведь она же не слышала как он вошёл.
А потом этот детектив сказал что она притворяется, ибо глухой не мог бы
не почувствовать стук/хлопок двери. Вот очень запомнилось это.
А теперь, когда я многие часы могу сидеть в наушниках с громкой музыкой,
безусловно ничего не слыша вокруг, то я (ну уже лет десять назад) понял
что чувства на всякие вибрации действительно очень обостряются. Когда
жил с родителями, то сидя за рабочим столом я не вижу входной двери и
что вообще происходит в комнате. Но я очень часто просто чувствую шаги
людей в коридоре, тем более открывающиеся/закрывающиеся двери. Причём
если сильно ими хлопнуть или постучать по полой стенке, то могу и
вскочить от неожиданности. И сейчас я по несколько раз бывает снимаю
наушники потому что чувствую какие-нибудь удары и вибрации, которые
тревожат тем, что не знаю что это такое, вдруг кто-то в дверь стучится?
А там просто на каком-нибудь отдалённом этаже сверлят и я чётко понимаю
что без наушников, когда мой слух отключён от "реального" мира, я бы
даже и не обратил осознанно внимание на кучу этих вибраций. И это всё
работает только через относительно продолжительное время, типа часов
пребывания с музыкой.
Sergey Matveev [Thu, 4 Jun 2020 13:43:32 +0000 (16:43 +0300)]
Plan 9 и его развитие
Рассказывал тут коллеге про то, что Unix системы далеко не идеальны и
нет предела совершенству. Я не про современные GNU/Linux-ы с systemd,
которые от Unix мира далеко как никогда и близки как никогда к Windows
или macOS системам. Plan 9 я не юзал, но начитался и насмотрелся вдоволь
про неё -- очень впечатляет. Уже писал что её многие идеи через 10-20
лет только начали применяться и перениматься в других ОС.
И пока расписывал всякое, то промелькнула мысль, что может засесть на
месяцы/годы, пока деньги будут на жизнь, пересесть на Plan 9, но при
этом дописывая в нём чего так не хватает: IPv6 поддержки, IPsec-а
какого-нибудь. Ведь IPsec ESP я за неделю вроде написал на Go (не так
быстро, но зато работает), а IKEv2 за две недели. А Go на Plan 9 как-раз
вполне себе поддерживается. Пилить ОС своей мечты!
Но само собой это будет такое же творение как и какой-нибудь TempleOS:
не интересный для практического применения всерьёз. Но мне кажется это
первый раз просто родилась мысль о написании чего-то глобального и где
виден обозримый конец и цели.
Sergey Matveev [Thu, 4 Jun 2020 13:37:37 +0000 (16:37 +0300)]
Удалённая работа продлена
На работе написал заявление (по шаблону) по продлению режима удалённой
работы аж до конца года. Вообще я планировал оставаться дома только до
тех пор, пока не отменят пропускной и масочный режимы. До конца года
было очень неожиданно -- это ж прям придётся поменять образ жизни: как
минимум, заставлять себя оторваться от компьютера и читать книги,
которые я прежде в дороге поглощал. Были мысли и о том, чтобы и живность
какую-нибудь завести, раз всё время буду дома, в противовес моего
постоянному отсутствию. А недавно видел новость Собянина что масочный
режим возможно и до середины осени продлится. Блин, а это вот как
получится например на концертах, которых тьма запланирована и перенесена
на сентябрь? Типа там в маске быть? Или их вновь перенесут? Но удалённый
режим до конца года очень актуален становится.
Sergey Matveev [Thu, 4 Jun 2020 12:55:16 +0000 (15:55 +0300)]
Прошлая статья -- ещё не всё что могут придумать
https://www.expopark.ru/news/richard-stollman-na-non/fiction13-dolg-kazhdogo-grazhdanina-tknut-palczem-v-glaz-bolshomu-bratu.html
Пока ещё кое что искал, то набрёл вот на эту. Тоже любопытные вещи:
В 1993 году Ричард Столлман начал движение за свободу цифрового
общества. Разработанное им свободное программное обеспечение GNU –
это место, где пользователь может хранить свои секреты.
Но, это один из многих абзацев, в которых в принципе всё верно и
нормально рассказано. Поэтому статья не плоха. Но, GNU конечно начался
почти лет на десять раньше чем 1993-ий. А что подразумевалось про GNU,
как ПО где можно хранить свои секреты я не понял :-)
Sergey Matveev [Thu, 4 Jun 2020 12:19:46 +0000 (15:19 +0300)]
Правдивость и наглая бесстыдная ложь журналистов
https://www.kp.kg/daily/23979.3/213444/
https://forum.linux.by/viewtopic.php?f=10&t=9267
Вспомнил тут я случай, когда своими собственными глазами в бумажной
"Комсомольской правде" (2007-ой год), которую выписывали родители,
увидел статью, где написано (с фотографией) следующее:
У хакера Ворлока (сыграл Кевин Смит) есть реальный прототип.
Это Ричард Столлман. В 1990 году он объявил крестовый поход против
компании Microsoft и ряда других китов компьютерного бизнеса. Он
взламывал сайты, где предлагалось купить новое программное
оборудование. И потом раздавал его народу бесплатно. Во время первых
атак этот виртуальный Робин Гуд использовал творческий псевдоним
Ворлок.
Вроде после этого момента я по полной понял насколько журналистам нельзя
доверять ибо честность для них неведома и они будут выдумать что угодно,
лишь бы не молчать. Просто даже интересно: что было в 1990-ом (GNU
начался в 1984), причём тут Microsoft? (Столлман как бы свободный Unix
писал), какие нафиг сайты в 1990-ом? (в конце 90-го только черновой
вариант WWW вообще появился), какие нафиг продажи/скачивания ПО на тех
линиях связи?, какие нафиг бесплатные программы, учитывая что свободное
ПО вообще не про бесплатность? То есть, наврали прям в каждом слове.
А мнение людей ведь создаётся как правило именно СМИ, в которой вот
такие вот люди. Поэтому и вышки связи жгут, боятся чипизации через
вакцинацию (при этом сами же свои смартфоны пичкают следящим
централизованным проприетарным ПО) и считают что шифрование (нормальное,
типа PGP/OTR/OMEMO/whatever) это только для террористов и педофилов.
Sergey Matveev [Wed, 3 Jun 2020 21:25:14 +0000 (00:25 +0300)]
Falcon 9 летает на обычных x86 процессорах
https://www.opennet.ru/opennews/art.shtml?num=53083
По началу подумал что крайне необычно что x86 (монстр процессоров!) за
такую задачу отвечает. А потом, осознал что 386 процессоры вовсю же в
спутники и МКС встраиваются уже давно. Причём "давно", это, грубо
говоря, +- с момента их появления -- то бишь, они были тоже на тот
момент современными творениями.
Chromium и JavaScript... блин, оно на домашних компьютерах то работает с
тормозами (люди уже похоже даже не подозревают что интерфейс МОЖЕТ быть
отзывчивым и быстро работающим), а тут в космос. С другой стороны, если
пару кнопочек там нажимать, то пофиг на чём, лишь бы было удобно (для
программистов) и отлажено. Да и, на самой МКС то, можно и обновлять
софт, если что.
Ещё в комментариях напомнили про баг в Ada софте для Ariane 5:
https://en.wikipedia.org/wiki/Ariane_5#Notable_launches
И на Ada написали, но всё равно что-то пошло не так. Люди такие люди.
Ну а SpaceX молодцы! Десять лет никого не могли запустить, теперь
поднялись, после своих шаттлов.
Sergey Matveev [Wed, 3 Jun 2020 14:30:35 +0000 (17:30 +0300)]
Журнал ИгроТоп
http://igrotop.org/
Не знал про его существование. Скачать можно только один номер,
насколько вижу. Но в нём каждая игра мною игралась, хороши были.
Ну а Monkey Island... у меня когда-то на первом сотовом MIDI
мелодия стояла из этой игры, а сейчас MP3 из этой же игры.
Вот как MI мне нравится!
Sergey Matveev [Wed, 3 Jun 2020 07:49:42 +0000 (10:49 +0300)]
Путешествие Константина Колотова
https://lenta.ru/articles/2020/06/03/bezkopeiki/
Почему-то в блоге не упоминал про Колотова.
Новости я в основном читаю с lenta.ru: оперативно, главное всегда будет,
ненужную информацию легко отсеять. И каждый раз когда я вижу статьи про
Колотова, то сразу готовлюсь выделить 5-10 минут непрерывного чтения его
новой истории. Этот человек на велосипеде решил полностью проехать
Африку (по "периметру", как минимум), теперь вот заканчивает объезд по
кругу всей Турции.
Лично я вот куда бы точно не хотел суваться, так это в Арфиканские
страны: вот это реально страшно. Когда на работе зашла речь про Сирию,
то мне не страшно было, я сам туда напросился. Хотя, за месяц там
проведённый, в километре от места где мы работали -- "приземлилась"
израильская ракета ночью. Те, кто там рядом жили, говорили что все
проснулись и повскакали от мощного взрыва ночью. Благо никого не было
пострадавших. Ну и посещали мысли что, если уж и погибну (вероятность то
всё же выше чем за Москвой, в месте где на части территории война)
где-то на Востоке этом, то точно ни от рук сирийцев, ни от остатков
ИГИЛ, а от израильских ракет, регулярно бомбящих жилые районы и
террористов из США, до сих пор там присутствующих, не раз замеченных за
расстрелом гражданским просто для забавы.
На работе даже ходили слухи про поездку в одну африканскую страну (но
даже уже и не помню какую). И вот этого мне уже совсем не захотелось. Ну
только если бы я был уверен что буду за крепкими стенами с автоматчиками
и никуда не буду высовываться (в Дамаске мы спокойно просто выходили
гулять куда глаза глядят, целясь всё же на старые районы, исторические).
Был бы Иран, то я бы там попросился и на месяцы поселиться жить, если бы
было надо. И в Африке не то чтобы людей я боялся, а просто темы
санитарии. Ух сколько я наслышан про санитарию в Индии -- одни эти
рассказы о тех, кто там побывал, ставят крест на поездку туда. Я люблю
чистоту, уют, комфорт. В Таиланде я на себе испытал что будет если один
раз забудешь помыть руки перед едой. А в Африке по моим представлениям
всё стократ хуже. Я понимаю что Африка это континент по площади больший
чем Северная и Южная Америки вместе взятые и странно так обобщать, но по
моим представлениям +- в преобладающем большинстве стран там +-
одинаково в плане санитарии и бедности (соответственно преступности).
Хотя, какой-нибудь Египет это хоть и Африка, но его я уже не отношу к
ней в своей голове.
А Колотов решился на такое, да ещё и бОльшую часть пути в одиночку
просто на велосипеде! В итоге у него масса историй из десятка самых
разных стран. Не раз он прощался с жизнью. Не раз был на грани отдать
концы или спешно возвращаться (уже не на велосипеде) домой.
Действительно были случаи что к нему просто подбегали, пороли ножом
чтобы спереть хоть что-то что попадётся в руку. Был и у пиратов сомалийских.
Но, при всём при этом, он твёрдо убеждён что люди по своей натуре не
злые, простые обычные люди. Массу всего что мы слышим и видим через СМИ:
чудовищное искажение фактов, и масса откровенного наглого обмана. Это
касается как нашего, так и зарубежного и любого на свете. У нас есть
есть очень близкие старые друзья семьи которые переехали в Голландию и
мы диву даёмся что там рассказывают о делах в нашей стране, в Москве в
частности. А они удивляются тому, что про всю эту гейскую Европу у нас
рассказывают :-). Отец со мной в Иран поехал, ибо думал что страна то не
сильно отличается от Афганистана, где он служил, и наверное поездка туда
для него изначально была равносильна поездки для меня в ЮАР
какой-нибудь. Но на самом то деле люди не так уж отличаются, обычные
люди. И рассказы Колотова только укрепляют в этом. Хотя, безусловно,
никто не отменял бандитов, воровство и тому подобное.
Sergey Matveev [Mon, 1 Jun 2020 11:34:00 +0000 (14:34 +0300)]
Амулет супротив 5G излучения
https://nag.ru/articles/article/107068/-amulet-suprotiv-5g-izlucheniya-ili-na-duraka-ne-nujen-noj.html
Если хочется посмеяться вдоволь, то статья для этого! Хотя кельтский
амулет вполне себе красивый.
крем состоит из растительных компонентов, основа - экстракт алоэ
вера, масло жожоба + экстракт разгонки парафиновых смол. Крем
снижает воздействие радиочастотного излучения RF и RFR, и
электромагнитных полей EMF, до безопасного для человеческого
организма уровня
Sergey Matveev [Mon, 1 Jun 2020 07:57:55 +0000 (10:57 +0300)]
Tutanota действительно недоступна
В комментариях к fa70b50398ea7dcfe2a5b665611b8e5b2d761308 услышал что ко
мне от сабжевого почтового провайдера не проходят письма. Сегодня, с
ежемесячными рассылками напоминаний от lists.cypherpunks.ru, получил
кучу уведомлений о недоставке людям на Tutanota. Так что, да,
действительно связи с ними нет.
Sergey Matveev [Mon, 1 Jun 2020 07:52:37 +0000 (10:52 +0300)]
В почтовом архиве у меня 960k+ писем
А почтовый сервер, получается, уже давно за миллион писем суммарно
прососал. Архив я начал вести далеко не сразу как поднял почтовик. В
архив попадают не все фильма (но бОльшая часть). Что это объём значит
для него? Ничего, просто красивое большое число :-)
Sergey Matveev [Mon, 1 Jun 2020 07:39:01 +0000 (10:39 +0300)]
Сломанные цепочки валидации X.509 сертификатов в OpenSSL/GnuTLS
https://www.opennet.ru/opennews/art.shtml?num=53061
В комментариях некоторые считают что мол это криворукие GnuTLS. Кто-то
считает что они плохие потому что не блюдут RFC. А вообще это как-раз
ярчайший пример того, что это проблема RFC, а не реализаций. На работе с
коллегой нам приходилось писать валидатор цепочек X.509. За годы работы
над УЦ -- это *самая* сложная задача. Причём, её сложность наверное
возрастает на порядок, если реализовывать поддержку CRL. Везде где CRL:
жди дичайших проблем. Разумный, вменяемый человек никогда в жизни не
смог бы придумать и считать всю эту X.509 проверку чем-то разумным и
адекватным. Проверка цепочек с CRL это реально тянет на какие-нибудь
научные диссертации, чтобы ещё и сделать это за вменяемое машинное
время. У меня очень очень большие сомнения что вообще хоть кто-то (и
речь про проприетарные коммерческие продукты) в этом мире реализовал всё
что описано хотя бы в RFC 5280.
Sergey Matveev [Sat, 30 May 2020 17:25:16 +0000 (20:25 +0300)]
История systemd
https://habr.com/ru/post/503816/
https://suckless.org/sucks/systemd/
https://www.opennet.ru/base/sys/systemd_myth.txt.html
Да уж, systemd как никто разделил людей на два лагеря: любителей этого,
и hater-ов этого.
Я стараюсь называть системы где он используется: systemdOS, ибо если там
что-то (по вопросам администрирования) выполняется не через systemd, то
значит вы что-то делаете неправильно. Десятилетия существования и
разработки рабочего софта выкинуты нафиг и заменяются написанным с нуля:
готовьтесь к тому, что даже DNS, NTP не будут работать запросто (история
это уже показала). Готовьтесь к тому, что поведение всей вашей системы
уже будет совершенно иным (например грохать tmux при вашем logout).
Любой компонент вашей ОС будет заменятся systemd-шным вариантом, уже не
раз доказавшем что он будет более ограниченным и более глюкавым. В
systemd в прошлом году было уже более 1.2M строк кода -- это тянет на не
одну полноценную ОС. 1.2M!!! Ещё с зависимостями, в том числе от Linux.
Если раньше что-то шло не так в процессе запуска, инициализации,
настройки сети, mount-ов и кучу другого, то вы шли и отлаживали,
смотрели что не так. Теперь можно выдохнуть, успокоится и не делать
этого с systemd, ибо это всё равно под сотню бинарников.
А ещё забавный факт про то, что в нём логи в бинарном виде. Тупейший
аргумент за это: для индексирования и поиска по ним. Как бы, а что
мешает индексировать обычные текстовые логи? Вот-вот, ничего, но я уже
сталкивался с тем, что люди банально не могут передать друг другу логи,
ибо читать то их нечем (на целевой системе без systemd). Я не против
индексирования логов -- текстовый формат как-то этому препятствует?
Хочется целостность и аутентичность данных в логе? В чём проблема,
бинарный формат то в этой задаче чем поможет и необходим?
Но многим он понравится. Тем, кто не в состоянии писать скрипты,
понимать как устроена система, самостоятельно решать задачи
администрирования. Вместо тривиальных и простых скриптов (сотни,
максимум тысячи строк кода) полностью рулящих всей системой гибко,
поддерживаемо и понятно, systemd предоставляет кучу "рецептов" в
исходном коде на три порядка большего размера.
На работе безусловно было много холиваров, но, благо они закончились,
так как все сошлись в одном: systemd это штука для desktop-а. Он
актуален и может быть полезен только для desktop-like вещей и desktop
пользователей, которые и не будут знать что такое IP-адрес или точка
монтирования. systemdOS это просто написание Windows/macOS-like системы,
не более. Монолитного, забагованного, ограниченного, невероятно
огромного и громоздкого, не отлаживаемого (ну кроме разработчиков
systemd, которые будут копаться в его C коде) blackbox-а. Ну а так как
компании хотят зарабатывать деньги, то создание аналогичной системы как
Windows/macOS, где пользователь готов терпеть любые баги, глюки,
нарушения приватности (systemd же по умолчанию в Google сливал DNS
запросы), беспомощность и возможность что-либо исправить только через
поддержку сторонних специалистов.
Очень много наездов, кстати, на init-систему запуска, адекватных, если
уж рассматривать systemdOS как систему запуска. Вот только под этой
"init-системой" подразумевают реально какое-то убожество из RedHat
систем, судя по всему, которое мало что умеет делать без сотен строк
shell-кода. В FreeBSD свой rc, удовлетворяющий тьме адекватных
требований и хотелок к системе запуске для сервера. В OpenBSD свой,
только попроще. В NetBSD свой. В Debian точно помню что отличный от
RedHat-овского. Я уверен что и в десятке других дистрибутивов свои
диалекты и версии. Поэтому, как минимум, уже безграмотно объединять
невероятно разные по возможностям системы запуска основанные (даже
неявно) на shell-скриптах. В той же FreeBSD я не помню написал ли хоть
одну строчку реально shell кода (ну чтобы там сохранение PID, lockrun,
if-ы какие-нибудь были) за последние десять лет -- всё делал в
декларативном простом и тупом стиле, ибо возможностей rc FreeBSD за
глаза хватает. При этом я вовсе не ратую и толкаю за использование
shell-скриптов и мол они наше всё. Просто shell вполне себе is good
enough адекватный выбор для задачи инициализации и настройки системы
(возможно кроме сильно других требований для "классических" desktop
систем).
И мне ещё очень нравится пример работы с systemd:
Here is what happens on a stock Arch Linux system, powered by
systemd, when a non-root user tries to restart the system:
$ reboot
Failed to set wall message, ignoring: The name org.freedesktop.PolicyKit1 was not provided by any .service files
Failed to reboot system via logind: The name org.freedesktop.PolicyKit1 was not provided by any .service files
Failed to talk to init daemon.
In contrast, here is the equivalent error message on a system
powered by runit:
$ reboot
init: fatal: unable to create /etc/runit/stopit: access denied
Sergey Matveev [Fri, 29 May 2020 08:39:59 +0000 (11:39 +0300)]
Удалённый сервер с 100%-шифрованием
https://habr.com/ru/post/92022/
Сколько много заявлений о неубиваемости, недоказуемости и надёжности!
Если изъять рабочий сервер, то на нём нет ничего, кроме голой
системы, которая после загрузки обращается по некоторому загадочному
URL. Большие ничего делать такая изъятая система не будет, так как у
неё сменится IP и скрытый сервер будет игнорировать все обращения.
Ага, а люди которые, например физически, запустили сервер в другом месте
совершенно не смогут догадаться что единственное отличие это IP адрес?
Да первым же делом долбанутся с нужного IP-шника и получат ключи
дешифрования. Как в комментариях и написали: система не надёжна совсем.
Обращение к скрытому серверу, ясное дело, по HTTPS, чтобы IP
подменить нельзя было
Ого! Это с каких пор TLS защищает от подмены IP-адреса?
Sergey Matveev [Thu, 28 May 2020 20:56:28 +0000 (23:56 +0300)]
Забавные переводы английский<->немецкий
В FreeBSD рассылке начали обсуждать переводы. Забавно получается что:
vomit = brechen
together = zusammen
collapse = zusammenbrechen
Ну а ещё вместо Java можно говорить:
Donaudampfschiffahrtsgesellschaftskapitänsmützenhaltenageleinschlagwerkzeugverkaufsstellenleiterbefähigungsausweisinhaber
Sergey Matveev [Wed, 27 May 2020 17:50:27 +0000 (20:50 +0300)]
Узнал про git difftool команду
Которая просто сохраняет старые версии файла во временный файл и
натравливает на него и более свежий заданную утилиту, например vimdiff.
Так в Vim-е можно смотреть на коммиты полноценно, но только пофайлово.
Но для меня fugitive оно не заменяет. В нём, всегда можно нажать "C" и
ты попадёшь на объект коммита, в котором можно ходить по деревьям (tree)
и открывать файлы даже которые не попали в "патч" коммита. difftool для
каждого файла задаст вопрос хочу ли я его открыть, а в fugitive нажав
"C" я снова попаду на коммит и перемещусь на любой файл какой надо.
Хочется полностью увидеть старую версию файла до применения коммита:
просто нажать CR на "-" строке патча. Новую версию: на "+" строке.
Открыть файл сразу в vimdiff режиме со старой версией: нажать на diff
строке файла. Для меня всё же удобнее и быстрее.
И заменить его :Gdiff пока нечем в Vim-е. git add -p команда не так
удобна, особенно когда нужно добавить/отредактировать то, что не
умещается целиком в hunk. Без fugitive я пока не понимаю как достичь
такого же результата. difftool позволяет на изменённый (tracked,
modified) файл показать vimdiff, однако dp/do не приводят же к
добавлению hunk-а в индекс.
Sergey Matveev [Wed, 27 May 2020 13:49:47 +0000 (16:49 +0300)]
unimpaired Vim плагин теперь у меня must-have
В 181f1944ec40b4113b478e79f83be54f1a644629 писал что начал его
использовать. Сегодня какое-то время занимался Vim-ом, плагинами и всем
что с ним связано. И понял что из unimpaired я использую: бОльшую часть
из next/previous и несколько option toggling, но постоянно. Про pasting
и line operations я тупо не помню про их существование, что надо взять
на заметку. Пускай далеко не всё из него, но зато очень часто.
Sergey Matveev [Wed, 27 May 2020 12:58:04 +0000 (15:58 +0300)]
Как PaleMoon броузер пропал из OpenBSD портов
https://github.com/jasperla/openbsd-wip/issues/86
Да легко и просто: пришёл чувак и начал issue со словами "You will
revise...". Ему сказали что "ты не владелец IP, поэтому смысл тебя
слушать и с тобой говорить?" (что, по моему, абсолютно разумно),
потом ещё добавив что никто броузер тут не распространяет и не
делает (это же порт! описание сборки из их штатных исходных кодов).
Ему ответ "I will not be as educational next time", что, всем
очевидно, является недвусмысленной угрозой и его и спрашивают
"что дальше? адвокаты? мафия?" :-). Конфликт разрешился достаточно
быстро: этот броузер полностью просто убрали вообще из портов, с
пояснением что "создатели броузера не хотят иметь пользователей,
вот и не будем им их давать".
Sergey Matveev [Wed, 27 May 2020 10:21:01 +0000 (13:21 +0300)]
Подавший в суд на Путина бывший губернатор попал в больницу
https://lenta.ru/news/2020/05/27/popal/
Новость через считанные часы о том что он подал на него в суд. Ничего
конечно смешного о больнице, чёрный юмор, но вспоминается анекдот:
xxx: Да как же вы задрали со своим Путиным!
Если он такой крутой, то пусть придёт и повозит меня мордой по моей
клавиатуревамирфлоамифосм дофыпмдофыр вмсдофырмидрифыдомрифыодмювмдДАИРДовмбыв
Sergey Matveev [Wed, 27 May 2020 07:06:00 +0000 (10:06 +0300)]
Татуированные женщины
https://lenta.ru/news/2020/05/15/bikinimask/
Я совершенно и полностью не понимаю моду на татуировки на женщинах. Даже
в порнухе прям реально нужно создавать уже отдельную категорию
tattooless, а то я смотрю как-будто на сплошных зеков. Ладно там
какая-нибудь штука нарисована 2x2см размером. Но когда целая конечность
и просто громадная площадь занята и не видно кожи... лично по мне так
это только конкретно уродует. И хрен же потом избавишься от всего этого.
Да и вообще херня творится какая-то полная в мире. Женщины то выглядят
как зэки и рэперы. То они дерутся во всяких MMA -- вот честно,
совершенно не хочется смотреть на это. Послушать теннисисток -- можно.
Посмотреть на накачанный крепкий зад и ляхи спортсменок многих -- ещё
как. Но на дерущихся -- никак.
Смотрел тут недавно "Путь домой":
https://ru.wikipedia.org/wiki/%D0%9F%D1%83%D1%82%D1%8C_%D0%B4%D0%BE%D0%BC%D0%BE%D0%B9_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2019)
На пёсика посмотреть любо конечно, но фильм настолько непримечателен,
что и писать отдельно о нём не собирался. Но в нём мать главного героя:
ветеран войны, служила в Афганистане. Судя по всему, теперь пиндосы,
кроме обязательного негра, обязательного пидора, обязательного
китайца/индуса, ещё и женщину вояку должны будут пихать в каждый
фильм? Или это уже давно происходит и я только сейчас заметил? Женщина
террорист (она же в армии США служила)... ну вот точно так же
привлекательно как и татуированная зечка.
Sergey Matveev [Wed, 27 May 2020 06:55:22 +0000 (09:55 +0300)]
Meltdown/MDS mitigations в OpenBSD намертво вшиты
https://marc.info/?l=openbsd-misc&m=159053859115904&w=2
Во-первых, удивлён что они намертво вшиты. Причины всё же действительно
есть для этого. Но если мой компьютер не подключён к сети и запускает
хорошо известный и доверенный софт, то уж можно было бы получить и
профит в производительности. Лишний рычажок управления не помешал бы,
тем кто понимает что делает. Ну а во-вторых, Тео де Раадт считает что
все пользователи OpenBSD априори точно не понимают. Я вообще недавно
подписан на их рассылки и полностью подтверждаю что Тео это невероятно
беспардонный человек. Торвальдс с ним вообще ребёнок. Тео прям
впечатляет как он этим выделяется от остальных.
Sergey Matveev [Tue, 26 May 2020 15:19:45 +0000 (18:19 +0300)]
Про фильм Дудя, бизнесменов и разработчиков настоящих
https://habr.com/ru/post/503932/
Фильм не смотрел, не собираюсь, но в общих чертах читал про него. А
статья прям задела за живое! Теперь я точно понял про что там был фильм
и реально автор отлично показал современные тенденции и как смотрят на
ИТ-индустрию большинство людей. Я его отлично понял почему он трепещет
перед создателем Kotlin, Деннисом Ритчи и Страуструпом (C++ считаю
ужасом, но это не fail Бьёрна)! Почему куда меньший трепет вызывает
Гейтс или Джобс, да в том числе и Торвальдс. Про Возняка я правда не так
много знаю, но мне казалось что он всё же хакер с большой буквы тоже,
просто больше в железе. А Джобс, Гейтс... это не разработчики, ни в коем
случае. Торвальдс в первую очередь руководитель/лидер.
И реально вижу что люди которые подаются в ИТ отрасль, хотят быть не как
эти хакеры, каждый из которых имеет знаний и ума побольше чем сотня
средних программистов вместе взятых (я не к тому что сотня средних
программистов тупа, а к тому что Ритчи, какой-нибудь Томпсон и Пайк --
очень умны), а как какой-нибудь Дуров, Гейтс и прочие бизнесмены. Точнее
продавцы -- это отличное слово. Но без продавцов тоже никуда.
В недавно просмотренном сезоне Кремниевой долины, в первых сериях,
чувака-технаря задели за живое именно ведь сравнив его с Возняком. А
преобладающее большинство людей и не слышало то его имени, не говоря про
других хакеров.
Sergey Matveev [Tue, 26 May 2020 10:54:42 +0000 (13:54 +0300)]
В Android в 2020-ом до сих пор сломанный IPv6
http://lostintransit.se/2020/05/22/its-2020-and-androids-ipv6-is-still-broken/
Нет, не сломан, категорически не согласен с автором. Они не хотят
добавлять и поддерживать DHCPv6.
* Обязаны? Нет.
* IPv6 обязывает иметь и реализовывать DHCPv6? Нет.
* Google в праве решать что хочет, а что нет для *своей* платформы и
своих продуктов? Да.
* Они в ОС мешают вам реализовать свой DHCPv6 и использовать его? Нет.
* DHCPv6 будет полезен для преобладающего большинства пользователей? Нет!
* А он может им наоборот навредить из-за низкоквалифицированных админов,
которые упорно умеют делать вещи только обмазавшись NAT-ом (а также
DHCP и привычкой выдавать по одному IP адресу)? Никто точно не знает,
но я солидарен с Google и уверен что да. Может быть в будущем, когда
IPv6 окончательно потеснит IPv4 архаичный мир и большинство админов
научатся жить в таком мире и правильно его настраивать, тогда DHCPv6
не помешает
* Из коробки в большинстве дистрибутивов этот DHCPv6 стоит? Нет!
* И много кого в обычных ОС это волнует и он ругаясь ставит каждый раз
отдельный пакет? Нет!
Какие причины автор для DHCPv6 называет?
* Ability to assign suffix such as megacorp.com
Не понял про какой суффикс идёт речь. Ничего не могу сказать
* Register hosts in DNS
У меня вот дома даже для IPv4 такого никогда не было, да и на
большинстве работ в сетях так не делали. Горит эта вещь? Нисколько
* Keep track of what host had what IP at a certain time
Ну вроде бы полезно, но... по хорошему никто не мешает использовать и
не выданный DHCPv6 адрес и это проблематично будет связать с
конкретным хостом (если только не по MAC). А вообще кто мешает делать
ping ff02::1 и смотреть сколько машин ответило? Но это просто чтобы
узнать количество машин. Не горит
* Image deployment via PXE (think DHCP options)
Уж конечно, безусловно, для Android это очень актуально!
* Other DHCP options used for example for WLC
Не знаю что это, но поисковик говорит про Cisco Wireless Controller.
Причём тут Cisco-specific вещи?
* Ability to easily swap DNS server in entire network (think Umbrella deployment)
SLAAC не мешает делать аналогичное, но поведение зависит от конкретной
реализации SLAAC клиента. DHCPv6 для этого не нужен
* Dot1X deployment where you want RADIUS server to see DHCP request
.1X я вообще не видел в жизни в живую. Верю что используют в
корпорациях, но... зачем мешать enterprise вещи и решения и Android --
платформу для, грубо говоря, для простых смертных, которым надо
соцсети и чатики?
* Need to support IP phones
Не в курсе как это связано с IPv6. Ничего не могу сказать.
Please note that SLAAC didn’t even initially have the option of
setting a DNS server.
Ау, это было десять лет назад! И действительно это сводило на нет
возможность полноценной замены DHCP* SLAAC-ом для домашнего
пользователя. И Windows в последних версиях всё же RDNSS начал
поддерживать, судя по Wikipedia. И по сути это Windows имеет наибольшие
проблемы для простого домашнего пользователя, не поддерживая (до
какой-то версии) RDNSS дьявольски усложняя жизнь администратору сети,
вынуждая его поднимать DHCPv6 сервер.
Google is not willing to implement it, because they think they know
better than their users. They will happily spy on you, serve you
ads, and sell your data
Да, Google это компания, с этической точки зрения, плохая, шпионящая и
тому прочее. Однако дата центры, сети и всякие backend-ы они строить уж
точно умеют. И с IPv6 у них опыта поболее чем у многих других. И да, я
точно уверен что они гораздо лучше знают как делать IPv6 сети, в отличии
от миллионов админов, которые первым делом при знакомстве с IPv6
спрашивают: а где NAT, а как мне безопасность сделать? Эти то сведут на
нет все прелести IPv6, только дай им вволю (типа DHCPv6). И, кстати,
автор ссылается на слежку и приватность, но для DHCPv6 он приводил
аргумент что с ним можно точно знать кто и когда какой имел IP-адрес,
тогда как в SLAAC в общем-то хосты вольны хоть ежесекундно менять их
всех или вообще для каждой TCP сессии, что более приватно ибо stateless.
И как бы я не не любил Google, но с IPv6 они реально молодцы! Хотя я
уверен что как и в случае с Facebook и Yandex, IPv6 нужен в первую им
самим для удобства работы, но предоставив FB и Google по IPv6, можно
покрыть бОльшую часть всех надобностей большинства пользователей. Ради
интереса посмотрел на apple.com... ну как и следовало ожидать, никакого
IPv6. Microsoft вообще-то тоже с IPv6 молодец ибо поддерживает его
давным давно и во всяких tutorial-ах она по умолчанию регулярно всё
предлагает делать (LAN как минимум) на IPv6, намекая куда надо
двигаться.
Sergey Matveev [Tue, 26 May 2020 07:30:04 +0000 (10:30 +0300)]
Реестр отечественного ПО не рекомендует свободное ПО
https://habr.com/ru/post/503764/
Автор всё же не очень понимает суть GPL (использование Linux не означает
что все остальные тысячи пакетов в дистрибутиве тоже под GPLv2), как и
многие комментаторы (а другие многие наоборот понимают). Но в целом
действительно наличие:
позволяют получить исключительные права на ПО, использующее их в
своём составе (ключевые компоненты ПО не должны распространяться на
условиях таких лицензий, как GPL, MPL и т.п.)
выглядит пугающе и наверное неграмотно. Но, они хотят чтобы туда
помещалось *ваше* творение, и у вас на него есть исключительные права.
Если вы подаёте что-то, на что у вас нет прав, то это не ваше
произведение, поэтому какое вы имеет право его предоставлять как ваше? Я
вот даже зарегистрировал свои библиотеки, я владелец исключительных
прав, но при этом мой софт это GPL (+LGPL).
Но вообще конечно это звучит как запрет на использование ПО
разработанного не одним человеком, множеством людей, где множество
частей не принадлежат кому-то одному (то бишь open-source метод
разработки).
Sergey Matveev [Tue, 26 May 2020 07:13:48 +0000 (10:13 +0300)]
В FreeBSD оказывается уже давно нет nouveau драйвера для nVidia
https://www.freshports.org/x11-drivers/xf86-video-nouveau
Получается, что кроме проприетарных закрытых родных nVidia драйверов
(что не вариант, само собой) поддержки nVidia нет никакой. Ну наверное
кроме VESA/SCFB. Даже https://wiki.freebsd.org/Graphics про nVidia не
упоминает вообще. Ну, как говорил Торвальдс "Fuck you nVidia!". Хотя я
то уже больше десяти лет на Intel графике, даже в Doom3 на ней играл.
Sergey Matveev [Mon, 25 May 2020 11:20:08 +0000 (14:20 +0300)]
Apple отправляет хэши приложений которые вы запускаете
https://habr.com/ru/post/503670/
Apple как всегда в своём духе, так держать! Такое ощущение что macOS ни
в коем случае, ни при каких обстоятельствах нельзя выпускать в Интернет.
https://raymii.org/s/blog/I_had_to_jailbreak_my_iPhone_to_change_the_default_browser.html
А для смены броузера в системе по умолчанию, нужно сделать jailbreak.
Sergey Matveev [Mon, 25 May 2020 11:13:25 +0000 (14:13 +0300)]
ШИМ подсветка в мониторе и усталость глаз
Пару дней у меня реально сильное ощущение усталости глаз. Ну думал там
или сплю коряво или погода или ещё чего. Но догадался посмотреть залезть
в настройки монитора и увидел что яркость была на 90%. Как-раз пару дней
назад я переключал входы на нём и ради интереса в его менюшках посмотрел
на цветовые настройки. И вот изменение цветовой настройки сбрасывало
яркость с 100 до 90. А в 08bdaeaf7dfb41124609f76dfe712e31c815125d я
узнал про ШИМ мерцание и у меня как-раз карандашный тест
https://lamptest.ru/page/penciltest/ показывал что мерцания нет только
на 100% яркости. Теперь полностью убедился что мерцание зверски влияет
на усталость глаз. И надо запомнить про проверку яркости и "карандаш",
если есть дискомфорт.
Sergey Matveev [Mon, 25 May 2020 11:07:52 +0000 (14:07 +0300)]
3D изображение с мониторов без очков!
https://www.youtube.com/watch?v=Uef17zOCDb8
Ржал в голос от увиденного! Верю что оно работает, но... я бы таким
способом точно не захотел получать изображение.
Sergey Matveev [Mon, 25 May 2020 10:23:41 +0000 (13:23 +0300)]
Low-latency патч для st терминала
http://git.suckless.org/sites/file/st.suckless.org/patches/lowlatency/index.md.html
По описанию выглядит интересно. Сам патч буквально на одну if строку.
Применил, посмотрим замечу ли разницу и будет ли она в лучшую сторону.
Это вообще единственный патч (кроме своих), который применил для st --
все остальные не представляли интереса.
Sergey Matveev [Mon, 25 May 2020 09:19:43 +0000 (12:19 +0300)]
Торвальдс перешёл впервые на AMD
https://www.opennet.ru/opennews/art.shtml?num=53020
А наша семья наоборот на AMD всегда жила, до определённого времени. AMD
системы тупо всегда были ощутимо дешевле, при схожей производительности.
i386, i486 -- все были AMD-шными, K2, Athlon, Sempron тоже. Но на первой
работе, когда видел множество серверов, уже стал с сомнением относится к
AMD. Процессоры у них хорошие, а вот чипсеты и материнские платы паршивы.
Так мне запомнилось. Ну и вопрос совместимости: Intel имеет отличную
совместимость в BSD/Linux системах. Мой первый Intel был в ноутбуке, а
дальше я только на ноутбуках. В сервачках моих тоже Intel, ибо на AMD
просто не было систем такого форм-фактора. В новостях про какой-нибудь
bhyve я не раз видел что Intel виртуализация давным давно работает, а с
AMD, то одно, то другое. Ну и раньше в AMD же были свои 3DNow!
расширения, а в Intel SSE. Ну и раньше писал про AMD: 7b6806adf677ba40bfec8d6184bdde1c416f64db, но возможно это всё уже в
прошлом и сейчас они очень достойны.
Sergey Matveev [Mon, 25 May 2020 09:03:14 +0000 (12:03 +0300)]
Курьёз из практики Интернет провайдера
https://nag.ru/news/newsline/107021/svejiy-kur-z-iz-praktiki-internet-provaydera.html
К такому наверное точно техподдержка не готова бы была. Если бы
пользователь вообще не достал аппарат из коробки или не подключил в
электросеть -- это ожидаемо.
Sergey Matveev [Mon, 25 May 2020 00:12:41 +0000 (03:12 +0300)]
Общение с полицией, будучи оператором выходной ноды Tor
Два дня подряд, два сообщения подряд у меня что-то идут про нашу
полицию. Но то у меня навеяло просмотром фильма, а сейчас, раз про
полицию начал вспоминать, то понял что мои "приключения", будучи
оператором выходной ноды Tor, я не зафиксировал нигде, ибо блог создан
позже.
В общем, много много лет я был оператором выходной ноды Tor. Это
постоянно доставляло неудобства для почтового сервера, так как IPv4
адрес то у меня один, он и попадал регулярно во всякие Spamhaus (чтоб
их!) за вещи вообще никак не связанные с почтой. В общем, те ещё
говнюки, ну да ладно. Это просто требует времени для поддержания и
обслуживания -- регулярно нужно правила выхода менять, чтобы себе меньше
проблем для почты создавать.
А как-то раз, буквально за пару минут до выхода, позвонили на городской
телефон. Представились что из отдела К и со мной хотят поговорить.
Сейчас мне даже смешно, да и тогда заметил, но я так быстро поговорил,
сказал когда подъеду, что на том конце вроде было заметно на слух
замешательство, как-будто я сидел рядом с телефоном и ждал именно этого
звонка, прекрасно знал что такое отдел К (я то действительно знал, но
все мои знакомые родственники не в курсе что это) и с нетерпением сам
хотел с ними поговорить.
Самое неприятное что было при этой встрече: из-за моего географического
кретинизма, я уйму времени искал их адрес. Сам разговор уж не знаю
сколько длился. Ввели в курс дела: через мой IPv4 адрес, в другой стране
(это был международный запрос в нашу полицию) произошло проникновение
куда не надо. Как я это могу объяснить, знакомы ли мне такие то лица,
компании, и т.д.. И я объяснял принцип работы Tor, TCP, IP, прокси,
relay, и т.д.. Сам выходную ноду держу чтобы поддерживать сеть, если
самому понадобится, то из-за таких как я, смогу использовать её как
альтернативный транспортный маршрут, обеспечивать себе высокую
доступность. Многое набирали на компьютере, чтобы потом распечатать этот
протокол и с моей подписью его зафиксировать. А под конец мне ещё
сказали что толковый я, им такие бы не помешали, пускай подумаю над тем,
чтобы работать у них, оставили визитку. И, честно говоря, через
несколько лет я почти пошёл к ним, если бы не перехватила другая
компания. Во-первых и тема интересная (наверное), во-вторых слышал что
там часто встречаются не слишком компетентные люди, но откуда ж они
возьмутся если никто не идёт и я мог бы быть одним из них (наверное),
в-третьих считаю что это могло бы сойти за службу в армии, отдаванию
долга Родине, чтобы в глазах отца достойнее выглядеть. Но, меня
"перехватила" другая госконтора. Возможно это было бы ужасным решением
пойти работать в МВД, ибо никто не рекомендовал кто знаком как там. С
другой стороны, конкретно об отделе К никто ничего не знает, а разницы
там между отделами наверняка много. Но, это всё гадание.
Через полгода или год (так как блог не вёл, то фиг уж помнит), когда я
ещё был на работе вечером, к родителям (я с ними жил) пришёл участковый
и поговорил со мной по телефону, мол на допрос надо. На следующий день
пришёл к нему. Это уже не в Москве, а Королёве. Первый раз оказался в
обновлённом нашем участке, который раньше располагался в здании
построенном наверное ещё до Войны. Точно час, если не больше провёл там.
Участковый задавал много вопросов и всё записывал от руки на бумаге.
Особо ничего технического не припомню чтобы было, куча информации вроде
про то кто я, откуда я, где учился, где работаю, и т.д.. Это уже
какое-то другое дело, не зарубежный запрос, а российский. Очень
запомнилось что дверь в коридор была открыта и было слышно много других
комнат и проходящих там людей. Один коллега говорил что был шокирован
просто ожиданием внутри участка своего, ибо там таааакие люди
встречаются, что особо даже не представляешь где их находят и что они
ходят среди нас. Вот и у меня похожие были ощущения. Не то чтобы пьян
там всякая была, не то чтобы быдло, а люди которые совершенно
беспардонны, совершенно невоспитанны, невероятно тупы, в общем... крайне
противны. Как-будто я в какой-то психушке и среди всех людей нормальные,
адекватные и просто спокойные только я и все милиционеры. Причём я
поражался их сдержанности. Нет, видно что они не флегматично это не
замечают (это -- это разговоры, фразы к ним бросаемые), но они просто
сдержаны, профессиональны. Ещё там на всех компьютерах USB-порты были
запломбированы. В общем, исписали кучу бумаги, моя роспись на ней
(протокол допроса), ушёл.
Дальше (дни или недели спустя?) меня ждал допрос Королёвским ОБЭП
(борьба с экономическими преступлениями). Тоже ранее незнакомое здание,
да и сам ОБЭП. Тоже допрос с записыванием на бумажку, но точно помню что
уже технические подробности Tor там рассказывал. Запомнилось что
следователь говорил что не понимает что такое "шифрование", я ему
"обеспечение конфиденциальности при передаче" -- он так сразу "о! теперь
понятно!". Мне кажется это он специально пояснял для себя понимаю ли я о
чём веду речь и что вкладываю в это слово. Ведь очень многие люди и
анонимизацию и скрытие чего-либо обзывают "зашифровался". Опять же,
отсылка к тому, что я со многими слоями общества не общаюсь и даже их не
вижу толком, а им приходится с самыми разными людьми дело иметь. Ещё
запомнилось что когда уходил (а это была суббота утро, нерабочий день),
то попрощался за руку, сам её протянув. Точно помню что это сделал
просто рефлекторно, но даже до сих пор не знаю вообще этично ли это,
пофиг (как пойдёт) или ещё как. Вроде следователь замешкался, но руку
пожал. Наверное, раз я потенциально подозреваемый, то как бы мы типа
врагов, а уж враги вряд ли будут жать друг другу руки (не соперники же в
порте). С другой стороны, официально я не подозреваемый, а свидетель. Но
вот с полицейскими же на улице вряд ли кто здоровается за руку, даже в
голову не придёт. А следователь, по идее, точно такой же полицейский как
и они, просто в офисе, просто в штатском, но это наверное и сбивает мозг
с толку.
А дальше, спустя ещё какое-то время (месяцы?), ранним утром (7 утра)
звонок в дверь. Отец уже ушёл на работу, я и мама спали. Пришли двое
человек в костюмах, показали удостоверения, сказали что орден на обыск,
всё такое. Я в трусах, сонный, злюсь. Прошли, краем глаза заметил что
один из них быстро похлопал по карманам моего пиджака, висящего на
стуле, проверяя есть ли в них чего, наверняка что-то типа флешки
наверное. Попросили позвать понятых. Мы с соседями живём всю жизнь,
знаем друг друга на лестничной клетке, привели двоих. В общем, начали
обыск в моей комнате где я и работал и спал. Ящики смотрели, перебирали,
но всё аккуратно, нормально. В одном ящике ("горячем", где я всякие
флешки и часто используемые вещи держу) немного купюр денежных было --
полицейский так как-бы отошёл, спросил откуда они, попросил чтобы я их
забрал, чтобы показать что он прикасаться к ним ни за что не будет.
Дальше попросили меня на компьютере поискать файлы с именем таким-то.
Даже примерно уже не помню какое, но вроде что-то названия компании
какой-то. Видимо, найти документы где фигурировало бы это название.
Ну... я find / -name ... Они оба стояли сзади меня и я их не видел, а
мать рядом сидела и потом, когда они уже ушли, что они так
многозначительно переглянулись, мол консоль наверное не ожидали увидеть.
Дальше сообщили что им надо всё изъять. У них действительно куча бумаг
оформленных было где всё это полагалось сделать. Я говорю что их
наверное же интересуют только данные на компьютерах и я показал вывод
zpool status чтобы показать что у меня собраны зеркала и я им просто
давайте дам один из дисков. И потянулся чтобы вынуть, вынул. Помню как
один из полицейских очень напрягся и пристально смотрел за моей рукой и
что я делаю ей (у меня в сервере нормальные hot-swap залазки и одним
движением диск можно достать). Сказал что из ноутбука выкрутить диск
могу например, им и легче нести будет, но мне ответили что лучше (или
только так и можно) забрать всё целиком и сразу. Тогда до меня начало
доходить что ВСЁ железо они собираются вынести. Я конечно сильно
разозлился. Спросил: а на чём мне работать то, когда вернут? Сказали что
в течении нескольких дней что ли. Но тут я уже не помню подробности. Ну
а дальше с полной описью (серийники жёстких дисков вроде протоколировали
даже) паковали ноутбуки, сервера, флешки, жёсткие диски и тому подобные
штуки. Пломбировали дверцы серверов, ноутбуков, тоже с росписью.
Ноутбуки я в портфеле отдал для их сохранности и в общем получилось
прилично здоровых IKEA сумок. Они сами же попросили сфотографировать
(кстати, в фотоаппарате же тоже флешка!) все протоколы, документы, мою
роспись о том, что должен такого то числа явиться на допрос, и т.д..
Когда они ушли, то возможно чуть ли не впервые я конкретно блядски
проматерился при матери, ибо ничего по другому сказать не мог, ибо,
@#$%, как мне работать то!? И ещё очень и очень сильно запомнилась
тишина в комнате в которой не осталось компьютеров. Вот на полном
серьёзе эта тишина буквально закладывала уши! И очень тревожила, ибо
если тихо, то значит что-то не включено, значит не в порядке, значит
проблема.
Всё же железо забрали не всё, из говна и палок, а также с помощью друга,
неподалёку живущего и в тот день не поехавшего в Москву на работу,
собрал себе компьютер и даже бэкапы вполне себе неплохой свежести
откопал (ну у меня бэкапы и на работе есть). В общем мне сильно повезло
с другом и в тот же день я уже даже вроде бы и сервер (cypherpunks.ru и
другие) запустил и работать мог.
Единственное что меня тревожило это получу ли я своё железо назад. Ну то
есть, формально то конечно я должен буду его получить, но кто его знает
как наша бюрократическая машина работает? Точнее все знают: настолько
медленно, что мой судебный процесс с марта прошлого года, до сих пор не
закрыт, ожидает в Королёвском городском суде. Если мне компьютеры вернут
через год, то... это всё равно равносильно их потере. А если их
потеряют? Железа всякого там просто так много, что если на тот момент
абсолютно новенькое его покупать в магазине, то там на полмиллиона
рублей наверное его. Само собой я за него столько не платил: многое мне
со скидкой давали, что-то я брал с рук по дешёвке и сильно б/у, что-то
куплено во времена когда стоило из-за курса доллара существенно дешевле,
но в принципе это тьма хорошего железа.
Мне сказали что надо сначала созвониться чтобы быть уверенным что день у
следователя свободен. Это, кстати, уже УВД по ЦАО ГУ МВД был --
центральный МВД. Созвонился, допрос перенесли. Дальше я каждый день
звонил следователю чтобы узнать когда мне вернут хотя бы часть железа.
Через несколько дней он перестал поднимать трубку (я звонил с сотового)
-- я позвонил с городского и он сразу ответил, явно расстроившись что
это снова я назойливо звон. Но моя совесть чиста -- мне *сильно* повезло
что я смог продолжить работать, а так я бы по сути просто сидел без дела
все эти дни, ибо я просто буквально без инструментов для работы. Где-то
через неделю договорились о встрече.
Здание УВД по ЦАО ГУ МВД -- это нечто! Массивное красивейшее из стекла и
бетона здание: https://www.advokat-sarkisov.ru/poleznaya-informatsiya/uvd/uvd-po-tsao-gu-mvd-rossii-po-g-moskve/
Войти во внутренний двор просто так там нельзя: перед ним массивнейшая
проходная где под землёй надо пройти. Был я там два раза и в какой-то из
разов там видел их бронированные машины и типа в полном обмундировании
бойцов. Впечатляет! И такое ощущение что здание и личный состав внутри
готовы к штурму хоть армией. Внутри всё красиво, современно. Мне надо
снова позвонить чтобы меня следователь встретил. Пройти надо сквозь
металлодетектор, а у меня перочинный ножик всегда с собой. Обнаружили,
под роспись в сейфе у себя оставили его. Внутри во дворике бюст
Дзержинского. На допросе снова много заполняемой бумаги, объяснение про
Tor и всё такое прочее. Часть железа мне вернули, но вроде не сервера
ещё, которые мне критичнее всего поскорее вернуть, да и они самые
дорогостоящие. Среди взятого железа был и eeePC, который слабее чем
смартфоны у людей был уже. При этом я написал бумагу что я это своё
железо беру к себе на хранение, и при первом же запросе обязуюсь вернуть
им! Я возмутился, мол странно это как-то всё, я своё же для них храню?
Мне ответили что штатная процедура это хранить им у себя до полугода это
всё, поэтому можно и без бумажки, но железо останется у них. Я кстати
наслышан что действительно, когда забирают компьютеры для проверки
(нелегальное ПО, пиратский контент, и т.д.), то это речь о месяцах и
полугоде или даже больше. Так что мне предоставляют удобство, формально
и самим ничего не нарушая -- просто хранение производится временно у
меня. Ну а дальше, вроде ещё через неделю, поехал за оставшимся железом.
Допроса уже не было, только снова роспись что конкретно я забираю на
хранение, ведь каждая флешка описаны в протоколе. Так как это была зима,
то тащить это всё до метро по холоду мне жалко жёсткие диски. Ну и я не
долго думая попросил дать мне нож. Раз это было второе посещение, то
перочинный ножик я с собой уже не брал, чтобы не напрягать его сдачей в
сейф. А на серверах пломбы (наклейки), не дающие вынуть диски. Мне
кажется это было не совсем обычно в кабинете милиционера просить выдать
нож. Но дали канцелярский нож, вскрыл, вынул диски, засунул в портфель,
объяснил что это чтобы на холоде не тащить.
Через пару дней я приобрёл себе датчик полей -- детектор жучков. Мало ли
там железные жучки какие поставили и именно поэтому выдали мне железо?
Само собой я совсем не специалист по всему этому, но потратил время
сравнивая "поведение" моего железа и всякого другого эталонного.
Полностью разбирал все компьютеры и даже блоки питания в серверах, чтобы
визуальный осмотр провести и не заметить ли чего не совсем похожего на
штатные компоненты. Я считаю что лучше перебздеть.
Вернули ли мне в итоге всё? Фиг там! Один большой синий пакет из IKEA
так и не вернули! Но... его и в описи не было и я думаю про него забыли.
Запускали ли ноутбуки/компьютеры и прочее? Во-первых, я не подумал об
этом и не посмотрел ради интереса, загрузившись с LiveCD, на время
обновления файлов. Поэтому -- не знаю. Во-вторых, запускали ли или нет,
но я полностью переустанавливал весь софт. полностью всю систему,
конфиги и всякие другие вещи брал из бэкапов. Многое, будучи
зашифрованным PGP с MDC, само по себе было аутентифицировано. В общем,
времени всё это отняло конечно массу, хотя запросто компьютеры после
включения и видя голую FreeBSD консоль, сразу же выключали. Но,
повторюсь, лучше перебздеть.
Боялся ли я того, что на меня для галочки повесят что-нибудь, как часто
у нас подобное рассказывают? Честно -- нет. Ибо я считаю что истории про
подобные закрытые дела это исключения из правил. А если и так, то... что
мне, жалеть что я держал выходную ноду Tor? Я делал благое дело, как
тогда считал, совесть чиста. Хотя если уж и вешать дело, то на меня в
самый раз: семьи нет, детей нет, потеря такого человека в обществе
минимально на нём отразится. И если бы хотели что-то повесить, то
посетив все эти МВД пять раз, и отдел К и ЦАО ГУ МВД, уж повесили бы.
Но, кроме синего большого IKEA пакета, я придраться ни к чему не могу.
Ведь ВСЁ железо мне через две недели полностью вернули, а половину то ли
через пять, то ли через шесть дней, на самом деле. И это московский МВД,
московский отдел К, королёвский ОБЭП и просто участковый --
разнообразие, но везде я видел только профессионалов, которым не
позавидуешь, ибо и в ЦАО ГУ МВД я вроде тоже в выходной день ходил, и в
Королёве в выходной -- ну или смены у них смещены или они работают сверх
нормы, как мне кажется. В ЦАО ГУ МВД, когда я сидел и ждал следователя
для прохода, то там привезли кучу чурок и проводили через эту проходную,
при этом карауля рядом с автоматами внутри, чтобы мало ли чего. И если
им каждый день приходится иметь дело только с такими (я не про то, что
чурки чем-то плохи, а то, что вряд ли привозят туда лучших их
представителей), то совсем не позавидуешь. Но... пакет они так и не
вернули!
Мне часто задавали вопрос что мол нафига они тратят своё время делая это
всё, ведь всё равно наверняка экспертизы не было и это просто имитация
бурной деятельности. Я в корне с этим не согласен. Во-первых, я *уверен*
что бОльшая часть инфопреступлений совершается дундуками которые это всё
реально будут делать со своего домашнего компьютера. И наверняка бОльшая
часть из них действительно просто так и будет в открытом виде хранить
компашка-которую-я-хакнул.doc. Такие простые меры нужно делать точно так
же, как служба поддержки обязана спросить пользователя включил ли он
сервер в сеть и включил ли он на нём питание (я на первой работе сидел
недалеко от поддержки и воочию убедился что люди звонят и говорят что
сервер не работает, но они его даже не включали). Во-вторых, все эти
допросы и прочее нужно ещё для того, чтобы посмотреть на реакцию
человека. Люди, суки, много чего о себе выдают, и уж профессионалы
полицейские, знают это, в курсе этого и они умеют это читать. Не то,
чтобы я сам в этом разбираюсь, но лишняя пауза, лишнее движение глаза,
дёрганье пальца... и кучу всего ещё говорит очень много о реакции
человека на вопросы. В детстве я не редко удивлялся тому, как родители
могли "читать" меня когда я врал, напакостил. Точно так же, как мы
"читаем" по опущенной голове, глазам и хвосту собаки не напроказничала
ли они где-нибудь -- мы может далеко не сразу найти что конкретно
произошло, иногда даже это в другие дни обнаружится, но собака
гарантированно всё равно себя выдаст. Люди аналогично -- нужна реакция.
А реакцией вообще может быть попытка уезда из страны или скрытие, но это
конечно уже серьёзные случаи.
А ещё мне запомнилось краткое общения с одним из людей из
Либертарианской партии, когда они меня пригласили на дебаты касательно
цензуры в Интернете. Были вопросы типа пользовался ли я статьёй
какого-то там закона, приходил ли я со своим адвокатом... я до сих пор в
шоке от подобных вопросов. Своим адвокатом??? Нет ребят, я простой
обычный человек, обычный класс и слой общества. У меня ни одного
знакомого у кого был бы свой адвокат. В каких мы, однако, разных мирах с
этими либертарианцами живём. Ещё и про какие-то статьи я, видимо, должен
знать и законы по числам. Мне почему-то представляется то, что общение
либертарианца (либерала, whatever -- для меня всё одинаково) с полицией
происходит примерно так: с ноги он входит в комнату к следователю, руки
сложены, никаких приветствий, повторяется только одна фраза "без
адвоката я говорить не буду, статья XXX". Мне кажется что на месте
адекватного здорового человека, у него вряд ли бы возникла мысль о том,
чтобы "отдать на хранение" железо такому человеку, ибо тебя
(милиционера) он за человека то и не считает (они реально просто люто
ненавидят всё где есть хоть что-то силовое!).
Sergey Matveev [Sat, 23 May 2020 20:23:36 +0000 (23:23 +0300)]
Работа (силовая) нашей полиции
Только вот написал про фильм Стрингер, а в новостях заголовки про
задержание взявшего заложников преступника, которое пошёл смотреть
(но никакого штурма нет). А фильм то был как-раз про подобные видео,
что люди это охотно смотрят.
А вообще когда-то я много всяких роликов в YouTube видел про реальную
работу ОМОНа, СОБРов всяких и тому прочих. В новостях полно видео о том
как погони на машинах и захваты людей в них происходят. Глядя на них,
вывод можно сделать только один: если тебя хотят взять, то в лучшем
случае успеешь только пукнуть. Слаженность и синхронность действий
нескольких человек (например через окна/балкон врывающихся в квартиру
многоэтажки), скорость их работы очень впечатляет! Везде всё происходит
буквально за считанные секунды, при этом учитывая кучу возможных
нештатных сценариев, ведь в доме/квартире неизвестно какая обстановка
внутри.
При этом, также целенаправленно искал видео работы полиции в США. Ничего
похожего не нашёл. Ну точнее ничего впечатляющего, если это какая-нибудь
погоня, хотя работу они свою выполняют, но мы все знаем что там, чуть
что, то они сразу стреляют на поражение. А как правило, в любой ситуации
у них просто приезжает десятки человек, десятки машин и какого-нибудь
забаррикадировавшегося человека они просто изматывают или идут небольшой
армией на штурм. Вот пытался найти что-то достойное, но не находится.
Тогда как наша полиция это просто чёткое, быстрое молниеносное действие
всего несколькими людьми.
Может показывают и выкладывают в Сеть только выдающиеся хорошие записи?
С института меня впечатлил один случай, по другому заставивший смотреть
на обычных патрульных полицейских. Ехал из Москвы сидя в вагоне, время
за 11 вечера или за полночь. Остановились на станции. На другой
платформе тоже стоит электричка. Народу в ней нет (или почти нет). Вижу
как по вагону в ней бежит сломя голову мужик чисто бандитской
наружности, атлетичного сложения (освещение в вагонах хорошее). А за ним
пузатенький милиционер. Бандит за собой двери с усилием закрывал, чтобы
они захлопывались перед милиционером. Я всю жизнь умел очень хорошо
бегать, был прыткым и вёртким -- и скорость бандюка точно была очень и
очень хороша. Но пузатенький невысокий милиционер, не смотря на
закрывающиеся двери, на громадную скорость бегуна, всё равно через два
вагона настиг его и я видел только как он прыгнул сзади (а это ж и
момент ещё нужно какой задать, чтобы не обосраться и не упустить
человека) и сбил с ног бандюка. Через пару секунд добежал напарник,
наклонился, ну и наверное там наручники надели, а я уже тронулся. Меня
впечатлило что я бы никогда в жизни не подумал что такие люди вообще
способны быстро бежать, а тут ещё и с препятствиями (двери) и меня бы
он, судя по скорости бандюка, точно бы тоже без проблем догнал. Хотя,
мне кажется, что кому страшно (а бандюк явно сломя голову нёсся), то у
того от страха ещё больше тонуса в организме.
Хотя один из главных показателей это то, что сколько у нас всяких
митингов и прочего проводится на тысячи тысяч людей и всё спокойно,
нормально, без проблем, особенно учитывая количество уродов постоянно
посещающих массовые мероприятия для провокаций, драк и подстав.
Отец служил у меня пограничником и рассказывал что к ним как-то типа
генерала или какого-то высокого ранга пришёл. А он пузатый такой,
отъевшийся. Уж не помню как так получилось (может и отец не помнил), но
типа они (18-19 летние здоровые молодцы с бицухами) поржали над ним, мол
типа только просиживает штаны он. В итоге он взял посоревноваться в
подтягиваниях с ними... и уделал конкретно всех в физподготовке, после
чего у бойцов и уважение сильнейшее к нему появилось, ибо не ожидали
такого.
И ещё он рассказывал как когда они были в Кабуле, то вечерком к ним
подъехало человек 10. Видели они их впервые, под гитару песни попели,
пообщались -- просто обычные нормальные мужики. А на следующее утро
просыпаются -- мужиков и нет. Типа они на пару часов раньше встали и...
взяли под контроль какую-то громадную часть Кабула. Они все поверить не
могли как это возможно, да ещё и за такой короткий срок.
Ну а позже был легендарный (по моему) штурм дворца Амина:
https://ru.wikipedia.org/wiki/%D0%A8%D1%82%D1%83%D1%80%D0%BC_%D0%B4%D0%B2%D0%BE%D1%80%D1%86%D0%B0_%D0%90%D0%BC%D0%B8%D0%BD%D0%B0#%D0%98%D1%82%D0%BE%D0%B3%D0%B8
где, грубо говоря, 50 наших (+мусбат) против 2500 противников, и план
разработан типа за один вечер. Но это всё уже не полиция, а КГБ/ГРУ,
часть которая в последствии стала Альфой.
Sergey Matveev [Sat, 23 May 2020 20:07:11 +0000 (23:07 +0300)]
Посмотрел "Стрингер"
https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D1%80%D0%B8%D0%BD%D0%B3%D0%B5%D1%80_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC,_2014)
Необычная история про отмороженного мужика, хотя формально ничего
нелегального не делающего. Но фильм является фантастикой, либо полиция
там не сильно образована, ибо полиция не нашла вырезанный кусок видео с
его камеры. Видео у него записывалось на CompactFlash флешку. По сюжету
фильма, полиция довольно быстро пришла к нему домой утром и он новые
записи не делал в течении нескольких часов, поэтому наверняка на флешке
остаётся снятое видео которое он не хотел показывать полиции. Удалив
файл или просто подправив метаинформацию, само видео останется, просто
не будет видно на уровне файловой системы. Ну или он об этом всё же
подумал и спрятал эту флешку, записав обрезанное видео или делал secure
erase...
Sergey Matveev [Sat, 23 May 2020 11:46:24 +0000 (14:46 +0300)]
Про простой workflow в git
>Какой workflow нужно использовать, если я хочу просто отслеживать свежие
>изменения в remote репозитории >и чтобы при этом держать свои локальные патчи
>(отдавать их наверх не собираюсь).
Одному человеку вот написал моё видение workflow для этого случая:
>Вот склонировал я репозиторий, периодически делаю "git pull" - всё хорошо. А
>как комиттить свои локальные патчи? В интернете пишут - в master ничего не
>коммитить (WTF, это моя копия master). А тогда как?
Workflow в git-е тьму всяких используют и единого или рекомендуемого
нет. Но это и так очевидно. Очень сильно разнятся советы по
использованию git-а в зависимости от человека который его будет
использовать: опытный или нет например. В одной компании где я работал,
git cherry-pick или git rebase -i -- были табу, запрещены к
использованию в одном отделе. Потому что в нём работали не очень опытные
с git-ом разработчики, а git штука мощная и позволяет коверкать и изменять
историю множеством способов и эти разработчики её коверкали так, что фиг
потом разберёшься что как и откуда шло/росло и как посмотреть разницу и
историю между рядом правок. В умелых же руках все эти rebase,
cherry-pick -- к месту творят хорошие вещи. Я не пользовался Mercurial,
но знакомые с ним и с git, говорят, что в Mercurial сложнее выстрелить
себе в ногу, но он и менее гибок/мощен -- git же наоборот.
>git-rebase - Reapply commits on top of another base tip
>
>Не, я точно не хочу такую хрень. Где-то в гите перемудрили. По-твоему это
>понятно звучит? [...]
Дока в нём не везде и не всегда понятна -- это точно. Но в ней
(git-rebase) вот например есть такая картинка:
Assume the following history exists and the current branch is "topic":
A---B---C topic
/
D---E---F---G master
From this point, the result of either of the following commands:
git rebase master
git rebase master topic
would be:
A'--B'--C' topic
/
D---E---F---G master
которая, по моему, очень понятно объясняет суть rebase.
>А нельзя просто мержить из мастера в свою ветку, без rebase и прочих
>модификаций истории?
1) Ваш вариант: вы постоянно находитесь на ветке master. Сделали в ней
свой коммит. А дальше, если сделаете git pull, то, так как верхушка
вашей ветки не совпадает с верхушкой origin/master ветки, потому что
появился ваш коммит, то git не может просто переставить указатель вашего
master на коммит на который указывает origin/master (это называется
fast forward). Git вынужден будет сделать "искусственный" (чисто
технически это обычный коммит конечно же, просто он неявно создан не
человеком) merge-коммит в котором будут два родителя: origin/master
коммит и ваш коммит.
git pull это на самом деле синоним к:
$ git fetch
$ git merge origin/master
предполагая что текущая master ветка прописана в .git/config что связана
с origin/master и предполагая что fetch автоматически подставляет
"origin" remote. По умолчанию это всё так. Так вот команда merge, по
умолчанию, делает fast-forward (если может), в противном случае
merge-commit. Например ваш master указывает на commit2, а origin/master
(который обновляется после git fetch) на commit 3
commit2 <- master
commit1
commit3 <- origin/master
commit2
commit1
Находясь в master ветке, делая git merge origin/master, git просто
передвинет/обновит master указатель на commit3, сравнявшись с
origin/master. Если же в вашем master есть ваш коммит, то fast-forward
невозможен и будет создан промежуточный искусственный коммит:
в рандомно взятом репозитории git log покажет это так:
* 903bdfe Update vendor 42wim/mm-go-irckit
* 50a0ba8 Bump version
* f8394da Merge branch 'master' of github.com:42wim/matterircd
|\
| * ad4a8f0 readme: Add a "Guides" section and one guide (#194)
* | f7cf55c (tag: v0.18.2) Release v0.18.2
|/
* a0ab000 Update vendor nlopes/slack
* 755960e Bump version
* 1886628 (tag: v0.18.1) Release v0.18.1
* 1aea3b8 Add support for mattermost 5.x
Каждый раз когда вы будете делать git-pull, будут создаваться эти "merge
branch" коммиты, так как в вашей ветке верхушка никогда не совпадает
(хэш отличается) с origin/master.
Проблема ли это? Зависит от. Так вы каждый раз видите когда сделали git
pull. Если это делать каждые пять минут, то с появлением коммита в
origin, у вас будет создаваться merge-коммит, объединяющий вереницу
коммитов вашей истории и удалённой. На мой субъективный взгляд, чаще
всего это делает историю некрасивой, загромождает ненужной для человека
информацией (мусорными коммитами) и сложнее разобраться может быть как
что откуда и как растёт.
аналогичен 1), но у вас локально master ветка будет всегда полностью
соответствовать ветке с origin. Хотя, по факту эта информация всё равно
содержится в origin/master.
rebase это простая операция: она берёт коммит(ы) и меняет их родителя.
Как-бы отрывает и прикрепляет к другому. Безусловно все хэши всех эти
коммитов поменяются (в вырезке из man-а они поэтому со штрихами). Но,
тогда, вместо:
* f8394da Merge branch 'master' of github.com:42wim/matterircd
|\
| * ad4a8f0 readme: Add a "Guides" section and one guide (#194)
* | f7cf55c (tag: v0.18.2) Release v0.18.2
|/
* a0ab000 Update vendor nlopes/slack
если бы "readme: Add a "Guides"" коммит имел родителя не "Update vendor
nlopes", а "Release v0.18.2", то тогда произошёл бы fast-forward и
история превратилась в:
* XXXXXXX readme: Add a "Guides" section and one guide (#194)
* f7cf55c (tag: v0.18.2) Release v0.18.2
* a0ab000 Update vendor nlopes/slack
и в вашем случае бы ваш mybranch всегда выглядел как:
последний коммит в master это 7c53a13, а над ним два постоянно
rebase-ящихся коммита ветки "links". На мой взгляд, это очень удобно для
человека, для его восприятия. Но всегда зависит от. Rebase это изменение
цепочки хэшей и моя ветка "links" после каждого rebase никогда не может
быть запушена на удалённый репозиторий просто так, потому что fast
forward невозможен. Если это лично ваша ветка/ваш репозиторий, то уверен
что это не проблема.
4) Вариант с rebase-ом вашей master ветки (с вашим коммитом) на
origin/master:
$ git pull -r
что равносильно:
$ git fetch
$ git rebase origin/master
Так вы будете иметь master полностью совпадающий с origin/master, за
исключением того, что его верхним коммитом будет ваш. На мой взгляд это
самый удобный способ. Я вот использую suckless terminal (st), а в нём
вся конфигурация зашивается на момент компиляции. Я просто делаю rebase
своего master на удалённый и моя история всегда линейна, без
ответвлений:
* b5a4ee2 (HEAD -> master) My config
* 92cc580 Coloured italics
* 43a395a (tag: 0.8.3, origin/master, origin/HEAD) bump version to 0.8.3
* 72e3f6c Update XIM cursor position only if changed
Но! При любом раскладе возможны конфликты в файлах (origin поправил тоже
место что и вы). В случае с merge-коммитами, один раз разрешив конфликт,
он как-бы зафиксирован и сохранён в истории и three way merge алгоритм
его всегда учитывает и если в origin в том же месте снова что-то
поменяется, то большая вероятность что three way merge автоматически всё
сам разрулит. В случае с rebase, three way merge перестаёт работать.
rebase, можно сказать, это просто:
ну и дальше выставление текущего указателя ветки на то, что получилось.
Никакой магии в rebase нет и его можно делать вручную cherry-pick-ами.
Но когда делается cherry-pick, то это равносильно просто попытке
применения какого-то патча. То есть это буквально two way merge, где
отсутствует ancestor информация и если конфликт постоянно возникает в
каком-то месте, то после каждого rebase это может происходить. Проблема
ли это на практике и часто ли такое может быть? Зависит от. Я не помню
когда последний раз с этим сталкивался.
Но! С какой-то версии в git-е появилась технология rerere: man
git-rerere, которая запоминает разрешения конфликтов и если встречает
аналогичные конфликты, то автоматически применяет сохранённое разршение.
Это в отдельной поддиректории в .git сохраняется всё и может быть
удалено когда угодно. Достаточно просто включить rerere и он начнёт
работать и он спасёт от постоянно одинаково разрешающихся конфликтов,
которые могут во время rebase возникнуть.
А также надо быть очень осторожным с git pull командой, если не уверены
что remote репозиторий не делает форсированных (не fast-forward)
обновлений. Например Gitlab по умолчанию вообще запрещает не
fast-forward push в репозиторий, но всё зависит от настройки конкретного
репозитория и людей в него пушающих. Если человек сделал git push
--force, то у всех кто сделает git pull -- возникнет merge-коммит между
их историей и насильно форсированно изменённой историей удалённого
репозитория. Поэтому говорят что делать push --force чудовищно плохое
действие. И ваш master после такого git pull уже никогда не будет
совпадать с origin/master-ом. Тут только можно сделать (откатив все ваши
изменения, конечно же):
$ git reset --hard origin/master
Лично я, *никогда* pull не использую, ну кроме личных репозиториев про
которые помню, а всегда делаю fetch чтобы увидеть обновился ли
репозиторий как fast-forward (и я могу сделать git merge origin/) или же
нет, он был насильно изменён и тут... уже смотреть по месту надо что
делать дальше.
Если резюмировать, то лично я бы (сам бы так и делал) для вашего
use-case советовал git pull --rebase в master ветке, где ваш коммит
будет всегда наверху.
Sergey Matveev [Sat, 23 May 2020 10:17:37 +0000 (13:17 +0300)]
Посмотрел Гаттаку
https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D1%82%D1%82%D0%B0%D0%BA%D0%B0
Хорош, понравился! Любителям антиутопий можно посоветовать.
Наверняка в фильме даже не думали о взаимосвязи, но тема космических
полётов и уборщика с шваброй в high-tech помещениях у меня вызывает
воспоминания только о Space Quest и Planetfall играх. Да и Space Quest
то является отсылкой к Planetfall-у.
Статистику не веду, но вот интересно много ли фильмов показывают как
видят сильноблизорукие люди? В этом попытались показать как он без
очков/линз пытался перейти оживлённую автомобильную дорогу и
действительно реалистично. Я ему прям искренне мог посочувствовать.
Sergey Matveev [Sat, 23 May 2020 10:10:36 +0000 (13:10 +0300)]
История популярности C: история GCC/Cygnus
https://minnie.tuhs.org/pipermail/tuhs/2020-May/021225.html
Джон Гиллмор (один из основателей EFF, крутейший хакер, известнейший
шифропанк) рассказывает историю разработки GCC в Cygnus software. Если
по простому, то просто они за нормальные деньги нанимали нормальных
(толковых) программистов и те писали GCC. То тут, то там получали
спонсирование от каких-нибудь Sun даже, ибо тем важно чтобы была
выполнена работа, а не то, чтобы её ещё и надо было закрывать.
Всё аналогично и в Linux. Точных цифр не назову и лень искать, но
энтузиастов, которые только на своей воле делают бесплатно там правки,
не так много -- почти всё в ядре это обычная полноценная оплачиваемая
работа. Вот и с GCC аналогично, хотя, безусловно, начальный и основной
толчок дал Столлман и Ко, привлекая внимание к разработке GCC.
Sergey Matveev [Sat, 23 May 2020 10:03:16 +0000 (13:03 +0300)]
Превосходнейшая статья про парольные фразы
http://theworld.com/~reinhold/diceware.html
http://theworld.com/~reinhold/dicewarefaq.html
Из комментариев в блоге узнал вот про такие статьи про парольные фразы.
Очень толковые и понятно объясняющие что это, для чего это и как их
делать. Точно можно посоветовать любому, ибо от паролей надо избавляться
в этом мире!
Sergey Matveev [Thu, 21 May 2020 16:53:28 +0000 (19:53 +0300)]
Теперь в блоге есть отдельные Atom для комментариев
http://blog.stargrave.org/russian/comments.atom
У главной страницы блога есть feed для всех поступающих комментариев.
А у каждого поста есть свой собственный отдельный feed для комментариев
только его касающихся.
Sergey Matveev [Thu, 21 May 2020 16:50:49 +0000 (19:50 +0300)]
Посмотрел первый сезон "Кремниевой долины"
https://ru.wikipedia.org/wiki/%D0%9A%D1%80%D0%B5%D0%BC%D0%BD%D0%B8%D0%B5%D0%B2%D0%B0%D1%8F_%D0%B4%D0%BE%D0%BB%D0%B8%D0%BD%D0%B0_(%D1%82%D0%B5%D0%BB%D0%B5%D1%81%D0%B5%D1%80%D0%B8%D0%B0%D0%BB)
Если коротко, то понравилось, но другие сезоны смотреть не буду. Всё не
мог понять буду ли продолжать просмотр или нет.
Я принципиально сторонюсь сериалов, ибо очень низкий КПД использования
моего времени и постоянная эксплуатация психики людей которые хотят
законченной истории. Но, сказав что этот сериал короткий как и Рик и
Морти, уговорили, хотя всё же он в разы больше и за один день не
просмотришь все сезоны.
Я в голове его ещё и путал с IT crowd. Видел из последнего только
отрывки и там стереотип на стереотип, чего в жизни не будет. А также
думал что это собрание просто забавных IT-related забавных случаев
будет. Оказалось что нет и IT, по больше части, там только в шутках, а
сам сериал про взаимоотношения людей.
Каждая серия заканчивается на самом интересном месте, за что и ненавижу
сериалы. Например Симпсоны, Футурама, Рик и Морти, Чёрное зеркало -- в
них каждая серия никак не связана с предыдущими, плюс они короткие.
Чёрное зеркало то это вообще просто набор фильмов объединённых одним
названием, грубо говоря, где фильмы очень разнятся по интересности
(лично для меня). В "Долине" классические сериальный подход. На самом
деле я первую серию второго сезона ради интереса открыл и увидел что там
суды, делёж, другое начальство... в общем всё это можно продолжать до
бесконечности и поэтому нафиг.
Понравилось что особо то никто не переигрывает и никто не недоигрывает
-- выглядят все (ну кроме "фронт-мена") как нормальные IT-шники.
Понравилось что в принципе то придраться к технике особо нельзя. Не,
конечно, когда шпендель грохнул их DDL, то... оно что, не коммититься в
репозитории что ли? Но да ладно с этим. Когда не раз упоминают сжатие
Хаффмана, Лемпеля-Зифа применительно к JPEG/MP3/ZIP/FLAC/etc, то... для
ZIP, lossless сжатия это всё актуально, безусловно, но вот суть
JPEG/MP3/видео сжатия совсем не в этом, а в DCT/DWT преобразованиях для
откидывания высокочастотных компонент -- это главное что обеспечивает
существенный выигрыш, а Хаффман/whatever это уже самая весомая часть. Но
это придирки.
А последняя серия, сцена с обсуждением дрочева... она многого стоит! И
очень понравился момент когда они вышибли дверь закрытую. Я на 100%
уверен что если бы это были не IT-шники, то обязательно бы подошли к
сосредоточенно работающему в наушниках парню! А любой IT-шник знает
насколько готово выпрыгнуть сердце от неожиданно попавшей в поле зрения
чужой руки или прикосновения, когда ты отключён от внешнего мира. Это
сильно выбивает из колеи и злит! Никогда, никогда нельзя прерывать так
человека. И были бы там обычные люди, то обязательно бы его выбили из
колеи бесполезным вопросом "что ты закрылся?". В общем, реалистично
сделали в фильме, уважаю.
Sergey Matveev [Thu, 21 May 2020 14:19:18 +0000 (17:19 +0300)]
Открытие исходного кода C&C
https://www.opennet.ru/opennews/art.shtml?num=52994
Это конечно всегда хорошие новости! Но я вот и в 90-х и в 2000-х пытался
играть в Red Alert, но что-то совсем не заходило. Warcraft 2 -- обожал!
Age Of Empires -- обожал! А вот C&C серия вообще как-то совсем что-то не
моё. Помню ещё была https://en.wikipedia.org/wiki/Total_Annihilation --
тоже очень нравилась.
И ещё незабываемая https://en.wikipedia.org/wiki/Z_(video_game)
а незабываема тем, что я даже первый уровень не смог пройти. А потом,
годы спустя, где-то прочитал что первый уровень там проходится буквально
в два клика мышкой: выделяются все юниты и просто тупо отправляются на
самый верх карты, либо по левой, либо по правой стороне. Там что-то типа
надо было занимать клетки игрового поля и как только занял больше чем
враг, то выиграл. И в той же статье написано было что многие не могут
пройти этот первый уровень. Ну, на мой взгляд, не смотря на простоту,
это всё же прокол дизайнеров игры, ведь дальше её уже не запускаешь.
Sergey Matveev [Wed, 20 May 2020 15:49:12 +0000 (18:49 +0300)]
Изменения в macOS Server 5.7.1
https://support.apple.com/en-us/HT208312
FTP Removed in Server 5.4
Server Docs Removed in Server 5.4
DHCP UI tools removed in Server 5.7.1
DNS Removed in Server 5.7.1
VPN Removed in Server 5.7.1
Firewall UI tools removed in Server 5.7.1
Mail Server Removed in Server 5.7.1
Calendar Removed in Server 5.7.1
Wiki Removed in Server 5.7.1
Websites UI tools removed in Server 5.7.1
Contacts Removed in Server 5.7.1
NetBoot/NetInstall UI tools removed in Server 5.7.1
Messages Removed in Server 5.7.1
Radius Removed in Server 5.7.1
AirPort Management Removed in Server 5.7.1
Не, я понимаю конечно что альтернативы наверняка лучше по качеству и
поддерживаются лучше, а macOS это всё же не для сервера и поэтому не
стоит особо усердствовать с поддержкой собственных решений. Но выглядит
всё равно забавно что что всё выпилено. Да и кому захочется что-либо
серверное делать на этой ОС учитывая f19e0f25f0bf0c1563602d922e9cdf0c1f5ff00b
Sergey Matveev [Wed, 20 May 2020 15:38:38 +0000 (18:38 +0300)]
Медсестра в бикини
https://lenta.ru/news/2020/05/19/zachto/
Наверняка те, кто её наказали, это женщины которым просто завидно стало
что хорошенькая медсестра засветилась в соцсетях. И тоже первая мысль:
им нужно чтобы дела делали или соблюдали все правила, которые вряд ли
учитывают пребывание 100% времени в защитном жарком костюме.
Sergey Matveev [Wed, 20 May 2020 15:31:38 +0000 (18:31 +0300)]
Собаку за долги на аукцион
https://lenta.ru/news/2020/05/20/sobaka/
Насколько слышал, в РФ вроде тоже животные являются точно таким же
предметом как какая-нибудь стиральная машинка и это конфисковать могут.
И по мне так депутатское предложение "Если собака во дворе элитной
породы, то она может ее продать в любой момент и спокойно оплатить",
равносильно "У тебя хорошенькая дочь, отдай её сексуальных утех и всё
оплатишь". Ну или там в рабство сдать на время. Отличные предложения от
"слуг народа" как и законы наши.
Sergey Matveev [Tue, 19 May 2020 16:58:45 +0000 (19:58 +0300)]
Штрафов на 40k сидя дома
https://moslenta.ru/news/zhilcy-doma-na-granice-moskvy-i-podmoskovya-poluchali-shtrafy-sidya-v-kvartire-19-05-2020.htm
И жильцы предполагают потому что меняется сота при выходе на балкон.
Прям мой случай: у меня в одной комнате одна сота, в другой -- другая.
Если во время разговора перейти в другую комнату, то зачастую связь
обрывается.
Sergey Matveev [Tue, 19 May 2020 16:04:40 +0000 (19:04 +0300)]
Клуб любителей хрюш
https://www.babai.ru/articles/
Масса фотографий и рассказов о жизни минипигов. Даже когда они
вырастают: мне очень нравятся и внешне и поведением (на видео).
А ещё у них самые умные глаза среди всех животных что я видел.
Когда приезжал в деревню, то среди всех животных всегда хотел
к хрюшкам в первую очередь наведаться. Хотя огромные хряки там
страшноваты. Среди историй на сайте есть и грустные, когда всякие
мрази умудряются выбрасывать их на улицу (ну аналогично нелюдям
выбрасывающим собак, кошек, и т.д.). Ну а так как хрюшки такие
прекрасные создания, то у них обязательно есть чему людям поучиться:
https://www.youtube.com/watch?v=3FpFkazuUmo
https://www.youtube.com/watch?v=SCMMz98SvGI
В своё время у меня подобный вокал очень неплохо получался.
Sergey Matveev [Tue, 19 May 2020 13:17:05 +0000 (16:17 +0300)]
ack утилита
https://habr.com/ru/post/502734/
Когда-то тоже использовал ack, даже ставил Vimack (вроде так назывался)
плагин для Vim чтобы он ack использовал для поиска. На тот момент
единственная причина почему использовал: скорость. Буквально на порядок
оно могло быстрее работать GNU grep (не говоря уже про BSD grep).
Однако, с какой-то определённой версии GNU grep очень круто
прооптимизировал свои алгоритмы поиска и стал даже быстрее ack-а
работать. На тот момент (сейчас не смотрел) ack был по сути обёрткой над
Perl-ом. Тогда ещё был ag, который компилировался и был ещё быстрее, но
имел проблемы с Unicode.
Однако, привычки от ack-а у меня остались по удобству работы. Сразу
скажу что BSD grep использовать яростно не рекомендую: наверное он
проще, suckless, компактнее, но он тупо в разы или порядки медленнее
(как и BSD sed). Быстрый вызов быстрого GNU grep-а я сделал вот так:
всегда цветной, всегда рекурсивный, показывающий имена файлов и строки
(чтобы это сразу можно было vim-ом открыть, если поиск шёл вне него) и
всегда показывающий это в less-е. "GS" появился относительно недавно и
добавляет числовую сортировку имён файлов. Находясь где угодно я могу
сделать "g whatever" и будет ack-like поведение по умолчанию.
Опции про границы слов (-w) и счётчика (-c) имеются и в GNU grep
современном. Также как и -A/-B. Так что это к ack не относится.
Вся тема по типам файлов... по моему полубредова. Хочется искать только
по JS-ам? В моём случае, это "g whatever **.json". Понимаю, в Bash не
выйдет всего этого, но и не надо перекладывать эту задачу и вести БД
типов файлов на grep/ack/ag/whatever утилиты (ух совсем не Unix-way!).
Больше профита будет от установки zsh-а на сервере!
А остальные плюсы ack-а связаны с Perl-овым поиском. Соглашусь это жутко
и невероятно бесит, что приходится помнить отличия в регулярках в
grep/sed и perl/python и Vim-ом ещё в довесок. В GNU grep вроде есть
какая-то поддержка PCRE, но не уверен что этим можно осилить range
поиск. Да, это могло бы быть плюсом, но... я вот совсем не припомню
когда бы мне нужен был такого уровня поиск по кучи файлам. Ради крайне
редкого случая держать постоянно на готове ack я точно не стал бы, тем
более, привыкнув к нему, париться с установкой на рабочие машины. И ради
этого крайнего случая я просто на месте напишу что-нибудь прямо с самим
perl-ом.
Для git-а, опять же, мало что сравнится по скорости с git grep-ом
родным. И есть колоссальная разница между "приходится, пускай даже
чуть-чуть, ждать" и "не ждать совсем" (десятки миллисекунд, сотня).
А вот поведение vimack плагина для Vim мне нравилось: :Ack whatever и у
меня открывается quickfix окно с результатами поиска. И для эмуляции его
поведения для Vim-а написал тривиальную функу:
function! s:Vim(pattern)
let ignorecase_bak=&ignorecase
set noignorecase
execute "vimgrep /" . a:pattern . "/ **/*"
copen
let &ignorecase=ignorecase_bak
let g:pylint_disable=1
endfunction
command! -nargs=* -complete=file Vim call s:Vim(<q-args>)
которая использует встроенный функционал Vim-а, который медленный, но
это достаточно редко чтобы можно было потерпеть. А при работе в
Git-репозиториях, нужно использовать git grep. Так как в Vim я всегда
ставлю Fugitive плагин, то :Ggrep для вызова git-grep из Vim всегда
имеется. Но от него я тоже хочу получить поведение :Ack:
И всё это я сверхчасто использую. Для FreeBSD в любом случае придётся
поставить GNU grep (ради скорости), а в остальном это всё без
зависимостей и сторонних утилит.
Sergey Matveev [Tue, 19 May 2020 09:45:52 +0000 (12:45 +0300)]
Неттопы вместо ноутбука
https://nasse.livejournal.com/1893670.html
Человек вот ищет неттоп вместо ноутбука. Перед моим текущим Dell я точно
таким же вопросом задавался. После тактильной клавиатуры, использовать
что-либо другое -- уже невозможно. Класть клаву на ноутбук -- неудобно и
может задевать трэкпад или кнопки ноутбука. Класть перед ним -- значит
его монитор будет далеко стоять и я уже не увижу текста. Можно увеличить
шрифт, но две половинки Vim-а (~80 колонок) уже не влезут. Значит надо
внешний монитор. И тут я понял что ноут то мне как таковой и не нужен, а
нужен системник. И неттоп без проблем можно было бы с собой таскать как
и ноутбук.
Но друг всё же отговорил хорошим аргументом: пускай крайне редко, но
может понадобится мобильность и где-нибудь может не оказаться внешнего
монитора с клавиатурой. Стоимость "консоли" (устройств ввода/вывода для
человека) в дешёвых ноутбуках (у меня всегда были не дороже 40 тыс. руб.)
не самая весомая часть, судя по всему. Немного переплачиваю, но
несколько раз в год иметь удобство от мобильности может этого стоить.
Ещё я не мало времени игрался с маленькими одноплатными компьютерами,
типа GuruPlug. Но, как и автор статьи, всегда был удручён
стабильностью/надёжностью, плюс производительностью. В RaspberryPi,
насколько помню, то ли Ethernet вообще через USB был подключён, то ли
SATA отсутствовал и тоже через USB накопитель подключать (лень искать).
Последнее -- худшее с чем я всегда сталкивался: никогда в жизни не было
чтобы он не "отваливался". Плюс производительность не самая высокая
всего этого. А если хочется SATA, плюс нормальный Ethernet, то и цена
подобных решений уже приближается к x86-неттопам. А их плюс в том, что
можно просто пойти в магазин, купить, выбрать любой из сотен
дистрибутивов и поставить его. Переставив жёсткий диск в другой --
знать что он просто заработает и там. А с RPi/GuruPlug и прочими не всё
так просто в плане установки. И как бы я не не любил этот сраный x86, но
его цена и знание что его легко заменить чем угодно из ближайшего
магазина решают. Надеюсь что и ARM-ы дойдут до такого же состояния.
Sergey Matveev [Tue, 19 May 2020 08:56:46 +0000 (11:56 +0300)]
Про мышечную память и клавиатуры
В комментариях тут зашла тема про мышечную память (на пальцах). С ней, с
её чудовищной силой, не считая слепого метода печати, я столкнулся после
поездки в Иран. Почему-то в блоге не нашёл про это упоминания, а ведь
событие в моей жизни важнейшее.
Две недели находился вдалеке от компьютеров, не притрагиваясь ни к одной
клавиатуре. И когда ехал в электричке домой, уже в Московской области,
то начал думать про бытовые дела. Как я дома включу компьютер (хотя он
наверное и не выключался, чтобы помогать distributed.net), введу свои
парольные фразы... и тут я начал вспоминать свои парольные фразы. Две
основные у меня: одна на ~100, другая на ~120 символов. И в электричке
осознаю что я толком не помню ни одной. Бросает в пот, ведь у меня же по
большей части всё зашифровано, а потеря "ключа" равносильна потери
информации всей. Моё настроение резко упало ниже плинтуса.
Но сев за клавиатуру, я просто отрубил свой мозг, не стал задумываться о
конкретных символах вводимых, и с первого же раза ввёл все эти 120
символов. Пальцы сами делали своё дело. Выдохнул, потому что, как
минимум, я уже мог делать бэкапы данных, после ввода пароля, если
считать что мне просто повезло и я только один раз это смог успешно
ввести. Несколько раз введя фразу ещё, уже вспомнил (глядя на клавиатуру
и что на ней нажимают пальцы) и конкретные символы/фразы. С остальными
фразами тоже проблем не возникло. Сознание/мозг не помнят, а пальцы
набрать могут. У коллег тоже встречал такое что они не знают пароля (не
могут его сказать), но могут залогиниться без проблем.
Брюс Шнайер относительно недавно признавал что рекомендация о частой
смене паролей является плохой:
https://www.schneier.com/blog/archives/2017/10/changes_in_pass.html
https://www.schneier.com/blog/archives/2014/03/choosing_secure_1.html
https://www.schneier.com/blog/archives/2016/08/frequent_passwo.html
точнее эта рекомендация актуальна была именно для "паролей", тогда как
сейчас, уже давно, необходимо использовать парольные фразы. Если фраза
сильна, имеет много энтропии, то не надо париться. Смена фразы может
обернутся её потерей (забыли, как я почти) или сильным упрощением
(ослаблением) или утечкой (где-нибудь записали) -- риски неоправдано
высоки, опять же, если фраза является хорошей и сильной. Или, как
показывают исследования в его ссылках, люди для галочки могут чуть-чуть
изменять существующий пароль/фразу, делая это для галочки, но не внося
никакой дополнительной энтропии, превращая это в бессмысленное занятие.
Sergey Matveev [Tue, 19 May 2020 08:52:59 +0000 (11:52 +0300)]
Показывание большего кол-ва строчек в less при поиске
https://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=fa342a4f7a19749f9ff94ce1e78341165b74cc25
Годами использую less и только сегодня задумался о том, что искомое
слово он показывает на самой первой строке экрана и я часто отматываю
чуть-чуть наверх чтобы понять контекст где это слово применяется. Пора с
этим кончать и почитать man. Секунд 20 на поиск нужного и опция
управляющая показом кол-ва строк перед искомой найдена. Решил показывать
всего две строки, как это настроено в Vim -- вроде бы достаточно на практике.
Sergey Matveev [Mon, 18 May 2020 12:57:51 +0000 (15:57 +0300)]
sc-im табличный процессор
https://github.com/andmarti1424/sc-im
https://www.youtube.com/watch?v=K_8_gazN7h0
Иногда какой-нибудь человек возьмёт, да пошлёт XLSX документ
(современный Excel формат). SC-IM консольная программа отлично (при
наличии библиотеки) с ними работает (проверял только на чтение). Сегодня
попробовал в принципе поработать с таблицами в ней -- очень удобная
штука! Особо ничего не смыслю в табличных процессорах, но если нужно
забить таблицы, тасовать колонки, делать формулы и экспортировать это в
каком-то удобоваримом для компьютера формате, то по моему в SC-IM всё
отлично для этого сделано.
Sergey Matveev [Mon, 18 May 2020 08:07:37 +0000 (11:07 +0300)]
Mantar -- выступление на Hellfest 2019
https://www.youtube.com/watch?v=yxttZ4EFZ14
Полное выступление с отличным качеством звука. Про Mantar писал в 5443aff12e760fd58eb15b0d0c325b4f380d88f3 3a3d68bdf87e73911707963bd9c9466771042b16
как никто прежде они меня впечатлили своим прошлогодним концертом в
маленьком клубе. Хочется машину времени и снова оказаться на нём!
Sergey Matveev [Mon, 18 May 2020 07:45:13 +0000 (10:45 +0300)]
Посмотрел Traceroute
https://en.wikipedia.org/wiki/Traceroute_(film)
Довольно интересный документальный фильм. Начинается с истории детства
автора, его взрослении и увлечениями компьютерами, а дальше он
становится художником (в широком смысле) и в свои 40 лет решает проехать
от одного до другого побережья США и посетить всякие nerd-овские места.
По началу его жизнь очень похожа на мою, но дальше уже совсем нет. Да и
в целом по фильму я не могу сказать что мне очень близка вся его тема
посещения исторических мест. Вообще на фильм вышел потому что в нём
снялся Jason Scott -- вот этот мне близок безумно. Документалки Скотта
мне жутко близки, понятны, приятны. Ну кроме DEFCON-а, но даже он всё же
понятен чем интересен. А вот в Traceroute некоторые скорее бесят, так же
как и я, будучи computer-geek-ов бешу других. Не все персонажи приятны,
типа наличия "секс работника" (проститутки) в фильме, говорящей что
"hacker and hookers" близки. Круто было увидеть Брюса Стерлинга. В
общем... задротов/ботаников много всяких и в фильме собраны самые
разнообразные, компьютерных там не шибко много.
Sergey Matveev [Sun, 17 May 2020 19:17:00 +0000 (22:17 +0300)]
QWERTY раскладка
https://habr.com/ru/post/502384/
Только вступление в статье прочитал:
... можете переключить раскладку клавиатуры на «dvorak». Печать
ускорится в разы, в то время как обучение займёт лишь неделю.
Вот что это за лютый бред? Я думал как-то переходить на Дворака-Дилея и
искал людей на просторах Интернета опытных в этом деле, чтобы понять
стоит ли оно этого. В разы ускорится печать? Автор в своём уме? Если бы
ускорение было хотя бы в полтора раза, то я бы не думая пошёл
переучиваться и да хоть таскал бы с собой клавиатуру. Все кого я нашёл,
кто имеет стаж 10+ лет с Двораком, могут подтвердить что ускорение будет
ну например на 10% при ЛИТЕРАТУРНОМ тексте. И речь про английский язык.
Русский ЙЦУКЕ, в отличии от QWERTY создавался уже with efficiency in
mind, ибо проблемы с машинками уходили на момент создания. А будучи
программистом, я всё же больше делаю редактирования, в чём Дворак не
поможет. "Обучение займёт неделю"? Я даже не понимаю как такое можно
сказать, ибо, по моему, люди годами работают за клавиатурами и только
после этого времени начинают более-менее шустро набирать. Не, наверное
есть продвинутые насильственные курсы, где это можно ускорить, вбить
мышечную память. Переход на другую раскладку, очевидно, займёт годы,
чтобы сравнять производительность с тем что имеется у человека сейчас.
В итоге отказался от идеи перехода на другую раскладку, ибо стоить оно
того будет если я много литературного текста набираю, ну или мне бы
пришлось учиться с нуля.
А вот, например, переход с "обычной" клавиатуры на тактильную --
практически сразу же повышает производительность минимум на треть, без
какого-либо переучивания.
Sergey Matveev [Sun, 17 May 2020 09:29:44 +0000 (12:29 +0300)]
Фильмы Marvel и DC
https://lenta.ru/news/2020/05/17/kidsareallright/
Венсан Кассель считает все эти супергеройские фильмы детскими.
Оказывается ещё и Мартин Скорсезе с Фрэнсис Форд Копполой аналогичное
заявляли, что это не искусство кино. Полностью всех их поддерживаю!
Сделана картинка очень круто в этих фильмах, но... на этом всё.
Скучнейшее времяпрепровождение после которого не остаётся ничего: ни
переживаний, ни даже просто хотя бы запомненного сюжета. Я многие фильмы
подобные видел (последний раз по ТВ в Абхазии в отеле), и я совершенно
ничего от них не могу припомнить, кроме факта наличия спецэффектов.
Иногда хочется что-нибудь дома посмотреть и просто идёшь на сайты типа
ivi вообще поинтересоваться что сейчас есть из фильмов, что вышло
нового. И уже давно (а выходят то они регулярно (или уже нет?)) фильмы
по комиксам подобным -- просто игнорирую, вообще не рассматриваю как
вариант для потери времени... типа лучше пересмотрю какой-нибудь старый
фильм, засмотренный до дыр.
Sergey Matveev [Sat, 16 May 2020 17:08:56 +0000 (20:08 +0300)]
Прозрачные корпуса компьютеров и лампочки
Заметил моду (или она уже проходит) на прозрачные корпусы для ПК. Когда
хотя бы одна сторона прозрачна. Видел что многие комплектующие с RGB
подсветкой: материнки, видеокарты (там вообще светомузыка), даже модули
памяти. Но я вот этого не понимаю. Ну то есть кому нравится -- пускай
конечно делает. Если будет корпус с прозрачной крышкой, то мне конечно
это не вариант не брать. Если память/видюха (хм, последняя покупка
видеокарты, наверное ещё моим отцом, была лет 12 назад) с подсветкой, то
хуже конечно не сделает, ибо стоимость подсветки я думаю ничтожная. Но
просто у меня вообще никаких чувств не вызывает: ни восторга, ни
интереса, ни отвращения, только немного удивления.
С другой стороны, я обожаю лампочки! Мне кажется об этом должен был
писать, но что-то не нахожу. И тенденция убирать многие лампочки
(особенно на ноутбуках) меня бесит! Лампочка питания: блин, как без неё
узнать компьютер/сервер/whatever (хотя я с серверами то проблем не
бывает в плане лампочек) включён и просто повис и не реагирует (или
элементы ввода отрублены) или он выключен? Лампочка link-а сетевой
карты... блин, тут вообще по моему без комментариев, но я был шокирован
увидев у кого-то в ноутбуке порт без неё. Ё моё! Да в моём Dell-е то
как-раз оно так и есть, но благо дома у меня коммутатор всегда виден и
link на нём -- просто повезло что он в визуальной доступности. Лампочка
скорости сети... не знаю крайне ли важна или нет, но отсутствие гигабита
часто говорит о проблемах в контакте или ОС драйвере. Лампочка жёсткого
диска... вообще абсолютно полностью не понимаю как это то можно было
убрать? Опять же, когда система ушла в глубокий swap и, очевидно, вряд
ли на что-то сможет прореагировать, да ещё X11 грохнет, то как понять
что не так то с ней? Да мне кажется это чуть ли не основная лампочка на
которую я РЕАЛЬНО смотрю, реально выдающую информацию (банально даже
просто нагрузка понятна или что вообще нагрузка на диск пошла). Если
забыть про swap, то можно же вывести индикатор/мониторинг? В полноценно
загруженной ОС -- да, а если это какая-нибудь установка, если сервер без
GUI? Идти в отдельный терминал или не забывать запускать tmux в консоли
чтобы иметь возможность запуститься какой-нибудь systat -iostat? Без
лампочек компьютер работает, не спорю -- но удобство теряется. Кроме
диска, лампочка передачи по сети -- сверх мега удобнейшая штука для
понимания что происходит. WiFi я у меня выкручен из ноутбука, но
наверное и его мигание лампочки при передаче было бы полезным. В прошлых
ноутбуках я WiFi не использовал, но помню что в ThinkPad он мигал и
постоянно загорался когда был подключён к сети.
В сервере лампочка напротив каждого диска -- must-have, без
комментариев, но это вроде никто не покушается. У меня в сервере на HBA
контроллере есть лампочка просто означающая что он включён и работает, а
есть мигающая при реальной передаче данных и в целом это мне помогало
ощутимо. Хм... но чтобы её увидеть, как-раз был бы полезен прозрачный
корпус (в сервере у меня есть картонка через которую видно)... похоже я
сам себя переубеждаю, но в серверах прозрачных корпусов не делают, а SAS
HBA контроллеры вряд ли дома используются. Лампочки на материнской
плате, говорящие о наличии питания, загрузки BMC -- тоже без
комментариев что нужны. На USB3 коммутаторе у меня для каждого порта
есть кнопка отключения порта, с лампочкой. Лампочки питания каждого
компонента звуковой системы -- must-have. На ИБП аналогично. Ночью у
меня вообще компьютерный угол освещает комнату достаточно ярко чтобы я
без очков мог открывать нужные дверцы в шкафах и брать оттуда нужные
вещи. А вот берёшь какой-нибудь современный ноутбук и... ну ах@#$%ть!
лампочка у web-камеры и может быть, возможно питание будет. Не забуду
восхитительную подсветку ThinkPad-а: просто тупо LED в крышке, который
освещает не только клавиатуру, но и часть пространства вокруг ноутбука
-- невероятно полезнейшая штука (у меня жёлтого цвета была). А сейчас? В
самой клавиатуре подсветка... полезная только чтобы по клавишам попасть,
но ничем более не помогающая. Не, лучше чем ничего, но LED в крышке это
killer-feature!
Возвращаясь к основной теме: а вот RGB мне наверное не понятны тем, что
они не несут никакой полезной информации. Лампочка на материнке, просто
постоянно горящая зелёным говорит что есть питание. Приходя домой после
работы, сняв верхнюю одежду, я заворачиваю в комнату с компьютерами и
первым делом смотрю на моргание коммутаторов. Не моргает гигабитный, но
моргает 100Mbps? Значит основной сервер, подключённый к Интернету жив,
что-то не так с другим -- разберусь как переоденусь, поем и всё такое.
Не моргает коммутатор с Интернетом? Сдох сервер главный наверное, если
при этом есть link на Интернет. Сразу сажусь выяснять. По лампочкам
жёстких дисков понимаю развалился ли массив/сдох ли диск. В серверах
стоечных -- да половину времени они экономят чтобы понимать подалось ли
куда нужно питание и что смогло запуститься. А RGB... наверняка (вроде
видел в видео) есть программируемые, особенно на вентиляторях, но это
всё будет работать когда ОС и весь софт в ней функционируют штатно.
Когда-то на компьютерах была лампочка и переключатель turbo. Конечно,
это уже не актуально и я даже ни разу не застал надобность выключения
турбо. Нахождение компьютера в спящем режиме... уже не помню насколько
полезно, ибо я уже уйму лет их (ноутбуки) в него не переводил. Менять
цвет лампочки питания -- вариант, главное что информацию оно передаёт.
Ещё помню что удивлялся CD/DVD-приводам внешним без индикатора
активности... блин, очень не редка ситуация когда он шумит, крутится, но
это не означает что есть какое-то действие. Или наоборот: он неспешно
записывает на минимальных оборотах, что его даже не слышно и захочется
отключить от компьютера. Короче чем больше, тем лучше, хуже не будет,
лишь бы несли информацию, и не от ОС получаемую, в первую очередь.
Apple наверное имеет минимум лампочек и, наверняка, её ответом будет:
наши компьютеры не ломаются, не повисают, just works, и т.д.. Всё просто
не могу забыть их ответ на то, почему в APFS нет проверки ошибок (уж
молчу что нет компрессии): потому что их накопители сами по себе надёжны!
А ещё в ThinkPad-ах помню что многие лампочки продублированы на нижней
части крышки открытой и на боку копуса -- офигенно! И во время работы за
ним, тот же заряд или сеть/диск видны и когда он рядом находится,
особенно с закрытой крышкой. У моего Dell только питание, зарядка
(когда он заряжен, то нельзя сказать подключён ли он к электросети или
нет -- даже здесь придётся глазами искать воткнут ли провод) -- и всё
только на боку.
Sergey Matveev [Sat, 16 May 2020 09:03:28 +0000 (12:03 +0300)]
Психология IPv6
https://www.youtube.com/watch?v=GK6vl5z-8NY
В моей статье про IPv6 (https://habr.com/ru/post/490378/) снова начались
дебаты в комментариях и там появился ссылка на такой вот доклад с YouTube.
По идее ничего нового и этот доклад можно отнести чуть ли не к любой
технологии новой, но он прям реально показывает какие люди встречаются
по отношению к IPv6. Например:
* Haters, trolls -- находят только недостатки. Что с ними делать?
Игнорировать, тем более они из IPv4 мира свою ненависть изливают :-)
* Те, кто просто игнорирует статистику по IPv6 (Google пользователи, то
что современные ОС по умолчанию предпочитают IPv6, то, что в мобильных
сетях по большей части всё поверх IPv6, а в LTE вообще это
единственный транспорт)
* Те кто постоянно сравнивает идеальный мир и реальность, идеальный мир
и итерацию (внедрения). Но с ними не всё так плохо и можно вести
беседы
Преобладающая часть комментариев, как мне показалось, на Хабре это про
то, что люди удивлены тому, что есть firewall-ы. Причём в IPv4 мире
firewall-ы вроде как никто никогда не отменял и они по умолчанию имеются
всюду и везде. И людям и правила firewall-а показывают на несколько
строчек которые делают NAT-like связанность сети и как-бы аналогичный
эффект "безопасности" -- то есть никаких проблем с безопасностью для
домохозяек нет даже в принципе, но... тут я дальше уже перестаю
читать/воспринимать человека, если даже такие доводы и практические
примеры его всё равно ни в чём не убедят.
Sergey Matveev [Fri, 15 May 2020 09:34:59 +0000 (12:34 +0300)]
Потрясающая кладезь знаний про компьютерные ДЦ сети
Я много литературы перечитал и перевидал, в основном рассчитанной на
сдачи экзаменов в Cisco и прочее. Но я видел статьи от Яндекса на Хабре
про построение сетей и... я половину терминов там вообще не понимал, тем
более в целом о чём он говорит и о каких проблемах. И особо не мог найти
информации а где бы просвятить себя во всей этой теме построения ДЦ.
https://linkmeup.ru/sdsm -- вот ответ! Просто потрясающее количество
интереснейшего и понятно разжёванного материала! Вышел на него через
часть их статей выложенных на nag.ru. Например очень понравились:
https://nag.ru/articles/reviews/106886/pamyat-seti-kak-sohranit-paket.html
https://linkmeup.ru/blog/312.html
https://linkmeup.ru/blog/365.html
https://linkmeup.ru/blog/480.html
https://linkmeup.ru/blog/482.html
Вся эта подборка даже в открытом виде в исходниках выложена:
https://github.com/eucariot/SDSM/
А ещё через неё вышел на вот такие доклады, после которых, я как-будто
прозрел и начал вообще всё понимать (не то что я бы это мог делать, но
хотя бы уже понимаю о чём речь и какие проблемы):
https://www.youtube.com/watch?v=iZavvatyDb8
https://www.youtube.com/watch?v=xcGa-q5MA0s
https://www.youtube.com/watch?v=U86Xjx1rcHY
А также ещё одно отличное чтиво: https://tools.ietf.org/html/rfc7938
Плюс в этих статьях хоть что-то узнал про устройство всех этих
маршрутизаторов и коммутаторов, где 64-128 100GbE портов и у меня не
очень укладывалось как это всё вообще можно переваривать на таких
скоростях то? Про ASIC конечно слышал и точно был уверен что на них всё
строится, но вот про память CAM/TCAM не знал.
Sergey Matveev [Fri, 15 May 2020 07:27:01 +0000 (10:27 +0300)]
Проприетарное ПО и удалённое обучение
https://www.fsf.org/blogs/community/remote-education-does-not-require-giving-up-rights-to-freedom-and-privacy
То, что люди выбирают несвободное ПО для взаимодействия и учёбы я в
курсе. Но, то что оказывается они ставят себе софт на свои персональные
компьютеры для того, чтобы он следил за микрофонами, клавиатурой и всем
остальным, типа для предотвращения "списывания" -- для меня это новость.
Студенты показывают камерой своё помещение где они находятся даже. Такое
ощущение, что 1984 наступил буквально за пару месяцев.
Sergey Matveev [Thu, 14 May 2020 17:26:47 +0000 (20:26 +0300)]
Что лучше: большие или маленькие буферы?
https://nag.ru/articles/reviews/106886/pamyat-seti-kak-sohranit-paket.html
https://nag.ru/articles/reviews/106515/intellekt-seti-kak-peredat-paket.html
https://linkmeup.ru/sdsm
Интереснейшая статья про буферы в коммутаторах, а также её первая часть.
Для меня вся эта тема совершенно неизведанна. "Отбросы -- санитары сети".
"... OSPF и ISIS (запрещённый в Российской Федерации протокол маршрутизации)"
Sergey Matveev [Thu, 14 May 2020 09:01:35 +0000 (12:01 +0300)]
Обсуждение регистраторов доменных имён и Gandi.net
https://habr.com/ru/post/501860/
https://news.ycombinator.com/item?id=22001822
https://news.ycombinator.com/item?id=22001959
На Хабре предупреждают о плохом поведении nic.ru. Да, у меня тоже с ними
были неприятные моменты из-за которых ушёл. Но речь зашла про Gandi и
вот новость этого года про них увидел на Hacker News. И в комментариях
народ тоже пишет что их просили предоставлять идентификацию (сканы
паспортов) как я в c31f6098d68cde8ca765e916fb58e4cb7ce93a69. И тоже
говорят что есть неплохой шанс потерять свой домен.
Sergey Matveev [Thu, 14 May 2020 08:23:45 +0000 (11:23 +0300)]
UFS2 Soft Updates vs ZFS
Есть у меня две директории с сотнями тысяч файлов. И нужно несколько
сотен тысяч файлов из одной директории удалить и на их месте сделать
символические ссылки на другую директорию (дедуплицировать, так
сказать). То есть 400k remove+symlink операций выполнить (из Go).
Под ZFS эта операция длилась... уж точно не помню, но речь вроде о двух
или более часах. Под UFS2+SU операция заняла... секунд 10. Но! Ещё
полчаса я всё же видел моргающую лампочку НЖМД, которая, насколько
понимаю, коммитила как-раз все эти сотни тысяч изменений. Сколько это
окончательно заняло я не знаю, ибо ушёл спать. Но поведение конечно
разительно отличается от ZFS-шного и выглядит так, что ZFS на несколько
порядков медленнее работает. Хотя, конечно это не так: ибо прервав
работу ZFS, мы всё равно остановимся на каком-то проценте выполненных
операций, а прервав коммит SU... я не знаю, но или прервётся всё или,
аналогично, только часть как в ZFS или может быть вообще ничего не
применится? Но с ZFS-ом, после выполнения команды, можно быть уверенным
что всё на диске (ну... после создания checkpoint, минуту подождать), а
с SU я даже с ходу не знаю что надо дёргнуть или посмотреть чтобы понять
что всё засинхронизировалось. Повторять уж лень, но возможно "sync"
команда банально (и на два часа её ждать :-))?
Sergey Matveev [Wed, 13 May 2020 15:20:12 +0000 (18:20 +0300)]
Why AES sucks? Сраный стыд!
https://soatok.blog/2020/05/13/why-aes-gcm-sucks/
Полная ахинея, а не статья. Всё начинается в ней с того, что у AES-128
заявляются безопасность в 128-бит. Но у AES 128-бит размер блока и через
2^64 начинаются коллизии в AES-CBC режиме! Поэтому...
This is significantly smaller than the 2^128 you expect from AES.
@#$! Какая взаимосвязь то? То, что CBC имеет ограничение на кол-во
обрабатываемых блоков... известно как-бы десятилетиями и всюду и везде в
любом протоколе (нормальном) о них предупреждают. Как решить эту
проблему? Менять ключ не реже чем 2^64 блоков. Проблема решена. Тем
более, что на практике это достаточно большое число чтобы не приходилось
менять чересчур уж часто, как это нужно с 64-бит блочными шифрами. А
автор статьи мешает: безопасность шифра с безопасностью CBC и мешает
сложность атаки и пределы *безопасной* применимости. Да и вообще это
прям что-то явно новое: приравнивать безопасность алгоритма шифрования к
кол-ву блоков которые он может обработать.
Дальше он продолжает развивать свою идею. Оставим это.
Придирается к GHASH конструкции, даже картинку как в Wikipedia поместил
и говорит что сообщения аутентифицируются зашифрованным на ключе нулевым
блоком. Автор наверное слеп и не замечает в самом конце XOR-а с
зашифрованным nonce-ом. А ссылку он приводит на nonce-reuse атаку, не
связанную с проблемой GHASH-а. Да, GCM это не nonce-misuse-resistant
режим, как и тьма других, как это известно с самого их появления. Nonce
должен быть nonce-ом! Если у тебя режим работы и условия использования
такие, что ты не можешь обеспечить его уникальность, то GCM неприменим,
точка. Просто в 99% случаев применения шифрования -- nonce можно сделать
гарантированно неповторяемым.
Далее раздел про короткие nonce. Да, они короткие, делая AES-GCM
применимым только к сессионным достаточно часто меняющимся ключам. Опять
же, это известно любому и в чём проблема то? Хочешь использовать
long-term ключи? Ну так не притворяйся дураком и вырабатывай (HKDF хотя
бы) ключи из long-term-а, а на выработанных уже шифруй в GCM-е. Не, не
спорю что короткие nonce-ы не везде удобны, но так и GCM никто не
предлагает применять для любой задачи на свете.
Ещё автор радуется наличию double ratcheting в Signal. Да, это
действительно хорошая штука. И даже против side-channel атак помогает. И
я осознанно написал "даже", так как это не основное его предназначение.
Но в конце статьи автор умалчивает что XChaCha20-Poly1305 то никакого
ratcheting не содержит... мне кажется что автор считает что у ChaCha20
не возможны side-channel атаки, а ratcheting нужен только для их
предотвращения.
Далее он ведёт речь про "message franking". Я вообще не понимаю какое
это имеет отношение к AEAD режиму и задаче передачи сообщений? Мягко
говоря, это совершенно отдельная задача и на кой чёрт её нам тут решать
то? Ещё автор, похоже, считает что многие любят выбирать ENC + HMAC
конструкции глядя на Signal... мягко говоря, от этой конструкции все
отходят и используют только AEAD, как минимум из-за производительности,
не говоря про удобство (простоту и значит безопасность) и прочее.
В общем заканчивается предложением использовать XChaCha20-Poly1305 "for
encrypting messages under a long-term key". То есть, всё же AES-GCM
обсирался с точки зрения long-term key usage? Об этом явно говорится
только в самом конце статьи. А разве кто-то предлагает использовать
AES-GCM для этой задачи? Но про 2^64 уровень безопасности это полная
ахинея конечно.
Единственное в чём я безоговорочно поддерживаю автора, так это в
предложении использовать *ChaCha20-Poly1305, ибо отсутствие Sbox-ов,
скорость и уровень безопасности там превосходны и, если есть выбор, то
AES я бы тоже не выбрал бы ни за что. Только у меня нет ни одного
сомнения в его безопасности. Сомнения в его корректном применении? Могут
быть. Точно так же, как и могут быть при использовании XChaCha20-Poly1305.
Абсолютно точно такой же не-nonce-misuse-resistant алгоритм. Или автор
предлагает использовать всегда именно X-версию и рандомно генерировать
nonce для каждого пакета?