Продолжаю изучать децентрализованные соцсети. Попробовал было еще раз 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 с соцсетью: все равно там сейчас нагрузка никакая, а оперативной памяти относительно много.

Был в Сети 23 апр. 2025 г., 18:14
Кратко о себе: Web-разработчик. Пишу на PHP, Python, JavaScript. Знаю Ruby и Go, со студенческих времён более-менее помню C и asm. Специализируюсь на ускорении загрузки сайтов и разработке ботов для Telegram. Linuxоид (использую Debian+LXDE). Сторонник IndieWeb, slow lifer.
-
ПеровоКрасная Пресня, Москва, Россия - me@4xpro.ru
- x4_pro
- XXXXPro
Новости сайта в Telegram
t.me/4x_proЛог жизни
Лог моей жизни, где я фиксирую наиболее эмоционально значимые для меня события и текущее настроение. Является продолжением блога, который я вел в ЖЖ с ноября 2004 по апрель 2018 года.
Осень и ее неприятности

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

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

Хоть курс и позади, продолжаю заниматься самоанализом и размышлять о своей миссии. В частности, наконец-то собрался опубликовать результат выполнения задания по составлению трех сценариев жизни + консервативного (впрочем, у меня в итоге получилось их не три, а четыре). Итак, начнем по порядку:
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 баллов.
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 баллов.
Настолки и победа в Колонизаторов

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

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

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

В последнее время вновь озаботился поиском IDE. Хотел было попробовать Eclipse, но он работать отказался (видимо, последствия экспериментов с разными версиями JRE). А потом вспомнил, что когда-то хотел попробовать Visual Studio Code от Microsoft, но в тот момент был на даче, и не стал тратить ограниченный траффик на скачивание. Как выяснилось — зря!
Сейчас все же поставил, и первые впечатления весьма позитивные. Работает быстро (хотя стартует — не очень, по крайней мере, с Geany не сравнится), задержек при вводе или появлении подсказок автодополнения не наблюдается, памяти после открытия двух десятков файлов тоже не особо много потребляет — где-то в пределах 500—600 Мб. Не хватает, правда, вывода вкладок в несколько строк, зато вместо переключения мышкой можно нажать Ctrl+P и вбить первые буквы имени файла, чтобы на него переключиться. Ну и никак не могу определиться, что лучше: приучать себя к темной теме или же поставить какую-нибудь светлую.
Сначала были довольно странные глюки с автодополнением: при запросе его для $this-> выдавались и глобальные функции. Через какое-то время нашел решение: нужно был отключить php.basicSuggestions, так как установленное расширение конфликтовало с ними. И еще ушла куча времени на то, чтобы разобраться, как подключить Twig и автодополнение для него.
Еще очень понравилось автоматическое угадывание отступа (ident space): у меня отступы нестандартные (всего два пробела) и при каждой смене редактора/IDE нужно лезть в настройки и искать, где это задается. А тут прямо все как надо. И Zen mode тоже очень неплохое решение.
В общем, вот уж чего не ожидал, так это то, что Microsoft может так порадовать: сделать качественную бесплатную IDE, да еще и под Linux!
Единственное что не нравится, так это куча похожих дополнений, делающих примерно одно и то же. Например, PHP Intellisense и Intelephense
Сейчас все же поставил, и первые впечатления весьма позитивные. Работает быстро (хотя стартует — не очень, по крайней мере, с Geany не сравнится), задержек при вводе или появлении подсказок автодополнения не наблюдается, памяти после открытия двух десятков файлов тоже не особо много потребляет — где-то в пределах 500—600 Мб. Не хватает, правда, вывода вкладок в несколько строк, зато вместо переключения мышкой можно нажать Ctrl+P и вбить первые буквы имени файла, чтобы на него переключиться. Ну и никак не могу определиться, что лучше: приучать себя к темной теме или же поставить какую-нибудь светлую.
Сначала были довольно странные глюки с автодополнением: при запросе его для $this-> выдавались и глобальные функции. Через какое-то время нашел решение: нужно был отключить php.basicSuggestions, так как установленное расширение конфликтовало с ними. И еще ушла куча времени на то, чтобы разобраться, как подключить Twig и автодополнение для него.
Еще очень понравилось автоматическое угадывание отступа (ident space): у меня отступы нестандартные (всего два пробела) и при каждой смене редактора/IDE нужно лезть в настройки и искать, где это задается. А тут прямо все как надо. И Zen mode тоже очень неплохое решение.
В общем, вот уж чего не ожидал, так это то, что Microsoft может так порадовать: сделать качественную бесплатную IDE, да еще и под Linux!
Единственное что не нравится, так это куча похожих дополнений, делающих примерно одно и то же. Например, PHP Intellisense и Intelephense
Занимаюсь сайтами и прочим околокомпьютерным

Более-менее пришел в себя. Сегодня даже хотел выбраться на настолки, но передумал. Во-первых, встал поздно и не успел поесть вовремя, во-вторых, увидел, что отметился как «обязательно буду» один неприятный тип, видеть которого я хотел бы чуть менее чем совсем.
Занимаюсь, в основном, своими сайтами. Во-первых, прикрутил новый чат к сайту соцсети. Причем получилось смешно: зашел на сайт моего форумного движка, увидел там старое сообщение от пользователя _1_ про сервис chatovod, и тут вдруг и пришла в голову мысль поставить чат оттуда. Самое главное, удивляюсь, почему сразу в голову мысль не пришла, ведь я об этом сервисе знал давно, и еще много лет назад регистрировал там чат для встраивания в свой старый сайт (правда, так и не реализовал эту идею).
Еще мне написал один человек, который поставил себе мой форум. С его подачи я обнаружил и исправил в IntB еще один баг, из-за которого не работала авторизация через социальные сети. Вообще, пора бы пересобрать дистрибутив, а также включить в него новый WYSIWYG-редактор, который предлагал 10geek.
Узнал о языке программирования под названием Elm. Он позволяет описывать HTML-страницу и обработчики для нее в декларативно-функциональном стиле (а потом все это дело компилируется в JavaScript). В первый момент код на этом языке мне показался мозголомным, но сейчас почитал нормальное введение, и понимаю, что особо сложного там ничего нет, и в целом язык даже нравится.
Также собрал ядро Linux для домашнего ноутбука. Сейчас собираюсь уйти в перезагрузку и посмотреть, что из этого получится.
Занимаюсь, в основном, своими сайтами. Во-первых, прикрутил новый чат к сайту соцсети. Причем получилось смешно: зашел на сайт моего форумного движка, увидел там старое сообщение от пользователя _1_ про сервис chatovod, и тут вдруг и пришла в голову мысль поставить чат оттуда. Самое главное, удивляюсь, почему сразу в голову мысль не пришла, ведь я об этом сервисе знал давно, и еще много лет назад регистрировал там чат для встраивания в свой старый сайт (правда, так и не реализовал эту идею).
Еще мне написал один человек, который поставил себе мой форум. С его подачи я обнаружил и исправил в IntB еще один баг, из-за которого не работала авторизация через социальные сети. Вообще, пора бы пересобрать дистрибутив, а также включить в него новый WYSIWYG-редактор, который предлагал 10geek.
Узнал о языке программирования под названием Elm. Он позволяет описывать HTML-страницу и обработчики для нее в декларативно-функциональном стиле (а потом все это дело компилируется в JavaScript). В первый момент код на этом языке мне показался мозголомным, но сейчас почитал нормальное введение, и понимаю, что особо сложного там ничего нет, и в целом язык даже нравится.
Также собрал ядро Linux для домашнего ноутбука. Сейчас собираюсь уйти в перезагрузку и посмотреть, что из этого получится.
Понемногу выздоравливаю и возвращаюсь к нормальной жизни

Всю пятницу и субботу провалялся с температурой порядка 38 °C. Слабость была такая, что даже не мог сидеть за компьютером. В результате решил «ну все, пошли все куда подальше, ничего делать не буду», забросил вообще все дела, и оба этих дня в Сеть выходил исключительно с планшета. В общем, наслаждался (насколько это возможно в таком состоянии) полной свободой и отсутствием всяких «надо» и «надо бы»!
В воскресенье почувствовал себя гораздо лучше. Вылез было снова с планшета, но обнаружил, что в настолочном чате подняли одну важную для меня тему (о жизни на минимуме), на которую хотелось развернуто высказаться, и тут же пересел за компьютер. Tella потом сказала: «Раз есть силы дискутировать в чате, значит, пошел на поправку».
Вечером воскресенья все же доделал то, что обещал Р.Л. перед тем как заболеть. Причем оказалось, что причина проблемы была пустяковая, но вот сама мысль о том, что нужно сесть и разобраться, давила на меня всю среду. В общем, очередной раз, когда сделать оказывается быстрее и менее затратно, чем заставить себя сосредоточиться и взяться за дело. Еще, пообщавшись с Р.Л., узнал, что он, оказывается, когда-то тоже проходил «Предназначение» — оффлайн-версию курса про поиск дела жизни, созданную тем же автором. Весьма неожиданно!
Сегодня хотел было поставить на локаль движок GNU social и поизучать его, но увы, как только я выхожу в Сеть с компьютера, время тут же начинает уходить непонятно куда. Так за весь день этого и не сделал.
Еще почему-то почти всю прошлую неделю просыпался рано утром (всего после 3 — 4.5 часов сна), а потом засыпал снова. Причем сны до промежуточного пробуждения были очень неприятные, связанные со страхами. То ли это последствия экспериментов с принудительным подъемом в 10:00 на позапрошлой неделе, то ли болезнь так влияет, то ли полезли какие-то страхи из бессознательного, которые прежде были вытеснены.
И вообще, задался одним интересным вопросом: эта болезнь — это знак того, что не стоит заниматься одним из вариантов самореализации, который я хотел попробовать на прошлой неделе или же наоборот, бессознательное, видя предстоящие изменения, решило активно избавиться от того, из-за чего я то и дело оказывался в полузаболевшем состоянии. В поисках ответа на этот вопрос сделал даже расклад на Таро (всего на одну карту), выпал перевернутый Ace of Swords. Увы, внятно истолковать не получается, но в целом склонен думать, что это в пользу первой версии.
А еще снова пытаюсь определиться со своим темпористическим типом. Количество версий сократилось до двух: ПВНБ и ПНВБ. Четко удостоверился, что Будущее у меня четвертое. Перечитал «Тайну третьего аспекта» и в все же думаю, что третье Настоящее ближе: чего мне реально не хватает, так это того, что там называют уверенностью (а в моей терминологии — верой в себя). А вот со смыслом как-то особо критических проблем нет.
В воскресенье почувствовал себя гораздо лучше. Вылез было снова с планшета, но обнаружил, что в настолочном чате подняли одну важную для меня тему (о жизни на минимуме), на которую хотелось развернуто высказаться, и тут же пересел за компьютер. Tella потом сказала: «Раз есть силы дискутировать в чате, значит, пошел на поправку».
Вечером воскресенья все же доделал то, что обещал Р.Л. перед тем как заболеть. Причем оказалось, что причина проблемы была пустяковая, но вот сама мысль о том, что нужно сесть и разобраться, давила на меня всю среду. В общем, очередной раз, когда сделать оказывается быстрее и менее затратно, чем заставить себя сосредоточиться и взяться за дело. Еще, пообщавшись с Р.Л., узнал, что он, оказывается, когда-то тоже проходил «Предназначение» — оффлайн-версию курса про поиск дела жизни, созданную тем же автором. Весьма неожиданно!
Сегодня хотел было поставить на локаль движок GNU social и поизучать его, но увы, как только я выхожу в Сеть с компьютера, время тут же начинает уходить непонятно куда. Так за весь день этого и не сделал.
Еще почему-то почти всю прошлую неделю просыпался рано утром (всего после 3 — 4.5 часов сна), а потом засыпал снова. Причем сны до промежуточного пробуждения были очень неприятные, связанные со страхами. То ли это последствия экспериментов с принудительным подъемом в 10:00 на позапрошлой неделе, то ли болезнь так влияет, то ли полезли какие-то страхи из бессознательного, которые прежде были вытеснены.
И вообще, задался одним интересным вопросом: эта болезнь — это знак того, что не стоит заниматься одним из вариантов самореализации, который я хотел попробовать на прошлой неделе или же наоборот, бессознательное, видя предстоящие изменения, решило активно избавиться от того, из-за чего я то и дело оказывался в полузаболевшем состоянии. В поисках ответа на этот вопрос сделал даже расклад на Таро (всего на одну карту), выпал перевернутый Ace of Swords. Увы, внятно истолковать не получается, но в целом склонен думать, что это в пользу первой версии.
А еще снова пытаюсь определиться со своим темпористическим типом. Количество версий сократилось до двух: ПВНБ и ПНВБ. Четко удостоверился, что Будущее у меня четвертое. Перечитал «Тайну третьего аспекта» и в все же думаю, что третье Настоящее ближе: чего мне реально не хватает, так это того, что там называют уверенностью (а в моей терминологии — верой в себя). А вот со смыслом как-то особо критических проблем нет.
Страницы:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
- 108
- 109
- 110
- 111
- 112
- 113
- 114
- 115
- 116
- 117
- 118
- 119
- 120
- 121
- 122
- 123
- 124
- 125
- 126
- 127
- 128
- 129
- 130
- 131
- 132
- 133
- 134
- 135
- 136
- 137
- 138
- 139
- 140
- 141
- 142
- 143
- 144
- 145
- 146
- 147
- 148