Планы: Честный консенсус (Raft или тот же VSR) стоит в роадмапе, но для стадии MVP мы выбрали простоту и скорость внедрения бизнес-фич.
Вам не кажется, что полноценная распределенность / консенсус должна быть где-то в самом начале вместе с ядром? Не окажется ли так, что после наворота кучи бизнес-фич, сделать его production-ready будет слишком сложно, особенно с учётом явного вайб-кодинга?
И вы тут много где пишите про "Linux для финансов" и протокол.
Что именно вы хотите заменить?
Просто свой ledger (хранение балансов и проведение транзакций в пределах одной организации)
Альтернатива Свифта (межбанковские коммуникации)
Альтернатива для платежных систем
Все вместе?
Есть ли хоть одна организация/государство, которая заинтересовалась вашим проектом и хочет попробовать хотябы в пилотном режиме его использовать?
Кажется, что без поддержки от больших акторов - это не проект, а пустышка, который в лучшем случае создан для самопиара и отнятия времени других людей (с учётом плана на заявку в Linux foundation)
Надеюсь, что прежде чем начинать какой-то проект, который вы сами позиционируете как что-то фундаментальное/инфраструктурное, сравниваете с Linux, то вы сравнили его по фичам/производительности/надежности с другими аналогичными проектами.
Контроль целостности за счёт однопоточности и хешей транзакций по цепочке (наподобие того как это делается в гите или блокчейне) вроде и правда позволяет ответить на вопрос, что всё действительно ок.
А что на счёт резервирования? Как сейчас решается вопрос, например, отказа железа? Как восстанавливать данные в случае повреждения? Если делать какой-то банк, то данные рано или поздно отказ оборудования произойдёт, а поднимать всё из бэкапов - риск простоев и риск потери части свежих данных, а это буквально деньги.
Есть ли какая-то сравнительная таблица с альтернативами? (По фичам и производительности)
Вот например мне одно из первых при поиске выдаёт tigerbeetle, которых хоть и написан не на "blazingly fast" / "memory safe" Rust, а на zig, но для доказательства корректности он проходит кучу тестов (в том числе на обработку разных сбоев: сетевых и диска).
Можно было решить обе задачи через дизайн интерфейса, показав уведомление типа "в городе N началось восстание". При нажатии на город - показать большой красный индикатор уровня удовлетворения, а около каждого деления шкалы сноску с тем, какие эффекты даёт достижение каждого уровня.
А при нажатии на конкретную армию - показать какую-нибудь цифру, которая описывает её мощь.
А у каждого термина - ссылку на встроенную энциклопедию.
С тем же успехом можно в MOBA-играх выдавать подсказки типа "против этого героя купи этот предмет, а против вон того-другой предмет" а на миникарте подсвечивать, где в последний раз был враг, таймер до появления бонусов, итд.
Всё это также основано на уже доступной в игре информации.
Базовые механики можно описать через сюжетную кампанию, обучение, или то же уведомление со ссылкой на энциклопедию.
Ждём, когда в новых играх студии перестанут нормально прорабатывать это всё, а игры будут постоянно ходить в интернет ради того чтобы генерить подсказки, либо отжирать память ради локальной llm (потом ещё ввести тариф, чтобы отбить токены)
fuzzy logic можно и классическими методами реализовать (хоть if-else с коэффициентами, хоть через машинное обучение). Не обязательно тащить экскаватор в виде LLM туда, где нужно грядку на балконе совком покопать. Смену логики без переписывания кода также можно реализовать при помощи своего DSL и формул.
Хотя опять же зависит от того, какую логику надо менять.
"поменял промпт за 5 минут" - это очень оптимистично с учётом того что нужно тесты прогонять)
Зато без llm:
Бот быстрее, можно какие-то более мелкие окна принятия решений ловить
Идейно круто, особенно с цепями Маркова. Только на счёт "no external dependencies" немножко обман, так как растовые бинари по-умолчанию от glibc зависят.
Ещё смущает встраивание словаря в код, так как хороший default - это хорошо, а возможность его переопределить - ещё лучше.
Сам код попробую глянуть, может закину какой-нибудь issue или pr.
Даже в 1С есть из коробки синтаксис с английскими ключевыми словами. Так что в идеале можно только предметную область оставить на русском (что будет правильно, имхо)
С дотнетом сразу в комплекте получаем jit-компилятор
Язык 1с by design интерпретируемый, потому без jit будет тяжко
А ещё нужно GC реализовать (а в дотнете он сразу есть готовый)
А ещё на чем-то нужно формочки реализовать (в случае с донетом можно взять уже готовую авалонию)
А ещё в каком-то виде нужно кроссплатформенные плагины делать, которые не придётся перекомпилировать при каждом новом релизе языка. На расте можно было бы wasm прикрутить или изобрести свой формат для плагинов, а в дотнете уже есть свои dll-ки, которые и так нормально работают.
GC и так защищает от утечек памяти, причём лучше чем растовый боров чекер и счетчики ссылок. А утечек памяти раст никогда и не заявлял, что защитит, так как это в понимании разработчиков языка не нарушает memory safety
C# и так показывает достаточно хорошую скорость.
Использование C++ и Rust не сделает рантайм автоматически не зависимым от системы. Всё также останется зависимость от vcruntime на винде и glibc на линуксе. А дотнет можно собрать как self contained
Я хоть и фанат раста и использую его для решения рабочих задач, но я боюсь, что реализовать описанный в новости проект в таком объёме и за такое время было бы невозможно (предлагаю посмотреть на существующие проекты интерпретируемых языков, реализованных на rust и их состояние)
Вам не кажется, что полноценная распределенность / консенсус должна быть где-то в самом начале вместе с ядром? Не окажется ли так, что после наворота кучи бизнес-фич, сделать его production-ready будет слишком сложно, особенно с учётом явного вайб-кодинга?
И вы тут много где пишите про "Linux для финансов" и протокол.
Что именно вы хотите заменить?
Просто свой ledger (хранение балансов и проведение транзакций в пределах одной организации)
Альтернатива Свифта (межбанковские коммуникации)
Альтернатива для платежных систем
Все вместе?
Есть ли хоть одна организация/государство, которая заинтересовалась вашим проектом и хочет попробовать хотябы в пилотном режиме его использовать?
Кажется, что без поддержки от больших акторов - это не проект, а пустышка, который в лучшем случае создан для самопиара и отнятия времени других людей (с учётом плана на заявку в Linux foundation)
Вот бы разблокировали ещё на таких колонках хранилище, чтобы можно было свою прошивку заливать.
Надеюсь, что прежде чем начинать какой-то проект, который вы сами позиционируете как что-то фундаментальное/инфраструктурное, сравниваете с Linux, то вы сравнили его по фичам/производительности/надежности с другими аналогичными проектами.
Контроль целостности за счёт однопоточности и хешей транзакций по цепочке (наподобие того как это делается в гите или блокчейне) вроде и правда позволяет ответить на вопрос, что всё действительно ок.
А что на счёт резервирования? Как сейчас решается вопрос, например, отказа железа? Как восстанавливать данные в случае повреждения? Если делать какой-то банк, то данные рано или поздно отказ оборудования произойдёт, а поднимать всё из бэкапов - риск простоев и риск потери части свежих данных, а это буквально деньги.
Есть ли какая-то сравнительная таблица с альтернативами? (По фичам и производительности)
Вот например мне одно из первых при поиске выдаёт tigerbeetle, которых хоть и написан не на "blazingly fast" / "memory safe" Rust, а на zig, но для доказательства корректности он проходит кучу тестов (в том числе на обработку разных сбоев: сетевых и диска).
Какие у вас тесты?
Опять не с того конца.
Какой результат хочется получить?
Нужно конкретный набор объектов сериализовать в xml без какой-то предопределённой структуры, чтобы потом по этому xml воссоздать исходные объекты?
Или же нужно какую-то предопределённую структуру в xml выразить в коде?
https://learn.microsoft.com/en-us/dotnet/standard/serialization/xml-and-soap-serialization
Стандартными средствами можно обоими путями пойти.
Если хочется просто сериализовать и не важно во что, то все стандартные коллекции вполне поддаются сериализации в XML.
Если хочется что-то конкретное, то гибче всего - руками построить XmlDocument с нужной структурой.
Справедливо и в обратную сторону.
Что это за такой специфичный и уникальный товар, что он в поисковой выдаче не единственный?
OrderedDictionary<Key, object?>
Но как уже выше сказали - нужны все вводные.
Мой коммент больше на взрослых ориентирован и экономию собственного внимания. Дети вообще отдельная большая тема)
Рилсограм также можно через браузер использовать же.
Для рабочих задач: сделать пост, пообщаться с клиентами - этого должно быть достаточно.
Сам им не пользуюсь, так что поправьте, где не прав.
На телефоне можно отказаться от использования приложения и также настроить адблок в браузере
Ждал упоминание std::mem::ManuallyDrop, но не увидел, хотя штука тоже может больно отстрелить.
https://doc.rust-lang.org/std/mem/struct.ManuallyDrop.html
От парадоксов только в стелларис играл и такой проблемы не заметил, вроде все механики понятные.
(По крайней мере вопрос "почему планета бунтует" или "на сколько сильнее этот флот чем тот что у меня есть" не возникнет)
Сложности только при каких-то не базовых механиках (некоторых евентах, например), взаимодействии нескольких разных механик, поиске меты.
Конкретику не вспомню. Каким-то сильно хорошим игроком я себя не назову.
А вопросы всегда будут, так как не все люди любят/умеют читать.
А ещё обновления меняют старые механики => создают вопросы у тех, кто вроде бы уже умеет играть.
Можно было решить обе задачи через дизайн интерфейса, показав уведомление типа "в городе N началось восстание". При нажатии на город - показать большой красный индикатор уровня удовлетворения, а около каждого деления шкалы сноску с тем, какие эффекты даёт достижение каждого уровня.
А при нажатии на конкретную армию - показать какую-нибудь цифру, которая описывает её мощь.
А у каждого термина - ссылку на встроенную энциклопедию.
С тем же успехом можно в MOBA-играх выдавать подсказки типа "против этого героя купи этот предмет, а против вон того-другой предмет" а на миникарте подсвечивать, где в последний раз был враг, таймер до появления бонусов, итд.
Всё это также основано на уже доступной в игре информации.
Базовые механики можно описать через сюжетную кампанию, обучение, или то же уведомление со ссылкой на энциклопедию.
Ждём, когда в новых играх студии перестанут нормально прорабатывать это всё, а игры будут постоянно ходить в интернет ради того чтобы генерить подсказки, либо отжирать память ради локальной llm (потом ещё ввести тариф, чтобы отбить токены)
На уровне тех самых подписок на гороскопы по клику на не ту кнопку, которую вставил опсос
fuzzy logic можно и классическими методами реализовать (хоть if-else с коэффициентами, хоть через машинное обучение). Не обязательно тащить экскаватор в виде LLM туда, где нужно грядку на балконе совком покопать.
Смену логики без переписывания кода также можно реализовать при помощи своего DSL и формул.
Хотя опять же зависит от того, какую логику надо менять.
"поменял промпт за 5 минут" - это очень оптимистично с учётом того что нужно тесты прогонять)
Зато без llm:
Бот быстрее, можно какие-то более мелкие окна принятия решений ловить
Нет затрат на токены
Идейно круто, особенно с цепями Маркова. Только на счёт "no external dependencies" немножко обман, так как растовые бинари по-умолчанию от glibc зависят.
Ещё смущает встраивание словаря в код, так как хороший default - это хорошо, а возможность его переопределить - ещё лучше.
Сам код попробую глянуть, может закину какой-нибудь issue или pr.
Ну например в keepassxc есть возможность сгенерировать пароль по словарю слов.
bip39 также использует идею кодирования каких-то байтов в виде мнемоники.
Можно взять взять произвольный словарь и генерировать так пароли.
Такое и запомнить не трудно (например у меня используется в качестве мастер-пароля фраза с 200+ бит энтропией)
Даже в 1С есть из коробки синтаксис с английскими ключевыми словами. Так что в идеале можно только предметную область оставить на русском (что будет правильно, имхо)
Ну типа импортозамещение))
А на винде из коробки тоже много всякого есть: C# (но без msbuild), Powershell, какой-то из вариантов Бейсика, JScript, батники
Видимо для тех, кто не знает C#, но знает язык 1С, а упомянутые проблемы не считает значимыми для своей конкретной задачи.
Ну как минимум:
С дотнетом сразу в комплекте получаем jit-компилятор
Язык 1с by design интерпретируемый, потому без jit будет тяжко
А ещё нужно GC реализовать (а в дотнете он сразу есть готовый)
А ещё на чем-то нужно формочки реализовать (в случае с донетом можно взять уже готовую авалонию)
А ещё в каком-то виде нужно кроссплатформенные плагины делать, которые не придётся перекомпилировать при каждом новом релизе языка. На расте можно было бы wasm прикрутить или изобрести свой формат для плагинов, а в дотнете уже есть свои dll-ки, которые и так нормально работают.
GC и так защищает от утечек памяти, причём лучше чем растовый боров чекер и счетчики ссылок. А утечек памяти раст никогда и не заявлял, что защитит, так как это в понимании разработчиков языка не нарушает memory safety
C# и так показывает достаточно хорошую скорость.
Использование C++ и Rust не сделает рантайм автоматически не зависимым от системы. Всё также останется зависимость от vcruntime на винде и glibc на линуксе. А дотнет можно собрать как self contained
Я хоть и фанат раста и использую его для решения рабочих задач, но я боюсь, что реализовать описанный в новости проект в таком объёме и за такое время было бы невозможно (предлагаю посмотреть на существующие проекты интерпретируемых языков, реализованных на rust и их состояние)