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

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


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

t.me/4x_pro

Лог жизни

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


Есть PostgreSQL в IntB!

4X_Pro

В ночь со вторника на среду всё же собрался и доделал поддержку PostgeSQL в IntB. Со скрипом и скрежетом, но всё-таки теперь IntB работает на Postgres! Да и с поддержкой SQLite теперь, по идее, будет проще. Да и вообще, PostgreSQL мне всё больше нравится...

Единственная проблема, которую осталось решить — это как автоматизировать преобразование начального дампа, которым создается структура базы на этапе установки. В свое время писал про модуль Sqlt для Perl, который вроде бы умеет это делать, но, как выяснилось, очень криво. Во-первых, удаляет из дампа все INSERT-запросы, и приходится возвращать их вручную. Но это можно решить выносом их в отдельный файл, который будет общим для всех СУБД. Ещё есть мысль делать дамп в формат XML, и написать скрипт, который будет сравнивать структуру в дампе и реальной базе, и приводить в соответствие. Но это создаст дополнительное требование к хостингу: наличие SimpleXML, что не есть хорошо...

Читать далее…

Опять увяз в болоте жизни

4X_Pro

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

Плюс еще опять всплыли задачи по freelance, от которых возникает чувство жизненного болота, вязкости: пытаюсь их столкнуть, но всё никак — возвращаются и возвращаются.

Не знаю, что делать с CodinGame. До окончания конкурса там осталось где-то около 10 дней, а я даже не начинал. И теперь вопрос стоит так: либо бросать всё, и попытаться за оставшиеся дни выйти хотя бы в серебряную лигу, либо наоборот, понадеяться, что тех, кто ни разу не делал submit code, в конце просто удалят из списка участников конкурса вообще.

Читать далее…

Прекрасный рассвет и день отдыха

4X_Pro

Вчера ненадолго заснул около полуночи, после чего случился приступ бессонницы. Часов до 6 занимался переводом IntB на PostgreSQL. В итоге удалось вывести главную страницу и еще несколько служебных, но затем застрял на получении last_insert_id (уже сегодня выяснилось, это делается через SELECT lastval(), а не через pg_last_oid, как я пытался изначально).

Потом попытался лечь спать, но заснуть не мог совершенно. Поворочавшись где-то час, решил встать. Раздвинул шторы на окнах и увидел, что за окном потрясающее зимнее утро! Свет заполнил всю комнату, даже те части, куда не достаёт обычно, и сразу всё показалось совсем иным, чем обычно. Пришло какое-то внутреннее спокойствие, и ощущение, что в итоге всё будет хорошо. Давно такого не было…

Читать далее…

Долой мессенджеры, да здравствуют EMail и форумы!

4X_Pro

Вылезла новая неприятность, совершенно неожиданная. Людям делать нечего, писать в мессенджерах стали гораздо больше, и я стал уставать уже от этого. Точнее, от постоянных переключений между потоком сообщений, на которые мне нечего ответить кроме «ясно», и основными задачами. Причем только начинает казаться «ну всё, затишье», тут же приходит что-то новое. Ненавижу синхронные средства связи! Долой мессенджеры, да здравствуют EMail и форумы! (И надо бы себе устроить пару дней если уж не полного оффлайна, то хотя бы отдыха от ВК.)
А еще обнаружил, что в PostgreSQL нет функции IF. Равно, впрочем, как и в SQLite. И теперь придется еще в IntB запросы и от нее чистить, а не только от кавычек.

Восьмой день дома

4X_Pro

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

Вчера обсуждал с Kitsune то, что из-за кризиса вряд ли получится в этом году купить новый компьютер, так как покупать я его хотел из средств, полученных в качестве прибыли от акций. В итоге пришли к другому варианту: сделать апгрейд основного ноутбука, добавив оперативки и купив SSD большей емкости. Мне эта мысль понравилась, но потом вспомнил, что ноутбук у меня двухдисковый и SSD имеет очень редкий форм-фактор mSATA half size. В России сейчас такие, да еще и достаточной емкости, просто не продаются.

Читать далее…

Продолжаю работу над IntB

4X_Pro

Весь день работаю над Intellect Board. Решил добавить в него поддержку PostgreSQL. На первый взгляд, задача казалась простой: унаследовать от Database класс, необходимый для работы с БД, сконвертировать файл с созданием структуры базы и внести нужные изменения в install.php. С PostgreSQL я дела прежде почти не имел, поэтому вчера какое-то время ушло на сопоставление функций из mysqli и pgsql, установку расширения, восстановление пароля от хостинга ElephantSQL, где дают бесплатную базу, переустановку DBeaver (как выяснилось, я так его и не установил после переустановки OS) и т.п.

Читать далее…

Пятый день дома

4X_Pro

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

Если раньше казалось, что субъективное время идет в разы медленнее календарного, то теперь, скорее наоборот. Кажется, что «день большой закупки» (21 февраля), который я условно считаю последним днем нормальной жизни, был когда-то давным-давно, чуть ли не в другой жизни. А прошло совсем немного больше месяца.

Читать далее…

Рокетбанк: первая жертва кризиса

4X_Pro

Вот и выяснилась первая известная мне жертва нового кризиса: Рокетбанк. Несколько дней назад они объявили о смене условий: стали брать за обслуживание карты огромную сумму — 390 рублей/месяц, если карта не зарплатная. На что надеялись владельцы (сейчас это QIWI) — непонятно: то ли на то, что за кучей негативных новостей люди этого не заметят сразу, то ли сознательно решили «утопить» невыгодный проект, то ли понадеялись на фанатов, которым банк нравится настолько, что они готовы платить эту сумму за удобство и необычность. Но в любом случае, почти все ломанулись выводить оттуда деньги так, что в первый день нельзя было даже просто зайти в приложение. Поэтому я прождал пару дней, и только сегодня вывел деньги и заявил о желании закрыть счет. Но и то в ответ получил сообщение, что поддержка перегружена и ответит только в течение суток.

Читать далее…

Неэффективная жизнь и мой тип по темпористике

4X_Pro

Неделя проходит совершенно бестолково. В понедельник Tella вытащила на прогулку. Спускаться в метро я отказался категорически, поэтому решили отправиться в Измайловский парк. Когда выходил из дома казалось, что за окном отличный весенний день. Но очень скоро выяснилось, что это только лишь видимость: ветер на улице дул просто ледяной. Да еще и шли мы очень медленно. Я показал Tellе Серебрянку и Просянскую плотину, потом мы прошли парк насквозь и вышли к Измайловской. После чего я вспомнил шутку из Arcanumа (точнее, в самой игре этого нет, шутка с одного форума по нему): «вы обходите метро стороной — всё равно магов туда не пускают» и отправился назад.

Читать далее…

Неожиданная поездка на настолки

4X_Pro

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

Потом на связь вышла К.Ш. (почему-то в Instagram, а не ВК) и стала уговаривать приехать на настолки. Я ответил ей, что боюсь вируса, и поэтому собирался отсиживаться дома, и вообще думал, что на этой неделе ничего не будет. На это К.Ш. ответила «прислушайся к своей интуиции и доверься ей» или что-то в этом духе. Через несколько минут написала Ал.С., сказав, что это последняя встреча, и потом будет две недели перерыва, а от судьбы все равно не уйдешь.

Читать далее…