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

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


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

t.me/4x_pro

Лог жизни

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


Впечатления от Wurm Online

4X_Pro
Сегодня с подачи Aksionа опробовал новую игру — Wurm Online. Игра в целом понравилась: прямо целый огромный мир для исследования, множество возможных действий и навыков для прокачки. Но с другой стороны, я совершенно не привык к играм с полной свободой выбора без явных целей. Поэтому первое время испытывал растерянность, просто бродя по окрестностям и толком не зная, что делать. И только потом обнаружил, что там всё же есть журнал со стартовыми заданиями, после которого всё стало на свои места. Всё-таки не умею я жить в условиях полностью свободного выбора без наличия основной цели, определяемой сюжетом (как в Arcanum или Morrowind) или задачи "вынести всех с карты", как в Settlers, Warcraft II или большинстве карт Heroes II.

Отправил первый комментарий в Mastodon из своего скрипта

4X_Pro
Сегодня проснулся бодрый и мотивированный. За окном был по-настоящему зимний день с очень приятным снежком. Но при этом не серый, как обычно, а довольно светлый. В какой-то момент я даже захотел выбраться на прогулку, но желание доразобраться с протоколом ActivityPub перевесило! И не зря! Всё же я разобрался, почему вчера не работала цифровая подпись для сообщений. Всё оказалось достаточно просто: я отправлял сообщение в /users/4xpro/inbox/, а при формировании HTTP-подписи в (request-target) указывал просто /inbox. Естественно, Mastodon такое не признавал действительным.
Когда разобрался, отправился первый комментарий от имени моего Wordpress-пользователя. Но почему-то от пользователя с socionics.me ничего не получалось, хотя ошибок не было. Опять долго ломал мозг, а оказалась очередная невнимательность: забыл указать расширение .json в URL в поле actor уже внутри самого сообщения. В общем, теперь могу уверенно сказать: IntB будет движком децентрализованной соцсети!
В общем, испытываю эмоциональный подъём. Правда, как всегда понимаю, что это за счёт биоритмического максимума, а когда он закончится, опять снесёт потоком жизни неизвестно насколько.
Ещё решил сверстать прототип главной страницы для децентрализованной сети-мультиблога, взяв за основу цветовую схему Mastodon и разместить его на CodePen.io. Может, там попадётся кому-то на глаза, кто тоже заинтересован в подобных идеях.
А ещё на lor.sh, несмотря на малочисленность этого сообщества, есть какая-то реакция на мои сообщения. Да и ленту почитать бывает интересно. Почти как в старом добром Интернете! Только политоты многовато…

День полуоффлайна и шаг вперёд с децентрализованными сетями

4X_Pro
Сегодня сам собой получился день полуоффлайна. Утром отправил очередную (уже десятую) статью на Дзен-канал. У Дзена вдруг перестала работать статистика: Метрика показывала 15 заходов на статью, а статистика самого Дзена — нули.
Днём сходили с отцом на лыжах, отлично покатались, но я немного не рассчитал свой ресурс и слишком устал. Поэтому когда вернулся домой, сам собой получился день полуоффлайна. Какое-то время просто лежал в тёмной комнате и разгружал мозг, прокручивая в голове накопившиеся за последнее время мысли и эмоции, а то в предыдущие дни на это просто не было возможности. Где-то часа через полтора-два в голове наступило прояснение, после чего вернулся за компьютер, но не стал заходить ВК. В последнее время снова раздражают средства связи в реальном времени. Слишком уж просто с их помощью навязывать мне избыточное общение. То ли дело EMailы или форумы!
Потом поиграл в Heroine's Quest, но особо не продвинулся. А вечером вернулся к попыткам разобраться, почему же на WordPress работает взаимодействие с Mastodon, а на моём самописном клиенте — нет, хотя всё делаю как указано. И таки ответ нашёлся! Всё оказалось предельно просто: я испытывал его на своём основном сайте (который работает по обычному http), а Mastodon работает только с https и коннектится на 443 порт, который у меня попросту закрыт. Когда я перенёс всё необходимое на socionics.me, где https есть, и разобрался с ошибкой 404, возникавшей из-за особенностей настройки nginx даже при наличии нужных файлов, всё почти заработало! По крайней мере, Mastodon видит теперь мой профиль. Но при попытке отправить сообщение происходит ошибка цифровой подписи. Впрочем, завтра с этим как-нибудь разберусь.
Обидно только, что прошлый раз остановился всего в одном шаге от решения проблемы. А когда вернулся, прошел почти год (судя по датам файлов, прошлая попытка была 13 февраля 2020).

Два осознания: про компульсии и целевую аудиторию

4X_Pro
С подачи Tellы во время совместной работы над каналом ко мне пришло два важных осознания.
Во-первых, я осознал, почему я всё делаю так медленно. Оказывается, у меня есть просто огромное количество компульсий, которые я сам почти не замечаю. Самая ярко проявленная — это мой знаменитый «эффект 92-ого процента», когда я никак не могу завершить какое-то действие, когда до конца остаётся совсем немного. Идёт это откуда-то со времён Института. Возможно, возникло как реакция на бабушкино внушение об ошибке, от которого сэр Мик вместе со своей знакомой избавили меня в 2007 году. Другая заключается в том, что мне нужно перепробовать большое количество разных вариантов, как сделать что-то (даже просто сформулировать мысль в блог) и остановиться на лучшем. Без этого, когда просто берётся один из первых попавшихся вариантов и делается сразу, мне будет казаться, что дело сделано на от…вали и недостойно хорошего вознаграждения.
Во-вторых, осознал ещё одно противоречие. С одной стороны, занимаясь чем-то, я всегда ориентируюсь на людей, которые с одной стороны, интеллектуально продвинуты, с другой не озабочены вопросами материальной выгоды. Остальные мне просто неинтересны. Но таких всегда было не так уж много, а уж в наше безвременье — особенно. По-другому просто не могу, это будет предательство себя (чего не понимают всякие Yuri и ему подобные). Но с другой, в плане признания и известности хочу результатов, как у блоггеров, ориентированных на самую тупую аудиторию. И вот как решить это противоречие — не знаю.

Продолжаю размышлять о децентрализованных сетях

4X_Pro
Всё-таки есть у ранних (по моим меркам) подъёмов один плюс: по утрам приходят в голову идеи, как в старые добрые времена. Вот и сегодня удалось получить целостное представление о том, какой должна быть децентрализованная социальная сеть на базе IntB. Нужно просто сделать отдельный модуль-раздел, у которого владельцем указывать пользователя, домашней страницей которого будет этот модуль. Ну и в дистрибутиве предусмотреть три варианта установки: обычный форум, однопользовательская домашняя страница, многопользовательская социальная сеть, для которых будет три начальных наполнения базы.
Основная сложность сейчас — это вывод картинок для блоговых разделов. Хотя файлы к статьям и блогам цеплять можно, но вывод их в списке записей никогда не предусматривался. Нужно как-то сделать так, что если явно указано, какой файл нужно использовать в качестве фона (или обложки в разделе «галерея»), то брался бы он, если нет, то брался бы самый первый. Но как сделать это, да ещё не в отдельном SQL-запросе, а в том же которым выдергивается список тем/статей — пока не очень понимаю.
И ещё до конца не понимаю, как всё-таки хранить материалы для ленты.
Вчера для Wordpress нашёл plugin, который вроде позволяет импортировать ленты из Twitter, Facebook и Instagram, но увы, оказалось, что не всё так просто. Для импорта нужно зарегистрировать там приложения. Но в Facebook для получения нужных разрешений нужен подтверждённый бизнес-аккаунт (что для меня не вариант), в Instagram этот plugin не обновили для новой API, а в Twitter чтобы получить статус разработчика, нужно подать заявку с описанием, зачем он нужен, в произвольной форме. То есть будет ручная проверка. В результате так и не смог испытать этот plug-in.
Ещё есть мысль сверстать прототип того, как я вижу главную страницу децентрализованной сети и страницу feedов, в CodePen.io. Но не знаю, смогу ли сделать в ближайшее время. Обратная сторона раннего подъёма — тяжелее делать мелкие неприятные дела, в первую очередь freelance-задачи. Раньше-то я за них по ночам брался, когда «засыпала» та часть мозга, которая отвечает за протест против них.

Экспериментирую с SiteKnockerBot и лимитом соединений

4X_Pro
Вчера ещё раз попытался избавить SiteKnockerBot от ложных срабатываний. Думал, что проблема в нехватке пропускной способности канала VDSа, на котором он работает. Посмотрел загрузку канала утилитой nload. Потом интереса ради загрузил iso-образ какого-то дистрибутива и увидел, что бот занимает далеко не весь канал.
Решил попробовать со своего компьютера. Вытащил базу на localhost, запустил, и обнаружил, что и тут то же самое: если поставить большое количество одновременных соединений, то через некоторое время ошибки таймаута начинают идти сплошным потоком.
Сначала попытался поменять настройки Http.Transport — увеличить размер приёмного буфера. Для этого пришлось обновлять версию go, так как по умолчанию у меня стояла 1.10, а менять его можно только с 1.13. Безрезультатно. Но позапускав бота на своём компьютере, обнаружил, что даже после его завершения какое-то время даже броузеры не могут нормально устанавливать соединение. Стало понятно, что всё упирается в какие-то системные ограничения.
В результате полдня экспериментировал с настройками: пытался уменьшить tcp_fin_timeout, увеличить tcp_mem, tcp_rmem, включить tcp_tw_reuse. Но безрезультатно. Максимум, чего удалось добиться — это при увеличении количества потоков вместо таймаута начала возникать ошибка no such host. Ещё думал, что дело в нехватке свободных TCP ports, но их увеличение тоже не помогло.
В общем, после всего этого понизил количество одновременных потоков до 25, и пока так и оставил. Плохо только одно: максимальное количество проверяемых сайтов становится равно всего около 15 тысяч. Может, потом придут ещё какие-нибудь идеи.

Переживания из-за Яндекс.Дзена

4X_Pro
Вчера обнаружил, что карма канала на Дзене ощутимо просела. Мы откатились на 7779 место, такой показатель, как «реакция аудитории», упал до 34%. Да и CTR последних двух статей оказался очень уж низким. Как всегда, моё третье Будущее по темпористике тут же нарисовало картину, что такая деградация будет и дальше. Из-за этого, а также того, что утром разбудили телефонным звонком, весь день был злой. Поругался с отцом, который пришёл и начал цепляться ко всякой ерунде и настойчиво давать непрошенные советы, да ещё занял кухню, мешая мне поесть. Потом ещё цапался с Tellой из-за постоянного потока сообщений ВК, который не даёт хоть на чём-то сосредоточиться.
Днём сходил было прогуляться в Измайловский парк, к мостам над Серебрянкой неподалёку от третьего Декоративного пруда. Во время прогулки немного успокоился, но ненадолго. Вернувшись домой, снова скатился в негатив и злился до вечера.
Вечером прилетела SMS с напоминанием о вебинаре «Текст. Ты», на который я регистрировался недели две назад. Будучи в нересурсном состоянии, я хотел было на него забить, но потом всё же решил посмотреть. Большая часть вебинара оказалась «водой» (например, где-то 20 минут ушло на то, чтобы обсудить вопрос, зачем вообще нужно умение писать). Пожалуй, что-то реально полезное я узнал только про заголовки. И проснувшись сегодня утром, понял, как нужно доработать заголовки статей на канале, чтобы сделать их более информативными. Правда, теперь уже алгоритм прекратил показы, поэтому сложно будет оценить эффект.
И есть ещё одна хорошая новость: Дзен снял тег noindex со страниц канала. Теперь они индексируются в поиске, и по запросу «Гармонизация жизни» в Яндексе уже третье место!

Пустая неделя с одним эффективным днём

4X_Pro
Неделя оказалась какой-то пустой, даже писать особо не о чем. Пятница была каким-то тягостным днём, весь день болела голова, ничего толком не сделал. Вчера пришёл в себя, и немного поработал над очередной статьёй для канала. Увы, прежней радости нет — показатели перестали расти. Если бы не Tella, которая ещё верит, что канал взлетит, нужно только больше времени, получилось бы, наверное, как всегда: не видя результатов, сменил бы направление деятельности.
А вот сегодня день оказался довольно результативный. Встал в 10:30, но при этом выспавшийся, вернулся к экспериментам с WordPress, поставил несколько социальных plugins. Больше всего понравились PeepSo и WP Recall, но по количеству shortcodes (и, соответственно, гибкости настроек) явно лидирует другой — WP Simposium. Но у него документация в видеоформате, что, на мой взгляд, неудобно, и интерфейс хуже. И все они построены по принципу «базовая часть — бесплатно, остальные — за деньги».
Интересно, есть ли plugin для вывода нескольких сообщений из каждой категории на главной странице? Если да, то, по сути, окажется, что есть всё необходимое, кроме импорта потока данных из Mastodon (хотя надо будет проверить, может он тоже есть). Правда, как и всё, построенное на plug-inах, это будет криво-костыльное решение. Но с другой стороны, такая сборка нужна всего лишь для тестирования и демонстрации идей децентрализованной соцсети, а нормальное решение буду потом писать на Intellect Board.
Ещё почитал наконец-то «Теоретический минимум» Сасскинда, немного покопался в документации на kernel.org, и несколько раз сыграл в «Колонизаторов» онлайн, оба раза оказался на втором месте. А ещё неплохо продвинулся в HearthStone! В общем, про сегодняшний день точно прожит не зря!

О Дзене и балансе между хорошо и быстро

4X_Pro
Сегодня в очередной раз обновилась карма канала на Дзене. На этот раз произошло небольшое проседание, всего на два пункта кармы. Упали такие показатели как оригинальность и качество. Впрочем, неудивительно. Из-за этой самой кармы мы понемногу скатываемся в направлении «дзенописцев»: прошлую статью написали в спешке всего за два дня, выложив почти как есть. Впрочем, Tella считает, что так даже лучше, получается естественнее, чем когда я несколько дней кручу с формулировками и переписываю статью в процессе раза три. Но я с ней не согласен.
Эх, никак не могу найти баланс: либо делать хорошо, но процесс растягивается очень и очень надолго из-за того, что отвлекает любая мелочь. Либо ставить себе фиксированный срок, но каким бы он ни был, при приближении к нему начинает страдать качество… И вообще, плохо, что современный мир так по-ускорительски действует на всех, что приводит к тому, что ради сиюминутного жертвуется вечное.

День полуоффлайна

4X_Pro
Вчерашний день оказался довольно эффективным: убрал ёлку (впервые без участия отца), побегал на дорожке, отправил декларацию по УСН. Наконец-то для её подписания не надо перезагружаться в Windows! Ещё прочитал кучу материалов на Дзене и неплохо поиграл в HearthStone. В общем, делал всё, кроме того, что нужно по плану: сайта для Л.Кст. и краткого введения в информионику. Только спать лёг снова поздно: никак не мог закончить всё, что собирался, в частности, очень долго мыл посуду.
А сегодня утром проснулся в состоянии какого-то ухода в себя, когда делать ничего не хотелось от слова вообще. Просто ушёл в себя и так и сидел несколько часов. Потом ненадолго вышел прогуляться по району, сфотографировал ели, красиво присыпанные снегом. Но вынужден был скоро вернуться обратно. Потом сидел в оффлайне, читал книжку, играл в Walk Master (и прошёл ещё две тропы), Heroine's Quest (тоже неплохо продвинулся). И только вечером вернулся в Сеть.

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

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