Andrey Stolyarov

Андрей Викторович Столяров: сайт автора

Вниманию пользователей gmail.com! Сейчас почта между моим сервером и gmail кое-как ходит, но сколько это будет продолжаться, никто не знает: эти в любой момент могут придумать что-нибудь ещё. Просьба не дожидаться этого светлого мига и заранее найти другого провайдера почты. Вниманию пользователей ЯНДЕКСА! На всех подконтрольных мне почтовых серверах прекращён приём электронной почты из IP-сетей Яндекса. Отправить мне email, используя услуги Яндекса, как бесплатные, так и платные, теперь невозможно. Рекомендую использовать услуги других провайдеров электронной почты.
«««2524...21»»»

Новости


FEDAnet 0.0.50: пора строить бекбон

Tue Mar 24 11:26:44 2026 UTC

Опубликован очередной тарбол исходников FEDAnet, с номером версии 0.0.50. Я научил, наконец, эти fedaservы обмениваться сертификатами нод и проверять хеши, причём так, чтобы непосредственно взятием хеша могла заниматься машина, сидящая хоть за десятью NATами. Это может быть, например, домашняя машина, на которой нодмастер гоняет браузер — ну, он же где-то браузер точно гоняет :-) В принципе даже не обязательно иметь такую машину в каждой ноде, я вот, например, соответствующий инстанс запустил (через fedaproxy), у него теперь каждый может спросить, не знает ли он такую-то ноду, и каждый может ему представить свою ноду, а он её запомнит. Можно это рассматривать как автоматизированную поддержку коллекции сертификатов нод. Если свой такой не поднимать, единственный недостаток тут — что представлять свою ноду другим придётся вручную; это тоже возможно, в управляющей консоли (которая fedactl) появилась соответствующая команда. Если кратко, то реализованы три новых типа peer'ов:

  • trustncc — такой peer, к которому можно сходить с вопросом "не знаешь ли ты такую-то ноду", и если он знает, то пришлёт её ключевую инфу, подписанную его собственным ключом; идея в том, что мы ему доверяем настолько, что готовы принять от него информацию о ноде, не проверяя её хеш;
  • introducer — та самая "мощная машина", к которой пиры одной с ней ноды (это важно) могут обратиться с двумя интересными просьбами: первая — "сходи вон туда, представь там нашу ноду", а вторая — "мне тут прислали ключевую информацию незнакомой ноды, проверь её для меня plz" (в~этом случае, если проверка пройдена, такой peer сохраняет у себя сертификат только что проверенной ноды, так что если кто-то к нему придёт как к trustncc, он инфу отдаст);
  • certhub — это такая машина, про которую нам известно, что она принимает (и проверяет) информацию о новых нодах; технически это значит, что, когда к нам кто-то придёт незнакомый, мы ему можем посоветовать сходить туда представить свою ноду, подразумевая, что когда он там представится, мы об этом узнаем, например, сходив туда же уже как к trustncc, и он тогда сможет с нами связаться.

В конфигурационном файле появилось три новых опции: allow_nodehash yes разрешает (вообще, так сказать, глобально) данному инстансу считать хеши, intro_issue yes разрешает инициировать процесс представления ноды в роли клиента (что обычно обходится в четыре вычисления хешей от данных, предложенных сервером — это такая защита от DoSа), и intro_accept yes разрешает инстансу принимать представления в роли сервера (для этого нужна заранее сгенерённая таблица задач и ответов a.k.a. challenge-response table, та самая, которую node-ng генерирует по флажку -f и с которой потом можно работать с помощью программы feda-ct).

Технические подробности по ссылке выше, а также в файлах doc/serv.conf и doc/peer_types.txt. Если будут вопросы — задавайте (лучше там, но можно и здесь), постараюсь ответить.

К сожалению, конкретные соединения всё ещё приходится прописывать вручную, но теперь хотя бы новому участнику сети можно связаться с существующими нодами без ручного вмешательства их нодмастеров; ручной работы потребует только добавление новой ноды в списки. Чтобы сеть начала функционировать (в том числе расширяться) вообще без ручных действий, нужно реализовать рассылку широковещательных сообщений, через которую будут работать в том числе анонсы новых нод и изменения их местонахождения. Это как раз следующий этап; если/когда я с ними справлюсь, сеть достигнет функционирующего состояния (видимо, это будет релиз 0.1.00). Только тут есть такой момент, что, чтобы широковещательная рассылка работала, нужно то, на чём она будет работать — то, что обычно зовут бекбоном сети. Строительством этого бекбона можно уже начинать заниматься. Нам нужно, как я это себе представляю, 10-12 работающих нод, живущих на постоянных адресах. Сейчас ноды фактически только так и могут жить, но когда будет рассылка анонсов, нода сможет существовать за NAT'ом, причём если это однопользовательская нода, то даже restricted cone сойдёт. Но бекбон, через который можно будет попасть в сеть тем, кого там раньше не было, в любом случае требует нод, которые сидят на месте и не перемещаются то и дело. Вот его давайте уже попробуем построить.

Спасибо всем, кто следит за проектом!


FEDAnet 0.0.40: теперь с fedaproxy

Mon Feb 2 02:40:00 2026 UTC

Всех, кто следит за проектом FEDAnet, приглашаю оценить очередной снапшот под номером 0.0.40. ОНО теперь умеет, во-первых, давно обещанное проксирование, причём один экземпляр fedaserv, работающий на какой-нибудь VPSке, может обслуживать практически «сколько угодно» клиентов, поддерживая для каждого из них свой порт (единственное известное мне техническое ограничение — количество дескрипторов на процесс, так что теоретически можно больше тысячи). Клиент с прокси-сервером общается по FEDAпротоколу через его основной порт, а для всего остального интернета выглядит как прямо-таки сидящий на том порту, который для него организовал прокси-сервер.

Вторая интересная фича — теперь можно пакеты, адресованые псевдопойнтам 0x00, 0xFE и 0xFF не обрабатывать локально на ноде, а отдавать кому-то из своих пойнтов, причём этот пойнт может сидеть за NATом любого типа. Вообще говоря, ноду за проксёй держать можно, но не очень эффективно по трафику (весь трафик между, например, пойнтом, работающим через свою ноду с кем-то сторонним, и собственно нодой, будет между нодой и её проксёй проходить ДВАЖДЫ), так что вот эта возможность убрать "инфраструктурные" адреса с ноды куда подальше — это ещё один аргумент в пользу запуска ноды непосредственно на VPSке или что там у вас.

Ну и набор команд в управляющей консоли стал изрядно больше, запускайте fedactl и пробуйте (начните с команды help :-))

Спасибо всем, кто следит за проектом!

P.S. Между прочим, приближение магического числа 1770000000 since epoch я в этот раз заметил, уже когда полным ходом готовил этот релиз, минут за сорок до собственно момента. Как говорится, бывает и так. Что характерно, успел :-)


Новые сообщения об ошибках в книгах

Wed May 7 12:01:45 2025 UTC

Поднято в верхушку ленты новостей 13.08.2025
Снова поднято 23.01.2026

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

Почему я их не раскрываю — потому что тогда они из очереди на премод исчезнут, ищи их все потом по всему сайту.

Ничего никуда не пропало! Всё будет отработано, дайте только срок (tm).


Thalassa 0.3.60

Sat Jan 3 00:05:00 2026 UTC

Внезапно вспомнил про данное некоему анониму обещание — оказалось, его уже пора выполнять, что и было проделано: на сайте Талассы выложена версия 0.3.60.

Самое заметное в этом релизе — третий по счёту шаблон для сайтов, называется Woodpecker — собственно, сайт RebuildWorld.net как раз на нём сделан, только цветовая схема чуть другая. Ну и ещё там всякого по мелочи (см. текст новости на сайте Талассы по ссылке из предыдущего абзаца).

Спасибо всем, кто поддержал проект.


HNY

Wed Dec 31 17:26:40 2025 UTC

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


FEDAnet 0.0.35

Thu Dec 25 12:44:26 2025 UTC

Сегодня у нас 1766666666 секунд since Epoch, или 29444444 по-феданетовски. Вдобавок ещё и 25 декабря, т.е. мой день варенья. В общем, на сайте FEDAnet очередная новость с очередным снапшотом исходников. Enjoy.

Спасибо всем, кто поддержал проект!


ftp.croco.net

Sat Dec 20 21:37:46 2025 UTC

Если голова всё равно не работает, займись чем-нибудь, не требующим работы мозга. Например, сисадминством.

Я, наконец, сподвигся перенести ftp.croco.net на VPSку, где есть достаточно дискового пространства. Прямо сейчас это сделало возможным два основных ништяка:


Об анонимных комментах

Sat Dec 20 18:32:35 2025 UTC

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

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

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

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


Глобальный апдейт на rebuildworld.net

Mon Nov 17 14:14:48 2025 UTC

На сайте rebuildworld.net состоялся первый глобальный апдейт.

Всех, кто ждал от меня статьи на тему "почему я не использую STL", а равно и тех, кто ничего подобного не ждал, приглашаю оценить статью 50 Years Later: There Is Still No Silver Bullet (памяти Фредерика Брукса, который, увы, покинул нас ровно три года назад). Ну, она на английском, да. На русском, скорее всего, не будет.

Ещё там в раздел "Projects" добавлена парочка предложений форкнуть существующие проекты (ну, или хотя бы попытаться). А то обидно, что добро пропадает.

Ну и по мелочи — дополнен список табу, дописаны тексты про "Download-and-Execute" и форматы данных с рекурсивной вложенностью.

Enjoy.


Торренты видеоблога

Sun Oct 26 14:13:20 2025 UTC

Выход сотого ролика сподвиг меня навести порядок с торрентами. Во-первых, появилась «пятая часть» — торрент, содержащий ролики с 075 до 100. Во-вторых, обновлён торрент со "всеми" роликами: оттуда убран невесть как туда проникший x01, а все ролики основной нумерации (вплоть до 100-го), наоборот, добавлены. Качайте на здоровье :-)

UPD: Народ, кто выкачал infoviolence_all и встал на раздачу — вам огромное спасибо, респект и всё такое. Вот прямо я вам очень сильно признателен. Только, если можно, начните раздавать ещё и infoviolence_part5_075_100 -- если у вас Linux или BSD, то сначала создайте директорию с таким именем рядом с infoviolence_all, потом командой ln сделайте хардлинки видеофайлов с номерами с 075 по 100, и после этого открывайте torrent-файл своим клиентом, он всё подхватит, скачивать не придётся ничего. Если, ктулху упаси, винда — ну, хардлинков там не завезли, но можно же копии сделать, объём файлов по нынешним временам не такой большой (ну, если не о скачивании речь идёт, а просто о хранении на диске). А то это, того, за раздачу infoviolence_all я уже более-менее спокоен, а вот несчастная part5, если я сейчас с раздачи уйду (ну мало ли), может и тазиком накрыться.


RSS feed
«««2524...21»»»

пояснение


Вы находитесь на официальном сайте Андрея Викторовича Столярова, автора учебных пособий по программированию и информационным технологиям.

Если вы искали сайт замечательного писателя-фантаста Андрея Михайловича Столярова, то вам, к сожалению, не сюда.

Андрей Михайлович Столяров в библиотеке Мошкова

Авторские права © Андрей Викт. Столяров, 2009 — 2026