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

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


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

t.me/4x_pro

Лог жизни

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


Возвращаюсь к децентрализованным сетям

4X_Pro
Опять получается «как всегда»: стоило допустить в жизни два вычеркнутых дня (среду и четверг, когда я большую часть дня провел вне дома), и теперь снова сложно настроиться на основную задачу — децентрализованные соцсети. Впрочем, по-прежнему не могу определиться, куда двигаться. С подачи одного анонима из комментариев поставил было Hubzilla на локаль, но впечатления остались прежними. Вроде возможностей много, но по кривизне интерфейса не намного лучше friendica, только цветовая гамма другая и значки/кнопки поаккуратнее выглядят. Но с другой стороны, можно попробовать полностью заменить интерфейс на нормальный.
С другой стороны, решимости на fork Mastodon пока тоже не хватает по причинам, которые уже описывал. А также возникли мысли, что разбиение инфопотока outbox на несколько блоков приведет к необходимости делать кучу AJAX-запросов, что явно не будет способствовать скорости работы.
Еще есть мысль вообще взять и встроить поддержку ActivityPub прямо в IntB, сделав каждую тему или раздел actorом, чтобы можно было экспортировать темы в децентрализованные сети, да и все. А уже потом развивать его до полноценной социальной сети. Сейчас основное, чего там не хватает — это ленты (feeds), уведомления и возможности выполнять асинхронные задачи. Но с другой стороны, тогда не будет возможности использовать существующие мобильные клиенты.
Впрочем, постепенно ищу вспомогательную информацию, которая может оказаться полезной. В частности, вчера нашел и в общих чертах разобрался в трех microframeworks: Slim (а началось все с того, что заинтересовался одноименным шаблонизатором для Ruby), Fat-free и Silex. По benchmarkам уверенно лидирует первый, но с другой стороны, у него возможности минимальные: роутинг запросов и вставка middleware, и все. В IntB и то больше есть…
А сегодня разобрался наконец-то с работой протокола OAuth. Правда, одного не понял: зачем нужен лишний шаг с обменом access code на access token? Почему бы сразу его не давать в URL. Еще искал готовые решения для авторизации (все же от uLogin, да и вообще от любых сторонних сервисов надо уходить) и нашел сайт с забавным названием The League of Extraordinary Packages, где есть подходящее решение.

Прогулка в Кусково и вебинар

4X_Pro
Сегодня встал с не самым лучшим самочувствием: была слабость и ощущение, что вот-вот заболею. Но я давно собирался сходить на этой неделе в Кусково, а посмотрев вчера прогноз погоды, знал, что это последний теплый и солнечный день. Поэтому откладывать не было возможности, и я все же отправился, только не пешком, как обычно, а на автобусе.
Но увы, как всегда, прособирался, и хоть встал относительно рано по своим меркам, вышел где-то в 15:50. В ближней части парка оказалось просто на удивление многолюдно. Было ощущение, что сегодня не четверг, а суббота. И только когда я дошел до маленького пруда почти в самом центре парка, удалось найти хоть какое-то уединение. Посозерцав какое-то время этот пруд, отправился вдоль ручья вверх по течению, поднялся на горку, сделал несколько фото и ушел в дальнюю часть парка, на аллею за дорогой, ведущей к платформе Плющево.
По дороге думал о том, что Кусково для меня в свое время было местом, куда я в институтские времена сбегал от постоянно давящих «надо», от мыслей о сроках и страхах не успеть. Сейчас же все это не особо актуально, поэтому, наверное, и ходить стал сюда реже. Еще почему-то вспомнил прогулку вдоль того же ручья в марте 2014 года, во время которой продумал, как сделать вывод произвольных блоков в IntB. Но придумать-то придумал, а реализовал только через четыре года, да и то никому толком это не потребовалось.
В общем, уйти в то настроение, в котором я гулял по Кусково обычно, не получилось. Плюс еще переживал по поводу того, что добраться до Кусково в 11 утра, как это не раз бывало в старые времена, для меня теперь очень и очень трудно, хотя в Кусково лучше всего именно утром.
Потом снова вышел к пруду, снял отличное закатное небо, и отправился домой. Причем вот что странно: хотя особых впечатлений от прогулки не получил, все равно какую-то внутреннюю гармонию, согласованность с собой она мне вернула. Да и чувствовать себя стал гораздо лучше, исчезла та неприятная слабость.
А когда вернулся домой и зашел ВК, мне свалилось напоминание о вебинаре от группы «Нейрософия». Я-то думал, что он был вчера, и я пропустил его из-за настолок, но оказалось что нет, сегодня. Стал смотреть. В общем, нового в плане фактов вынес для себя весьма мало: там речь шла о работе мозга и нейромедиаторах на самом-самом базовом уровне, что я неоднократно читал в материалах ВК.
Но одно утверждение мне очень понравилось: «успех и достижения — это следствия состояния счастья», а не наоборот! Согласен с этим целиком и полностью. Дальше шла речь о том, что уровень энергии и эффективности во многом определяется всего пятью веществами: дофамином, окситоцином, серотонином, эндорфином («гормоны счастья») и кортизолом («гормон стресса», работающий в противоположную сторону). И тут был неожиданный поворот: утверждение, что к счастью можно прийти не психологическим путем, а чисто нейрофизиологическим, просто отрегулировав уровни этих веществ. А ведь это же ответ на мой давний, поднятый еще в общении с Inkwine, вопрос о том, как дать человеку «кредит добра», вытащить его из негативной положительной обратной связи (когда очередная неудача усиливает вероятность появления следующей) в позитивную (эх, ну почему, почему мир не работает на усреднение общего уровня!?)
Увы, до каких-либо конкретных рекомендаций, как определить, чего именно не хватает и отрегулировать, дело не дошло. Началась реклама платного курса. Причем ведущий применил такой трюк: задал зрителям вопрос, сколько они готовы за это заплатить, а только потом назвал реальную цену. На что я ответил, что платить за информацию не собираюсь в принципе, лучше потрачу больше собственного времени на ее самостоятельный поиск. Увы, это мое заявление попросту проигнорировали и сам ведущий, и зрители. Но в любом случае, просмотр этого вебинара дал мне примерное направление для поиска некоторых моих ответов.

Внеплановые настолки: «Меч самурая»

4X_Pro
Вчера (а вернее уже позавчера) решил было пропустить настолки из соображения, что в субботу будут еще одни, причем в том месте, которое мне нравится больше — в Goldfish. Но потом на связь вышла К.Ш. и уговорила все же приехать.
В итоге выяснилось, что не зря! Сначала сыграл в «Колонизацию» с дополнениями, где нужно строить корабли и осваивать острова. Начал очень хорошо: выбрал удачную стартовую позицию так, чтобы мне никто не мешал, быстро вырвался в лидеры, поставив 5 поселений, когда у остальных было по 3—4 очка, начал было строить морской торговый путь на остров (за это сразу 2 очка дополнительно дают). И когда уже было почти все готово, оказалось, что я опять забыл, что нельзя строить более пяти поселений. И тут вдруг игра резко поменяла свой ход. Во-первых, мне нужны были камни, которые были только на 9-ке, которая вдруг перестала выпадать. Зато все время выпадали 5, 6, 7 (а у меня были все числа, кроме них и 12), и несколько кругов было так, что я либо оставался ни с чем, либо получал всего один ресурс. Два города я все же построил, но теперь перестала выпадать глина и дерево, которые были нужны и для поселения на острове, и для самой длинной дороги. Зато в бурный рост пошли красный и оранжевый игроки, и последний в итоге выиграл с большим отрывом.
Потом играли в «Меч самурая» aka японский бенг. Вот там дело пошло лучше. Сначала играли всемером, я был сегуном, а одним из самураев — Ал.С., и мы быстро всех разнесли. Впрочем, второй самурай (им играл один ЛИИ, чье Сетевое имя не сохранила история) тоже отличился, в частности, правильно разыграв карты «Передышка», смог сделать так, чтобы мне досталось оружие, и я не подорвался на карте «Бусидо». В следующий раз играли уже пятером, и я оказался самураем. Тоже сыграли неплохо и победили весьма убедительно, причем на первом же ходу я у Ал.С. отобрал два жетона: один — оружием, и один — подрывом на «Бусидо». Потом играл за ниндзя, но там удача от меня вновь отвернулась: было много карт оружия, но ни одного «Хладнокровия», которое дает возможность использовать оружие несколько раз за ход. А «Хладнокровия» и доспехи были у Ал.С., которая была ронином, и с которой мы ничего не смогли сделать, даже объединив усилия вчетвером (ниндзя и самураи). И наконец, последний раз роль ронина досталась мне. Начал я вроде бы неплохо, но все быстро поняли кто я, и начали играть против. Отобрав несколько жетонов, решили, что я более не опасен, и стали воевать между собой. Тут я воспользовался моментом и начал было отыгрываться, но получилось вот что: у игрока, сидевшего передо мной, в этот раз не было карт «Хладнокровия», поэтому он не причинял мне особого вреда оружием, зато он несколько раз сносил мне ценные карты с помощью «Гейш» и «Уловок». Сначала — «Передышку», которая дала бы мне возможность восстановить жизни на моем ходу, потом — оружие перед приходом карты «Бусидо», потом — защиту. В общем, закончил игру всего с двумя очками, хотя мог бы с четыремя.
Когда доиграли, осталось всего 14 минут до закрытия заведения. Хотели сыграть во что-нибудь быстрое, но так и не смогли договориться, во что: я предлагал «Карту сокровищ», но против нее выступили двое, они — CodeNames, против чего выступал я. В итоге это время ушло просто на сборы и фотографирование.
В целом, атмосфера на встрече была очень спокойной и гармоничной, в отличие от предыдущего раза. И очень доволен, что выбрался, хоть и вернулся ощутимо уставший.

Размышления о Mastodon

4X_Pro
Продолжаю изучать децентрализованные соцсети. Попробовал было еще раз Friendica (впервые сталкивался с ней в 2017 году, когда искал движок для соционической сети). Ставил и локально, и смотрел на одном из общедоступных серверов. Привлекло, в основном, то, что она умеет взаимодействовать с сайтами на ActivePub (fediverse), так и с Disapora и сайтами на OStatus (так называемой the federation). И даже для gate в Facebook нашлось дополнение. Но увы, результат тот же самый: не нравится категорически интерфейс, просто какой-то дискомфорт от нахождения на сайте с ней чувствую. Да и в плане оптимизации времени загрузки все просто ужасно. А вот Mastodon вызывает противоположное чувство: как же классно сделано! Хотя на самом деле потом мелкие недоработки (или просто неудачные решения) в интерфейсе нашлись.
В общем, сейчас размышляю, то ли делать fork Mastodon и добавлять в него возможности, необходимые для мультиблога примерно такого же формата, как этот мой сайт + профилей контактов, то ли взять от Mastodon только frontend, а backend написать на PHP. С forkом смущает то, что Mastodon работает на связке RoR + Postgres + Redis, что, фактически, означает, что без VDS не обойдешься. А это уже не каждому по силам и плохо стыкуется с моей концепцией «каждый участник сети — полный хозяин своего сайта» (а не «один сервер для целого сообщества», из которой исходил автор Mastodon), так как для этого желательно, чтобы такой сайт можно было без особых усилий поставить на любой бомжехостинг.
С другой стороны, возникает проблема масштабируемости. ActivityPub работает по принципу push, то есть сайт автора комментария сам рассылает уведомления подписчикам (да еще стандарт требует отслеживания ошибок и попыток повтора отправки, если сервер получателя упал). И если их будет 400—500 (в том же ВК легко находятся люди с таким количеством друзей/подписчиков), то выполнить все push из обработчика POST-запроса нереально. В Mastodon это решается через то, что в RoR есть Active Jobs, а в PHP готового решения, которое было бы на любом хостинге, вроде нет, поэтому придется извращаться либо через cron, либо через AJAX-запросы, либо использовать промежуточные сервера (и сразу же возникают вопросы безопасности).
В общем, пока еще очень и очень многое непонятно. Впрочем, пока займусь тем, что поставлю свою копию Mastodon на VDS с соцсетью: все равно там сейчас нагрузка никакая, а оперативной памяти относительно много.

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

4X_Pro
Вот и все, лучшая (или даже приемлемая) часть года позади. Наступила осень в ее худших проявлениях: серые, мрачные дни, сопровождаемые упадком сил и полным нежеланием что-либо делать. Зато в Сети, наоборот, какой-то приступ дурной активности: всем от меня чего-то нужно. Особенно сильно это выражено ВК (если бы на сайтах, это бы, наоборот, радовало, но на сайтах тихо), причем никак не получается «оттормозиться», т.е. замедлить диалоги до комфортного уровня через задержки в ответах. Возникает ощущение какой-то липкости, и хочется удалиться из ВК вообще, чего не было уже года два или три. Ну или хотя бы снести его с планшета, т.к. на компьютере все проще: достаточно закрыть вкладку в броузере, чтобы отдохнуть от всех, тогда как на планшете помогает только отключение WiFi вообще (что далеко не всегда приемлемо).
Эх, и это только начало! Такой кошмар предстоит терпеть еще целых три месяца, причем с конца октября будет еще хуже, и только после НГ жизнь наладится. Эх, как же хочется научиться впадать в спячку на этот период!

Еще немного самопознания: смена акцентуации

4X_Pro
Пару дней назад посмотрел одно видео про психастению, и понял, какое главное изменение произошло во мне после Выгорания 2007—2009 годов: сменилась ведущая акцентуация. До этого я был ярко выраженным психастеником тревожно-избегающего типа, после Выгорания на первое место вышла параноидная акцентуация. Интересно только, какое именно событие стало причиной этого? Или же это просто результат улучшения условий жизни?

Анализ возможных сценариев жизни

4X_Pro
Хоть курс и позади, продолжаю заниматься самоанализом и размышлять о своей миссии. В частности, наконец-то собрался опубликовать результат выполнения задания по составлению трех сценариев жизни + консервативного (впрочем, у меня в итоге получилось их не три, а четыре). Итак, начнем по порядку:
1. Самый реалистичный вариант. Стать freelancerом, который специализируется на оптимизиации скорости загрузки сайтов, вести блог на эту тему, жить по максимуму проводя время за городом.
Связь с миссией: оптимизация сайтов позволяет мобильным посетителям тратить меньше траффика, а также в некоторых случаях улучшает его отображение на «слабых» устройствах.
Недостатки: необходимость как-то продвигать и предлагать свои услуги, а также сложности, вызванные тем, что у сайта есть четыре времени загрузки: TTFB, first paint, DOM ready и full load, и нужно объяснить клиенту, что именно мы оптимизируем, и что оптимизация first paint time может приводить к ухудшению full load time и наоборот.
Анализ по пятифакторной модели (с оценкой от 0 до 4 баллов по каждому пункту с шагом в 0.5):
собственный интерес — 3, впечатление и признание — 2, полезность в глобальном масштабе — 1.5, возможность оставить след в истории — 1, отсутствие работы по будущему — 2.5. Итого: 10 баллов.
2. Самый глобальный вариант — преодолеть «цифровую фрагментацию» и сделать Интернет снова децентрализованным. Иными словами, создать движок, который позволит вернуться к схеме «все моё — на моем личном сайте, который под полным моим контролем», а не как сейчас, когда фото лежат в Instagram, сиюминутные мысли в Twitter, а большие статьи — в блоге на Wordpress, и все это по разным адресам.  Но самое главное, такой единый личный сайт должен уметь взаимодействовать с другими аналогичными сайтами, образуя децентрализованную соцсеть, и позволять привязывать аккаунты уже существующих «больших» социальных сетей. Кроме того, в рамках этой децентрализованной сети можно реализовать мою идею об инфохабе (месте, где собираются все важные для пользователя информационные потоки) и алгоритме социального доверия. Причем когда я обдумывал идею создания некоммерческого фонда для поддержки проекта, то пришла в голову мысль, что именно этот алгоритм и можно позиционировать как одно из ключевых преимуществ такого подхода.
Связь с миссией: не очень понятна, так как большинство «больших» соцсетей сейчас бесплатны, и нет смысла их «декоммерциализировать».
Недостатки: глобальность замысла и просто огромный объем работы для его реализации. А самое главное, отсутствие гарантий, что это будет востребовано, что большинство тоже станет считать, что иметь в Интернете свой сайт-дом лучше, чем жить в коммуналках типа ВКонтакте или Facebook. Хотя, поизучав обстановку, узнал, что хотя в Рунете эта тема почти никому не интересна (в среднем за год появляется пара обзорных публикаций на Хабре, и все), за его пределами работы в этом направлении ведутся. В частности, есть почти десяток движков (правда, большинство из них заточены только под микроблоггинг или еще какую-то узкую задачу, более-менее полноценными соцсетями являются только Friendica и Hubzilla) и готовые протоколы ActivityPub и OStatus.
Анализ по пятифакторной модели:
собственный интерес — 2.5, впечатление и признание — 3.5 (если получится), полезность в глобальном масштабе — 3, возможность оставить след в истории — 4, отсутствие работы по будущему — 0. Итого: 13 баллов.
3. Самый сложный вариант — создать собственную операционную систему с компонентным подходом (аналогично тому, как это сделано в COM или DBus, но взаимодействие с этими компонентами идет на самом низком уровне — уровне системных вызовов, а не через несколько наложенных поверх слоев), который позволит максимально точно управлять правами доступа каждого приложения. Кроме того, ключевым принципом такой системы «пользователь имеет право знать и контролировать все, что происходит на его компьютере».
Связь с миссией: качественно спроектированная с учетом современных требований операционная система без необходимости тащить legacy будет легче и быстрее уже существующих, а следовательно, позволит реже покупать новое «железо».
Недостатки: все же практических знаний, чтобы начать писать хотя бы простейшую систему уровня ядро + оболочка командной строки, у меня в данный момент не хватает. Кроме того, есть печальный пример Inferno OS, которая во многом близка к тому, какой я вижу идеальную OS, но так и не «взлетела».
Анализ по пятифакторной модели:
собственный интерес — 3, впечатление и признание — 3, полезность в глобальном масштабе — 3.5, возможность оставить след в истории — 3, отсутствие работы по будущему — 0. Итого: 12.5 баллов.
4. Самый неожиданный вариант — стать Travel-блоггером. Ездить по Подмосковью и соседним областям, искать интересные места и рассказывать про них. А также сделать специализированную платформу для Travel-блогов на основе своего движка IntB.
Связь с миссией: открывать возможность людям возможность увидеть что-то новое и интересное с минимальными затратами.
Недостатки: сложно совместить такое с моим смещенным режимом дня, так как чтобы ездить куда-то без ночевок, нужно уметь вставать в 7 утра без последствий для организма. Второе — известные места типа того же Переславля уже описаны всем кому не лень, поэтому чтобы найти что-то реально новое, нужно не бояться ехать в неизвестность, а у меня с этим плохо.
Анализ по пятифакторной модели:
собственный интерес — 2.5, впечатление и признание — 2, полезность в глобальном масштабе — 2, возможность оставить след в истории — 1, отсутствие работы по будущему — 3. Итого: 10.5 баллов.
5. Консервативный сценарий — не ставить себе глобальных целей, а жить в удовольствие, чередуя прогулки, компьютерные игры, книги, поиски халявы с небольшими разработками типа CondiLoaderа или ботов для Telegram, которые делаются за пару дней, в надежде, что что-то из этого когда-нибудь «выстрелит» и принесет известность.
Связь с миссией: личным примером доказывать тот факт, что для счастья больших денег или материальных благ не требуется, если иметь правильную систему ценностей.
Недостатки: отсутствие глобальной цели и, соответственно, индикаторов прогресса приближения к ней (что необходимо моему третьему уровню ТУАИ), а также возможности увековечить свое имя в истории и «показать им всем» (в первую очередь, бывшим лицеистам), чего я на самом деле стою.
Анализ по пятифакторной модели:
собственный интерес — 3.5, впечатление и признание — 0.5, полезность в глобальном масштабе — 0.5, возможность оставить след в истории — 1, отсутствие работы по будущему — 3.5. Итого: 9 баллов.

Настолки и победа в Колонизаторов

4X_Pro
В очередной раз выбрался на настольные игры. Сегодня дело шло гораздо лучше, чем прошлый раз. Играли в CodeNames и в Колонизацию, и в то, и в другое успели по два раза.
В Колонизацию я первый раз выиграл, грамотно выбрав стартовые позиции: рядом были восьмерки с камнями и овцами и соответствующие порты. Поэтому когда выпадало число 8, получал и то, и другое, и мог дешево менять их на другие ресурсы. Впрочем, у этого расклада была и обратная сторона: у меня не было глины. Быстро набрал 5 очков, но против меня объединились другие игроки, и один из них, мобилизовав все ресурсы, заблокировал точку, где я собирался строить очередное поселение, а остальные перекрыли другие направления. А потом еще и восьмерку с камнями заблокировали с помощью разбойника.
И тут я понял, что из победителей могу очень быстро перейти в проигравшие: города я отстроил по-максимуму, а возможности строить поселения были сильно ограничены, да еще и глины не хватало. Оставалось только два варианта: либо двигаться вдоль побережья и то в одном направлении (но там был риск, что мне помешает красный игрок, остальные были далеко), либо получить третьего рыцаря и два не хватающих до победы очка за самую большую армию.
Я попытался было купить карту развития, но вместо третьего рыцаря попалась малополезная в тех условиях карта строительства двух дорог. Тем не менее, именно она и решила исход игры: на следующем круге мне пришло два дерева и две овцы, которые я обменял на глину и неожиданно для всех построил сразу три дороги, отобрав тем самым бонусную карту за самый длинный тракт и получив недостающие два очка.
А вот второй раз перемудрил на старте. Я на старте расставлял поселения последним, но не учел, что есть еще и обратный ход. В результате поставил одно поселение рядом с портом для овец, а второе — не не восьмерке с ними, а в одном шаге до него, на шестерке с пшеницей, а до овец рассчитывал дойти третьим поселением. Но это поняла участница, которая ходила первой, и на обратном ходу поставила свое поселение так, чтобы заблокировать ту точку, куда я хотел добраться. Да еще дорогу повела так, что создала угрозу перекрытия еще одной точки. Но тут ей не повезло: нужного ресурса не было, а как только ход дошел до меня, я построил дорогу к этой второй точке, пользуясь теми ресурсами, что у меня были. Впрочем, это место было гораздо хуже того, на которое я рассчитывал изначально: это снова побережье, а поэтому всего два ресурса вместо трех.
Потом мне заблокировали разбойником десятку с глиной, и это очень сильно затормозило развитие. Да еще выпадало очень много троек и пятерок, которые мне не приносили ничего, а другим игрокам — множество ресурсов. В итоге еще к середине игры я понял, что нахожусь в отстающих. Потом красный игрок (на этот раз красным цветом играл уже другой человек) вырвался вперед. И тут та участница, которая помешала мне на старте, наоборот, помогла: поменяла ресурсы по курсу 1:3 так, что я смог у этого игрока отобрать бонус за самую длинную дорогу. Но увы, дальше все равно сделать толком ничего не смог: не было ни одного города, камни доставались только по числу 12, которое выпадает редко. Только купил карту развития, давшую мне +1 очко. В итоге выиграла та самая участница со счетом 11:8:8, а тот игрок, у которого я отобрал дорогу, очень на этот сговор обиделся, и долго возмущался.
Еще несколько раз сыграли в Codenames, но там я хоть дважды был среди выигравших, ничем особо не отличился. Также очень хотел сыграть в Каркассон, но не сложилось: первый раз в него начали еще до моего прихода, а второй — когда я еще играл в Колонизацию.

Медитация и протокол ActivityPub

4X_Pro
Второй день сижу по часу в медитации. Надо сказать, реально помогает разгрузить голову и расчистить мысли. А еще в первый день почти удалось осознать ту часть личности, которая отвечает за «выпрыгивание» из настоящего и вечную спешку.
В остальное время занимался изучением протоколов ActivityPub и ActivityStreams, на которых работает Mastodon. Надо сказать, сделано там все хорошо и первологично, выражаясь языком психософии: все реализовано с помощью разумного многократного использования всего нескольких сущностей.
Под влиянием этого протокола немного переосмыслил свои представления о децентрализованной социальной сети — стал представлять ее как набор потоков данных и событий, которые могут передаваться как по отдельности, так и в виде общего потока для пользователя целиком. Но пока еще не сложилось целостной картины, как именно это сделать: либо дорабатывать Mastodon, несмотря на то, что он на Ruby (в котором я себя чувствую все еще неуверенно), либо взять от него только интерфейс, и заново переписать backend на PHP. В общем, пока что целостной картины того, что я хочу в итоге, не складывается.
Зато узнал, что протокол достаточно легко расширить. В частности, можно будет добавить в него и коэффициент социального доверия.
Вечером сделал еще одно дело, которое долго-долго откладывал из-за того, что терпеть не могу голосовые звонки — позвонил в банк и разблокировал карту бывшего БИНбанка, которая ушла в блок еще летом.

Изучаю децентрализованные социальные сети

4X_Pro
Достаточно серьезно занялся изучением децентрализованных соцсетей. В Рунете почему-то про них информации почти нет, только пара публикаций в год на Хабре проскакивает. Но стоило выйти за его пределы, как оказалось, что их не так уж и мало. И даже была целая война протоколов, в которой сейчас вроде бы наметился победитель — ActivityPub. Удалось найти даже сайт со статистикой: https://the-federation.info/, из которого видно, что лучше всего «взлететь» получилось у сети Mastodon.
Я решил попробовать несколько понравившихся: Mastodon (зарегистрировался на lor.sh), Hubzilla и Sochialhome. Последние две весьма разочаровали: интерфейс такой, что даже мой IntB по сравнению с ними кажется шедевром UI. (Это просто какое-то PHP-проклятье: все движки соцсетей на нем кривы.) А вот Mastodon — очень даже понравился. Легкий, быстрый и приятный в использовании! Но увы, все, что он умеет — только микроблоги и личные сообщения в стиле Twitter. До концепции «все мое — на одном моем сайте, но при этом легко доступно с других», каковой я вижу конечную цель социальной сети, увы, не дотягивает. Правда, там вроде бы можно встраивать приложения.
Еще узнал о Svelte. Это инструмент для создания JavaScript-компонентов, во многом похожий на Vue.js, но с немного другим принципом работы: преобразование одного файла с кодом, стилями и шаблоном в обычный JavaScript производится заранее, на этапе компиляции, а не в процессе загрузки, как в Vue. Соответственно, приложение запускается быстрее. Возможно, когда-нибудь мне это пригодится…


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

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