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

Лог жизни

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


Опять неприятности

4X_Pro
Только начал приходить в себя после всех переживаний пятницы, как навалилась новая неприятность. Снова упала карма на Яндекс.Дзене. Да и показатель «общая реакция аудитории» после нескольких попыток подрасти свалился до 33% и застрял там наглухо (а ведь в лучшие времена было 45%). В общем, всё плохо и бесперспективно…

Узнал об IndieWeb

4X_Pro
Сегодня искал материалы по децентрализованным социальным сетям и наткнулся на сайт IndieWeb.Org. Оказалось, что под словом IndieWeb подразумеваются те же концепции, которые хотел с 2019 года реализовать я сам: Интернет, построенный по принципу «всё своё держу на личном сайте, но при этом могу взаимодействовать с другими, в том числе и большими соцсетями». Более того, оказалось, что там уже созданы протоколы, а то и готовые сервисы даже для того, о чём я толком и подумать не мог, например, протокол webmention — аналог pingback из WordPressа. Или импорт не только своего контента в большие соцсети, но и обратный импорт лайков и комментариев. А ещё обнаружилось, что есть и готовая CMS, где многое из этого реализовано. Называется она Known.
В общем, теперь пребывают в полнейшей растерянности. С одной стороны, хорошо, что не я один мыслю в этом направлении, и уже немало сделано. С другой — растерянность от того, как быть дальше. Получается, нет смысла реализоваывать всё это в Intellect Board, как я задумывал изначально. Тем более, что множество новых протоколов увеличивает время реализации в разы.

Впечатления от GeForce Now

4X_Pro
Вчера весь вечер провозился, пытаясь заставить работать Wurm под Linux. Почему-то при запуске с Intelовским драйвером он просто падал, а с nouveau работал просто ужасно медленно: 1-2 FPS и часть текстур не загружалась. После множества экспериментов (пересобирал даже ядро) в итоге сдался и поставил пропиертарный драйвер nvidia. С ним заработало как надо, но у него есть куча недостатков, поэтому такое решение мне не нравилось совершенно. Да и производительность была так себе, причём как я ни менял настройки, повысить её выше 24 fps не получалось.
Поэтому сегодня вновь задался вопросом, есть ли облачные игровые платформы с поддержкой Linux. Выяснил, что GeForce Now поддерживает работу в броузере Chromium, и решил попробовать. Как выяснилось, там даже есть бесплатный режим. Правда, при первом подключении ждать пришлось почти два часа. Но настоящий Искатель Халявы должен быть терпеливым! А вот в ночное время ожидание очень недолгое.
Сначала на GeForce Now я попытался запустить всё тот же Wurm. Но оказалось, что там доступен только Wurm Unlimited, который, в отличие от обычного, нужно покупать на Steam. Поэтому от идеи поиграть в него пришлось отказаться. Тогда я попытался поиграть в World of Tanks. Но увы, результат оказался вовсе не тем, что я ожидал. Графика, конечно, великолепная (я даже и не знал, что WoT так круто выглядит на максимальных настройках), а fpsы достигали 150. Такое мне на домашнем компьютере никогда не получить! Но увы, с управлением творилось что-то необъяснимое. Такое ощущение, что нажатия мыши и клавиатуры доходили до игры с огромной задержкой. В результате я даже не мог нормально ехать, не говоря уж о том, чтобы стрелять.
Сначала подумал, что проблема в отключившемся из-за установки nvidia аппаратном ускорении видео в броузере. Отключил nvidia-драйвер, восстановил всё как было, попробовал ещё раз. Увы, результат тот же самый, разве что процессор грелся поменьше.
Потом решил попробовать другую игру. Под руку попалась Path of Exile — что-то Diablo-подобное. Большую часть времени игра шла нормально, но стоило нарваться на кучу врагов, как начиналось то же самое, что и в WoT: такое ощущение, что движения щелчки мыши доходили с огромной задержкой. Интересно, кто виноват — X Server или броузер (где может переполняться какой-то буфер или очередь событий), нехватка канала связи или же у меня мощности процессора не хватает на декодирование видео, и задержки из-за этого?
В общем, пока ещё в области облачных игр всё далеко от идеала. А жаль, под Linux это было бы спасением. Да и позволило бы ещё лет пять не обновлять компьютер, так как в остальном мне его вполне хватает, особенно после апгрейда в прошлом году.
А с Wurm Online я всё же разобрался. Обнаружилось, что на минимальных настройках он запускается и под Intelовской картой. Стал экспериментировать, в чём дело, и обнаружил, что игра начинает падать, если включить отражения в воде: видеокарта с этим почему-то не справляется.
Правда, из-за всех этих экспериментов опять слетел с режима дня и засиживаюсь до 4 часов.

Хороший день, ужасный вечер

4X_Pro
Вчерашний день начинался замечательно. Выбрались с Tellой в Краснопресненский парк, причём успели немного застать солнечную часть дня. Но в целом прогулка оказалась ничем не примечательной. Потом играл в Wurm Online, тоже получил немало впечатлений. На Дзене чуть подросла карма канала, правда, показатели всё равно ниже, чем в первую неделю января. Но, по крайней мере, динамика снова позитивная, что важно для моего 3Б.
А вот под вечер меня накрыло негативом. Плюс, видимо, сказалась усталость и полузаболевшее состояние из-за того, что в субботу сходил на лыжах и надышался холодного воздуха, снова застудив бронхи. В итоге сильно психанул и сделал то, что давно хотел — удалился из ВК, сообщения в котором меня очень раздражали в последнее время. Впрочем, потом, наверное, всё же восстановлюсь, но наглухо закрою ЛС. Всё-таки связь в режиме реального времени — это зло, заставляющее жить в неестественном ритме. И разрешать её нужно разве что очень узкому кругу лиц (и то хорошо бы ограничение поставить на количество сообщений в день: когда люди будут видеть убывающий счётчик, будут думать, стоит ли данное послание того, чтобы быть написанным, и меньше будет сиюминутно-повседневной мути). Остальные пусть пишут Emailы, на которые, в отличие от мессенджеров, можно отвечать тогда, когда удобно: хоть через день, хоть через неделю. Пусть подстравиваюстя под мой ритм slow life, а не вынуждают жить в своём!
Ночь спал плохо. Просыпался, наверное, раза четыре. Один раз — весьма надолго. Пролежал, наверное, час, причём проснулся в сильно раздражённом состоянии, но потом оно постепенно ушло. Но встал всё равно в далеко неидеальном состоянии. И поэтому, несмотря на солнечный день, так и не выбрался на прогулку, а ограничился созерцанием его из окна.
Во время этого созерцания думал, что у меня нарушен баланс между созерцанием и действием. В плане действий я хватаюсь то за одно, то за другое, в результате ничего не приносит удовлетворения, а в попытках успеть сделать как можно больше начинаю жертвовать созерцанием.
P.S. Сейчас обнаружилось, что в полночь был высокий уровень геомагнитной активности — аж 5 баллов. Видимо, он и повлиял.

Впечатления от 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 тысяч. Может, потом придут ещё какие-нибудь идеи.

Страницы:
Задать вопрос

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