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

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


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

t.me/4x_pro

Лог жизни

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


Болото жизни и старость года

4X_Pro
Опять ощущение, что вязну в потоке жизни как в болоте, и он тащит меня куда-то совершенно не туда. Только казалось, что растолкал всякие ненужные «надо», как либо часть вернулась, либо навалились новые. То freelance-деятельность, то мелкие доделки по Supermon_Bot, то сегодня одни бывшие клиенты, с которыми до этого год никаких дел не было, написали, что у них сайт не работает и попросили помощи. Когда стал разбираться, оказалось, что на Reg.Ru для облачных серверов сделали отдельный счёт, и хотя эти бывшие клиенты переводили туда деньги, но приходили они на основной счёт, и в итоге сервер, судя по всему, уже удалили. (Вообще, в последнее время хостинги время хранения данных в случае просрочки с оплатой стали сокращать до 7 дней вместо обычных 30, что ну совсем неприемлемо, на мой взгляд.) У меня, конечно, есть backup полуторагодичной давности, но возиться с тем, чтобы ставить всё заново и разворачивать этот backup хочется чуть менее чем никак.
Ещё злюсь, что уже второй день не получается ни сесть за написание итогов года, ни досмотреть тот видеокурс, о котором уже не раз упоминал. Из-за этого даже поругались с Tellой, правда, уже помирились. Но на это тоже ушло дополнительное время. И ещё раздражаюсь на кучу бессмысленных разговоров. Хочется взять, бросить всё и уйти на мягкий Рестарт, оставив только узкий круг людей, которые меня знают, и избавившись тем самым от всего, что тянет меня назад.
И вообще, снова наступила та самая «старость года», когда категорически не хочется делать ничего из того, на что требуется себя заставлять. Хочется либо лежать зубами к стенке и ждать дня солнцеворота, либо заниматься чем-то только для себя. Работал бы я на нормальной работе, я бы в отпуск всегда уходил в декабре, именно потому что в это время ресурса на полезную деятельность меньше всего, но все хотят всё успеть до Нового года, и поэтому создают «уплотнения жизни». Но мне задачи валят даже не спрашивая, готов ли я за них взяться, что и бесит.

Два решения

4X_Pro
Никак не могу принять два важных решения. Первое — по системе налогообложения: есть мысль перейти либо на НПД, либо на А-УСН. Первый для меня вроде бы выгоднее, но воспринимается как что-то неполноценное. На А-УСН налог больше, но несущественно (8% против 6% на НПД при работе с юрлицами) и тоже нет взносов. Но нельзя принимать платежи от физических лиц без онлайн-кассы. Собственно, если бы не это, то перешёл бы на А-УСН не задумываясь. Проблема в том, что до принятия решения осталось слишком мало времени (нужно сделать это до НГ), так как нужно ещё успеть расторгнуть договор с SAPE (а в идеале — перевести сайты на аккаунт физ. лица, но я не помню, можно ли это сделать до момента, когда им придёт подписанный бумажный договор).
Второе — это всё же как быть с сообществом идеалистов. То ли пытаться доразобраться с Mastodon (копию которого в виртуалке я своими экспериментами уже успешно заглючил до состояния неработоспособности), то ли всё же возвращаться к идее написания своего движка. Тем более, в процессе изучения Mastodon нашёл ещё пару полезных решений. Но опять же, всё упирается в полную неопределённость в плане того, когда движок для сообщества будет готов. Плюс ещё есть мысль сначала довыпустить IntB 3.03. Впрочем, можно пытаться заниматься параллельно, чтобы затык в одном из проектов приводил бы к переключению на другой.

Обновлённый Ведьмак 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-программирование и подтолкнула к тому, чтобы сесть и написать её.

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

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