Andrey Stolyarov

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

Гостевая книга

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

Связаться с автором сайта можно также через страницу обратной связи, которая позволяет отправить автору email.

Более старые комментарии можно посмотреть в архиве гостевой книги.

Учтите, что комментарии на этом сайте премодерируются.


From bugreport (unverified) Mon Mar 30 06:30:18 2026 UTC pencil

bugreport

FEDAnet 0.0.51 — Отчёт об ошибках

Криптография и безопасность

1. PRNG сломан — seeded никогда не выставляется в 1 (HIGH)

keyutils.c:96–115 — Флаг seeded инициализирован в 0, но нигде не выставляется в 1 после первого seed'а. В результате PRNG re-seed'ится из одних и тех же фиксированных констант (v = 4101842887655102017LL, w = 1) при каждом вызове. Последовательность fill_noise, rand_from_range, comctx_fill_nonce становится детерминистической. Это критически влияет на генерацию nonce'ов.

2. Нет защиты от replay-атак (HIGH)

fsrv_rx.c:3285 — После дешифрации пакета nonce не проверяется на монотонность (не сравнивается с предыдущим nonce от этого пира). Код содержит пометку YYY от автора, подтверждающую, что проверка ещё не реализована. Аналогичные пометки на строках 2325 и 2471. Повторно отправленный зашифрованный пакет будет обработан повторно.

3. Ключ дешифрования не обнуляется на стеке (MEDIUM)

fsrv_rx.c:1893, 2120unsigned char decrypt_key[32] выделяется на стеке в handle_certhub_tip и handle_associate_request, но нигде не вызывается crypto_wipe() после использования. Контрастирует с тем, что в comcrypt.c:derive_cipher_keys и модулях fk_*.c это делается корректно.


Переполнение буфера и нарушение памяти

4. Переполнение буфера при сборке фрагментов пакетов (HIGH)

fsrv_pad.c:113–126 — В пути сборки фрагментов (reassembly) отсутствует проверка bufsize перед memcpy. Одиночные (singleton) пакеты проверяются корректно (строка 95), но при сборке нескольких фрагментов накопленный offset может превысить размер целевого буфера. Сетевой злоумышленник, отправляющий крафтовые фрагменты, потенциально может переписать статический буфер pktbuf[4096].

5. Off-by-one в servlog.c (MEDIUM)

servlog.c:152–154vsnprintf возвращает количество символов, которые были бы записаны, а не реально записанные. После len += mlen значение len может превысить sizeof(buf), и последующие buf[len] = '\n' и buf[len] = 0 пишут за границу 4096-байтного буфера.

6. strcat(typestr, NULL) — UB / crash (MEDIUM)

fsrv_cfd.c:54–66 — Цикл итерирует по всем битам от 1 до 0x10000000 (28 итераций), но peer_type_str(n) возвращает NULL для неопределённых битов. strcat(typestr, NULL) — undefined behaviour, на практике crash. Срабатывает при выводе конфигурации через fedactl.

7. strcpy без проверки длины из конфига (MEDIUM)

fsrv_cfg.c:331strcpy(p->name, s) в буфер name[64] без проверки strlen(s) < peer_name_length_limit. Имя пира берётся из конфиг-файла.


NULL-разыменование и логические ошибки

8. NULL pointer dereference в handle_errplus_nodeintro (HIGH)

fsrv_rx.c:2586–2593feda_peer_get_introinfo(fp) может вернуть NULL (если пир не инициировал node introduction). state_good_for_fulfill(NULL) немедленно разыменовывает iinf->status → crash. Другие обработчики (handle_nodeintro_chal, handle_nodeintro_fulf) проверяют на NULL корректно.

9. memcpy(p, node_id, 8) вместо node_id_size (10) (HIGH)

fsrv_rx.c:640–641 — Копируются только 8 байт из 10, но указатель p сдвигается на 10. Два байта в исходящем пакете nodeintro_fulf содержат мусор. Каждый nodeintro_fulf датаграм отправляется с повреждённым node_id.

10. Неинициализированный *rank при раннем возврате (HIGH)

fsrv_rx.c:1621–1624perform_check_save_node возвращает 1 (успех) когда нода уже известна, но не записывает *rank. Вызывающий код передаёт мусорное значение rank в send_nodeintro_fulf.

11. err_func всегда вызывается с fedaprot_err_signature (MEDIUM)

fsrv_rx.c:1670 — Switch корректно вычисляет r, но err_func вызывается с захардкоженным fedaprot_err_signature вместо r. Ошибки key_differs и rank_low неотличимы от signature_fail для удалённого пира.

12. Проверка socket() через !sd вместо sd == -1 (MEDIUM)

fsrv_con.c:648socket(2) возвращает -1 при ошибке. Проверка if(!sd) не ловит ошибку (−1 — non-zero) и ложно срабатывает на fd 0 (возможно после daemonize).


Утечки ресурсов

13. Неинициализированный output_fname — UB + double-free (HIGH)

fk_point.c:603–656char *output_fname не инициализирован в NULL. Если args->out_file задан, переменная остаётся мусорной. На пути goto quitif(output_fname) free(output_fname) — UB (чтение неинициализированной переменной, потенциальный free произвольного адреса).

14. Проверка !fs вместо !fp — wrong variable (HIGH)

fk_point.c:714–720 — После fp = fopen(fname, "w") проверяется if(!fs) (другой файловый дескриптор). Ошибка открытия .pub файла не обнаруживается; при fp == NULL последующий fclose(NULL) — UB/crash.

15. textrecx_data_item утекает в fk_mesg.c (MEDIUM)

fk_mesg.c:410–470, 493–651 — В verify_import_nodecert и verify_import_foreign после успешного read_textrecx_file ни один путь возврата не вызывает textrecx_dispose_data(data).

16. sizeof(dgram) вместо len в проверке sendto (LOW)

natcheck.c:240dgram — указатель, sizeof(dgram) = 8 на x64. Проверка res < sizeof(dgram) не ловит реальные ошибки отправки.


Сводная таблица

#ФайлСтрокиТипУровень
1keyutils.c96–115PRNG re-seed при каждом вызовеHIGH
2fsrv_rx.c3285Нет проверки монотонности nonceHIGH
4fsrv_pad.c113–126Buffer overflow при reassemblyHIGH
8fsrv_rx.c2586–2593NULL deref (удалённо)HIGH
9fsrv_rx.c640–641memcpy 8 вместо 10 байтHIGH
10fsrv_rx.c1621–1624*rank не записан при возвратеHIGH
13fk_point.c603–656Неинициализ. указатель → UBHIGH
14fk_point.c714–720Проверка не той переменнойHIGH
3fsrv_rx.c1893, 2120decrypt_key не обнуляетсяMEDIUM
5servlog.c152–154Off-by-one запись за буферMEDIUM
6fsrv_cfd.c54–66strcat(buf, NULL) — UB/crashMEDIUM
7fsrv_cfg.c331strcpy без проверки длиныMEDIUM
11fsrv_rx.c1670Захардкоженный код ошибкиMEDIUM
12fsrv_con.c648Неверная проверка socket()MEDIUM
15fk_mesg.c410–651Утечка textrecx_data_itemMEDIUM
16natcheck.c240sizeof(pointer) вместо lenLOW

parent From Andrey V. Stolyarov profile Mon Mar 30 17:03:31 2026 UTC pencil

userpic

Re: bugreport

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

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

keyutils.c:96–115 — Флаг seeded инициализирован в 0, но нигде не выставляется в 1 после первого seed'а.

Факт медицинский, ошибка очень досадная. Вот только...

В результате PRNG re-seed'ится из одних и тех же фиксированных констант

...а вот фигушки. Там вообще-то вызов get_random, которая, если в неё заглянуть, вообще-то читает эту самую затравку из /dev/urandom.

Ну то есть ошибка досадная и весьма серьёзная, поскольку весь этот огород с псевдослучайным 64-битным генератором я нагородил, чтобы как раз чтения из /dev/udandom избежать — со всеми его системными вызовами. А так, получается, зря городил весь огород, можно было просто get_random дёрнуть и успокоиться. Но уж точно никак безопасность с криптографической точки зрения сия ошибка не ухудшает, может даже и улучшает, ибо /dev/urandom данные даёт более случайные, чем арифметический PRNG. Ну а уж вот это...

Это критически влияет на генерацию nonce'ов.

...да щас три раза, стал бы я при 64-битном nonce полагаться на случайные числа. Разумеется, там счётчик. А псевдослучайными байтиками заполняется только начальное значение — просто чтобы последовательности пакетов при каждом старте не выглядели "похоже". Так-то nonce совершенно не обязан быть непредсказуемым, он просто должен не повторяться при одном и том же ключе, ключ в данном случае тоже генерится новый случайный при старте (ну, точнее private kex генерится, но все разделяемые шифровочные/дешифровочные от него наследуются и заведомо будут другие), и это уже целиком из /dev/urandom. Т.е. можно было бы вообще на это всё плюнуть и в начальное значение nonce загонять ноль. Или любое другое число, каждый раз одно и то же. Криптография бы не пострадала.

Ну, так или иначе, спасибо, поправил ошибку, теперь не будет чтение из /dev/urandom на каждый чих происходить.

Идём дальше, пункты 2, 3, 4 — согласен, спасибо, поправил. Пункт 5 — тоже согласен, только при чём тут off by one? Тут просто откровенно неправильная интерпретация возвращаемого значения для библиотечной функции, оно, конечно, никогда не проявится, сообщения в лог ведь не из внешнего мира приходят — но да, неприятно. Исправил. Но уж точно это не off by one, off by one — это совсем другое.

Дальше...

fsrv_cfd.c:54–66 — Цикл итерирует по всем битам от 1 до 0x10000000 (28 итераций), но peer_type_str(n) возвращает NULL для неопределённых битов.

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

fsrv_cfg.c:331 — strcpy(p->name, s) в буфер, name[64] без проверки strlen(s) < peer_name_length_limit.

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

Пункт 8 — согласен, сурррррово. Пункт 9 — просто отвратительно. Пункт 10 — ещё отвратительнее. Пункт 11 — эх, вот что копипаста животворящая делает, чтоб её. Спасибо, поправил.

Пункт 12 — башка у меня болела, что ли — такое после сисколла учинить. Но, справедливости ради, ...

ложно срабатывает на fd 0 (возможно после daemonize).

...ну вот уж фигушки так фигушки, daemonize все три "стандартных" дескриптора либо на /dev/null заменяет, либо (в случае, если не смогла открыть /dev/null — ага, уже смешно) вообще не трогает.

Пункты 13, 14 — факт, спасибо, поправил.

Пункт 15 тоже поправил, но я бы не сказал, что это прямо такой уж "medium". Возвращаемое значение обеих функций — это exit code, сразу после возврата из них программа завершается, куда там кто нафиг утечёт в таких условиях.

Ну, пункт 16 — откровенно детская ошибка, тьфу. Видимо, эффект слишком быстрого редактирования, поскольку там ещё двумя строчками ниже этот sizeof(data). Спасибо, поправил.

В целом серьёзная работа проделана, впечатляет.

parent From Ilya profile Mon Mar 30 18:54:42 2026 UTC pencil

Re: Re: bugreport

Подозреваю чувак просто прогнал сорцы через ИИ-шку, особенно учитывая что используется длинное тире.

parent From Andrey V. Stolyarov profile Mon Mar 30 20:13:48 2026 UTC pencil

userpic

Re: Re: Re: bugreport

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

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

From Ilya_Petrushchak profile Tue Mar 24 20:44:32 2026 UTC pencil

Вопрос о выборе образовательной траектории и перспективах профессии

Уважаемый Андрей Викторович! Обращаюсь к Вам как к эксперту, чье мнение в области ИТ-образования и компьютерных наук является для меня ориентиром. В будущем я планирую связать свою профессиональную деятельность с программированием и хотел бы заранее прояснить для себя наиболее верный путь обучения. Меня объективно интересуют Computer Science и системное программирование. В связи с этим возник вопрос: на каком направлении стоит сфокусироваться в университете, чтобы заложить максимально надежный фундамент? Что, на Ваш взгляд, более оправдано в долгосрочной перспективе — классическое математическое образование или специализация на прикладной математике и информатике? Также крайне интересно узнать Ваше мнение относительно будущего нашей профессии в контексте развития технологий искусственного интеллекта. Сейчас много говорят о возможной замене программистов нейросетями. Считаете ли Вы эту угрозу реальной для тех, кто планирует заниматься разработкой на глубоком, фундаментальном уровне, или же качественное образование по-прежнему останется решающим фактором? Буду очень признателен за Ваш ответ и мудрый совет. С уважением, Илья

parent From Andrey V. Stolyarov profile Tue Mar 24 22:01:47 2026 UTC pencil

userpic

Re: Вопрос о выборе образовательной траектории и перспективах профессии

На все эти вопросы ответы тут на сайте давались не один раз и даже не десяток. Если вы не умеете читать, никакая "образовательная траектория" вам не поможет.

parent From Egor profile Sat Mar 28 05:16:45 2026 UTC pencil

Re: Вопрос о выборе образовательной траектории и перспективах профессии

На третьем курсе универа я слушал группу Queen и под впечатлением от игры Брайана Мэя решил, что хочу научиться играть на электрогитаре. Я читал самоучители, смотрел обучающие ролики, изучал теорию, строил "образовательный трек" :). В общем, делал всё, кроме игры на гитаре. Инструмент я потом купил конечно, но выбирал долго, искал "трушную" гитару. Купил кстати на первые деньги от работы программистом :). И буквально после пары самостоятельных занятий понял две вещи:

  1. Чтобы научиться нормально играть (не на уровне Брайана Мэя, а просто хорошо), нужно потратить пол жизни;
  2. Не настолько мне эта гитара интересна, чтобы пол жизни тратить.

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

Я это к чему, ответьте себе честно, правда ли вы хотите стать программистом? Или вам просто нравится некий программистский "вайб", как молодежь говорит. Потому что если бы правда хотелось, то программированием вы бы уже занимались и вопросы у вас были бы более конкретные, а не пространные, про "фундамент" и "занятие разработкой на глубоком, фундаментальном уровне", что бы это не значило :).

P.S. "Мудрый совет" АВ по поводу обучения содержится в предисловии первой, блин, книги.

parent From Andrey V. Stolyarov profile Sat Mar 28 10:51:24 2026 UTC pencil

userpic

Re: Re: Вопрос о выборе образовательной траектории и перспективах профессии

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

В общем да, мотивация — наше всё. Мне никогда не хотелось "как Брайан Мэй", да даже и как Пол Маккартни, мне хотелось как те из моих знакомых, которые могут сами спеть то, что им нравится. Что хотел, то и получил в итоге: в туристических тусовках много кто умеет играть лучше, но мало кто умеет играть ощутимо лучше, так, чтобы неискушённая публика заметила разницу.

parent From EVI profile Mon Mar 30 08:40:49 2026 UTC pencil

Re: Re: Вопрос о выборе образовательной траектории и перспективах профессии

> если человек действительно хочет научиться играть на гитаре, ему для начала хватит и бревна со струнами.

В общем согласен, но бывает и по-другому. Как раз у меня было иначе как с гитарой, так и с Unix-like-системами. :^)

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

С Unix-like-системами, похожая ситуация. Раньше ставил себе, как-то использовал, но жить под этим не научился, да и не понятно как. Пока не наткнулся на книги Андрея Викторовича. Как раз на днях на одном форуме пришёл новый пользователь с "тупыми вопросами", которого дружно форумчане отправили учить матчасть, без конкретики, ибо в интернете всё есть. Только там очень много лишнего, не представляю как вкатываться таким способом. Я пока не знаю лучшего материала для начала знакомства с данными системами, чем упомянутые книги. Есть Slackware Essentials и FreeBSD Handbook, но перед ними всё же лучше ознакомиться с первой главой. Сейчас работаю в коллективе, где в основном все пользуются Linux'ом, но они ими пользуются как форточками в основном.

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

From VdwV profile Tue Mar 24 14:51:28 2026 UTC pencil

Верификация возраста на Linux и других ОС

Андрей Викторович, здравствуйте! Редко где регистрируюсь, но за Вашу книгу и появившийся здоровенный интерес к компьютерам - огромное человеческое спасибо! Теперь это не чёрный ящик, а инструмент, с которым я могу взаимодействовать без мыслей о "какая магия же эти компьютеры". В немалой степени благодаря миграции на Линукс с винды согласно настоянию из книги :)

К чему сам комент - как Вы наверняка уж знаете, бюрократы из Штатов, а именно Калифорнии, вводят закон о верификации возраста для всех ОС. Абсурд и цифровой ГУЛаг, но от правительственных мало чего иного сегодня ожидаешь. Как Вы думаете, это вообще возможно повсеместно имплиментировать? С корпоратами понятно - ни винды, ни мака теперь, только если совсем старые версии ради интереса. А с UNIX-like? Могут ли такое вшить в ядро таких систем это, или это останется прерогативой отдельных популярных дистров через их собственные программы?

parent From Andrey V. Stolyarov profile Tue Mar 24 15:17:15 2026 UTC pencil

userpic

Re: Верификация возраста на Linux и других ОС

Ваш вопрос сформулирован довольно странно. Во-первых, как можно что-то "вшить" в ядро, от которого доступны исходные тексты? Ну то есть вшить-то можно что угодно, как одни вошьют, так другие вышьют. Потом, что такое "их собственные программы"?

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

parent From VdwV profile Fri Mar 27 17:02:14 2026 UTC pencil

Re: Re: Верификация возраста на Linux и других ОС

Стоит признать - спустя время самому кажется, что я странно выразился...

И правда не подумал, что для опен-сорса как это впишет кто-то, так другой и вырежет в отдельном форке. Под собственными программами имел ввиду, что у Ubuntu и Fedora из коробки, как помню, собственные магазины приложений ставятся с системой и можно через них устанавливать приложения. Ересь, занимающая место, потому я пользуюсь Debian (хотя и он не святой, но до Женту и Никса мне далековато пока), однако как пример, что я подразумевал под этим словосочетаним. Но да, никто слава Б-гу не заставляет сидеть на одном дистре, так что простая смена дистрибутива на дистрибутив без слежек решает вопрос махом. Однако какой показатель Цайтгайста... впрочем, не тот сайт для глубоких политико-философских вопросов, тогда на инфонасилие лучше перейти. Тоже звучит как тема для ролика, если подумать, хотя вопрос подобного насилия у Вас наверняка часто поднимался - все ролики новоприбывшему не особо пока удалось охватить. Тем не менее - благодарю за ответ :)

parent From Andrey V. Stolyarov profile Fri Mar 27 17:38:06 2026 UTC pencil

userpic

Re: Re: Re: Верификация возраста на Linux и других ОС

> слава Б-гу

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

From GUIDEV profile Tue Mar 24 14:04:27 2026 UTC pencil

Визуальное программирование

Андрей Викторович, вопрос для FAQ.

Плохо ли визуальное программирование для профессиональных программистов (т.е. для тех, кто уже умеет программировать) как способ быстрого создания программ?

В частности, что вы думаете о Lazarus/Delphi/C++ Builder и подобном инструментарии?

parent From Andrey V. Stolyarov profile Tue Mar 24 14:19:19 2026 UTC pencil

userpic

Re: Визуальное программирование

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

Что я, блядь, о подобном дерьме думаю? Ну, например, что все (поголовно), кто считает возможным хоть в каких-то ситуациях что-то подобное применять, заведомо профнепригодны и их работа с компьютерами иначе как в роли конечного пользователя опасна для окружающих. Кто поумнее — те прекрасно знают, что никакого "быстрого" создания программ с помощью таких, с позволения сказать, "инструментов" не получается — наоборот, любая дрянь такого рода обходится несуразно дорого в плане потраченного времени.

Я, кстати, не припоминаю в Lazarus'е "визуальных инструментов", мне казалось, что это просто IDE — естественно, непригодная к использованию, как и любая (абсолютно любая) IDE, но это просто потому что она IDE.

Вообще ощущение такое, что вы ошиблись сайтом.

parent From diesi profile Sat Mar 28 09:54:22 2026 UTC pencil

Re: Визуальное программирование

Как профессиональный программист, которого на 4 курсе универа заставили программировать на LabVIEW -- единственной полновесной реализации визуального программирования в этом мире -- скажу, что от него жопа горит у всех поголовно, от эмбедеров до вебщиков, программисты в этой среде это какая-то особая форма жизни. Но они таки востребованы, в автоматизации испытаний оборудования только эта среда и используется по ряду причин исторических и монополистических.

From kostic smerch profile Thu Feb 19 15:50:39 2026 UTC pencil

не самая важная но просьба о помощи

Хотел бы попросить совет из каких источников брать информацию для моего школьного проекта по теме "Либертарианство как идея". И, возможно, какие темы стоит в него добавить

parent From Andrey V. Stolyarov profile Thu Feb 19 19:26:03 2026 UTC pencil

userpic

Re: не самая важная но просьба о помощи

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

parent From IankeSigmalevke profile Mon Mar 16 20:26:58 2026 UTC pencil

Re: Re: не самая важная но просьба о помощи

Собираетесь написать свою об либертарианстве?=) Думаю если и напишете, то половина материала уже имеется в видеоблоге.

parent From Andrey V. Stolyarov profile Tue Mar 17 13:44:03 2026 UTC pencil

userpic

Re: Re: Re: не самая важная но просьба о помощи

Ага, я уже лет пятнадцать собираюсь. Ну то есть я сильно раньше начал собираться, чем этот видеоблог появился. А вот соберусь ли в итоге — это, увы, вопрос.

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

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

From feriman profile Thu Jan 22 20:05:03 2026 UTC pencil

userpic

Опечатки

На этой страничке опечатка – в слове "использовать" пропущена буква 'а'.

В HTML-коде всех страниц журналов пожертвований, в шапке таблицы прописан тег <sthong> вместо <strong>.

parent From Andrey V. Stolyarov profile Thu Jan 22 20:12:09 2026 UTC pencil

userpic

Re: Опечатки

Спасибо, особенно с этим sthong — обнаружено 16 вхождений (вот что копипаста живородящая делает)

From feriman profile Sun Jan 4 09:29:14 2026 UTC pencil

userpic

Опечатка

На странице галереи шаблонов опечатка: questbook.

parent From Andrey V. Stolyarov profile Sun Jan 4 10:57:00 2026 UTC pencil

userpic

Re: Опечатка

Видать, по Фрейду. В общем спасибо, пофиксил.

P.S. ещё раз напоминаю, что URL в теге a-href должен быть заключён в кавычки.

From a___ profile Sun Dec 28 07:50:57 2025 UTC pencil

BBCode

http://www.rebuildworld.net/taboo/#xml_et_al

The mere fact people tend to come up with markups like ReST, BBcode, wiki languages, Gemtext etc., clearly demonstrates one thing: HTML is a failure. SGML family, including HTML and XML, failed even for the purpose they were intended — namely, to mark up native language documents.

Почему же на этом сайте используется HTML в комментариях пользователя?

parent From Andrey V. Stolyarov profile Sun Dec 28 10:39:27 2025 UTC pencil

userpic

Re: BBCode

О, это долгая история. Что-то вроде BBCode я планировал с самого начала, но одна из задач, стоявших при реализации Талассы, заключалась в том, чтобы вот этот самый сайт, stolyarov.info, утащить с древней версии Друпала+MySQL+PHP (все три компонента на тот момент были в статусе end-of-life) с сохранением всего контента. Означало это, грубо говоря, что написать фильтр для тегов мне всё равно придётся, поскольку, естественно, в друпальской базе данных все комменты хранились в их исходном виде, а фильтр применялся уже после. Ну так вот фильтр для тегов я написал, сайт с друпала утащил, а вот на то, чтобы написать ещё и конвертор BBcode или его аналога, меня уже не хватило.

В планах оно, естественно, по-прежнему стоит, поскольку вся эта канитель с фильтрацией тегов — ну, там хак на хаке и баг на баге. Чтобы сделать это корректно, нужно прямо в фильтрах реализовать чуть ли не всю DOM-модель, и вот это уже без меня, увольте-с. Так что да, нужен какой-то свой формат для текстов, вводимых извне. Но планы планами, а мои возможности не бесконечны, плюс к тому Таласса всё ещё жёстко недофинансирована, так что приоритет у неё нынче в самом низу, да и в ней самой есть что делать более важного.

На всякий случай, чтоб было понятно, Таласса была спроектирована в 2019 году и тогда же начала частично эксплуатироваться на infoviolence.org, потом была практически полностью реализована в её нынешнем виде к 2023 году, а текст, на который вы ссылаетесь, написан уже осенью текущего, 2025 года. Замечу, вышеупомянутые неприятности с фильтрацией тегов стали одной из причин для вот такого вот упоминания HTML. Впрочем, формально Таласса списку табу не противоречит, читайте его внимательнее.

UPD: Я не нуждаюсь в рекомендациях, как именно парсить BBcode. Мне даже интересно, вы что, всерьёз полагаете, что можете меня чему-то научить или хотя бы рассказать мне что-то новое?

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

From stickler profile Fri Dec 26 15:07:37 2025 UTC pencil

userpic

Mutt на FreeBSD

При установленных локалях и строчке в конфигурационном файле .muttrc

set charset="utf-8"

Все письма отображаются корректно, но что-то происходит

с заголовками писем, которые доставляют одноразовые пароли для входа на сайт.

И вот, недавно, я нашел решение для FreeBSD.

Чтобы обработать заголовок с кодировкой koi8-r нужна строчка

set assumed_charset="koi8-r"

После запуска mutt, с такой конфигурацией, заголовок

?????? stolyarov.info

превращается в

доступ к stolyarov.info

NB: тело письма остается неизменным

(оно и с utf-8 отображалось корректно)

parent From Andrey V. Stolyarov profile Fri Dec 26 16:11:37 2025 UTC pencil

userpic

Re: Mutt на FreeBSD

Ну, формально тут дело в том, что charset, указанный в заголовке, не распространяется на сам заголовок. В том числе на поле Subject. Идиотизм, конечно, но вообще неправ тут я — в Subject'е не надо выходить за пределы ASCII.

From smtw profile Tue Dec 23 09:55:25 2025 UTC pencil

Дожили

Rust for Linux: Rust is here to stay

Вот и дожили до того, что и в ядре linux теперь будет "ржавое" дерьмо. Ни разу не видел, чтобы проги на rust не лагали. По работе приходится пользоваться "окнами", так там сейчас половина рабочего окружения на rust и оно так безбожно лагает. Банальный ресайз в блокноте, способен повесить не самый слабый по современным меркам комп. Особенно круто когда у юзверя какой-нибудь слабенький ноут и банальное открытие настроек превращается в пытку.

Хотелось бы спросить, а куда деваться теперь? В будущем вижу тупое усложнение и увеличивание банальных лагов (я конечно не программист, пока, и судить прямо не могу. Банальный anykey). Брать какие-то форки ядра linux? Сидеть на старых версиях ядра?

parent From Andrey V. Stolyarov profile Tue Dec 23 10:12:53 2025 UTC pencil

userpic

Re: Дожили

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

parent From gcc profile Tue Dec 23 12:01:09 2025 UTC pencil

Re: Дожили

> Хотелось бы спросить, а куда деваться теперь?

Использовать систему, где этой дряни нет. *BSD какой-нибудь.

parent From Andrey V. Stolyarov profile Tue Dec 23 12:08:06 2025 UTC pencil

userpic

Re: Re: Дожили

Дрянь есть везде. Бежать уже некуда, пора давать генеральное сражение.

parent From gcc profile Tue Dec 23 18:52:31 2025 UTC pencil

Re: Re: Re: Дожили

> Дрянь есть везде.

Можете рассказать, о дряни в NetBSD? Я просто особо ничего не заметил...

> Бежать уже некуда, пора давать генеральное сражение.

Как именно?

parent From Andrey V. Stolyarov profile Tue Dec 23 19:34:15 2025 UTC pencil

userpic

Re: Re: Re: Re: Дожили

> Можете рассказать, о дряни в NetBSD?

https://mail-index.netbsd.org/tech-pkg/2025/06/19/msg031281.html и дальше по треду

> Как именно?

Мой личный ответ на этот вопрос здесь: rebuildworld.net Если желаете на эту тему подискутировать — создавайте свой сайт и там дискутируйте.

parent From gcc profile Wed Dec 24 13:52:20 2025 UTC pencil

Re: Re: Re: Re: Re: Дожили

> https://mail-index.netbsd.org/tech-pkg/2025/06/19/msg031281.html и дальше по треду

Это же порт lang/rust. К системе отношения никакого не имеет.

parent From Andrey V. Stolyarov profile Wed Dec 24 16:15:56 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Re: Дожили

Мингуточку, вы спрашивали, где дрянь? Вот она, пожалуйста. А кто там к чему отношение имеет — это, знаете ли, дело наживное. Сейчас с ходу не отыскал, но попадались ссылки, что, мол, мы тут с нашей NetBSD пытаемся плыть против течения, уже пора тоже раст адаптировать, пока от линуксоидов не отстали до степени безнадёжности. Стадный инстинкт — штука серьёзная.

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

parent From dronix profile Wed Dec 24 18:11:34 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Re: Дожили

Во-первых, признаюсь в собственном невежестве, NetBSD я даже в виртуалке не видел, но...

> К системе отношения никакого не имеет.

я тут заметил, что на man.netbsd.org есть секции "3lua LUA MODULES" и "9lua LUA KERNEL BINDINGS". В ходе недолгого поиска были найдены Scriptable Operating Systems with Lua и Lua in the NetBSD Kernel. Судя по статье, они встроили интерпретатор Lua в ядро. Насколько это по факту используется я не знаю, да и новостей после 2015 не нашёл, но потуги были.

parent From Andrey V. Stolyarov profile Wed Dec 24 19:19:21 2025 UTC pencil

userpic

Re: Дожили

Кстати да, вечно путаюсь, что там где — почему-то думал, что эта хрень с Lua стряслась в OpenBSD, но нет.

parent From gcc profile Wed Dec 24 19:34:51 2025 UTC pencil

Re: Re: Re: Re: Re: Re: Re: Дожили

Мда...

https://cvsweb.netbsd.org/bsdweb.cgi/src/sys/modules/lua/

А я уж наделся, что есть чистая ОСь

parent From Andrey V. Stolyarov profile Wed Dec 24 20:44:58 2025 UTC pencil

userpic

Re: Дожили

Как известно, множество мудаков всюду плотное. А с тем количеством безмозглого биомусора, которое нас окружает, ожидать существования "чистой" ОСи было несколько странно. Увы.

parent From Egor profile Fri Dec 26 01:30:12 2025 UTC pencil

Re: Re: Re: Re: Re: Re: Re: Re: Дожили

> А я уж наделся, что есть чистая ОСь

All Operating Systems Suck! :)

parent From Andrey V. Stolyarov profile Fri Dec 26 10:20:07 2025 UTC pencil

userpic

Re: Дожили

Linux sucks differently every time a kernel is released.

И ведь так и есть

parent From EVI profile Sat Dec 27 10:30:57 2025 UTC pencil

Re: Re: Re: Re: Re: Re: Re: Re: Re: Дожили

> All Operating Systems Suck! :)

А есть какой-нибудь список критериев для операционной системы что в ней (не)должно быть, чтобы она считалось нормальной?

У меня сходу только несколько критериев в голову приходит:

  • Открытый исходный код;
  • Монолитная, чтобы нельзя было выполнять привилегированные команды из userspace (возможно, тут должен быть другой вариант, т.к. я не все варианты знаю);
  • Написана на Си или может на другом каком-то чисто компилируемом языке, которого пока нет в природе или мы о нём не знаем;
  • Не должна быть переусложнена, должны быть строгие рамки за которые нельзя вылезать.

parent From Parthen profile Sat Dec 27 13:25:14 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Дожили

Под эти требования подходит TempleOS ;)

parent From EVI profile Sat Dec 27 19:02:02 2025 UTC pencil

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Дожили

> Под эти требования подходит TempleOS

Ага и в списке "сосущих" ОС её нет. ;)

Ну-с, всё решено.

parent From Andrey V. Stolyarov profile Sat Dec 27 19:20:04 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Дожили

Э-ммммм, ну успехов 8-()

parent From gcc profile Wed Dec 24 19:50:46 2025 UTC pencil

Re: Re: Re: Re: Re: Дожили

> Мой личный ответ на этот вопрос здесь: rebuildworld.net

Это все круто, конечно. Но операционная система чистая нужна в первую очередь. Без CMS жить можно, а вот без ОСи -- нет.

И что делать? То ли брать последний BSD UNIX, к которому не было судебных исков 4.3BSD-Lite Release 2 (порезанная 4.4BSD без исходников от AT&T) и приводить его к надлежащему виду (а это 1995 год!), то ли брать NetBSD и форкать, выкорчевывая гадости (как в другой подтеме заметили, lua; С99'измы из некоторых мест).

parent From Andrey V. Stolyarov profile Wed Dec 24 20:16:09 2025 UTC pencil

userpic

Re: Дожили

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

Впрочем, тут есть ещё один момент. Какое конкретно ядро форкать — это не так уж и важно, какое больше нравится, то и форкайте. Если, конечно, хватит на это силёнок. Главная проблема тут уж точно не в том, какое ядро выбрать в качестве оригинала для форка. Проблема, как я её вижу, скорее в том, что держать собственный форк ядра — любого — задача ещё та. Лично для себя я эту задачу считаю заведомо неподъёмной и, соответственно, делать этого не буду. Даже пытаться.

Кстати, вы совершенно напрасно думаете, что без CMS жить якобы можно. Как показало развитие событий, если бы я не написал Талассу до конца мая уходящего года, сейчас не существовало бы ни этого сайта, ни всех остальных, которые я поддерживаю. Ну то есть вот их бы просто не было. Физически. К счастью, я её более-менее завершил аж за два года до этого "магического" момента, и да, одной из причин того, что я на Талассу потратил столько времени, было чёткое осознание того простого факта, что ежели что случится с моим сервером на Owl Linux с допотопными, ещё в конце нулевых отсетапленными OpenVZ'шными контейнерами, пережившими три, если не ошибаюсь, физических компьютера — в общем моим сайтам кранты, это не говоря уже о том, что новые сайты поднимать мне было категорически не на чем аж с середины "десятых". Ну а полгода назад вот таки случилось, физического сервера я лишился, так что теперь те контейнеры мне гонять больше негде — только в это время основные мои сайты уже были перетащены на Талассу и крутились на обычных дешёвых VPSках, от которых нужен фактически только апач или другой http-сервер с поддержкой CGI (вроде кто-то даже постил конфиг для lighttpd).

Между прочим, без компиляторов тоже жить сложно, а последней вменяемой версией gcc была, извините, третья. В смысле, gcc 3.*. Нет, я не пойду её форкать.

parent From gcc profile Wed Dec 24 21:07:05 2025 UTC pencil

Re: Re: Дожили

> Лично для себя я эту задачу считаю заведомо неподъёмной и, соответственно, делать этого не буду. Даже пытаться.

Для меня тоже. Нужна команда. И очень сложный вопрос где ее взять. Даром никто это делать не будет, есть мейнстримный Linux, чтобы потешить свое эго, там могут бесплатно что-то делать, тут вряд ли. Фонд -- ну опять придём к тем же проблемам. Как-то на личных донатах конкретных людей? Ну удачи этих людей организовать. Тут какой-то фундаментальный тупик. Единственное, что может помочь, как мне кажется, это контора, которая будет продавать поддержу к свободному дистрибутиву или что-то в этом роде. Потому что пока нет денег, нет мотивации это делать хорошо. Но тут тоже проблема: пользователей, которые понимают проблемы современного ПО крайне мало, а значит и продать поддержку к такому софту будет сложно. Для многих Linux это отличная система, на которой так удобно докер разворачивать с питон-говнокодом. Сколько людей возмущаются Rust в Linux? Сколько людей возмущается SystemD? А сколько из них захотят тратить свое время (как разработчики) или деньги (как донат) на развитие системы? И будет ли этого достаточно, чтобы проект жил и процветал?

> Кстати, вы совершенно напрасно думаете, что без CMS жить якобы можно.

Сайты, где пишу только я, генерирую с помощью m4 и make. Где-то из этого получаются неприятные головоломки по функциональному программированию с рекурсивным пробрасываем списков аргументов, но жить можно. Где могут писать пользователи, там да, начинаются проблемы.

> Между прочим, без компиляторов тоже жить сложно, а последней вменяемой версией gcc была, извините, третья. В смысле, gcc 3.*. Нет, я не пойду её форкать.

Кстати это тоже очень важный аспект. Категорически не хватает какого-нибудь простого компилятора C++. Если C компиляторов хоть отбавляй, то вот компиляторов C++ действительно не хватает. Прелесть C++ (по крайней мере C++98) в том, что его можно описать для yacc (Warning: github), а значит есть шанс, что появится какой-нибудь наколеночный компилятор, который не будет язык насквозь выламывать ради бесполезных оптимизаций и с простой реализацией, ну, и естественно свободной лицензией. Да, лучше без yacc, но лучше с yacc, чем вообще никак.

parent From Andrey V. Stolyarov profile Wed Dec 24 21:54:01 2025 UTC pencil

userpic

Re: Re: Re: Дожили

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

Единственное, что может помочь, как мне кажется, это контора, которая будет продавать поддержу к свободному дистрибутиву или что-то в этом роде.

Я не знаю, что вы забыли на моём сайте, и чем дальше, тем мне это сильнее непонятно; но уж с идеями плодить очередные конторы идите в другое место. Я не знаю, от кого вреда больше — от блаженных растеров, не умеющих программировать, но умеющих много пиздЕть, или от юридических лиц, влезших в OpenSource/FS, и от их менеджмента. Пожалуй, от юрлиц таки побольше.

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

parent From diesi profile Tue Dec 30 15:25:15 2025 UTC pencil

Re: Re: Re: Дожили

> контора, которая будет продавать поддержу к свободному дистрибутиву

Red Hat просила сообщить, что эта поляна уже давно занята.

parent From Andrey V. Stolyarov profile Tue Dec 30 16:48:24 2025 UTC pencil

userpic

Re: Re: Re: Re: Дожили

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

From stickler profile Mon Dec 22 13:59:38 2025 UTC pencil

userpic

Проверка userpic и suid бит на FreeBSD

Здравствуйте, проверка аватарки :)

Я, пользуясь случаем, хочу ускорить поиск пользователям фряхи. Если кто-то решил снять suid бит с su на FreeBSD, то вам это может сильно сократить время поисков. В свое время я потратил туеву хучу часов, чтобы понять их систему (не понятно зачем так сделали).

Просто так suid бит не снять, по умолчанию стоит иммутабельный флаг. Снимаем его, а потом уже снимаем права.

Выглядит так:

~# chflags noschg /usr/bin/su 
~# chmod u-s /usr/bin/su 

parent From Andrey V. Stolyarov profile Mon Dec 22 15:05:58 2025 UTC pencil

userpic

Re: Проверка userpic и suid бит на FreeBSD

Как выглядит безопасность, превращённая в карго-культ? Вот ровно так.

Вообще от FreeBSD я такого не ожидал. Что-то совсем всё в мире плохо.

И, кстати, как su оказалась в /usr/bin? Они там что, тоже usrMerge проделали?

parent From Egor profile Mon Dec 22 16:52:25 2025 UTC pencil

Re: Re: Проверка userpic и suid бит на FreeBSD

> Они там что, тоже usrMerge проделали?

Да вроде нет.

man (1) intro:


FILES

       /bin/		   Commands  fundamental  to  single-  and  multi-user
			   modes.
       /usr/bin/	   General commands included with the base system.
       /usr/local/bin/	   Locally installed commands from pkg(8) or ports(7).

parent From Andrey V. Stolyarov profile Mon Dec 22 17:24:09 2025 UTC pencil

userpic

Re: Re: Re: Проверка userpic и suid бит на FreeBSD

И что, у них su теперь не входит в понятие fundamental? Так и представляю, сижу я в single user, что-то там делаю, понадобилось команду прогнать с правами обычного юзера — и облом-с. Что за чушь, пардон, это же при серьёзном администрении то и дело требуется.

parent From Booba profile Mon Dec 22 18:03:11 2025 UTC pencil

Re: Re: Re: Re: Проверка userpic и suid бит на FreeBSD

>теперь

Всегда в FreeBSD, всегда в 386BSD, вроде бы уже в 4.1.

parent From Andrey V. Stolyarov profile Mon Dec 22 23:10:33 2025 UTC pencil

userpic

Re: Проверка userpic и suid бит на FreeBSD

А, ну тогда ладно. Логики я, по правде говоря, тут не вижу, но, возможно, кто-то другой видит.

parent From gcc profile Mon Dec 22 16:14:05 2025 UTC pencil

Re: Проверка userpic и suid бит на FreeBSD

А как аватар загрузить?

parent From Andrey V. Stolyarov profile Mon Dec 22 17:22:11 2025 UTC pencil

userpic

Re: Re: Проверка userpic и suid бит на FreeBSD

Прислать его мне. Можно длинным путём — связаться со мной через форму обратной связи, я отвечу по email'у, тогда на мой email прислать файл. Можно коротким путём: взять от аватарки base64 и плюнуть тут в коммент. NB: максимальный размер 100x100 пикселей, поддерживаются PNG, JPG и GIF, но последнее нежелательно.

parent From Parthen profile Mon Dec 22 17:30:31 2025 UTC pencil

userpic

А поменяйте мне, пожалуйста :)

Если не сложно. А то я этой 100 лет не пользуюсь.

Файл в JPG:

[файл выстриг]

parent From Andrey V. Stolyarov profile Mon Dec 22 17:38:25 2025 UTC pencil

userpic

Re: А поменяйте мне, пожалуйста :)

Ну я поменял, но вообще изображение искусственного происхождения (в смысле, что угодно, отличное от фотографии) — в формате JPG? Ну, такоЭ

parent From Parthen profile Mon Dec 22 18:01:37 2025 UTC pencil

userpic

Re: Re: А поменяйте мне, пожалуйста :)

Ну, векторный оригинал у меня есть, но вы-то JPG/PNG как допустимые указали :)

Не стал его сбрасывать

parent From Andrey V. Stolyarov profile Mon Dec 22 18:13:43 2025 UTC pencil

userpic

Re: Re: Re: А поменяйте мне, пожалуйста :)

Ну да, SVG не поддерживается, пардон. И не будет.

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

parent From Koshelkov Pjotr profile Mon Dec 22 19:29:47 2025 UTC pencil

userpic

О-о-о, и мне тоже, пожалуйста!

iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAwnpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVBbEsMgCPznFD2CPDR4HNOkM71Bj18UkolNd8YFWWZFYP+8X/DoIBSQvGippSSDVKnULNHkaIMxyeCBIqHhXIdTICuxRfarlug/6ngaeGiW5YuRPkNYZ6HGA6Q/RuSB+0Q938KohhGTCxgGrcVXqi7XL6x7mqF+oJPoPPbtvtj2tmzvMNHOyMmYWXwA7icDNxPImKypl9By4TzqGma2kH97OgBf7/1ZHURNBB0AAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBzFX1OlIhVBi4iIZGid7KIijrUKRagQaoVWHUwu/YImDUmLi6PgWnDwY7Hq4OKsq4OrIAh+gLgLToouUuL/kkKLGA+O+/Hu3uPuHSA0ykyzumKAplfNVCIuZrKrYuAVQQxhABGMycwy5iQpCc/xdQ8fX++iPMv73J+jT81ZDPCJxDFmmFXiDeKZzarBeZ84xIqySnxOPGHSBYkfua64/Ma54LDAM0NmOjVPHCIWCx2sdDArmhrxNHFY1XTKFzIuq5y3OGvlGmvdk78wmNNXlrlOcxQJLGIJEkQoqKGEMqqI0qqTYiFF+3EP/4jjl8ilkKsERo4FVKBBdvzgf/C7Wys/NekmBeNA94ttf0SAwC7QrNv297FtN08A/zNwpbf9lQYw+0l6va2Fj4D+beDiuq0pe8DlDjD8ZMim7Eh+mkI+D7yf0TdlgcFboHfN7a21j9MHIE1dJW+Ag0NgvEDZ6x7v7uns7d8zrf5+AMnDcslQLrzIAAANeGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDo5Mzk2MDIzZS1hMmY5LTRkYjItYWQyOS1jOWM5MjQxY2JlZmYiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OTcxZTY5MmEtNGZlZS00MGM2LTg2ZWQtZWMzNzQxMTQyNWVlIgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZmQxOTUzNDYtMGNkOC00MTBiLThiNjctOTk1NGE2YjY3NmU5IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNzY2NDI5MTE5NTczODI1IgogICBHSU1QOlZlcnNpb249IjIuMTAuMzQiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1OjEyOjIyVDIxOjQ1OjE4KzAzOjAwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyNToxMjoyMlQyMTo0NToxOCswMzowMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmY1OWMzNzdmLTBmZmMtNGJmYy1hMGZlLTY2NGIwZGVjNzI4MyIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMTItMjJUMjE6NDU6MTkrMDM6MDAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+jOsMQQAAAAZiS0dEAAAAAAAA+UO7fwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB+kMFhItE/YraYcAAAIiSURBVHja7ZzhroMgDEY7wzPykH3J3V8mLhcVFGiBcxKzLVus7rOlpehHRL4Cbtj4CxAERhZEVZeyi4fgIXDH1+umqkvZFZHvh7SXkAUIgiCAIAgCCIIgzaYl9q3nFIaV3RKC1ZUQY1zKLiGLkAUIgiCAIAgCCAIIgiDgW5DcKYxZ7OZCCxcPAQRBEEAQBElnMPCerqv+VPXfb96sFKy9P7Ff5WizRPPsveX+PAgSCBDtC9EUV61ks6spFW4s91fbQx5+V37S4njFvAyyev/su9uQFWMUVf15hbZZqPt7JmbwkNxIE0oUPX7GU9oQ7sLVUQxEcFKpH8cQaD+WkGUZpPmP0162vlU8s73OoIVrOF6kkiQEGTHLAgRBEEAQQBAEAQQZm6KeuscZ31Th1eMYd7stbA3boDo7ppFXnRCyRgxZOaHKKnQsPYaUCkaXkSyrO3sntVY3lZWLjaIDHkLIAjNBWHGChyxLUQv3agCznsKYZeqEnjohCxAEQQBBEASmECQ1EUfR+cuw96nPuG1vr+5VafU/hJIDqFmVHufHaGI9CFk5zzCRxe60anGOW4srntatAw9ZdYDu/vCZnDjP/ex4yLReUv2JcnQXybKm8pKqWdbVZ2BysSu1QvVWapDxoS301AlZgCAIAgiCIO8qesio1Ad/ZrrLZ8QX212ht23Vy39ilzHECXsYD6v1tq3ON9culbozLyFkOQMPoQ6BK/4AxGiNDs040Q4AAAAASUVORK5CYII=

parent From Andrey V. Stolyarov profile Mon Dec 22 19:51:55 2025 UTC pencil

userpic

Re: О-о-о, и мне тоже, пожалуйста!

Сорри, base64 этим подавилась, говорит invalid input

parent From Koshelkov Pjotr profile Mon Dec 22 20:00:00 2025 UTC pencil

userpic

Re: Re: О-о-о, и мне тоже, пожалуйста!

Сам код корректен. Но я заметил, что иногда palemoon выделяет не весь текст в pre, а только тот, который сейчас видно. Может быть, вы его не целиком скопировали?

parent From Andrey V. Stolyarov profile Mon Dec 22 21:05:27 2025 UTC pencil

userpic

Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

Нет, "сам код" не корректен, и не надейтесь. А копировал я непосредственно из исходного текста вашего коммента (через форму, предназначенную для его редактирования), там браузеру ошибиться толком негде. Про "не целиком" вообще речи идти не может, там в конце знак равенства, он был скопирован. И да, есличо (tm), base64 -i -d не помогает.

parent From Ilya profile Mon Dec 22 21:12:54 2025 UTC pencil

Re: Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

А у меня все сработало, ПНГэшка окрылась через sxiv

parent From Andrey V. Stolyarov profile Mon Dec 22 21:39:56 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

А вот это уже совсем интересно.

Так, ладно, для начала нельзя ли хотя бы -w использовать? Ну, или как минимум не делать -w 0, там вроде по умолчанию используется 76 колонок. А второй момент — давайте, что ли, продублируем в формате uuencode.

UPD: отбой тревоги, проблема решилась

parent From dronix profile Mon Dec 22 21:40:33 2025 UTC pencil

userpic

Re: Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

> И да, есличо (tm), base64 -i -d не помогает.

base64 - -d > test.png с copy-paste и ctrl+d у меня тоже не сработал, а вот base64 test.ascii -d > test.png открылся через sxiv.

parent From Andrey V. Stolyarov profile Mon Dec 22 21:48:12 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

Ага, факт, у меня тоже отработало, только есть условие — paste'ить надо через редактор (я пастил через vim). Если попытаться сначала сделать очевидное cat > _x.txt, то потом оказывается, что в файл спастилось сильно не всё. Видимо, там что-то вроде нулевого байта в середине, и вот как, спрашивается, нашему коллеге это удалось.

UPD: всё проще, нет там никакого нуля. Просто файл оказывается обрезан на длине 4095 байт. Видимо, буфер там где-то по дороге 4096, один байтик на нолик. И играет это только в каноническом режиме.

Мораль, заметим, проста: нефиг на ровном месте делать строки такой длины.

parent From Koshelkov Pjotr profile Tue Dec 23 12:08:28 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Re: О-о-о, и мне тоже, пожалуйста!

Чиорддд, и ведь специально же сделал -w 0 и засунул в pre! И потом перепроверил с помощью echo '[paste]' | base64 -d | feh - и всё работало.

Век живи, век лажай, короче

parent From Andrey V. Stolyarov profile Tue Dec 23 12:18:55 2025 UTC pencil

userpic

Re: О-о-о, и мне тоже, пожалуйста!

> и ведь специально же сделал -w 0

Гыгыгыгыгы, base64 же изначально предназначена, чтобы бинарник закатывать в корректный ASCII-текст. Лично для меня корректность текста со строками длиннее 80 — ну, скажем, под вопросом.

> echo '[paste]'

Кстати, интересно, кто спас ваш paste. Возможно, readline, он всё-таки терминал из канонического режима выводит.

Попробуйте просто base64 -d | feh - и спастить :-) Как говорится, to enjoy the experience.

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

parent From feriman profile Tue Dec 23 13:55:43 2025 UTC pencil

userpic

Re: Re: Re: Проверка userpic и suid бит на FreeBSD

И мне юзерпик, пожалуйста. Файл в JPG.

[выстриг]

parent From Andrey V. Stolyarov profile Tue Dec 23 14:29:33 2025 UTC pencil

userpic

Re: Re: Re: Re: Проверка userpic и suid бит на FreeBSD

Ок, через несколько минут появится

parent From feriman profile Tue Dec 23 18:20:12 2025 UTC pencil

userpic

Re: Re: Re: Re: Re: Проверка userpic и suid бит на FreeBSD

Пардон что морочу голову, но можно убрать аватар -- выглядит отвратительно, хотя файл, открытый в feh выглядит как надо.

parent From Andrey V. Stolyarov profile Tue Dec 23 19:36:05 2025 UTC pencil

userpic

Re: Проверка userpic и suid бит на FreeBSD

Странно, вроде ёжик как ёжик. Ну ладно, как скажете.

parent From feriman profile Tue Dec 23 20:06:37 2025 UTC pencil

userpic

Re: Re: Проверка userpic и suid бит на FreeBSD

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

parent From Andrey V. Stolyarov profile Tue Dec 23 20:10:46 2025 UTC pencil

userpic

Re: Проверка userpic и suid бит на FreeBSD

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

parent From feriman profile Wed Dec 24 07:10:25 2025 UTC pencil

userpic

Re: Re: Проверка userpic и suid бит на FreeBSD

А давайте всё же еще раз попробуем. Сделал картинку 100х100 в формате PNG.

[выстриг]

parent From Andrey V. Stolyarov profile Wed Dec 24 10:07:42 2025 UTC pencil

userpic

Re: Re: Re: Проверка userpic и suid бит на FreeBSD

Ага, вроде нормально смотрится

parent From feriman profile Wed Dec 24 11:28:25 2025 UTC pencil

parent From lon3ry profile Thu Dec 25 20:08:27 2025 UTC pencil

userpic

Re: Re: Re: Проверка userpic и suid бит на FreeBSD

А можно мне тоже, пожалуйста? (файл в JPG)

[выстриг]

parent From Andrey V. Stolyarov profile Thu Dec 25 21:35:15 2025 UTC pencil

parent From lon3ry profile Fri Dec 26 04:45:03 2025 UTC pencil

From Koshelkov Pjotr profile Sun Dec 21 10:52:34 2025 UTC pencil

userpic

Опечатка

На странице регистрации в первом абзаце "как это делается в другие местах".

parent From Andrey V. Stolyarov profile Sun Dec 21 12:29:54 2025 UTC pencil

userpic

Re: Опечатка

Есть такое, в исходниках поправил, на сайте оно исчезнет после следующей перегенерации. Спасибо!

From Parthen profile Sun Dec 21 07:09:17 2025 UTC pencil

userpic

Необрабатываемая ошибка

Если на thalcgi.cgi/login ввести не id/login (который численный), а видимое имя, то сайт выдает Ошибку сервера и просит обратиться к владельцу. Обращаюсь :)

parent From Andrey V. Stolyarov profile Sun Dec 21 12:27:03 2025 UTC pencil

userpic

Re: Необрабатываемая ошибка

У меня с нескольких попыток проявить ЭТО не получилось. Давайте подробнее, что конкретно вы куда там вводили и что после этого нажимали.

parent From Parthen profile Sun Dec 21 13:37:43 2025 UTC pencil

userpic

Re: Re: Необрабатываемая ошибка

Идем на thalcgi.cgi/login, в поле "Идентификатор пользователя" вводим что угодно кроме реального идентификатора и нажимаем "Прислать еще пароли".

Про "прислать" я чет забыл упомянуть, а ошибка только с ней работает. Пардон :/

parent From Andrey V. Stolyarov profile Sun Dec 21 15:08:40 2025 UTC pencil

userpic

Re: Re: Re: Необрабатываемая ошибка

А, ну это совсем другое дело :-) Пошёл разбираться.


pencil

пояснение


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

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

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

ваш сеанс


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