Портрет 4X_Pro
Был в Сети сегодня, 18:06
Мультиблог
4X_Pro
Записки лишнего человека

Сиюминутное и повседневное

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

Очередные субботние игры

4X_Pro
В субботу в очередной раз выбрался на настольные игры в Goldfish. Но встреча чуть было не отменилась: в чате была какая-то просто подозрительно низкая активность, тех, кто указал, что обязательно придет, оказалось всего четыре человека. А когда я спросил, кто во сколько будет в GF, сначала никто не отозвался, и я уже подумал, что никто и не поедет. И даже сам решил остаться дома. Но через некоторое время на связь вышла Д.П. (увы, Сетевого имени у нее нет), которая тоже опасалась, что никого не будет, и придется сидеть одной. Мы договорились встретиться в метро в 19 часов. Узнав об этом, к нам решила присоединиться Liu Art, а потом внезапно решила приехать Tella.
Но увы, Д.П. опоздала на 15 минут, Liu Art об этом не предупредила, а та пришла в заведение, где тоже никого не было, и администраторша уже собиралась было идти домой, заявив Liu, что заведение сегодня не работает, но как раз к этому моменту пришли мы, а минут через пять подъехала Tella.
Стали определяться, во что играть, но процесс шел долго и тяжело. Хотели в Каркассон, но найти классическую версию без дополнений не удалось. Д.П. оказалась любительницей объяснялок, прозвучало даже страшное для меня слово Имаджинариум, но, к счастью, Д.П. и Lui Art — 2В по психософии, и увидев мою реакцию, они от этой идеи отказались. В итоге удалось уговорить всех на «Шакала». Увы, не учел я того, что никто, кроме меня в него не играл прежде, и пришлось рассказывать правила. Задача эта для меня, как всегда, оказалась непростой, но в целом вроде все всё поняли.
В начале игры в лидеры вырвалась Tella, у которой прямо рядом со стартом оказалось несколько сундуков, а следом за ней шла Д.П. Liu Art отправилась в центр карты, а я бродил вдоль своего берега, где только к середине игры смог найти пару сундуков. Потом Д.П. стащила несколько монет из сундука, найденного Liu в центре карты, а я — одну монету у Tellы. Сначала игра шла очень медленно, все то и дело отвлекались на разговоры, но потом пришлось ускоряться, чтобы успеть доиграть до закрытия. И последние ходы мы делали почти как шахматисты, играющие блиц.
В конце концов осталось только несколько неисследованных клеток возле Д.П., и мы все ринулись туда, кроме Tellы, у которой два пирата погибли, а третий застрял в яме. Там обнаружился один сундук с двумя монетами, но помешать Д.П. завладеть ими у нас так и не удалось, т.к. у нее рядом были все три пирата, а у нас — всего по одному. В итоге Д.П. и Tella собрали по 10 монет, Liu Art — 9, а я — всего 8. Liu, увидев то, что я из-за этого несколько расстроился, отдала мне одну свою, чем вызвала немалое восхищение.
Потом решили не расходиться сразу, а еще немного посидели в BurgerKing близ Марксистской. Но эти посиделки особо ничем не запомнились.
Но в любом случае, я очень рад, что выбрался! Это, наверное, была одна из самых позитивных встреч за последнее время!

Очередной конкурс от Яндекса

4X_Pro
Еще месяц назад узнал об очередных соревнованиях от Яндекса, и долгое время не мог определиться, участвовать или нет. У меня эти соревнования связаны со стрессом из-за очень жесткого ограничения по времени и того, что очень мало тестов, из-за чего сложно понять, что же я сделал не так. К тому же эта неделя получилась какой-то непонятной: вроде и дел особо важных не было, но время улетало неизвестно куда. И только сегодня, в последний день, все же выделил 4 часа на то, чтобы принять участие. И на этот решил, что нужно пытаться полностью дожать «одну» задачу, а не пытаться написать код для всех, а потом на всех же застрять на дальних тестах.
С самого начала все пошло не так. Во-первых, я перепутал и вместо участие в backend-конкурсе указал frontend. Впрочем, как выяснилось, задачи там все равно алгоритмические, с frontendом связанные скорее способом оформления результатов и тем, что пишутся на JavaScript. Взялся за решение самой первой задачи. Там сразу же давался готовый код, но утверждалось, что он не работает на больших объемах данных. Я стал думать, как его оптимизировать. В процессе узнал про TypedArrays, и решил применить Uint32Array. Но увы, не знаю, было ли это решение правильным. Оказалось, что Uint32Array не поддерживает операцию push, поэтому пришлось идти кривым путем — создавать второй массив, куда добавлялись элементы, порождаемые в процессе решения задачи, и в конце итерации склеивать из двух массивов один, а потом сортировать его. Это ощутимо усложнило алгоритм, и пришлось дольше возиться с отладкой. Но самое обидное — так и не помогло: пять последних тестов уходили за таймаут. А еще несколько — заканчивались wrong answer. И в итоге за эту задачу я получил всего три балла из 15 возможных.
Не будь таких жестких ограничений по времени, я пошел бы другим путем: оставил бы массив обычным, отсортировал бы его один раз, а дальше просто вставлял бы новые элементы в нужные позиции, находя их бинарным поиском. Если будет возможность потом порешать задачи в тестовом режиме, то все же попробую это сделать.
После этого я переключился на другую задачу. Там все было проще: нужно было сформировать barcode по определенным правилам и вывести его в броузер. Ошибиться там было просто негде, поэтому с первой же отправки кода я получил за нее 40 баллов.
Прочитав остальные задачи, я решил взяться за самую последнюю. Там нужно было разобраться с куском кода, который отрисовывал аналоговые часы с кнопкой сброса, и доделать его. В целом это получилось довольно быстро, но в коде было ограничение: стрелки часов при сбросе должны повернуться к нулю, двигаясь не быстрее определенной скорости. И вот тут я запутался с единицами измерения. На то, чтобы разобраться, ушло много времени, но где-то за 10 минут до окончания все же при выполнении в броузере код работал как надо. Но когда я отправил его на тестирование, тесты он не прошел. А самое главное, я вообще в упор не понимал, как они устроены (оказывается, там были положения стрелок на часах в градусах). И только через пару минут после того, как время вышло, наконец-то до меня это дошло. И только сейчас, когда писал это сообщение, понял, как вообще надо было тестировать эту задачу. В общем, получилось, что застрял всего в одном шаге от окончательного решения, и вместо 113 баллов получил всего 43. Впрочем, даже этого хватило, чтобы подняться до 65 места из 310.
Весь остаток дня пытался прийти в себя и злился на то, что так получилось. До сих пор слегка болит голова… А самое обидное то, что из-за «таймерного стресса» возникает положительная обратная связь: из-за него я задание понимаю со второго-третьего раза в лучшем случае, упускаю иногда важные детали, из-за чего напрасно тратится еще больше времени.

Оказывается, верстка может приносить удовльствие

4X_Pro
Вчера задумал написать статью о юзабилити шапки для Интернет-магазинов, в частности, о том, как должна быть устроена мобильная версия. И решил сверстать пример. А в процессе наконец-то разобрался, как сделать live preview в Visual Studio Code так, чтобы не надо было каждый раз переключаться в броузер и обновлять страницу. Для этого нужно было поставить одно из двух соответствующих дополнений (вот она, обратная сторона plugin-подхода: есть несколько версий для одного и того же, и нужно все время выбирать).
Причем если менять ширину окна, то можно предпросматривать сайт и в обычном, и в мобильном вариантах. А еще я наконец-то приучил себя использовать emmet. Так что теперь верстка сайта из процесса, который меня всегда раздражал, превратилась в процесс, который до некоторой степени приносит удовольствие. Правда, времени все равно занимает много из-за слишком большого количества мелочей, которым нужно уделять внимание.
А еще впервые сверстал сайт полностью через flexы. До этого пользовался ими только на уровне «костылей» в отдельных местах. И тоже очень понравилось: многое можно сделать всего парой свойств CSS, тогда как раньше приходилось всячески изворачиваться.

Осенний спад активности

4X_Pro
В последние дни что-то нет никакого желания писать в блог. Хотя происходило немало интересного, в частности, прогулка с Tellой на Воробьевы горы во вторник, и отличная настолочная встреча в субботу, где я всех обыграл в «Гномов-вредителей», да и в «японском бенге» себя неплохо проявил. Сегодня решил еще одну задачу, которую давно откладывал. А вот остальные дни шли куда-то мимо: делать ничего не хотелось, даже в чатах отвечать.
Только сегодня досмотрел первую часть тренинга нейрософии. В принципе, из всех двух часов можно было посмотреть только общую стратегию, что делать, где-то в районе 1:50. В теории все просто: выявлять кортизоловые привязки для полезных дел, заменять их сначала на нейтральные, потом на дофаминовые, и разрушать дофаминовые привязки к неполезным делам. Только вот у меня все сложнее: бессознательное ловко переключает внимание еще на этапе подготовки к «кортизольному» действию. Не помогает даже тот способ, про который я узнал из курса о поиске дела жизни: начать с какого-то предельного простого действия, которое выполняется одномоментно и не может содержать каких-либо сложностей. Например, запустить IDE для того, чтобы начать программировать или открыть видео того же тренинга для просмотра. Даже на таком простом действии часто происходит отвлечение внимания, и непонятно, как с этим бороться.
Еще не знаю, что все же делать с децентрализованными соцсетями. Поизучал немного Hubzilla в плане кода и структуры базы, и понял, что она мне категорически не нравится, и заниматься я ей не хочу. Поэтому остается два варианта: либо forkать Mastodon, либо писать свое на PHP. Впрочем, есть еще вариант заняться пока гейтом между ActivePub и ВКонтакте.
Впрочем, все чаще и чаще возникают мысли, что надо бы все-таки доделать сначала еще пару разделов в IntB, а потом уже браться за децентрализованные сети. В частности, раздел целей с подзадачами, аналогичный тому, что есть в SmartProgress, и в него же встроить все необходимые напоминальники (по отсутствию прогресса и т.п.) Плюс еще добавить в IntB поддержку OAuth и избавиться от использования uLogin. И вообще перепозиционировать с инструмента создания сообществ на инструмент преодоления цифровой фрагментации. А потом уже видно будет.

Временный возврат к консервативному сценарию

4X_Pro
После слишком активных понедельника и вторника наконец-то наступило затишье, появилась возможность посидеть дома и замедлить жизнь до приемлемой скорости. Снова вернулся на консервативный сценарий жизни. Среда прошла куда-то совсем мимо. Вчера наконец-довольно много времени потратил на исправление мелких ошибок в SiteKnockerBot и TypograferBot в Telegram. В первом, как выяснилось, у всех новых сайтов время ответа, который считался медленным, равнялось нулю: когда-то забыл в базе прописать значение по умолчанию. Еще узнал, что в SiteKnocker добавили уже более 2 тысяч сайтов! Снова подумываю о том, чтобы переписать «простукивающую» часть на Go (тем более, половина уже сделана).
Еще значительно улучшились результаты на Клавогонках. Появилась какая-то легкость в руках. Вчера даже впервые показал результат выше 500 знаков/минуту в безошибочном режиме. Но увы, чтобы его засчитали, нужно теперь пройти квалификацию со скоростью 420 знаков в минуту. А с учетом того, что квалификация сделана криво (те пять секунд, которые система выжидает перед исправлением ошибок, тоже засчитываются), это довольно непросто.
Возникла мысль переделать свой заброшенный канал на Дзене, где писал об итогах жизни в оффлайне, — сменить тематику на «Выживание в Интернете: как жить в условиях постоянного избытка информации» и начать писать дальше. Но это во-первых, еще больший возврат к консервативному сценарию, во-вторых, канал будет частично дублировать раздел «Личная эффективность» на моем сайте.
И уже третий день пытаюсь собраться и досмотреть видео нейрософии, но пока никак. В частности, сегодня вместо этого долго и нудно ругался в настолочном чате. Сначала пытался пресечь очередные поздравления кого-то там с днем рождения руганью, потом — тупо зафлуживанием темы, но помогло мало.

Немного повседневного без темы

4X_Pro
Интересно, почему даже если я решаю лечь спать раньше, все равно это не получается? Вчера из-за компьютера встал в 3 часа. Но потом еще больше часа просто лежал, думал и никак не мог заставить себя пойти в ванную? В чем тут скрытая выгода для моего бессознательного?
Сегодня из-за этого проснулся очень поздно. Занялся текущими делами (продлил несколько доменов, рассчитал налог УСН за очередной промежуток времени), а потом отправился на настольные игры. На этот раз встречались не в ПВ, а в GoldFish. Мне там больше нравится (в первую очередь, тишина), но почему-то большинство предпочитает ходить в ПВ. Ал.С. принесла новую версию Гномов-вредителей, и сыграли несколько конов в нее. В целом игра мне понравилась, но классические гномы все же лучше. В последний кон я отличился: играл за синих, но был вредителем, который играл в интересах желтых. И сумел сделать так, что запер своих (синих) почти на старте: сначала увел дорогу, которую они строили, совсем не туда, потом сам наглухо встал в узком проходе, который строили желтые, не позволяя их догнать, потом, когда синие попытались построить еще один проход, закрыл его троллем. В итоге одна из участниц желтого клана набрала 9 очков, а синие остались ни с чем. Но победил все равно игрок, который оба раза был нейтральным: он в предыдущие разы набрал 5 очков, тогда как у остальных было по одному в лучшем случае.
Затем играли в две новых игры. Первая — «Царь горы» — довольно простая, на первый взгляд. Но реально там многое зависит от стратегий других игроков (иными словами, задействован 8 уровень ТУАИ). К моему удивлению, я там выиграл с отрывом в одно очко. А затем — в «Дудо». Эта мне понравилась меньше, но и там я тоже победил. Вот что значит играть в тишине! В ПВ я просто от шума довольно быстро перестаю соображать что-либо. В общем, вполне доволен, что выбрался! Жаль только, что народу было мало (всего 6 человек).

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

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

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

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