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

Лог жизни

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


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

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 (тоже неплохо продвинулся). И только вечером вернулся в Сеть.

Децентрализованные соцсети и Wordpress

4X_Pro
Ситуация с идеям, о которой писал в прошлом сообщении, продолжается. Видимо, минимум по интеллектуальному биоритму наложился на максимум по интуитивному.
В частности, ночью пришла ещё идея: написать plugin для взаимодействия с Mastodon и прочими сетями на протоколе ActivityPub для Wordpress. Для начала хотя бы такой, который позволяет просто подписываться и транслировать записи блога в Mastodon.
Но получилось как всегда: сразу не приступил, а лёг спать дальше. Утром же, когда встал, идея казалась не столь привлекательной. Плюс куча всего отвлекала от основного замысла. В итоге только к вечеру поставил на поддомен WordPress и настроил https на хостинге, где стоят мои старые сайты. Причём провозился по очень глупой причине: настраивая поддомен, сразу включал в настройках https, а уже потом пытался получить сертификат от Let's encrypt.
Когда всё сделал, на всякий случай решил поискать, а нет ли готового plug-in. Как выяснилось, есть! Эх, и тут меня опередили!
Поставил. Вроде работает, но кнопки «Подписаться через Mastodon» или чего-то подобного не появилось. И тут я чуть не сломал мозг, как сделать это в самом Mastodon. Полез в раздел «Подписки и подписчики», но там были только действующие подписки, без кнопки «Добавить новую». Облазил весь интерфейс, долго ругался, и только после этого обратил внимание на подсказку в строке поиска, что туда можно вводить не только ключевые слова, но и URL. Ввёл адрес поддомена и всё получилось! Сейчас вижу в ленте сообщения из блога WordPress. Нужно ещё попробовать подписки на отдельные категории.
Ещё узнал, что для Wordpress есть plug-inы, добавляющие функциональность соцсетей. Если их доработать на поддержку получения данных из Mastodon, то получится примерно то, как я представляю себе децентрализованную сеть из личных сайтов! К тому же узнал, что в Wordpress с версии 3.x можно создавать свои типы сообщений, а не только обычные записи в блоге.
Всё это поставило меня перед непростым выбором. С одной стороны, я всегда хотел делать децентрализованную соцсеть на своём собственном движке. С другой — если взять Wordpress за базу, то это может значительно поспособствовать популяризации децентрализованных соцсетей среди блоггеров. А именно с их среды, на мой взгляд, и может начаться уход от традиционных соцсетей.

Очередной биоритмический минимум

4X_Pro
Опять биоритмический минимум. Причём довольно странный:новые идеи появляются, но вот реализовывать их не получается совершенно. Сегодня еле-еле написал заметку про этапы развития Интернет-площадок в раздел «О Сети и о жизни», а также придумал ещё одну тему для Дзен-канала.
Днём ещё хотел было сходить прогуляться, пользуясь тем, что после двух недель серости выдался солнечный день, но увы, реально выбрался только вынести мусор. Зато вечером удачно сыграл в HearthStone, одержав несколько побед подряд за Охотника.

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

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