Work & Beer Balance
1.53K subscribers
179 photos
13 videos
5 files
254 links
Авторский канал @Akiyamka
Поддержать автора можно здесь:
buymeacoffee.com/cherrytea
Download Telegram
Похоже где-то в лесу сдох рак, и микромягкие анонсировали 12 мажор npm с нормальными сесурити дефолтами.
А именно - запрет на выполнение скриптов в зависимостях, запрет на установку из гита, файлов, директорий и тп.
👍15🔥3
Пятничный пост:
Я переодически смотрю канал Тихое Место (осторожно качественный контент про музыку), и недавно там вышел пост про музыку в играх.
Во первых мне приятно что я не один такой странный, а во вторых мне приятно что тут то я оказался меломанистей.

Не возможно сделать пост про игровую музыку и забыть упомянуть про великого и не повторимого ханса цимме Michel McCann с его великолепнейшим саундреком к Borderlands 3 и Deus Ex: Human Revolution

Последний кстати и в первой части удостоился в композиторах иметь гениев того времени - Александра Брэндона и Михиля ван ден Боса (да да, автора того самого Foregone Destruction (она же на youtube)) которые сделали свою карьеру на нереально крутой музыке к Unreal.

На эту музыку до сих пор пишут ремиксы уже следующие поколения! И тут особенно хочется выделить NectoUlin, вы просто послушайте что он творит, это нелегально круто слушается даже сегодня.

Ну а под конец для самых прожженых упомяну сильно неодооценнную музыку Джаррида Мендельсона который написал музыку для компании Ордосов в Emperor: Battle For dune (у меня до сих пор муражки от его музыки, ничего подобного я больше нигде не слышал, просто послушайте)

Бонус для тех кто дочитал - Foregone Destruction версия от Necto Ulin
🔥32🥴1
Channel photo updated
Я смотрю новая аватарка мало кому зашла. Я вас услышал!
👍8
Channel photo updated
(Фотография аватарки в этот раз не сгенерированная, автор фото Monaz Nazary)
8
ну спасибо что совсем google поиск не отключили.

Кстати, вы уже в курсе что в следующем обновлении chrome отключит работу всех расширений который не работают по manifest v3?
Для вас это значит что ваш любимый блокировщик рекламы скорее всего не запустится
😭10😁3
Я переодически натыкаюсь на аватарку Андрея Карпаты на гитхабе и все время думаю о том, как же он тут похож на "Гарольда скрываюшего боль"
😁19💯1
С появлением LLM популярность реакта улетела в космос. И даже преакт уже обгоняет vue. Но чего я точно не ожидал - так это то что lit станет более востребован чем анугуляр
👀11😁2🔥1😢1
Мне очень нравится идея респределнных соц. сетей. Во первых я не люблю цензуру, а во вторых соц. сети моем молодости это форумы, rss, irc - все в той или иной степени децентрализованное.

С другой стороны дяди зарабтывающие на нашем контенте порой не удосуживаются даже сделать нормальный веб клиент к своей сети ограничиваясь лишь мобильным приложением. Этим не то что не хочется, порой просто не возможно пользоватся.

Это не правильно, зашло слишком далеко, если раньше пользователи голосвали за качество ногами, то теперь ноги связаны и нам теперь уже нам диктуют правила чем и как пользоваться. Короче итогом стало то что даже такая ленивая задница как приобрела себе белый айпи, небольшой сервачок и решила сделать свой вклад в будущее распределенных социальных сетей.

А тут еще [видео Dan Abramov](https://www.youtube.com/watch?v=LLodzFSEH6U) попалось на глаза где он рассказывает про сломанный интернет и рекламирует новый протокол. И о чудо, в этот раз это не что-то мариганльное - уже сейчас поверх него соцсети растут как на дрожжах!

"Вобщем пора" - подумал я и тут же столкнулся с практической стороной вопроса - что именно я собираюсь разворачивать у себя? Как это работает, а какие вообще есть варианты? Я слышал что-то про Fediverse, это лучше или хуже?

Скрининг интернета показал что живых вариантов сегодня 4:
- DSNP (MeWe)
- Nostr (Damus, Amethyst, 0xchat)
- ActivityPub a.k.a. Fediverse (Mastodon, Threads, Tumblr, Flipboard) 
- AT Protocol a.k.a. Atmosphere (Bluesky, PinkLeap, flashes.blue)

Теперь надо разобраться - что они представляют из себя, как они устроены, сравнить их между собой, в чем плюс и минус каждой из них и выбрать что-то что я себе хочу.
🔥8
Итак, начнем DSNP:
Decentralized Social Networking Protocol

Спецификация v1.0 была опубликована в 2022 году, а первая крупная имплементация — Frequency (parachain в Polkadot) — запущена в марте 2023 года. Относится к WEB 3.0.
Единственная реализация соцсети поверх этого протокла что я обнаружил MeWe

В основе своей система состоит из двух частей:
- Frequency блокчейна где логируется события о постах и CID-ы посчитанные от контента этих постов.
- IPFS сервера которые этот контент хранят и раздают по CID-у.

Как это работает? 

Когда вы создали пост то для его содержимого расчитвается уникальный CID (а-ля контент хеш) он загружается на любой IPFS под этим CID, и в блокчейн записывается что такой-то пользователь сделал пост у которого вот такой вот CID. 

Если вы хотите прочитать пост вы сначала в блокчейне находите его CID, а потом находите любой IPFS сервер и просите у него содержимое этого поста по CID.

IPFS сервер может быть у вас дома или в вашем VPS, он есть у самой соц сети, он есть в мобильном приложении клиента, они даже есть как отдельные http сервера с публичной апи (ipfs.io например). 

Каждый раз когда на сервер загружается новый контекнт он всем обьявляет что у него теперь есть контент с таким CID. И сам слушает чужие обявления других таких же серверов и записывает себе у кого что есть. Это называется DHT (Distributed Hash Table). По сути это децентрализованные хранилище давно известное нам как IPFS, вот и тут тоже сервера работают на том же принципе, только их реализация носит название “Parquet”

Когда DHT сервер к которому вы обратились нашел ваш контент он его кэширует у себя на какое-то время, таким образом распределяется нагрузка и скорость доставки.
🔥42
Плюс для полного функционала соц сети работающей поверх этого протокола имеем еще пачку сервисов типа:
- Account Service (MSA, управление ключами, делегирование)
- Content Watcher Service — слежение за блокчейном, выдача новых постов
- Graph Service — управление социальным графом
- и д.р.
🔥1
Стоимость записи в блокчейн не бесплатная но стоит центы. Пока. С ростом популярности она будет дороже.
А есть желающие платить за то чтобы сделать пост? Ну разве что те кто понимает что если платит не он, то значит он товар! А покупают ваш товар - соц. сеть. По сути-то так оно везде работает, а разница только в том что здесь это прозрачный рыночный механизм.

Следите за руками - если вы соц сеть и пришли с “капиталом”, то можно сделать денежный вклад в крупном размере (на крипто языке это называется - стейкать) и за это получить соразмерное вкладу количество бесплатных постов в сутки. Какие же они бесплатные если за деньги?

Бесплатные они потому что это не подписка а вклад и одновременно - залог - вы потом можете снять эти деньги и если у этой крипты все шло хорошо их станет даже больше и вы останетесь в плюсе (или меньше и в минусе). Лимит этот сбрасывается в конце дня, т.е. вклад разовый.  На самом деле на сегодня курс такой что не нужно быть соц. сетью - для парочки постов в день сегодня это пару сотен $ что в целом может позволить себе каждый. Инфлуенсеры и крупные блогеры даже напрямую заинтересованы финансово вкладыватся в это т.к. их усилия будут приводить к популярности соц сети а значит и увеличивать стоимость их доли.

С другой стороны это так же склоняет уже существующие соц сети не конкурировать а кооперироватся т.к. благо распределяется сразмерно на всех учатсников блокчейна. В теории красиво.
А на практике - опенсорные клиенты которые есть в открытом доступе - чет не понятно как поднять. Есть некий констурктор из выше перечисленных сервисов - и все это существует в опенсорсе скорее в виде референсных имплементаций, а не готового к деплою набора. Не хватаеть клея между ними, т.е. сам сиди и разворачивй кубернетес и подключай это все к сети и между собой. Для крупных игроков котоыре метят в соц сети это приемлемо а вот для “частного” участника - слишком сложно и дорого. 

на данный момент MeWe - единственная соц сеть на этой технологии. При регистрации вы незаметно для себя создаете кошелек в этом блокчейне и делегируйте соц сетке постить от вашего имени вашими ключами в блокчейн. 

Ну по крайней мере лля хранения своего конента достаточно хостить только IPFS. Однако такие личные IPFS работают как зеркала IPFS сервера соц сети - т.е. копируют себе то что уже анонсируют IPFS сервера соц сети. Т.е. от модерации и цензуры вас это не спасет. А так как соц сеть одна на данный момент и вовсе смысла в этом нет никакого.

Т.е. на сегодняшний день децентрализация в DSNP существует скорее технически, потенциально, но практически не реализована.
Далее Nostr a.k.a. протокол NIP-65

Максимально тупая и простая по настоящему децентрализованая сеть. Никаких блокчейнов тут нет.

Ваше сообщение оборачивается в криптографически подписаный джейсон (ну типа ваш твит в формате JWT), в рассылается в N релеев прописаных в клиенте в ручную (обычно десятки) и из них же получаем N копий одного и того же сообщения от других участников сети (на чей публичный ключ мы подписаны). Вот и все. Релеи даже не общаются между собой.

Релеи даже не оповещают клиента о новых постах - клиент должен сам переодически спрашивать обо всем что его интересует. 

Мне это это очень напоминает интернет версию LoRa сети Meshtastic, а вернее даже Reticulum  - те же принципы и те же проблемы, та же избыточность вместо координации. Только если пеерчисленные выше технологии засирают радиочастоты то Nostr засирает винчестверы на релеях - при всего около 100к пользователей из которых постит пару процентов уже генерится джейсона на ~365 ТБ в год.
Work & Beer Balance
Далее Nostr a.k.a. протокол NIP-65 Максимально тупая и простая по настоящему децентрализованая сеть. Никаких блокчейнов тут нет. Ваше сообщение оборачивается в криптографически подписаный джейсон (ну типа ваш твит в формате JWT), в рассылается в N релеев…
Да, каждый ретранслятор сам решает что он будет хранить и сколько времени. Есть тематические релеи, личные, платные, приватные и тп.

Ну плюсы тоже есть - ее сложно цензурировать, нода поднимается очень просто, все множество раз дублируется, впрочем так же легко может что-то потеряться.

Никакой централизации нет, правда нет и никаких защит от спама, вайпов, забанить кого-то почти невозможно, ведь и аккаунтов тут как бы нет - только ключ подписи, и таких ключей можно генерировать сколько угодно, и проследить откуда идет сообщение тоже очень сложно.

Гарантировать согласованость и порядок сообщений тоже не возможно. Не возможно даже понять кто-на кого подписан (ну кроме собственных подписок о которых знает твой клиент).

Ну и еще обмен только текстом.

Интересно, но главным инвестором и евангелистом этой технологии является Джек Дорси (бывший СЕО Twitter, нынче X).
Понравилось? Продолжение читайте на моем патрионе ссылка в описании
(шутка, продолжение будет бесплатное но немного позже когда я его допишу)
11
ActivityPub

ActivityPub это рекомендация W3C с 2018 года, построенная поверх словаря ActivityStreams 2.0 и формата JSON-LD. Идея в том чтобы придумать протокол по которому серверы соц сетей будут обмениваются между собой “активностями” по HTTP, что обьедених их в единую федеративную сеть "федиверс".

Концепция очень похожа на email:

 - Тут есть “почтовый ящик” который здесь называется Актор (Actor) и записывается как @имя@домен . У него есть входящщие и исходящие но в отличии от почты есть еще подпичики (followers) и подписки (following).

- Вместо писем тут активности (Activity) в JSON формате, и они имеют строгуб классивацию по типу: Create (создать пост), Follow (подписаться), Accept/Reject (подтвердить подписку), Like, Announce (репост/буст), Undo, Delete, Block.
👍2
Как это работает?

Пишем пост. Клиент заворачивает его в активность Create с вложенным объектом Note. Запускается Push модель оповещения

Клиент делает HTTP POST этой активности в outbox сервера отправителя, затем сервер смотрит в folowers и рассылает это сообщение по всем кто там есть.

Принимающий сервер проверяет подпись, кладет в inbox, проверяет что адресат все еще подписан на отправителя через сверку с following, и если да оповещает клиент что надо добавить это в ленту.
👍2
Как и с email ваш адрес это ваш id (в отличии от at-protocol о котором ниже) поэтому выбирайте его тщательно. Вы можете купить свой домен coolguy.me и получить @hello@coolguy.me, привязать его к статическом серверу который будет отдавать на /.well-known/webfinger запрос JSON-ку в которой будет указан например все тот же mastadont - итого красивый никнейм и свобода перемещения между серверами (одна из вещей о которой вам надо подумать при работе в распределнной сети, иначе вы снова себя пригвоздите).

Стоит отдельно сказать что fedverse умеет делать “перезед” аккаунта (Move) с переносом подписчиков, но контент при переезде не мигрирует, так что это плохой вариант
👍2
В плюсы я сразу записал то что реализаций для селфхоста прямо много. Вот самые популярные (от более простых и легких то более крутых и наворчоенных):

- GoToSocial на Go, один бинарник, SQLite или Postgres, крутится на 1 ГБ RAM, идеален если вам некуда деть свою распбери.
- Akkoma / Pleroma - еще одна облегченная версия Mastodon но в этот раз на Elixir
- Misskey / Sharkey - альтернативная во всех смыслах версия на typescript. Умеет всякие упорости, например запускать flash в постах (кто еще помнит что это?)
- Mastodon - Неповторимый оригинал с Ruby, Redis, Sidekiq, Postgres, ElasticSearch и т.п. кушает много

Чтобы у вас не сложилось впечателние будто все это скины для твиттера, вот вам список того что есть в фидверсе вне микроблогинга:
- PeerTube - федеративный YouTube c P2P-раздачей через WebTorrent. Зрители распределяют нагрузку на стриминг между собой так что даже ваш дохлый сервер на тапочке должен вывозить.
- Pixelfed - федеративный Instagram. Ленты, альбомы, истории, фильтры НО на твоё фото в Pixelfed можно ответить из Mastodon, круто-то же!
- Funkwhale - федеративная музыкальная библиотека и стриминг (что-то между Grooveshark и SoundCloud). Хостишь свои песни (а может не только свои), делишься, слушаешь чужие публичные.
- Castopod - хостинг подкастов где слушатели могут комментировать эпизоды прямо из федиверса.
- WriteFreely - минималистичная блог-платформа (длинные статьи, а не короткие посты). Аскетичный, ориентирован на письмо, прямо как я люблю
- Lemmy - федеративный Reddit. Наверняка вы про него слышали, часто мелькал в лентах после протестов вокруг Reddit API в 2023.
- Forgejo - это Gitea но федеративная, когда гитхаб совсем занется от агентов можно перехать туда ; )

Конечно это далеко не все.
👍2