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


Channel's geo and language: Belarus, Russian
Category: Erotic


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

Related channels  |  Similar channels

Channel's geo and language
Belarus, Russian
Category
Erotic
Statistics
Posts filter


Небольшая administrativia. У меня увели почтовый аккаунт gritzko@ya.ru, перерегали на другой телефон. Я его использовал для ВУЗовских дел. До того год долбились в ящик на microsoft, который я не использовал никогда.
Но постепенно добрались и до Телеграма и тут начались всякие странности. Поскольку с устройствами у меня беда, я год пользуюсь взломанным телефоном, то просто заранее предупреждаю - если вдруг канал удалится или что-то странное появится, то я ни при чём.
(Куда девать три скомпроментированных ноута - ума не приложу. Выброшу наверное. Причём, цены покупки ноутов в хронологическом порядке: $1400, $700, $400, $170 -- приспосабливаюсь к такой жизни. И это то, что на руках. Два ликвидных давно сбыл. Такие вот приключения за два года.)


Fundamental theorem of software engineering: All problems in computer science can be solved by another level of indirection, except for the problem of too many layers of indirection.
Это сказал David Wheeler когда-то в 70-х. Человек сделал карьеру программируя на ассемблере. Мог ли он вообразить, как далеко всё может зайти? (И это ведь ещё не предел).
Но вот нашли SPECTRE и оказалось, что геологические наслоения уровней абстракции и изоляции легко пробиваются, прямо до железа CPU.
Абстракции - это сказки про сказки, которые мы рассказываем сами себе.


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


Другая забавная часть (как я провёл лето) это интеграция Ragel в ABC. Там забавность в том, что из одной eBNF грамматики герерируется парсер со всем бойлерплейтом. Бутстрап шаг - это когда лексер парсит свою грамматику (грамматику грамматики) и генерирует сам себя (модуль LEX).
Тех, кто развлекается написанием компиляторов, такими трюками не удивить, а я только чуть-чуть затянулся :)
В качестве экзампла там сделан на рагеле парсер StrictMark, это единственный диалект Markdown с формальной грамматикой (мой). Флагманский CommonMark грамматики не имеет, т.е. там совместимость парсеров в принципе невозможна.
Собственно, CommonMark сам с собой не совместим в результате - спека продолжает активно меняться уже 10 лет. (Страшная правда о Markdown.)

501 0 3 11 11

Немного истории ABC. Диалект возник при написании storage engine для RON/RDX. В чём преимущество подхода в данном контексте: ABC контейнеры (типа мапы, векторы) можно в неизменном виде отправлять по сети, маппить на файлы, меркл-хэшить и так далее. То есть контейнер - он сам себе protobuf, сам себе sqlite (немного преувеличу).
Работа в таком формате привела к очевидному выводу: мощь такого комбинирования стоит того, чтобы под неё адаптировать другие части системы.
Другая большая идея - это слайсы и буферы из поинтеров, в этом канале уже обсуждалась. В С, по древности его, слайсов не было, а в C++ их с переменным успехом добавляли, но на двадцать лет позднее чем нужно было.
Короче говоря, я рассчитывал всё привести в порядок за лето, но жизнь сложилась немного по-другому (это я тоже освещал здесь). Тем не менее, буду по-тихому приводить в порядок.


Мои давно анонсированные эксперименты с С кстати давненько на Github валяются. Я сейчас в процессе написания манифеста, фидбек приветствуется.


Есть замечательный подкаст про Local-first, всем рекомендую. В этот раз там был Maximilian Alexander, бывший коллега. Я из Realm отвалился в JetBrains, а они свою компанию стартовали, Ditto. Мне предлагали какой-то процент за участие, но из JetBrains мне уходить не хотелось совсем.
Ну, теперь у них большая контора, продают CRDT энтерпрайзу, от Пентагона подняли гору бабла.
А я участливым девушкам доказываю, что за мной ходят шпионы и что я не псих.
Салтыков-Щедрин. Англичане ружья кирпичом не чистют. Или как говорили в СССР, два мира - два Шапиро.
На этой грустноватой ноте в канале объявляются каникулы до 1 сентября.




Опять ноут испоганили.


C 80-х в ЮВА было такое явление, как торговые центры электроники. Сейчас это скорее в прошлом. Pantip в Бангкоке стоит пустой - с ковидом, торговля электроникой окончательно перешла в онлайн. В Сингапуре, есть Sim Lim, но там очень пустынно, а самое живое место - фудкорт, куда бегают студенты-архитекторы из академии неподалёку. В этот раз я купил на Sim Lim кабель и три переходника, хотел облегчить рюкзак - перейти на один USB-C зарядник с переходниками в lightning и micro. Купил в трёх разных лавках, все четыре вещи - нерабочие. Это, считаю, необыкновенный результат. Подозреваю, от правительства есть какие-нибудь квоты по визам или что-то такое, и, чисто по-китайски, они только изображают, что торгуют, разложив по прилавкам купленный по весу брак из Шеньженя.
Low Yat в Куала Лумпуре однако ещё жив и траффик довольно хороший.
Кто был в Акихабаре - рассказывайте, что там.

P.S. В комментах сказали, Акихабара жива. Но если судить по Ютубу, электроники там поменьше, много аниме и хобби. Yongsan в Сеуле, по-видимому, сдох.


Если по какой-то причине и это не сработает, остаётся только срать логами клавиатуры в резервные сектора всех флешек, которые вставляют в комп. Авось, попутным ветром, как-то это доплывёт до злоумышленника.
У меня всё.

P.S. Все фамилии вымышлены, все совпадения случайны.


Тогда следующий вариант - эксфильтрация звуком. Очень дёшево и просто организуется из BIOS. При нажатиях кнопок комп пищит на низких частотах (которые только собаки слышат), никакой памяти не используется, никакой сетевой активности. Если у клиента или кого-то поблизости взломан телефон - всё можно сделать с комфортом. Записали, прослушали, вот пароль.
Если телефона рядом нет (крайне маловероятно, что мы доберёмся до этой точки даже в одном проценте случаев) - придётся отправлять кого-то с телефоном, послушать писки. Этот кто-то должен загять позицию сзади пользователя, потому что ноутбучные динамики по замыслу шумят в пользователя (а не в коллегу, сидящего впереди). Значит, нужно занести телефон за спину.
Это либо какой-то свой человек должен делать, либо (сценарий в кафе) лучше отправлять парочку. Вы сильно напрягётесь, если какой-то дядька зачем-то вам за спину зайдёт, да и тётька тоже. Вы вводите пароль - динамик пищит - слышат только Бобик и смартфон злоумышленника. Исполнители даже могут не знать, что они делают - палево минимальное.


Опять же, BIOSу сложно лезть в операционку и зашифрованный диск, а вот кнопочки записать и эксфильтровать - без проблем. Вообще, зная китайский менталитет, они если знают 100 уловок - будут использовать все сто. Так что эксфильтрация будет сразу всеми способами.
Если интернет подключен - вообще без проблем. Всё улетит одним DNS пакетом в AWS и будет выловлено из лога. Вы никогда это не заметите, а если заметите - ничего не докажете.
Теперь усложним. Компьютер airgapped, даже платочка WiFi/Bluetooth выкручена.


Ноут может быть включен, выключен или в саспенде. Перезагрузка нежелательна. Я бы тут поставил на уязвимость в BIOS. Особенно если говорить про Китай, через них проходят и все биосы и почти все материнки, есть кому разобраться в вопросе. Можно даже чипец подправить - например, вместо 8MB ставить 16MB незадекларированной памяти. Чип пилить никто не будет. Впрочем, это может быть и не нужно.
Если у нас есть уязвимость в BIOS, эксплуатируемая через USB, мы уже можем сделать две вещи: получить копию диска (без проблем) и выудить пароль, если диск зашифрован.


100.000 это неизбежно в разнообразных локациях, включая ебеня (курортные зоны, например) - уж куда клиент поедет, там и работать. А даже у квалифицированных электронщиков будет какой-то процент брака - резьбу там сорвал или шлейфик поломался или собрал неаккуратно, не работает. Поэтому отвёрточную работу лучше свести к нулю.
Оператором технологии будет не ниндзя, а уборщица. Даже без выноса из номера можно, если ноут оставлен лежать и есть пол-часа.
Устройство должно выглядеть невинно, подключаться по USB-C и вмещать терабайт.
Удобней всего шифроваться под power bank. Вообще без проблем.
Даже если уборщицу застукают, что крайне крайне маловероятно, если клиента ведут (выдернуть повербанк - секундное дело), то она просто расплачется и скажет что хотела просто повербанк зарядить, и убежит в слезах (с повербанком). Если вы продолжите качать права, вам предъявят настоящий повербанк идентичного вида. Могут даже подарить. Пока-пока, Шерлок!


Это кстати очень интересная задача технически - как утащить 100тыс жёстких дисков без палева. Прямо с лаптопов, в гостиницах или где получится. По результатам конечно все поймут, что случилось, но всё должно быть deniable. "Вам показалося, примите-ка таблетку."
Если бы только 100 дисков и только в больших городах (допустим Китая), то можно ниндзя отправлять, которые вися на потолке будут ноуты развинчивать и платки впаивать. А 100тыс уже должно быть
1. idiot proof и
2. deniable.
Мало ли кто будет исполнитель, мало ли что напутают.
Я попробую выстроить цепь логических рассуждений, а через несколько лет может случится leak и мы проверим.


Что же до кражи технологий, то тут, по моей оценке, уже ситуация overfishing. Это когда десять дикошарых рыбаков гоняются за последней рыбёшкой. Почти всё что можно было украсть - уже украдено. Крадуны не хотят, чтобы их поувольняли - нужно ещё что-то найти. Собственно, чёс Huawei по российским вузам и институтам, вероятно, имеет эту природу.
В этой связи, конечно, удивил Илон Маск, открывший завод в Китае. Несколько лет прошло - и сотня (!!!) китайских конкурентов, откуда-то получившие технологии, теснят Tesla на всех рынках.
В общем, прогноз негативный. О чём и говорит докладчик (война всех против всех).


Video is unavailable for watching
Show in Telegram
Пожалуй, завершающий аккорд про Великий Китайский Насос. Вот, человек на конфе в Шанхае рассказывает, как всё выглядит со стороны Китая. Если вкратце, за 70 лет стырили полную номенклатуру технологий для современной экономики полного профиля (с 4:00). То есть, международная кооперация им теперь не очень-то нужна - нужны источники сырья и рынки сбыта. А в Европе, например, и в целом в Pax Americana, международную кооперацию специально развивали, "чтобы не было войны". Ни у кого нет экономики полного профиля - никто не может начать войну (пропадут поставки чего угодно - всё посыпется). После двух мировых войн решили так делать. Но теперь это правило сломано. Ну, как говорится, пристегнитесь.
Ведь чтобы поддерживать экономику полного профиля - нужны рынки сбыта больше, чем у конкурента. Эта логика собственно и привела к двум мировым войнам, с железной неизбежностью.

898 0 27 6 13

Чемоданное-невероятное

Как лирическое отступление, расскажу-ка ещё недавнюю историю. На дырявом ноуте я всё-таки не могу по психологическим причинам работать почему-то.
Так вот. В прошлом с моими чемоданами случались приключения всякие, поэтому я к поездке в этот раз готовился аккуратно, всё упаковал, перепроверил, коды чемоданов записал. Первый пункт был Бангкок, остановка на ночь, потом рейс BKK DPS на Бали. Чемоданы оставил в гостинице, вышел погулять часа на три. Гостиницу, кстати, бронировал на ходу, уже когда к ней ехал.
Утром, в гостинице, перед выездом в аэропорт, обнаруживаю, что на большом чемодане левый замок открывается любым кодом, а правый моим (записанным) не открывается. Опа. Попробовал так и сяк, не открыл. А чемодан хороший, японский, нареканий не было никогда.
Тем не менее, поехал в аэропорт. С чемоданом, в который не могу заглянуть. Интеллект 90лвл.
В аэропорту открыть чемодан так же не смог, он уехал в багаж, я на самолёт. В аэропорту Бали таможня, прочитав мою фамилию, резко направляет меня на досмотр (одного из огромной толпы). И по рации передают про меня.
Досматривающий хочет посмотреть тот самый чемодан. Второй чем и рюкзак не особо интересуется. Я говорю, открыть не могу, дайте ключ TSA. Он достаёт мастер ключ, открывает.
Наркотиков не нашли в результате. Но я обнаруживаю следующее: после мастер-ключа, замки открываются любым кодом!!!
Через несколько дней у меня дошли руки и я стал лечить чемодан. Левый замок переставил на новый код, правый опять никак не хочет. То есть открывается любым кодом, а менять не позволяет. Я давай перебирать коды 000...999. Замок щёлкнул на 078, повезло. Тут я совсем прифигел. Этот код я использовал в первой половине 2023 на этом самом чемодане, 620078 - это почтовый индекс моего детства. Но с тех пор менял неоднократно и новый на бумажке записанный, совсем другой. Правый - 200.
Тем не менее, удалось сменить код.
У второго же чемодана никаких аномалий не было.
Итого получается, что кто-то зашёл в номер гостиницы в Бангкоке, открыл мой чемодан мастер ключом и выставил на одном замке прошлогодний код.
Ну и, не исключаю, что выдал ориентировку на Бали, что едет наркоторговец. А траву получается сам выкурил. Которую подбросить собирался. Ну, судя по результатам спецоперации.
Вот так и живём два года уже.

В принципе, странноватые истории и раньше были, но не настолько. Один раз я получил этот чемодан из багажа и на замке был код 555. Я предположил, что кто-то перебирал простые коды, но следующую цифру пробовать побоялся :) Другой раз я взял чемодан с ленты, но немного отойдя, решил открыть, проверить. Код не подошёл. Я долго возился, все разошлись уже от ленты. Посмотрел туда - там мой катается, один одинёшенек. И вокруг никого. Посмотрел на этот - они идентичны, Legend Walker одной модели, новые оба, без наклеек. Хорошо до таможни дойти не успел. И жаль, что не догадался изучить бирки багажные.

Но всё равно, в этих двух случаях хотя бы какое-то несложное объяснение было.

P.S. Ну и полностью согласен с мнением, что в TSA замках никакого смысла. Мастер ключи легко достать.

832 0 13 1 40

Поскольку мои эксперименты с ABC косоглазые всё равно спиздили, этот проект досрочно переводится в режим open source. Сомневаюсь, что они за этим и приходили. Но я буду ближайший месяц коммитить ABC с прекрасного Бали. Что-то другое трогать не могу (тоже украдут). Выбора, как видите, особо и нет. Не на пляже же лежать среди стройных красавиц. Но если вдруг перестану постить - значит я там :)

ABC - это Algebraic Better C, я про него тут писал чуть ранее неоднократно (6 раз за 2 года). Буду писать гораздо больше. Но опенсорсить буду по-сицилиански, по одному пальцу файлу.

Заодно отвечу на вопрос "как сделать defer в C" (несложно)... ну и на самый интересный вопрос - почему я в 2024 работаю над диалектом C? (Он разве не слышал про ChatGPT?) К ChatGPT это тоже имеет самое прямое отношение.

878 0 6 22 11
20 last posts shown.