Портрет 4X_Pro
Был в Сети 19 мар. 2025 г., 20:52
Мультиблог
4X_Pro
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.

Социальные сети


Новости сайта в Telegram

t.me/4x_pro

Лог жизни

Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.


День солнцестояния — позади

4X_Pro
Ну всё, день зимнего солнцестояния — позади. Я пережил самую тяжёлую часть года, дальше будет легче, и работоспособность начнёт расти!
Сам сегодняшний день получился более чем насыщенный. Вчера лёг спать позже, чем рассчитывал. Поэтому пришлось вставать с лёгким недосыпом, после чего отправился долечивать зуб (первый раз сходил в среду). К счастью, обошлось без удаления нерва, хотя рассверлили зуб ну очень глубоко. Врач даже сама удивилась, что так вышло.
Потом вернулся домой, отлежался. Был морально готов даже поехать на настолки, но в этот раз их отменили из-за слишком малого количества желающих (эх, уже третий месяц не получается выбраться: всё время что-то да происходит). Зато к вечеру Tella вытащила меня на прогулку в Терлецкий парк. Мы дошли до третьего и четвёртого Терлецких прудов, а потом вернулись по аллее, которая идёт на месте бывшего Владимирского тракта. Но Tella не рассчитала свой ресурс, поэтому выбирались из парка долго и тяжело. Зато за день прошёл более 10 тысяч шагов.
А вечер ушёл куда-то мимо. Хотел поиграть в Tale of Two Kingdoms, но так и не сложилось. Зато вместо этого разгадал одно из рождественских заданий на CodeBy на тему OSINT. В отличие от предыдущих, оно оказалось на удивление простым, если знать один факт и додуматься ещё до одного логического шага. А также переписывался с Kitsune.

Эксперименты с SiteKnockerBot и FreeBSD

4X_Pro
Решил потестировать SiteKnockerBot на FreeBSD — понять, не будет ли под ней меньше ложных срабатываний. Нашёл облачный хостинг, где дают тестовый период (1cloud.ru), скомпилировал «простукивающую» часть, запустил. Порадовало, насколько в Go легко работает кросс-компиляция! Впрочем, без проблем всё же не обошлось: на сервере была FreeBSD 11, поддержка которой прекратилась в Go 1.20. Пришлось идти немного извилистым путём: собирать FreeBSD-версию на VDSе, где работает основной бот (там стоит Go 1.13) и оттуда копировать на тестовый. Так всё заработало как надо! Причём я в какой-то момент даже увеличил количество параллельных проверок до 320, но даже так проверка шла нормально, массовых ошибок с таймаутом, когда срабатывание идёт на всё подряд, не наблюдалось. Только в списке проверки обнаружилось довольно много сайтов, которые в принципе с российских IP недоступны (самозабанились, если так можно выразиться).
Потом проделал то же самое на ещё одном своём VDS — том, на котором сейчас стоит idealists.su. Но и там всё было примерно так же: даже при 320 goroutines резкого роста числа ошибок или ложных срабатываний не наблюдалось, а количество ошибок и там, и на сервере с FreeBSD было примерно одинаковым. Так что возникла мысль, что проблема в хостинге, на котором стоит основной VDS. Если бы не было проблемы с заграничными сайтами, я бы просто временно перекинул бота на VDS с idealists.su и потестировал бы на нём более основательно в течение нескольких дней. Но так — даже не знаю, что и делать.

И всё-таки, что в жизни по-настоящему важно?

4X_Pro
Во время прошлой прогулки продолжал размышлять над вопросом, который не даёт мне покоя где-то уже две недели: что в жизни по-настоящему важно? Раньше для меня ответ был предельно прост и понятен: быть особенным человеком, как Рахметов из «Что делать» Чернышевского, вся жизнь которого полностью взята под свой контроль и подчинена некоей цели. Но увы, у меня такого контроля не получается: для этого нужно быть первовольником по психософии. Кроме того, мою идею можно сформулировать так — «не принуждать себя быть не собой». А пытаясь жить как 1В, я именно это и буду делать.
Но тогда какие есть другие варианты?
Вписать себя в историю на более-менее долгий срок удаётся единицам (да и то это культурно-обусловлено: не уверен, что в том же Китае большинство сможет вспомнить, кто такие Александр Македонский или Аристотель, не говоря уже о каком-нибудь Фоме Аквинском.)
Просто делать своё дело хорошо — после Великого Выгорания не получается, особенно с учётом недавних осознаний про фактор времени.
Гедонизм с позицией «кто счастлив, тот и прав» мне вообще никогда близок не был. Получить как можно больше разнообразного опыта или жить в режиме Эраста Фандорина — каждый год осваивать какое-то новое дело — упирается в личностные ограничения (в первую очередь, связанные с финансами и взаимодействием с другими людьми). Да и кто это оценит должным образом в мире победившей узкой специализации?
Быть «человеком многих знаний» — это, конечно, хорошо, но эрудиция сейчас, когда у каждого в кармане есть возможность доступа к ChatGPT или Wikipedia, не ценится. Да и более серьёзные знания тоже быстро и непредсказуемо устаревают. собирать не сами знания как таковые. а то, что называется образцами мышления: то, каким путём кто-то пришёл к тому или иному открытию, идее, постановке эксперимента, инженерному решению. Такое вряд ли когда устареет. Но как этому учиться — непонятно.
Идти к признанию грязными методами — ловить хайп и подстраиваться под настроения толпы вместо того, чтобы писать о чём-то действительно важном — не хочу от слова совсем. (Хотя вот ведь парадокс: у десятка моих отзывов на Яндекс.Картах, причём написанных для объектов в других городах, просмотров чуть ли не больше, чем у всего этого сайта, если исключить ботов).
Ну и последний вариант — воспринимать жизнь как игру в самом что ни на есть широком смысле этого слова, как интересный квест, где нужно следовать за подсказками высших сил — звучит привлекательно. Но какова конечная цель при таком подходе?
В общем, никак не могу определиться и последние дни сижу в полной растерянности. Делать ничего не хочется (да и «старость года» даёт о себе знать), поэтому время просто уходит мимо.

Прогулка в Измайловский парк

4X_Pro
Сегодня выбрался на прогулку в Измайловский парк. Изначально собирался пройти по малому кругу мимо Декоративных и Красного прудов, но возле Второго Декоративного внезапно передумал и свернул на дорогу, которая ведёт к Главной аллее. А с неё — на небольшую дорожку, которая ведёт через лес. По пути посмотрел на Красный ручей и сделал небольшой крюк к мосту над Серебрянкой возле Третьего Декоративного. Постоял, посмотрел на реку, сделал пару фотографий.
В целом ничего запоминающегося в этой прогулке не было, но она помогла мне восстановить внутреннее равновесие. Нужно всё-таки хотя бы раз в десять дней выбираться на такую! Никакие прогулки по городу, даже на то же количество шагов (я прошагал более 8 тысяч), это не заменят!

Анализ моих исходящих информационных потоков

4X_Pro
В последнее время задумываюсь над тем, что имеющиеся у меня сайты перестают соответствовать создаваемым мной потокам информации: иногда оказываюсь перед неприятным выбором, когда что-то оказывается возможным послать в несколько мест сразу, иногда наоборот, что-то важное оказывается уместным по структуре только в отдалённом разделе форума. Задумался, что с этим делать. Но сначала вообще решил проанализировать всё то, что я транслирую в Сеть. Получилось следующее:
1. Лог жизни — записки о повседневных событиях.
Формат: текст, систематизация: не особо нужна, но иногда используются теги.
Текущее состояние: раздел «Лог жизни» в блоге + дублирование в ЖЖ, что вполне устраивает. Не хватает разве что календаря публикаций, как в ЖЖ.
Периодичность: регулярно.
2. Впечатления от поездок и прогулок
Формат: текст с картинками (в отдельных случаях видео), систематизация: теги + геолокация.
Текущее состояние: Instagram, «Лог жизни» в блоге, иногда ВК. Раньше из Instagram работала автоматическая трансляция в блог. Однако это не устраивает: в Instagram есть ограничение по количеству фото и очень неудобная система геолокации, до блога добираются единицы, а геолокации нет вообще. К тому же думаю о том, что в блоге это нужно выделить в отдельный раздел. Ну и сделать геолокацию.
Периодичность: два-три раза в месяц.
3. Малые компьютерные заметки — опыт и впечатления от использовании того или иного ПО и советы по настройкам, какие-то приёмы системного администрирования, полезные однострочники, описание глупых ошибок. Всё перечисленное в виде коротких заметок «попробовал то-то, получил то-то, а правильно делать так-то».
Формат: текст + код, изредка — скриншоты, систематизация: несколько предопределённых категорий + хештеги
Текущее состояние: в этой категории — самый большой бардак: разделы «Операционные системы», «Программирование» и «Прочее» на форуме, раздел «Web-программирование» на оф. сайте IntB.
Периодичность: два-три раза в месяц.
4. Поиски жизни по уму — размышления о том, как жить до́лжно, об устройстве общества, происходящем в Интернете и т.п.
Формат: текст, ссылки на внешние статьи, систематизация: достаточно тегов.
Текущее состояние: разделы «О Сети и о жизни», «Мировоззрение», раздел «Общество», иногда — на заметки сайте идеалистов. Опять же, проблема избыточного выбора.
Периодичность: раз в несколько месяцев.
5. Код моих проектов
Формат: код.
Текущее состояние: GitHub, официальные сайты проектов. В целом устраивает, но иногда задумываюсь о запуске Gitea или чего-то подобного, чтобы не зависеть от стороннего сервиса.
Периодичность: непредсказуемо.
6. Впечатления от книг, фильмов, стихов, компьютерных игр
Формат: текст с внешней ссылкой, также может быть уместна картинка-обложка и небольшая таблица с общей информацией (например, автор/издатель, год выхода, жанр и т.п), систематизация: поиск по параметрам таблицы, типу контента и хеш-тегам.
Текущее состояние: для книг и стихов есть обычный раздел на форуме, впечатления от игр идут в «Лог жизни», но всё это как-то не устраивает.
Периодичность: раз в несколько месяцев
7. Заметки о личной эффективности
Формат: текст, блочные ссылки на внешние статьи
Текущее состояние: раздел «Личная эффективность» на сайте (вполне устраивает), иногда статьи в разделах «Личность» и «Общество», что порождает ненужное дублирование
Периодичность: один-два раза за полгода
8. Заготовки для системного администратора — примеры конфигов, скрипты, команды-однострочники.
Формат: код. Систематизация: теги, поиск, возможно, категории.
Текущее состояние: раздел «Администрирование» на форуме + Gists на GitHub. Хотелось бы: что-то аналогичное gists у себя на поддомене для более удобного доступа (почему-то адрес типа 4xpro.ru/gists/ запоминается сложнее, чем gists.4xpro.ru).
Периодичность: непредсказуемо
9. Полезные ссылки — мини-обзоры софта, Indie-игр, статьи, не входящие в категории выше, по которым есть потребность высказать своё мнение
Формат: внешняя блочная ссылка с preview + короткий текст, систематизация — теги и, возможно, предопределённые категории.
Текущее состояние: раздел «Интересные материалы», но в нём нет preview и возможности какого-либо упорядочивания
10. Типологические и психологические наблюдения заметки
Формат: текст, систематизация: категории (по типологиям) и хеш-теги.
Текущее состояние: разбросаны между tipiruem.ru, socionics.me и каналом на Дзене. Впрочем, канал на Дзене реально имеет смысл держать отдельно. Что не устраивает: Дзен почти в обязательном порядке требует наличия фото и еженедельных публикаций.
Периодичность: непредсказуемо.
11. Фиксация сиюминутного — Twitter-подобные заметки: ключевые события из жизни, понравившиеся цитаты, сиюминутное настроение или явления вроде первого снега.
Формат: текст, выделенные цитаты, опционально — возможность цеплять фото и ссылки с предпросмотром, систематизация: теги и календарь.
Текущее состояние: изначально для этого предполагался Twitter, но как-то я там не прижился. Сейчас эти функции выполняет раздел «Новости и события» на сайте, раздел «Сиюминутное» и, в последнее время, сайт Идеалистов. Основной недостаток — нет возможности быстро писать с мобильника (но пока писал это, пришла в голову мысль сделать TG-бота, с которого можно будет это делать).
Периодичность: сейчас редко, но позже планирую более регулярно.
12. Slow life — публикация материалов на эту тему
Формат: текст, картинки, видео. Систематизация — теги (опционально).
Текущее состояние: группа ВК, более старые материалы — в «Мировоззренческом». В целом устраивает.
Периодичность: два-три раза в месяц.

Раньше был ещё один поток (раздел «Компьютерное» именно блоговой части) — достаточно развёрнутые статьи. Но сейчас я пришёл к выводу, что сайт нужно рассматривать именно как средство фиксации полученного опыта или реакции на прочитанные материалы (то, что я когда-то назвал пассивным блоггерством), а не пытаться заставлять себя действовать проактивно и писать что-то по контент плану. Работа по Будущему — это не моё!

О креативности и попытках определиться с дальнейшим путём

4X_Pro
В последние дни случился приступ инфоголизма: перечитал кучу статей на Хабре и дочитал две книги. Одна из них — «Кроссфит мозга» Игоря Намаконова — про тренировку креативности. Правда, попытавшись делать упражнения из второй части, понял, что креативность — это всё же не моё от слова совсем. Даже то, что там подаётся как лёгкая разминка, я воспринимаю как нечто непосильное. Был момент, когда из-за этого хотел перетипироваться в социотип ЛСИ-«Максим Горький». Впрочем, как утверждает сам Намаконов, для того, чтобы идеи фонтантировали, должен быть избыток энергии. А с этим у меня всегда было плохо.
Точнее, Welltory в последнее время стала показывать 80–90% при большинстве замеров. То ли упражнения на растяжку и медитации так влияют (судя по моим записям, и то, и другое может давать +10-15% к энергии). Или же дело в том, что при замерах я стал контролировать дыхание и делать его более глубоким за счёт снятия мышечных зажимов при вдохе. (Правда, непонятно, реально ли это так улучшает показатели или же получается накрутка.) Но всё равно нет ощущения, что жизнь бьёт ключом так, что невозможно усидеть на месте. Или это и есть мой энергетический максимум?
Ещё утром пришла в голову идея составить список тех направлений деятельности, по которым уже есть какие-то наработки и которые я рассматриваю как приемлемые для дальнейшего движения. Получилось ни много ни мало 9 пунктов, а потом днём DarLik навела на ещё один. Но, увы, по-прежнему не понимаю, как остановиться на одном-двух направлениях…

Поездка в Ивановское

4X_Pro
Недавно показал Tellе на Яндекс.Картах Предтеченскую церковь в Ивановском. Церковь Tellе очень понравилась, и сегодня мы решили съездить туда вживую.
Впечатление от самой церкви осталось противоречивое: вроде и достаточно старая, но отреставрированная недавно, и внутри очень красиво расписана, но нет того ощущения наполненности какой-то особой энергией, которое часто бывает от других старых храмов. Зато Tellа была в полном восторге от кладбища при ней! К тому же добрались мы туда уже когда стемнело, что тоже добавило впечатлений. Удивило то, насколько там плотно расположены могилы, до некоторых просто непонятно, как вообще можно добраться. Прямо за кладбищем находится МКАД, а за ним — высотные дома Реутова. Хех, «повезло» же кому-то жить с таким видом.
Дальше решили сходить к Ивановским прудам. Но тут немного не повезло: пруды были огорожены из-за того, что их чистят и благоустраивают. Зато просто погуляли по району, где я бываю крайне редко, даже несмотря на то, что Ивановское находится почти рядом с Перово (отделено от него Терлецким парком). Вообще, с лицейских времён у меня сформировалось отношение к Ивановскому как к чему-то серому и мрачному, особенно в это время — осенью и в начале зимы. Но в этот раз оно казалось скорее даже милым и отчасти уютным. К тому же там довольно необычная застройка: дома стоят в виде буквы «Г», но с достаточно плавным закруглением. Видимо, это какие-то особенности планирования застройки 1970-х годов, так как что-то подобное я видел только в районах, застраиваемых в то время, в частности, в Ясенево.
Побродив некоторое время среди этих домов, мы вышли к очень странному месту: с одной стороны стоит один из этих длинных домов, вдоль него идёт узкий междомовой проезд, а с другой — целый торговый ряд: магазины, кафе, пункты выдачи маркетплейсов и тому подобные заведения. Видеть такое не на оживлённой улице, а в глубине квартала было очень и очень необычно. В одной из таких кафе мы зашли. Там оказалась узбекская кухня, причём по очень дешёвым ценам! Было ощущение, как будто вернулся в какой-нибудь 2018 год. И само заведение вызывало впечатление «простенько, но со вкусом»: стены украшены национальными узбекскими узорами и декоративными тарелками, а потолок — красивыми светильниками.
Потом выбрались к Саянской улице. Я хотел был пройти вдоль неё до Свободного проспекта (а то и вовсе вернуться домой через Терлецкий парк насквозь), но Tella к тому моменту уже устала, поэтому сели на автобус. В общем, изменил своё отношение к этому району — понял, что он по-своему интересен!

О факторе времени и open source

4X_Pro
Решил вынести в отдельное сообщение то, что недавно упоминал в одном из комментариев: недавно я окончательно осознал, что даже в open source-разработке время является значимым фактором. Собственно, подсознательно я понимал это давно; более того, видимо, именно это и явилось причиной начала того личностного кризиса, о котором я столько пишу. Если конкретно, то проблема в том, как совместить разработку крупного проекта со slow life. Раньше, когда я считал время несущественным фактором, всё отлично складывалось: неважно, что я буду писать тот или иной проект десяток или даже два десятка лет, важно только написать его хорошо, так, чтобы потом этим можно было пользоваться чуть ли не на протяжении десятка поколений без изменений.
Потом же накопились наблюдения, что что за десяток лет может измениться чуть ли ни весь Интернет. Я видел, как устаревают языки программирования (самые яркие примеры — это Perl и Object Pascal aka Delphi). Видел появление технологии AJAX, соцсетей и «смартфонную революцию», каждая из которых существенно меняло привычные способы взаимодействия. А некоторые горячие головы сейчас и вовсе выдвигают предположение, что через 15-20 лет ненужными станут даже умения чтения и ввода с клавиатуры — всё взаимодействие будет строиться через видео и голосовой интерфейс, хотя лично я к этому отношусь скептически. Скорее верю в то, что снова произойдёт разделение: видео/голос — для широких масс, длинные тексты — для интеллектуальной элиты.
Ещё хорошим наглядным показателем того, как влияет время, для меня стала ReactOS. Несмотря на масштаб и значимость замысла — создать свободную альтернативу Windows — ReactOS проигрывает именно по времени. За все эти годы она смогла приблизиться только к Windows XP (и то не полностью), в то время, как появилось множество софта, который работает только на Windows 7, а то и вовсе 10. Причём понятно, что так будет и дальше. Поэтому максимум, чем она может быть — это учебным проектом или узко-нишевым решением для какого-то старого железа или ПО.
Да и просто, сам факт того, что коммиты и обновления происходят редко, для многих служит отпугивающим фактором. Для некоторых людей сейчас отсутствие активности в течение месяца — это признак заброшенности (так, например, изучая статистику Fediverse, я обнаружил, что на одном instance именно с такой формулировкой заблокировали мой idealists.su), тогда как для меня с моим темпом жизни подобное — это всего лишь небольшой спад активности.
И я понимаю, чтобы выбраться из кризиса, нужно формировать какой-то новый образ себя, новый ответ на вопрос «кто я» и «зачем я». Точнее, глобальный ответ на «зачем» пришёл сегодня во время медитации: чтобы нести в мир Покой и Порядок (именно так: Покой первичнее Порядка, Порядок — это инструмент его обеспечения), а также уменьшать количество конфликтов и страха перед будущим. Но вот как на основе этого знания простроить более низкие уровни, в частности, ответы на вопросы «что именно я должен давать миру, чтобы увеличить в нём это» и «как это делать в тех условиях, в которых я живу и с учётом моих личностных ограничений» — пока непонятно.

Первый опыт с USTD

4X_Pro
Сегодня впервые попытался оплатить криптой VDS, на котором стоит SiteKnockerBot. После падения и переноса его перевели на тариф с ежемесячной оплатой, что очень и очень невыпгодно. Хоть я к крипте отношусь негативно, но за последнее время получил несколько пожертвований именно в ней, для чего пришлось завести кошельки. А цены на том хостинге привязаны к курсу доллара, который в последнее время как-то слишком резко вырос, и делать оплату по такому курсу — это слишком.
Но всё оказалось не так просто. Кошельков у меня два: один в Telegram, второй — в Atomic Wallet. Сначала попробовал оплатить с первого. Вроде всё хорошо, всё понятно, но комиссия за перевод огромна! Причём у хостера так сделана система оплаты, что комиссия берётся дважды. То есть я ввожу сумму, которую хочу зачислить на счёт, он приплюсовывает к ней комиссию порядка 2.5 USDT, и к этому Telegram плюсует ещё и свою комиссию в 3.5 USDT. В итоге из 10 USDT, которые есть на кошельке, на счёт на хостинге дойдёт меньше половины… Уж лучше рублями оплатить.
Попробовал второй кошелёк — Atomic Wallet. Там сумма побольше, но всё оказалось ещё сложнее: для того, чтобы оплатить перевод, нужна вообще другая валюта под названием TRON. Но взять и поменять USDT на неё нельзя, потому что обменную операцию нужно оплатить … правильно, тем же самым TRONом! В общем, замкнутый круг. В какой-то момент я даже хотел докупить этот самый TRON за WebMoney, но оказалось, что прямых обменников всего два, и минимальная сумма к обмену — 30 WMZ, что для моих нужд слишком уж много. Сейчас ещё рассматриваю вариант купить TRON за Monero, там минимальная сумма поменьше. Но просчитав все потери на комиссии, пришёл к выводу, что проще пока добросить необходимую сумму рублями (там нужно было что-то порядка $1.2) и продлить хостинг только на полгода, а не на год, как хотел изначально. Скидка, конечно, получилась поменьше (7% вместо 10%), но на время вопрос решён. А там, глядишь, и найдётся какое-нибудь решение…

Слово об адаптивности и подсказки от высших сил

4X_Pro
За последние несколько дней из совершенно разных источников уже третий раз попадается информация про важность вариативного или адаптивного мышления. А сегодня ещё в недрах своего диска раскопал книгу «Кроссфит мозга» про прокачку креативности, где, по сути, тоже про это. Прямо подсказка высших сил какая-то!
Это заставило меня задуматься. С одной стороны, да, адаптивность — качество хорошее, позволяет лучше жить в мире, да и просто расширяет возможности (что рассматривается как благо в моей «этике возможностей»). С другой, всегда возникают сомнения (и я уже создавал тему об этом на форуме), не будет ли такой слишком адаптивный человек беспринципным, бесхребетным, не готовым страдать за какое-либо правое дело. Короче, не лишится ли он возможности быть Настоящим Человеком.
В общем, остановился пока на том, что адаптивность хороша и уместна в тех вопросах, которые не являются идейными. Но увы, даже такое решение не даёт полного ответа, потому что иногда очень сложно провести границу между идейностью и упрямством. Например, так у меня с Quake-подобными играми: когда-то давно я решил доказать, что в них можно играть только с клавиатуры, без мышки. Или, другой идейный вопрос: когда-то у меня была идейная установка, что Настоящему Компьютерщику не пристало тратиться на комфорт, весь имеющийся бюджет нужно по-максимуму вкладывать в производительность, беря самую дешёвую и простую периферию (клавиатуры, мышки, мониторы и т.п.) Но потом времена изменились: для той же разработки стало вполне хватать ноутбука десятилетней давности, и погоня за производительностью потеряла тот смысл, который она имела в 90-ые и начале 2000-х, а вот неудобство может снизить скорость написания кода или текста весьма ощутимо.

Задать вопрос

Здесь можно задать мне вопрос или спросить совета по любой теме, затронутой в блогах или на форуме. После того, как я отвечу, вопрос и ответ появятся в соответствующем разделе. Но не забываем, что я — сторонник slow life, поэтому каких-либо сроков ответов не обещаю. Самые интересные вопросы станут основой для новых тем на форуме или записей в блоге.
Сразу предупреждаю: глупости, провокации, троллинг и тому подобное летит прямо в /dev/null.