Вот такой вот походный сетап образовался. Ноут на подставке, клаву закрываем внешним экраном, работаем на механике. Основной экран на уровне глаз – меньше проблем с шеей. А хорошие клавиатуры на ноутах редко встречаются. Эффективность в плане площадь экрана на площадь стола близка к максимуму.
Для сравнения – полутораэкранный ноут и 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 организовать хороший.