Прямо сейчас по Tesla Live махровый памп BitCoin с Маском и Дорси. Как известно, BitCoin это зелёная технология, которая помогает бедным гастарбайтерам отправлять переводы домой.
В общем, Маск очевидно не успел выйти из битка.
В общем, Маск очевидно не успел выйти из битка.
🤣4👍1
Ссаными тряпками https://www.bloomberg.com/news/articles/2022-11-23/new-york-governor-hochul-signs-moratorium-to-curb-crypto-mining
Bloomberg.com
New York Governor Hochul Signs Moratorium to Curb Crypto Mining
New York Governor Kathy Hochul has signed one of the most restrictive laws in the US on regulating cryptocurrency mining, becoming the first state to impose such a ban.
🤔1
Оцените количество исправлений в спецификации CommonMark на 7м году её разработки https://spec.commonmark.org/0.30/changes.html В частности, они вымарывают понятие whitespace, потому что спейс спейсу рознь, как оказалось. Мой личный опыт работы с Markdown такой же: лучше не менять парсер, а то нужно будет перепроверять весь массив текста на косяки. И даже официальный парсер с сommonmark.org меня радовал багами. Большой плюс, конечно, в том, что Markdown легко писать. А потом... наступит потом.
Между тем, Markdown в целом уже вполне себе совершеннолетний формат, ему 18 лет. Тем не менее, разработка спецификации с какой-то более-менее полной совместимостью между реализациями уже 7 лет буксует. И это при крайней, исключительной минималистичности формата.
Сложность имеет комбинаторный характер. Это можно обратить в благо, когда система из ортогональных и крайне простых компонентов демонстриует сложное поведение в положительном смысле (гибкость, большие возможности).
Это может работать и во вред, когда крайне минималистичная система настолько непредсказуемо и комбинаторно сложно взаимодействует внутри себя, что остаётся только объявить баги фичами и гордиться ими.
А лучший парсер для Markdown кто-то однажды сделает на основе нейросетей. Это, он скажет, вложенный список, ну потому что "я так ощущаю". А вон то вот - нет, не список, это просто италик после hard wrap так разбросало.
Между тем, Markdown в целом уже вполне себе совершеннолетний формат, ему 18 лет. Тем не менее, разработка спецификации с какой-то более-менее полной совместимостью между реализациями уже 7 лет буксует. И это при крайней, исключительной минималистичности формата.
Сложность имеет комбинаторный характер. Это можно обратить в благо, когда система из ортогональных и крайне простых компонентов демонстриует сложное поведение в положительном смысле (гибкость, большие возможности).
Это может работать и во вред, когда крайне минималистичная система настолько непредсказуемо и комбинаторно сложно взаимодействует внутри себя, что остаётся только объявить баги фичами и гордиться ими.
А лучший парсер для Markdown кто-то однажды сделает на основе нейросетей. Это, он скажет, вложенный список, ну потому что "я так ощущаю". А вон то вот - нет, не список, это просто италик после hard wrap так разбросало.
👍7🔥2🤔1
Однажды я изобрёл очень красивый способ хранения Мёркловых деревьев и очень гордился этим. Как оказалось, в тот же год его изобрели два исследователя. А в 2019 его же изобрёл Russ Cox, известный гений из команды разработчиков go, тоже очень гордился.
Поэтому, вот три ссылки про двоичное Мёрклово дерево для append-only логов и потоков и про его хранение в append-only файле/массиве
https://www.rfc-editor.org/rfc/rfc7574.html
https://research.swtch.com/tlog < наиболее доступно написано
https://static.usenix.org/event/sec09/tech/full_papers/crosby.pdf
То есть, правильно пишем раскладку дерева в файл и всё просто: реализация Мёрклова дерева для лога - это просто ещё один лог (с хэшами). Крайне мало кода, никакой БД, просто написать правильные формулы.
По степени переизобретания и гордежа, эта структура данных уступает weave, но тоже неплохо.
Поэтому, вот три ссылки про двоичное Мёрклово дерево для append-only логов и потоков и про его хранение в append-only файле/массиве
https://www.rfc-editor.org/rfc/rfc7574.html
https://research.swtch.com/tlog < наиболее доступно написано
https://static.usenix.org/event/sec09/tech/full_papers/crosby.pdf
То есть, правильно пишем раскладку дерева в файл и всё просто: реализация Мёрклова дерева для лога - это просто ещё один лог (с хэшами). Крайне мало кода, никакой БД, просто написать правильные формулы.
По степени переизобретания и гордежа, эта структура данных уступает weave, но тоже неплохо.
👌6👍4🔥2
Вот такой вот походный сетап образовался. Ноут на подставке, клаву закрываем внешним экраном, работаем на механике. Основной экран на уровне глаз – меньше проблем с шеей. А хорошие клавиатуры на ноутах редко встречаются. Эффективность в плане площадь экрана на площадь стола близка к максимуму.
Для сравнения – полутораэкранный ноут и foldable ноут, проблемы, на мой взгляд, не решают.
Для сравнения – полутораэкранный ноут и foldable ноут, проблемы, на мой взгляд, не решают.
👍9🤔1🤮1
# Code is hypertext, IDE is a browser
Спасибо Сергею Булгакову, выкладываю своё выступление на внутренней конфе JetBrains весной 2018. Качество звука ещё хуже, чем качество доклада, а вот картинки порассматривать можно.
На тот момент в JetBrains есть что-то около трёх проектов сетевого IDE:
уже почти продуктовый Datalore Костика и Ко, X-серверо-подобная сетевизация IDEA от Жемерова, и проект Зайцева. Ну и ваш покорный слуга со своими идеями тоже затесался тогда в эти ряды.
В чём смысл сетевого IDE? Ну, очень просто. Во-первых, проекты стали сильно большими и всё править, индексировать, билдить и отлаживать на лаптопе разработчика становится уже сложновато. Кроме того, разрастаются команды разработчиков и весь процесс становится всё более коллаборативным. Соответственно, возникает вопрос, как делать сетевую IDE - нужна целостная концепция.
Моя точка зрения была примерно такая: требуется сетевая система контроля версий, работающая в реальном времени. Она должна крутиться в ядре IDE и принимать/отправлять/синхронизировать данные между разными частями системы. Как код, так и различные аннотации, так и задачи, и прочее разное.
Единственная заминка, что сейчас подходящей системы нет (а в 2018 тем более), хотя её основные принципы в CRDT сообществе обсуждаются уже лет 10. Такая система контроля версий должна позволять, в том числе, бранчи - оверлеи. В том плане, что в отдельные бранчи кладётся не только код но и, например, аннотации к коду. Где-то на сервере крутится демон, разбирает и аннотирует код, мы подключаем бранч - видим аннотации, отключаем - не видим. Код и данные для этого имеют адресацию, устойчивую к изменениям, так что можно строить граф данных, а не только версионировать текст. Ну и внутри всё на CRDT структурах данных, чтобы работал конкурентный доступ. Идиллия, только реализовать сложновато. Очень непохоже на то, как раньше писали - и накопленные за десятилетия трюки и тулзы поэтому не работают.
Получается скорее даже не собственно система контоля версий, а система синхронизации данных самого общего назначения. В которой мёржится всё со всем. "Смёржить, но не смешивать. Бонд, Джеймс Бонд." Это всё довольно нетривиальная задача, хотя, повторяю, эта тема лет 10 обсуждается в сообществе, а основные примитивы придуманы в конце 70-х. Но, я тут уже приводил статистику, сколько строк кода есть в git — как в среднего размера базе данных. При очень базовом наборе функций и идеально простой модели. Для CRDT пока сколько кода не написано увы. Но пишется потихоньку.
Сетевое IDE JetBrains, которое сейчас в бете, преследует гораздо более скромные цели - коллаборативная работа, если потребуется, нескольких участников на хорошем интернете. Синхронизация данных там от Зайцева, и сделана в идеологии Datomic/Datascript, триплетами. В notion и его клонах, кстати, так же сделано. Кое-кем из здесь присутствующих. Есть кстати ликбез по подходу от ещё одного кложуриста - Брагилевского. Вот собственно всех российских кложуристов я и упомянул в этом посте, да и те уже уехали все.
В общем, четыре года прошло, прогресс есть, счастья пока нет.
Спасибо Сергею Булгакову, выкладываю своё выступление на внутренней конфе JetBrains весной 2018. Качество звука ещё хуже, чем качество доклада, а вот картинки порассматривать можно.
На тот момент в JetBrains есть что-то около трёх проектов сетевого IDE:
уже почти продуктовый Datalore Костика и Ко, X-серверо-подобная сетевизация IDEA от Жемерова, и проект Зайцева. Ну и ваш покорный слуга со своими идеями тоже затесался тогда в эти ряды.
В чём смысл сетевого IDE? Ну, очень просто. Во-первых, проекты стали сильно большими и всё править, индексировать, билдить и отлаживать на лаптопе разработчика становится уже сложновато. Кроме того, разрастаются команды разработчиков и весь процесс становится всё более коллаборативным. Соответственно, возникает вопрос, как делать сетевую IDE - нужна целостная концепция.
Моя точка зрения была примерно такая: требуется сетевая система контроля версий, работающая в реальном времени. Она должна крутиться в ядре IDE и принимать/отправлять/синхронизировать данные между разными частями системы. Как код, так и различные аннотации, так и задачи, и прочее разное.
Единственная заминка, что сейчас подходящей системы нет (а в 2018 тем более), хотя её основные принципы в CRDT сообществе обсуждаются уже лет 10. Такая система контроля версий должна позволять, в том числе, бранчи - оверлеи. В том плане, что в отдельные бранчи кладётся не только код но и, например, аннотации к коду. Где-то на сервере крутится демон, разбирает и аннотирует код, мы подключаем бранч - видим аннотации, отключаем - не видим. Код и данные для этого имеют адресацию, устойчивую к изменениям, так что можно строить граф данных, а не только версионировать текст. Ну и внутри всё на CRDT структурах данных, чтобы работал конкурентный доступ. Идиллия, только реализовать сложновато. Очень непохоже на то, как раньше писали - и накопленные за десятилетия трюки и тулзы поэтому не работают.
Получается скорее даже не собственно система контоля версий, а система синхронизации данных самого общего назначения. В которой мёржится всё со всем. "Смёржить, но не смешивать. Бонд, Джеймс Бонд." Это всё довольно нетривиальная задача, хотя, повторяю, эта тема лет 10 обсуждается в сообществе, а основные примитивы придуманы в конце 70-х. Но, я тут уже приводил статистику, сколько строк кода есть в git — как в среднего размера базе данных. При очень базовом наборе функций и идеально простой модели. Для CRDT пока сколько кода не написано увы. Но пишется потихоньку.
Сетевое IDE JetBrains, которое сейчас в бете, преследует гораздо более скромные цели - коллаборативная работа, если потребуется, нескольких участников на хорошем интернете. Синхронизация данных там от Зайцева, и сделана в идеологии Datomic/Datascript, триплетами. В notion и его клонах, кстати, так же сделано. Кое-кем из здесь присутствующих. Есть кстати ликбез по подходу от ещё одного кложуриста - Брагилевского. Вот собственно всех российских кложуристов я и упомянул в этом посте, да и те уже уехали все.
В общем, четыре года прошло, прогресс есть, счастья пока нет.
The JetBrains Blog
Fleet | The Fleet Blog
Fleet Archive | The JetBrains Blog
👍9👎2❤1🥱1
Идея ноутбука-ширмы из 4х плоскостей меня вот так вот сильно заинтриговала. Это скорее получается "рабочая станция" с разными форматами использования.
P.S. Не, скреплять это всё намертво смысла нет. Гораздо веселей - возможность использовать планшет, как дополнительный экран через USB-C и какие-то крепления дополнительные, чтобы это всё сцеплять в произвольных комбинациях.
P.S. Не, скреплять это всё намертво смысла нет. Гораздо веселей - возможность использовать планшет, как дополнительный экран через USB-C и какие-то крепления дополнительные, чтобы это всё сцеплять в произвольных комбинациях.
😐3❤1🤓1
Цифровой рубль всё-таки на блокчейне сделали, по данным Коммерсанта. Лично мне такой выбор непонятен. Что блокчейн per se не масштабируется толком (даже без PoW) известно с момента изобретения.
P.S. В официальной презе деталей мало
P.S. В официальной презе деталей мало
❤1👍1
У кого мало развита паранойя - советую на ночь читать статьи Мордехая Гури про эксфильстрацию данных из air-gapped компьютеров. То есть, беспроводной карты нет, провода нет, передаём данные всякими интересными способами:. Например, создавая нагрузку на RAM, наводим электромагнитные колебания на частоте WiFi и так отправляем данные на близлежащее оборудование с WiFi модулем (смартфон, раутер).
Примерно так же можно и через GSM. Основная сложность таких методов - низкая пропускная способность и малая эффективная дистанция, но если у вас в кармане всегда смартфон, то проблем никаких нет, получается.
Это всё и объясняет паранойю криптанов, которые покупают за наличку свежий ноут, арендуют машину и делают свои крипто-дела в пустыне, на скорости не менее 100кмч.
P.S. по ссылке есть видео демонстраций
Примерно так же можно и через GSM. Основная сложность таких методов - низкая пропускная способность и малая эффективная дистанция, но если у вас в кармане всегда смартфон, то проблем никаких нет, получается.
Это всё и объясняет паранойю криптанов, которые покупают за наличку свежий ноут, арендуют машину и делают свои крипто-дела в пустыне, на скорости не менее 100кмч.
P.S. по ссылке есть видео демонстраций
YouTube
Air-Fi: Generating Covert Wi-Fi Signals from Air-Gapped Computers
By Mordechai Guri
paper: https://www.covertchannels.com
https://arxiv.org/abs/2012.06884
paper: https://www.covertchannels.com
https://arxiv.org/abs/2012.06884
👍4🤔3
Вот немного на тему, про которую я частенько высказывался - миграция git на SHA-256 отменилась сама собой. Эффект понятный: поскольку SHA-1 хэши используются в качестве идентификаторов, на них завязано довольно много кода. Сам по себе git довольно большая система, но некий доброволец brian m. carlson по видимому проделал эту неблагодарную работу - везде сделал код переключаемым на SHA-256.
Но неразрешимая проблема в том, что множество других систем (напр GitHub) интегрируются с git и количество кода в них - необозримо. Кто это всё вызовется мигрировать? Лес рук 😂
Поэтому, git остаётся со штопаной версией SHA-1 на обозримую перспективу (навсегда).
Какой из этого вывод интересный? Становится очевидно, что git это не приложение, а сеть. Не codebase, а protocol. И управляется законами сетей. Нельзя тут просто переписать и выпустить версию 2.0. Посмотрите на IPv6, его уже 30 лет выпускают, а прогресс крайне скромный.
Как можно решить проблему с продырявливанием крипто - я рассказывал в докладе про RON. Крипто должно быть отдельным слоем, заменяемым. Это немножко портит концептуальную чистоту в том плане, что хэш это true name of the data. Но как имя хэш имеет слишком много недостатков.
Но неразрешимая проблема в том, что множество других систем (напр GitHub) интегрируются с git и количество кода в них - необозримо. Кто это всё вызовется мигрировать? Лес рук 😂
Поэтому, git остаётся со штопаной версией SHA-1 на обозримую перспективу (навсегда).
Какой из этого вывод интересный? Становится очевидно, что git это не приложение, а сеть. Не codebase, а protocol. И управляется законами сетей. Нельзя тут просто переписать и выпустить версию 2.0. Посмотрите на IPv6, его уже 30 лет выпускают, а прогресс крайне скромный.
Как можно решить проблему с продырявливанием крипто - я рассказывал в докладе про RON. Крипто должно быть отдельным слоем, заменяемым. Это немножко портит концептуальную чистоту в том плане, что хэш это true name of the data. Но как имя хэш имеет слишком много недостатков.
LWN.net
Whatever happened to SHA-256 support in Git?
The news has been proclaimed loudly and often: the SHA-1 hash algorithm is terminally broken an [...]
👍16❤1
Когда Россией была испытана первая подводная лодка, стреляющая ракетами?
Anonymous Poll
9%
при Л.И.Брежневе в 1967
31%
при Н.С.Хрущёве в 1958
10%
при В.И.Ленине в 1921
18%
при Николае II в 1908
10%
при Николае I в 1834
21%
при Борисе Годунове
😐4🤔1
К слову про то, как формируется технологический задел. На Николая I Палкина никто и не подумал, а между тем, именно при нём ген. К.А.Шильдером были созданы три прототипа подводной лодки, вооружённой ракетами.
Недавно прочитал у ASML, что их задел в EUV литографии растёт из работ советских учёных в 70-х. Подумал, что позабористей знаю историю.
Недавно прочитал у ASML, что их задел в EUV литографии растёт из работ советских учёных в 70-х. Подумал, что позабористей знаю историю.
🤔2❤1👍1🤯1
Помню у кого-то из позднесоветских фантастов, в одном из миров будущего, медиа-система планеты бесконечно вещает поток автоматически сгенерированных боевиков и детективов. Что ж, мы уже близко к этому. Больше скажу - и пропаганду можно вещать, кастомизированную под пользователя. Facebook вот пытался, вроде неплохо получалось, устраивать пользователям filter bubbles. Но там контент от пользователей раздували/прикручивали. Всё-таки пользователи были нужны (disclaimer: мой твиттер аккаунт получил перманентный хэллбан во время выборов Трамп-Байден).
А с нейронками, можно будет и без пользователей engagement организовать хороший.
А с нейронками, можно будет и без пользователей engagement организовать хороший.