Andrey Stolyarov

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

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

Новости


FEDAnet: полная версия исходных текстов

Wed Jun 25 18:00:00 2025 UTC

Кажется, мне удалось-таки допилить исходники FEDA (включая сервер) до состояния, когда их всё-таки можно показать публике. Не, ну там, конечно, внутри по прежнему жуть с ружьём, но совсем откровенные заплатки я вроде заборол. Так что если у кого есть больше одной машины на реальных IP-адресах, можете попробовать поднять свою систему серверов для проверки типа NAT. Можно, естественно, кооперироваться. Сервер ресурсов жрёт чуть больше чем ничего, всё, что ему нужно — это один несчастный UDP-порт.

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

В общем, вот новость на сайте FEDAnet, вот тут качать архив.

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


Status update (как дела и какие перспективы)

Mon Jun 16 08:09:05 2025 UTC

Это текстовая версия моего очередного видеообращения «на красном фоне», опубликованного сегодня чуть раньше (оригинал здесь). Если вам не нравятся фандрайзинговые обращения — просто дальше не читайте. You've been warned.

more...


Проверь свой NAT!

Fri Jun 13 23:30:00 2025 UTC

Празднуем пятницу-тринадцатое: на сайте FEDAnet опубликован архив feda-ng-0.0.03.tgz, включающий в себя программу natcheck. Запускать командой natcheck -v -v. К сожалению, сия программа не собирается статически — спасибо гнусным гнушникам с их дебильным подходои к построению glibc; со "стандартной" библиотеки надо, похоже, потихоньку слезать, но пока есть другие приоритеты.

Для проверки типа NAT нужна система серверов, как минимум два, лучше больше. Сервера, которые я сейчас сделал доступными, называются nc1.feda.croco.net, nc2.feda.croco.net и nc3.feda.croco.net. Первый используется по умолчанию, но если он вдруг окажется недоступен (например, тупо упадёт) — можно указать в командной строке любой из двух других.

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

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

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

UPD: народ, попробуйте кто-нибудь свой мобильный интернет. Либо WiFi расшарьте, либо ещё большинство смартфонов умеет превращаться в USB ethernet, если при активном мобильном интернете воткнуть шнурок и потребовать (в менюшках) что-то вроде USB tethering. Когда я ещё жил в России, как минимум у Мегафона точно был FullCone, сам проверял. Интересно, как оно сейчас.

UPD2: Если кто не помнит, нужный тег для обрамления простынь вроде экранного лога называется <pre> :-)


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

Wed May 7 12:01:45 2025 UTC

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

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

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


Задачник

Fri May 2 15:00:00 2025 UTC

Programming Intro taskbook cover Ну всё, короче, вот вам, почтеннейшая публика, и задачник к Введению в профессию в исправленном варианте. Скачать PDF можно на странице, посвящённой новому изданию.

Всё, что было в эррате, исправлено; кроме того, изменены условия задачи 1.55 (в том варианте, в котором задачник был издан на бумаге, правильное решение этой задачи не соответствовало авторскому замыслу). Ну и кликабельное оглавление появилось, как я и обещал.

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

Обращаю внимание почтеннейшей публики, что пресловутое превышение количества слоников над количеством ёжиков на проекте нового издания «Введения в профессию» в настоящий момент составляет магическое число 13; в какой-то момент, если мне память не изменяет, было 19, но потом пожертвования пошли на спад, а я свою деятельность, наоборот, активизировал, благо самочувствие пока позволяет. Так или иначе, новых ёжиков там в ближайшее время не предвидится, а свои обещания я подтверждаю: если будет превышение на 30, я всё тут же перевыложу с корректным текстовым слоем, а если вдруг получится 50 (вряд ли, конечно, но если вдруг), сделаю версию в fb2.

Всем поддержавшим спасибо за поддержку.


Ну вот и третий

Wed Apr 30 20:30:00 2025 UTC

Programming Intro vol.3 cover Опубликован третий том Введения в профессию. Скачать PDF можно на странице, посвящённой новому изданию.

Все ошибки, присутствовавшие в эррате второго издания, исправлены. Наиболее заметной переработке подверглись параграфы десятой части (посвящённой языку Си++), в которых разбираются примеры «разреженный массив» и MultiMatrix, а также параграф про перегрузку операции индексирования. В двенадцатой части изрядно перепилен параграф 12.2.2, он даже сменил название.

Как и было обещано, присутствует кликабельная навигация и оглавление, видимое для pdf-смотрелок. О связанных с этим глюках см. предыдущую новость.

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

Всем поддержавшим спасибо за поддержку. Между прочим, если бы не шквал донатов, третий том раньше осени я бы точно не допилил.

UPD: Новая версия архива примеров выложена, скачать можно на странице по ссылке выше.


Второй том

Wed Apr 9 12:30:00 2025 UTC

Programming Intro vol.2 cover Опубликован второй том Введения в профессию. Скачать PDF можно на странице, посвящённой новому изданию. Все ошибки, присутствовавшие в эррате второго издания, исправлены; существенным правкам подверглись приложения (в том числе приведён в соответствие с текущей реальностью параграф про valgrind), доработан фрагмент про эксперимент с X-сервером, поправлен параграф про mmap, доработаны параграф про буферизацию ввода-вывода и параграф про сеансы и группы процессов; дополнен вводный текст в части про параллельное программирование, в той же части переработан параграф, посвящённый задаче о спящем парикмахере; ну и ещё много всяких мелких правок, все я уже не упомню.

Из технических новшеств — кликабельная навигация и оглавление, видимое для pdf-смотрелок. Из-за этого же могут быть глюки со ссылками (в том числе с их текстом). Один такой глюк я даже знаю: cсылки на другие тома не работают, но выключить их я, извините, прямо сейчас не осилил, так что ведут такие ссылки (если по ним таки кликнуть) исключительно куда попало. NB: ссылок в тексте не видно, но они есть (параграфы и главы, страницы, библиография, сноски).

Всем поддержавшим спасибо за поддержку, это мотивирует.


Навигация теперь с меня :-)

Fri Mar 28 16:16:41 2025 UTC

Между тем, превышение количества слоников над ёжиками на проекте третьего издания «Введения в профессию» достигло первого из обозначенных ранее пределов (10). Кликабельная навигация теперь с меня.

Всем спасибо!

more...


Обращение к публике

Tue Mar 25 10:30:00 2025 UTC

Обращения к аудитории за поддержкой в явном виде я практикую сравнительно редко, первое обращение в таком формате, когда ещё видеоролик выкладывается, было в декабре 23 года, второе в сентябре 24го, теперь вот у нас март 25го.

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

more...


Thalassa CMS 0.3.50: фильтрация атрибутов в тегах

Mon Jan 20 15:42:07 2025 UTC

UPD (21.01.2025): в версии 0.3.50 обнаружились неприятные ошибки, доступен архив версии 0.3.51.

UPD (22.01.2025): и вдогонку версия 0.3.52.

Недавно двое вебанутых дегенератов наглядно продемонтрировали мне, что в комменты можно засунуть жабаскрипт, невзирая на фильтр: теги script и object, конечно, в число разрешённых не входят, но до сей поры Таласса фильтровала только теги (по их именам), а все атрибуты оставляла как есть. Между тем комитетская мразь, придумавшая HTML5, впендюрила туда «событийные» атрибуты вроде onlclick, onpageshow и прочее в таком духе, а лишённые, похоже, последних остатков мозга браузерописатели положили с прибором на то, документ какого типа они рендерят, так что все эти (вроде бы специфичные для HTML5) атрибуты стали «работать» сразу везде. в том числе в XHTML, где их отродясь не было. Плюс к тому я почему-то (не спрашивайте, почему) думал, что из этих атрибутов можно только вызывать функции, описанные где-то ещё, типа если нет скриптов, то и вызывать будет нечего. На самом деле, естественно, туда можно засунуть произвольный скрипт, и если бы я об этом хотя бы на полминуты задумался, то, конечно, догадался бы — но я не задумался.

В общем, пришлось мне несколько дней потратить на переписывание фильтра. Там практически честный конечный автомат, и в нём в итоге стало чуть ли не вдвое больше состояний. Получившуюся в итоге версию я только что выложил под номером 0.3.50.

Если на вашем сайте есть техническая возможность оставить комментарий без прохождения премодерации, обновляйтесь прямо сейчас. Во всех остальных случаях можно так сильно не торопиться. В любом случае скорее всего при переходе на эту версию с предыдущей ничего не сломается. Ну, не должно. В конфигах (и самой Талассы, и CGI) в секции [format] появился параметр tag_attributes, перечисляющий разрешённые атрибуты, но если его нет (а откуда бы ему взяться, пока вы его руками не написали), по умолчанию используется строка a=href img=src img=alt, т.е. в комментах (с точки зрения Талассы — в текстовых файлах с заголовками, где в поле format: присутствует токен tags, предписывающий прогонять контент через фильтр тегов) разрешается только использовать атрибут href в тегах a и атрибуты src и alt в тегах img. Вряд ли в комментах на вашем сайте можно найти что-нибудь ещё, если только среди ваших комментаторов не нашлось больших затейников.

Инджой, короче.

more...


RSS feed
«««2322...21»»»

пояснение


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

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

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

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