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

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


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

t.me/4x_pro

Лог жизни

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


Обновлённый Ведьмак 3

4X_Pro
Попробовал сегодня играть в обновлённого Ведьмака на GeForce 3080 с включённым RTX. Впечатления весьма противоречивые. С одной стороны, графика реально стала совсем иной, похожей на фотографии, особенно свет от костров, факелов и т.п. С другой — от этого сильно растёт bitrate видеопотока. А Parsec почему-то не поддерживает аппаратное декодирование H.264 (нашёл на Reddit утверждение, что временно отключили из-за перехода на ffmpeg в качестве видеобиблиотеки), поэтому начинает не хватать скорости процессора уже на моём компьютере, и начинает криво работать управление — возникают ощутимые задержки. В общем, поэкспериментировал с настройками, снизил видеопоток до 10 MBit/s. После этого играть стало хоть как-то приемлемо, но ощутимо упало качество картинки. В конце концов, бросил это дело и перезапустился на версии для DirectX 11. Вот там картинка реально чёткая! К тому же сегодня добрался до Скеллиге, где сами по себе виды просто потрясающие. Как говорится, радость зрительного вектора из СВП. Ещё понравился режим фотоаппарата в новой версии!
С подачи сайта Госуслуг прошёл тест по финансовой грамотности. С первой попытки получил сертификаты и повесил их на странице личных достижений на личном сайте. Для этого пришлось заново ставить Ruby и Jekyll, причём Jekyll почему-то в Debian нельзя поставить через apt, поэтому пришлось через gem. В один момент вылезали какие-то конфликты версий, но в итоге всё заработало.
Вечером посмотрел четвёртый день видео из курса «Биология поведения». Понравилась мысль, что дисциплина — это не жёсткий график, а умение на какое-то время сконцентрироваться на главной задаче, отбросив всё остальное. Мысль очень верная, только вот добиться этого без отключения Интернета не получается.

21 годовщина

4X_Pro
Эх, сегодня 21 годовщина того злополучного дня Декабрьской Трагедии. Впрочем, начинался он как вполне себе обычный: такой же серенький денёк, как сегодня, поздний (по тогдашним меркам) подъём, поездка в Институт к третьей паре, ничем не примечательная лабораторная работа. И только потом — поиски компьютерного класса для защиты того самого курсового, влезание Hanzirы без очереди, сама защита, которая проходила как в тумане. И наконец, возвращение домой с цитатой из Falloutа «если я копыта откину — не хороните меня тут» (имеется в виду, рядом с Институтом). Но тогда я ещё не знал того, к каким последствиям это приведёт. Узнал об этом только 18 декабря.
Отправиться бы в прошлое, встретить себя самого у Института, и сказать себе «не ходи ты с восьмой группой защищаться, дождись вторника, там лучше будет». И вся жизнь пошла бы по-другому!

Деидеализация фанатизма?

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

Изменения порождают проблемы

4X_Pro
Мда, всё-таки любые изменения могут породить непредсказуемые проблемы. Недавно на компьютере реорганизацию файлов провёл, синхронизацию на VDS сделал, а то, что с того же VDS раздаётся копия личного сайта прямо из каталога, куда идёт синхронизация с компьютера, в Yggdrasil и I2P — забыл наглухо. В результате неделю, если не больше, вместо сайта выдавалась ошибка 404. Только сейчас пошёл в i2p, ввёл для проверки xxxxpro.i2p и долго не мог понять, что могло случиться.

Вчерашний суперэффективный день

4X_Pro
Вчера был просто суперэффективный день: успел почти всё, что хотел, за исключением одной небольшой доделки для SuperMon_Bot. И даже больше: нашёл на Coursera курс по UI/UX и прошёл первую неделю. Решил, что может быть, тогда интерфейсная часть любого проекта будет вызывать меньше неприятия. Правда, курс, похоже, совсем обзорный, без углубления. Видел также материалы от Google, но там другая крайность — специализация на несколько курсов (и не уверен, можно ли пройти её бесплатно).
Вечером посмотрел ещё первое видео курса «Биология поведения», ссылку на который прислала И.Х.
А сегодня, видимо, как обычно, будет обратная крайность: день пройдёт мимо. Тем более погода на улице ужасная, и это дополнительно давит на психику UPD: Но, как оказалось, нет. Посмотрел второе видео курса «Биология поведения», успел кое-что из домашних дел, и ещё посмотрел видео про использование node.js для выдачи server side events. И поиграл ещё немного в Heronie's Quest, но там давно уже нет продвижения вперёд.
Единственный минус — это перегруз общением, впервые за последнее время выключил мессенджеры. Хотя, возможно, дело не в общении как таковом, а в постоянном переключении между видео и сообщениями.

Первые разочарования в Mastodon

4X_Pro
Вчера попытался с наскока сделать те три исправления в Mastodon, но не получилось. Долго ломал голову над роутингом: оба URL (для локальной ленты и для пользовательской) вызывали один и тот же контроллер home#index, где в самом файле вообще почти ничего не было. И только потом дошло, что подгрузка ленты сообщений делается с помощью JavaScript! Это сразу заставило задаться вопросом: а будет ли работать без него. Оказалось, что нет. И это было серьёзным разочарованием. Одно дело отступить от принципа «на моём сайте только мой код» (от него я уже пару раз отступал, когда создавал tipiruem, typforum и socionics.me), а совсем другое — от принципа graceful degradation и того, что хорошо сделанный сайт должен работать без JavaScript. В общем, теперь даже не знаю, что делать…
Попытался даже сделать расклад на Таро с вопросом «как повлияет уход на Mastodon на мой Путь». Выпал перевёрнутый Иерофант (VI аркан), а также самопроизвольно выпали перевёрнутый Король Мечей и прямая Королева Пентаклей (хотя сейчас точно не помню, реально прямая или я перевернул). С учётом того, что Иерофант — это, вообще-то мой сигнификатор, это очень плохой знак…
Но есть и позитивный момент. Изучая код Mastodon, узнал про формат HAML и нашёл для него парсер на PHP. Причём очень экономный в плане памяти: тестовый пример с его использованием занимает всего 560 Kb памяти! Если вернусь к работе над своим frameworkом, буду его использовать, так как он значительно ускоряет то, чего я терпеть не могу — написание HTML-кода.

Ещё немного о сообществе на Mastodon

4X_Pro
Продолжаю размышлять о создании сообщества идеалистов на базе Mastodon. В принципе, все те недостатки, о которых я уже писал, можно исправить самостоятельно. Ещё выяснилось, что Mastodon изначально поддерживает PWA, но только на базовом уровне: позволяет добавить значок на рабочий стол и делать PUSH-уведомления. А кешировать просмотренные записи или писать сообщение в оффлайне — увы, нет. Потестировал ещё пару мобильных приложений — официальное, которое так и называется Mastodon, и Tusky. В них можно готовить черновик в оффлайне (примерно так же, как в Instagram), но нельзя его сохранить и вернуться к просмотру ленты. То есть действовать придётся так: написал, сразу включил Интернет и отправил, иначе может потеряться.
Кроме того, выяснилось, что есть desktop-приложение Whalebird, которое позволяет работать с несколькими аккаунтами одновременно. Это важно, так как уже задумал сделать отдельно официальный аккаунт сообщества, аккаунт с каталогом сайтов, каталогом страниц идеалистов и канал халявой. И перелогиниваться всё время было бы очень неудобно, а отслеживать ЛС нужно для приёма заявок в каталоги.
Ещё выяснил, что для работы Mastodon требуется примерно 860 Мб памяти. И это я ещё не ставил Elastic Search для полноценного поиска с морфологией (я бы предпочёл Sphinx, но он вроде не поддерживается). То есть VDS с 1 Гб будет хватать впритык, если пользователей станет больше. Стал смотреть, сколько сейчас стоят VDSы с 2 Гб, и оказалось, что они весьма подорожали: в большинстве мест — от 700 руб и выше. Только на FirstByte, где я когда-то держал socionics.me и ботов, нашлась пара приемлемых тарифов: 1.2 Гб с двумя ядрами за 248 руб и 1.5 Гб с тремя — за 300. И ещё на FirstVDS нашёл вариант с 2 Гб за примерно 272 руб, но всего одним ядром. Правда, не знаю, что Mastodonу нужнее — ядра или память. UPD: установил Elastic Search, и оказалось, что на 2 Гб он даже стартовать не может: падает по OOM killer. Пришлось увеличить память для виртуалки до 4 Гб.
И ещё всё же понял, какой формат будет там у личного аккаунта. В основном, Сетевые находки (статьи, книги, игры) и свои комментарии/размышления по поводу них и некоторые мысли, не тянущие на полноценные статьи. Правда, это будет дублировать разделы «Общество», «Личность» и «Сиюминутное» на форуме при этом сайте. Но с другой стороны, туда всё равно слишком редко кто заглядывает, да и сам зачастую не хочу создавать темы, которые содержали бы по сути только внешнюю ссылку + пару строк от меня.
В общем, всё больше и больше прихожу к выводу, что если смогу быстро разобраться, как сделать нужные исправления в Mastodon, то решение запускать сайт идеалистов на нём — правильное!

О Web-программировании и идентичности

4X_Pro
Позавчера ночью осознал, что заниматься Web-программированием давно уже не является моим истинным желанием. Исключением, да и то с оговорками, было создание личного сайта летом, но там скорее было интересно придумывать «пасхалки». Вот, скажем, копаться в настройках системы, экспериментировать с измерением их влияния на производительность или там изучать одноплатники, чтобы сделать домашний файл-сервер, писать скрипты для автоматизации чего-либо — да, по-прежнему интересно и даёт чувство морального удовлетворения от сделанного. А с Web — такого ощущения нет.
Вообще, с Web-разработкой у меня было так: самой первой причиной, почему я этим занялся, было желание показать бывшим лицеистам, что я могу с этим справиться. Потом — желание иметь возможность транслировать в мир свои «антиускорительские» идеи. Я считал, что в будущем человек, который умеет делать сайты, будет иметь такое же преимущество, как грамотный перед неграмотными в прежние времена.  Дальше я сосредоточился именно на форумах  как средстве создания сообщества своих единомышленников, проекта с собственным лицом (какими и были в своё время openproj.ru и socioclub.org).
А ещё Web-программирование было для меня возможностью сделать что-то, что позволило бы встать в один ряд с Брэдом Фицпатриком (создателем ЖЖ), Джеймсом Аткинсоном (автором PHPbb), Алексисом Оганяном (один из основателей Reddit)  и другими личностями, чьи творения серьёзно повлияли на Интернет.
Но увы, сейчас всё это потеряло актуальность. Умением делать сайты на чистом HTML+PHP без frameworkов теперь уже никого не впечатлишь. Транслировать идеи эффективнее не через личный сайт, а через крупные площадки (либо хотя бы автоматизировать репосты туда). Проект, сделанным одиночкой без большого сообщества, в наше время либо просто не заметят, либо не рискнут воспользоваться из соображения «есть риск, что поддержка может прекратиться в любой момент». А для создания того же сообщества идеалистов мне достаточно создать отдельный instance того же Mastodon и сразу получить готовое решение с красивым интерфейсом, без нескольких месяцев разработки. (Кстати, интерфейсы — это моя отдельная боль: будучи аскетом по мировоззрению, терпеть не могу ими заниматься потому что воспринимаю время, потраченное на них, как бесполезное, но с другой стороны, часто именно интерфейс  решает, будут ли люди этим пользоваться.)
И поэтому бессознательная часть психики, которая следит за вопросами эффективности, во всю саботирует то, чтобы я занимался Web-разработкой, переключая моё внимание на другие задачи.
С другой стороны, на Web-программирование и мои проекты во многом завязана моя идентичность, ответ на вопрос «кто я». Даже на личном сайте это идёт первым пунктом. Отказавшись от неё, я лишусь возможности чувствовать себя творцом, и скачусь в простые потребители. Собственно, именно из-за этого проваливались все мои прежние попытки отказаться от больших замыслов и заниматься только малыми проектами, которые можно полностью сделать за пару дней. К тому же есть несколько идей, которые я считаю нужным всё же принести в мир: каталог бесплатностей и личных страниц, мобильное сообщество с возможностью писать записи в оффлайне, open soruce-аналог движка Pikabu.
Но каталог можно реализовать в виде бот-аккаунта на том же Mastodon, систематизировав его с помощью хеш-тегов. Да и для мобильного сообщества доработать его же, добавив возможности Progressive Web Application.
А что касается свободного аналога Pikabu, то я воспринимаю его в первую очередь как инструмент публичного асинхронного общения. Но сейчас в Интернете всё больше и больше наблюдается обратная негативная тенденция: уход в закрытые реалтаймовые чаты. И можно ли её переломить, просто создав хороший инструмент, — это большой вопрос… Либо даже не переломить, а просто собрать вместе всех тех, кому это не нравится.
В общем, решения, как быть со всем вышеперечисленным, пока не видно. Но зато побочным эффектом от всех этих размышлений стала статья о личной силе. Впрочем, задумывал я её существенно раньше, но именно мысль о самообмане про Web-программирование и подтолкнула к тому, чтобы сесть и написать её.

Жизнь в режиме полярной ночи продолжается

4X_Pro
Эх, опять живу в режиме полярной ночи: ложусь то в 7, то 8 утра и просыпаюсь в 15—16, когда за окном уже начинает темнеть. В результате время девается непонятно куда, почти как в моих кошмарах, и не успеваю фиксировать всё, что происходит в жизни. И, похоже, у меня сейчас снова биоритмический спад.
А произошло довольно много всего интересного. Во-первых, в пятницу обновился Яндекс ИКС. Впервые почти за два года у меня наблюдается рост показателей у типологических сайтов: по +10 получили typtest.ru, typologies.ru и tipiruem.ru.
В субботу снова сходил на игры. Попробовал две новых: Azul и Dobble, разок сыграл в «японский бэнг», а потом был «Остров кошек». Правда, в «Острове» на предпоследнем раунде допустил серьёзную ошибку: попытался использовать четыре корзины, но понял, что на это не хватит ресурсов, и две просто пропадут. В добавок к этому повторялась ситуация с множеством незаполненых кают. К счастью, Ал.С. пошла навстречу разрешили вернуть эту карту в закрытые и использовать на следующем раунде. Там я смог разыграть всё как надо и более-менее спасти ситуацию. Но посчитать результаты игры мы так и не успели: пришло время закрытия клуба.
В воскресенье планировал сделать набросок итогов года. Но как всегда, бессознательное взбрыкнуло. Вместо запланированного стал заниматься совсем другим — вернулся к своей давней идее сделать умную стартовую страницу броузера с модульным подходом, куда можно будет собирать всю важную для меня информацию: уведомления о новых сообщениях на своих форумах, напоминания из списка дел, курсы валют и металлов, поток интересных репозиториев с GitHub и напоминания о скачанных файлах. Сделал «скелет» для такой страницы, тестовый модуль «Hello world» и выложил это дело на GitHub. В понедельник хотел вернуться и продолжить, но снова всё пошло не так: весь день был не выспавшийся, делать ничего не хотелось. И только под вечер смог заняться другим: восстановил выгрузку backupов со своих VDS и сделал новый скрипт синхронизации данных с ноутбуков через второй VDS. Теперь, благодаря тому, что реорганизовал хранение файлов, на сервер будет уходить почти всё содержимое домашнего каталога, кроме наиболее критичных личных данных, загрузок, кешей и специального каталога NoSync. И ещё разделил скрипт на два: один выполняет push-операцию (т.е. выгрузку файлов на сервер), другой — pull. Причём push хочу повесить на systemd.timer, чтобы тот выполнялся каждые два часа после включения компьютера, а pull — на момент после входа в систему и подключения к сети. И ещё предусмотрел в push возможность удаления на сервере тех файлов, которые удалены на ноутбуке. Правда, только в ручном режиме — автоматизация тут всё-таки достаточно опасна. Но на этом большую переустановку системы можно считать завершённой!
Также вчера приходил отец и починил витую пару, которая проложена очень кривым способом под порогами двух комнат и где-то месяца два назад повредилась. Теперь снова могу сидеть на проводном подключении, а не WiFi, и очень этим доволен!
Ещё почитал статью на Хабре про ЖЖ и удивился: подумать только, то, что мной воспринималось как часть жизни, которая просто стала чуть менее актуальной, потому что в это наигрались (тот же олбанский язык, например), кем-то воспринимается как часть истории, причём весьма давней.

Проброс диска через yggdrasil не удался

4X_Pro
Поставил эксперимент с пробросом каталога с играми по SMB со своего компьютера на облачный сервер с Windows через yggdrasil. К такому извращению пришлось прибегнуть из-за того, что мой провайдер закрывает порт 139.
Увы, эксперимент провалился. Yggdrasil под Windows установился и сначала даже работал (по крайней мере, я мог пропинговать другие свои компы по ygg-адресам и зайти на свой сайт). Но когда попытался смонтировать диск, система по каким-то причинам решила выключиться (причём не по BSOD, а штатно). После повторной загрузки всё повторилось, возможно, потому что я поставил галочку «Восстанавливать подключения при запуске». Хотя под другим VDS на Linux всё работало. Допускаю, что облачный хостер счёл yggdrasil подозрительной активностью и остановил машину из-за этого.
В общем, буду экспериментировать дальше… Hippo посоветовал поставить ssh-сервер и сделать обратный проброс порта. Я ещё рассматриваю вариант попробовать подключение по NFS (его провайдер вроде не блокирует).

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

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