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

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


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

t.me/4x_pro

Лог жизни

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


Бронзовая лига взята

4X_Pro
Что ж, после ещё одного вечера программирования я вышел на CodinGame в бронзовую лигу (на данный момент это высшая, серебряная откроется только 30 мая). Причём из «дубовой» лиги выходил очень тяжело, никак не мог понять, в чём дело. Один раз почти получилось, но потом посыпалась череда поражений, и в итоге застрял на 13 месте. А потом выяснилось, что в программе была ошибка: я не реализовал сохранение уже построенных маршрутов в свойствах игрока. Из-за этого новые маршруты добавлялись далеко не всегда оптимальным образом. Как только с этим разобрался, сразу же прорвался в бронзовую лигу (на данный момент более высокие ещё не открыты) и поднялся там до 431 места. Завтра буду пробовать дальше: уже есть мысли, что ещё можно сделать…

CodinGame: новое соревнование

4X_Pro
Вчера зарегистрировался на новом конкурсе CodinGame. Долго не мог определиться, стоит ли ради него отвлекаться от разработки MLFW. С одной стороны, раз отвлёкшись, сложно вернуться. С другой — сейчас всё равно период, когда плохо представляю, что именно делать дальше. В итоге решил сделать то же, что и в 2021 году: выйти хотя бы в серебряную лигу, а дальше — как пойдёт, но не устраивать себе бессонных ночей с одержимостью, как это было в 2018—2019 годах.
Но вчера день оказался какой-то неэффективный: кое-как вник в условия конкурса, но не написал ни одной строчки кода. Занялся этим только сегодня, и то как-то весьма неспешно. Но зато понял, что изучение алгоритмов зря не прошло: сам подход существенно поменялся. Хотя и сама конкурсная задача тоже стала сложнее. Раньше я в бронзовую лигу выходил легко (однажды даже написал код, который сразу проскочил и первый, и второй дивизион дубовой). А сегодня писал и отлаживал код весь день. Из второй дубовой вышел после первой же отправки, а вот в первой с тем же кодом даже до середины не поднялся. Правда, там и существенные изменения в условиях игры происходят: появляются новые правила и более жёсткие ограничения. В общем, судя по всему, завтра придётся код основательно переписывать. Заодно и в плане оформления улучшу… Правда, не знаю, хватит ли времени: кроме этого, собирались с отцом съездить на новую квартиру.

Заметка в Instagram от May 24, 2023 at 09:11PM

4X_Pro
Вчера снова побывали с @natalia_tella в Ногинске. Сначала пошли на главную городскую площадь (увы, так её и не сфотографировал), потом — спустились к реке, на то же самое место, где были в самый первый приезд. Площадь очень понравилась! И вообще, по общему впечатлению, Ногинск мне чем-то напомнил сильно уменьшенный Ярославль. Во-первых, вкусной едой, во-вторых, тем, что площадь вызвала то же ощущение полноты жизни, какое было в Ярославле в последний день. Ещё Ногинск —это город фонтанов: они есть и на главной площади, и на привокзальной, и даже в реке (см. второе фото). А последний фонтан расположен на другом берегу, где находится современная часть города.
#ногинск #мост #фонтан

Смотреть все фото

На нас напали!

4X_Pro
Недавний скан сайта не прошёл бесследно. Сегодня зашёл в Метрику и обнаружил, что просел траффик, а 19-ого числа было 20 тысяч заходов! И все — боты из Эстонии, проведшие на сайте по 5 секунд. Пришлось срочно добавить тег rel=canonical на сайт, и теперь ещё несколько дней займёт переиндексация. А сегодня утром прилетело уведомление от ВК о том, что кто-то попытался зайти в мой аккаунт с iPhone. Проверка последних сессий показала, что безрезультатно.
В общем, кто-то решил в Сети со мной повоевать. Судя по данным Метрики, это лицо в возрасте 24-35 лет мужского пола и явный эпплузер (заходы с компа тоже с Apple-техники, если только у него не хватило мозгов подделать User-Agent). Остаётся только вопрос, кто это и что ему вообще нужно. Пока рабочая версия — та же команда, что докопалась до abrbusа.
А пока предупреждаю всех: если вдруг получите сообщение от моего имени и оно покажется вам каким-то странным (например, просьба денег в долг) — задавайте контрольный вопрос, чтобы удостовериться, что это действительно я. Так победим.

Об MLFW и slow life

4X_Pro
В конце прошлой недели вернулся к работе над MLFW (MindLife framework) и достаточно неплохо продвинулся. Сделал авторизацию по фиксированному списку пользователей (когда список хранится не в базе, а задаётся непосредственно в настройках приложения) и подключение логгеров по стандарту PSR-3. Причём когда делал авторизацию, пришлось принять тяжелое решение — увеличить минимально требуемую версию PHP с 7.0 до 7.1, чтобы можно было делать type hinting для нескольких типов сразу.
Когда решал этот вопрос, заглянул на официальный сайт PHP и с удивлением обнаружил, что там последняя официально поддерживамая версия уже давно вообще 7.4. Какой кошмар! Куда все так торопятся? В том же Ubuntu 18.04, срок жизни которого ещё не закончился, официальная версия — 7.2 (и без костылей типа PPA её не обновить), у какого-нибудь CentOSа, наверное, ещё более старая. Мир стал слишком быстро меняться, и непонятно, как его притормозить!
Ещё понял, что моя работа над MLFW — это как раз то самое творение в режиме slow life, каковым оно и должно быть: с долгим размышлением над тем, какое решение будет максимально правильным, с изучением стандартов и мнений, как делать лучше. А ещё возврат и переделка неудачных решений.
В частности, вчера половину вечера потратил на то, чтобы определиться, в каком формате нужно писать лог. В итоге пришёл к выводу, что лучше использовать tsv вместо csv, предусмотрел возможность указывать не просто имя файла, а с возможностью подстановки даты, хоста и серьёзности лога. А также выбрал формат даты, который автоматически распознаётся LibreOffice Calc при импорте tsv.
В общем, из серьёзных доделок, по сути, остаётся только работа с формами, планировщик с поддержкой надёжных задач и кеширование. Из более мелких — лента RSS, всякие минификаторы CSS (и склейка в один файл) и HTML, но это можно позаимствовать из разработок 10geekа или моего проекта 2seconds (нужно будет ещё сравнить, чей вариант эффективнее). Начинаю верить, что когда-то я всё это всё же доделаю! Вообще, написание этого frameworkа подобно строительству средневекового собора: результат будет виден очень нескоро, но само занятие этим даёт чувство наполненности жизни смыслом.

Как потерять полчаса напрасно

4X_Pro
Сейчас попытался улучшить Интернет на даче. Сначала думал, проблема в недостаточной мощности WiFi в роутере. Спустил его на первый этаж, подключил к ноутбуку через USB, но лучше от этого не стало. Решил переключиться с 4G на 3G из соображений, что последний меньше загружен. Сначала скорость выросла, но через пару минут связь отвалилась вообще и наглухо. Обратно роутер тоже отказался переключаться с неведомой ошибкой. В итоге попытался включить/выключить передачу данных через Web-интерфейс, но получилось только отключить. Потом роутер перезагрузил, 4G снова включился, но я очень долго не мог понять, почему траффик не идёт. Перезагружал несколько раз роутер, компьютер, снова переключался на 3G и обратно, но ничего не помогало: траффик был нулевой. И только потом увидел в Web-интерфейсе, что мобильная передача данных выключена. Включил — и всё заработало!

Перебрался на первый этаж

4X_Pro
Опять не успеваю писать в блог. То дни настолько эффективные, что на это не остаётся времени. Так, в частности, было 17-ого (в тот день, когда я писал про рассвет) и вчера (об этом ещё напишу сообщение). То, наоборот, дни проходят мимо, и не успеваю почти ничего, да ещё и не высыпаюсь. Так, например, было в пятницу. Впрочем, тогда кое-что успел: выбрались с Tellой в Посад и посмотрели там часть города западнее площади Революции. Место там очень уютное и какое-то радостное, если можно так выразиться: старые двухэтажные деревянные домики и тихая речка Вохонка.
А сегодня начал лето досрочно: перенёс ноутбук на первый этаж. Обычно делаю это 1-2 июня (и именно этот момент и считаю началом лета), но теперь решил, что первый этаж уже достаточно прогрелся. Насколько же тут комфортнее: и кресло нормальное, и экран большой, и клавиатура внешняя.

Рассветное созерцание

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

Заметка в Instagram от May 15, 2023 at 10:50PM

4X_Pro
Хотел сегодня отправиться на прогулку на закате и сфотографировать его. Но, как всегда, немного опоздал и вышел слишком поздно. Из-за этого был весьма раздраженный, но природа действует успокаивающе. И хотя застал только последние моменты, в целом прогулкой остался доволен. Видел, как противоположный берег Клязьмы покрылся туманом. В кустах на берегу уже поют соловьи, да и комары появились!
#клязьма #вечерняярека #рекавечером #закат #закатнадводой

Смотреть все фото

Слово об утерянном контакте с высшими силами

4X_Pro
В последнее время много размышляю над тем, чем я-теперешний отличаюсь от того я, каким был до Выгорания 2008 года. Вроде и производительность восстановил, и гармонию с миром регулярно удаётся почувствовать, и идеи порой появляются, но всё равно чего-то не хватает. И вдруг понял одно очень важное отличие. Тогда я жил с ощущением того, что некий контакт с высшими силами совсем-совсем близко. Что стоит ещё немного времени провести в медитации или пройти какое-то инициационное испытание или даже просто встать однажды солнечным утром и отправиться в некое архетипическое путешествие, и произойдет некое Откровение. Что-то вроде того, что описано в «Пророке» Пушкина:

Моих ушей коснулся он, —
И их наполнил шум и звон:
И внял я неба содроганье,
И горний ангелов полет,
И гад морских подводный ход,
И дольней лозы прозябанье.


То есть я увижу что-то, что недоступно для восприятия обычным людям, что даст мне какие-то необычные способности. В чём именно они будут, я не знал. Либо в необычном взгляде на мир, который даст возможность совершить прорывное открытие. Либо в способности предчувствовать будущее, которая даст необычайную удачливость в различных играх (в том числе, трейдинге на бирже или на Forex или в профессиональном покере). То ли даже просто в том, что я вдруг пойму «вот этот  вид деятельности — моё, и действовать тут нужно так-то», после чего за пару-тройку месяцев обучения и тренировок добьюсь каких-то выдающихся результатов, которые дадут мне то самое недополученное формальное признание.
А после Выгорания это исчезло и так и не восстановилось. Хоть я и продолжаю пробовать разные виды деятельности, но делаю это чисто механически, без ощущения подсказки свыше «иди сюда, это — твоё». И результаты получают соответствующие — в лучшем случае на уровне твёрдого хорошиста. В худшем — просто бросаю, видя, что толком ничего не выходит. Причём если где-то до 2019 года я ещё верил «ничего, хоть и нет подсказки от высших сил, просто буду пробовать разное вслепую, авось чего и нащупается», то потом исчезла вера даже в это, потому что чем больше пробовал, тем больше закрывалось «дверей возможностей».  Но как восстановить этот контакт с высшими силами (или хотя бы просто понять, почему он пропал) — остаётся загадкой…
Единственное, что удалось понять, так это то, что мои творческие способности сильно ограничены заваленным пятым уровнем ТУАИ, страхом рисковать и действовать нешаблонно.

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

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