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


Kanal geosi va tili: Belarus, Ruscha
Toifa: Erotika


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

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

Kanal geosi va tili
Belarus, Ruscha
Toifa
Erotika
Statistika
Postlar filtri


https://review.video.fosdem.org/video/2/0d/a787ce93442463284ec8f7b672dfbf40265a86040a55bdbd08758c99ea904/1/main.mp4
Выступление на FOSDEM. На более ломаном английском, чем обычно. (Это превью, границы видео немного не там.)


https://media.ccc.de/v/38c3-sixos-a-nix-os-without-systemd
Европейское хакерство ещё живо. Человек запилил свой nix без systemd, с ядром в EEPROM.
sixos: a nix os without systemd
This talk announces the first public release of sixos, a two year project to create a nixpkgs-based operating system using skarnet's s6 s...


Как оказалось, почту уводили, чтобы увести Госуслуги. (Если что, я в начале сентября 22 уехал, с тех пор в РФ не появлялся. Почта была на айфоне, который был взломан.)



946 0 17 1 14

А вот кстати основатель Matrix объясняет ситуацию. По его словам, все деньги от правительств и корпоратов ушли по тендерам системным интеграторам, которые просто взяли опен сорс версию и где надо сами чуть допилили. Попытки напугать их AGPL закончились, как я понимаю, ничем.


Я тут чехвостил LLM, а вот посмотрел приземление 1й ступени Маска и решил добавить в картину ещё одну точку. Вряд ли у них там нейросетка всё приземляет, её банально обучить не на чем, это второе такое приземление в истории. Аналогично, живого пилота на такую задачу тоже не найти, потому что обучить его не на чем. Но есть программа, которая справляется, с ювелирной точностью.
Alpha Go это переборный алгоритм и нейросетка для нечёткой (интуитивной) оценки позиции. Гарри Каспаров проиграл примерно такому же алгоритму когда-то, перебор + оценка.
Помню ещё в школьные годы слышал, что американцы приземлялись на Луну переборным алгоритмом, а СССР по формуле, получилось более экономично.
Соответственно, получается чёткая градация: когда возможно - лучше по формуле, когда это сложно то есть перебор, когда перебор невозможен - нейросетка.


Какой вывод из этой ретроспективы?
Нужно держать в уме конечного пользователя и use case и в имеющемся бюджете по времени и коду доводить до состояния MVP. Пусть криво, зато применимо. Если есть MVP - дальше всё уже как-то само покатится по своей логике.
Если же до этого этапа недотянули, на github остаётся очередной студенческий недострой.


А с токенизированным diff тема была такая: тот же git diff построчный, что более простая задача, чем посимвольный, но и он частенько несёт пургу. Например, добавление (append) нового метода может понять, как вставку двух половин, если последние строки нового метода совпадают с последними строками метода перед ним.
Когда мы считаем посимвольный diff, такие косяки становятся повсеместны, потому что у символов разнообразие сильно ниже, чем у строк, и алгоритм Майерса чаще пургоносит. В гугловском diff-match-patch прямо по коду видно, как много сил потрачено на борьбу с этим.
Поэтому идея - использовать токенизацию, чтобы считать diff по словам хотя бы. Сначала рассматривали textmate грамматики, но не пошло. LSP довольно тяжёлый вариант, но он как-то сработал, остановились на этом.
А в "конкурирующей фирме" difftastic использовали tree sitter и так пришли к некоторому успеху. В Darwin я попробую прикрутить difftastic.


Прошла половина учебного года. Я, как и планировал, поигрался с RDX. Об этом чуть далее. А с Darwin (системой контроля версий на RDX) поиграться пока не получилось.

1. Выдача курсача превратилась в балаган (а в ВШЭ я делал со студентами курсач "токенизированный diff" два года назад, получилось очень неплохо, жалею только что не хватило времени и сил дальше раскручивать эту тему). Немногие студенты с компетенциями отвалились по тем или иным причинам. Студентов без компетенций (как на подбор, длинноволосые блондины почему-то) набирать смысла не было. В общем, ни муки ни капусты, не получатся пирожки (c).
2. Пункт 1 не так обиден только потому, что я тоже подзастрял. По истории коммитов в librdx видно, что я много времени потратил на задачи, которые изначально не рассматривал как важные и нужные. Много сил ушло в переделку skiplog, в JSON-подобный RDX-JDR, в LSM логику. По большому счёту, тут было два направления работы: "RDX как JSON" и "RDX как SST", оба понятно почему важны для RDX в целом и Darwin в частности. В общем, тему удалось укатать нормально, но и времени это отняло прилично.
3. Некоторые темы, на которые было убито много времени и сил, удалось решить словами "а, да это же не нужно совсем". Это конечно умение, которое непонятно как вырабатывать, но очень полезное.

Чтош. Во второй половине, если это будет возможно, всё-таки займусь Дарвиным.


Иду, вижу - подкова лежит.
Поднял, перевернул - а там конь.

(про работу)

716 0 13 5 33

Как у читателей дела с фаззингом?
So‘rovnoma
  •   Не пробовал
  •   Пробовал
  •   Есть несколько фазз тестов
  •   Фаззинг запускается как часть CI
  •   Есть фаззер - сборка или кластер
79 ta ovoz


Кстати, беру на вооружение новый принцип: доки у формата и API должны одновременно быть и тестами, чтоб не протухали.
Вот например юнит тест и спека в одном флаконе: файл является валидным RDX-JDR и Markdown одновременно.

982 0 13 17 11

Должна быть какая-то шкала Рихтера для багов. Вот сегодня у меня было "падает только релизный билд, ничего не печатая". Это фигня, воспроизводилось локально. Просто устал, поэтому медленно локализовывал.

Помню, в моей биографии было "падает прод в другом городе, время от времени" и "упало демо перед клиентами из регионов, хотя только утром всё репетировали". Причём, это ещё было в начале моего трудового пути.

Случалось мне ломать что-то на морде Яндекса, но это было что-то малозаметное, даже не помню что. В тот период Яндекс быстро рос, всё было слеплено на жевачку и суперклей.

В этом плане я, наверное, лично знаю чемпиона мира, он два раза "поломал интернет". Первый раз сказали "за битого двух небитых дают", во второй раз всё-таки отправили на работу, не представляющую общественной опасности.

Назовём Шкала Ингвара. Логарифмическая. 0 баллов - это воспроизводимая off-by-one. 10 баллов - поломал весь интернет. Предлагайте 1-9.


Вы задумывались, зачем запятая в JSON? А равно и в JavaScript, C, Java и тд
Я в RDX сделал запятушки опциональными - вообще ничего не поменялось.
Даже чище как-то: [1 2 3] или {"key":345 "more":678}

803 0 2 18 27

Подытожу мои разбирательства с BlueSky/Fediverse/ActivityPub. Собственно, тут активистка и соавтор ActivityPub (queer и это всё), все очень нудно и обстоятельно изложила.
BlueSky это архитектурно Twitter с некоторым количеством "маркетинговой" децентрализации. Теоретически, пользователи могут забрать свои данные и пойти играть в другую песочницу. Практически, я и с Facebook могу свои данные забрать. И что? И ничего.
Итого, какие мы видим тут тусы:
1. ActivityPub бюджетники и open source энтузиасты под эгидой w3c, открытый стандарт с разными реализациями, федерация, популярно у разных сообществ,
2. BlueSky стартаперы децентрализаторы, протокол срисован с архитектуры Twitter, деньги от VC, так что динамика понятна, принимают бегущих из Twitter, в первую очередь "синих" американцев,
3. Matrix евробюрократы, вменяемый протокол, федерация, есть деньги от VC, систематические проблемы с организацией разработки, клиенты - корпораты, госорганизации, некоторые сообщества,
4. Nostr, это крипто сообщество, протокол настолько лёгкий, что можно сказать, что его и нет :) немного денег от VC.

Я не знаю, что делать, друзья,
С этим странным явленьем природы,
Но так было и будет всегда,
С Новым Годом, друзья, с Новым Годом!


По поводу последних бенчей OpenAI разгорелись нешуточные дискуссии - это AGI уже или просто модель натаскали на эти задачки (которые давно лежат на гитхабе, вроде бы). Мнения разошлись, обсуждают нюансы.
А я пока спросил ChatGPT, как бы Фродо мог пройти к Ородруину более безопасным путём. Видимо, поворот неожиданный, GPT лил воду и нёс пургу, если вкратце. Подожду пока зарелизят новую модель. Но там уже что-то новое спрошу, потому что они всё пишут, могут натаскать и на такой вопрос в промежутке.
На самом деле не факт, что предлагаемые студентами этого семестра решения лучше предложений GPT.
А между тем, нужно думать, что делать с практическими заданиями на новый семестр.


Манифест проекта BRIX. Это LSM движок на RDX. Сеть синхронизируемых баз данных на конечных устройствах https://replicated.wiki/brix/

887 0 6 29 16

Eщё Turso: SQL с бранчами (в узком смысле). Там CoW режим вероятно, так что реализуется достаточно прямым путём. Единственно, опять же, это не бранчи, а снапшоты.





666 0 8 17 17
20 ta oxirgi post ko‘rsatilgan.