Local-first и децентрализация


Гео и язык канала: Беларусь, Русский
Категория: Эротика


Replicated Object Notation,
CRDT, распределёнщина и децентрализация.
Ведёт @gritzko
Чат @Ronzgovory

Связанные каналы  |  Похожие каналы

Гео и язык канала
Беларусь, Русский
Категория
Эротика
Статистика
Фильтр публикаций


Кто-то участвовал в таком холиворе, как создание аналога defer в C/C++? Поделитесь методами и выводами.


Видео недоступно для предпросмотра
Смотреть в Telegram


Немножко Иерусалима вам, для разнообразия


На самом деле многое становится понятно. Вот например был период, когда мне показывали следующее шапито: эти придурки брили голову, подкарауливали, выпрыгивали на дорогу и нагибались буквой Г. Ещё губами делали поцелуйчик. Я не шучу. Хотел бы я шутить.
Такой вот сильный психологический ход. Потом я уже издалека их распознавать начал, по дебильному лицу и странному поведению.

Думаешь, может я уже с катух поехал. Трудно на самом деле так не подумать.

Но если знать, что мой телефон взломан, а один придурок обходится в 20 баксов, то получается менеджер очень среднего звена может на бюджете 2000 баксов пригнать сотню таких дронов. Понятно, КПД будет может 10%, но это все равно копейки. Сижу я, скажем, на балконе второго этажа, а придурки внизу подходят на точку, постоят, потупят, и сваливают. GPS подвёл, вот досада. Но потери тут и до сотки не дотянут.

То есть, в этой новой реальности можно тупо дидосить живым мясом и ни о чём не беспокоиться, это дёшево и риск нулевой.

854 0 2 12 16

Кстати, Израиль разоблачил уже третью сетку говношпионов. Я ранее писал про Uber шпионаж. Примерно понятно, что это за контингент, готовы за 20 баксов криптой куда то пойти ногами и возможно встрять в историю и сесть.
Но, как оказалось, таких много.
То есть, инновация в духе дрона Шахед, который сбить будет дороже чем сделать. Кстати, вчера два пролетали.


Текст: за буферы, против heap и malloc. Вкратце: жизнь проще, если держать данные одним кирпичом, а не разбрасывать по памяти new/malloc ом.
Можно также считать это агитацией за арены.

https://github.com/gritzko/librdx/blob/master/B.md


My story:
- as a researcher, I did CRDTs in 2008
- as a developer, I did collab editors in 2012 and sync frameworks in 2014
- now, as a coding mathematician I do a syncable data format.
It is all about the LANGUAGE people and systems use.

807 0 4 16 24

Начинающий программист пугается, когда программа ведёт себя не так.
Опытный пугается, когда программа ведёт себя как надо, хотя я же это ещё не кодил!
$ cat test.rdxj
{1:2},
{1@2-2:6},
{eight},
$ cat test2.rdxj
{3:4,4:5,"seven"}
$ rdx merge test.rdxj test2.rdxj | rdx j
{,3:4,4:5,"seven",eight}


Хейтер как на работу сюда ходит со своими аккаунтами. Я, вероятно, оставлю только одно доступное эмодзи 🔥. Оно будет означать либо "тема огонь!" либо "гори в аду!" То есть будет такая интригующая недосказанность.


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


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


Далее, второй том этой приключенческой саги начал писаться с появлением интернет-гигантов, Google, Facebook, присоединившийся к ним Apple, итд. БД уже точно не помещались на сервер или даже несколько серверов. Нужно было прям тучу серверов (ну или облако).
Тут уже появилось семейство кассандровых, БД где мёрж это важная операция, на которой всё и построено - серверов тысячи, единого лога нет, единого порядка операций нет, да он и не нужен.
Что там творится в Google пусть эксперты расскажут, но семейство LevelDB/RocksDB/Pebble происходит оттуда. Это вроде бы побочные потомки BigTable.
Apple является крупнейшим эксплуатантом Кассандры.
Discord недавно переехал с Кассандры на Сциллу.


Теперь про RDX. Для меня история выглядит так. 1984 году Leslie Lamport формализует репликацию через конечные автоматы (state machine approach). 1990 Fred Schneider в обзорной статье "Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial" подмечает, что если бы операции были коммутативны, это открыло бы новые возможности. А реальные операции часто коммутативны, в той или иной степени. То есть, идеи CRDT повитали в воздухе еще тогда, но ни во что не вылились.
Просто потому, что даже интернета ещё толком не было и любая БД помещалась на сервер. И нормально, много софта было тогда написано и IBM до сих пор жирно живёт это всё поддерживая.
Приключениям трёх мушкетёров Postgres-MS SQL-Oracle и дартаньяна MySQL, и посвящён первый том истории баз данных.

602 0 7 10 20

Помню, я ещё студентом на 2 курсе читал Компьютерру пол-года. Внимательно так читал, на лекциях скучно было после СУНЦа. Потом перестало быть интересно. Помню там была большая статья, а это 1998 примерно год, с посылом "Хватит писать опердни". В том плане, что все пишут опердни, они во всех случаях устроены очень похоже, это должен быть один продукт, ну или два конкурирующих.

И вот, недавно общаюсь с людьми из одной российской компании, занимающейся разработкой БД. Про RDX. Один из первых вопросов: "вот если я пишу опердень на постгресе, как мне поможет ваша технология?"

В ушах зазвучала музыка из Warhammer. THE HERETIC. THE MUTANT. THE ALIEN.

Это игровая вселенная, где галактикой 10000 лет правит один император. Прогресса нет. Бесчисленные поколения солдат сражаются одним автоматом. Геройски погибают. Автомат не погибает, он сделан из очень толстого чугуния.

517 0 3 26 24

Кстати. Если кто не заметил, тут появился хейтер с двумя sockpuppet аккаунтами. Одновременно появляются по три негативных эмоджи под каждым постом.
Но иногда ленится и ставит по два. Призываю не лениться. В этом канале, поведение должно быть консистентным у всех!




В догонку, привет из реального мира


То есть, мой посыл тут идёт немного дальше, чем CRDT. Лисповодам и кложуристам привет.

751 0 1 50 11

Собственно, тут я стараюсь показать на практике, как выглядит моя идея полезной комбинаторики: примитивы должны были ортогональны и свободно комбинироваться !!! без добавления уровней абстракции !!!
А вот межглючные взаимодействия нужно сводить к минимуму.
Комбинаторика первого должна обгонять комбинаторику второго :)

Конкретно же в случае RDX-J мы берем в общем те же примитивы, из которых сделан JSON и делаем на порядок более гибкий, версионированный формат. То есть структурный diff/patch/merge получается практически бесплатно, из определений.

В бинарной TLV версии всё ещё проще.

Подробно - по ссылкам (англ)



Показано 20 последних публикаций.