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

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


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

t.me/4x_pro

Лог жизни

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


В последние дни жизнь перенасыщена событиями

4X_Pro
Мда, не успел я порадоваться, что половина тяжелого «года с вирусом» позади, а в жизни на какой-то момент наступило затишье, как вдруг снова посыпались изменения, и за два дня произошло столько всего, что остаётся только за голову хвататься…
Читать далее…

Долгожданное затишье

4X_Pro
Наконец-то жизнь замедлилась до приемлемого уровня, и появилась возможность пожить спокойно. Впрочем, совсем уйти в себя, как это было в 2014 году, не получается. Хотел было заняться написанием «нашего ответа Калинаускасу» по поводу трех этапов жизни для раздела «Мировоззренческое», но так и не сложилось. Зато сделал много другого. Вчера большую часть дня оптимизировал новую версию SiteKnockerBot. Разобрался, как преобразовывать массив байтов в строку без перевыделения памяти, и в итоге добился, что время обработки запроса стало примерно таким же, как в старой. Да и само потребление памяти уменьшилось почти на 30 Мб. Правда, это в версии с отключеной поддержкой GZIP-сжатия ответа серверов.
Читать далее…

Безумный день

4X_Pro
День сегодня получился какой-то просто безумный. Мы с Tellой снова решили пересечься и изучать окрестности дальше. Я хотел ей показать водоём на месте бывшего песчаного карьера. На этот раз она уговорила свою маму привезти её на машине. Мы собирались встретиться у соседнего СНТ, посмотреть ближний водоём, над которым я фотографирую закаты, и потом отправиться к тому песчаному карьеру.

Но всё пошло не так. Во-первых, за полчаса до намеченного времени внезапно началась гроза с градом. Во-вторых, Tella всё время висела на связи, из-за чего я никак не мог собраться и выйти в намеченное время. Tellу стало глючить по БИ, плюс она ещё обижалась на то, что вчера резко ушёл в оффлайн, не предупредив её, хотя и знала, что я в жестком недосыпе. В общем, день обещал быть «весёлым».
Читать далее…

Первая польза от SiteKnockerBot

4X_Pro
Только что впервые наблюдал реальную пользу от новой версии SiteKnockerBot. Внезапно он сообщил о том, что этот мой сайт и сайт IntB перестали быть доступными. Я заглянул на них, обнаружил сообщение об ошибке — не удаётся подключиться к базе. Стал разбираться, в чём дело. Обнаружилось, что упал сервер MySQL из-за нехватки памяти. Перезапустил его, через пару минут ситуация повторилась. После этого заглянул в логи, увидел там кучу запросов с какой-то подсети в Америке. Забанил сразу всю подсеть, и перезапустил MySQL еще раз. Вроде помогло.

Вопрос только в том, что это — DDoS атака против меня или же просто заглючивший спам-бот?
Читать далее…

Встреча с DarLik и П.Т.

4X_Pro
Вчера, с третьей попытки, всё же договорились встретиться с DarLik и П.Т. Еще в четверг я написал им, что для того, чтобы в пятницу проскочить (относительно) без пробок, нужно выехать до 15 часов. И ради того, чтобы быть готовым к их приезду, даже сам проснулся раньше обычного. Но увы, в 15 часов DarLik только проснулась и написала «собираемся». Потянулось долгое время ожидания. За это время я не выдержал и поджарил и частично съел шашлык (изначально планировалось, что мы приготовим его совместно). Наконец, в 19:30 DarLik написала, что они проезжают Реутов, и что навигатор показывает, что на месте они будут в 22 часа. От этого я получил жуткий facepalm, так как изначально предполагал, что к этому времени уже наоборот, они будут собираться обратно. Но деваться было некуда…
Читать далее…

Переписал SiteKnockerBot на Go

4X_Pro
Вчера вечером выполнил еще один пункт из своего списка дел на период загородной жизни: дописал новую версию SiteKnockerBot на языке Go, что позволило выполнять проверки сайтов параллельно. Но закончил весьма поздно, поэтому тестирование на боевом сервере решил отложить на сегодня. Причем, думал, что управлюсь за час-полтора, а остаток дня потрачу на отдых и компьютерные игры. Но увы, я был бы не я, если бы не растянул намеченное дело на всё доступное время. Началось всё с того, что при первом запуске бот просто упал. Причина нашлась довольно быстро: в одной ситуации я поставил defer resp.Close до проверки на то, что нет ошибок. Перекомпилировал, загрузил на сервер, запустил снова. Вроде работает, но то и дело появляются ошибки — невозможно открыть сокет из-за нехватки количества файлов. Пришлось срочно разбираться, как увеличить количество открытых файлов, так как прежде я с этим лимитом никогда не сталкивался. Ещё один запуск: вроде работает, но появляется подозрительно много таймаутов.
Читать далее…

День солнцестояния

4X_Pro
Сегодня был весьма необычный день: солнцестояние совпало с солнечным затмением. Обычно в дни солнцестояния я пишу о том, что лучшая часть года позади, но в этот раз, пожалуй, воздержусь. А то ведь так и будет… Впрочем, один плюс у этого года всё же есть: я сделал то, что хотел сделать давно — прожил на даче безвылазно с мая до солнцестояния. И ещё неизвестно сколько буду тут сидеть… DarLik так и вовсе предлагает до самых холодов.
Читать далее…

Сумел встать раньше

4X_Pro
Сегодня естественным образом проснулся чуть позже 10 часов утра и чувствовал себя относительно бодрым (спать лег где-то около 3:30). Но увы, хотя вначале радовался, что удалось увидеть утро, к середине дня недостаток сна дал о себе знать: ни на чём толком не мог сосредоточиться. Плюс ещё мелкие неприятности с freelance-деятельностью. Так что день прошёл куда-то мимо. Единственный толковый результат — выбрались с отцом на пробежку на 4.5 км. Но и тут без неприятностей не обошлось: отец случайно выключил секундомер почти сразу после старта, когда убирал мобильник в карман. Так что время, за которое мы пробежали, осталось неизвестным. Но сегодня бежалось лучше, чем позавчера: тяжело дался только последний участок пути, вдоль песчаного карьера. И еще утром обновил софт на сервере с socionics.me и ботами.
Читать далее…

Несколько бестолковых дней

4X_Pro
В субботу дописал и опубликовал 10 и 11 часть своей биографии. Изначально я рассчитывал сделать это еще в мае, но в реальности, как всегда, это заняло гораздо больше времени. Зато это помогло лучше разобраться в себе. А еще закончил проходить в игре Battle for Wesnoth кампанию The Missing Scepter Case. Это та самая, где есть Warlock Homz и Flotsom the Healer (аналоги Шерлока Холмса и доктора Ватсона, перенесенных в мир этой игры). Когда-то очень давно, кажется, в 2015 или 2016 году, я уже упоминал об этом, собираясь заняться переводом этой кампании, но так и не сложилось.
Читать далее…

Неудачная попытка лечь спать пораньше

4X_Pro
Вчера вернулся домой с длинной прогулки в уставшем состоянии и подумал: физически устал сильно, важных или срочных дел, которые нужно доделать именно сегодня, нет — хорошая возможность лечь спать пораньше. Но увы, получилось как всегда:

0:20 — решаю «еще слишком рано, еще полчасика почитаю один сайт и пойду спать».

1:30 — вспоминаю, что забыл поужинать

2:10 — желания идти спать не совсем, поэтому снова возвращаюсь к тому сайту

2:40 — обнаруживаю, что уже довольно поздно и надо бы идти спать, но никак не могу заставить себя оторваться

3:45 — всё-таки выключаю Интенет и иду готовиться ко сну

4:25 — ложусь спать.

Хотя формально, в общем-то получилось: обычно я ложусь спать где-то около пяти. Но с другой стороны, к 4:25 уже рассвело, поэтому заснуть получилось далеко не сразу.
Читать далее…