]> Sergey Matveev's repositories - stargrave-blog.git/log
stargrave-blog.git
3 years agoОбозрение компьютера с Байкал процессором
Sergey Matveev [Thu, 19 Aug 2021 19:48:47 +0000 (22:48 +0300)]
Обозрение компьютера с Байкал процессором

https://16-bits.ru/%d0%bf%d0%be%d1%81%d0%bc%d0%be%d1%82%d1%80%d0%b8%d0%bc-%d0%bd%d0%b0-%d0%ba%d0%be%d0%bc%d0%bf%d1%8c%d1%8e%d1%82%d0%b5%d1%80-%d0%b1%d0%b0%d0%b9%d0%ba%d0%b0%d0%bb/
Тоже маленький и аккуратный корпус. Не поторопился ли я с Intel NUC :-)?
Но Байкал это MIPS32 и, соответственно, с FreeBSD и, тем более, ZFS
большие вопросы. Плюс у Байкалов абсолютно вменяемая цена.

Но... в видео показано что процессор там AArch64. А об этом я совсем
забыл что Байкал делает и ARM ещё. Это уже более интересно выходит, ибо
дальше ARM-ы точно будут завоёвывать мир desktop/server.

3 years agoПрочитал "Тим Талер, или проданный смех"
Sergey Matveev [Thu, 19 Aug 2021 07:46:00 +0000 (10:46 +0300)]
Прочитал "Тим Талер, или проданный смех"

https://ru.wikipedia.org/wiki/%D0%A2%D0%B8%D0%BC_%D0%A2%D0%B0%D0%BB%D0%B5%D1%80,_%D0%B8%D0%BB%D0%B8_%D0%9F%D1%80%D0%BE%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%81%D0%BC%D0%B5%D1%85
Не знаю детская ли это книга или нет, но я бы был в восторге
познакомившись с нею в детстве! Очень понравилась. Хотя я уже в самом
начале задался вопросом "а почему, собственно, не поспорить что он
вернёт себе смех?" -- который был задан только в конце книги и поразил
Тима простотой.

3 years agoSurveillance is privacy
Sergey Matveev [Tue, 17 Aug 2021 19:09:40 +0000 (22:09 +0300)]
Surveillance is privacy

https://irreal.org/blog/?p=9914
Как в 1984:
    WAR IS PEACE
    FREEDOM IS SLAVERY
    IGNORANCE IS STRENGTH
так и Apple пытается доказывать что её CSAM
(2afb4b4e77f8bb47a327093a40da1db72eb5757b) это про приватность и безопасность.

3 years agoУ Gutalax-а жду новый альбом
Sergey Matveev [Tue, 17 Aug 2021 08:38:47 +0000 (11:38 +0300)]
У Gutalax-а жду новый альбом

http://www.hitkiller.com/nakonec-to-dushevnaya-muzyka-gutalax-vypuskayut-novyj-albom.html

    Кальные черви и анальные трематоды покинут уличные портативные
    туалеты да проползут коричневым маршем по улицам городов, встречая
    долгожданный третий альбом ансамбля интеллектуальной музыки GUTALAX
    под названием The Shitpendables.

    «Я ношу кусочки крайней плоти вместо носков», «Вагиноапокалипсис»,
    «Poopcorn», «Жопный человечек», «Тяжеловесный пердеж», «Охотники за
    говновидениями», «Backdoor Boys»: утонченные шутки, искрометные
    образы, нестандартные музыкальные решения, головокружительные
    соло-партии, восхитительные воКАЛьные комбинации — все это чехи
    готовы отсыпать с лихвой, и кто бывал на их выступлениях в последние
    годы, часть нетленок уже успели оценить в живом исполнении, весело
    потряхивая над головой ершиком.

Бывал, бывал на их выступлениях, всё так, подтверджаю!

3 years agoАфганцы избавляются от своего цифрового следа
Sergey Matveev [Tue, 17 Aug 2021 07:24:53 +0000 (10:24 +0300)]
Афганцы избавляются от своего цифрового следа

https://www.wired.co.uk/article/afghanistan-social-media-delete
А ведь, уверен, годами прежде каждый как попугай говорил что "мне нечего
скрывать!", "да кому я нужен?".

3 years agoСтал внимательнее относится к mtime файлов
Sergey Matveev [Mon, 16 Aug 2021 18:14:54 +0000 (21:14 +0300)]
Стал внимательнее относится к mtime файлов

Когда сделал зеркало пары подкастов которые слушаю:
http://www.podcast.mirror.cypherpunks.ru/ то как-то понял важность
корректной метаинформации у файлов. Сейчас вот пересжимаю одним архивы
(.zip -> .tzst), а время то при этом потеряется, даже просто при
выполнении привычного "cp -r". zstd сохраняет всё как надо, "cp -a"
тоже, но обо всём это надо помнить.

3 years agoRealtek сетевухи
Sergey Matveev [Mon, 16 Aug 2021 17:49:59 +0000 (20:49 +0300)]
Realtek сетевухи

https://www.ctrl.blog/entry/realtek-nic.html
И вот тут пишут что опыт с ними очень печальный, особенно под свободными
ОС, где драйвера без шаманства, скрывающего проблемы железа. Ещё одна
причина почему я выбрал Intel NUC, а не какой-нибудь Gigabyte Brix
(9416c9107901f55b6337eb2c4115258d9f1381aa). Как в середине 2000-х с ними
были проблемы, так и сейчас остаются. Дешёвая фигня.

3 years ago.home.arpa
Sergey Matveev [Mon, 16 Aug 2021 17:45:52 +0000 (20:45 +0300)]
.home.arpa

https://www.ctrl.blog/entry/homenet-domain-name.html
https://www.rfc-editor.org/rfc/rfc8375.html
Не слышал про такой домен, в отличии от .local. Надо намотать на ус.
Хотя я локально использую .lan.stargrave.org.

3 years agoНельзя просто так взять и вернуть абсолютное значение
Sergey Matveev [Mon, 16 Aug 2021 10:34:48 +0000 (13:34 +0300)]
Нельзя просто так взять и вернуть абсолютное значение

https://habr.com/ru/post/573080/
Нужно то всего навсего сделать И 0x7fffffffffffffff. И это на
высокоуровневой Java. Ну как не полюбить программирование после этого?

3 years agoСтроители-перкуссионисты на ВДНХ
Sergey Matveev [Sun, 15 Aug 2021 18:30:20 +0000 (21:30 +0300)]
Строители-перкуссионисты на ВДНХ

https://www.youtube.com/watch?v=o6t4hGzZyDs
Уже пятый или шестой раз застаю их выступление. На видеозаписи не слышно
как мощно на самом деле "бас-бочка" фигачит: даже сидя в маршрутке ногами
ощущается вибрация. Когда санкции перекроют доступ к компьютерам и
музыкальным инструментам, то с перкуссией проблем не будет.

3 years agoВакансия TikTokера
Sergey Matveev [Sun, 15 Aug 2021 17:57:20 +0000 (20:57 +0300)]
Вакансия TikTokера

https://moslenta.ru/news/v-moskve-obyavili-o-poiske-specialista-po-tiktok-s-zarplatoi-250-tysyach-rublei-15-08-2021.htm
Буквально в субботу, пока сидел в маршрутке, видел как всю поездку
женщина смотрела этот TikTok. Я впервые по сути увидел что же это такое.
Бесконечно ролик за роликом показывают очень короткие... кривлянья людей
на камеру. Вот когда я по телевизору (в гостиницах, у родителей) вижу
какую-нибудь передачу "+100500", где полно смешных роликов из YouTube,
то там можно временами и живот надорвать. Но у женщины на смартфоне
буквально ничего не увидел чтобы улыбнуло или зацепило или вызвало хоть
какую-либо эмоцию кроме "на это реально люди готовы тратить время?". Ok,
звук я не слышал и возможно там соль в том что люди говорят/поют, но
большие сомнения.

3 years agoПриехал Intel NUC
Sergey Matveev [Sun, 15 Aug 2021 17:38:16 +0000 (20:38 +0300)]
Приехал Intel NUC

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

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

В общем, жду память. Пока впечатление от NUC очень приятное, хотя он мне
только лампочкой поморгал, сообщая об отсутствии памяти.

3 years agoКонец medium.com
Sergey Matveev [Sun, 15 Aug 2021 15:56:27 +0000 (18:56 +0300)]
Конец medium.com

Недавно они начали показывать только начало статьи. А дальше читать
только подгрузив её через JavaScript. Придётся зачищать все свои
RSS/Atom и убирать medium.com, ибо чисто технически невозможно прочитать.
А ведь там довольно много всего было.

Когда начал подчищать, то обнаружил что всё же не все статьи с
medium.com так устроены -- некоторые можно полноценно увидеть.

3 years agoПосмотрел в кинотеатре "Кто подставил кролика Роджера"
Sergey Matveev [Sun, 15 Aug 2021 08:43:09 +0000 (11:43 +0300)]
Посмотрел в кинотеатре "Кто подставил кролика Роджера"

https://ru.wikipedia.org/wiki/%D0%9A%D1%82%D0%BE_%D0%BF%D0%BE%D0%B4%D1%81%D1%82%D0%B0%D0%B2%D0%B8%D0%BB_%D0%BA%D1%80%D0%BE%D0%BB%D0%B8%D0%BA%D0%B0_%D0%A0%D0%BE%D0%B4%D0%B6%D0%B5%D1%80%D0%B0
На Арбате в кино временами показывают старые фильмы. Шёл за компанию, а
не потому что я такой поклонник этого фильма. Но фильм люблю, хотя с
детства он у меня запомнился как ОЧЕНЬ стрёмный, тёмный и явно совершенно
не детский. У меня, как ребёнка, был явный диссонанс что вроде бы там
показывают и забавных мультяшных персонажей, но в то же время и мрак с
убийствами. Но снято очень круто -- не до конца понимаю как это всё было
сделано и совмещено в те годы.

Роберт Земекис конечно крутейший режиссёр. За "Назад в будущее" можно
ставить памятник (6acc0f152330059ff86036818c49803f7e8eb2d2). А так у
него прям чередой идут атасные фильмы: Роман с камнем, Назад в будущее,
Кто подставил кролика Роджера, Смерть ей к лицу, Форрест Гамп. Кстати,
вот так совпадение, но вчера же я себе купил бирочку с "mama says i'm
special".

3 years agoТалибы наступают на Кабул
Sergey Matveev [Sun, 15 Aug 2021 08:36:19 +0000 (11:36 +0300)]
Талибы наступают на Кабул

https://lenta.ru/news/2021/08/15/nastuplenie/
Одних террористов сменяют другие. Вопрос только кто из них (США или
Талибан) меньшее из зол. Пишут что Кабульский университет взяли под
контроль -- а ведь в нём когда-то один из моих родственников, Матвеев,
преподавал математику. А вчера, гуляя по Москве, чисто случайно (не
целенаправленно) оказался рядом с посольством Афганистана.

3 years agoСтановлюсь sneakerhead-ом
Sergey Matveev [Sun, 15 Aug 2021 08:25:59 +0000 (11:25 +0300)]
Становлюсь sneakerhead-ом

https://ru.wikipedia.org/wiki/%D0%A1%D0%BD%D0%B8%D0%BA%D0%B5%D1%80%D1%8B
За неделю у меня появились три пары кроссовок. Одну отдали просто так:
достаточно тёплую на осень, с мягкой демпфирующей подошвой. Вчера
приобрёл Nike лёгкие проветриваемые кроссовки с воздушным баллоном в
пятке и Adidas жёсткие крепкие все-из-себя не промокаемые, стой хоть в
воде, которые некоторые носят даже в минусовые температуры.
А слово "sneakers" и "sneakerhead" узнал только вчера.

3 years agoПро атаки на BGP для перенаправления трафика МИДа
Sergey Matveev [Sun, 15 Aug 2021 08:14:48 +0000 (11:14 +0300)]
Про атаки на BGP для перенаправления трафика МИДа

https://habr.com/ru/post/572890/comments/
Интересная статья про то, как ясное-дело-кто перенаправлял трафик МИДа
для его чтения, возможно MitM попыток атак. Все эти возможности не шутки.

3 years agoРазбогатевшие на голых фото
Sergey Matveev [Sun, 15 Aug 2021 08:10:08 +0000 (11:10 +0300)]
Разбогатевшие на голых фото

https://lenta.ru/news/2021/08/15/onlyfans_nurse/
Новости о том, как кто-то бросил работу и начал зарабатывать неплохие
деньги на интимных фото/видео стали регулярны. Для меня это ничем не
отличается от проституции (ad535855e5e2b3b6fc937260418971cdb0d8fd6e).
А новости почти пропагандируют это занятие.

3 years agoПрочитал "Призрака оперы"
Sergey Matveev [Sun, 15 Aug 2021 08:02:17 +0000 (11:02 +0300)]
Прочитал "Призрака оперы"

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%B8%D0%B7%D1%80%D0%B0%D0%BA_%D0%9E%D0%BF%D0%B5%D1%80%D1%8B_(%D1%80%D0%BE%D0%BC%D0%B0%D0%BD)
В целом не понравился. Если бы не конец, с кучей всяких интересностей
подземелья, то вообще не понравился бы. Книга про убийцу, террориста,
захватывающего заложников и Стокгольмский синдром. Про то, что женщины
никогда ничего не договаривают, постоянно что-то остаётся у них
недосказанным. Любят они издеваться подобными вещами и изводить других.
Довольно нудная: запомнился момент с передачей денег через конверт,
который субъективно ужасно долго описывался. Совершенно не согласен со
словами автора в самом конце, где он считает, что призраку можно было
только посочувствовать, не смотря на кучу его жертв, мол ведь он мог бы
то, мог бы сё, мог бы стать великим. Но ведь не стал же! Из-за уродства
он не мог стать многим кем, но нет ни одной причины вынуждавшей его
стать убийцей, нет этому оправдания.

3 years agoDocker монокультура
Sergey Matveev [Fri, 13 Aug 2021 11:33:45 +0000 (14:33 +0300)]
Docker монокультура

https://antranigv.am/weblog_en/posts/2021-08-13-13-37/
Сколько боли у человека от того, что, действительно, разработчики
считают что все вокруг запускают исключительно GNU/Linux, возможно
macOS, в которых стопудово есть Docker. А если это GNU/Linux, то и
APT. Скачал tarball, увидел Makefile, думаешь что наберёшь make и
всё заработает? Конечно, он при этом просто запустит docker. Поэтому
я просматриваю бегло Makefile-ы и с ходу для подобных проектов мог
бы дать оценку стоит ли вообще их пытаться запускать.

Реально очень много софта нового пишется в таком духе.
Вот даже если и захочется использовать -- не получится.
С таким же успехом можно считать что они написаны для Windows.

3 years agoAnalysis paralysis
Sergey Matveev [Fri, 13 Aug 2021 07:34:14 +0000 (10:34 +0300)]
Analysis paralysis

https://kerkour.com/blog/overthinking/
Понравились рассуждения о том что многовато многие думают, проектируют и
анализируют, вместо того, чтобы заняться делом и сделать хоть что-то. Не
раз видел проблему что уйму времени тратят на проектирование. Когда
разрываешь и не понимаешь что лучше, то иногда проще сделать один и
другой вариант и посмотреть на практике что из них выйдет, какие подвохи.
Но есть и примеры, конечно же, когда вообще не думая что-то начинают клепать.
Как всегда: крайности плохи, но проблема "слишком много думания" точно
существует: можно в пустую брехать, но ничего не делать. Ведь даже
Napalm Death обеспокоен ей и поёт про analysis paralysis:
https://www.youtube.com/watch?v=YWTz7730D7Y

3 years agoПоддержка M1
Sergey Matveev [Fri, 13 Aug 2021 07:25:31 +0000 (10:25 +0300)]
Поддержка M1

Почему то не первый день замечаю в новостях о новом софте, что
"добавлена поддержка Apple Silicon/M1". Вот там действительно именно для
этого CPU что-то специфичное добавляется или всё же это просто проверено
что собирается и работает на ARM64? Бегло в некоторых проектах смотрю
changelog, но замечаю только тему про endianness для aarch64. Теперь
начнут все ARM64 обзывать Apple-овыми процессорами?

3 years agoЖенщина-президент в России
Sergey Matveev [Fri, 13 Aug 2021 07:21:00 +0000 (10:21 +0300)]
Женщина-президент в России

https://lenta.ru/news/2021/08/13/pozner/
Прям хоть покидай страну, если дойдёт до такого. Но я слабо в это верю.
"Женщины менее агрессивные и более договорные" -- вот именно: они зато
самые подлые существа, продажные и подкупные, ненадёжные, самые жестокие
из существующих видов, бессовестные и не знающие ничего о чести. Сколько
живу и читаю про женщин или вижу в новостях о них, на крупных постах, то
отмечаю что ничего страшнее нет. Но идеальный кандидат если нужно чтобы
страна была чьей-то марионеткой.

3 years agosetproctitle из daemontools на FreeBSD
Sergey Matveev [Thu, 12 Aug 2021 14:05:24 +0000 (17:05 +0300)]
setproctitle из daemontools на FreeBSD

https://oshogbo.vexillium.org/blog/51/
Из коробки setproctitle будет работать на FreeBSD... плохо. Прямое
изменение argv не приведёт к обновлению информации о процессе, которую
можно бы было увидеть в procstat -c или ps. setproctitle() работает
отлично, ибо внутри он делает sysctl вызов для обновления закэшированной
информации о командной строке. Всё не мог понять почему когда я руками
работаю с setproctitle, то не вижу обновлений, но ошибки в setproctitle
живущем с момента запуска системы видны. Но FreeBSD, как всегда, молодец
и имеет setproctitle_fast() для частого обновления, которое любит делать
PostgreSQL например.

3 years agoШипперить
Sergey Matveev [Thu, 12 Aug 2021 13:53:39 +0000 (16:53 +0300)]
Шипперить

На работе зашла тема про рэп и я вспомнил что например слово "шипперить"
из ca23bc85781a099a3f61719c1714957ac20c8e6c я даже примерно не знал что
значит. Даже не искал. Коллеги нашли: это от friendship, relationship
пошло. Или это дикая тупость, или слишком заумно не для моих мозгов.

3 years agoThunderbird и SMTP на JavaScript
Sergey Matveev [Thu, 12 Aug 2021 11:18:02 +0000 (14:18 +0300)]
Thunderbird и SMTP на JavaScript

https://www.opennet.ru/opennews/art.shtml?num=55627
Дожили... SMTP backend написан на JavaScript.
Ну и конечно же "Master Password" должен быть переименован,
ведь это же отсылка к рабам, ага.

3 years agoПоднял dqcache
Sergey Matveev [Wed, 11 Aug 2021 18:58:23 +0000 (21:58 +0300)]
Поднял dqcache

https://mojzis.com/software/dq/
перед unbound-ом, чтобы он DNSCurve проверял. Как же мне нравится
daemontools подход и DJB-way софт! dqcache ни одной опции не имеет,
всё через переменные окружения, которые envdir-ом легко загружаются,
настраивается. Всё через директории с файлами и простыми текстовыми
базами. Формат логов дружелюбен к фильтрам multilog-а.

Я точно помню что видел документацию по установке этого демона и точно
помню что меня оно оттолкнуло. А сейчас прям нравится -- всё логично.
Вроде и curvedns демон тоже отталкивал одним только фактом зависимости
от каких-то daemontools. Как с прошлого года у меня всё поменялось!

Много слышал что qmail не любят. Не застал его время, но видел что он
весь построен на daemontools и ucspi подходах с privsep-ом. Теперь могу
понять что это может оттолкнуть с непривычки.

3 years agoПрочитал "Долину проклятий" Желязны
Sergey Matveev [Wed, 11 Aug 2021 18:54:29 +0000 (21:54 +0300)]
Прочитал "Долину проклятий" Желязны

https://ru.wikipedia.org/wiki/%D0%94%D0%BE%D0%BB%D0%B8%D0%BD%D0%B0_%D0%BF%D1%80%D0%BE%D0%BA%D0%BB%D1%8F%D1%82%D0%B8%D0%B9
Ещё одна короткая история (c4e2a4d93a32eca275f515d5a15afbdf49fb1d79) про
байкера пересекающего США в пост-ядерном мире, встречая кучу опасностей.

3 years agoГде Big Kahuna?
Sergey Matveev [Wed, 11 Aug 2021 09:39:15 +0000 (12:39 +0300)]
Где Big Kahuna?

https://www.freebsd.org/cgi/man.cgi?query=ports&sektion=0&format=html
    FILES
         /usr/ports                     The default ports directory.
         /usr/ports/Mk/bsd.port.mk      The big Kahuna.

3 years agoПропускная способность оперативной памяти
Sergey Matveev [Wed, 11 Aug 2021 09:27:18 +0000 (12:27 +0300)]
Пропускная способность оперативной памяти

https://fgiesen.wordpress.com/2017/04/11/memory-bandwidth/
https://news.ycombinator.com/item?id=28124183
Со временем, при пересчёте байт-на-такт-процессора, скорость памяти всё
падает. Одна из причин почему всё везде обмазано кэшами разноуровневыми
и большими. В комментарии на HackerNews упоминают Netflix, в котором
вынос TLS в ядро снизил издержки на общение с памятью в два раза.

3 years agoApple CSAM
Sergey Matveev [Tue, 10 Aug 2021 07:06:42 +0000 (10:06 +0300)]
Apple CSAM

https://www.schneier.com/blog/archives/2021/08/apple-adds-a-backdoor-to-imesssage-and-icloud-storage.html
https://www.hackerfactor.com/blog/index.php?/archives/929-One-Bad-Apple.html
https://habr.com/ru/news/t/572066/
https://www.reuters.com/article/us-apple-fbi-icloud-exclusive-idUSKBN1ZK1CT
https://stratechery.com/2021/apples-mistake/
https://drewdevault.com/2021/08/10/Apple-CSAM-scanning.html
Apple и прежде активно запрещало управлять своим собственным
компьютером, разрешая запуск ПО только с их одобрения, или же, как
минимум, отсылая "телеметрию" о том что вы запускаете. И firewall
их не поможет, ибо его правила не касаются софта Apple. А теперь они
отказываются хранить данные в зашифрованном виде в своих облаках --
хотя и прежде было известно что оно то даже если и шифровалось, то
ключи у Apple всё равно имелись. А теперь Apple будет следить за тем,
какой контент вы потребляете, сливая метаданные о нём. И раньше контент
не "принадлежал" вам, ибо они же без спросу могли и удалить например
lossless музыку (ведь их крутой lossy кодек всё равно будет неотличим, а
ваше мнение никто не спрашивал, им лучше знать).

Apple -- доказательство того, что с людьми можно делать всё что угодно,
как угодно о них вытирать ноги, как угодно не уважать и плевать на
приватность и безопасность. Можно делать самое отвратительное по
удобству железо типа переключателей "бабочек" или выпиливания
функциональных клавиш. Или оставлять только один USB-порт, как некую
насмешку. Главное -- вовремя дать конфетку (развлечение) и всё будет
прощено.

3 years agoЧуть-чуть поработал в NetBSD
Sergey Matveev [Mon, 9 Aug 2021 17:28:05 +0000 (20:28 +0300)]
Чуть-чуть поработал в NetBSD

http://lists.cypherpunks.ru/archive/nncp-devel/2108/0309.html
В NNCP 7.5.1 добавил возможность сборки на NetBSD. Ну а точнее для неё
сделал отдельную функу вычисления свободного места на диске. statfs() в
ней заменили на statvfs(), которой нет в FreeBSD вызовах в Go. Хотя
statvfs() вообще по POSIX должен быть. Установил под bhyve, поигрался со
сборкой NNCP. Было приятно. Очень мне всё же нравятся BSD системы в целом!

3 years agoПрочитал "Дорожные знаки" Желязны, не осилил "Доннерджека"
Sergey Matveev [Mon, 9 Aug 2021 17:08:38 +0000 (20:08 +0300)]
Прочитал "Дорожные знаки" Желязны, не осилил "Доннерджека"

https://avidreaders.ru/book/znaki-dorogi.html
https://ru.wikiquote.org/wiki/%D0%94%D0%BE%D0%BD%D0%BD%D0%B5%D1%80%D0%B4%D0%B6%D0%B5%D0%BA
Прочитал треть Доннерджека, но совершенно не заходит книга. Забросил. А
вот "Дорожные знаки" отличное лёгкое чтиво с кучей покушений самыми
разными тварями на главного героя. Всё же у Желязны есть прилично всяких
нудных и скучных работ, типа "Принцев Амбера", но рассказы и повести у
него выходят отличные.

3 years agoUnix history распечатка
Sergey Matveev [Sat, 7 Aug 2021 19:45:31 +0000 (22:45 +0300)]
Unix history распечатка

https://www.levenez.com/unix/
https://www.levenez.com/wall/
Огромной длины timeline тьмы версий Unix. А самое интересное
это порассматривать фотографии людей на фоне этой истории из
самых разных уголков Земного шара.

3 years agoДжим Кэрри о Napalm Death
Sergey Matveev [Sat, 7 Aug 2021 18:20:39 +0000 (21:20 +0300)]
Джим Кэрри о Napalm Death

https://www.youtube.com/watch?v=T9rdQdz7WRA
Наверное каждому человеку упоминал это видео, а в блоге не вижу этого.
А недавно узнал что Джим всё же не поклонник grindcore и brutal death
metal, хотя он и приглашал настоящих Cannibal Corpse на съёмки Ace
Ventura: https://www.youtube.com/watch?v=T9rdQdz7WRA (вот только тут
точно нереалистично то, что во время слэма и громкой музыки как-будто
слышно людей и как-будто они постоянно что-то голосят -- это полный бред)
https://www.youtube.com/watch?v=UxiL1sl1mAU

3 years agoРэп, Сектор Газа, песни
Sergey Matveev [Sat, 7 Aug 2021 17:20:01 +0000 (20:20 +0300)]
Рэп, Сектор Газа, песни

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

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

Но другое дело Сектор Газа! Вот эту группу люблю ещё как! Возможно
единственная слова песен которой я знаю и где слова я слушаю.

У меня хороший слух с технической точки зрения: я слышу всякие частоты,
многие которых не замечают вовсе. Но вот у меня очень туго со слухом,
который позволяет разбирать слова. Только совсем недавно до меня дошло
почему мне пофиг на песни. В *преобладающем* большинстве песен я реально
просто не разбираю слова: я их слышу, прекрасно слышу подробности, но
они у меня не складываются в слова, не интерпретируются, не
"декодируются". У мамы точно такая же "проблема". Ещё со школы удивлялся
как некоторые знакомые легко понимают что конкретно поют: когда они
произнесут слова, то и я их начинаю "слышать"/разбирать. И теперь уверен
что именно по этой причине мне пофиг на слова. Поэтому мне пофиг на весь
русский рок -- ибо в нём 100%-ный упор только на тексты песен, а не
музыкальную составляющую. Поэтому мне так нравится всякий goregrind с
pig squeal вокалом -- ибо лишние слова выбросили вообще и вокалист стал
ещё одним инструментом. Да, я поражаюсь как люди умудряются складывать
слова в рифмы, но мне не доставляют удовольствия ни стихи, ни песни.
"Ё ма ха, ё ма со" (C) Modern Talking

Сектор Газа -- исключение. И слова разбираю и преобладающая часть всей
тематики мне близка и преподносится мне понятным образом. Я никогда не
напивался, не бухал, с 18-ти лет вообще алкоголь не употребляю, но я
проводил уйму времени среди лиц этим занимающихся. Я знаю о чём они
говорят, как себя ведут, какие у них чувства, могу сопереживать. Этот
"мир" мне знаком. Проблемы поднимаемые в каких-нибудь песнях типа
"Свидание", "Носки", "Мастурбация", "Местные", "Вечером на лавочке" и
тьме других я могу понять. Кучу других касающихся бухла или каких-нибудь
fail-ов касающихся секса-- тоже могу понять, пусть и на своей шкуре не
испытывал (упаси!). Вот про наркотики не могу понять -- вроде бы ни разу
в жизни не видел наркомана, видимо, благо что треть жизни жил в закрытом
городе. Всякие "Life", "Туман", "Звонок" -- сами по себе хороши и слова
мне интересны. "Лирика" (e38c956f504fc60554711eb257ad434f0d621e7e) --
эти описание и сравнения мне понятны и близки: *вообще* не припомню
чтобы я у рэперов слышал что-то касательно отношений к женщинам что мне
было бы хоть как-то близко или доносилось понятными сравнениями/словами.

Я прям сейчас даже ради интереса вбил запрос "рэп про любовь". Первая
штука что попалась использует выражения: "согреть февраль", "к душе
прижать", "буду верно ждать", "разлетелось, как печальный сюжет",
"обними меня сердцем". Бляха муха -- ну никогда в жизни у меня в голове
не смогут родиться такие выражения и сравнения. Когда человек так
говорит и выражается -- я просто понимаю что мы совсем иначе мыслим и
смотрим на мир. "Красивая такая терция в моей душе" -- я когда-то слышал
что есть слово "терция", но я даже примерно не знаю что это такое.
"Когда-то, мы в Инстаграме в постели" -- не понимаю: так в Intagram или
в постели? Или их как-то можно совмещать? "Хоть и шипперят с твоим
именем" строчка из какой-то песенки с припевом "Я сделала больно и
покинула чат". Я даже примерно не представляют что такое "шипперят".
"Наплевать на штамп в паспортах, Мне важнее что я в твоем сердце, С моим
именем ты на губах" -- ну тут вообще всё мне противит и выражения не
близки. И так везде в этом рэпе. На сайте с этими текстами песен вижу
какую-то песню от Би2: Христос прозябает под следствием, Ждёт вердикта
две тысячи лет, Алчная власть - стихийное бедствие, Ад, из которого
спасения нет, Дождь из пепла льётся из глаз, Чёрная бездна смотрит на
нас, Дальше не будет дороги другой, Если ты в пекло, я - за тобой -- ну
вот сразу другое дело! Вот что значит рокеры пишут тексты.

Но у Сектора мне больше всего нравятся его "мистические" песни, из
которых его полальбома последнего состоит. Знаю что большинство именно
этот последний альбом и не любит, мол всякая "Святая война", "Восставший
из ада", "Ночь страха" и прочая далёкая от жизни мистика идёт. А мне
очень заходит. Плюс это единственный альбом с уже вполне себе
металлическим звуком. А вот например очень популярный "Кащей
бессмертный" не скажу что сильно люблю: сильное ощущение что мат ради
мата, хотя забавно что всё сплошные каверы. Забавно что некоторые трэки
Red Hot Chilli Peppers я после него с трудом слушаю, ибо голова
"напевает" слова Сектора.

А ещё Юрий Никулин любит их. Чем любил хвастаться Хой -- могу понять,
сам Никулин тебя похвалил!

3 years agoВидел паровоз
Sergey Matveev [Sat, 7 Aug 2021 12:48:21 +0000 (15:48 +0300)]
Видел паровоз

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

3 years agoПродолжение отказа USB портов
Sergey Matveev [Sat, 7 Aug 2021 05:28:27 +0000 (08:28 +0300)]
Продолжение отказа USB портов

Сел сегодня утром за ноутбук, который тихо и спокойно лежал всю ночь
работая, начал отвечать на письмо, клава работает, а мышка вот нет.
Переподключил её к USB-хабу -- всё равно не работает. USB-звуковуха
через него тоже не работает. Хотя ещё вчера всё было ok. Перезагрузка
помогла, но дело явно опять же снова в самом ноутбуке, который стал
как-то умудряться не видеть устройства за хабом (напрямую их втыкнуть в
единственный работающий порт (25be5df2fac3d5330d8d7b236db9aaeffe8aecaf)
-- всё ok), кроме клавиатуры. Как-раз сегодня вот поеду заказывать себе
новый компьютер. Ждать придётся неделю -- интересно ноутбук позволит
"доработать" мне оставшееся время?

3 years agoПришли тут американцы и давай уговаривать на Let's Encrypt
Sergey Matveev [Fri, 6 Aug 2021 08:07:22 +0000 (11:07 +0300)]
Пришли тут американцы и давай уговаривать на Let's Encrypt

http://lists.cypherpunks.ru/archive/nncp-devel/2108/0290.html
https://nncp.mirrors.quux.org/
Как всегда holywar-ная тема которая возникает всюду и везде, аж надоело.
Не могу я использовать Let's Encrypt, всё восстаёт против этого. Я не в
состоянии поверить что в *США* возможно нахождение УЦ, отвечающего за 70%
(80?) аутентификации доменов в Интернете, и чтобы он не был под влиянием,
контролем спецслужб. Let's Encrypt априори для меня является штукой
которая будет выполнять требования АНБ-like организаций. А других
бесплатных УЦ, которые бы были в списке доверенных в распространённых ОС
просто нету. И вот и выбор: или соглашаться на использование сущности
NOBUS, где только США/НАТО может делать MitM для моих ресурсов, но оно
будет более безопасно чем совсем plaintext, либо... пускай все могут
делать MitM (если забыть про DANE, DNSCurve, PGP и прочие штуки мною
тоже применяемые). Но не могу я, рождённым в СССР, гражданином РФ,
давать profit только и только пиндосским спецслужбам. Какого чёрта я
могу это захотеть делать? Это сродни некоторому предательству будет. А
выбери я какой-то более распространённый УЦ, типа CACert.org (который я
годами использовал) -- всё равно все будут упрекать что у него на его
out-of-box iPhone ничего не открывается. Задолбали.

Но я и не против если кто-то откроет и поднимет у себя зеркало сайтов.
Что один активный NNCP пользователь и популяризатор и сделал. Для него
как-раз зеркалирование через rsync+ssh и поднимал
(df43091f78513fb234d381b3ee5e53f6f62aa6af).

3 years agoОтказали все USB порты кроме одного
Sergey Matveev [Fri, 6 Aug 2021 07:48:48 +0000 (10:48 +0300)]
Отказали все USB порты кроме одного

Ну вот и всё. Ни с того, ни с сего, просто лежа на столе, после
перезагрузки, перестали работать все USB порты кроме ровно одного
в моём ноутбуке. Так что буду страдать сейчас думая на что его
заменить. 284fa93fb434ddb3c541c465651b749e21cc7a15

3 years agorsync зеркалирование по SSH
Sergey Matveev [Thu, 5 Aug 2021 08:44:07 +0000 (11:44 +0300)]
rsync зеркалирование по SSH

Прежде не приходилось настраивать отдельного SSH пользователя чтобы
позволить ему только запуск rsync в нужном месте. Оказалось что в
rsync есть rrsync (restricted rsync) скрипт, как раз для этой цели:

    $ cat ~mirror/.ssh/authorized_keys
    restrict,command="rrsync -ro ~lighttpd/www" ssh-ed25519 ...

3 years agoОтключение генерирования ключей SSH демона
Sergey Matveev [Thu, 5 Aug 2021 08:41:33 +0000 (11:41 +0300)]
Отключение генерирования ключей SSH демона

В большинстве дистрибутивах, видел что скрипты запуска OpenSSH сервера
генерируют ключевые пары если видят что какой-то нет. Увидел что в
FreeBSD можно выставить в /etc/rc.conf:
    sshd_rsa_enable=no
    sshd_dsa_enable=no
    sshd_ecdsa_enable=no
чтобы отключить всякое ненужное. Демон сам увидит какие ключевые пары
имеются.

3 years agoПрочитал "Императоры иллюзий"
Sergey Matveev [Thu, 5 Aug 2021 07:57:18 +0000 (10:57 +0300)]
Прочитал "Императоры иллюзий"

https://ru.wikipedia.org/wiki/%D0%98%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D0%B8%D0%BB%D0%BB%D1%8E%D0%B7%D0%B8%D0%B9
Понравился, хотя и ничего особо выдающегося. Типа то, что наверное
называют космооперой. Понравился тот факт, что когда людям дали
возможность создать свой мир, каждому лично, как он захочет, то никакой
катастрофы не произошло (что мол все покинут текущую вселенную), а
только всякое недовольное дно, неблагоприятные элементы и свалили.

3 years agoБойтесь регистраторов доменных имён
Sergey Matveev [Wed, 4 Aug 2021 07:03:08 +0000 (10:03 +0300)]
Бойтесь регистраторов доменных имён

https://habr.com/ru/post/571140/
А у меня была история с Gandi.net (c31f6098d68cde8ca765e916fb58e4cb7ce93a69),
из-за которого три дня полностью всё было недоступно, отсутствие
возможности связи со мной (домены не определяются для почты). После
этого случая я твёрдо решил что всё что касается доменов будет делаться
мной в РФ, ибо хотя бы я могу уже связываться со "своими", приехать в
офис и всё такое. И не надо заграничным людям сливать свои сканы паспортов
и объяснять что я ничего на дом не заказываю и поэтому у меня нет писем
на моё имя с прописанным домашним адресов.

3 years agoCA Честного Ахмеда
Sergey Matveev [Tue, 3 Aug 2021 19:03:49 +0000 (22:03 +0300)]
CA Честного Ахмеда

https://bugzilla.mozilla.org/show_bug.cgi?id=647959
Из https://security.stackexchange.com/questions/53117/what-trusted-root-certification-authorities-should-i-trust
узнал про про такой замечательный, но отвергнутый Mozilla удостоверяющий
центр Честного Ахмеда. I like it! (C) Borat Sagdiev

    1. Name
    Honest Achmed's Used Cars and Certificates

    2. Website URL
    www.honestachmed.dyndns.org

    3. Organizational type
    Individual (Achmed, and possibly his cousin Mustafa, who knows a bit about computers).

    4. Primary market / customer base
    Absolutely anyone who'll give us money.

    5. Impact to Mozilla Users
    Achmed's business plan is to sell a sufficiently large number of
    certificates as quickly as possible in order to become too big to
    fail (see "regulatory capture"), at which point most of the rest of
    this application will become irrelevant.

    6. CA Contact Information
    achmed@honestachmed.dyndns.org

    Technical information about each root certificate

    1. Certificate Name
    Honest Achmed's Used Cars and Certificates

    2. Certificate Issuer Field
    Honest Achmed's Used Cars and Certificates

    3. Certificate Summary
    The purpose of this certificate is to allow Honest Achmed to sell
    bucketloads of other certificates and make a lot of money.

    4. Root Certificate URL
    www.honestachmed.dyndns.org/cert.der

    5. SHA1 fingerprint to 10. Signing key parameters
    See the certificates.

    11. Test website URL - 14. OCSP (OCSP is required for EV enablement)
    https://www.honestachmed.dyndns.org /
    www.honestachmed.dyndns.org/chain.p7s /
    www.honestachmed.dyndns.org/crl.der /
    www.honestachmed.dyndns.org/ocsp.asp

    15. Requested Trust Bits
    All of them of course.  The more trust bits we get, the more certificates we can sell.

    16. SSL Validation Type
    All of them.  The more types, the more certificates we can sell.

    CA Hierarchy information for each root certificate

    1. CA Hierarchy
    Honest Achmed plans to authorise certificate issuance by at least,
    but not limited to, his cousin Osman, his uncles Mehmet and
    Iskender, and possibly his cousin's friend Emin.

    2. Sub CAs Operated by 3rd Parties
    Honest Achmed's uncles may invite some of their friends to issue
    certificates as well, in particular their cousins Refik and Abdi or
    "RA" as they're known. Honest Achmed's uncles assure us that their
    RA can be trusted, apart from that one time when they lent them the
    keys to the car, but that was a one-off that won't happen again.

    Verification Policies and Practices

    1. Documentation: CP, CPS, and Relying Party Agreements
    Honest Achmed promises to studiously verify that payment from anyone
    requesting a certificate clears before issuing it (except for his
    uncles, who are good for credit).  Achmed guarantees that no
    certificate will be issued without payment having been received, as
    per the old latin proverb "nil certificati sine lucre".

    2. Audits
    Achmed's uncles all vouch for the fact that he's honest.  In any
    case by the time he's issued enough certificates he'll be regarded
    as too big to fail by the browser vendors, so an expensive audit
    doesn't really matter.

    3. SSL Verification Procedures
    4. Email Address Verification Procedures
    5. Code Signing Subscriber Verification Procedures

    See (1).

    Response to Mozilla's CA Recommended Practices

    Honest Achmed promises to abide by these practices.  If he's found
    not to abide by them, he'll claim it was a one-off slip-up in
    procedures and that policies have been changed to ensure that it
    doesn't happen again.  If it does happen again, he'll blame it on
    one of his uncles or maybe his cousin, who still owes him some money
    for getting the car fixed.

3 years agoЖизнь до iPhone
Sergey Matveev [Mon, 2 Aug 2021 18:23:54 +0000 (21:23 +0300)]
Жизнь до iPhone

https://mattruby.substack.com/p/the-most-unbelievable-things-about
Очень понравилась статья о том какая жизнь была до "iPhone" (явно тут
собирательное название). Мне то она близка тем, что... моя жизнь не
сильно поменялась, кроме того, что меня стали эти соцсетевые люди
окружать. Я молчу, когда смотрю на них со стороны, но многие действия
мне просто не понятны. Мысли даже не возникнет сделать checkin (?) или
хавку снять для лайков.

    I used to get lost all the time. I’d ask for directions, look for
    landmarks, fold maps, carry a guidebook, and keep an atlas in the
    glove compartment. I never knew when the next train was coming. I
    waited around a lot.

Я тоже ношу атлас (когда иду куда-то в совершенно неведомое по пути
место), помню как в начале 2010-х покупал карту своего города, когда
что-то не мог найти. Знаю что спрашивать надо полицейских -- всегда
чётко покажут дорогу. Помню как ожидая трамвай, ко мне подошла бабка,
спросив не посмотрю ли я в своём телефоне где сейчас этот трамвай, очень
удивившись что у меня нет сие девайса и как же я езжу то?

    I memorized phone numbers, jotted things down in notebooks, had
    conversations with taxi drivers, talked to random people at bars,
    wrote checks, went to the bank, and daydreamed. I was grossly
    inefficient and terribly bored. I rarely got what I wanted and, when
    I did, I had to wait at least 8-10 days for it to be delivered. I
    was not archived, nor was I searchable; things I said just
    disappeared forever.

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

    I had no idea how many steps I'd walked or stairs I’d climbed. My
    desk’s height did not adjust; I just sat in a chair and took it. I
    tolerated unstapled stomachs, breasts which subjugated themselves to
    gravity, and butts that were incapable of functioning as shelves. I
    had no influence and never disrupted anything. Strangers did not
    wish me a happy birthday or “Like” me. My personal brand was
    invisible.

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

    I operated on hunches, browsed bookstores, and fearlessly entered
    restaurants on a whim, with no knowledge of the party of eight who’d
    travelled all the way from Connecticut to dine there and who,
    despite their reservations for 8:45pm, were not seated until 9:30pm
    and then had to endure a server who was extremely rude,
    unprofessional, and “tattooed up on his neck.”

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

    I did not eat gummy bears, worms, or any other gummy species. I
    never charged my weed, microdosed, or took pills to help me focus.
    Only doctors took my temperature and masks were for parties. My life
    lacked motivational quotes, nutrition tips, and workout advice. My
    wellness ran dry.

Ничего не могу прокомментировать, ибо не очень понимаю о чём речь.
Таблетки не принимал, кроме "базовых" Цитромонов и Анальгинов. А
позавчера мне знакомая сказала что не верит что я ни разу в жизни не
делал затяжки сигаретой. Печально что люди не представляют свою жизнь
без подобных вещей. Сейчас люди на всяких таблетках действительно сидят
что ли, постоянно обращаясь к докторам?

    I did not take photos of myself, was not filtered, and had no idea
    what I looked like as a bunny rabbit, puppy, or unicorn. I had to
    buy film, load it in a camera, carry it around, find something worth
    shooting, get the film developed, and then pick up the prints. I
    only had 36 shots so each one mattered; I was constantly forced to
    ask myself, “Do I actually want a photo of this?” Also, my genitals
    went unphotographed.

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

    There was no surveillance of the streets. Crimes occurred and there
    was no footage to review. Planes crashed and we only saw the
    wreckage. There were no body cams and only spies could install
    hidden cameras. I trusted the nanny. We all did. It must have been a
    field day for nannies.

Во во! А сейчас любые аварии снимаются с кучи ракурсов и нам это всё
активно показывают в новостях.

    I was rejected to my face and broken up with in person. I was not
    polyamorous and, truth be told, was gleeful if just one woman agreed
    to be in a relationship with me. In order to go on a date, I had to
    approach a woman, talk to her, get her number, call her, talk to her
    again, and ask her out. It was Kafkaesque. Once plans were made, I
    showed up without any further contact to check whether we were, in
    fact, “still on for tonight,” "running late,” “at the bar,” “in the
    back,” or “here.” It’s a miracle we ever found each other.

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

    News was not breaking and I was not alerted. Being elite was a good
    thing and being a Nazi frowned upon. Scientists were trusted and
    conspiracy theories were for tinfoil kooks. The only content users
    generated was letters to the editor.

    I consumed news once a day by reading a paper that stained my hands.
    I stumbled upon random articles I would never have selected based on
    the headline. The ads I saw were untargeted shotgun blasts. Quizzes
    were just for students and I did not know which ice cream flavor
    matched my personality, who should play my BFF in a movie of my
    life, or which Disney prince I should have a threesome with. I
    rarely got to feel outraged by the words of people I’d never met.
    For that, I had to rely on family.

Всё так!

    I made mixtapes and went to record stores. I put five discs in a CD
    changer and they were my soundtrack for months at a time. At
    concerts, musicians did not use computers, singers missed notes, and
    drummers hit skins with sticks. Things went wrong and we meekly
    accepted these mistakes as part of our off-key lives.

С CD changer не знаком и мне точно не хватало нескольких дисков. Всегда
что-то появлялось и появлялось новое, особенно на MP3 сборниках. Но я
музыку люблю. Музыку где не надо играть на инструментах руками я и так
не сильно понимаю. Но любой нормальный концерт обязательно будет с кучей
человеческих особенностей и косяков. Если это пропадёт... зачем жить то,
чем развлекаться?

    I read books with dog-eared pages, highlighted passages, and
    untrustworthy narrators. I’d read authors without knowing if they
    were allies or enemies. I lacked certitude.

Хорошо замечено что ты заранее не знаешь кто есть автор. Так и надо. А с
современной модой на cancel culture вообще перестанешь читать хоть
кого-то стоящего, ибо создаётся впечатление что только ничего не стоящий
человек никого не обидит в этом мире.

    The only bingeing I did involved alcohol. I’d wait an entire week to
    watch the next episode. I listened to whatever was on the radio,
    rarely watched documentaries, and knew very little about serial
    killers. My crime was not true and my play was not auto.

    My speakers were big and my TV was small. Hardly anything was
    portable and my hardware was never updated. My elevator and taxi
    rides were devoid of television screens. I read cereal boxes while
    eating breakfast and shampoo bottles while sitting on the toilet. I
    never talked to my watch, my phone did not correct me, and
    acquaintances never asked me to finance their independent film or
    back surgery. My refrigerator and toaster were incapable of
    communicating with each other. The war was cold.

    Also, I was the default. No one called me toxic or problematic.
    Things weren’t fluid and there was no spectrum. I assumed the police
    were telling the truth. I was unaware of how frequently powerful men
    answered the door wearing nothing but a towel. There were a lot of
    questions I never had to ask.

    Complaining was frowned upon; I was told to walk it off. Therapy was
    for people with real problems and things stayed unsurfaced. I didn’t
    think about wage gaps, redlining, gerrymandering, or the intricacies
    of romantic encounters. There were a lot of questions I never had to
    answer.

    Were those the good old days? It’s tough to say; we didn’t rate
    things back then. Stars weren’t doled out and our feedback was not
    appreciated. Mostly, we sat in silence. We didn’t have infinite
    scroll. We reached the end of the page and then it was done.

Снова всё так. И касательно лишних вопросов и доверия верно замечено.
Сейчас диву даёшься в какую только чушь люди охотно верят или какими
задаются вопросами.

3 years agonncp.quux.org
Sergey Matveev [Mon, 2 Aug 2021 10:15:41 +0000 (13:15 +0300)]
nncp.quux.org

http://lists.cypherpunks.ru/archive/nncp-devel/2108/0283.html
Один человек поднял публичный NNCP relay, который, так как он в
Интернете (имеет полноценный IPv4 адрес), можно для транзита
использовать. Ну и пару файлов получить.

3 years agoФишер об интересе к своей шее
Sergey Matveev [Mon, 2 Aug 2021 09:37:11 +0000 (12:37 +0300)]
Фишер об интересе к своей шее

https://www.darkside.ru/news/130961/
Ну у него ведь и правда шея привлекает внимание.
Видел и в живую как он трясёт башкой -- мастер своего дела!

3 years agoСериализованные логи goredo
Sergey Matveev [Sat, 31 Jul 2021 10:46:36 +0000 (13:46 +0300)]
Сериализованные логи goredo

http://www.goredo.cypherpunks.ru/Logs.html
https://apenwarr.ca/log/20181106
Единственная фича apenwarr/redo, которой не было в goredo это
возможность рекурсивного отображения логов. Если делать распараллеленную
сборку, то stderr команд перемешивается в нечто абсолютно не читаемое.

apenwarr/redo вывод буферизует в файлы, показывая в real-time только
самую глубокую исполняющуюся команду. goredo показывает всё как есть, но
может сохранить на диск вывод. А дальше redo-log -r покажет его уже в не
перемешанном виде, линейном, сериализованном. С синтаксическим
подсвеченными отступами, метками о начале/конце запуска той или иной
цели. Плюс вывод может быть переупорядочен, чтобы упавшие цели оказались
в конце, ведь они же наиболее интересны для человека.

apenwarr очень клёвую для удобства идею подбросил! Всё это реализовал в
новом релизе. Плюс вместе с логами сохраняются ещё и полностью все
переменные окружения, командные строки и подобная информация о запуске.

3 years agoПрочитал "Click here to kill everybody"
Sergey Matveev [Fri, 30 Jul 2021 19:03:49 +0000 (22:03 +0300)]
Прочитал "Click here to kill everybody"

https://en.wikipedia.org/wiki/Click_Here_to_Kill_Everybody
В целом особо ничего нового из книги не узнал. Взгляды Шнайера мне
известны и близки. Книга только в очередной раз подтверждает и
правильность многих моих мыслей (либералы всякие, например, считают
государства врагом, а Шнайер, как и я, нет). С Брюсом я по сути нигде не
расхожусь, разве что немного другие компромиссы на которые я готов идти.
Плюс растёт гордость за РФ, ибо в плане кибероружия и кибератак мы
похоже покруче США, а так мировые державы в вопросах кибервооружения это
только КНР, РФ и США, все остальные в счёт вообще не идут. Уж Шнайер то
тут должен быть очень объективен как уберспециалист. А в целом она
читается как ужастик, ибо просто нереальная тотальная полная жопа сейчас
с кибербезопасностью творится. Причём когда я прочитал части книги о
призыве Шнайера к ряду серьёзных шагов со стороны правительств стран, то
в этот же день видел в новостях предложение именно со стороны РФ на эту
же тему (https://lenta.ru/news/2021/07/27/cyber_project/). В общем, не
даром сейчас кибертема часто мелькает в новостях про Байдена и Путина.

3 years agoРекордный штраф Amazon
Sergey Matveev [Fri, 30 Jul 2021 14:38:24 +0000 (17:38 +0300)]
Рекордный штраф Amazon

https://lenta.ru/news/2021/07/30/amazon/
Читаю тут книгу Шнайера и в ней он тоже отмечает что в США, в лучшем
случае, штрафы за всякую небезопасность приватных данных будут
составлять типа там десятки тысячи долларов ну или четверть миллиона.

3 years ago.swp файл не рядом с файлом спас от потери файла
Sergey Matveev [Fri, 30 Jul 2021 12:22:42 +0000 (15:22 +0300)]
.swp файл не рядом с файлом спас от потери файла

Писал я письмо, которое в /tmp/mutt-... располагается по умолчанию.
Забыл про аккумулятор и ноутбук сел, содержимое tmpfs потеряно. По
умолчанию Vim создаёт backup файл .swp в текущей директории -- и
оно бы тоже потерялось. Но у меня давным давно стоит:
    set directory=~/secure/vim/tmp
который меня и спас от полной потери.

3 years agoПокемоны
Sergey Matveev [Fri, 30 Jul 2021 08:12:18 +0000 (11:12 +0300)]
Покемоны

https://lenta.ru/news/2021/07/30/pokemoncardsold/
Человек разбогател найдя 20-летней давности карточки с покемонами. А я
буквально вчера впервые решил поинтересоваться и выяснять что же это
такие за покемоны. Я знаю как некоторые из них выглядят, знаю как
выглядит Пикачу, но понятия не имею кто он такой (животное?
инопланетянин? робот? монстр?) и про что вообще эти покемоны.
Со вчерашнего дня в курсе.

3 years agoCloaking на Libera.Chat
Sergey Matveev [Fri, 30 Jul 2021 08:01:08 +0000 (11:01 +0300)]
Cloaking на Libera.Chat

Никогда прежде не сидел в больших IRC типа Freenode, но тут ради канала
с #redo (https://groups.google.com/g/redo-list/c/WykKe_h-yps) всё же
подключился к Libera.Chat. Так и не понял как что-то серьёзное, и не
требующее real-time, можно обсуждать, но да пофиг.

Помню что на Freenode у меня когда-то были серьёзные проблемы с логином.
Уже не помню конкретику, но то ли с IP-адресом выходной ноды нельзя было
просто так зайти и необходимо было отправить PGP-зашифрованное письмо
администраторам, чтобы они там что-то разрешили или какие-то SASL
учётные записи сделали. С Libera.Chat всё без проблем.

Но было не очень уютно видеть что мой IP адрес находится в выводе /who.
В документации на сайте не нашёл как можно сделать какой-либо cloak, но
в Github где-то увидел: /join #libera-cloak и отправить "!cloakme"
сообщение.

3 years agoСудно перевернулось из-за медузы
Sergey Matveev [Fri, 30 Jul 2021 07:49:59 +0000 (10:49 +0300)]
Судно перевернулось из-за медузы

https://lenta.ru/news/2021/07/30/sudnoperevernulos/
"Как так?" -- подумал я. Оказалось что люди разом ломанулись посмотреть
на одном борту на медузу, ну и центр тяжести сместился достаточно. Благо
что всё закончилось хорошо. Но я с детства не забуду случай в новостях,
уже конечно смутно помню конкретику, когда куча возвращающихся из
паломничества людей, во время переправы на плоте (пароме?) начала
прыгать от радости и всё из-за этого перевернулось и все потонули.

3 years agoЭволюция рабочего места программиста
Sergey Matveev [Thu, 29 Jul 2021 17:07:40 +0000 (20:07 +0300)]
Эволюция рабочего места программиста

https://habr.com/ru/company/dododev/blog/570078/
Про dotfiles мне интересно читать всегда
(a12e8f1010858df4a2d38e5cc7755355a318a1de), но и просто про рабочее
место тоже. Но на них уже существеннейшие отличия бывают. Например
бывают любители все провода защёлкивать зажимами или вообще стяжками.
Даже не представляю как я умудряюсь удерживать себя не наброситься на
авторов подобного у рабочих мест. Недавно на работе переезжали и отметил
что хрен два к "женским" системникам можно подобраться, ибо как
специально их делают максимально труднодоступными для обслуживания и
просто подключения кабелей.

Автор статьи упомянул про Маркус кресло из IKEA:
https://www.ikea.com/ru/ru/p/markus-markus-rabochiy-stul-glose-chernyy-40383638/
У меня на работе с 2015-го года только он один такой и используется,
только не как на картинке с кожей, а обычная ткань. И это наверное
лучшее кресло что я встречал -- полностью удобно, может качаться,
достаточное регулирование высоты. Но самое главное: с ним вообще ничего
не происходит в плане износа! Я дома за последние 15 лет поменял 3
кресла уже вроде бы, ибо все под правой булкой попы/лыхи протираются
насквозь до дыр и уже непотребном состоянии. А ещё кожаные подлокотники
убиваются.

Сейчас у меня кресло полностью из пластиковых нитей, никакой кожи или
ткани. Какое-то из серии "Самурай" (ну какой я самурай? я ниндзя!
Vim-ninja). Конфигурация подлокотников и подголовника как тут:
https://msk.metta.ru/catalog/samurai/samurai_comfort_1_01/
но сделан полностью из нитей как тут:
https://msk.metta.ru/catalog/samurai/samurai_s_3/
Эти ручки кстати ужасны, особенно когда "откинешься", то в крайнем
положении не на что положить локти, в отличии от ручек как в первом
кресле. Но... уже часть нитей лопнуло... под правой ляхой снова. Но
вроде не расползается пока больше. И при выборе кресла у меня только
одно критичное условие (ну кроме износостойких материалов, высоты):
чтобы подлокотники держали руки параллельно столу. Всё верно написал
автор: 90 градусов должно быть и ни в коем случае руки не должны висеть
в воздухе. Очень многие кресла, особенно "директорские" имеют
подлокотники такой формы что она вообще ничего не держит: оно явно
заточено под "директоров", которым на надо сидеть за клавой. Ну и 10+
лет у меня все кресла качающиеся -- регулярно это и делаю или развалюсь
при чтении или просмотре чего-нибудь, где не надо бацать по клаве. Но
Маркус действительно хорошее кресло и, очевидно по этой причине, его
сняли с производства (ту самую модель/модификацию как на работе). И цена
у него не высокая.

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

3 years agoПотыкал OSPFv3 и BGP дома
Sergey Matveev [Wed, 28 Jul 2021 18:31:26 +0000 (21:31 +0300)]
Потыкал OSPFv3 и BGP дома

Опыта вообще никакого в этой теме, ни разу в жизни BGP хотя бы с одним
маршрутом не поднимал, как и OSPF. Использовал BIRD. Ничего в этом не
понимая, с первого раза сделал что захотел (прососать динамически
появившийся маршрут на ноутбуке и чтобы другие сервера туда могли слать
трафик). OSPFv6 прям приятен тем, что не нужно конечные адреса
настраивать (в отличии от BGP (понимаю что они и для разных задач)) и
что он поверх IPv6 исключительно работает.

3 years agoДва месяца на восстановление IPv6 на VPS
Sergey Matveev [Wed, 28 Jul 2021 14:49:28 +0000 (17:49 +0300)]
Два месяца на восстановление IPv6 на VPS

Примерно два месяца назад (9dfe1d98eea897cc9d69eed85108c4210109a464)
VPS-ка переехала в другой ДЦ и при этом там не работал IPv6, вообще.
Я потерпел с неделю наверное, а дальше поднял туннель до Hurricane
Electric. Даже забыл про VPS, но намотал на ус, что когда деньги
закончатся, то буду искать другого провайдера. Но сегодня мне написали
что наконец-то IPv6 у них заработал и мне готовы подарить два месяца.
Проверил -- пока вроде действительно всё заработало, на тех же адресах и
PTR записи в DNS не потерялись. Думаю что уж останусь с ними. Но два
месяца без сетевой связанности!? Люди в отпуске что ли были и про IPv6
при переезде забыли напрочь?

3 years agoЕдиницы измерения информации
Sergey Matveev [Wed, 28 Jul 2021 12:58:24 +0000 (15:58 +0300)]
Единицы измерения информации

На работе в документах видел что стараются использовать ГОСТ 8.417-2002,
где килобайт это 1024 байта. Но в таблицах характеристик компьютеров
пишут "4ГБ" памяти и "1ТБ" диск. Относительно ГОСТ-2002 объём памяти
корректен, но не диска, который на самом деле должен быть чуть более
931ГБ. А ещё же сколько путаницы возникает когда люди меряют скорость
сети в "10 мб/сек" -- мегабит, мегабайт? И то и другое могло бы подойти,
но чёрт знаешь что имел в виду автор.

Ну ведь 20+ лет назад же придумали нормальные чёткие измерения с "би"
приставкой: https://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%B1%D0%B8%D0%B1%D0%B0%D0%B9%D1%82
даже в ГОСТ IEC 60027-2-2015 их официально ввели. С одной стороны кто-то
хочет придираться к корректности, требуя соблюдение ГОСТов, но сам же
закрывает глаза на потерянные десятки гигабайт.

А ещё узнал что есть такая величина как ниббл:
https://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%B1%D0%B1%D0%BB
4-бита, также известные как тетрада (вот это часто встречал) или
гексадецит. Причём "byte", который звучит как "bite" это "кусать", а
"nibble" это "покусывать". LPT порт передаёт за раз по нибблу.

3 years agoПрочитал "Прозрачные витражи"
Sergey Matveev [Tue, 27 Jul 2021 21:34:05 +0000 (00:34 +0300)]
Прочитал "Прозрачные витражи"

https://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D0%B7%D1%80%D0%B0%D1%87%D0%BD%D1%8B%D0%B5_%D0%B2%D0%B8%D1%82%D1%80%D0%B0%D0%B6%D0%B8
Совсем короткий рассказ-продолжение "Лабиринта отражений"
(4e86b4e61f480498c89453a519d9de1ee942642d). Понравился, уже не такой
мрачный. Но у него две разных концовки. От первой прям тошнит: во-первых
какой-то либеральный лепет про то, что люди сами могут самоорганизоваться
в Интернете (Глубине), а, во-вторых, какая-то чисто бабская концовка (аж
вспомнил Тима (a97af6f2c2150b7b2fa795c7ad363711aa1251f7)). А вот вторая
концовка прям то что надо. Лукьяненко как будто постебаться так решил,
на контрасте.

3 years agoОбнаружил что PPP умеет работать по UDP
Sergey Matveev [Tue, 27 Jul 2021 13:19:07 +0000 (16:19 +0300)]
Обнаружил что PPP умеет работать по UDP

Прямо в man пример того как user-space ppp (в FreeBSD) можно заставить
работать под inetd и даже в UDP. Действительно работает без проблем. А
то просто ужас какой-то с тем, чтобы сделать какой-то простой туннель
(пускай даже без шифрования, которое можно внутри него организовать), но
чтобы он был не поверх TCP. И IPv6 link-local адресация внутри из
коробки будет. PPP можно использовать чтобы пробить NAT-ы, а внутри уже
IPsec с нужными туннелями поднять и статическими адресами внутри них.
А то как-то за NAT-ом всё проблематично с IPsec
(478eef75e239bf6cf9e4e8357524f0fd033a7bb2).

3 years agoДемонизация программ: SysV и новый стили
Sergey Matveev [Tue, 27 Jul 2021 13:16:30 +0000 (16:16 +0300)]
Демонизация программ: SysV и новый стили

http://0pointer.de./public/systemd-man/daemon.html
Нет конечно никакого нового стиля, а просто замашки Поттеринга. Но
страница ценна вереницей действий которые действительно предпринимались
"классическими" Unix демонами. А "новый" стиль уже действительно хорош
для daemontools/runit/s6 и подобных систем запуска. Можно оценить
насколько всё становится проще и надёжнее (PID file race один чего
стоит).

3 years agoДи Шнайдер об искусстве и несовершенных людях
Sergey Matveev [Tue, 27 Jul 2021 05:27:46 +0000 (08:27 +0300)]
Ди Шнайдер об искусстве и несовершенных людях

http://www.hitkiller.com/mnenie-dee-snider-esli-by-okazalos-chto-mikelandzhelo-byl-pedofilom-nado-zakrasit-sikstinskuyu-kapellu.html
Всё верно и правильно говорил Шнайдер о тотальном горьком катаклизме
культуры отмены.

    Искусство автоматически перестает быть талантливым, если выясняется,
    что художник был педофилом?

    "Мы больше не станем смотреть фильмы с Кевином Спейси". Один из
    величайших актеров своего времени, сейчас просто мертв для всех, и
    за что?

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

3 years agoПрочитал "Фальшивые зеркала"
Sergey Matveev [Mon, 26 Jul 2021 21:00:58 +0000 (00:00 +0300)]
Прочитал "Фальшивые зеркала"

https://ru.wikipedia.org/wiki/%D0%A4%D0%B0%D0%BB%D1%8C%D1%88%D0%B8%D0%B2%D1%8B%D0%B5_%D0%B7%D0%B5%D1%80%D0%BA%D0%B0%D0%BB%D0%B0
Продолжение "Лабиринта отражений" (62f7070114a62e6634be91c7a69e3e067c4c5051).
Более мрачная, но всё равно очень понравившаяся книга. Понравилось как
применяются понятия детства к Глубине (можно считать Интернета) и её
взросления. В детстве всё везде прекрасно, как в мечтах, ничего сильно
плохого. А когда вырастаешь, то взрослая жизнь многое изменит, хочешь ты
этого или нет. Я про себя и к Интернету это применял: то там были всякие
умные дядьки, отсутствие коммерции, прекрасное восьмое чудо света. А
потом возник Вечный Сентябрь, коммерция из всех щелей повылезала и
Интернета уже и нет, каким его знали прежде.

3 years agoПопарился в баньке
Sergey Matveev [Sun, 25 Jul 2021 18:13:55 +0000 (21:13 +0300)]
Попарился в баньке

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

3 years agoВыступления с suckless конференций
Sergey Matveev [Sun, 25 Jul 2021 10:10:08 +0000 (13:10 +0300)]
Выступления с suckless конференций

https://suckless.org/conferences/
Просмотрел многие записи, некоторые особо про себя отметил.

https://dl.suckless.org/slcon/2015/slcon-2015-07-klenkow-simple_jabber.webm
Рассказ о том, как устроен XMPP, хотя бы в базовом виде. Вообще жуткая
переусложнённая штуковина. Matrix выглядит в этом плане симпатичнее.

https://dl.suckless.org/slcon/2016/slcon-2016-07-jklemkow-ii-like_chatting_improved.webm
Посмотрев вот это, захотел всё же решить проблему с отсутствием UCSPI-like
утилит для TLS. Утилиты от этого автора используют libtls из LibreSSL.
Плюс из-за execvpe не собираются на моей системе. Было и прежде желание,
но не столь сильное, написать аналогичную утилиту на Go: его TLS
реализации я доверяю полностью, плюс будет работать на широком круге ОС
без зависимости от библиотек которых не будет из коробки.

Написал tlss/tlsc UCSPI утилиты для создания TLS-сервера или TLS-клиента:
http://www.git.cypherpunks.ru/?p=ucspi.git;a=blob;f=README
избавился от stunnel для paster (24cd89da8ad2d37061f2fd9867ed7e0472fc2900),
ибо это реально монстр какой-то. Плюс для клиента можно использовать:
    DST=cat paster $@ |
        tcpclient -DHR -l 0 paster.example.com 2020 sh -c "cat >&7 ; cat <&6"

https://dl.suckless.org/slcon/2019/slcon-2019-03-marc_chantreux-acme_changed_my_life.webm
А вот это выступление понравилось больше всех! Чувак впечатлён что Acme
редактор может всё в тексте исполнять. Я думал будет рассказ про этот
редактор, а оказалось на 100% только про Vim и как в нём можно
использовать pipe-ы по всякому. Уверен что многим было бы полезно
посмотреть, хотя лично я для себя ничего нового не открыл, кроме трюка с
использованием переопределённой "="-команды для прогона через внешнюю
команду. Не то чтобы показанные трюки были действительно полезны и
эффективны, но идею дают. Плюс показывают как бы жилось с Acme.

3 years agoDJB отвечает на выпады Venema
Sergey Matveev [Fri, 23 Jul 2021 19:02:19 +0000 (22:02 +0300)]
DJB отвечает на выпады Venema

https://cr.yp.to/qmail/venema.html
Создатель Postfix много наезжал на DJB-овский qmail.
DJB отвечает на эти выпады что он сам нифига не знает и не разбирается.
Ничего в этом мире людей не меняется, даже у крутых хакеров и математиков.

3 years agoВсё же можно сделать пятно краски являющееся не валидной Perl программой
Sergey Matveev [Fri, 23 Jul 2021 14:48:54 +0000 (17:48 +0300)]
Всё же можно сделать пятно краски являющееся не валидной Perl программой

https://www.mcmillen.dev/sigbovik/
Так что можно заниматься рисованием не боясь напрограммировать на Perl.

3 years agoХранение текстовой строки в виде символической ссылки
Sergey Matveev [Thu, 22 Jul 2021 11:27:31 +0000 (14:27 +0300)]
Хранение текстовой строки в виде символической ссылки

http://jemalloc.net/jemalloc.3.html#tuning
В jemalloc опции аллокатора задаются в файле /etc/malloc.conf, но не в
его "содержимом", а в виде пути символической ссылки. Интересная идея,
ведь на многих файловых системах оно будет хранится прямо в inode.

3 years agoОшибка в функции конкатенации строк
Sergey Matveev [Thu, 22 Jul 2021 09:16:42 +0000 (12:16 +0300)]
Ошибка в функции конкатенации строк

https://habr.com/ru/company/pvs-studio/blog/569012/
Доволен, так как моих знаний и опыта на Си хватило чтобы найти все
недочёты и ошибки в этой функции. Но только я бы не стал писать цикл,
а делал memcpy/memmove.

3 years agodhcpleased, slaacd, resolvd, unwind, ospfd
Sergey Matveev [Thu, 22 Jul 2021 09:02:35 +0000 (12:02 +0300)]
dhcpleased, slaacd, resolvd, unwind, ospfd

http://undeadly.org/cgi?action=article;sid=20210722072359
В OpenBSD теперь используется возможность добавления "autoconf" опции к
ifconfig настройке интерфейса, которая для "inet6" адресов будет
разрешать slaacd демону проводить его автоматическую настройку, а для
"inet" разрешать dhcpleased демону. Так как и по DHCP и по SLAAC можно
получить настройки DNS сервера, то возникает конфликт, который
разруливается ещё одним демоном resolvd. Всё это privsep pledged демоны,
конечно же. А судя по обсуждению в рассылке, не проблема и игнорировать
DNS ответы от DHCP, что даже я регулярно хочу делать. Красиво в целом.

3 years agoJulia получает 24M$. zig!
Sergey Matveev [Tue, 20 Jul 2021 17:45:02 +0000 (20:45 +0300)]
Julia получает 24M$. zig!

https://habr.com/ru/news/t/568700/
https://ziglang.org/learn/why_zig_rust_d_cpp/
https://ziglang.org/learn/overview/
https://ziglang.org/learn/samples/
https://andrewkelley.me/post/zig-cc-powerful-drop-in-replacement-gcc-clang.html
https://andrewkelley.me/post/unsafe-zig-safer-than-unsafe-rust.html
Когда вижу новости про не часто (в моей сфере) встречающиеся языки, то
конечно чаще всего просто их игнорирую. Всякие JavaScript, PHP мне не
интересны, точно нигде не встречу. Rust -- в жаркую топку. Всякая
функциональщина -- не для моих мозгов. Swift -- там же где и Mono с C#.
Julia -- там же для меня где и R: неведомый мне мир. А ещё бывают языки
которые вроде just for fun пишутся, типа Zimbu.

А вот zig зацепил! Интересно было почитать про него, хотя "вышел" на
него благодаря тому, что его компилятор может обычный Си код
обрабатывать (не без помощи LLVM). И чем больше его рассматриваю, тем
больше хочется попробовать, ибо нравятся идеи и подходы. Если Go в
embedded не заиспользуешь, то zig уже вроде бы ещё как можно. И он
достаточно прост и имеет очень вкусный (как и Go) функционал которого
мне не хватает в Си (типа defer-ов). А факт использования LLVM говорит
что при разработке языка не будет тьмища времени потрачена на уже
существующие (относительно) решённые проблемы. В нём даже и сборка на
FreeBSD описана (в отличии от ё@#$ого Rust, где по сути нет сборки из
исходников штатной), с вниманием к статической линковке:
https://github.com/ziglang/zig/wiki/Building-Static-Zig-on-FreeBSD
И набор инструментария имеется (zig fmt хотя бы) с пакетным менеджером.
С удовольствием бы чего на нём не прочь написать, но останавливает что
на работе даже рассматривать не будут.

3 years agogo.stargrave.org/paster
Sergey Matveev [Mon, 19 Jul 2021 19:12:34 +0000 (22:12 +0300)]
go.stargrave.org/paster

http://www.git.stargrave.org/?p=paster.git;a=blob;f=README
Каждый новобранец на Go наверняка писал какой-нибудь URL-shortener или
сервис типа Pastebin. Мой uploader
(http://www.git.stargrave.org/?p=uploader.git;a=blob;f=README) почти
годится для этого: нужно только HTTP сервером директорию отдавать
наружу. Но как-то это всё недостаточно просто.

СУБД? Нафиг -- достаточно ФС. Слушать демоном? Не вариант, только
daemontools + UCSPI-TCP. Логирование -- аналогично через него. Отдавать
paste-ы: внешним демоном (HTTP, Gopher, FTP, whatever). Хранить MIME
тип: достаточно "в" расширении файла. И очищать старьё можно просто
find-ом по ctime времени в cron. Хранить состояние счётчиков или время?
Нафиг -- просто рандом для имени файла: и не перебрать/подобрать имя.

HTTP? Тоже нафиг, слишком сложный протокол для такой задачи. Изначально
хотел сделать на netstring: 5:hello,. Но потом захотелось чтобы была
возможность указать расширение файла. Отправлять два netstring-а? Уже не
красиво. Вспомнил про bencode -- один из самых прекрасных протоколов
сериализации: супер простой, позволяет сложные структуры хранить,
кодирование однообразное (типа ASN.1 DER/CER). Полноценный bencode
декодер не использую, ибо даже лень искать есть ли потоковые: ведь мне
нужно узнать размер загружаемого файла до того как я начну много читать
по сети.

Вот и реализовал это всё. Плюс ещё вывод половины SHA512 от загруженных
данных (половины достаточно, а SHA256 тормознее на современных системах,
считаю что нет ему места для использования, а с SHA вообще связываюсь
потому что это же всё рассчитано для небольших файлов). Плюс добавление
newline если в .txt/.url файлах его нет в конце (иначе это не настоящие
текстовые файлы). А HTTP сервер уже увидев .webp расширение выдаст
соответствующий Content-Type и это будет отображено в виде картинки.

Отправить файл в paster можно банальным:
    ( printf "d1:v${size}:" ; cat data ; printf "e" ) |
        nc paster.example.com 2020
где самое геморройное это узнать длину передаваемого файла:
7cdceadae4be75a1cc450f380e01b667ef5ca7d5. Ну а полноценный скрипт:
http://www.git.stargrave.org/?p=paster.git;a=blob;f=contrib/paster
и его TLS-capable версия:
http://www.git.stargrave.org/?p=paster.git;a=blob;f=contrib/paster-tls
Это ещё и первый TLS-сервис что просто ради интереса я поднял уже с
stunnel (+UCSPI-TCP): вполне себе работает.

А то с этим IRC (недавно обсуждалось насколько он удобен :-)
b34c369b5ce18f0c92dd56270201bca19ea8f262) надо же небольшие куски кода
как-то share-ить. А ещё снимки экрана бывает: теперь это делается:
import png:- | paster png (хотя тут не применялся pngcrush).

3 years agoСнова про убогость протокола Telegram
Sergey Matveev [Mon, 19 Jul 2021 16:04:18 +0000 (19:04 +0300)]
Снова про убогость протокола Telegram

https://habr.com/ru/company/dcmiran/news/t/568512/
https://mtpsym.github.io/
https://core.telegram.org/techfaq/UoL-ETH-4a-proof
Ответы разработчиков Telegram являются просто насмешкой какой-то. Так,
как они, криптографические протоколы не делают. Это просто несерьёзно
ориентироваться на задержки и возможности просасывания n-ого кол-ва
пакетов/сек. Просто стыдоба -- ведь даже старый TLS куда безопаснее!
С их подходом можно бы было и что-то супер древнее использовать с MD5
и DES-ом, ведь *на практике* их было бы вполне достаточно для применения.

3 years agoКак ставить пакеты в Python?
Sergey Matveev [Mon, 19 Jul 2021 10:01:30 +0000 (13:01 +0300)]
Как ставить пакеты в Python?

Второй день подряд хотел было поставить кое какие пакеты Python, но
очень все стали любить ставить cryptography последних версий, который
требует Rust для сборки. Кто-то требует gevent: падает на сборке Си кода
явно из-за каких-то разных версий установленных библиотек (Си). Кто-то
зависит от пакетов в которых setup.py не работает с современными
setuptools версиями.

Короче... pip install, падаем, пробуем подбрать флаги CFLAGS, падаем,
пробуем подобрать более старые версии зависимостей, падаем, что-то
возможно ставим руками (pip download, vi setup.py, ручные действия),
падаем, видим что установленные более старые версии не годятся, идём
искать этот софт на Go.

3 years agoТаненбаум о "победе" Linux
Sergey Matveev [Mon, 19 Jul 2021 09:22:20 +0000 (12:22 +0300)]
Таненбаум о "победе" Linux

https://linuxfr.org/nodes/88229/comments/1291183
    Linux "succeeded" because BSD was frozen out of the market by AT&T
    at a crucial time. That's just dumb luck.
Вот к чему я недавно тоже и пришёл (0a2e5056ba726ac888bb9be1a71d314869b2899e).
Плюс BSDi начали продавать полноценный дистрибутив за 1k$, тогда как
коммерческие Unix-ы стоили минимум 15-20$k. Плюс появился i386, на
котором можно было запустить это всё за вменяемую цену простому человеку.

3 years agoПочему ZeroMQ стоило писать на Си, а не C++
Sergey Matveev [Sun, 18 Jul 2021 17:34:35 +0000 (20:34 +0300)]
Почему ZeroMQ стоило писать на Си, а не C++

https://250bpm.com/blog:4/
https://250bpm.com/blog:8/
Сам автор рассказывает и объясняет почему код на Си был бы лучше.

3 years agoКниги с прохождениями и читами компьютерных игр
Sergey Matveev [Sun, 18 Jul 2021 12:31:13 +0000 (15:31 +0300)]
Книги с прохождениями и читами компьютерных игр

https://rutracker.org/forum/viewtopic.php?t=3758536
Какая бесценная подборка книжек с кодами для игр! У меня с дюжину было
подобных для ПК игр (видеоприставок не было никогда), хотя самих игр
оттуда было не шибко много, ибо мой компьютер всё время тогда был
"отсталым" и не много чего мог потянуть. Я зачитывался прохождениями и
описаниями, порой, даже не запустив игру, зная про неё больше чем многие
другие. Это наверное как читать фантастику.

3 years agoСвободное ПО разрабатывается энтузиастами
Sergey Matveev [Sun, 18 Jul 2021 11:52:00 +0000 (14:52 +0300)]
Свободное ПО разрабатывается энтузиастами

За последние дни, уж не знаю как так вышло, но оказался я на паре блогов
где люди восхищены идеями свободного ПО (или open source? не пойму). Но
создаётся впечатление что все они считают мир FOSS-а местом где сидят
такие энтузиасты и за еду и идею пилят кучу софта, который активно
поглощают и используют всякие Apple и Google. И то, что до Столлмана
были тёмные времена закрытого коммерческого ПО, каждый друг другу враг,
но только RMS решил восстать и собрать армию единомышленников.

Жалко у меня не было блога 15+ лет назад. Может быть и я так же наивно
считал. Но если получше читать историю и даже смотреть любительские ролики:
d477a6b2119fa1928dad55613ccaf89e44828a64
http://catb.org/esr/writings/taoup/html/ch02s01.html
8433171d12a31dbff6e55164824b41e64f041e47
d99a6755d851ea9461dc3bbf2bfe3357169447dd
и читать https://www.tuhs.org/
то картина куда более приземлённая, не такая романтичная, но и не
настолько мрачная: 15+ лет всеми исходными кодами люди вовсю
обменивались, распространяли свои наработки и изменения (BSD тот же).
Это было то, что можно было бы обозвать open source-ом. А потом
появились всякие Microsoft, которые показали как можно лихо грести
деньги на проприетарном софте. RMS увидел во что это начнёт выливаться в
будущем и заранее обеспокоился проблемой и начал толдычить о ней и
другим разработчикам. Ну и коммерческие Unix начали борзеть по ценам и
проприпреировать код. Кто-то начал с нуля писать софт, без legacy (GNU).
Кто-то начал вычищать BSD-код от явно AT&T-copyrighted вещей. Но к
1991-1992 уже появились почти полностью законченные ОС в которых не было
copyrighted кода компаний которые бы явно сделали всё проприетарным.
Против BSD начались судебные разбирательства:
https://en.wikipedia.org/wiki/UNIX_System_Laboratories,_Inc._v._Berkeley_Software_Design,_Inc.
во время которых вовремя подоспел GNU+Linux.

Короче, Unix мир и так имел свободное ПО де-факто, ещё до RMS. Потом
из-за денежных вопросов началась суматоха, во время которой в итоге
появились *BSD и GNU+Linux системы.

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

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

Де-факто вся массовая GNU/Linux экосистема вовсю пишется в компаниях
типа RedHat, а драйвера для железа пилят те же самые Intel-ы.
https://lwn.net/Articles/839772/
А это компании и люди которые делают всё для заработка, а не идей
осчастливливания всех людей на свете. Аналогично и BSD мир:
https://freebsdfoundation.org/our-donors/donors/?donationYear=2020
https://freebsdfoundation.org/our-donors/donors/?donationYear=2019
https://www.openbsdfoundation.org/contributors.html
Тот же Яндекс ведь не обязан был отдавать свои наработки в FreeBSD, но
он этот делал (чай не GPL, и вообще для внутренних нужд разработки),
хотя тратил свои немалые деньги (специалисты то дорогие).

Но корректнее говорить что это open source пилят точно так же
коммерчески в офисах. Именно свободное ПО мало кого, к сожалению,
беспокоит.

3 years agoПосмотрел "Житие Брайана по Монти Пайтону"
Sergey Matveev [Sun, 18 Jul 2021 09:47:16 +0000 (12:47 +0300)]
Посмотрел "Житие Брайана по Монти Пайтону"

https://ru.wikipedia.org/wiki/%D0%96%D0%B8%D1%82%D0%B8%D0%B5_%D0%91%D1%80%D0%B0%D0%B9%D0%B0%D0%BD%D0%B0_%D0%BF%D0%BE_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D1%83
Как в Wikipedia и написано: пародия и высмеивание религиозных фанатиков,
террористов-смертников, националистов и феминистов (вот это было очень
забавно!). В куче стран фильм был запрещён к показу -- сейчас бы за него
наверное на Западе лишали бы всех премий, работ и заслуг. Но последняя
сцена, с пританцовывающими и весело поющими о светлой стороне жизни
распятыми людьми... в этом весь Монти Пайтон. Очень чёрно юморной -- мне
понравился.

Вообще можно было бы только фильмы (четыре штуки) у Монти Пайтона смотреть.

3 years agoСтоллман влиял даже на BSD
Sergey Matveev [Sat, 17 Jul 2021 17:36:03 +0000 (20:36 +0300)]
Столлман влиял даже на BSD

http://catb.org/esr/writings/taoup/html/ch02s01.html
https://minnie.tuhs.org/pipermail/tuhs/2021-July/024102.html
https://minnie.tuhs.org/pipermail/tuhs/2021-July/024103.html
https://minnie.tuhs.org/pipermail/tuhs/2021-July/024108.html
https://minnie.tuhs.org/pipermail/tuhs/2021-July/024157.html
Пишут, что (в том числе) из-за влияния RMS, уже в 1988 начали вычищать
AT&T-copyrighted код из исходников BSD, благодаря чему 386BSD, без
которой не было бы ни FreeBSD, ни NetBSD, стала возможна.

Забавно, что если бы 386BSD зарелизилась буквально считанными месяцами
раньше, то Linux бы вообще не появился: Линус просто не мог себе купить
Sun машину, а Minix был не свободен. Причём первая версия Linux даже не
имела сетевого стэка, тогда как 386BSD имел это всё сразу же. Но там
начались судебные наезды от AT&T продлившиеся два года, тормозя всё
развитие. В общем, RMS заранее понял что проприетарщики оборзеют
окончательно вскоре, а Linux просто оказался в нужном месте и в нужное
время.

3 years agoПосмотрел "Смысл жизни по Монти Пайтону"
Sergey Matveev [Sat, 17 Jul 2021 08:16:58 +0000 (11:16 +0300)]
Посмотрел "Смысл жизни по Монти Пайтону"

https://ru.wikipedia.org/wiki/%D0%A1%D0%BC%D1%8B%D1%81%D0%BB_%D0%B6%D0%B8%D0%B7%D0%BD%D0%B8_%D0%BF%D0%BE_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D1%83
И снова не думал что они смогут переплюнуть сами себя, но они умудрились
это сделать. Просто жесть на жести. По моему, даже по современным меркам
это офигенно.

3 years agoНедостаток bfs
Sergey Matveev [Sat, 17 Jul 2021 07:48:52 +0000 (10:48 +0300)]
Недостаток bfs

Обнаружил неприятную особенность в bfs
(7c1a6ea5e58871a1616d7ec29419af06d50a082c): если NFS точка монтирования
недоступна (сеть лежит), то bfs виснет и ничего не делает. truss показывает
что на получении информации (типе) о доступных ФС и зависает. Поправил
сам bfs и просто не делаю mtab-related вызовы, нужные только для -fstype
фильтрации.

И посмотрел будет ли разница на такой мизерной, с точки зрения
зависимостей, программе, у которой только libc, между статической и
динамической линковкой. Даже банальный time bfs упорно показывает
разницу в 10мс.

3 years agoFSF и GNU на IRC
Sergey Matveev [Sat, 17 Jul 2021 07:10:58 +0000 (10:10 +0300)]
FSF и GNU на IRC

https://www.fsf.org/news/fsf-and-gnu-move-official-irc-channels-to-libera-chat-network
Явно написали что они рассмотрели и Matrix и XMPP, но не могут
использовать первый, так как большинство пользователей будет
использовать Web-версию, которая требует несвободный JS-код.
Про XMPP деталей нет, но наверное это его прожорливость?
Вот и я независимо от них тоже пришёл к выводу что пока лучше
IRC для IM, тем более группового ещё ничего не придумали.
Как минимум не реализовали.

3 years agoЗависания сетевухи, часть 2
Sergey Matveev [Fri, 16 Jul 2021 11:42:23 +0000 (14:42 +0300)]
Зависания сетевухи, часть 2

Уже в блоге у себя видел что писал не однократно о зависаниях NIC-а:
3248da65be9ca38eb5ae181922390e5e6d693bca. Сегодня играла музыка,
распаковывался большой tarball по NFS, в фоне NNCP передавал online
протоколом большие файлики. Только за сегодня было два "зависания".
Ничего не помогает кроме физической перезагрузки компьютера. Задолбало.
Работаю на явно неисправном железе. Среди всех ноутбуков этот Dell
Latitude прям худший. По сути у меня ломались только крепления мониторов
и деградировали аккумуляторы. А тут проще сказать что осталось рабочим.

3 years agoНе верь всему, что пишут на хабре
Sergey Matveev [Fri, 16 Jul 2021 06:12:33 +0000 (09:12 +0300)]
Не верь всему, что пишут на хабре

https://habr.com/ru/post/567996/
Человек прошёл кучу курсов по Java, но так и не смог нигде устроится на
работу и написал гневное письмо автору статьи в которую он так поверил.

Солидарен с комментариями о том, что этот человек небось просто только
по курсам и задачкам считает себя крутым, но на деле на собеседованиях
выясняется что реальной базы или понимания нет никаких. Человек
возмущается что автора взяли только с голым знанием Java+SQL, но без
framework-ов. Про Java мир ничего не могу сказать, но в Python или Go
незнание framework точно не стало бы проблемой почти нигде: умеешь
разбираться в базе, то уж framework-и осилишь -- они просто могут быть
дополнительным плюсом.

Хотя с этим человеком меня объединяет: "мне 33 года, без семьи, без
детей, ... и без шансов иметь хотя бы одно из вышеперечисленного". А у
автора, в списке самых труднодостижимых целей, заняться сексом по
взаимному согласию одно из самых простых дел в жизни: для меня изучить
иностранный язык новый было бы куда проще. Да и на работу в другую
страну (Англию) меня уже приглашали.

А ещё один комментарий говорит что если для резюме будет гуглиться
аватарка с Гитлером, то это обнуляет шансы на устройство в Израиле.
Забавно, ибо когда меня мама стригла коротко (тот небольшой промежуток в
жизни когда у меня не было длинных волос) для поступления в ФСБ, то
карандашом пририсовала усики и сфотографировала: получилось очень
Гитлер-like. И я это на аватарку в Github повесил. Когда устраивался на
работу, то первым вопросом мне было "вы националист?". А я аватарку то и
не замечал особо, ибо в броузере у меня давным давно картинки по
умолчанию не грузятся. Любят на Западе оценивать людей по чему угодно,
но не по реально им нужным навыкам. Увидел фотографию меня с каким
нибудь вокалистом Marduk (а у меня прямо сейчас его Funeral Myst в
наушниках), то сразу давай до свидания? В общем, люди сами себе ищут
проблем, вместо того чтобы в нормальных странах искать работу.

Ещё понравился комментарий:

    Вы как старожил, просто должно быть помните одну "историю успеха" о
    переезде в Германию, которая была опубликована тут в 2019 году. Где
    один небезызвестный автор писал о том, какой он крутой студент и
    специалист, а в итоге оказалось, что из универа в Германии его
    выгнали, родители в России в глубоких долгах за обучение сына в
    Германии, на работу в Германии его не берут, а живет он там только
    потому, что сожительствует с престарелым геем.
    [...]
    Вы забыли добавить, что на Хабре его приняли просто с распростертыми
    объятиями. Карма его росла экспоненциально, а в комментариях был
    восторженный хор поклонников, который на моё не очень эмоциональное
    и вполне корректное критическое замечание к автору, моментально слил
    карму в глубокие минуса.

    Рецепт успеха очень прост: достаточно писать «Рашка — отстой, вот в
    Европе уууу», «Русский язык и кириллица отстой — для прогресса надо
    переходить на латиницу, а то и вообще английский» (он действительно
    что-то в этом роде писал), и т.д. и т.п. Это и рецепт как быстро
    подрастить карму, и собрать хор восторженных поклонников, несмотря
    на полную неадекватность (достаточно загуглить ник этого персонажа —
    GamerSuper).

3 years agoFredrik Thordendal -- Sol Niger Within сессия
Sergey Matveev [Thu, 15 Jul 2021 17:34:04 +0000 (20:34 +0300)]
Fredrik Thordendal -- Sol Niger Within сессия

https://www.youtube.com/watch?v=HIdjLw-7Xa0
Про альбом этой группы (гитариста Meshuggah) уже писал в
1eed2bbf606bacf8a8c21f46ddfbaf44d06748e9, а тут вот видеозапись сессии с
одним только барабанщиком и гитаристом.
Всё вот это наяривание без мелодий обожаю!

3 years agoПробую использовать alias -s в zsh
Sergey Matveev [Thu, 15 Jul 2021 17:07:03 +0000 (20:07 +0300)]
Пробую использовать alias -s в zsh

В zsh можно "открывать" файлы путём их исполнения. Исполняемые файлы
будут запускаться, а для остальных нужно настраивать alias -s алиасы.
Но из коробки есть zsh-mime-setup функция, которая парсит ~/.mailcap и
~/.mime.types, автоматически добавляя alias -s соответствующие. Пока у
меня это всего лишь просмотр less-ом .txt, lynx-ом .html, и просмотр
картинок с PDF-ками, .info. Но вроде привыкаю уже набирать короткие
doc/html/index<TAB> чтобы оно раскрылось в doc/project.html/index.html
и сразу смотреть его отрендеренную документацию.

Про этот функционал я знал давно, но мне не хотелось заниматься
прописыванием этих алиасов для всех расширений картинок что мне нужны.
Но когда оно может автоматом на основе .mime.types/mailcap, то уже стало
интереснее. Ведь это заодно и будет заставлять меня прописывать
корректную информацию в эти MIME файлы.

3 years agoДомашние компьютеры для BitCoin mining
Sergey Matveev [Wed, 14 Jul 2021 06:49:23 +0000 (09:49 +0300)]
Домашние компьютеры для BitCoin mining

Вспомнилось тут что на работе когда упомянул коллеге о покупке дорогущей
железки, имея в виду стример, он спросил не о ферме для майнинга я говорю?
Когда мне меняли провайдера, то увидев сервачки, тоже спросили из любопытства
не майнят ли они чего? Вот неужели это дело действительно так распространено
у людей, что первой мыслью у них приходит mining?

3 years agoОчередные улучшения completion-а zsh
Sergey Matveev [Tue, 13 Jul 2021 19:53:57 +0000 (22:53 +0300)]
Очередные улучшения completion-а zsh

Если выставить zstyle ":completion:*:descriptions" format "%d"
то при отработке какого-то completer-а будет выводиться его название и
можно будет увидеть что вообще было найдено (дополнение команды, пути,
man-а там). Но я не хочу чтобы он загромождал экран во время дополнения
путей, как самых часто используемых. Легко решается выставлением только
для нужных completer-ов этой настройки (она ещё будет жирным цветом
показывать сообщения):
    zstyle ":completion:*:man:*:*:descriptions" format "%B... %d%b"
    zstyle ":completion:*:parameters:*:*:descriptions" format "%B... %d%b"
Если ничего нигде не было найдено, то можно добавить вывод сообщения об
этом, чтобы чётко понимать что completer-ы честно отработали, а не это я
забыл нажать на кнопку дополнения:
    zstyle ":completion:*:warnings" format "%F{red}no matches: %d%f"
А ещё сообщения нужно/можно сгруппировать, чтобы выводились отдельно
сообщения descriptions, далее найденные в этой группе предложения:
    zstyle ":completion:*" group-name ""
А конкретно у man completer-а есть своя собственная настройка
разделяющая запрос по секциям:
    zstyle ":completion:*:manuals" separate-sections true

Проделав всё это:

    % man write<TAB>
    ... manual page, section 1 (general commands)
    write
    ... manual page, section 2 (system calls)
    write   writev

    % man ports<TAB>
    ... manual page, section 5 (file formats and conventions)
    portsnap.conf
    ... manual page, section 7 (miscellanea)
    ports
    ... manual page, section 8 (maintenance commands and procedures)
    portsnap

    % echo GO<TAB>
    ... parameter
    GOCACHE  GOPATH   GOPROXY  GOSUMDB

    % echo something<TAB>
    no matches: `file' or `parameter'

3 years agoAbandoned software downgrade fest
Sergey Matveev [Tue, 13 Jul 2021 19:38:13 +0000 (22:38 +0300)]
Abandoned software downgrade fest

http://fddvoron.name/aswdf/
Видео с ASWDF мероприятия: retro-computing и downgrading. Выглядит
клёво. В видео даже есть загрузка с настоящего магнитофона Спектрумовской
программы.

3 years agoBoxes утилита для рисования boxes
Sergey Matveev [Tue, 13 Jul 2021 15:05:07 +0000 (18:05 +0300)]
Boxes утилита для рисования boxes

https://boxes.thomasjensen.com/examples.html
https://boxes.thomasjensen.com/box-designs.html
В конфиге можно задать шаблон по которому будет рендерится обрамление.

3 years agoFictionBook2 в HTML
Sergey Matveev [Tue, 13 Jul 2021 12:17:19 +0000 (15:17 +0300)]
FictionBook2 в HTML

https://github.com/gribuser/fb2any
Почти все книги художественные я читаю на eBook аппаратном. Но иногда
нужно что-то найти/скопировать из них. MuPDF+Zathura можно использовать
для чтения FB2 (f5ac4628c014cc4c9fb43f7f15c6bd5cc211d24d), но... GUI, бе.
В репозитории fb2any есть разные XSL которые могут выдать HTML
(FB2_2_html.xsl) или текст (FB2_2_txt.xsl) вполне себе отличный.

3 years agoИстория изометрических видеоигр
Sergey Matveev [Tue, 13 Jul 2021 06:46:39 +0000 (09:46 +0300)]
История изометрических видеоигр

https://www.youtube.com/watch?v=fZC5Wy2jywI
http://feedproxy.google.com/~r/Old-games-ru-news/~3/JmYuEaQAYU8/
Помню что самая впечатляющая по графике игра на Спектруме у нас была
как-раз Knight Lore. Правда у меня в неё толком не получалось играть,
уж не помню почему.

3 years agoПросмотрел 3 сезона "Летающего цирка Монти Пайтона"
Sergey Matveev [Mon, 12 Jul 2021 19:49:27 +0000 (22:49 +0300)]
Просмотрел 3 сезона "Летающего цирка Монти Пайтона"

https://ru.wikipedia.org/wiki/%D0%9B%D0%B5%D1%82%D0%B0%D1%8E%D1%89%D0%B8%D0%B9_%D1%86%D0%B8%D1%80%D0%BA_%D0%9C%D0%BE%D0%BD%D1%82%D0%B8_%D0%9F%D0%B0%D0%B9%D1%82%D0%BE%D0%BD%D0%B0
От некоторых скетчей надрываю живот, некоторые не так сильно впечатляют,
бывают и те что я не понимаю. Но такого количества абсурдных идей я не
встречал! Мастера своего дела. Осталось посмотреть их фильм о "смысле жизни".
Вот правда их мультики меня не трогают и их я все проматываю.

3 years agoРазрешение версий ада зависимостей
Sergey Matveev [Mon, 12 Jul 2021 19:25:00 +0000 (22:25 +0300)]
Разрешение версий ада зависимостей

https://research.swtch.com/version-sat
Я знал что нахождение версии зависимости удовлетворяющей разным
требованиям других это непростая задача, но не ожидал что всё это
заканчивается в десятках систем вообще применением SAT solver-ов.

3 years agoTile-ы в деревьях Меркле
Sergey Matveev [Mon, 12 Jul 2021 18:58:58 +0000 (21:58 +0300)]
Tile-ы в деревьях Меркле

https://research.swtch.com/tlog
https://github.com/rsc/tlogdb
Описание устройства GOSUM сервиса хранения контрольных сумм модулей Go.
Интересная идея разбивать дерево на tile-ы и хранить только самые
"нижние" элементы tile-а, а все остальные высчитывая на лету --
существенная экономия места, чуть-чуть нагружая CPU.

3 years agogoproxy
Sergey Matveev [Mon, 12 Jul 2021 18:20:29 +0000 (21:20 +0300)]
goproxy

https://github.com/goproxy/goproxy
https://arslan.io/2019/08/02/why-you-should-use-a-go-module-proxy/
https://about.sourcegraph.com/go/gophercon-2019-go-module-proxy-life-of-a-query/
Попробовал сегодня поработать с этим простейшим GOPROXY демоном, в
котором даже main.go никакого нет -- вот насколько он минималистичен.
Супер простой, без проблем работающий. Для сетевых сборок как shared кэш
для зависимостей отлично подойдёт, тем более что отдавать он будет уже
готовые сжатые .zip-ы. И на днях осознал что его наличие полезно для
минималистичных машин, на которые не хотелось бы ставить git. Нужно тут
было на голой новой системе собирать goredo и другой Go софт -- благо
что я tarball-ы делал с vendor-директорией.

3 years agoNNCP баги и оптимизации
Sergey Matveev [Sun, 11 Jul 2021 19:18:35 +0000 (22:18 +0300)]
NNCP баги и оптимизации

http://lists.cypherpunks.ru/archive/nncp-devel/2107/0249.html
Один человек использует NNCP с Raspberry Pi и у него получилось
воспроизвести проблему с обрезанными пакетами и другой чертовщиной.
Выяснилось что 32-х битная система делает некорректные пакеты. Везде
старался делать int64 где может быть большой размер (например файла,
а не внутреннего буфера), но в самом важном месте, во время создания
шифрованного пакета -- был простой int, из-за которого могли получаться
или отрицательные значения размера или просто меньшие по размеру.
Поставил себе 32-х битную FreeBSD -- с новой версией всё исправилось.

Вообще я частенько про себя думаю что "ну кто ж будет то запускать и
использовать 32-бит софт на ПК"? Но RPi штука хорошо подходящая для NNCP
и распространённая в природе -- всё же не хочется забивать на подобную
платформу.

Ещё я начал было писать функциональные тесты на sharness, но забуксовал
на том, что конфиг в NNCP это Hjson, который хоть и может быть легко
преобразован в JSON, но как с ним работать то добавляя/удаляя/меняя
поля? jq (а точнее я сейчас использую gojq, jq удалил напрочь) позволит
прочитать поля, но не изменить что-то в дебрях внутри. Недавно узнал про
jo и gjo утилиты (40cb8a257f73cc02ea67ad7d50d6a5064ccda81b) и как раз к
месту пригодились и на них начал писать вот такие портянки:

    [...]
    idB=$(gojq .self.id $spoolB/cfg.json)
    exchpubB=$(gojq .self.exchpub $spoolB/cfg.json)
    signpubB=$(gojq .self.signpub $spoolB/cfg.json)

    cfgA=$(gjo \
        spool=$spoolA log=$spoolA/log \
        self=$(gjo id=$idA \
            exchpub=$exchpubA exchprv=$exchprvA \
            signpub=$signpubA signprv=$signprvA \
        ) \
        neigh=$(gjo \
            self=$(gjo id=$idA \
                exchpub=$exchpubA exchprv=$exchprvA \
                signpub=$signpubA signprv=$signprvA \
            ) \
            nodeB=$(gjo id=$idB \
                exchpub=$exchpubB exchprv=$exchprvB \
                signpub=$signpubB signprv=$signprvB \
            )
        )
    )

Вроде бы ужасно, но в принципе даже читаемо глазами вполне. Но до самого
теста дело всё равно так и не дошло, психанул, и добавил возможность
преобразовывать конфиг в директорию, полностью по аналогии что видел в
mlmmj (aac872add6b3defe52aef4d70dbb54a6fcddf973) где всё в виде простых
текстовых файлов, флаговых файлов и поддиректорий.
http://www.nncpgo.org/Configuration-directory.html
Это в тестах очень легко будет модифицировать. NNCP внутри себя может
сконвертировать эту директорию в JSON (точнее структуру аналогичную
после декодирования JSON), так же как и Hjson сначала конвертируется в
JSON. Ну и в принципе автоматизации это стало поддаваться, ибо мысль не
покидает о явном неудобстве списка подписантов multicast area
(ed3fd3765f912c43a16adf4f7032b851a447c695).

Плюс окончательно прооптимизировал реализацию MTH
(26d0fad8f0c8e523ec77c70dec244afc2c0e86e3). Старая осталась
исключительно как reference (можно вызвать через nncp-hash -force-fat).
А новая реализация значительно сократилась по коду, что меня удивило, и
потребляет только самый необходимый минимум памяти: как только
появляются элементы которые можно "схлопнуть" -- сразу хэшируются и
создают элемент более высокого уровня. И это применяется и к докачке тоже.
Думал что будет значительно всё сложнее, но нет.

3 years agoОтладка регулярных выражений
Sergey Matveev [Sun, 11 Jul 2021 10:48:57 +0000 (13:48 +0300)]
Отладка регулярных выражений

https://habr.com/ru/post/567106/
https://www.youtube.com/watch?v=zcSFIUiMgAs
Увидел статью на Хабре про регулярки. А я вот даже не вспомню когда
впервые ими начал пользоваться и впечатляли ли они меня так. Может быть
изначально я уже за DOS-ом пользовался globbing-ом и для меня они были
просто чем-то более мощным и продвинутым, но старой и знакомой темой? А
так как сейчас в командной строке DOS/Windows не часто пользователи
сидят, то и даже globbing-а не встречают в повседневной жизни?

Всюду и везде куча ссылок и советов на всякие online ресурсы для
парсинга регулярок. А я помню что видел некий инструмент для
визуализации и отладки регулярок. Не сразу нашёл, но даже есть видео от
автора его презентующее: Regexp::Debugger. Вместе с ним идёт rxrx
утилита для совсем уж интерактивной работы с RE.

Из коробки можно использовать: use re "debug", -mre=debug. А ещё есть
интерактивная утилита pcretest.