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

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


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

t.me/4x_pro

Лог жизни

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


Последний день тяжёлого лета

4X_Pro
Вот и всё, лето прошло. Впечатления остались очень противоречивые. Насколько прекрасной в этом году была весна, настолько тяжёлым получилось лето, причём без явных на то причин. То ли непонятная ситуация с ремонтом, которому изо всех сил противятся высшие силы, влияла, то ли просто время такое, то ли природа мстит за надругательство над ней. Впрочем, и хорошего тоже хватало: поездки в Ногинск, прогулки в Зарядье и Кузьминки в Москве, несколько обычных и велопрогулок тут. Жаль только, что ягоды упустил, да и за грибами пока ни разу не выбрался.
В последний день лето решило порадовать просто идеальной погодой: очень приятная температура (около 20 °C), полностью чистое небо и ощущение полного спокойствия в природе. Выбрался на прогулку, сделал круг по посёлку, который уже опустел. Только в небольшой части домов люди готовятся к завершению дачного сезона. Почувствовал то самое Внутреннее Безмолвие, о котором писал в предыдущем сообщении. Эх, хорошо!

Внутреннее безмолвие

4X_Pro
Более-менее выздоровел. Сегодня посмотрел видео «10 признаков что ты живешь не свою жизнь», которое прислала DarLik, а потом даже выбрался на велопрогулку к Клязьме и в сосновый бор за соседним СНТ. У Клязьмы посидел на берегу реки, уйдя в себя и размышляя.
Вспоминал это видео, думал о том, к чему стремлюсь я, и вдруг осознал: именно к тому самому состоянию спокойной сосредоточенности на чём-то, в котором я тогда сидел на берегу реки. И даже придумалось название этому состоянию: Внутреннее Безмолвие.
Стал крутить в голове, когда я его испытываю. Оказалось, что либо во время таких вот медитативных прогулок (причём даже не во время движения, а когда останавливаюсь и сижу на одном месте), либо когда играю в некоторые компьютерные игры, либо когда продумываю реализацию какой-либо идеи, представляю себе будущий проект, его архитектуру или какие-то отдельные компоненты.
Но вот когда начинаю писать код или, тем более, его отлаживать, состояние Внутреннего Безмолвия сменяется состоянием «внутреннего мата» — эмоциональной реакции раздражения то на опечатки (со слепой печатью при программировании, где активно используются спецсимволы, у меня плоховато), то на ошибки, то просто на необходимость постоянно обновлять страницу и переключаться между окнами.
Так что придумывать что-то мне нравится, а заниматься реализацией — не очень. Правда, возникает вопрос: что с этим делать…
А ещё то видео помогло мне осознать, что мой заваленный 5 уровень ТУАИ — гораздо бо́льшая проблема, чем я считал ранее. Именно он отвечает за страх рисковать, умение импровизировать и делать выбор в условиях неопределённости, что сильно блокирует творческие способности и растягивает время принятия решения в разы, когда я работаю над своими проектами. По сути, сейчас получается так: делаю несколько шагов, натыкаюсь на проблему, для которой сложившегося представления, что делать, у меня нет, и останавливаюсь до тех пор, пока оно не найдётся. Именно так сейчас с MLFW дело обстоит: постоянно откладываю, не зная, как быть: делать рефакторинг класса Template, чтобы полностью вынести шаблон в отдельный файл, или нет.

О YouTube и том, чего же я хочу на самом деле

4X_Pro
Сегодня посмотрел статистику моего YouTube-канала Единого Типологического Проекта, куда не заглядывал уже несколько лет, и обнаружил, что за всё время  его существования у него было ровно 1111 просмотров. Казалось бы, это целая тысяча человек, досмотревших мои идеи и так или иначе вникших в них, пусть даже и не ставших моими соратниками или просто сторонниками. И это с учётом того, что на канале всего одно видео, то есть нет синергетического эффекта, когда просмотрев одно видео, человек решает изучить канал в целом и смотрит остальные.
С другой, я почему-то этот канал воспринимаю как «не взлетевший», а видеоформат в целом — как неоправданно сложный для меня по затратам времени и сил.  И вот сейчас я задался вопросом: а почему я это так воспринимаю? Немного подумав, переформулировал вопрос: что должно измениться, чтобы я считал, что канал взлетел?
Ответ нашёлся довольно быстро: реакция окружающих, которая даёт ощущение «меня заметили». Причём заметили именно те, кто не знал о моем существовании прежде, а узнал о нём именно из опубликованных материалов. Выражаться она может в двух видах: либо комментарии непосредственно к видео, либо обсуждение моего контента на сторонних площадках. (Ещё сюда можно было бы отнести упоминания в СМИ, как специализированно-отраслевых, так и общего формата.) А вот с этим-то всё и плохо: и комментариев всего несколько штук, и на обсуждения на других сайтах и форумах ни разу не натыкался (за исключением ссылки в ЖЖ-сообществе с почти тролльскими комментариями ещё в 2007 году).
Но в любом случае, после этих размышлений я стал лучше понимать, чего же хочу на самом деле.

Заметка в Instagram от August 27, 2023 at 07:39PM

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

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

Вчера был ужасный день

4X_Pro
Вчера был просто ужасный день! Мой организм не выдержал перегрузок и недосыпов последних дней и свалился в болезнь. Так плохо я себя не чувствовал с августа 2004 года, когда точно так же заболел от переутомления! В результате весь день просто пролежал, не вставая. Сегодня более-менее прихожу в норму, но состояние ещё далеко от идеального.

Intellect Board или MLFW

4X_Pro
Продолжаю крутить в голове идею Aksionа о том, чтобы сделать вариант движка IntB только для блогов. В принципе, если встроить в него тот же код очистки HTML-тегов, который я писал для MLFW, то исчезнет главное препятствие — невозможность использовать более продвинутые WYSIWIG-редакторы. В остальном же backend-часть IntB достаточно гибка, чтобы можно было встроить в него всё, чего сейчас не хватает до полноценного блогового движка, кроме разве что иерархических комментариев (хотя при должной степени упорства можно был бы и с этим справиться). Например, отдельные поля для SEO title, description и Open Graph можно хранить в сериализованном виде в универсальной таблице prefix_text.  А вот стиль для блога, видимо, лучше сверстать полностью с нуля, и чтобы выглядел современно и без jQuery. Заодно можно будет сразу предусмотреть в нём возможность перевода на другие языки, которой я когда-то пожертвовал в IntB 3.x для ускорения разработки. (Помню, сколько глюков вылезало из-за этих переводов во времена 2.x)
Но возникает вопрос, как быть дальше. То ли делать fork и позиционировать блоговый движок как отдельный продукт (пусть даже сохранив единую кодовую базу), то ли оставить всё как есть, но на этапе установки предусмотреть выбор режима работы «форум», «блог», «мультиблог» или «мультиблог + форум», и исходя из выбранного режима, делать разное начальное наполнение базы. В частности, использовать для блога упрощённый вариант панели администрирования.
Попытался даже сделать расклад на Таро. Но они в ситуации выбора между MLFW и попытками возобновить активную работу над IntB однозначно указывают на первый вариант. Причём уже не первый раз, подобный вопрос я, кажется, уже задавал где-то в начале 2022 года.
В общем, наверное, пока возьму паузу и начну заниматься вёрсткой статики для сообщества/блога. Плюс ещё постепенно накатывает очередной поток freelance-задач, а я никак не могу на них переключиться.

Waterhole — очередное поделие баблорубов

4X_Pro
Обсуждали сегодня с Akionом форумные и блоговые движки. В частности, он предложил сделать из моего IntB блоговый движок, в котором будут сохранены только некоторые черты форума, на что я ответил, что для этих целей пишу теперь новый framework — MLFW.
В ходе обсуждения вспомнил о разработке Evgа с LibArea, решил зайти туда. И в одном из первых же материалов увидел ссылку на новый форумный движок Waterhole на Laravel, в котором многое, на первый взгляд, близко к тому, что мы обсуждали. Сначала даже стал переживать, что опять всё уже сделано.
Но нет! Когда поставил, оказалось, что во-первых, он на моём VDS просто дико тормозит (коротко о том, почему не нужно использовать Laravel для небольших продуктов). Во-вторых, он платный даже в случае self-hosted. В итоге так и удалил это поделие баблорубов.

Ещё три дня задержки

4X_Pro
Сегодня ездил в магазин отменять оплату. Думал, там нужно будет писать заявление с подписью, но нет. Выяснилось, что если заказ оформлялся онлайн, моё присутствие вообще не нужно. Просто менеджер думала, что для проведения отмены нужна банковская карта, с которой был платёж. Но оказалось, что нет. Как всегда, без проблем не обошлось: чего-то не согласовали на стороне подрядчика. В итоге получилось так: я приехал в магазин, прождал там минут 20, потом выяснилось, что всё можно сделать без меня. И операцию отмены всё же к вечеру провели, но дальше всё зависит от банка. И в лучшем случае он вернёт деньги на счёт в лучшем случае в понедельник, после чего можно будет повторить оплату.
Почему-то я уже не удивлён… Почему-то мир явно сопротивляется. Но почему? И интересно, что случится в понедельник, чтобы вызвать следующую задержку?
После магазина решил сразу ехать на дачу с платформы Серп и Молот. Но получалось так, что до ближайшей электрички 21 минута, а потом — перерыв более чем на час. Поэтому нервов было потрачено много: сначала пока автобуса ждал (и чуть было не сел на тот, который уходит на ТТК, хорошо, добрые люди подсказали, причём по своей инициативе), причём поблизости в это время ремонтировали ограждение дороги и с просто жутким грохотом роняли железные балки. Потом — нёсся сломя голову от остановки (которая оказалась дальше, чем я думал) до ж/д станции, причём топал как слон, но люди, идущие на встречу, продолжали тупить в мобильники вместо того, чтобы подвинуться и уступить дорогу. Пока ехал в автобусе, для экономии времени купил билет через мобильник. Но эффект оказался чуть ли не обратный: никак не мог активировать билет по NFC, чтобы пройти через турникет сразу, а времени оставалось всего несколько минут. В итоге со второй попытки прошёл по QR-коду и на электричку всё-таки успел. Кстати, платформа Серп и Молот для этой электрички была конечной, поэтому сел со всеми удобствами: у окна и лицом вперёд. Правда, от перегрузок и усталости поездка всё равно особо удовольствия не принесла за исключением разве что последнего участка пути за Фрязево. Я просто ушёл куда-то в свои мысли.
А вот Посад буквально сразу подействовал как-то успокаивающе, ещё когда выходил с платформы. А потом была спокойная и неспешная поездка на автобусе с мыслью, что когда-нибудь все эти трудности останутся позади, и я буду жить вот в этом замечательном городе. Причём я сделал так: сначала ненадолго заехал на квартиру (и обнаружил, что когда уезжал прошлый раз, забыл перекрыть воду, но к счастью, обошлось без последствий), посидел там какое-то время. Потом сел на автобус, который заходит в северную часть Больших Дворов, что дало возможность сократить путь до дачи.

Эксперименты с Quill

4X_Pro
Поизучал API редактора Quill, который рассматриваю как один из возможных WYSIWYG-редакторов для MLFW/MLCE. Другой вариант — CKEditor, который появился гораздо раньше и устроен более традиционно, как те WYSIWYG, к которым я привык.
В целом Quill мне очень нравится! Похоже,он генерирует достаточно чистый HTML-код почти без всяких inline (чем страдает большинство других редакторов). И ещё он позволяет вставлять изображения из буфера обмена, кодируя их в data:base64.
Но есть одна особенность: он не использует textarea в качестве стартового элемента, если так можно выразиться, а вместо этого редактирует любые элементы внутри заданного DOM-узла. С одной стороны, это классно: позволяет легко и безболезненно использовать его для редактирования текста прямо на той странице, где отображается готовая статья. С другой — труднее сделать возможность написать хоть что-то пользователям, у которых JavaScript отключён в принципе. Хотя сейчас вроде нашёл обходное решение…
Ещё непонятно, как там с поддержкой S3-протокола. Вроде нашёл какое-то стороннее решение на GitHub, но непонятно, насколько оно рабочее. А вот в CKEditor оно есть сразу,
И поймал один мелкий баг: если в конец текста вставить блок кода, то поставить курсор после него, чтобы писать дальше обычный текст уже не получится. Только вырезать блок в буфер обмена, добавлять пустую строку, и потом вставлять обратно. Вот с картинками такого не наблюдается (хотя в других редакторах и с ними бывают такие проблемы).

Прогулка в духе Истинных Времён

4X_Pro
Вчера, узнав о том, что на дачу не поеду, решил пойти на прогулку. Долго выбирал между Кусково и Измайловским парком. Даже расклад на Таро сделал: за Кусково выпала девятка Пентаклей (какая-то непредвиденная выгода), на Измайловский — перевёрнутая Пятёрка чаш (избавление от переживаний и новый взгляд на мир). В итоге в последний момент всё же выбрал второй вариант.
И, надо сказать, не зря. Получилась длительная прогулка в духе Истинных времён (браслет насчитал в итоге 12 тысяч шагов). Добрался до Серебрянки, потом ушёл в ближнюю к Измайлово часть леса, вышел к Ольнянному пруду. Но там сейчас делать нечего: сам пруд пересох полностью, на берегах слишком многолюдно — много шашлычников и любителей попрыгать с трамплина на великах. Затем добрался до Первого Декоративного aka Собачьего. Вспомнил, как в этом и прошлом году сидел на его берегу весной, перед заездом на дачу. Увы, весной там лучше. Летом пруд слишком уж сильно зарастает и зацветает.
И хотя во время прогулки не было каких-то сильных впечатлений, в итоге пришло какое-то внутреннее спокойствие и умиротворение. И ещё почувствовал себя так, будто бы я вернулся в 2003-2006 годы, когда много бродил по тем же местам.
А вот остаток дня прошёл очень даже эффективно. Неплохо продвинулся в игре Tale of Two Kingdoms, дойдя уже до третьей главы. И поуизучал API редактора Quill, о чём скоро будет отдельная запись.

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

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