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

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


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

t.me/4x_pro

Лог жизни

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


Вернулся на CodeBy

4X_Pro
В пятницу вернулся на CodeBy. Началось всё с того, что разгадал несколько новогодних заданий, которые выдавались в TG-боте, потом зашёл и на основной сайт. И там вдруг решил несколько заданий подряд. Сначала вернулся в TOP-1000, а сегодня получил 2025 очков за одно из шуточных заданий, и подпрыгнул сразу до 726-ой позиции! Причём решения находились почти сами собой! Как будто у меня снова биоритмический максимум. Либо просто в голове обработались все те знания, которые я собирал в сентябре-октябре. Правда, в категории Web стало проще: решал задания, где есть исходный код уязвимого приложения, и нужно только сообразить, в чём именно эта уязвимость заключается.

Вернулся на игры после долгого перерыва

4X_Pro
Сегодня наконец-то выбрался на настольные игры! С октября хотел это сделать (а в ноябре даже вернулся в Москву раньше, чем мог бы), но всё не получалось, постоянно что-то мешало. Но вот на этот раз чувствовалось, что высшие силы благоприятствуют этой поездке.
В метро встретился с Tellой и в «Единорог» (место проведения игр) мы добрались уже вместе. В первый момент не могли найти никого знакомых и уже подумали было, что приехали первыми. Но списавшись с Ал.С. и К.Ш., выяснили, что на самом деле люди там есть, просто все — новые, и мы никого из присутствующих просто не знаем. (Эх, вот что значит, с марта не появлялся…) Выяснив, где они сидят, мы переместились туда, Tella даже попыталась познакомиться. Но как-то общение шло тяжело, да и они играли в какую-то неизвестную мне игру.
Потом пришла solly.mobil (та самая, с которой Мик спорил у меня на странице летом). Она принесла несколько игр, среди которых оказалась «Кафе для чудищ» — простая, но очень приятная карточная игра. Она построена на том, что у меня получается лучше всего — оценке вероятностей и распределению ресурсов, поэтому в первом и третьем раунде я ушёл в сильный отрыв и в итоге победил, даже несмотря на то, что solly.mobil переиграла меня по кроликам, за что я получил 6 штрафных баллов.
К тому времени, как мы закончили, уже пришли Ал.С. и К.Ш. И мы сели играть в самую главную игру встречи — «Меч самурая» aka «японский бэнг». Игра несколько затянулась: во-первых, за сёгуна играл новичок, во-вторых, во время игры сделали перерыв на угощение, которое принесла Ал.С. и фотографирование. Плюс никак не могли закончить игру разгромом кого-либо из игроков, и она завершилась по колоде. В итоге засиделись до 22 часов с лишним
Потом сыграли вчетвером в «Тайные камни». Увы, хоть эта игра мне и нравистя, но почему-то даётся плохо: опять остался на третьем месте. В основном, потому что играл комбинации, дающие по 1-2 очка, комбинации на пять — сбрасывал, а на три — почти не приходили. Зато приходили Tellе, и, кажется, она и победила (хотя может и Ал.С.). Потом, буквально за последние 10 минут, мы с Ал.С. решили сыграть в «Карту сокровищ». Но тут мне как-то резко стало не везти с самого начала, да ещё сказался дефицит времени. К тому же к этому времени уже перегрузился впечатлениями и устал от шума и духоты. В итоге доиграли, но точно подсчитывать очки не стали, и так было видно, что у Ал.С. — больше.
Но всё же очень доволен и тем, что выбрался, и тем, что посмотрел новую игру, и «бэнгом». Да и просто атмосфера была очень позитивная, приятно было видеть столько хороших людей вокруг!

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

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), тогда как для меня с моим темпом жизни подобное — это всего лишь небольшой спад активности.
И я понимаю, чтобы выбраться из кризиса, нужно формировать какой-то новый образ себя, новый ответ на вопрос «кто я» и «зачем я». Точнее, глобальный ответ на «зачем» пришёл сегодня во время медитации: чтобы нести в мир Покой и Порядок (именно так: Покой первичнее Порядка, Порядок — это инструмент его обеспечения), а также уменьшать количество конфликтов и страха перед будущим. Но вот как на основе этого знания простроить более низкие уровни, в частности, ответы на вопросы «что именно я должен давать миру, чтобы увеличить в нём это» и «как это делать в тех условиях, в которых я живу и с учётом моих личностных ограничений» — пока непонятно.

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

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