Понравилось? Продолжение читайте на моем патрионе ссылка в описании
(шутка, продолжение будет бесплатное но немного позже когда я его допишу)
❤11
ActivityPub
ActivityPub это рекомендация W3C с 2018 года, построенная поверх словаря ActivityStreams 2.0 и формата JSON-LD. Идея в том чтобы придумать протокол по которому серверы соц сетей будут обмениваются между собой “активностями” по HTTP, что обьедених их в единую федеративную сеть "федиверс".
Концепция очень похожа на email:
- Тут есть “почтовый ящик” который здесь называется Актор (Actor) и записывается как
- Вместо писем тут активности (
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
Как это работает?
Пишем пост. Клиент заворачивает его в активность
Клиент делает HTTP POST этой активности в
Принимающий сервер проверяет подпись, кладет в inbox, проверяет что адресат все еще подписан на отправителя через сверку с
Пишем пост. Клиент заворачивает его в активность
Create с вложенным объектом Note. Запускается Push модель оповещенияКлиент делает HTTP POST этой активности в
outbox сервера отправителя, затем сервер смотрит в folowers и рассылает это сообщение по всем кто там есть.Принимающий сервер проверяет подпись, кладет в inbox, проверяет что адресат все еще подписан на отправителя через сверку с
following, и если да оповещает клиент что надо добавить это в ленту.👍2
Как и с email ваш адрес это ваш id (в отличии от at-protocol о котором ниже) поэтому выбирайте его тщательно. Вы можете купить свой домен coolguy.me и получить @hello@coolguy.me, привязать его к статическом серверу который будет отдавать на
Стоит отдельно сказать что fedverse умеет делать “перезед” аккаунта (
/.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 но федеративная, когда гитхаб совсем занется от агентов можно перехать туда ; )
Конечно это далеко не все.
- 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
Work & Beer Balance
В плюсы я сразу записал то что реализаций для селфхоста прямо много. Вот самые популярные (от более простых и легких то более крутых и наворчоенных): - GoToSocial на Go, один бинарник, SQLite или Postgres, крутится на 1 ГБ RAM, идеален если вам некуда деть…
И честно - я почти купился и захотел осесть было здесь, но я присмотрелся получше и заметил несколько серьезных ограничений:
- Если вы хостите свой собственный ActivityPub сервер то ваша лента будет…. пустая! Более того - вас никто не услышит. Вам придется “раздавать свою визитку” с вашим адресом чтобы набрать подписчиков, и самому ходить собирать по другим серверам на кого подписаться.
- Нет глобального поиска. Потому что нет глобального индекса. Лента и поиск если и есть то ограничен одним сервером
- Входящие от частных маленьких серверов часто просто отфильтровывают поскольку с такого рода серверов были большие волны спама (например через @mention можно прислать сообщение в inbox даже тем кто на вас не подписан)
Итого жить на отдельном своем сервере как-то не хочется.
C другой стороны на публичном:
- Вахтеринг в форме “дефедераций” которым злоупотребляют: одни сервера в ходе модерации блокируют чужие сервера целиком, так что вы потеряете свои подписки и своих пописчиков понеся “коллектвную вину” в форме сопуствующих потерь. Я не уверен на 100% но похоже это проблема протокольная - отдельных пользователей с другого сервера там заблокироваь сложно. (в комментариях прояснили)
- push модель хреново масштабируется - копию активности нужно добавить в inbox каждого сервера (fan-out). Это плохо работает и регулярно роняет инстансы при постах с очень популярных аккаунтов когда надо разом разослать несоклько сотен тысяч событий. Что будет когда подписчиков станет миллион?
Есть еще много чисто технической критики о том что сам стандарт W3C размытый настолько что все в итоге ходят смотреть “а как там сделал мастадонт”. А тот в свою очередь уже и не следует даже тому что там описано. Это создаёт фрагментацию: фичи одного движка частично теряются в другом (квоты Misskey, голоса Lemmy и т.д.). Особоняком стоит критика JSON-LD который из-за сложности часто не релаизован должным образом или реализован с ошибками и стал головной болью.
- Если вы хостите свой собственный ActivityPub сервер то ваша лента будет…. пустая! Более того - вас никто не услышит. Вам придется “раздавать свою визитку” с вашим адресом чтобы набрать подписчиков, и самому ходить собирать по другим серверам на кого подписаться.
- Нет глобального поиска. Потому что нет глобального индекса. Лента и поиск если и есть то ограничен одним сервером
- Входящие от частных маленьких серверов часто просто отфильтровывают поскольку с такого рода серверов были большие волны спама (например через @mention можно прислать сообщение в inbox даже тем кто на вас не подписан)
Итого жить на отдельном своем сервере как-то не хочется.
C другой стороны на публичном:
- Вахтеринг в форме “дефедераций” которым злоупотребляют: одни сервера в ходе модерации блокируют чужие сервера целиком, так что вы потеряете свои подписки и своих пописчиков понеся “коллектвную вину” в форме сопуствующих потерь. Я не уверен на 100% но похоже это проблема протокольная - отдельных пользователей с другого сервера там заблокироваь сложно. (в комментариях прояснили)
- push модель хреново масштабируется - копию активности нужно добавить в inbox каждого сервера (fan-out). Это плохо работает и регулярно роняет инстансы при постах с очень популярных аккаунтов когда надо разом разослать несоклько сотен тысяч событий. Что будет когда подписчиков станет миллион?
Есть еще много чисто технической критики о том что сам стандарт W3C размытый настолько что все в итоге ходят смотреть “а как там сделал мастадонт”. А тот в свою очередь уже и не следует даже тому что там описано. Это создаёт фрагментацию: фичи одного движка частично теряются в другом (квоты Misskey, голоса Lemmy и т.д.). Особоняком стоит критика JSON-LD который из-за сложности часто не релаизован должным образом или реализован с ошибками и стал головной болью.
👍3
Зачем вобще таймтрэкинг если теперь корпортивная аишка в подробностях раскажет чем вы там занимались в течении дня
👍9🤔2
Забавная история.
Скрипткиди взломал сервера неназваных 14ти компаний (как минимум). Подключившись по SSH на сервер он первым делом... копировал целиком claude code / codex со своего пк и давал выдающие профессионала промпты такие как
Кстати, там были и другие украденные папки инстансов агентов запакованные в zip архивы (не понятно как он их крал но похоже все поставлено на поток)
Что касается самого взлома - его вклад был ограничен тем чтобы убедить модель в том что он просит найти данные которые можно продать на черном рынке сугубо в исследовательских целях.
Впрочем и это было не сложно, оказалось что просьба написать PENTEST-REPORT полностью снимает вопросы о легальности происходящего у модели.
Хакера быстро нашли посмотрев остальную историю общения с моделью - там он например просил поправить его профиль в linkedin и так же засветил свой IP в диалогах о настройке своей системы.
Им оказался молодой человек из Эфиопии
Соус
Скрипткиди взломал сервера неназваных 14ти компаний (как минимум). Подключившись по SSH на сервер он первым делом... копировал целиком claude code / codex со своего пк и давал выдающие профессионала промпты такие как
<pasted error message> + "Разберись с этим"
Кстати, там были и другие украденные папки инстансов агентов запакованные в zip архивы (не понятно как он их крал но похоже все поставлено на поток)
Что касается самого взлома - его вклад был ограничен тем чтобы убедить модель в том что он просит найти данные которые можно продать на черном рынке сугубо в исследовательских целях.
Впрочем и это было не сложно, оказалось что просьба написать PENTEST-REPORT полностью снимает вопросы о легальности происходящего у модели.
Хакера быстро нашли посмотрев остальную историю общения с моделью - там он например просил поправить его профиль в linkedin и так же засветил свой IP в диалогах о настройке своей системы.
Им оказался молодой человек из Эфиопии
Соус
Help Net Security
Low-skilled attacker used Claude, Codex to breach 14 companies
Researchers have long warned that AI agents could lower the skill floor for offensive cyber operations, and a recent report bears that out.
😁11
Work & Beer Balance
Забавная история. Скрипткиди взломал сервера неназваных 14ти компаний (как минимум). Подключившись по SSH на сервер он первым делом... копировал целиком claude code / codex со своего пк и давал выдающие профессионала промпты такие как <pasted error message>…
когда ты вместо того чтобы искать уязвимости в коде газлайтишь модель а не человека это социальная инженерия или нет?
❤1
Разработчик slqntdev портировал hl2 и portal в wasm. Просто заходите на сайт, ждёте загрузку и играете. Возможно мне кажется, но такое ощущене что перф даже лучше чем в нативной игре (от 60FPS в браузере мой пк даже не напрягся, не то что от лендоса @artalar со звездым небом =)
Ссылка на Half-Life 2
Ссылка на Portal
Ссылка на Half-Life 2
Ссылка на Portal
😁10❤2🔥2
Опенсорснул свой проект - remote flash
Это прошивка для донгла за 11$ которая позволяет превратить его в управляемую по wi-fi флэшку.
Т.е. пока она воткнута в одно устройство вы можете изменять ее содержимое через браузер на другом устройстве.
Сценарий который сподвиг меня ее сделать - 3D принтер в который не встроили wi-fi, а поддержали только печать с флэшки.
Может быть у вас тоже есть сценарии для такого девайса. (Он так же поддерживает rest апи если вы захотите куда-то это встроить)
Должен сказать я изначально недооценил сложность задачи - в процессе реализации было выпущено с десяток версий и одно переписывание с нуля!
Все еще могут быть баги - буду признателен за любой фидбэк
Это прошивка для донгла за 11$ которая позволяет превратить его в управляемую по wi-fi флэшку.
Т.е. пока она воткнута в одно устройство вы можете изменять ее содержимое через браузер на другом устройстве.
Сценарий который сподвиг меня ее сделать - 3D принтер в который не встроили wi-fi, а поддержали только печать с флэшки.
Может быть у вас тоже есть сценарии для такого девайса. (Он так же поддерживает rest апи если вы захотите куда-то это встроить)
Должен сказать я изначально недооценил сложность задачи - в процессе реализации было выпущено с десяток версий и одно переписывание с нуля!
Все еще могут быть баги - буду признателен за любой фидбэк
GitHub
GitHub - Akiyamka/remote-usb: use your T-Dongle-S3 as remote usb stick
use your T-Dongle-S3 as remote usb stick. Contribute to Akiyamka/remote-usb development by creating an account on GitHub.
🔥16❤4
Есть в головах людей на удивление устойчивая идея будто с помощью теста IQ можно определять кто умный а кто глупый.
Проверьте для этого не нужно проходить такой сложный тест!
Достаточно одного вопроса: "Ты действительно в это веришь?"
Несостоятельность данного теста доказали уже множеством экспериментов, показали как сильно он плавает в зависимости от культуры и языка, а в самом свежем исследовании оказалось что он ещё и плавает в рамках возраста.
Если кто-то предлагает вам простое решение сложной проблемы - то это почти наверняка ложь
Проверьте для этого не нужно проходить такой сложный тест!
Достаточно одного вопроса: "Ты действительно в это веришь?"
Несостоятельность данного теста доказали уже множеством экспериментов, показали как сильно он плавает в зависимости от культуры и языка, а в самом свежем исследовании оказалось что он ещё и плавает в рамках возраста.
Если кто-то предлагает вам простое решение сложной проблемы - то это почти наверняка ложь
Зеркало
Ученые выяснили, что тест на IQ не всегда точно оценивает интеллект. Почему так
Ученые предлагают учитывать возраст и уровень когнитивных способностей при интерпретации результатов тестов, а не полагаться исключительно на единый итоговый балл IQ.
👍7🤡1
Fable 5 портировала стратегию на iOS за пару часов
Пишут в новостях. Представьте как обидно челику который пол года реверсил движок под кроссплатформу (generalX) чтобы потом его работу преписали вайбкодеру с фейблом
Пишут в новостях. Представьте как обидно челику который пол года реверсил движок под кроссплатформу (generalX) чтобы потом его работу преписали вайбкодеру с фейблом
The Decoder
Claude Code and Fable 5 ported the 2003 PC game Command & Conquer to native iOS in "a few hours"
A Google Deepmind developer ported the 2003 real-time strategy game "Command & Conquer: Generals Zero Hour" to iPhone and iPad using Anthropic's Claude Code. The first build took 40 minutes. The full source code is on GitHub.
😁4👍1
Work & Beer Balance
Fable 5 портировала стратегию на iOS за пару часов Пишут в новостях. Представьте как обидно челику который пол года реверсил движок под кроссплатформу (generalX) чтобы потом его работу преписали вайбкодеру с фейблом
Screencast From 2026-07-06 16-16-13.mp4
39.2 MB
Любопытно что код оригинальных Generals EA выложили в открытый доступ. А это 3ая итерация движка Westwood, который в предыдущей итерации использовался в шутере Renegade. А создавался он вообще для Emperor:Battle For Dune, но ее код не выложили. Примерно в то же время Westwood банкротился и был куплен EA, так что скорее всего код был утерян.
Но я все же пытаюсь воскресить его.
На базе godot я пытаюсь сделать игру которая будет читать все файлы оригинальной игры и запускаться прямо в браузере.
Но я еще в самом начале пути, пока только удалось справиться с файлами карт и света.
(демка на видео запущена в файерфоксе)
Но я все же пытаюсь воскресить его.
На базе godot я пытаюсь сделать игру которая будет читать все файлы оригинальной игры и запускаться прямо в браузере.
Но я еще в самом начале пути, пока только удалось справиться с файлами карт и света.
(демка на видео запущена в файерфоксе)
👍5
Work & Beer Balance
Screencast From 2026-07-06 16-16-13.mp4
Скопилированная карта для игры - это бинарник в формате .xbf и еще пару файлов cpf и cpt
В таком же формате хранятся модели юнитов и зданий, и проект CorinoEngine уже отреверсил как эти модели читать
Из .xbf была восстановлена и геометрия карты, группы сглаживания, развертка текстур. Но цвета были вот вообще не те (первый скрин) да и текстуры слишком репетативны - чего-то не хватало.
По остаточному принципу я решил что секрет в файлах .cpf .cpt (позже оказалось что это оптмизированный .tga "огромных" размеров (2к) на всю карту)
После того как я натянул его как слой на карту она оберела те самые уникальные рисунки на камне, но цвет был все еще не тот.
В конце концов я нашел приложеный туториал к редактору карт, и из него узнал что мапдизайнер разукрашивал color dodge кистью каждую карту в ручную используя две маски для песка и скал с разными режимами смешивания
Повторив этот трюк в движке я наконец получил тот самый оригинальный цвет и текстуры на видео выше
В таком же формате хранятся модели юнитов и зданий, и проект CorinoEngine уже отреверсил как эти модели читать
Из .xbf была восстановлена и геометрия карты, группы сглаживания, развертка текстур. Но цвета были вот вообще не те (первый скрин) да и текстуры слишком репетативны - чего-то не хватало.
По остаточному принципу я решил что секрет в файлах .cpf .cpt (позже оказалось что это оптмизированный .tga "огромных" размеров (2к) на всю карту)
После того как я натянул его как слой на карту она оберела те самые уникальные рисунки на камне, но цвет был все еще не тот.
В конце концов я нашел приложеный туториал к редактору карт, и из него узнал что мапдизайнер разукрашивал color dodge кистью каждую карту в ручную используя две маски для песка и скал с разными режимами смешивания
Повторив этот трюк в движке я наконец получил тот самый оригинальный цвет и текстуры на видео выше
🔥4❤1