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

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


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

t.me/4x_pro

Лог жизни

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


Возвращаюсь к идее личного архива

4X_Pro
Сегодня понял, чем буду заниматься после того, как доделаю релиз IntB 3.05. Кстати, это случится уже скоро: я нашёл утилиту для конвертации базы из MySQL в Postgres и вчера начал тестирование под ним. Заодно обнаружил, что для некоторых столбцов не заданы значения по умолчанию, что могло приводить к ошибкам, если в MySQL включен strict mode. Возможно, именно с этим была связана ошибка, о которой месяц назад писал один пользователь в личке, но тогда я так и не мог понять причину, а он — предоставить более-менее внятную информацию об ошибке, кроме того, что сайт выдаёт 503.
А делать я буду движок личного архива — реализовывать ту самую идею, о которой писал два года назад. По-моему, такого ещё никто толком не делал, в отличие от тех же форумных и блоговых движков, которых более чем достаточно. А ещё это всё же не такой масштабный проект, как движок сообщества.
Сегодня наконец-то в голове сложилась картина, каким он должен быть, и как хранить информацию так, чтобы с одной стороны была поддержка хеш-тегов и полнотекстового поиска, а с другой — формат хранения был бы максимально простым и антихрупким. Нужно просто следовать рекомендациям из IndieWeb: хранить основные данные в текстовых файлах в формате YAML+Markdown (как это делается в Jekyll), а метаданные (хештеги, потоки, сведения об источниках) — в базе SQLite с возможностью её пересборки на основе данных в текстовых файлах.
И тогда проект, по сути будет состоять из трёх независимых частей. Первая — принимать публикации по протоколу MicroPub и сохранять их в эти файлы и базу, а также обеспечивать аутентификацию через IndieAuth, генерацию токенов и базовые функции управления сайтом. Вторая — отвечает за непосредственно вывод страниц сайта-архива. Причём главная страница и первые страницы каждого из потоков информации и календарные страницы будут в виде статики, а прочая информация (скажем, вывод хештегов или результатов поиска) — подгружаться через AJAX. И третья будет отвечать за сбор данных с внешних источников и преобразование их в формат MicroPub с последующим обращением к первой. Впрочем, на начальном этапе для этих целей можно вообще задействовать внешние сервисы типа IFTTT.
Ещё пришла в голову мысль сделать аутентификацию по ключу вместо пароля. Т.е. если на сервере нет файла-ключа, предлагается сгенерировать пару приватный-публичный, где публичный ключ пойдёт на сервер, а приватный сохранится в LocalStorage броузера (с возможностью импорта/экспорта в файл, конечно же). А если файл уже есть, то он будет использоваться для проверки того, что запрос подписан правильным приватным ключом. Правда, тогда в интерфейсе управления сайтом все запросы придётся делать через AJAX, чтобы эти самые подписи генерировать.

Рассвет в электричке

4X_Pro
Возвращаюсь с новой квартиры в Москву. Вчера почему-то проспал почти весь день, поэтому решил устроить себе бессонную ночь (после которой Welltory стала выдавать какие-то совершенно нереальные показатели, например, намерила всего 3% стресса) и встретить рассвет в поезде. Увы, не учёл, что в такое время в рабочий день народу достаточно много даже на электрогорской электричке, поэтому сесть возле окна не получается, да и само окно изрисовано граффити... К тому же от духоты начинает хотеться спать. Впрочем, пока писал это, пришло контролёры, и место около окна освободилось.
Пока добирался до вокзала на автобусе, думал о том, что в Москве хуже, но привычнее, это воспринимается как своё. А на новой квартире я чувствую себя так, как будто удалось ухватить кусок чьей-то чужой жизни, совсем другойи лучше, чем моя. Что-то подобное у меня было в 2017 году, когда ездил в Санкт-Петербург к Kitsune.
А сейчас думаю о том, что восприятие поездок как-то притупилось по сравнению с первыми годами дачи. Тогда поездка давала мне ощущение включённости в жизнь, а сейчас во многом оставляет равнодушным. И непонятно, как это вернуть. Хотя тогда поездки были временем, когда я мог почувствовать себя свободным от постоянно висящих надо мной «задолженностей перед жизнью», временем, когда я избавлялся от внутреннего конфликта «хочу одно, а надо другое», потому что во время поездки объективно нельзя заниматься этими самыми «надо». (Интересно, как некоторые люди в поездах могут достать ноутбук и поработать? Для меня это всегда было чем-то запредельным: совершенно не понимаю, как можно сосредоточиться при таком количестве раздражителей и отвлекающих факторов.) Возможно, в этом и кроется разгадка: именно постоянно висящие «надо» и заставляют лучше чувствовать жизнь тогда, когда на какое-то время удаётся их отложить? И в этом и есть вторичная выгода от того, что я постоянно затягиваю избавление от этих «надо»?
Может, поэтому и в более ранние периоды (чаще всего я вспоминаю 2003-2004 годы в этом плане) я чувствовал себя более живым именно потому, что там почти всегда висели какие-то «надо»?

Закончил настройку OPKG на роутере

4X_Pro
Вчера всё-таки разобрался с установкой OPKG на роутер. Оказалось, на моём роутере под него выделено даже немного места в основной флеш-памяти, то есть его не обязательно ставить на внешнюю флешку. Сама установка тоже прошла очень легко, нужно было только положить архив с OPKG в нужное место. Больше всего ушло времени на то, чтобы понять, что по ssh для работы с OPKG нужно коннектиться не на 22 порт, а на 222.
Потом стал тестировать копирование с серверов по SFTP. Сначала поймал непонятную ошибку. Стал искать и выяснил, что scp на роутере требует ключей в формате dropbear, а не openssh. Пришлось разбираться, как конвертировать. Когда разобрался, всё заработало. Осталось только написать скрипт и повесить его на cron. Завтра увижу первые результаты работы (если не уеду домой раньше). Ещё добавил в скрипт проверку на то, что флешка вставлена, и на то, что на ней достаточно свободного места. Если остаётся меньше 1 Гб, скрипт отправит сообщение в Telegram.
Так что всё, настройка домашнего сервера полностью завершена! Разве что осталось только вернуться к идее yggdrasil на него поставить, но как-то не вижу особой необходимости.

Выход из уплотнения жизни

4X_Pro
Первые два дня Нового Года, как это часто бывает, прошли мимо. Утром первого числа проснулся ненадолго, посмотрел на яркий и солнечный день, потом снова вырубился до самого вечера. Ночь решил не спать, а утром снова отправился на новую кваритру. Перевозку компьютера опять пришлось отложить, но теперь это уже не особо важно: раз до НГ не успел, то теперь можно не торопиться до следующего НГ.
Сегодня встал в совершенно нереальное для себя время: около 7 утра и встречл рассвет, глядя на то, как соседними домами поднимаются дымки и полосу леса на горизонте... Такое умиротворяющее зрелище!
А сейчас испытываю какую-то растерянность, как это часто бывает при выходе из "уплотнения жизни". Вроде и сделать нужно много чего, но совершенно непонятно, за что браться. Впрочем, как уже не раз наблюдал, самое рзумное в таких случаях — это устроить себе день информационной разгрузки и отдыха. Тогда как-то всё само сложится в голове.
Будь погода потеплее, я бы выбрался на прогулку, например, сходил бы снова к Клязьме, как в один из первых заездов после ремонта, или даже сразу в центр Посада. Но увы, на улице ни много ни мало -27 °C, а по ощущению и того меньше, так как влажность остаётся всё ещё высокой. Так что приходится ограничиваться созерцанием зимы в окно.

Солнечное утро 1 января

4X_Pro
Проспал всего 3 часа, потом из сна просто выкинуло. Но тем не менее, я этому рад: впервые за много лет первое января выдалось не серыми мрачным днём, а очень ярким и солнечным! Да и просто наконец-то увидел дневной свет, а то весь декабрь жил в режиме полярной ночи.

Новый Год в Сети, часть третья, последняя

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

Новый год в Сети, часть вторая

4X_Pro
Час до Нового Года! Состояние странное: с одной стороны, нет предвкушения, ожидания, что вот-вот совершится какой-то поворот в жизни, и она начнёт менятьсяк лучшему. С другой — спокойствие и удовлетворённость, что всё идёт как надо. Давно такого не было!

Новый Год в Сети, часть первая

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

Официальные итоги 2023 года. Часть 2, внешние события

4X_Pro
Несмотря на то, что главными в этом году были мои внутренние изменения, о которых я писал в первой части, внешних событий тоже было немало. Самым главным из них была, конечно же, покупка нового компьютера после почти десятилетнего перерыва. После долгой аналитической работы мне удалось подобрать конфигурацию, в которой сочетается бесшумность, достаточная для моих нужд производительность и сравнительно невысокая цена. В результате покупки я убедился, что всё-таки играть локально гораздо лучше и приятнее, чем возиться со всякими облачными технологиями. А ещё покупка компьютера позволила вернуться в распределённые вычисления на платформе BOINC — буду хоть так пользу науке приносить, если своими силами не получается! 

На втором месте по важности стоят пуски этого года. Я реализовал давнее намерение — создал сообщество Идеалистов Интернета, которое работает как часть Fediverse. Хотя на данный момент это скорее ещё один блог для меня и 10geekа. Но тем не менее, Fediverse — одно из тех немногих мест, где сейчас можно быть замеченным без специальной раскрутки.
Также выложил Release Candidate для своего форумного движка Intellect Board. В него вошли все те изменения, которые я делал с 2020 года. Также изменения затронули и остальные сайты: перенёс их на новый VDS, и наконец-то подключил https и поддержку HTTP/2. Теперь теоретически могу сделать поддержку PWA с возможностью написания сообщений в блог в оффлайне.
Кроме того, в первой половине года я неплохо продвинулся в работе над собственным frameworkом под названием MLFW, на котором я сделал прототип первого проекта — гостевой книги.

Третье по важности событие — покупка новой квартиры в Области и то, что я своими силами справился с организационной частью ремонта, хотя раньше для меня само это слово было кошмаром. И надо сказать, в итоге всё получилось вполне хорошо. Так что теперь у меня есть место, которое я воспринимаю как Убежище, где я реально чувствую себя в комфорте и безопасности. А ещё новая квартира стала радикальной формой расхламления: на новое место я вывез те вещи, которые действительно требуются регулярно.

Также я впервые сделал многоцелевой домашний сервер для раздачи файлов, видео по DLNA, выкачиванию и раздаче torrentов в постоянном режиме и ещё ряда функций. На старой квартире в его роли выступает старый ноутбук, на новой — роутер с флешкой.

После двухлетнего перерыва я в очередной раз принял участие в конкурсе на CodinGame. Результаты остались примерно такие же, как и в прошлый раз: 725 место среди 5290 участников.

В типологической деятельности тоже наметилось некоторое оживление. Во-первых, я опубликовал черновик своей типологии эволюционных стратегий, придуманной ещё в 2021 году. Во-вторых, благодаря пользователям Keynol и golblincat наметилось некоторое оживление на socionics.me.

Летом этого года я получил статус квалифицированного инвестора — какое-никакое формальное признание.

Самым неприятным событием года было заболевание в конце августа. Давно мне не было так плохо, как тогда! 

Год был весьма неэффективным в финансовом плане: многих трат можно было бы избежать, а полученные дивиденды оказались существенно меньше, чем проценты по банковскому вкладу на ту же сумму. Также совершил одну весьма неудачную сделку на бирже: продал акции БСП. Хоть и получил прибыль более чем в 100%, но лишился дивидендов, а потом эти акции выросли ещё вдвое.

Самые запомнившиеся впечатления — поездка в Павловский Посад в начале марта этого года, и потом ещё одна — в мае, а также ночное возвращение на разваливающемся велосипеде с квартиры на дачу. Кроме того, в этом году был самый ранний заезд на дачу (22 апреля) и самое долгое суммарное проживание (с апреля по октябрь с возвращением в Москву всего на месяц в июне/июле).

Книгой года для меня стала «Жизнь Клима Самгина» М. Горького. Это огромный роман о человеке, которого я бы по характеру, типу личности и образу жизни мог бы назвать своей копией, живущей в других условиях. Жаль, что роман так и остался неоконченным, поэтому неизвестно, нашёл ли главный герой своё место в жизни в итоге или нет.
Компьютерной игрой года я назову, пожалуй, «Жизнь и страдания господина Бранте». Эта игра тоже во многом заставила задуматься о своих ценностях и выборе, который делается на их основе.

В этом году было два знакомства с весьма интересными людьми: StarGrave и Hottabych39. Увы, привести их на какой-либо из своих сайтов так и не получилось, и через какое-то время общение заглохло, когда изначальные темы исчерпали себя.

Несмотря на то, что год чем-то напоминал 2020, который я провожал с радостью избавления, в целом 2023-ьим я вполне доволен. Исключение — период с июля по середину сентября. В историю моей жизни этот год войдёт как Эпоха Великих Трат (за него я потратил денег чуть ли не столько же, сколько за предыдущую жизнь), Год Прекрасной Весны (часть года до начала июня действительно была одним из лучших периодов с 2019 года) и Год Тяжёлого Лета. Ещё его можно назвать Годом Недоделанных Дел, так как многое из того, что я хотел закончить к Новому году, в итоге пришлось перенести на 2024 год. В частности, я не успел закончить переезд (перевезти новый компьютер на новую квартиру), не выпустил официальный релиз Intellect Board 3.05 (никак не добавлю поддержку PostgreSQL в инсталлятор), не успел пройти StarCraft Broodwars. 

Официальные итоги 2023 года. Часть 1, внутренние изменения

4X_Pro
На прошлый Новый год я загадал очень необычное желание: избавиться от иллюзий, которые мешают мне видеть себя истинного. Высшие силы услышали это желание, и во многом оно сбылось. Поэтому итоги этого года будут в формате двух частей: первая — внутренние изменения, вторая — события жизни.

Начну с главного. Самым большим моим открытием в плане самопознания в этом году было то, что у меня почти нет своих интересов и устремлений. Почти всё, что я делаю, я делаю ради одного: получения оценки в широком смысле этого слова, в том, про который я писал в статье «Мир школы и мир улицы». Ради того, чтобы почувствовать «меня заметили, меня оценили». Исключение — это разве что познание новых миров через книги, компьютерные игры, фильмы и т.п.
Причём чуть позже, размышляя над этим, я осознал, что наиболее важным показателем для меня являются оценки незнакомых людей: лайки и комментарии от них, а ещё больше — упоминания и обсуждение сделанного мной на совершенно сторонних сайтах и форумах. Ну и высшим достижением я бы считал упоминание о себе в СМИ или на ресурсах типа Wikipedia.
Также пришло понимание, почему так раздражают люди, у которых такой потребности в оценке нет в принципе. Ответ достаточно прост: они не вписываются в мои представления об идеальном обществе, где главным стимулом к труду являются не деньги, а общественное признание, те самые оценки.

Ближе к концу года я осознал, что хоть и заявлял, что пошёл особым путём — путём Отшельника с точки зрения типологии РСИ, который перерос второй уровень («моралистов»), но отказался играть по правилам третьего («тактиков»/«карьеристов»), по факту это не так. Я всё равно вовлёкся в игру третьего уровня — «докажи, что принадлежишь к элите, не массам». Просто вместо попадания в элиту в нынешнем понимании этого слова — «управленческая прослойка, контролирующая распределение ресурсов» — я занимаюсь тем, что доказываю свою принадлежность к элите в своём личном понимании, к тем, кого я называю Настоящими Людьми. Причём в этом году несколько трансформировалось понимание, кто это вообще такие. Теперь оно звучит предельно лаконично — «Люди, которые служат какой-то идее, во имя которой они могут действовать вопреки личным, семейным или клановым интересам».

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

Я смог формализовать свою систему моральных ценностей и в начале весны изложил  её в виде заметки на стене ВК. Ключевым понятием в ней являются возможности. Добром является то, что их расширяет, открывает больше возможностей для всех. А как зло воспринимается всё то, что ограничивает и закрывает возможности, либо то, что оставляет возможности только для своих за счёт ограничения возможностей для всех — различного рода клановость, семейственность, кумовство, закрытые сообщества, платная информация и т.п. 

Ещё одним важным шагом в этом году стало понимание, как работает параноидный цикл. Сначала я горю какой-то идеей, испытываю позитивное отношение к миру, воодушевление и ожидание «сейчас сделаю и выложу что-то стоящее, меня заметят и оценят». Когда это не срабатывает, всё сменяется злостью, разочарованием, поиском врагов и виноватых. Потом наступает стремление к жизни без планов, целей и обязательств. Но при жизни в таком режиме очень скоро возникнет какая-то новая идея, которая снова даёт веру в то, что в это-то раз всё получится, и цикл повторяется снова.

Летом этого года я наткнулся на сообщение (чей-то комментарий на YouTube), которое дало мне ответ на давний вопрос, почему всякие «достигатели успеха» и «ускорители жизни» кажутся мне насквозь фальшивыми людьми и вызывают неприязнь. И тот же самый комментарий дал мне понимание, чего же на самом деле хочу я: разрешения от некоей значимой фигуры общественным требованиям не соответствовать.

А позже, уже осенью, осознал четыре главных источника гнева
  • если со мной не посчитались, мою позицию проигнорировали;
  • когда возникла угроза самооценке;
  • если приходится признавать, что мир изменился в худшую для меня сторону;
  • если непонятно, что делать и нельзя применить стратегию «не знаешь, что делать — жди и не делай ничего», потому что хоть какая-то реакция требуется.
И наконец, последним важным этапом самопознания стало осознание состояния Внутреннего Безмолвия — состояния спокойной, неспешной сосредоточенности на чём-либо. Оно возникает у меня во время длинных медитативных прогулок, перепрохождения старых компьютерных игр или неспешного детального изучения какой-либо информации. И по сути, только это состояние и может дать мне настоящую удовлетворённость жизнью без оценки извне. 

Из второстепенных результатов можно выделить то, что после долгих поисков я нашёл для себя приемлемый вариант организации информации. Взял за основу идею списков важно/срочно из книги Стивена Кови и чуть переделал её под свои нужды, а списки разместил на стартовой странице броузера с помощью соответствующего онлайн-сервиса, чтобы списки всегда были перед глазами, и в случае необходимости, можно было бы посмотреть/изменить их и с мобильного устройства. Это помогло не забывать задуманное, возвращаться идеям. Проблема в том, что списки только растут и растут из-за того, что пополняются быстрее, чем удаётся вычеркнуть из них пункты. Слишком уж избыточен выбор в современном мире, а самое ужасное — чтобы ты ни выбрал, упустишь ещё больше! Причём это верно, даже если выбрать путь простого потребления контента.

Также с удивлением обнаружил, что стало меньше проблем с социализацией. Те взаимодействия с людьми, которые не выходят за рамки типичных ролей и шаблонов, я стал выполнять с гораздо меньшим страхом и внутренним напряжением, чем раньше.

Крайне неприятным итогом стало разрушение ещё одного мифа. Прежде я верил, что что-то по-настоящему стоящее можно сделать только живя спокойной, размеренной жизнью и работая исключительно за идею. Но в этом году попалось слишком уж много опровергающих это примеров: тот же, yggdrasil, созданный человеком, которому коммунистические идеи категорически чужды (но при этом являющийся open source продуктом), или статья о том, в каких условиях дикой спешки и работы на износ создавался StarCraft — одна из тех игр, которые я отношу к «играм на все времена».

Но главный итог — по-прежнему не даёт покоя вопрос, как жить, если я так сильно не совпадаю по скорости с окружающим миром? Как найти то, в чём можно совершенствоваться и стремиться стать экспертом, получая ту самую Оценку в широком смысле этого слова, чтобы быть уверенным, что это не потеряет актуальность через пару-тройку лет, обесценив все потраченные усилия? Увы, ответа нет… Разве что заняться стяжанием того самого состояния Внутреннего Безмолвия, или вернуться к исследованию эффективных состояний психики вообще, чем я пытался заняться несколько лет назад. Видимо, найти эти ответы и станет моим главным пожеланием себе на следующий год…

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

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