]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
4 years agoMumble опыт
Sergey Matveev [Tue, 14 Jul 2020 09:18:36 +0000 (12:18 +0300)]
Mumble опыт

https://anarc.at/blog/2020-04-09-mumble-dreams/
https://en.wikipedia.org/wiki/Mumble_(software)
Как и у автора, у меня крайне положительный опыт использования Mumble.
На работе мы его используем уже не первый год. Мне не нравится его
зависимость от Qt, особенно его Murmur демона. Но в статье я увидел что
есть его реализация на Go -- надо будет попробовать. Ибо это
единственная программа (правда она не в основной системе, а в Jail
живёт) из-за которой у меня стоял Qt. Но Mumble реально just works.

Ведь нужно не просто транслировать звук, но и echo cancellation делать,
отсекать шумы, уметь регулировать всё это. Сам протокол шифрования не
смотрел, но за длительное время уж наверное его не раз поломали бы.
Использует OCB режим шифрования (теперь AES-GCM), что я очень уважаю.
Для звука Opus кодек, что лучше и не придумать. Сервер поднимается (за
исключением сборки Qt) легко и просто. Ресурсов ест вообще незаметно.
Пропажу пакетов обрабатывает очень и очень достойно (у коллег были
плохие линии связи в своё время). Можно сказать что идеальный VoIP
такой, быстро поднимающийся, работающий за NAT, имеющий хорошую
безопасность.

Добавление видео там в планах ещё с 2011-го года... так что вряд ли
можно ожидать его появления, но было бы очень круто.

4 years agoНаучил clangd работе со своим кодом
Sergey Matveev [Tue, 14 Jul 2020 08:59:03 +0000 (11:59 +0300)]
Научил clangd работе со своим кодом

clangd выполняет роль LSP сервера для C* кода. Никакой настройки не
требуется: он уже будет многое отрабатывать без проблем. Однако, если
есть специфичные пути для include-ов, о которых он ничего не знает, то
он будет выдавать warning-и на неизвестные ему вещи. Я видел что
упоминался compile_commands.json -- в нём задаются все опции компиляции
каждого исходного файла. CMake подобные файлы может делать
самостоятельно, но я его не использую. Делать руками у меня получалось,
но как-то не хочется руками вести redo- (прежде Make) based систему
сборки и ещё этот compile_commands.json. Но никто не запрещает это
автоматизировать конечно же. В https://clang.llvm.org/docs/JSONCompilationDatabase.html
есть упоминание compile_flags.txt в котором просто перечисляются флаги
компиляции общие для всех файлов. Вот такой redo целью в своём C проекте
его создаю:

    % cat compile_flags.txt.do
    redo-ifchange ../cc
    . ../cc
    echo "$PCSC_CFLAGS $TASN1_CFLAGS $CRYPTO_CFLAGS $CFLAGS -I$INCDIR" |
        tr " " "\n" | sed "/^$/d" | sort | uniq

И теперь clangd знает обо всех зависимостях, даже установленных не в
системных директориях. Для моего подобного решения хватает и оно
достаточно простое.

4 years agoУдалил asyncomplete плагин
Sergey Matveev [Tue, 14 Jul 2020 08:22:50 +0000 (11:22 +0300)]
Удалил asyncomplete плагин

http://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=66cddd290fccf8b219d8590b07a6292ec4204434
Я думал что дополнение методов/атрибутов работает исключительно через
asyncomplete. Но его real-time работу я отключил, ибо безбожно тормозит.
Но сегодня до меня дошло что возможно дополняет то не он, а omni
completion, который я прежде никогда не использовал осознанно.
Попробовал -- да, действительно, за это отвечает исключительно он. В
итоге, asyncomplete мне становится полностью не нужным. А Ctrl-B у меня
вызывает omni completion, что приятно тем, что оно не plugin-specific.
Так что для LSP у меня остаётся ровно один vim-lsp плагин.

4 years agoТорвальдс люто негодует по поводу AVX512
Sergey Matveev [Mon, 13 Jul 2020 09:57:29 +0000 (12:57 +0300)]
Торвальдс люто негодует по поводу AVX512

https://www.phoronix.com/scan.php?page=news_item&px=Linus-Torvalds-On-AVX-512
Набор инструкций вон как может выводить человека из себя! Я тут не
силён, но поддерживаю, что транзисторы можно потратить с куда больше
пользой, ведь AVX512 автомагически не будет использоваться если его
не держит компилятор и, зачастую, прикладной софт.

4 years agoNeoVim актуальность
Sergey Matveev [Mon, 13 Jul 2020 08:35:38 +0000 (11:35 +0300)]
NeoVim актуальность

Пока возился эти дни с LSP, то очень много упоминаний и ссылок делается
к NeoVim. Всякие tutorial и прочее тоже приводятся для NeoVim. Почему
его выбирают? Самый частый ответ (если его дают) -- ну типа он более
современный. Ну это чисто хипстерство.

В 9277f9c64ce93baad82ec8dd8f9a938b25cf93dd уже писал про попытку его
использования. В целом оно работает, безусловно. Но почти с самого
начала всё равно присутствуют отличия в мелочах. Мелочи, но всё равно
заметные, а значит полной совместимости нету. Основная feature NeoVim
на момент его появления -- асинхронная работа с job-ами. Но в Vim8
появилась более простая, JSON based реализация этого: главную feature
NeoVim она аннулирует и сделана просто более удобнее и проще. Async IO,
channels, background jobs, timers -- всё это очень просто работает и без
всякого MessagePack (против формата ничего не имею, даже люблю его, но
это Vim это не HPC). Эмулятор терминала, если и кому нужен был -- в
Vim8.1 появился. Менеджер пакетов появившийся в Vim8 -- идеальный, каким
и должен быть, аннулирует надобность во всех остальных. А Vim8.2
содержит popup-ы и text properties которые как-раз задействованы вовсю в
LSP плагинах.

Возможно, с точки зрения разработчика Vim, NeoVim попроще и лучше
архитектурно устроен, но с точки зрения пользователя (меня), я не вижу
ни одного преимущества. Но вижу два недостатка: всё же он не полностью
совместим и его поведение отличается; для сборки нужен C++ и CMake и
сборка длится очень долго. Vim же собрать на моём ноутбуке: полминуты,
нужен только Make и C.

Главная ценность NeoVim схожа с nvi: при их появлении они чем-то лучше
Vim и это даёт пинок Мууленаару для улучшения Vim. Они являются
акселераторами развития Vim. И Мууленаар делает в итоге, с точки зрения
пользователя, лучше и проще.

4 years agoВспоминая свой первый бошкотряс
Sergey Matveev [Sun, 12 Jul 2020 20:08:24 +0000 (23:08 +0300)]
Вспоминая свой первый бошкотряс

Впервые я делал headbanging на третьем концерте в жизни. Это уже не
симфо- Therion и не folk- метал типа Korpiklaani, а какой никакой но
фестиваль всякого дет-метала. Это делать надо с умом, чего у меня не
было на тот момент. На полном серьёзе, я три дня после концерта не в
состоянии был держать голову на плечах. У меня все мышцы шеи совершенно
не способны были держать никакой малейшей нагрузки. Голова у меня могла
быть только идеально ровно в вертикальном положении, когда сила тяжести
идёт чисто по позвоночнику и мышцы не задействованы. Малейший наклон и
голова полностью падает, ибо мышцы просто не держат её веса. Повернуть
тоже нельзя, ибо нужно задействовать мышцы. Поворачивал свой торс. Но
так как концерт был в пятницу, то у меня как-раз было время чтобы дома
безопасно пережить хотя бы два дня. Если надо опустить голову или
посмотреть вниз, то я подставлял кулак и рукой "регулировал" угол.

Дальше с опытом организм уже понимает как ему быть чтобы сделать себе же
удобнее. Я научился правильно трясти башкой, что не сложно. Главное это
наклонить корпус. На видео с Anal Norosog:
https://www.youtube.com/watch?v=Ylmy9AL5BzU
где-то на 12:20 минуте видно как это делать максимально безболезненно.
Корпус вообще наклонить под 90 градусов имеет смысл. Не всегда возможно
если ты в толпе и тесно -- поэтому нужно изогнуться вопросительным
знаком, но ни в коем случае не фигачить что есть силы шеей. Недостатком
сильного нагиба может быть ещё то, что тела людей при этом очень и очень
неплохо поглощают звук, и если находится в длинном/большом помещений
далеко от под углом наклонённых колонок, то реально громкость может
очень значительно упасть если нагнутся (звук идёт не "сверху" на тебя, а
"плашмя" по людям). Поэтому я всегда стараюсь подходить поближе. Но,
если не знаешь клуб и его звук, то и к сцене подходить вплотную тоже не
желательно, ибо у самой сцены очень часто звук бывает слабым и плохим.

Уж не знаю у всех ли так, но думаю что у всех -- у каждого есть какой-то
свой собственный внутренний ритм. Некоторые группы играют с одним,
некоторые с другим. Под одних можно легко и спокойно и быстро и медленно
помотать башкой или подвигать торсом с большими амплитудами. Вот Anal
Nosorog мне близок: все их быстрые ритмы я чувствую и моя частота
вращения хаером отлично с ними совпадает, а все их медленные ритмы тоже
мне подходят -- частота выпрямления/сгибания с выбросом хаера тоже
совпадает. Но бывает так, что скорость игры бывает чуть-чуть медленнее у
некоторых групп и я уже просто не могу ничего делать под них. Скорость
на разных "режимах" моих движений, грубо говоря, одна и не варьируется,
тут уж так организм устроен и внутренний биоритм. У некоторых групп
быстрые темпы приемлемы, но медленные нет. Я заметил что совсем
медленный темп я не могу держать, мне он не приносит удовольствия.
Большинство могут. Зато большинство не могут держать быстрый, в отличии
от меня. Хотя до скоростей вертушки вокалиста Cannibal Corpse мне
конечно далеко (да против его лошадиной шеи бесполезно мерится!).

И кроме наклона есть ещё один "секрет" о котором мало кто знает кто не
пытался делать хаеротряс. Собственно, вертушка, которую делает Anal
Nosorog на 12:20, выглядит так (как и у всех), что он яростно
прикладывает кучу усилий чтобы его волосня вот так вот во все стороны
развивалась или крутилась. Если просто взять и попробовать сделать в
квартире, то волосы будут хаотически куда-то там выбрасываться, но это
не будет похоже на то, что на видео. А дело то простое: после одной или
двух песен голова начинает сильно потеть и волосы становятся мокрыми,
хотя бы немного. И благодаря этому, благодаря тому, что волосинки теперь
тупо тяжёлые из-за влаги, достаточно совсем чуть-чуть отклонять голову в
бок при относительно небольших амплитудах мотания головы вверх-вниз и
ваша волосня будет вот так вот по кругу без проблем и без усилий летать.
Мочить волосы не нужно -- 1 (максимум 2) песни на концерте, при которых
вы хоть что-то пытались поделать, и волосня станет сама достаточно мокрой.
А ещё вертушку любят делать в первую очередь не потому что это понтово
выглядит, а тупо потому что волосы, штука которая очень хорошо держит
воздух служащий теплоизоляцией, в полёте при этом находятся максимально
далеко от головы и они постоянно создают обдув. Вертушка тупо позволяет
очень и очень хорошо охлаждать голову и заставлять циркулировать воздух,
приток которого несёт необходимый кислород.

И ещё один "секрет": когда после песни заканчиваешь мотать головой, то
встаёшь в вертикальную позу и голова наваливается на мышцы шеи, волосня
снова обволакавает голову и удерживает тёплый воздух... тебе тупо фигово
и не комфортно. Что делать? Мотать башкой, делать вертушку! Это реально
просто навсего комфортнее и удобнее для, всё равно постоянно работающих
мышцы шеи! Или не начинать трясти башкой. Или раз уж начал, то проще
продолжать до самого конца концерта. Ибо хотя бы на концерте тебе будет
комфортно и хорошо. Да, потом будет плохо. Наверняка на следующий день
мышцы всё равно будут болеть. Но лично я жаждал всех этих ощущений и они
стоят того. Я никогда не был пьян, тем более не имел похмел, но наверное
это что-то сравнимое: когда делаешь это, то тебе хорошо, хотя знаешь что
потом, чем дальше и больше, тем будет хуже, но ты всё равно это
продолжаешь делать и будет делать снова и снова.

4 years agoGrace Disgraced и Anal Nosorog
Sergey Matveev [Sun, 12 Jul 2020 19:36:41 +0000 (22:36 +0300)]
Grace Disgraced и Anal Nosorog

https://technicaldeathmetal.org/grace-disgraced-immortech-2020/
В новостной рассылке увидел выкладку альбома сабжевой группы. Не забуду
одно их выступление ещё в 2006-ом году. Был какой-то фестиваль (то ли
Анти-крылья Фест, то ли Hordes Ov Evil), на котором в основном сплошной
грайнд был. Техничный дет-метал был просто не очень к месту. В общем во
время выступления Grace Disgraced (где на вокале женщина кстати), всем
как-то было никак. И я стоял и просто ждал когда отыграют и начнётся
что-то весёлое. Однако, вокалистка совершенно не понимала настроение
толпы. Она пыталась скандировать "grace... disgraced" в микрофон и ждала
ответа от толпы. Его не было. Ok, можно было сразу понять что нет
обратной связи, не надо это повторять. Но она не унималась. В итоге был
какой-то момент, когда музыка затихла и вокалистка снова давай кричать
"grace!" и ожидать "disgraced!" ответа от зала. "grace!"... гробовая
тишина... и, откуда-то из конца зала, выкрик ей в ответ "пошла на хуй!".
Вообще конечно не очень красиво со стороны слушателей: нравится, не
нравится, прояви уважение к артистам, своё мнение оставь при себе. Но,
вокалистка настолько не понимала что нет никакого feedback и она
откровенно надоела своими "grace!", что этот выкрик из зала в целом
передал всё настроение людей. Большинство, включая меня, начало ржать.
Вокалистка явно очень обидевшимся голосом подавлено последний раз
произнесла "disgraced" и больше скандирования не предпринимались. Этот
момент в целом оставил положительное и запоминающееся впечатление от
выступления группы!

Да и действительно нефиг подобным группам делать на фестивале где вот
такой отличный бульдозер-gore Anal Nosorog:
https://www.youtube.com/watch?v=Ylmy9AL5BzU
Где-то там на видео с правой стороны (в клубе Релакс я там любил
находится) я должен колбаситься. Одни из моих первых концертов после
которых всё болело и отваливалась шея. Только много лет спустя я стал
переносить активный бошкотряс без последствий на следующий день.

4 years agoПосмотрел "Окча"
Sergey Matveev [Sun, 12 Jul 2020 17:18:20 +0000 (20:18 +0300)]
Посмотрел "Окча"

https://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%87%D0%B0
Не смотря на то, что снят тем же режиссёром что и сделал "Паразитов" и
"Воспоминания об убийстве" (два отличнейших фильма!), этим я не
впечатлился совсем. Снят отлично, но... больно уж поведения всех людей
там какие-то наивные и простые. Мне кажется, что фильм скорее надо
отнести к детским -- дети там наивного и непродуманного поведения (типа
отсутствия вменяемой охраны) не заметят, зато на красивую свинку
посмотрят и то, как за неё борется маленькая девочка. И в жизни бывают
случаи когда дети привыкают к хрюшкам или каким-нибудь подобным
животным, которые пойдут на еду. Ничего не поделаешь, такова жизнь.

4 years agoНачали работать колонки в мониторе по HDMI
Sergey Matveev [Sun, 12 Jul 2020 17:08:05 +0000 (20:08 +0300)]
Начали работать колонки в мониторе по HDMI

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=229190
Пока искал проблему к предыдущему посту, то решил уж посмотреть нет ли
чего на тему подобных сообщений в dmesg:

    [585361] hdacc1: Unexpected unsolicited response with tag 63: ffffffff
    [609717] hdacc1: Unexpected unsolicited response with tag 63: ffffffff

И они точно связаны с HDMI звуком. Оказалось, что проблема тоже известна
и в качестве workaround предлагают одну sysctl настройку выставить. И
действительно я впервые с FreeBSD на своём мониторе услышал звук. Вообще
при покупке я даже не подозревал что в нём есть колонки: один раз,
как-то зачем-то, загрузившись в Ubuntu, я внезапно услышал какие-то
звуки доносящиеся из совершенно неожиданного для меня места.

4 years agoПроблема с drm:intel_pipe_update_end
Sergey Matveev [Sun, 12 Jul 2020 17:03:31 +0000 (20:03 +0300)]
Проблема с drm:intel_pipe_update_end

https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1660619
Сегодня заметил что время от времени компьютер жутко тормозит, особенно
когда что-то происходит с графикой (например изменение размеров окна с
проигрываемым видео, аппаратно ускоряемым). А в dmesg как-раз возникают
строчки как в тикете на Launchpad-е. Быстренько решил поискать в
Интернете по сообщениям и проблема вообще не FreeBSD-specific оказалась.
И решения не видно, только перезагрузка.

4 years agoЗараза головы на тему замены whitelist/blacklist в vim-lsp
Sergey Matveev [Sun, 12 Jul 2020 16:30:54 +0000 (19:30 +0300)]
Зараза головы на тему замены whitelist/blacklist в vim-lsp

https://github.com/prabirshrestha/vim-lsp/pull/847
https://github.com/prabirshrestha/asyncomplete-buffer.vim/pull/19
https://github.com/prabirshrestha/asyncomplete.vim/pull/204
Благо что эти коммиты пока ещё можно revert-нуть и использовать
нормальные термины.

4 years agoLSP в Vim: авто popup дополнения
Sergey Matveev [Sat, 11 Jul 2020 13:46:55 +0000 (16:46 +0300)]
LSP в Vim: авто popup дополнения

http://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=31daf53ac7ef57c39cc0f11762d74228763b8dd7
Поработав побольше с vim-lsp и asyncomplete, выключил его auto_popup
функцию, которая на лету показывает все дополнения. С приемлемой
скоростью оно работает только в Go проектах. Python и C безбожно
тормозят. Это мешает работе сильнее чем помогает. Но я добавил сочетание
клавиш которое по запросу может показать мне дополнение. Так как, как
правило это будет уже какой-нибудь метод или атрибут, то это работает
существенно быстрее. Просто штатное Ctrl-P дополнение и так отлично
помогает дописывать названия переменных или подобных вещей. Но сигнатуры
он всё равно продолжает показывать.

4 years agoCarnivorous Erection
Sergey Matveev [Sat, 11 Jul 2020 11:32:36 +0000 (14:32 +0300)]
Carnivorous Erection

https://en.wikipedia.org/wiki/Carnivorous_Erection
На Wikipedia увидел что обложка этого альбома кем-то даже названа как
худшей обложкой всех времён. Ужас! Мне она настолько нравится, что у
меня на почти всех сотовых до последнего времени она на background
всегда была. Трушная goregrind картинка!

4 years agoВсе домашние маршрутизаторы имеют уязвимости
Sergey Matveev [Sat, 11 Jul 2020 08:38:39 +0000 (11:38 +0300)]
Все домашние маршрутизаторы имеют уязвимости

https://volos-news.ru/tehnologii/besprovodnaya-ugroza-domashnie-routery-uyazvimy-pered-atakami.html
А я вот никогда в жизни их и не использовал. Конечно, в ADSL модемах
прошивки могли делать и DHCP, DNS, NAT, firewall, но всю жизнь я их
использовал только как мост. WiFi у меня тоже был только в режиме моста.
Маршрутизатором всегда был старый компьютер, старый нотубук, GuruPlug,
неттоп, сейчас вот целый Xeon сервер.

Но сама идея что у меня дома устройство имеющее полноценный TCP/IP стэк
и что-то с ним делающая до "меня" (до моих FreeBSD или GNU/Linux-ов) --
противна. Само собой внутри них точно такие же Linux со всякими BusyBox
и прочим. Но кто их делает? Китайцы. А у меня в подобных вещах к ним нет
абсолютно никакого доверия. Тяп-ляп и готово. Да и я хочу иметь полный
контроль над всем трафиком. Если устройство as-is в итоге мне пересылает
IP пакет как он пришёл от провайдера -- ok, собственно это и есть мост.

Как их обновлять? Только скачивая бинарные прошивки? Я на серверах и
ноутбуках у себя абсолютно всё собираю из исходников. Конечно,
первоначальный образ дистрибутива FreeBSD у меня бинарный. Но я его всё
равно полностью пересобираю из исходников.

Более того, понимать что у тебя криворукое поделие, которое имеет
доступ на канальном уровне до всех твоих серверов, ноутбуков -- стрёмно.
Не стрёмно если после него поставить сразу же какой-нибудь firewall/шлюз,
но и смысла тогда в "домашнем роутере" нет никакого, только возможно для
задач моста (оптику/ADSL "преобразовать" в Ethernet).

А ещё я нисколько не могу доверять безопасности китайцами сделанного
WiFi. Не, я против китайцев ничего против не имею. Промышленное
оборудование (Huawei) и тому прочее они конечно делают достойно. Но вот
для дома, всякий ширпотрёб -- я не смогу поверить что достойно. Сами
WiFi протоколы безопасности у меня нареканий не вызывают. Вот только...
что будет если PRNG внутри WiFi точки доступа будет низкокачественной?
Что будет если программист счётчики пакетов не корректно обрабатывает?
А будет фатально с точки зрения безопасности. Кто-то понесёт наказание
если это явно выявится? Нет, всем насрать. А я, когда пробовал работать
через WiFi, совершенно не хочу чтобы у меня радиоволнами broadcast-ился
мой трафик с очень сомнительным уровнем безопасности. Если в ноутбуке
WPA протоколы я могу делать программно в ОС, то на точке доступа уже я
ни на что не влияю. Поэтому я в любом случае поднимал VPN туннель.
Тогда я считал что IPsec это дико сложная и архаичная фигня и поэтому на
него не смотрел. OpenVPN... боль и страдание. WireGuard-а ещё не было. Я
взял и написал GoVPN. Сейчас я правда абсолютно везде использую IPsec
или SSH TUN-туннель для простейших случаев когда надо через NAT
соединиться.

4 years agoСистема на обычной флешке
Sergey Matveev [Sat, 11 Jul 2020 08:02:04 +0000 (11:02 +0300)]
Система на обычной флешке

https://www.linux.org.ru/gallery/screenshots/15803298
Главная проблема обычных флешек -- их быстрый износ. Я несколько раз
поднимал свой домашний шлюз, на котором был и Postfix, на обычных USB
флешках, где скорость не критична. Во-первых, я вроде бы ни разу не
видел чтобы флешка не отваливалась. Хотя бы раз в месяц, но обязательно
что-то да происходит (возможно не флешка плоха, а USB контроллер) из-за
чего блочное устройство отваливается. Самые разные системы (от
ноутбуков, до неттопов, до серверных материнских плат) -- везде USB это
нестабильная штука. Это основная причина, кстати, почему я всерьёз даже
не смотрю в сторону решений где Ethernet подключается по USB (вторая
причина -- большая нагрузка этого USB на CPU при активной работе). Но
главное: за несколько месяцев ЛЮБАЯ флешка начинала иметь badblock-и,
изнашивалась, приходя в негодное состояние. Почтовый сервер с fsync-ами
для нужд меня и нескольких рассылок -- убивает флешки. Если особо ничего
не писать, то конечно долго проживут.

По этой же причине я долго сторонился SSD-шек. Один раз, когда знакомый
по дешёвке новенький SSD продавал (он чуть-чуть по размерам больше
оказался и не мог влезть в его ноутбук), то я приобрёл и решил
посмотреть какого это. Но тогда у меня уже была ZFS, которая значительно
более равномерно изнашивает диск чем классические ФС. Прослужила она мне
лет пять или больше. Честно говоря она до сих пор рабочая и никаких
проблем не встретил -- просто по происшествии столько времени мне уже
немного боязно, ведь она же уже должна начать ломаться и я приобрёл
новую, немного большего размера. И это обычные, чуть ли не самые
дешёвые, Kingston SSD. Но после этого опыта я доверяю их износостойкости
для своих нужд. Большие объёмы мне не нужны, а скорость у них конечно
очень приятна и поэтому в основном моём рабочем компьютере я только SSD
и использую. Для надёжного хранения HDD конечно никуда не деваются, но
они стоят в сервачках.

Но это не значит что SSD сравнимы по износу с HDD. Когда я работал в
ivi, то там для кэширующих прокси серверов использовали недорогие SSD в
серверах. В среднем диск вылетал через пару месяцев использования. Это
был конкретно расходный материал который в сотнях машин ежемесячно надо
было менять. При их стоимости и возможности полностью нагружать жирные
каналы, оно конечно всё равно стоило своего использования и постоянного
обновления для этих задач. Там даже если сервер полностью уйдёт в
небытие из-за развала массивов -- ничего страшного, ибо его проще с нуля
просто за несколько часов наполнить контентом, чем беспокоится об
избыточности данных и отказоустойчивости.

4 years agoVibeke Stene возвращается в музыку!
Sergey Matveev [Sat, 11 Jul 2020 07:54:40 +0000 (10:54 +0300)]
Vibeke Stene возвращается в музыку!

http://www.hitkiller.com/vibeke-stene-eks-tristania-vozvrashhaetsya-na-metal-scenu-s-byvshim-drammerom-borknagar-i-ihsahn.html
Бывшая вокалистка Tristania снова будет заниматься музыкой. По мне она
одна из лучших метал вокалисток, которую бесконечно готов слушать.

4 years agoПравительство само выложило номера паспортов проголосовавших
Sergey Matveev [Fri, 10 Jul 2020 21:19:31 +0000 (00:19 +0300)]
Правительство само выложило номера паспортов проголосовавших

https://habr.com/ru/company/analogbytes/blog/510512/
Сам я не проверял содержимое SQLite БД, но удивлюсь если написанное
действительно выглядит не как в статье.

Вот именно поэтому мне и не нравятся все эти идеи по цифроизации всего и
вся касающееся всех граждан. Ибо всё это делается подобных говняным
образом. Все эти Госуслуги -- тонны JavaScript программ, у меня даже с
включённым JS не работающие. Когда речь про настояющую безопасность, то
этим занимаются нормальные приФСБшные организации. Но вот для граждан её
прям принципиально не хотят использовать и дают стыд и срам, как уже
дважды с голосованиями (прежде в 283b0f523f755ee92389802246b7d7e1e4d68fc2).

4 years agoНачал использовать (пробую) LSP
Sergey Matveev [Fri, 10 Jul 2020 15:34:45 +0000 (18:34 +0300)]
Начал использовать (пробую) LSP

https://github.com/prabirshrestha/vim-lsp
http://git.stargrave.org/cgit.cgi/dotfiles.git/tree/vim/.vim/plugin/lsp.vim
Решил попробовать что же такое Language Server Protocol и будет ли от
него какой профит в Vim. Установить оказалось довольно просто: четыре
плагина на pure-Vim (+Lua опционально) которые можно просто в pack/
директорию склонировать с Github-а:

    mkdir -p ~/.vim/pack/lsp/start ; cd ~/.vim/pack/lsp/start
    git clone https://github.com/prabirshrestha/vim-lsp.git
    git clone https://github.com/prabirshrestha/asyncomplete.vim.git
    git clone https://github.com/prabirshrestha/asyncomplete-lsp.vim.git
    git clone https://github.com/mattn/vim-lsp-settings.git

asyncomplete асинхронно позволяет показывать кучу дополнений на основе
фунок, модулей, методов и прочего. asyncomplete-lsp нужен чтобы он
работал с vim-lsp. А vim-lsp-settings это просто автозапускалка LSP
серверов для соответствующих ЯП.

Просто добавив эти плагины в автозапуск, всё автоматом уже будет
работать. Хотя я всё равно на полэкрана себе настроек поудобнее и
привычнее для себя накрутил.

Какой профит? Как минимум пока профит вижу только в том, чтобы во время
набора текста он мне показывал сигнатуры фунок в виде balloon-а.
Возможно где-то оно будет мешать, но пока вроде прям явно пользу
приносит. Надо поработать с этим прилично времени чтобы понять.

Для Python установил python-language-server: работает медленно, но хотя
бы явно кэширует результаты работы. То есть приходится ждать многие
действия. Но это всё асинхронно происходит, поэтому: раньше я просто не
видел доки/сигнатур, а теперь, пусть не мгновенно, но увижу. Плюс
какой-то lint делает и подсвечивает явно косячный синтаксис, который
прежде я бы только отдельно запуская отловил бы. Как минимум, это не
flake8/pylint запускаемые при сохранении изменённого файла и всё же
работает существенно быстрее хотя бы для проверки синтаксиса. В общем
удобство есть. Goto definition работает. Но медленно. Если нужно
прыгнуть куда-то что не покрыто ctags -- профит есть. В противном случае
ctags тупо моментальнее работают.

Для Go сделал go get golang.org/x/tools/gopls. И после открытия в Vim-е
.go файла, он автоматом запускает этого демона. Всё тоже работает,
приятно что хотя бы сразу проверяет синтаксис. Причём, все показы доки и
автодополнения выполняются буквально мгновенно. Я не замечаю тормозов
вообще. Goto definition тоже моментальный.

Для C, как оказалось, из коробки LLVM/Clang есть clangd. Как минимум,
опять же, приятно показывает сигнатуры и корявый синтаксис или например
то, что я возвращаю другой тип данных в функе, отличающийся от того что
я написал. Вот правда goto definition в половине случаев срабатывает, а
в половине нет. Лень с ходу разбираться с чем это связано, но он даже
импорт <PCSC/...> не находит из коробки. Но, опять же, не страшно,
профит всё равно есть. Однако на C (clangd) тормоза во многих местах всё
же имеются, иногда даже похуже чем у Python. Но возможно это связано с
проектом более большим.

В общем, установка проста, pure vimscript (а не этот, судя по Интернету,
популярный https://github.com/neoclide/coc.nvim который в README мне
сразу говорит чтобы я ставил NodeJS (да пошёл ты в жопу!)), профит от
быстрой real-time проверки синтаксиса и показа док/сигнатур имеется.
Пока я считаю что оно всё стоит того.

4 years agoJoey Muha исполняет темы из мультиков
Sergey Matveev [Thu, 9 Jul 2020 16:29:23 +0000 (19:29 +0300)]
Joey Muha исполняет темы из мультиков

https://www.youtube.com/watch?v=3_2WEmmC31g
https://www.youtube.com/watch?v=VDgKUr1ZBQA
https://www.youtube.com/watch?v=K5qKS_iUJSQ
https://www.youtube.com/watch?v=Cnv2ZhUqVRs
https://en.wikipedia.org/wiki/Joey_Muha
Вот как будут звучать темы если их исполнит трушный барабанщик.

4 years agoВышел H.266/VVC
Sergey Matveev [Thu, 9 Jul 2020 08:01:22 +0000 (11:01 +0300)]
Вышел H.266/VVC

https://www.opennet.ru/opennews/art.shtml?num=53293
Толком про него ничего не известно, кроме заявленной ресурсоёмкости и
сильно лучшего сжатия, лучше чем у AV1. Но вроде всё плохо со всеми
этими патентами. Но мне запомнилось что чтобы закодировать фильм в AV1,
то на моём железе это потребовало бы месяц. VVC говорит лишь про
десятикратное увеличение времени кодирования, что в разы быстрее AV1
выходит. В общем, посмотрим что из этого выйдет.

А в комментариях кто-то догадался написать что в кинотеатрах типа это
увеличит качество. Мда уж... в кино используют MJPEG2K -- буквально
просто каждый кадр по отдельности представлен как JPEG2000 картинка. Но
не в lossless, а в lossy формате просто с высоким ограничением на
размер сверху. Все эти H.* кодеки в кино не используются. Из-за
wavelet-ов в кино мы поэтому никогда не увидим "квадратиков" или
подобных артефактов.

4 years ago36-клавишная клавиатура
Sergey Matveev [Thu, 9 Jul 2020 07:39:32 +0000 (10:39 +0300)]
36-клавишная клавиатура

https://github.com/brow/jklp
А я ещё на 86-клавишные ругался, ибо на них нет 87-ой :-)

4 years agoСША хотят запретить TikTok
Sergey Matveev [Tue, 7 Jul 2020 08:11:57 +0000 (11:11 +0300)]
США хотят запретить TikTok

https://lenta.ru/news/2020/07/07/forbidtiktok/
Вообще молодцы: понимают что это слив данных в Китай. К сожалению в
нашей стране, не понимают что WhatsApp, Viber, Instagram и тому прочее:
это слив данных в США. Сами то США само собой ничего не скажут против
этого, им то только на руку. Но вот Индия и США понимают угрозы, а
Россия нифига. Точнее может и понимает, но наш народ то будет орать громко.

4 years agozmv -W
Sergey Matveev [Mon, 6 Jul 2020 18:09:34 +0000 (21:09 +0300)]
zmv -W

Узнал про такую фишку zmv, как -W. Вместо:
    zmv "(*).foo.bar" "$1.baz"
можно написать:
    zmv -W "*.foo.bar" "*.baz"
Значительно быстрее пишется.

4 years agoОтсканированные цветные негативы
Sergey Matveev [Mon, 6 Jul 2020 15:20:46 +0000 (18:20 +0300)]
Отсканированные цветные негативы

https://www.scantips.com/colornegs.html
Наш сканер имеет удобные штуки для сканирования плёночных негативов.
Видимо, я проверял когда-то только на чёрно белых, и считал что
достаточно использовать инвертирование цветов (pnminvert тот же) чтобы
получить нормальное изображение. А вот на цветных негативах я получаю
нормальное, но с сильным голубым цветом. Как оказалось, чисто физически
цветные негативы устроены не так просто и действительно цвета некоторые
"передерживаются". GIMP-ом с его автоматическим белым балансом я смог
сделать правильное изображение, но это потребовало чуть ручной работы, в
виде вырезания куска кадра из отсканированного куса ленты -- что с ходу
пока не тривиально автоматизировать. Пока откладываю на будущие времена.

4 years agoСканирование кучи документов
Sergey Matveev [Sun, 5 Jul 2020 14:46:21 +0000 (17:46 +0300)]
Сканирование кучи документов

http://git.stargrave.org/cgit.cgi/dotfiles.git/tree/bin/bin/scan.sh
Впервые задумался есть ли какие простые утилиты для отрезания фона
после сканирования. Оказалось что pnmcrop, как ни странно, как-раз для
этой задачи и хорошо с ней справляется. Но время от времени требуется
корректировка уровня чувствительности для неё. А ещё нужно
переворачивать в разных направлениях сканы. Написал вот простейший
скрипт для автоматизации всего этого.

Не уверен ещё, но пока хочется сохранить это в lossless формате. WebP
(lossless, который VP8L) не поддерживает большие разрешения,
получающиеся на 1600 DPI -- сразу же обломался на попытке его
использования. PNG всеяден оказался. Но вспомнил про JPEG2000.
opj_compress по умолчанию сразу же имеет lossless параметры для сжатия.
Но какие-то изображения он сжимает, а какие-то, большего разрешения, уже
нет -- падает или не создаёт файл. Тоже звучит как облом, но нет: я ж
помню про его возможность бить на tile-ы как-раз чтобы их независимо
друг от друга обрабатывать. И после указания tile-ов всё успешно жмётся.
Примерно в два раза, ощутимо лучше PNG. Но открывается/декодируется он
значительно дольше.

4 years agozsh: быстрый cd ..
Sergey Matveev [Fri, 3 Jul 2020 11:26:36 +0000 (14:26 +0300)]
zsh: быстрый cd ..

http://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=2e8969461ebffc68d4228635f84dda6fc8d0ee97
Пока искал решение совершенно другой проблемы, то у одного китайца
увидел красивый хак как переходить на директорию выше: через ZLE
биндинг, причём перевода строки и появление новой строки приглашения не
будет. Впечатлило, сделал также и забиндил на F5. И тут же переделал
свой F4, который вставлял " popd\n", на ZLE аналогичный, чтобы не было
перевода строки.

4 years agozsh: url-quote-magic
Sergey Matveev [Fri, 3 Jul 2020 11:21:36 +0000 (14:21 +0300)]
zsh: url-quote-magic

http://git.stargrave.org/cgit.cgi/dotfiles.git/commit/?id=288f938edb2967649a8d3533e7f655473fc36d90
В zsh мне кажется ещё просто тонны всего неизведанного и не
попробованного. Включил такую штуку как url-quote-magic, а также
bracketed-paste-magic. Первая автоматически экранирует спецсимволы в
том, что похоже на URL. Вторая позволяет это делать с bracketed
вставками. Я не редко в терминал вставляю URL-ы для какого-нибудь
wget/curl и в vi режиме прыгаю на начало/конец чтобы вставить кавычки.
Посмотрим не будет ли вредить url-quote-magic.

4 years agoВпечатления от долгой работы за Das Keyboard. Без Windows никуда!
Sergey Matveev [Thu, 2 Jul 2020 20:35:54 +0000 (23:35 +0300)]
Впечатления от долгой работы за Das Keyboard. Без Windows никуда!

Вообще ничего плохого не могу сказать. Filco то мне всем нравилась, но
Das Keyboard пожалуй немного лучше: прохладный алюминий приятен, а
светодиод CapsLock-а (да и все индикаторы), так как расположен сильно в
стороне от клавиш, значительно лучше виден. В Filco не под каждым углом
я отчётливо краем глаза замечаю переключена ли у меня раскладка или нет.
А тут 100% всегда это замечаю, причём луч от него узконаправлен и в глаз
не бьёт, не смотря на яркость.

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

А ещё заметил что я привык большим пальцем правой руки находить кнопку
Super (на которой часто рисуют "Windows"), так как на всех клавиатурах
прежде на ней выемка круглая была. В течении всего сегодняшнего дня
замечал что я останавливаюсь на какое-то время выясняя елозеньем где мой
большой палец (Alt, Super или Menu?) когда хочу Super нажать. И только
сейчас сообразил что можно же просто переставить клавишу со старой
клавиатуры. Теперь у меня ровно одна клавиша выделяется от идеально
чёрных остальных и на ней... значочек Windows :-)

4 years agoПортируемость разный версий tar-а и его фич
Sergey Matveev [Thu, 2 Jul 2020 17:20:53 +0000 (20:20 +0300)]
Портируемость разный версий tar-а и его фич

https://dev.gentoo.org/~mgorny/articles/portability-of-tar-features.html
Очень детальная статья сравнивающая разные реализации tar и как они
поддерживают всякие фишки типа прав доступа, timestamp-ов и прочего.
Как то в b4b36a45ec721be274a4b6c0f9f243d5672f3a48 писал про форматы, но
ничего нового: ustar хороший наименьший знаменатель, но далеко не всё он
сохранит. А pax, прискорбно, не многие нормально поддерживают.
libarchive оказывается очень неплох во всём, кроме полной неподдержки
многотомных архивов. Ну лично я о них задумался впервые только с
приобретением ленточного накопителя. libarchive по умолчанию в FreeBSD
используется для работы и tar и cpio.

4 years agoНачал знакомиться с Korn. Дежавю с Get Up!
Sergey Matveev [Thu, 2 Jul 2020 17:08:18 +0000 (20:08 +0300)]
Начал знакомиться с Korn. Дежавю с Get Up!

https://en.wikipedia.org/wiki/Get_Up!_(Korn_song)
Вообще никогда не было, даже в MP3, альбомов Korn-а у меня. Решил
послушать что это такое. Для работы неплохо, не грузит, лёгкое и не
раздражающее. Хотя по идее в США такого тьму делают, как мне кажется.
Но сильнейшее дежавю на Get Up! их трэке! Я 100% где-то слышал эту песню
и мотив. Не сам трэк в исполнении Korn, а именно сами слова и основная
тема узнаются. Не нашёл каверов которые бы я мог слышать. Ну или кто-то
спёр под другим именем, или я уж не имею представления откуда у меня
знакомство с ним.

4 years agoFujifilm готовит ленты ёмкостью под 400 ТБ
Sergey Matveev [Thu, 2 Jul 2020 15:19:00 +0000 (18:19 +0300)]
Fujifilm готовит ленты ёмкостью под 400 ТБ

http://www.allbackup.ru/news/fujifilm_cartridge_400tb.html
Слюньки текут, но... ждать этого только через 13 лет, как они планируют.
К тому моменту неизвестно что с жёсткими дисками то будет и возможно
ничего интересного LTO13 не будет уже представлять.

4 years agoМоя подработка в ЦУПе
Sergey Matveev [Wed, 1 Jul 2020 16:19:31 +0000 (19:19 +0300)]
Моя подработка в ЦУПе

https://ru.wikipedia.org/wiki/%D0%A6%D0%A3%D0%9F
После 9-го класса мне мама предложила бывшему начальнику в ЦУПе взять
меня на подработку к нему в отдел на лето. Его то я знал уже давно, ибо
у них дружный коллектив и в гости друг к другу ходили. Я конечно
согласился.

Но до подработки я как-то был на экскурсии в Звёздном городке. После неё
меня мама, когда ещё работала в ЦУПе, отвела на своё рабочее место и там
её начальник (может что-то и путаю, но не суть) решил мне показать
419-ую комнату. Если во всех кабинетах которые я видел всё было не особо
интересно: столы, компьютеры, ничего интересного, то 419-ая это иной мир.
Там я на мониторах увидел какие-то непонятные и незнакомые мне
программы, спросил на чём это всё работает, небось какой-нибудь
WindowsNT, ведь он куда более надёжный? Сказали что такого нет, а тут
UNIX системы. "Юникс"... я точно впервые это слово там услышал и узнал
что не DOS/Windows-ом мир един. Там мне показали кучу стоек с
телекоммуникационной аппаратурой, типа "вот этот провод идёт в Москву, а
вот этот в США напрямую" -- сплошное оптоволокно конечно же. Первый и
единственный раз в жизни я увидел магнитооптическую библиотеку: здоровый
шкаф на полу, с прозрачной верхней крышкой, по бокам пазы с
магнитооптическими дисками, а в центре механическая рука их
переставляющая в привод -- всё это я видел в действии. Но под конец мне
показали единственный компьютер с Windows в той комнате, это так же был
чуть ли не единственный вроде компьютер на Pentium 2 процессоре и я с
джойстиком на Riva TNT2 поиграл в какой-то авиасимулятор. Riva TNT2 для
меня вроде тоже была открытием, потому что я слышал только про Voodoo
ускорители, а тут более крутая штука оказывается есть.

А во время подработки мне давали всякую муторную работу типа:
отсканировать и распознать текст (ведь там куча ручных правок требуется
после), напечатать текст, описать Visio схемы, описать коммуникационные
шкафы и всё такое прочее. Но и свободного времени у меня вдоволь и я
изучал какой-нибудь Visual Basic, ибо книги по нему были там на столах.
Но на программиста я тогда вообще не претендовал, и я был абсолютно
полностью доволен тем, что где-то кому-то помогаю и кучу всего нового
узнаю и вижу.

Там я впервые узнал что путать буквы "е" и "ё" в фамилиях нельзя ни в
коем случае. В ЦУПе были два человека с одинаковыми инициалами, но
фамилии их отличались только на е/ё. Там я узнал про разницу между
коммутатором и концентратором. Впервые услышал про ATM. А ещё я в
каком-то документе увидел "обратную петлю" и спросил что это? Один уже
было начал мне объяснять, как начальник прервал и подняв палец сказал
"loopback" -- я всё понял :-). Тот кто хотел объяснить, много старше
меня, не думал наверное что я могу знать такие зарубежные слова (а я ж
тогда уже всё же под FreeBSD сидел и был фидошником).

Ещё запомнились там столовые. Я за работу вроде бы получил 4 тыс.,
учитывая что у меня был не полный рабочий день. А отлично пообедать
(первое, второе, третье) можно было за 30-40 руб. Точнее столовых и кафе
то там на территории много всяких, ибо же там работают и американцы и
для них совершенно другие заведения.

Кстати, американцев то я тоже видел. Точнее, их можно было и не видеть,
но если они рядом, то обязательно услышишь просто идя по корридору, ибо
они постоянно всегда горлопанят. Двери часто открыты и из коридора можно
комнаты их видеть: там я впервые в живую увидел Macintosh-ы, ещё которые
на классической MacOS (ну как мне кажется).

Ну а всю зарплату я потратил после на Beyerdynamic DT990 250Ом наушники.
По сути я с того момента только их и использую. Через много лет я купил
новые, но тоже DT990 Pro уже на 600Ом.

4 years agoБабушка о Королёве, мама о Гречко
Sergey Matveev [Wed, 1 Jul 2020 14:31:46 +0000 (17:31 +0300)]
Бабушка о Королёве, мама о Гречко

http://www.stargrave.org/photoes/gagarin_korolev.webp
Подробности о Сергее Павловиче Королёве я узнал от бабушки только в
последние годы её жизни. Даже удивлён почему мне раньше о нём не
рассказывали: считали что мне будет не интересно?

Бабушка в молодости, пока училась, подрабатывала маляром-шпаклёвщиком. И
как-то их бригада делала ремонт в кабинете Королёва, ну и ещё где-то.
Так как работа эта не на один день (в то время то), то на Королёва
насмотрелись.

Запомнилось что Королёв умел и очень много матерился, как никто. Но при
женщинах держал себя в руках и не позволял мату проскакивать. Это
запомнилось наверное тем, что даже великие образованнейшие и
достойнейшие люди могут это делать. Я на работе могу прилично
сквернословить, что конечно не хорошо. Так и хочется сказать что
"Королёв тоже матерился" :-), но понимаю что матерясь как он, это не
сделает меня таким же как он.

Он всегда был смурной, печальный. Суров, но справедлив -- за плохую
работу по шапке давал, но заслуженно, никто не в обиде, понимали что за
дело. Он всех уважал, никого не было второсортного. А вот их бригаду, он
добродушно и радостно принимал/встречал, чаем всегда напоит.

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

И о жизни людей он действительно беспокоился. Речь и просто чтобы его
токарям было хорошо на работе, так и о космонавтах: если как-то можно
сократить опасность или риски для космонавта -- он озаботится этим и
сделает всё что можно.

          ------------------------ >8 ------------------------

А мама у меня лично знала Георгия Гречко:
https://ru.wikipedia.org/wiki/%D0%93%D1%80%D0%B5%D1%87%D0%BA%D0%BE,_%D0%93%D0%B5%D0%BE%D1%80%D0%B3%D0%B8%D0%B9_%D0%9C%D0%B8%D1%85%D0%B0%D0%B9%D0%BB%D0%BE%D0%B2%D0%B8%D1%87
В молодости она на одном космическом предприятии изначально занималась
чем-то типа организации всяких мероприятий, физкультуры на предприятии,
спортивными турнирами. Только потом уже стала инженером. Так вот были
соревнования по винд-серфингу недалеко от Королёва на Пироговском
водохранилище, где они секретарями были. И на них всегда кого-нибудь да
известного на тему космоса приглашали. И был там Гречко, который остался
там отдыхать, ведь отличная погода, прекрасные пляжи. Кто-то из
организаторов, где мама была, предложил Гречко пройтись с ним по пляжу и
людям пофотографироваться с ним предложить. Ну только молодёжь на такое
решиться пойти к космонавту :-). А он не отказал. Мать говорит что
добродушный, без какого-либо высокомерия, какой-либо звёздной болезны,
простой и открытый мужик он.

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

4 years agoDas Keyboard то алюминевый
Sergey Matveev [Wed, 1 Jul 2020 13:11:03 +0000 (16:11 +0300)]
Das Keyboard то алюминевый

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

4 years agouhidd и мультимедиа клавиши
Sergey Matveev [Wed, 1 Jul 2020 12:57:38 +0000 (15:57 +0300)]
uhidd и мультимедиа клавиши

https://wiki.freebsd.org/uhidd
В предыдущем посте писал что uhidd возможно поможет с мультимедиа
клавишами. Действительно, всё как по описанию в wiki завелось. uhidd
создаёт mapping символов в /var/run. Копирую его в конфиг чтобы
перманентно остался. А дальше через xmodmap делаю mapping:

    keycode 92 = XF86AudioRaiseVolume
    keycode 170 = XF86AudioLowerVolume
    keycode 190 = XF86AudioMute
    keycode 184 = XF86AudioNext
    keycode 189 = XF86AudioPrev
    keycode 147 = XF86AudioPlay

и xev это штатно начинает показывать как Audio клавиши, а mpv их
понимать.

4 years agoПересел на Das Keyboard 4 Ultimate
Sergey Matveev [Wed, 1 Jul 2020 12:10:10 +0000 (15:10 +0300)]
Пересел на Das Keyboard 4 Ultimate

https://www.daskeyboard.com/daskeyboard-4-ultimate/
По качеству вроде схожа с Filco Majestouch 2. Однако нижняя часть
клавиатуры выше чем у Filco на данный момент это непривычно. Есть
линейка которая крепится на магнитах на верхней части клавиатуры.
Это буквально линейка -- с миллиметрами расчерченными. А ещё
встроенный USB хаб на два порта. Вообще у меня рядом и так
многопортовый небольшой стоит, но когда-то точно был бы очень кстати.
На этой клавиатуре ещё всякие мультимедиа кнопки есть, но, во-первых,
они у меня не работают, а, во-вторых, нажимая любую из них клава на
некоторое время ни на что не реагирует. Быстрый поиск в Интернете
говорит что в FreeBSD для подобных штук возможно надо устанавливать
uhidd. За клавиши не переживаю, и без них всю жизнь жил, но ради
интереса поставлю этого демона, может будет польза. А ещё на ней нет
вообще никаких надписей -- абсолютно чёрные кнопки. Во-первых, нафиг мне
на них смотреть, во-вторых понтово :-). Ну, как минимум, без кириллицы
мне не в первой -- на Lemote YeeLoong ноутбуке была только латиница и я
это заметил только когда одногруппники мне на этот факт открыли глаза.
Хотя совершенно чёрная клава всё же бросается в глаза. Ещё у него
индикаторы для всяких *Lock-ов это такие маленькие дырочки для синих
светодиодов. Маленькие, только очень мощные и я в потолке вижу их
отражение. Была бы пыль -- был бы красивый вертикальный синий столбик.
На Filco тоже синие, но не такие мощные и более old-school круглые
большие.

А это по сути первый текст на ней набранный.

4 years agoШокирован малым количеством клавиш на клавиатурах
Sergey Matveev [Tue, 30 Jun 2020 14:04:47 +0000 (17:04 +0300)]
Шокирован малым количеством клавиш на клавиатурах

https://geekboards.ru/
Присматриваю я себе клавиатуру на замену вышедшей из строя Filco. В
магазине сообщили что Filco когда-то была на коне, но сейчас это уже не
самое лучшее качество и переплата за брэнд -- во что конечно поверю
охотно. Но, среди всех клавиатур на geekboards в наличии и доступных для
предзаказа есть только ровно одна Das Keyboard которая мне бы могла
подойти. Цифровой блок мне параллелен. А вот все остальные клавиши:
нужны, ну ok, кроме PrintScreen/Pause и левого Super. Но во всех
клавиатурах где "полный" набор: на месте Super или Menu находится Fn! В
некоторых Menu доступен только нажимая Fn+Ctrl, что не вариант. Говорят,
таи и материалы лучше и всё такое, но... производительность то у меня
просядет из-за отсутствия удобной клавиши посылающей Ctrl-A и Ctrl-B.
Ровно одна клавиша Menu... а вся клавиатура становится бесполезной :-)

4 years agoКонец истории Redis у antirez
Sergey Matveev [Tue, 30 Jun 2020 13:22:51 +0000 (16:22 +0300)]
Конец истории Redis у antirez

http://antirez.com/news/133
Ну что ж, посмотрим что с проектом будет дальше и успехов antirez-у!
Redis -- один из самых потрясающих проектов с которыми я сталкивался:
отменное качество и производительность, шикарная документация! Один
бывший коллега, шарящий в C-программировании, говорил что в Redis
возможно лучший код который он когда-либо видел на C. А блог antirez
всегда был крайне интересен и подробен.

4 years ago"Самоучитель работы на компьютере" Левина
Sergey Matveev [Mon, 29 Jun 2020 18:21:41 +0000 (21:21 +0300)]
"Самоучитель работы на компьютере" Левина

Кладезь знаний о компьютерах для нас была ровно в одной книге:
самоучитель работы на компьютере. Я не смог найти в Интернете издание
старее чем 2005-ый год, а у нас было явно старее. И всем всем всем мы
рекомендовали эту книгу для того чтобы начать пользоваться ПК.

В ней в начале шло куча знаний и описаний про комплектующие. Ведь
простой смертный понятия не имеет что такое 286-ой, 486-ой и велика ли
между ними разница, много ли 2 MB RAM или нет, и т.д.. Дальше там шло
много полезных команд и объяснений про вообще виды программ, какие
бывают игры, что можно делать с мультимедиа или текстовыми процессорами.
Там давались базовые умения по форматированию дискет/дисков, fdisk,
создания загрузочных дискет, установочных дисков. Norton Commander,
Volkov Commander (мы только Volkov использовали!). Как пользоваться ARJ,
и его полезнейшей фичей создания многотомных архивов. Кучу всяких хаков
типа форматирования дискет с нештатными параметрами чтобы избавиться от
битых и плохо чиатемых секторов или наоборот для увеличения плотности
записи.

В ней вроде бы совершенно не было ничего про Windows. Или если и было,
то очень поверхностно. 1-2 страницы посвящались описанию различных ОС:
DOS, OS/2, Windows 3.x, Win95, Windows NT (для него кстати у нас никогда
не было достаточно мощного компьютера -- а когда всё же появился, то я
уже сидел за FreeBSD и GNU/Linux), Unix точно как-то упоминался, но из
той серии что это что-то дико хардкорное и только для серверов. А ещё я
отчётливо помню что самой быстрой, самой надёжной, самой самой ОС можно
считать BeOS... только софта под ним как-бы не очень много. Автор не
давал рекомендации её использовать, но просто обращал внимание что ОС
есть разные и всякие DOS/Windows это далеко не лучшие представители.

Про Интернет точно ничего не было -- на то время это и нафиг надо, и
очень дорого. В современных изданиях уже нет DOS, нет множества
описываемого железа, нет упоминаний других ОС.

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

4 years agoВспоминая Митинский радиорынок
Sergey Matveev [Mon, 29 Jun 2020 17:07:35 +0000 (20:07 +0300)]
Вспоминая Митинский радиорынок

Рынки я всегда не любил. Куча людей, тесно, неуютно, толкутся. За
одеждой и едой с мамой приходилось ходить и как же не хотелось, но надо.
Но когда у нас появился компьютер, особенно когда появился CD-ROM и хоть
какие-то деньги которые можно было уже тратить на upgrade, то с отцом мы
ездили на Митинский радиорынок в 90-х и первой половине 2000-х.

Это совершенно другое дело уже! Это я очень любил, кроме дороги: долго
добираться до Москвы, долго ехать на метро, а потом ещё от метро (тогда
метро от рынка было далеко не в пешей доступности) долго ехать на
автобусе. А ездили мы туда, запомнилось, что нередко зимой вроде бы. Сам
рынок то открытый -- прям всё на морозе.

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

Upgrade мы делали не часто, ибо денег не было. Но отец покупал кое какие
книги по ПК, мы в этой теме всё лучше и лучше стали разбираться. Уже
даже понимали чего бы хотелось, чего бы улучшить или прикупить. И
конечно же продать ненужное или вышедшее из строя (на компоненты всё
равно же можно разобрать).

Не забуду несколько моментов:

* в комментарии к одному посту в блоге у себя уже написал про то, как
  огромные толпы людей собирались у палаток где в обычных картонных
  коробках были просто грудой свалены CD-ROM диски без коробок или хотя
  бы целлофановых пакетов. Если обычный "штатный" диск в коробке стоил
  что-то типа 60 руб., то эти из груды стоили по 5 руб. Люди просто тупо
  перебирали их и читали что на них написано: если хоть как-то
  зацепляет, то брали. Дюжину дисков вместо одного "коробочного"
  набираешь: некоторые из-за зацарапанности могли и не заработать, а
  многие оказывались фигнёй. Но среди дюжины уж что-нибудь да
  пригодится. Разбирали эти коробки, как мне казалось, вмиг. А там вроде
  и софт, и мультимедиа -- всего навалом вперемешку. Если это например
  сборник игр, то приятное "свойство" царапин на диске в том, что они
  затрагивают только определённые участки диска и, соответственно,
  только некоторые программы/игры с диска. Хотя один сборник я помню
  уговорил взять только из-за наличия на нём Mortal Kombat... и чуть ли
  не один единственный и не читался
* на дискетах как-то брали Duke Nukem полную версию, даже с редактором
  уровней. 10 штук вроде было. И одна из дискет не читалась, битая была.
  Пришлось уже в другие выходные ехать снова. Мужик там и словом не
  обмолвился и просто на своём ноутбуке на другую дискету переписал
  часть архива
* помню как купили за 30 руб. диск называющийся "500 игр". К сожалению
  его коробки у меня не осталось, но на нём действительно было 500 игр,
  плюс сотни trainer, solution, walkthrough, cheat codes и тому прочего.
  За всю свою жизнь я настолько ценного сборника не встречал. Безусловно
  очень большая часть игр там была на десятки-сотни килобайт и уже на
  тот момент были немного архаичны. Самая тяжёлая из там присутствующих
  была Doom 2 (20 мегабайт вроде). Больше никаких FPS такого уровня не
  было -- максимум Wolfenstein. Но диск был просто сказочным! И на его
  задней стороне диска действительно несколько сотен игр самым мелким
  шрифтом точно были перечеслены
* ещё помню как отец искал "не EDOвую память". Я тогда вообще не знал
  про что он и что конкретно говорит. Для меня звучало как "не медовую".
  Спустя наверное лет 10 я только узнал про EDO. Вообще, получается, что
  даже на тот момент у нас был уже сильно устаревший компьютер что для
  него комплектующие не найти
* из одной книги прочитал про Арвид и ездил самостоятельно по рынкам
  чтобы найти сие чудо техники:
  https://ru.wikipedia.org/wiki/%D0%90%D1%80%D0%B2%D0%B8%D0%B4
  Не нашёл :-(
* помню как мы поехали продавать какое-то железо, вроде даже с
  монитором. Даже до рынка не дошли, как на всяких жигулях у нас по пути
  уже всё раскупили. Монитор от дизельного генератора рядом с Жигулями
  на месте и проверяли

Я много слышал о Горбушке, но там мы вроде вообще никогда не бывали. Я
на Горбушке то первый раз побывал когда это уже стал полностью крытый
торговый центр с павильонами.

4 years agoЕщё пасхалки в Vim
Sergey Matveev [Mon, 29 Jun 2020 05:49:42 +0000 (08:49 +0300)]
Ещё пасхалки в Vim

https://old.reddit.com/r/vim/comments/28pj01/vim_easter_eggs/
В продолжении к 30dc80436a432a78f85268ac3ed5826e157c74f7,
f39502ca9385fb3ae44071ce7c1983bb7a2bf984,
d73cc056a7c320f63ec81286e4680dc6103945fc.

    :help spoon (ведёт на раздел доки fork)

    :Ni!
    Do you demand a shrubbery? (но я не в теме это понять)

    :help map-nodes
    [...]
    :nunmap can also be used outside of a monastery.
    [...]

    :help showmatch
    [...]
    Note: Use of the short form is rated PG.
    [...]

    :help bar
    [...]
    Ceci n'est pas une pipe.
    [...]
    Оказывается это отсылка к: https://en.wikipedia.org/wiki/The_Treachery_of_Images
    В переводе: это не pipe. Вообще, действительно, очень верное
    замечание что это не pipe, так как большинство про него подумают.

4 years agoЕщё одна пасхалка в Vim
Sergey Matveev [Sun, 28 Jun 2020 14:57:01 +0000 (17:57 +0300)]
Ещё одна пасхалка в Vim

Если ввести :hi Ni<SPACE><TAB>.
Но я не в курсе про что это.

4 years agoУзнал о книге "Осваиваем микрокомпьютер"
Sergey Matveev [Sun, 28 Jun 2020 14:43:29 +0000 (17:43 +0300)]
Узнал о книге "Осваиваем микрокомпьютер"

https://www.kodges.ru/komp/program/128978-osvaivaem-mikrokompyuter.html
Когда-то упоминал про "Энциклопедию профессора Фортрана" в
dae3f409bd6b7acd688d3e044aa5d411290d815f, из-за которой я возможно и
стал интересоваться сильно компьютерами. Тут вот ещё одна книга
появилась, более старая, переведённая с английского. Она уже правда
более hardcore, ибо тут полноценное программирование изучается. Но в
детстве наверное после "Энциклопедии..." была бы отличным продолжением!
Особенно, учитывая что у нас дома был как-раз Спектрум, именно с таким
BASIC, магнитофонными лентами и прочим.

4 years agoВ btrfs пока лучше не включать прозрачное сжатие
Sergey Matveev [Sun, 28 Jun 2020 11:46:49 +0000 (14:46 +0300)]
В btrfs пока лучше не включать прозрачное сжатие

https://wiki.debian.org/Btrfs
В официальной wiki Debian-а написано что по состоянию на 2020-ый год,
компрессию лучше не включать, ибо баги. Вообще там всяких багов прилично
и активно разные ресурсы рекомендуют не забывать про резервные копии и
btrfs использовать на свой страх и риск.

4 years agoСоздал gostls13.cypherpunks.ru
Sergey Matveev [Sun, 28 Jun 2020 10:08:20 +0000 (13:08 +0300)]
Создал gostls13.cypherpunks.ru

http://gostls13.cypherpunks.ru/
Где информация о том, как собрать Go с GOST TLS 1.3

4 years agoВ FreeBSD сделали Main Boot Record
Sergey Matveev [Sun, 28 Jun 2020 07:44:39 +0000 (10:44 +0300)]
В FreeBSD сделали Main Boot Record

https://lists.freebsd.org/pipermail/svn-src-head/2020-June/137316.html
Просто взяли и все "master" поменяли на "main". Даже ссылку на Wikipedia
на "Main Boot Record", которая не существовала. Вверх идиотизма и абсурда.
Благо что там всё же разум одержал вверх и коммиту сделали revert.

4 years agoРазобрал клавиатуру, ничего не починил
Sergey Matveev [Sat, 27 Jun 2020 19:55:19 +0000 (22:55 +0300)]
Разобрал клавиатуру, ничего не починил

В продолжении истории с 9e292ff14efe03e80af33b782b1f35b22c7e7208,
разобрал, прочистил, поменял USB-кабель (от другой дешёвой Asus,
дававшейся к EeeBox) -- всё аналогично. Причём вроде даже ещё хуже
стало и потери клавиш чуть ли не сразу появляются. Визуально вообще
нигде проблем не вижу, всё в идеальном состоянии. Так что... считаю
что клава сдохла, на запчасти наверное можно будет использовать, но
надо будет покупать новую.

Главная то засада в том, что я вообще не нашёл в Москве магазинов
которые бы продавали Filco клавы. Есть Leopold, Das Keyboard и куча
других не noname, но... судя по форумам, у Filco всё равно качество
пластика хотя бы выше.

4 years agoПрочитал "Алхимика"
Sergey Matveev [Sat, 27 Jun 2020 19:47:25 +0000 (22:47 +0300)]
Прочитал "Алхимика"

https://ru.wikipedia.org/wiki/%D0%90%D0%BB%D1%85%D0%B8%D0%BC%D0%B8%D0%BA_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD)
И только сейчас, посетив Wikipedia, узнал что это бестселлер и всё такое :-)
Книга очень понравилась! Добрая вся такая, о настоящих ценностях
подталкивает задумываться. Ничего нового для себя не открыл, разве что в
очередной раз подчеркнулось, что ценностями не должно быть всё это
потребительство, со всеми отсюда вытекающими. Ну и что когда человеку
хорошо, то и развития у него нет. Вот у меня в жизни не на что
жаловаться -- и я поэтому просто тупо ничего не хочу в ней менять,
совсем, костенею. Но мне и не плохо от этого, поэтому и ничего и не меняю.

4 years agoГруппа Slaves меняет название
Sergey Matveev [Fri, 26 Jun 2020 19:18:01 +0000 (22:18 +0300)]
Группа Slaves меняет название

http://www.hitkiller.com/gruppa-slaves-pomenyaet-imya-iz-za-rasovyx-konnotacij.html
Как и автор, и знать не хочу что они там играли, но это ни в какие
ворота. Я уж старые добрые группы на -ist буду слушать, которые у меня
есть на диске: Atheist, Sadist, Terrorist, Pessimist, Absurdist,
Aeolist, Cumchrist, Immoralist, Misogynist, Necronomichrist,
Necrophagist, Pathologist, Perversist, Polterchrist, Pragmatist,
Psychofagist, Rapture Christ, Sexorcist, Solipsist.

4 years agoПодтверждения мифов о динамической линковке на практике
Sergey Matveev [Fri, 26 Jun 2020 17:16:10 +0000 (20:16 +0300)]
Подтверждения мифов о динамической линковке на практике

https://drewdevault.com/dynlib.html
2303c62b98e13152ebdf19252f817f1370dc718b
http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols

* Динамически слинкованные программы существенно дольше загружаются
* Они нифига не занимают ощутимо меньше места

Обновление всех программ, их перекомпиляция, если в зависимой библиотеке
есть какая-то проблема -- тоже не проблема на самом деле. И тут как раз
очень немаловажна быстрая компиляция: Go, C -- перекомпилировать на них
хоть всю систему могло бы занимать очень и очень мало времени.

Ну и лично я всегда повторял вопрос: как часто возникают уязвимости/баги
действительно вас затрагивающие и требующие немедленного обновления? За
целый год может вообще не появится ни одной.

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

Я в своих C библиотеках юзаю только статическую линковку. Собственно,
мудрые мира сего, в Go и в Plan 9 дают штатно только статическую
линковку.

4 years agoВспоминая первый концерт Korpiklaani: литры пива, фашисты, красивые скрипачки
Sergey Matveev [Fri, 26 Jun 2020 10:04:58 +0000 (13:04 +0300)]
Вспоминая первый концерт Korpiklaani: литры пива, фашисты, красивые скрипачки

Первым "осознанным" концертом в моей жизни был Therion (2004).
Осознанным: в том плане что не родители меня куда-то потащили, а то,
куда я сам захотел. Было ещё в школе. И билет был на сидячее место на
балконе Горбушки. Я тогда и козу наверное не показывал даже --
стеснялся. Не говоря уже о том чтобы башкой потрясти. Поразило меня
конечно всё! Ибо был я только в наших королёвских ДК на роке или
эстраде, а тут добротный метал с неплохой акустикой. Когда возвращался с
него, то вагоны метро доверху набивались волосатыми мужиками во всём
чёрном -- волосатый рейс!

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

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

После были "Тролль Гнёт Ель" -- beer-metal: под него только пиво надо
дуть. Собственно, чего мы с друзьями и делали. Во-первых, уже начался
слэм неплохой. Во-вторых, самое дешёвое что можно было пить это пиво
(вода точно была в разы дороже). В-третьих, мои друзья и без слэма не
прочь пиво употребить, а я тогда ещё не зарекался алкоголь больше не
принимать.

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

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

Ну а на самих Корпи начался конечно ад. Тьма народу, жаркий сентябрьский
день, маленький клуб. Открыли все двери, которые штатно не полагается,
но чтобы хоть как-то шло проветривание. Слеймился я там полно! Мне
кажется все два литра пива полностью до последней капли у меня вышли
через пот. И слеймились мы с удовольствием со всеми этими скинхедами.
Регулярно приходилось отходить наружу или хотя бы прислониться к стенке,
ибо кислорода вообще не хватало и в глазах темнело -- стенка нужна чтобы
хотя бы не упасть непойми где.

И тогда я ещё понял, когда концерт закончился, что есть этика, есть
приличие на концертах, взаимоуважение. Я уже тогда много наслышан про
панковские концерты и концерты всякого говнорока, когда без драк не
обходится ни одно мероприятие. И когда драки ещё и до начала успевают
начинаться. Тут скинхедов было не мало, но никаких происшествий. Если
кто-то падает: *все* помогают встать, убедятся что всё в порядке,
извинятся если лихо нечаянно кто-то кому-то заедет. Взаимоуважение у
всех ко всем, кем бы ты там ни был! Ибо люди пришли на концерт, на
музыку, чтобы хорошо провести время в слэме, драйве и куче энергетики
доброй! Если кому-то хочется подраться -- для этого есть другие
мероприятия, как минимум другие жанры концертов, с другой тематикой.

4 years agoПолезная фича apenwarr/redo
Sergey Matveev [Fri, 26 Jun 2020 09:53:00 +0000 (12:53 +0300)]
Полезная фича apenwarr/redo

Если изменить результат выполнения цели, то, так как у нас есть .redo
state, то apenwarr/redo прям явно нам скажет что цель изменена вручную и
он ничего не сделает что её перезаписало бы. Так как разрешение
зависимостей, да и вообще сборка, идут "сверху вниз", то redo это делает
легко. Мелочь, но невероятно приятная! Особенно когда отлаживаешься. А в
Make... легко потерять свои труды, забыв про то что он решит что-то
пересобирать и всё перезапишет.

4 years agoНарезка звуковой дорожки во многих современных видео на YouTube
Sergey Matveev [Fri, 26 Jun 2020 09:26:44 +0000 (12:26 +0300)]
Нарезка звуковой дорожки во многих современных видео на YouTube

Последние годы сталкиваюсь со всякими творениями людей на YouTube. И
многие постоянно нарезают свои звуковые дорожки так, что между ними нету
пауз или пробелов. Как из пулемёта строчат информационным потоком. Или
бывает что говорят медленно, но всё равно без пауз. Наверное к этому
можно быстро привыкнуть и перестать замечать, но когда изредка что-то
смотришь/слушает, то прям бьёт по ушам.

Вообще наверное ничего плохого нет: этим люди экономят время своего
зрителя/слушателя. А то что между фразами видна плохая "сцепка"... ну
это очевидно потому что не профессиональный диктор. Не каждому быть
Левитаном. Да и в обычной то жизни не каждый умеет хорошо говорить, а
материал может и хочет делать очень интересный.

Но мне запомнился 100-ый, юбилейный, выпуск подкаста Jason Scott Talks
His Way Out Of It, где он записался без какой-либо постобработки после
записи. И звучание совершенно другое и много пауз, очевидно, лишних.
Оттуда мне запомнился хак: когда во время рассказа (а Jason Scott не по
бумажке) он точно не помнит в каком году что-то вышло, то он просто той
же интонацией просто продиктовывает все годы подряд (+-), а дальше
просто оставляет фразу с нужным годом. И не прерывается и, самое
главное, я вроде никогда не замечал никаких несостыковок в его речи,
даже не думая что там прилично режется. Ну тут и сам JS хорошо говорит.

4 years agoПочему эмулятор терминала должен быть простым?
Sergey Matveev [Thu, 25 Jun 2020 21:12:44 +0000 (00:12 +0300)]
Почему эмулятор терминала должен быть простым?

В 186bcbc63c0dd094494dee36b845c0b03969dc5f я "вбросил" что в Kitty
терминале много лишнего есть. Я против Kitty ничего не имею, впервые про
неё там услышал, но просто она хороший пример терминала перегруженного
фичами. Если при этом она отлично быстро работает на диких разрешениях
там, где все остальные тормозят, то хвала ей и конечно стоит
использовать, раз главное она делает лучше остальных.

Но а что я имею в виду под лишними фичами:

* контроль через скрипты, layout-ы, multiple terminal windows, startup
  sessions
* scrollback buffer в отдельном окне
* несколько copy-paste буферов

С ходу не увидел, но если есть табы, то и их в стопку "ненужного". Если
есть всякие штуки по выцеплению URL-ов, то и их тоже.

Почему? Да потому что всё это делает tmux! Или другие terminal
multiplexer и подобные штуки. Я совершенно не понимаю почему всеми этими
вещами занимается эмулятор терминала. Разработчики впиливают это в свои
творения потому что могут, потому что challenge и интересно, потому что
может быть не сложно.

А чем плохо то, что терминал будет делать всё что умеет tmux? Как
минимум это плохо тем, что где-то конкретный эмулятор терминала
работает, где-то нет. Куча терминалов работают только под GNU/Linux,
какие-то только под macOS, какие-то наверное только под OpenBSD есть. А
tmux работает везде, одинаково. Более того, tmux как минимум полезен
тем, что если терминал упадёт или его надо будет отключить, то сессия в
tmux может оставаться жить. Плюс tmux даёт ещё кучу плюшек.

Эмулятор терминала это штука которая должна уметь выводить и вводить
всякое. Возможно даже графику, обязательно (сейчас) Unicode, возможно
TrueColor кому-то полезен. Если нравятся лигатуры -- ok, это тоже задача
терминала. Перехват мышки и её прокидывание в терминальные программы.
Bracketed paste. Всё это задачи терминала, безусловно, и их не мало. А
ещё ввод специальных символов, наверное какая-то магия для азиатских
языков. Это всё терминал бесспорно.

Но создание layout-а из окон... это совершенно не касается ни ввода, ни
вывода. Автоматизация запуска терминала с всякими скриптами -- уж точно
тоже не относится. GNU Screen или tmux (ещё есть какие-то более suckless
решения) с этими задачами справляются уже тьму времени. У меня для
многих проектов простые shell-ы написаны которые мне порождают окна,
переименовывают их, размещают, вбивают в них какие-нибудь virtualenv-ы,
запускают vi на нужных файлах, и т.д.. И это везде одинаково будет
работать, независимо от терминала.

Scrollback -- аналогично, tmux (я про него говорю потому что имею опыт
только с ним богатый, когда-то давно имел неприятный опыт с GNU Screen)
умеет это, плюс позволяет искать по буферу хоть vi клавишами, хоть
Emacs, хоть сбрасывать его в файл, хоть искать по всем scrollback-ам
всех окон. Терминалу то зачем это всё знать и помнить?

Copy-paste буфер -- аналогично, в tmux имеется, с очень удобной
возможностью их просмотра и управления. Для Vim я ещё ставлю Tbone
плагин который позволяет "интегрировать" tmux буферы с Vim-овскими.

Табы -- как и окна, тема мультиплексоров. Нужно открыть и "подсветить"
все URL-ы которые мы видим? По сути задача сводится к сбрасыванию
текущего буфера и запуска программы поиска URL-ов в нём, которая сможет
открыть эти URL-ы. Делается в одну строчку в конфиге tmux:

    bind-key u capture-pane -J \;
        save-buffer /tmp/tmux-buffer \;
        split-window 'urlview /tmp/tmux-buffer' \;
        delete-buffer

Делаю ровно два нажатия на клавиатуре и у меня показывается список всех
URL-ов. Это значительно быстрее чем мышкой нацеливаться на URL и
нажимать по нему. А ещё нередко нужно изменить этот URL (например,
выпилить всякие ?utm_campaign и прочие следы трэкинга), что в urlview из
коробки делается.

Хочется натравить любимый редактор на текущий буфер окна? Или на всё
историю в нём? Аналогично однострочником делается. В
5d2d9f386d547b8e436829db5c6533b17feffe8e я упоминал тривиальный "qq"
скрипт который находит в буфере всё что похоже на пути к файлам чтобы их
сразу же в vi в виде quickfix списка открыть. В терминале такого уже
никто не добавит. А в tmux это гибко и просто делается. Так сказать,
Unix-way.

Не забывать что tmux это ещё и "демонизация" сессий. А ещё можно делать
удалённый доступ к своей сессии: в 5f98503b78f5aa80bd48f4633ce82e9a219ed7e6
на работе мы так организовывали парное программирование. Коллега как-то
показывал фишку в tmux-е где у него одна сессия с кучей окон, но на
нескольких мониторах одновременно, где на одном он работает, а остальные
только заданные окна из сессии показывают.

Плюс, всё что я сказал -- смехотворно для любого Emacs-овода, ибо у них
всё это может спокойно делать сам Emacs, только ещё гибче и больше. Всей
этой функциональности в эмуляторе терминала просто нет места. Если Emacs
это конечно точно не для всех, то уж tmux это один из основных
инструментов на серверах. Мой терминал автоматом запускает tmux всегда:
по сути одно окно терминала=ещё одна сессия tmux. Причём tmux в tmux-е
совершенно не проблема, если в "родном" tmux использовать другую клавишу
для отсылки prefix-а: я клавиши "Menu" и "Super" забиндил на отсылку
Ctrl-A и Ctrl-B, где Ctrl-A это prefix "родного" tmux. Никаких
Ctrl-что-то комбинаций я не ввожу в tmux-ах совсем, ибо это дико бы
убивало скорость работы.

Вообще изначально я не понимаю как можно жить в терминале без табов и
scrollback-буфера, которые у меня были в urxvt. Я решил попробовать
suckless st, ради интереса, и вот не понимал как жить без всего этого. И
tmux пришёл как решение само собой. Причём не как костыль, а именно как
гораздо более удобное, гибкое и универсальное решение.

abduco+dvtm наверное тоже достойная альтернатива tmux, но лично мне уже,
читая доку dvtm, точно не хватало бы нескольких copy-paste буферов.

Для urxvt можно писать плагины на Perl. Звучит тоже гибко. Но я только
один раз в жизни видел как это использовал один человек чтобы мышкой
открывать Python traceback-и: мышкой он указывает желаемый traceback,
плагин понимает что это за файл, дальше посылает команду в GVim,
запущенный как сервер, на открытие файла на нужном месте. В tmux через
буфер тоже можно было бы сделать, если что. Но это я к тому, что плагины
для терминалов всё равно или для ввода чего-то странного или для поиска
URL-ов каких-нибудь используются на практике.

В общем, резюмирую: люди должны открыть для себя terminal multiplexer-ы
и перестать изобретать точно такой же функционал в терминалах. Или, как
вариант, люди могут открыть для себя Emacs. Просто terminal multiplexer
типа GNU Screen или tmux ещё и управляют login session-ами, что полезно
само по себе и постоянно юзается на серверах, в любом случае заставляя
человека знать про эти средства.

4 years agoВыложил ГОСТ TLS 1.3 поддержку для Go
Sergey Matveev [Thu, 25 Jun 2020 18:32:01 +0000 (21:32 +0300)]
Выложил ГОСТ TLS 1.3 поддержку для Go

https://lists.cypherpunks.ru/pipermail/gost/2020-June/000119.html
Но эта версия не способна пройти (будущие) тестовые векторы от ТК26, так
как в самом Go нет поддержки многих фич, задействованных в векторах.

4 years agoPerl 7
Sergey Matveev [Thu, 25 Jun 2020 12:31:24 +0000 (15:31 +0300)]
Perl 7

https://www.opennet.ru/opennews/art.shtml?num=53226
У людей (не только в этой статье) почему-то какая-то аллергия на Perl. И
мне чисто объективно она не понятна. Ну то бишь да, на нём можно
написать нечто, что никто и никогда не поймёт. Можно, грубо говоря,
просто попой поелозить по клавиатуре и это запросто будет валидным кодом
на Perl-е. Но... зачем же только подобные крайности учитывать?
JavaScript, с моей точки зрения, куда ещё более мерзкий язык, но его
умудряются даже как-то и любить.

Если забыть просто про мою любовь к Perl-у, ибо на нём я, собственно,
начинал программировать и годами использовал для всего, то:

* Perl, как правило, есть в любой ОС. Внезапно тут узнал что в FreeBSD
  из коробки его уже не поставляют, но и аналогично куча дистрибутивов
  GNU/Linux тоже "голые" и могут ничего кроме POSIX shell не иметь. Но,
  уже среди всех зависимостей Perl появляется зачастую первым делом.
* В OpenWRT Perl часто сували в образ (может и сейчас продолжают), ибо
  он занимал что-то около 800 килобайт и при этом был языком в котором и
  треды, fork, сигналы, работа с файлами, сетевыми сокетами. Это ровно
  один исполняемый файл perl5. Да, полная установка Perl со всей
  документацией и кучей всяких модулей занимает значительно больше, но и
  без неё в нём выше крыши возможностей
* Самое главное: Perl имеет везде одинаковое поведение и нет его 100500
  диалектов. Банальный sed имеет отличающееся поведение с -i аргументом:
  в BSD inplace замену можно сделать только указав временный файл, при
  этом обязательно слитно с "-i" -- это будет и с GNU sed-ом и с BSD
  работать одинаково. awk... я не встречал ни одного человека кто бы
  знал awk, на уровне чуть сложнее чем {print $NF} какой-нибудь. Да и
  много его диалектов. Написать что-то портируемое на этих инструментах:
  испытание. Perl везде работает одинаково
* Преобладающее большинство однострочников, на замену sed/awk/grep,
  выглядят гораздо более читабельными, простыми и с "нормальными"
  регулярками, а не разнообразным зоопарком среди всего этого
  инструментария! На Perl работа с текстом очень и очень удобна и с
  гораздо меньшим количеством кода

Я регулярно для большого количества задач его применяю (связанных с
текстом, как правило). Это тупо быстрее, проще, меньше кода поддерживать
и проще его править. Плюс Perl вполне себе очень и очень шустр
(относительно Python или какого-нибудь Ruby). Когда-то для
"калькулятора" я просто набирал python и там делал вычисления. Но это
дико раздражало тем, что он тупо долго запускается, даже с прогретыми
кэшами. Сейчас запускаю "zcalc", встроенный в zsh, хотя надо бы
что-нибудь с обратной польской нотацией (dc).

На OpenWRT вообще де-факто язык это конечно Lua -- насколько помню, один
файл килобайт на 50. Но для скриптования и работы с текстом он уже не
так удобен.

4 years agoНегры в ИТ компаниях США, а также посольство пидарасов
Sergey Matveev [Thu, 25 Jun 2020 11:36:39 +0000 (14:36 +0300)]
Негры в ИТ компаниях США, а также посольство пидарасов

https://m.habr.com/ru/news/t/508030/
https://moslenta.ru/news/na-zdanii-posolstva-ssha-v-moskve-poyavilsya-lgbt-flag-25-06-2020.htm
В a56709d61da427dda4202a99c59c2a587afa9837 скинули ссылку на новость. В
общем, Microsoft и Facebook, чтобы бороться с дискриминацией и расизмом
(насколько знаю, расизм это когда ты смотришь, например, на цвет кожи, и
на основании этого как-то меняешь свой подход к этому человеку?)
будут тратить сотни миллионов долларов на то чтобы негров было много в
руководящих должностях. Забавно, но именно подобное дело ведь и является
расизмом же? В общем, хочется делать facepalm и проверять не первое ли
апреля сегодня.

Уже наверное писал, но никто из коллег/знакомых, даже работающих в ИТ в
США, никогда ни разу не видел негра на ИТ конференциях. Они есть только
на рекламах и сайтах ИТ корпораций (плюс обязательно ещё узкоглазый
обязан быть и женщина среди них!). А тут ими хотят заполонить
руководство... очень разумно!

Блин, какие же они все жалкие. Десять минут назад ещё и новость увидел
что на их посольствах они же сами, в том числе в Москве, развешивают
флаги пидарасов. Не, ну мы догадывались, но им обязательно надо об этом
явно сообщать? Это наверное точно также важно знать при общении, как
какой твой цвет кожи. А ещё это так забавно звучит "месяц гордости"...
ну реально прям ржать охота.

4 years agoGithub снова сменил оформление
Sergey Matveev [Thu, 25 Jun 2020 08:27:24 +0000 (11:27 +0300)]
Github снова сменил оформление

Когда его купила Microsoft, то они что-то сделали и у меня он
открывается на 4 экрана серой портянкой, только после которой идёт уже
сама табличка с файлами/README. Каждый заход на любую страницу Github-а
заставлял меня делать в Xombrero 5 нажатий на PgDown. А теперь они снова
ещё что-то сделали и у меня список файлов занимает по горизонтали
столько места, что умещается всего 10 штук. Мотать сверху вниз теперь
вообще нет смысла, ибо нужно нажимать End, а дальше PgUp.

4 years agoПочему бы просто не использовать bitmap шрифты?
Sergey Matveev [Wed, 24 Jun 2020 19:17:57 +0000 (22:17 +0300)]
Почему бы просто не использовать bitmap шрифты?

https://dataswamp.org/~lich/musings/bitmap-fonts.html
Я кстати тот же самый вопрос задаю постоянно про себя. Сколько
неимоверных по сложности телодвижений люди делают чтобы буквы хорошо
выглядели на разных DPI, разных мониторах и прочем. А я вот наоборот уже
давно полностью отрубаю всё сглаживание, весь hinting и тому прочее. У
меня поэтому всё отображается чётко по пикселям: никаких градиентов или
чего-то подобного. Хотя шрифт не bitmap-ный.

4 years agofdm очень быстро работает
Sergey Matveev [Wed, 24 Jun 2020 19:12:22 +0000 (22:12 +0300)]
fdm очень быстро работает

В bbbaf02de2811083573af02d6cfee79342e96811 писал что начал использовать
fdm, вместо fetchmail. Я не знаю чем объяснить (ну кроме как
тормознутостью fetchmail), но fdm так быстро проверяет по POP3S наличие
почты, что я не раз включал debug и смотрел tcpdump чтобы действительно
убедиться что он работает и не обманывает.

4 years agoС новой клавиатурой пока всё в порядке
Sergey Matveev [Wed, 24 Jun 2020 07:40:17 +0000 (10:40 +0300)]
С новой клавиатурой пока всё в порядке

Пока похоже что я зря ругал Dell в 9e292ff14efe03e80af33b782b1f35b22c7e7208
Уже третий день, но с другой клавиатурой проблем пока никаких. Так что
или USB-кабель были виноват или где-то что-то внутри клавы. В конце
недели тогда уж буду разбирать и смотреть что можно поделать. Исчезли ли
проблемы с родной клавой ноута -- не проверял, ибо в общем-то не повиг.

Но за это время я уже присматривался к новому железу (благо что пока не
надо менять). И с ним ситуация удручает ещё сильнее, чем вышедшая из
строя клава. Во-первых, всё же хочется не слабую железку, чтобы было
комфортнее. Во-вторых, обязателен Ethernet и SATA отсек для 2.5" диска.
Ноутбуков и с тем и с тем -- меньшинство, но всё же есть. Но чтобы с
хорошим железом, то стоят ThinkPad-ы например уже 90-100 тыс. руб. У
меня никогда в жизни не было ноутбуков дороже 40. Я понимаю что и курс с
тех времён изменился и всё такое, но психологическая граница у меня при
этом пройдена.

Но я также и присматривался к неттопам, особенно ThinkCentre. Чтобы его
носить вместо ноутбука. Во-первых, я и так в любом случае подключаю
внешний монитор и клавиатуру (без тактильной клавы жизни нет, а с ней
ноутбук или будет далеко стоять или как-то не удобно, поэтому и монитор
обязателен). Во-вторых, за последние два года я не помню где мне
мобильность понадобилась бы. Только коммандировка в Сирию вспоминается,
но в самом офисе там -- монитор/клава/ИБП имеются. В отеле номера... у
меня нет сомнений что я бы просто попросил выдать мне монитор и я бы его
в номере и поставил (клаву то я и так по любому с собой вёз). Работать
на даче или у родителей дома: именно работать вообще не рассматривается
как вариант, ибо без клавы жизни нет. А если тащить клаву... то на
машине и не сложно и монитор привезти (типа 17"). На конференциях где
выступал -- уже давно я притаскивал только флешку с PDF-кой.

Не исключаю, что по закону подлости, как не будет ноута, то и сразу же
возникнут ситуации когда он нужен. Я ещё могу представить что мне
где-нибудь захочется в IF поиграть.... но у меня есть eeePC 701 например
для такого случая.

Но главное в неттопе это не столько экономия, сколько просто
удовлетворение моим запросам. За 60 тыс. я присмотрел ThinkCentre в
котором и железо вполне хорошее, и уверенность что 2.5" диск влезет (в
ноутбуках не редка ситуация когда не каждая SSD пролезет, ибо
полмиллиметра где-нибудь да не хватит -- на свой страх и риск брать
ноут получается) и RJ-45 и DisplayPort и VGA с COM-портом. Последнее мне
в общем-то не горит, но просто приятно (всё равно у меня USB<->COM есть,
а нужен он редко).

А вот VGA мне очень хотелось бы иметь. В моём текущем ноуте по хорошему
HDMI работает *только* когда в ОС уже загружены drm-kmod драйвера. Явно
там что-то с частотами магия какая-то. Без драйвера -- HDMI может
показывать, может не показывать, может начать показывать когда CPU
чем-то занят: 49aa05cc02d452982bed57680d9d116ad306e731,
2a731b2c43b42cd79cef89fce487631d2a05d92f. Возможно это просто такая
модель или брак, поэтому HDMI это штука у меня которая бывает не
работает. Но я по жизни встречал что HDMI может сжечь тебе порт. Видел
как на конференциях не у всех он с их ноутбуков подхватывается. HDMI
напрямую, через разные HDMI<->DVI переходники, но на работе без drm-kmod
драйвера *вообще* ни разу не работал. Домашний "ест" сигнал, а на работе
нет. Поэтому у меня крайне предвзятое отношение к этому дерьму
рассчитанному на максимальную дешёвость для бытовых применений.
Собственно, я долго работал без drm-kmod (я просто не знал про него),
через UEFI графику, и всё это было исключительно на VGA. Не было бы VGA,
то пришлось бы сдавать назад этот ноут и цапаться потому что у них то
под Windows с драйверами знающими все костыли железа -- всё бы работало.

Вот с DisplayPort я не видел проблем. Оно всегда just-works. Однако,
возможно это просто связано с тем что я его в ThinkPad-ах видел и
поэтому оно просто качественнее сделано. Но если искать ThinkPad-ы с DP,
то как-раз не меньше 90-100 тыс. это будет стоить. Плюс на конференциях
не раз видел что у них только HDMI оборудование можно подключить к
проектору -- не то чтобы меня это как-то беспокоило, но и не все
мониторы DP держат.

VGA это не от хорошей жизни, но 1920x1080 он всё же тянет. Да, бывает на
некотором фоне заметна рябь аналоговая. Но меня это не сильно парит. Я
придирчив к хорошему звуку в наушниках, но совсем не придирчив к
изображению. И он ещё долго не будет умирать, ибо серверы всё равно с
ним делаются. А например на notik.ru, ровно один Lenovo ноутбук с VGA
выходом, хотя три года назад его прилично всё равно встраивали. В
ThinkCentre вообще все три видео вывода есть.

VGA безусловно должен вымереть и это правильно, но происходит просто
какими-то очень неспешными темпами (как вымирание MP3 какого-нибудь). А
вот Ethernet исчезает из ноутбуков очень шустрыми темпами. Удивляться
нечему: и компьютеры как таковые у людей исчезают и становятся не
нужными. У 99.99% людей все их потребности ИТ мира покрываются
смартфонами. А у 99% из оставшихся кому нужен компьютер -- потребности
сети покрываются WiFi-ем. А меня WiFi совершенно не удовлетворяет: ни
разу не видел чтобы я визуально не замечал задержек по SSH, видел 100500
проблем с устройством WiFi сети и всеми этими силами
сигнала/интерференциями и прочим, плюс вроде бы преобладающее
большинство всучиваемых WiFi модулей не будут работать без загрузки
проприетарных blob-ов. Для YouTube и броузеров можно и на WiFi жить, но
дома мне хочется иметь хорошую 1/10 Gb сеть по которой с полной
скоростью гоняется NFSv4 (который яростно просядет из-за задержек WiFi).
Так что ноутбуки с Ethernet наверное останутся как очень дешёвые модели:
для админов, и как очень дорогие модели, кому действительно хочется
хорошей качественной работы.

И я уже несколько лет назад говорил и уверен что компьютеры скоро будут
дорогой прерогативой. В 90-е приобрести компьютер -- дорого. Потом стало
доступно. Потом смартфоны покрыли потребности людей и компьютеры массово
стали не нужны. Поэтому как и в 90-е они снова будут, из-за уменьшения
объёмов потребления, дороже. С этим надо просто смириться, никуда от
этого не деться.

4 years agoНачал использовать fdm вместо fetchmail
Sergey Matveev [Tue, 23 Jun 2020 18:08:14 +0000 (21:08 +0300)]
Начал использовать fdm вместо fetchmail

https://github.com/nicm/fdm
Не то чтобы fetchmail не работал бы, но надоело не видеть в нём
timestamp-ов в логах. В FAQ штатно рекомендуют например делать hook
который перед подключением выполнит data >> ~/.fetchmail.log. Решил
посмотреть какие ещё MRA бывают. getmail -- не хочу я зависеть от
Python. fdm -- от создателя tmux, этим всё сказано.

Его возможности по фильтрации почты мне не нужны, так как я всё равно
использую maildrop. Но мне нужно чтобы при больших размерах писем он не
грохал их и не пытался доставлять (а то мой Postfix наругается в адрес
отправителя). И ещё мне надо чтобы с разных учётных записей, он в разные
локальные учётки отправлял письма приходящие (чтобы видеть что письмо из
"рабочего" ящика например). Это прям из коробки всё поддерживается. По
факту его конфиг ощутимо меньше fetchmail-овского, ибо по умолчанию куча
опций выставлена как мне надо. Плюс netrc поддерживает, что приятно.

Он правда не умеет демонизироваться, как fetchmail, но... а на что у нас
crontab пользовательский? Легко сделал так, что при штатной работе он
ничего не напишет в stderr, не породит письма от cron. А при ошибках
породит. Там же я управляю и частотой опроса почтовых ящиков. Что более
Unix way, а главное что fdm значительно более компактен.

4 years agoСовершенно не понимаю темы с электронным голосованием
Sergey Matveev [Tue, 23 Jun 2020 15:23:53 +0000 (18:23 +0300)]
Совершенно не понимаю темы с электронным голосованием

https://www.mos.ru/city/projects/vote2020/
* Вроде бы голосование это то, что должно быть анонимным. Разве нет? Я
  тут авторизация на сайте и никакой анонимности. Что за бред?
* Ладно, анонимность это мелочь, но я совершенно не понимаю, собственно,
  где моя подпись то ставится и участвует? Более того, собственно, а где
  мой приватный ключ то? Пользователю не предлагается задействовать
  криптоключ или что-то подобное. Ему предлагается просто кликнуть
  мышкой??? Это типа шутка такая? На сайте откровенная херня какая-то
  написана:

    Чтобы сохранить тайну голосования, информация о бюллетене не
    сохраняется ни в браузере пользователя, ни на сервере
    администратора.

  Типа я отправляю авторизованный/аутентифицированный пакет к серверу и
  у меня сохраняется тайна голосования? Не, я слышал про лохотроны, но
  тут уж совершенное бесстыдство. Там есть пункт "Как будет сохраняться
  анонимность голосования?", с очередной туфтой, где очевидно всем
  (серверам) прекрасно известно кому какие "ссылки уникальные" уходят
* Явно написано что криптография, и генерирование ключей, делаются
  полностью в броузере. Я бы и личную переписку бы не доверил этому, а
  тут речь про голосование. Это шутка?
* Ну и главное: нигде не нашёл как и где посмотреть какие "блокчейн"
  сервера где используются и можно ли реплицировать с них данные и
  следить за цепочкой. Очевидно что нет. Поэтому... как вообще узнать то
  что задействовано более одного сервера или это просто модные слова на
  страничке для современных хипстеров? Более того, очевидно что все эти
  сервера под контролем одних и тех же лиц, поэтому изменять цепочку
  можно как угодно. А учитывая что в ней нет никаких настоящих подписей,
  кроме эфемерных ключей сгенерированных в броузере, то... всё это
  какая-то полнейшая туфта
* А ещё "забавно" что SMS используется для получения бюллетеня. Штука
  вообще небезопасная по определению

Блин, вот в ФСБ работает много конченых параноиков. Требований к
серьёзным УЦ, каким нибудь паспортам и кучей других систем -- выше крыши
и всё тип топ. Но вот подобные системы голосования типа, считается,
нормально использовать -- где нет никакой анонимности и вообще хоть
какого-то настоящего учёта голосов, которым и крутить то можно как
захочешь. Никакой возможности "аудита" (хотя бы репликации "блокчейна"),
никаких распечатываемых журналов. Ну а прошлогоднее голосование
электронное продемонстрировало что даже и подпись то разработчики этих
систем не в состоянии были сделать (насколько помню, что-то типа 256
битного ключа использовалось). Но это наверное не влияет на
госбезопасность и поэтому уже не в их ведении, не под их контролем.

С одной стороны вот в РФ всё замечательно и куда более продвинуто чем в
остальном мире, а с другой -- просто стыдно за такой срам и лохотрон
бессовестный.

4 years agoСадоводство (gardening) в FOSS мире
Sergey Matveev [Tue, 23 Jun 2020 08:54:29 +0000 (11:54 +0300)]
Садоводство (gardening) в FOSS мире

https://github.com/golang/go/wiki/Gardening
Термин "gardening" в Go забавно применяют к FOSS проектам:

    ... the background maintenance tasks done to keep the project
    healthy & growing & nice looking

4 years agoScummVM с Glk и Frotz
Sergey Matveev [Mon, 22 Jun 2020 22:00:34 +0000 (01:00 +0300)]
ScummVM с Glk и Frotz

https://www.scummvm.org/news/20200622/
Я готов расплакаться от того, какие же молодцы в ScummVM!!! Это ж целый
огромнейший мир IF игр станет доступным в нём! По сути я почти во все
квесты проиграл именно в ScummVM. Особняком стоит ResidualVM для Grim
Fandango. Возможно я в нём ещё в Longest Journey сыграю (проверял --
работает). Но если я ещё на IF-ы подсяду конкретно, то это просто
потрясающе что всё в одном месте. Особенно радует что там будет Glk,
который у меня вроде очень проблематично было его собрать.

С другой стороны, я не уверен что играть в IF-ы без графики в
графическом ScummVM это хорошая идея. Ибо я при этом постоянно
параллельно делал заметки и рисовал карты (в виде кода для ifm).
Можно конечно окно ScummVM держать рядом с терминалом, но... какой
смысл, если мне проще запустить Frotz сразу же в терминале?
Но для IF-ов где есть графика это точно будет полезно. Просто мне
таких попадалось, в которые я пробовал/хотел играть, всего лишь
наверное пара штук.

4 years agoМатвеевых развелось просто ужас
Sergey Matveev [Mon, 22 Jun 2020 18:29:42 +0000 (21:29 +0300)]
Матвеевых развелось просто ужас

Когда я работал в ivi, то было время когда среди нескольких десятков
человек на этаже, было 8 Сергеев. Можно с чистой совестью почти по
любым вопросам послать к Серёге или сказать что это Серёга.

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

А недавно знакомая сообщила что у них в ИТ-отделе появился тоже СМ и
она даже на меня подумала сначала.

4 years agoВспомнил XPath
Sergey Matveev [Mon, 22 Jun 2020 17:50:54 +0000 (20:50 +0300)]
Вспомнил XPath

http://www.asciiartfarts.com/
Более десяти лет назад я наверное последний раз трогал XPath. Но вот с
ходу осилил (даже не знал что "xmlstarlet" утилиту переименовали в "xml"):
xml sel --template --value-of "ASCIIArtFarts/farts/fart/content"
Приходится возиться с XML, чтобы получить весь набор ASCII Art Farts :-)

4 years agoQt Sensors -- Grue Sensor Example
Sergey Matveev [Mon, 22 Jun 2020 12:31:38 +0000 (15:31 +0300)]
Qt Sensors -- Grue Sensor Example

https://doc.qt.io/qt-5/qtsensors-grue-example.html
В официальной документации по Qt 5, есть пример с Grue сенсором. Даже
его фотография имеется. Уважуха!

4 years agoWireGuard в OpenBSD
Sergey Matveev [Mon, 22 Jun 2020 05:28:09 +0000 (08:28 +0300)]
WireGuard в OpenBSD

https://www.opennet.ru/opennews/art.shtml?num=53209
Я подписан на рассылку OpenBSD где всё это обсуждалось с самого начала.
По мне так прям совсем не много прошло времени с момента начального
патча, кучи его критики (исключительно всякие особенности OpenBSD),
исправлений и принятия в систему. Если забыть про IPsec, то WireGuard
это однозначно лучший протокол для VPN.

Одно меня коробит: в новости упоминается производительность WG и
isakmpd. Я не смотрел как в OpenBSD устроено, но ESP же наверняка внутри
ядра обрабатывается? Просто и во многих других, не связанных с WG,
статьях сравнивают какой-нибудь strongSwan и ещё что-нибудь. Блин, все
эти демоны участвуют только в handshake -- от них вообще ничего не
зависит в плане пропускной способности.

4 years agoПосмотрел "Телефонная будка"
Sergey Matveev [Sun, 21 Jun 2020 13:48:37 +0000 (16:48 +0300)]
Посмотрел "Телефонная будка"

https://ru.wikipedia.org/wiki/%D0%A2%D0%B5%D0%BB%D0%B5%D1%84%D0%BE%D0%BD%D0%BD%D0%B0%D1%8F_%D0%B1%D1%83%D0%B4%D0%BA%D0%B0_(%D1%84%D0%B8%D0%BB%D1%8C%D0%BC)
Интересный, накаливающийся к концу фильм. Собственно, 99% всего действия
происходит рядом с телефонной будкой. Колин Фаррелл конечно главное в
этом фильме.

4 years agoНачались серьёзные проблемы с клавиатурой
Sergey Matveev [Sun, 21 Jun 2020 10:46:50 +0000 (13:46 +0300)]
Начались серьёзные проблемы с клавиатурой

Симптомы вот буквально аналогичны описываемым в:
https://old.reddit.com/r/MechanicalKeyboards/comments/3whnff/filco_majestouch_2_skipping_keys_on_wired_working/
https://superuser.com/questions/745501/keyboard-suddenly-starts-to-randomly-skip-letters
https://github.com/JackHack96/dell-xps-9570-ubuntu-respin/issues/111
https://www.dell.com/community/XPS/XPS-15-9570-keyboard-skipping-keys/td-p/6092834
и такое ощущение что буквально изо дня в день всё хуже и хуже только
становится. Началось всё примерно с месяц назад, как-раз когда я
8356f2d9f13ed1a29e7a42cca084aac6c9f33518 прочистил клаву -- получается,
что не факт что было связано с волосами в клавиатуре. В общем нажатия
разных клавиш время от времени просто игнорируются и вроде бы иногда
меняется порядок (не исключено что это я опечатываюсь, но... как-то уж
больно часто это стало происходить, чересчур). debug-ом в ядре я вижу
что буквально до драйвера клавиатуры ничего не доходит при этом.
Отключение клавы от USB, подключение -- на какое-то время вроде
исправляет ситуацию. В субботу я грешил а st терминал, убрал пару патчей
и почти целый день оно было без проблем, а потом снова началось. В софте
вообще не припомню чтобы что-то менял/обновлял (кроме st), как и в
железе.

Я обновил BIOS, вынул аккумулятор, пробовал и USB2 и USB3 порты. Может
часам проработать без проблем, а может и сразу же плохо вести. Причём с
родной клавиатурой ноутбука проблемы аналогичны, но они были уже давно
-- но там возможно и тупо "механика" паршива.

Всё что я искал по теме пропадания нажатий почему-то вовсю выводить на
ноутбуки Dell. И в первой ссылке у человека такая же проблема как у
меня, но повторяющаяся только на одном ноутбуке (MacBook какой-то), а на
других -- нет. Но он подтверждает что у него USB контроллер похоже
выходит из строя.

А что ещё забавнее: проблемы начались практически ровно через три года
после его приобретения (a3ce5ba81a5f0e957be7523564d9bd3a95db1702). В
8356f2d9f13ed1a29e7a42cca084aac6c9f33518 я его прочистил -- уже были
проблемы с нажатиями. И я уже хорошо знаком с тем фактом что компании
могут запросто бессовестно встраивать "проблемы" при приближении к сроку
гарантии: в школе мне дарили MP3-CD плеер переносной, с гарантией в год,
и буквально ровно через 365 дней, ровно через год, он просто отказался
включаться (хотя был в идеальном состоянии). И сетевая карта у меня за
последние месяцы стала терять link, чего в первые годы вообще не было
замечено.

В общем, завтра видимо поеду на работу за другой клавиатурой, точно
работающей и посмотрю что будет. Если продолжит "терять" нажатия, то
значит USB контроллер/BIOS/whatever -- дерьмо в этом ноутбуке, и
наверняка это software заложенная проблема. Я пока ещё не исключаю что
возможно USB-кабель клавиатуры как-то стал неисправен. Но если проблема
и с той клавиатурой повторится... похоже вынужден буду приобретать новый
ноутбук (или nettop?), ибо "обойти" стороной его USB контроллер я не
могу, а работать так практически невозможно уже. Ну и... поставлю жирный
крест а табу на покупку техники от Dell. В ссылках народ тоже пишет что
ноутбук за 2k$ имеет проблемы со встроенной клавой и это, мягко говоря,
неприемлемо. Да и в целом проблем с ним уже куча была. Вообще как-то не
особо хочется его конечно обновлять, ибо ведь в остальном, как системник
он вполне себе работает и производительности мне хватает.

4 years agoГлавный храм ВС РФ
Sergey Matveev [Sun, 21 Jun 2020 08:37:53 +0000 (11:37 +0300)]
Главный храм ВС РФ

https://hram.mil.ru/
Про него я читал в новостях, знаю что есть такой, недавно освятили. Но
не смотрел убранство. А тут прислали ссылку на его сайт. По моему, ОЧЕНЬ
красиво в нём. Особенно нравится мне этот зеленоватый цвет стен!

4 years agoНаписал статью: Преимущества и недостатки redo
Sergey Matveev [Sun, 21 Jun 2020 08:33:07 +0000 (11:33 +0300)]
Написал статью: Преимущества и недостатки redo

http://www.stargrave.org/redo-proscons.html
Но, каюсь, наврал я в ней: само собой настоящих недостатков в ней нет.

4 years agoКомпьютерная грамотность
Sergey Matveev [Sun, 21 Jun 2020 07:13:18 +0000 (10:13 +0300)]
Компьютерная грамотность

https://lenta.ru/news/2020/06/21/computer/

    под «компьютерными навыками» подразумевается умение отправлять
    почту, создавать презентации, редактировать фотографии и видео, а
    также создавать программы

Oh shit, а я ни разу в жизни не редактировал видео. Фотографии я
редактировал только из серии: вырезать кусок, сохранить в отдельном
файле. А вот почта действительно было бы очень полезным навыком, ибо в
период самоизоляции, говорят что на предприятиях люди так и не
справились с почтой и поэтому работа особо не шла у них удалённо.

4 years agoПрослушал TesseracT альбом Sonder 2018-го года
Sergey Matveev [Fri, 19 Jun 2020 10:36:39 +0000 (13:36 +0300)]
Прослушал TesseracT альбом Sonder 2018-го года

https://en.wikipedia.org/wiki/Sonder_(album)
Их предыдущий Polaris мне не понравился совсем. А этот очень и очень
даже ничего. Всё равно One меня куда больше впечатлял и только его я
регулярно ставлю снова и снова. Этот всё же точно ещё буду
переслушивать.

4 years agoОпрос о шрифтах для эмулятора терминала
Sergey Matveev [Fri, 19 Jun 2020 10:22:43 +0000 (13:22 +0300)]
Опрос о шрифтах для эмулятора терминала

https://www.linux.org.ru/polls/polls/15670412
Даже забавно, но я голосовал за самый непопулярный :-). Вообще я
использую не Inconsolata-g, а Inconsolata-UGC, но это хоть как-то
рядом. Для себя лучше него я ничего не находил. Но Iosevka тоже
хороша.

4 years agoIF Quake
Sergey Matveev [Thu, 18 Jun 2020 20:33:20 +0000 (23:33 +0300)]
IF Quake

https://web.archive.org/web/20040624193730/http://loonyboi.com/if/quake/about.htm
Оказывается есть Quake переделанный под IF! Действительно работает под
тем же Frotz-ом, играется, стреляется, повторяет уровни Quake.

4 years agoPlanetfall, Mind Forever Voyaging и Velvet
Sergey Matveev [Thu, 18 Jun 2020 19:48:35 +0000 (22:48 +0300)]
Planetfall, Mind Forever Voyaging и Velvet

https://en.wikipedia.org/wiki/Violet_(computer_game)
https://en.wikipedia.org/wiki/Planetfall
https://en.wikipedia.org/wiki/A_Mind_Forever_Voyaging
Дослушал до конца пока все выпуски Eaten By A Grue подкаста. И впервые я
не стал слушать spoiler часть у выпуска с Mind Forever Voyaging и с
Planetfall. Я решил что за лето должен пройти эти две игры и думаю что
очень не пожалею об этом.

Mind Forever Voyaging -- среди всех 35-ти выпусков, так восторженно не
говорили ни об одной, насколько мне не изменяет память. И один из
ведущих проходил её будучи подростком и считает что её любой сможет до
конца осилить. Это подкупает, ибо даже в GET LAMP документалке, многие
кто увлечён IF-ами и их проходят, признаются что при этом многие они так
и не прошли до конца.

Среди игр для тех кто хочет начать играть в IF-ы, однозначно в оба
голоса ведущие не рекомендуют Infocom, ибо они сложны. Они круты, но
сложны, особенно для новичка. И уже не раз слышал что первым делом
рекомендуют Lost Pig. Его я проходил и он мне понравился, время не
потеряно зря, много fun-а. И ещё я не могу забыть Spider And Web
(12c1444d382c87f220eb6a376b3d509b732a9c19) -- это просто атаснейший
опыт, ну и новичку, типа меня, её можно пройти. Так вот, среди
рекомендаций "для начала" упомянули Violet, даже сказали что её
обязательно стоит и в подкасте будет рассмотреть. Violet вообще из одной
комнаты состоит. С неё и начну.

А сегодня я прослушал предпоследний их выпуск про Planetfall. Именно про
неё я очень жаждал его. В общем, это наверное чуть ли не лучшая из
Infocom игр, с массой юмора. В неё я уже играл и даже писал для помощи с
этим софт и узнал про interactive fiction mapper-ы. Открыл я наверное
только пятую часть комнат, но потом, насколько помню, из-за нехватки
времени остановился играть. Плюс я играл в оригинал, где нужно есть. А
оказывается есть версия в которой это выпилено -- её и рекомендуют
ведущие подкаста, ибо и им самим не нравятся подобные ограничения. Судя
по подкасту, это просто потрясающая игра, как и Mind Forever Voyaging. И
обе от одного автора.

И пока я это писал, то в новостях какой-то ролик про PlayStation 5
увидел и посмотрел. Вот... вообще не притягивают меня игры современные.
Несколько лет назад я очень хотел сыграть в Doom (4) и даже думал что
может быть мне компьютер игровой приобрести. Но... поиграл я у друга в
гостях. Да, неплохо, старый добрый мясистый Doom. Но после я понял что
пройду, а дальше точно не захочу проходить заново например и заброшу. А
вот троица IF игр прям притягивает, тем более что я уже имею очень и
очень приятный опыт с IF-ами.

Ну а после этих, надо браться за Counterfeit Monkey.

4 years agoredo-c всё же не идеален
Sergey Matveev [Thu, 18 Jun 2020 15:06:08 +0000 (18:06 +0300)]
redo-c всё же не идеален

Даже в моём маленьком проекте на C, redo-c всё же одну цель (asn1Parser
генерирующий .c файл), от которой зависит только одна другая, почему то
берётся собирать по два раза, если его распараллелить. Не собрать то,
что надо собрать -- недопустимо и уж лучше пересобрать, если есть
сомнения, тут спору нет, но в моём случае уж всё точно очень просто и не
явно почему он собирает цель дважды. Lock-ов что-ли каких-то не хватает
-- не знаю уж. Да и лень как-то разбираться, поэтому пока снова иду на
apenwarr/redo.

4 years agoСамая повлиявшая на меня цитата
Sergey Matveev [Wed, 17 Jun 2020 11:47:16 +0000 (14:47 +0300)]
Самая повлиявшая на меня цитата

Точнее это диалог из книги "Санта-Хрякус" Терри Пратчетта. После него, у
меня явно куча нейронов в голове замкнулась и я на многие вези прям
совершенно по другому стал смотреть. Тут внучка Смерти говорит с ней.

Сюзан: теперь, скажи мне...
Смерть: Что произошло бы, если бы его не спасла?
Сюзан: Да.
Смерть: Солнце не взошло бы.
Сюзан: Правда? И дальше что?
Смерть: Мир освещал бы простой шар горящего газа.
Сюзан: Ну хорошо, я все-таки не дура. Ты намекаешь, что люди без
    фантазий просто не могут? Что они просто не выживут, для них
    это как розовые пилюли?
Смерть: Нет. Людям нужны фантазии чтобы оставаться людьми. Чтобы было
    место, где падший ангел может встретиться с поднимающимся на ноги
    приматом.
Сюзан: Зубные феи? Санта-Хрякусы? Маленькие...
Смерть: Да. Исключительно в качестве практики. Для начала следует
    научиться верить в маленькую ложь.
Сюзан: Чтобы потом поверить в большую?
Смерть: Да. В справедливость, сострадание, уважение и все остальное.
Сюзан: Но это же не одно и то же!
Смерть: Ты так думаешь? Тогда возьми вселенную, разотри еЕ в мельчайший
    порошок, просей через самое маленькое сито и покажи мне атом
    справедливости или молекулу жалости. И тем не менее, ты поступаешь
    так, словно в мире существует идеальный порядок, словно существует
    справедливость во вселенной, мерками которой можно судить.
Сюзан: Да, но люди должны в это верить, иначе, зачем все...
Смерть: Именно это я и хотел сказать. Вам просто нужно научиться верить
    в то, чего не существует, иначе откуда все возьмется?

Да и вообще его книги на меня, на моё мировоззрение, повлияли как ничьи
другие.

4 years agoКак преподносят одну и ту же новость журналисты и специалисты
Sergey Matveev [Tue, 16 Jun 2020 17:14:41 +0000 (20:14 +0300)]
Как преподносят одну и ту же новость журналисты и специалисты

https://lenta.ru/news/2020/06/16/lamp/
https://www.schneier.com/blog/archives/2020/06/eavesdropping_o_9.html
Журналисты говорят что это дорого:

    данный способ шпионажа является довольно затратным, так как для его
    использования нужны не только особые знания, но и специальное
    оборудование стоимостью около 1000 долларов. Также прослушка
    окажется неэффективной, если нет прямого визуального контакта между
    телескопом и лампой — например, при зашторенных окнах

тогда как Шнайер:

    It's not expensive: less than $1,000 worth of equipment is required.
    And unlike other techniques like bouncing a laser off the window and
    measuring the vibrations, it's completely passive

Вообще очевидно, что тысяча долларов это вообще ни о чём для такой
задачи.

4 years agoEaten By A Grue подкаст говорит что для них изоляция не изменила жизнь
Sergey Matveev [Tue, 16 Jun 2020 09:15:45 +0000 (12:15 +0300)]
Eaten By A Grue подкаст говорит что для них изоляция не изменила жизнь

В очередном прослушенном эпизоде Eaten By A Grue подкасте, его ведущие
начали тему с того, что для них, их знакомых, которые социально
дистанцируются по жизни, самоизоляция на жизнь вообще толком никак не
повлияла. Типа некоторые уже сходят с ума от того что четыре часа сидят
дома... один из ведущих говорит что он так месяцами может сидеть. И им,
как людям проходящим Infocom IF-игры, действительно это всё только на руку.

4 years agoПосмотрел "Перекрёсток Миллера"
Sergey Matveev [Tue, 16 Jun 2020 07:36:23 +0000 (10:36 +0300)]
Посмотрел "Перекрёсток Миллера"

https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D0%BA%D1%80%D1%91%D1%81%D1%82%D0%BE%D0%BA_%D0%9C%D0%B8%D0%BB%D0%BB%D0%B5%D1%80%D0%B0
Потому что хорошие отзывы, плюс братья Коэн. Атмосферный... но вот и всё
что могу сказать хорошего. Мне от начала до конца было дико скучно,
ничего не захватывало и не трогало. Это была потеря времени.

4 years agoМузыка в нашей семье
Sergey Matveev [Mon, 15 Jun 2020 21:51:49 +0000 (00:51 +0300)]
Музыка в нашей семье

Напишу ка я про музыку в нашей семье (меня и родителей).

Мать в целом спокойна к музыке: только в раннем детстве своём помню
чтобы она что-то ставила на проигрывателе/магнитофоне типа какой-нибудь
Пугачёвой или группы Восток. И спокойно относится ко всему что у нас
играет в колонках с отцом. Но на концерт какой-нибудь Metallica, другого
heavy metal или рока может сходить. Собственно, её я на Metallica и
сводил. Пару раз за последние годы была ещё на концерте Пикника.

Отец же у меня со школы рокер длинноволосый, пока в армию не ушёл. Играл
в ансамбле и до сих пор на гитаре дома играет иногда. "Его" музыка это
старый добрый рок типа его любимых Deep Purple, AC/DC и тому прочих. Я
всё детство рос постоянно слыша громко в колонках AC/DC. Плакаты с ними
в туалете и других местах висели. Я бы сказал что рос под них. Отец и я
без музыки вообще не можем ничего делать. Точнее с годами он всё менее
требовательнее уже к ней, но раньше, как я сейчас, никакое дело без
музыки в колонках не будет идти. Уборка по дома, работа над чем-нибудь
руками, паяние (которым он много занимался дома) -- всегда в колонках
какой-нибудь рок ревёт. У меня аналогично. С появлением дачи, если надо
копать яму, то сначала, значит, надо притащить магнитофон, протянуть
удлинитель электрический, потом можно и лопаты достать из сарая. В
машине музыка всегда была, до случая когда мы с ним протаранили две
машины и весь перед всмятку. Отец был за рулём и после этого он долго
вообще не включал в машине музыку -- явно он этого не говорил, но я
думаю потому что посчитал что она его расслабила/отвлекла, хотя в тот
момент он отвлёкся совсем не поэтому. Но, иногда он ставит и сборники
какие-нибудь где есть и современные трэки какой-нибудь Lacrimosa,
Nightwish, какого-нибудь doom метала.

К "моей" музыке или равнодушны родители или просят выключить, если долго
играет при них громко. "Начинал" я с Rammstein, потом Nightwish и кучу
всякого симфо-метала. Потом кучу другого разностороннего метала. Потом
пошёл grindcore, goregrind и кучу смежных и производных. Потом начал
много слушать всякого прогрессив рока, Джими Хендрикса, гитаристов типа
Джо Сатриани и прочих. Грайндкор при родителях особо и не ставлю, да и
копать ямы под него не очень удобно (слишком быстрый темп), но вообще
часами что-нибудь да играет "моего". Потом часами может играть или
что-то отцово или Рок-FM: то, к чему все одинаково хорошо относятся.
Когда мы ездим в Нижний Новгород, то во время поездки меняемся за рулём
и каждый ставит свой CD/флешку со "своей" музыкой. Поэтому отец у меня
прекрасно знает и всякие Behemoth, Marduk, тьму симфо металла и того
прочего. Последний раз мы ехали два часа слушая Red Hot Chilli Peppers:
по идее ни "моя", ни "его" музыка, но ведь они просто реально хороши и
не грузят.

На новый год, который я почти всю жизнь вместе с родителями встречал,
последние года я притаскиваю чего-нибудь "познавательного" для них, типа
Voyager, Solefald, Diablo Swing Orchestra, Major Parkinson, Gorguts и
подобные -- ведь целый день мы вместе занимаемся домашними делами
(уборка, готовка).

В целом мне конечно очень везёт что я с отцом могу сходить вместе на
многие концерты. Он сам очень не прочь был сходить на Diablo Swing
Orchestra (ибо они сильно напоминают про глэм-рок). Был он и на Napalm
Death, сказав что вообще конечно на концерте супер (без сарказма). Был
не по своей воле, а потому что очередная девушка меня кинула, а я взял
билет чтобы вместе с ней сходить на Joe Satriani -- ну он со мной
сходил, хотя Сатриани он недолюбливает. Были и на Dream Theatre и на
Mike Portnoy's Shattered Fortress. Ходил я с ним на Kiss, хотя не моё.
Несколько раз мы с ним ходили на фестивали и концерты где не было ни
его, ни моих любимых групп, но почему бы просто не послушать хороший
отличный метал или рок. Был отец со мной (но я тогда с девушкой был) ещё
и на грайндкор/порнограйнд/горграйнд концерте. В прошлом году, так как
мне выпала командировка в Сирию, я не попал на Merzbow (harsh noise!!!)
и он вместо меня сходил (не пропадать же билету). Но я стараюсь и всех
вместе (плюс тётю взять по возможности) куда-нибудь водить и мы были
семьёй на Rainbow, Metallica, если бы не коронавирус, то побывали бы на
Judas Priest и Iron Maiden с Airbourne-ом. В прошлые годы мы когда с
отцом ходили на Бессмертный полк, то, насколько помню, вроде бы
спонтанно решили после него взять и поехать на концерт Чёрного Кофе
(слышали что он будет в этот день).

Но мы с отцом поняли точно одно: людей которые действительно так
увлечены музыкой как он или я -- мало. В целом народ не тащится по ней,
чтобы ходить по концертам. Просто не раз были случаи когда кто-нибудь
вместе с ним (или со мной) ходит на концерты, говорит что да,
понравилось, здорово, но... это не то же самое "здорово" из серии "да!
да! обязательно пойду в следующий раз!". И это, безусловно, абсолютно
нормально, кому что! Если брать любого рода развлечения типа театра,
кино, концертов и чего-то подобного, то я тащусь только от концертов, а
всё остальное... ну да, неплохо, здорово, но по количеству эмоций и
ощущений ни в какое сравнение с концертами. Отец уже давно даже никого
не пытается звать на концерты -- ибо могут говорить что да, пойду, но в
последний день "сольются". У меня аналогичная ситуация и я перестал уж
кого-либо звать с собой. Кроме себя и отца я знал только одного коллегу
из ivi, который тоже действительно увлечён музыкой и мы с ним не раз
ходили вместе на концерты. Но этот коллега переехал из Москвы, поэтому
хожу или один или с отцом если что-то подходящее.

Ещё он побывал на тех самых Monsters Of Rock, где была Metallica,
Pantera и потрясающие AC/DC! Я ещё в школу не ходил, но до сих пор помню
тот день когда он вернулся с этого концерта. Встречаем с матерью его в
дверях, а у него на лице буквально улыбка до ушей. Мать о чём-то
спрашивает, а он буквально не слышит, ибо он стоял рядом с этими
колонками, которые озвучивают всё Тушино, и поэтому на какое-то время
потерял сильно слух. Но его довольное лицо я помню вот спустя более чем
четверть века!

Ещё он был на бесплатном крупном концерте в 90-х (вроде бы на Красной
Площади), где были Red Hot Chilli Peppers -- только они мне почему то
запомнились. А ещё помню, что когда Пол МакКартни выступал на Красной
Площади, там где Путин приходил его слушать, то он с матерью спорил по
поводу билетов. Уж не помню почему, но купить можно было только билет
минимум за сотню долларов, что были для нашей семьи тогда *очень*
нехилые деньги. Типа на себя то он пускай берёт, всё же это МакКартни,
но на меня она не разрешила брать, типа слишком удар по семейному
бюджету. Я только спустя годы всё же понял отца почему он так этого
хотел -- ибо сейчас пожалеешь деньги, а потом возможно будешь всю жизнь
кусать локти от того что не сходил. Я бы наверное также бы поступил и не
скупился бы по возможности на такие события, если они, само собой,
играют весомую роль в жизнь. Но тогда у нас наверное действительно этих
денег не было и пришлось бы влезать в долги.

Касательно "весомой роли в жизни". Мы в прошлом году обновляли с ним
водительские права и вместе ходили по всяким психологам и другим
инстанциям. Психолог за закрытой дверью спрашивает каждого "какие
увлечения в жизни есть?" (ну или что-то типа того). Я пошёл после отца.
Ответил что "музыка и работа" -- она засмеялась и спросила не
сговаривались ли мы с отцом в ответах? Ибо он точно в таком же порядке и
точно также ответил, сказала она.

Кстати на Rival Sons и Airbourne мы с ним пошли на свой страх и риск и
только потому что он услышал рекламу про них на Рок-FM. С Rival Sons,
которых представляли как, уже забыл, но типа новых Led Zeppelin, мы
разочаровались по полной, ожидания не оправдались, но, в любом случае,
потерей времени это не было. А вот Airbourne нас поразил как мы и не
могли бы подозревать. На самом деле я брал билеты на тётю и родителей не
на Iron Maiden в первую очередь, а на Airbourne которые там тоже должны
были выступать. Рок-н-ролл каким он должен быть!

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

Но один раз на даче было что я не выдержал "его" музыки. Мою то не раз
просили вырубить, типа слушать два часа грайндкора или какого-нибудь
black metal, понимаю, может уже напрягать. Но как-то отец поставил
Розенбаума. Вообще из чего-то отечественного, в плане рока, у нас дома
наверное только Динамик и Кузьмин играли. Но и то, это в моём детстве. А
тут (это вроде в 2010-х было) он поставил Розенбаума. Я слышал конечно
про него, но не более. А так как музыки то у него нет -- у него песни со
словами, то, волей-неволей, слушал их, пока мы с отцом что-то там
делали. И там сплошные песни про уголовщину, поножовщину и всякую
тюремную тему шли. Помню что на "перо под ребро" в какой-то из песен я
просто уже не выдержал. Откровенно совершенно не понимаю как здоровый
нормальный законопослушный человек может это слушать? Если ты сидел --
пойму, никаких претензий. Если ты связан и тусил с преступниками и
уголовниками, то тоже пойму, нареканий нет. Если ты подросток, то вообще
нормально слушать про что угодно. Но в нашей семье (и среди
родственников) то, никто никогда не сидел, с этим тюремным миром вообще
не связан. Отец -- один из самых эрудированных и умнейших людей которых
я в живую знал и знаю, инженер из космической отрасли, ракетостроения,
сейчас на нём, считай, целая компания держится (его коллеги директору
говорили, что если он уйдёт, то весь отдел проектирования можно
распускать, а что компании без него делать?): и тут он слушает про перо
под ребро. Бывают многие семьи которые считают что в СССР каждый второй
сидел и поэтому тюремная и уголовная тематика типа близка каждому должна
быть: мы не из таких. Розенбаума при мне больше не ставил. Не, какую-то
мою музыку он тоже просит выключить, и я тоже её не ставлю при нём, но
там уже с музыкальной точки зрения она его бесит.

А из чего-то российского у нас похоже только Пикник и Чёрный Кофе дома
или в машине играли и на концерты ходили. Всё же русский рок это про
песни, про слова, не про музыку. Хотя мы с ним на Бориса Гребенщикова
ходили... поняли что больше не пойдём, но зато познакомились в живую с
его творчеством, не наше.

4 years agoredo-c правки
Sergey Matveev [Mon, 15 Jun 2020 18:42:32 +0000 (21:42 +0300)]
redo-c правки

Мне не понравилось что в redo-c, если включать отлов stdout (как это
предлагает DJB, канонично), то цели ничего не выводящие всё равно
создают пустой файл. В принципе, всё честно, но поведение apenwarr/redo
приятнее куда больше, меньшим мусором. Но я же теперь C программист :-)!
Открыл, нашёл, поправил, перекомпилил -- задача решена одним if-ом.
Кроме того, коробит меня от SHA256: пять минут, и заменил его на BLAKE2b.

4 years agoЧтение GoogleGroups и Reddit
Sergey Matveev [Mon, 15 Jun 2020 16:12:14 +0000 (19:12 +0300)]
Чтение GoogleGroups и Reddit

Из коробки первых не прочтёшь вообще, без JavaScript, а вторые ужасно
убоги и читаются только в Lynx хоть как-то. У одного человека в блоге
увидел что если заменить в
https://groups.google.com/forum/#!topic/stackage/4PLy1fYtsps
"#!topic" на "print/topic", то всё будет прекрасно показываться:
https://groups.google.com/forum/print/topic/stackage/4PLy1fYtsps
А для Reddit как-то коллега подсказал, что если "www." в домене заменить
на "old.", то всё будет в "старом" стиле, то бишь вменяемом HTML.

4 years agoПопробовал redo-c и redo-sh
Sergey Matveev [Mon, 15 Jun 2020 15:50:08 +0000 (18:50 +0300)]
Попробовал redo-c и redo-sh

http://news.dieweltistgarnichtso.net/bin/redo-sh.html#implementation-comparison
https://github.com/leahneukirchen/redo-c
Сравнение различных реализаций redo уже устарело, так как некоторые
моменты уже профикшены. Nils Dagsson Moskopp's redo меня быстро послал,
сказав что мне надо или GNU stat иметь или ещё пару каких-то команд на
выбор, но в FreeBSD ничего из этого не идёт штатно, поэтому до свидания.
А вот redo-c очень клёвый: менее 1k строк кода чистейшего C с SHA256
реализацией внутри, без зависимостей, 27KB в скомпилированном состоянии,
держит даже распараллеливание заданий (реально работает). Всё что я
написал для apenwarr/redo -- заработало без проблем из коробки (ну ok,
надо было указать чтобы он stdout сохранял, благо отдельная опция для
этого имеется). Хранит всё в файлах рядышком, без SQLite3 (хотя я особо
то против него ничего не имею и мне даже нравится что state-ы находятся
в одном месте). Прям выглядит как эталонная полная реализация (всякие
-f, -x имеются).

А ещё я впервые пользовался интерактивным git clean, как раз чтобы
подчистить на redo-c. Интерактивый нужен чтобы кое что осталось, что не
под управлением git-а. На раз два делаются исключения -- очень удобно!

4 years agoНу очень мне понравился redo
Sergey Matveev [Mon, 15 Jun 2020 09:24:43 +0000 (12:24 +0300)]
Ну очень мне понравился redo

Всего второй день вожусь с redo, но чем дальше, тем больше и больше мне
он нравится! Немного его рекламы:

* Может делать всё что делает make. При этом с одинаковым поведением
  везде, вне зависимости от десятков диалектов разносторонних Make
* Без hard-coded предположений о том что вы там собираете
* С гораздо меньшим количеством кода (redo можно в 100 строк POSIX shell
  написать)
* С возможностью большого параллелизма сборки
* С чётко и точно управляемыми зависимостями между целями
* С отсутствием специфичного синтаксиса/нового языка: по сути -- всё
  есть /bin/sh, хотя без проблем можно использовать и любой другой язык
* С поддержкой и рекурсии и полной информации о зависимостях
  одновременно (без "Recursive Make Considered Harmful" дерьма)
* Создание зависимостей на основе C заголовочных файлов -- теперь
  абсолютно адекватно и очень просто
* Используются checksum-ы, вместо timestamp-ов, гранулярность которых --
  огромная проблема и они плохо работают в мире где есть NFS, mmap,
  VCS, FUSE, быстрые компьютеры, выполняющие много задач в пределах
  одной секунды, нестабильные часы. Для хранения checksum использует БД
* Цели собираются атомарно -- битые/недоделанные файлы не будут
  считаться успешно выполненными целями, как это было бы в Make
* Легко делать зависимости от параметров сборки, от конфига и
  предоставленных опций, что в Make проблематично
* Очень удобно что явный вызов redo TGT всегда приводит к сборке этой
  цели, аналогично если бы она была .PHONY. В Make проблематично делать
  цели которые иногда хочется чтобы были PHONY, с другой, чтобы при
  участии в качестве зависимостей не были бы

Если документация для POSIX shell это 22 экрана у меня в lynx, то в redo
вообще всего несколько понятий можно назвать, полностью описывающие его
возможности:

    redo-ifchange, redo-ifcreate, XXX.do, default.XXX.do, $1/$2/$3, .redo

Это все термины которые в нём можно встретить. .redo -- state, для
хранения checksum и действий (вообще в одной из реализаций которую я
использовал, state хранится в куче файлов, так что это implementation
specific). $1/$2/$3 -- аргументы с которыми вызываются XXX.do файлы.
default.XXX.do -- цель, вызываемая в качестве fallback-а. redo-ifchange
-- собирает текущую цель, если зависимости изменились. redo-ifcreate --
аналогично, но если появились (а не изменились) указанные файлы.

DJB всё же гений! Мало того, что как криптограф он создал алгоритмы
которые хочется везде и всюду применять: Salsa20, Poly1305, *25519,
SipHash (ну не только он один его сделал), NaCl, так ещё и чисто в
программерских/технических задачах он крут: maildir, Mail-Followup-To,
redo, daemontools (выглядит тоже до гениальности просто и решает
важнейшие задачи для демонов), DNSCurve (это то, что обязано быть вместо
DNSSEC), CDB (формат БД, который Postfix например может использовать).

Причём daemontools я видел и трогал только вскольз, запуская curvedns
демон -- надо будет поближе присмотреться, глядишь, будет очередной
killer проект от DJB.

4 years agoGithub избавляется от master веток
Sergey Matveev [Mon, 15 Jun 2020 09:15:35 +0000 (12:15 +0300)]
Github избавляется от master веток

https://www.opennet.ru/opennews/art.shtml?num=53156
Ну это просто какой-то кровавый ёб@#%й п@#$%ц, ибо других слов у меня не
находится. Какой-то мудак решает быть солидарным с другими мудаками и
поэтому толкает свои пиндосские идеи миллионам людей. Под это прогнулись
и ZFS и Go (который на главной странице эту мудацкую тему публикует) и
куча других проектов. Крайне печально всё это. Ну в этом, конечно, вся
суть любого американца (лицемера в крови), понятное дело, но должны же
быть пределы разумного уж в технических проектах где умные люди сидят?

4 years agoКто хочет стать миллионером: гугол
Sergey Matveev [Mon, 15 Jun 2020 09:12:53 +0000 (12:12 +0300)]
Кто хочет стать миллионером: гугол

https://lenta.ru/articles/2020/06/15/charles/
Вопросом финальным на миллион фунтов был "Как называется число,
состоящее из единицы и сотни нолей". А я с ходу знаю ответ на него.
Хотя узнал про него от коллеги, скинувшем статью про число Грэма
очень впечатляющую 0d57d9f1631eb9ff4731f96ef739f767e502a886
https://ru.wikipedia.org/wiki/%D0%A7%D0%B8%D1%81%D0%BB%D0%BE_%D0%93%D1%80%D1%8D%D0%BC%D0%B0

4 years agoПопробовал redo систему сборки
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 нравится. Прям
яростное желание активно его и дальше начать впиливать!

4 years agoAirbourne гитарное соло
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 про защиту природы поёт много).

4 years agoОткрытие результатов grep-а
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).

4 years agoOpenZFS избавляется от слова "slave"
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 проекте. Его недавно в
рассылке огласили, оригинал забыл, но суть такая: не нервируй Тео.

4 years agoНачал активно использовать :G в Vim fugitive плагине
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"!

4 years agoСнова про screencasting
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:

    $ ls -l *.mkv
    -rw-------  156099086 /home/stargrave/tmp/ffv1.mkv (32 sec)
    -rw-------  700312881 /home/stargrave/tmp/ffvhuff.mkv (27 sec)
    $ du *.mkv
    152405  ffv1.mkv
    100688  ffvhuff.mkv

Таким образом, команда для записи со звуком какая-то такая получается:

    ffmpeg -f x11grab -video_size 1920x1080 -framerate 15 -i :0 \
           -f oss -i /dev/dsp0.0 \
           -codec:v ffvhuff -codec:a pcm_s16le out.mkv

А перекодировать в lossless VP9 можно так:

    ffmpeg -v quiet -i out.mkv -f yuv4mpegpipe -pix_fmt yuv444p - |
    vpxenc --codec=vp9 --profile=1 --i444 --lossless=1 --threads=2 \
        --passes=2 --pass=$pass --fpf=out.log \
        --output=out.vp9 -

Сохранение потока в 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

4 years agoПопробовал zsh-history-substring-search и улучшил свой поиск
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.
Возможно я чего-то недопонял и недоувидел, но я честно за ним просидел
прилично времени.

4 years agoВ примерах ffmpeg документации перекодируют "Большой куш"
Sergey Matveev [Thu, 11 Jun 2020 22:32:51 +0000 (01:32 +0300)]
В примерах ffmpeg документации перекодируют "Большой куш"

Только сейчас заметил с их официальной доке:

    ffmpeg -i snatch_1.vob -f avi -c:v mpeg4 -b:v 800k -g 300 -bf 2 -c:a libmp3lame -b:a 128k snatch.avi

4 years agoСпросили про моё мнение BSD 2-clause, MIT, GPL лицензий
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.

4 years agoМой zsh prompt и Vim statusline
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-ом, ибо
я не всегда точно помню с чего начинается команда, но помню её примерные
опорные слова.

          ------------------------ >8 ------------------------

В Vim мой текущий statusline вот такой (только одно "LN" поле у меня
заполняется внешними средствами, а всё остальное -- встроено в Vim):

    ~/work/blog/.git/COMMIT_EDITMSG [+] ^^^^^^^^ 1 [GITCOMMIT][utf-8 unix][31/37][43-31:0x03A][2324][LN][73%]

На самом деле тут (кроме "[+]") нет ни одного "[", "]" -- я так пометил
области выделенные разными яркими цветами. Во-первых, это хорошо заметно
и быстрее позволяет навигации глазами. Во-вторых, экономит ощутимо места
на экране, ведь тут много полей. Место становится важно когда открыто
несколько 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-ы в конце показываются ярким зелёным цветом, чтобы бить в
глаза ими. Табы отображаются ">→→→→→→→" символами -- я могу визуально
сосчитать кол-во табов, если захочу.