Микроблог капсулы @continue
Микроблог капсулы @continue. Пока в планах писать сюда мета-информацию о капсуле.
Содержимое страницы старается соответствовать формату TinyLogs:
author: @continue
avatar: @
licence: UNLICENSE
2025-12-01 20:00 MSK
Запустил декабрьское приключение в формате микроблога:
2025-10-22 13:00 MSK
Вышел новый "опёнок", но альтернативу openat(2) (O_BELOW / F_BELOW) в него пока не завезли :(
2025-10-20 13:00 MSK
Что-то я вчера не прочитал внимательно условия BGGP1 и BGGP2 и замахнулся своим решением на них. Мой промах.
2025-10-11 20:00 MSK
В продолжении темы капсул, недоступных со стороны РФ: milkspace.xyz попала в их число :( Как-то грустно и требует мер.
(обновление сертификата сервера тут совсем не поможет)
Потратил немного времени и добавил в свой форк AV-98 возможность работы через SOCKS сервер:
Теперь (после установки опции socks_proxy) содержимое капсулы снова доступно всем назло:
AV-98> set socks_proxy socks5://127.0.0.1:8888 AV-98> g milkspace.xyz milkspace.xyz Добро пожаловать на мою страничку в интернете 👋 <...>
Кстати, SOCKS5 можно получить через ssh-соединение с пабниксом, сервер которого находится в нужной географической локации:
2025-10-10 15:00 MSK
Стал замечать, что капсула offpunk.com всё чаще стала недоступна из РФ :( А там ведь не просто капсула, но и важный для русскоязычного gemini проект "Sphere". Благо есть пара обстоятельств, которые удачно совпали:
- у проекта "Sphere" есть собственная atom-лента:
- а у этой моей капсулы (которая по счастливому стечению обстоятельств хостится за пределами РФ) есть конвертер atom-лент:
Вместе они позволяют заглянуть в результаты работы проекта Sphere в виде Gemini-ленты со стороны РФ:
2025-09-08 19:00 MSK
Что-то совсем обленился, поэтому напишу хотя бы в микроблог.
Первый раз прочитал "Улитка на склоне" братьев Стругацких. Понравилось, не разочаровало.
От себя рекомендую читать саму повесть, потом комментарии (да хотя бы на той же флибусте), а затем выступление Бориса Натановича:
Комментарии от автора интересны и сами по себе. Но эти необычны хотя бы тем, что по другим своим произведениям братья Стругацкие давали какие-либо разъяснения с большой неохотой. А тут особенный случай.
2025-08-18 16:00 MSK
Ещё немного контента для видео трансляции через gemini (gstream 📺):
Это небольшой отчёт о прошедшем 16 августа концерте на ART FERMA 36 в пригороде Петербурга. Ролик не мой, я только сохранил себе копию на память об этом мероприятии.
2025-07-25 13:00 MSK
В недавней публикации "gstream 📺 трансляция через gemini" я обратился в gemini сообществу с вопросом о потоковом вещании mp4 файлов:
А сегодня получил ответ от cthulhu. Ответ от живого человека, решающий мою проблему. Спасибо, это по-настоящему приятно!
(кстати, задумайтесь: когда вы получали последний раз решение своего вопроса от живого человека, а не от поисковика или БЯМ)
В моей капсуле все mp4 файлы лежат в одной директории. Поэтому моя проблема решилась вот таким "однострочинком" на sh (исполнить в директории с mp4 файлами):
for file in *.mp4; do cp $file tmp_$file && qt-faststart tmp_$file $file && rm tmp_$file ; done
Теперь (благодаря cthulhu!) можно смотреть все старые записи из архива фотоловушки с использованием gstream.
2025-06-10 15:00 MSK
Сегодня в honk прилетел очередной ActivityPub-пост с просто сумасшедшим форматированием:
Это позволило поймать очередной баг в lonk, который позволял инъекцию строки ``` внутри тэга <pre>. Упрощённо тело поста выглядело так:"<pre>\n```\n</pre>".
Пробел нулевой ширины (U+200B, zero-width space) пригодился и тут. Исправлено.
2025-05-29 16:00 MSK
В списке рассылки OpenBSD Theo de Raadt (deraadt@) предложил отличную (на мой взгляд) идею, как сделать функцию openat безопасной. Что бы лучше разобраться самому я подготовил перевод:
Если этот код будет принят в OpenBSD, то есть большой шанс, что я внедрю новый подход в свой Gemini сервер vostok. Пока рано говорить, но возможно vostok станет настолько зависимым от этого нового подхода, что я прекращу поддержку других операционных систем. Если вы вдруг используете сервер vostok на ОС, отличной от OpenBSD, пожалуйста, сообщите мне об этом на почту continue@to.any-key.press или через ActivityPub: @continue@honk.any-key.press
2025-05-23 17:00 MSK
Как я и предполагал при создании fork'а AV-98, проблемы в оригинальном репозитории на sourcehut исправлены. Моя ветка AV-98 обновлена до последнего изменения в ветке master на sourcehut (36f64a23).
Узелок на память: что бы в got добавить новый remote понадобилось в got.conf (который расположен в клонированном репозитории) дописать новую секцию:
remote "sourcehut" {
server git.sr.ht
protocol https
repository "~solderpunk/AV-98"
branch { "master" }
}
2025-05-14 13:00 MSK
Больше реализаций ActivityPub серверов - больше крайних случаев. Сегодня с экземпляра GoToSocial прилетел HTML заголовок четвёртого уровня, который я в lonk (по простоте душевной) преобразовал в соответствующий заголовок gemtext. Но я подзабыл, что в gemini только три уровня заголовков. Фикс довольно тривиальный: заголовки уровня 3 и выше конвертируются в заголовоки третьего уровня.
2025-05-13 15:00 MSK
Поправил в lonk обработку хэштегов в начале параграфа, что бы они не превращались в заголовок первого уровня. В большинстве случаев этого не происходит потому, что ActivityPub сервер присылает хэштеги ссылками. Но некоторые реализации (например threads.net) оставляют их в теле поста простым текстом:
У центральных теплосетей есть неустранимый недостаток.
Всегда в каких-то квартирах будет жарко (и будут дорого оплачивать за отопление в форточку), а в других – холодно.
#Отопление
Раньше это ломало gemini-разметку текста. Но я сделал простой хак: для этого случая поставил пробел (U+200B, zero-width space) перед "решёткой".
Хотя другие варианты разметки я сознательно не стал обрабатывать. Ещё есть большое количество AP-серверов, которые не поддерживают markdown-разметку, но люди всё равно по привычке ставят, например, символ > в начале строки с цитатой. А gemini клиенты разбирают эту разметку как gemtext и отображают пост в правильной форме.
2025-04-25 13:00 MSK
Я со школьной скамьи люблю творчество Андрея Платонова. Но, кстати, отчасти и потому, что прочитал его первую (для меня) повесть "Сокровенный человек" не "по программе", а самостоятельно. Просто случайно открыл книгу, прочитал первые строки и дальше не смог оторваться:
Фома Пухов не одарен чувствительностью: он на гробе жены вареную колбасу резал, проголодавшись вследствие отсутствия хозяйки.
— Естество свое берет! — заключил Пухов по этому вопросу.
И для меня Платонов это мастер большой формы: романы, повести. Но тут мне попался архив проекта "Стереотеатр", где разыгрывают разные аудиоспектакли. Или просто читают, как это и произошло с рассказом Андрея Платонова "Никита". Мне понравилась малая сказочная форма, нужно будет при случае ознакомиться и с другими произведениями автора.
А в своей капсуле я сохранил архив этого выпуска проекта "Стереотеатр":
2025-04-09 11:00 MSK
Кстати, а этот GemPub довольно удобно читать локально командой "tour" браузера AV98:
Распаковываем скачанную книгу в локальную директорию, открываем заглавную страницу (index.gmi или "grep index metadata.txt") в AV98 и заносим все ссылки во внутреннюю очередь tour (например командой "t *"). А затем "итерируемся" по содержимому командой tour (или просто "t") без аргументов:
$ unzip ray_bradbury_short_fiction.gpub inflating: metadata.txt <...> $ grep index metadata.txt index: book/index.gmi $ av98 book/index.gmi Welcome to AV-98! Enjoy your patrol through Geminispace... [1 file] Titlepage [2 file] Imprint [3 file] Don’t Get Technatal <...> AV-98> t * AV-98> t Short Fiction By Ray Bradbury. AV-98> t This ebook is the product of many hours of hard work by volunteers for Standard Ebooks, and builds on the hard work of other literature lovers made possible by the public domain. <...> AV-98> t Don’t Get Technatal For several moments Stern had eyed his typewriter ominously, contemplating whether he should utter the unutterable. Finally: “Damn!” he roared. “I can’t write any more! Look, look at that!” He tore the sheet out of the rollers and crumpled it in his fist. “If I’d known it would be this way,” he said, “I wouldn’t have voted for it! Technocracy is ruining everything!” <...>
2025-04-07 19:00 MSK
Раз уж вернулся к проекту "Катастеризм" для исправления ошибки, то решил его немного и доработать. Добавил разбор микроблогов.
Не стал делать отдельный разбор "Re:" (детали в "RFC: TinyLogs format"). Это значит, что ссылка на микроблог не будет разобрана. Возможно доработаю это в будущем.
Ну а ссылка из микроблога в "обычную" публикацию будет отображаться по общей логике. Пример:
2025-04-02 09:00 MSK
Сегодня с удивлением обнаружил, что страница проекта "Катастеризм" пустая:
Входим в пабникс по ssh и вуаля: "You have new mail". Необработанное исключение в cron'е упало в локальную почту, хотя я ничего для этого не настраивал. Это *nix :)
Сперва я пошёл не по тому пути. Я подумал, что не перехватил специфическое исключение из модуля socket. Но ларчик открывался проще: я ловил исключения только при запросе страницы ленты публикаций. А для капсулы muu-online.ru оказалось, что страницу-ленту (gemini://muu-online.ru/) сервер отдаёт, а вот одну из публикаций (gemini://muu-online.ru/2025/02/commander.gmi) - нет (time out).
Ошибка исправлена. Хронология Катастеризма на сегодня немного сбита, но ближе к полуночи должна прийти в норму.
2025-03-25 21:00 MSK
С удовольствием послушал выпуск "Искусствовед Ольга Чуворкина - Как Михаил Врубель из юриста стал художником и получил признание?" из подкаста "Мослекторий". Довольно субъективный, но от того не менее интересный взгляд на жизнь Врубеля. Для себя узнал новые моменты, хотя в своё время целенаправленно интересовался биографией художника. Интересная личность, которой, кажется, претило быть публичной. Поэтому так мало осталось документальных свидетельств, поэтому столько догадок и теорий. Но я со свой стороны отлично понимаю желание творца не выносить личное на всеобщее обозрение.
По традиции сохранил копию у себя в капсуле:
2025-03-21 21:00 MSK
Какое-то время назад я участвовал в пятом Binary Golf и предложил три решения, описав их в своей капсуле:
И вот: "Мама, я в телевизоре!" (все три решения взяли первые места в своих номинациях)
::: File Name Hax ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
continue won python without args (and pyc), by executing the entire filename as a script.
::: 3x Category Winners ::::::::::::::::::::::::::::::::::::::::::::::::::::
continue
- HTTP
- Python (no args)
- Python pyc (no args)
2025-02-14 09:00 MSK
В публикацию "DOSBox как стенд для кода загрузочного сектора" дописал пример формирования nasm'ом содержимого загрузочного сектора целиком (512 байт с требуемыми сигнатурами). Правда DOSBox такое не переварит, нужен, например, QEMU:
2025-02-12 09:00 MSK
Понемногу переформатирую разделы капсулы под формат "Subscribing to Gemini pages" (те, куда добавляю новые публикации).
На текущий момент переформатированы разделы:
Получается что-то вроде тэгов: можно подписаться на отдельный подраздел.