Who let the dogs out? Yaff!
Если вам надоело греть воздух десериализацией протобуфов, а переписывать все ради FlatBuffers нет сил, этот пост для вас. Недавно Яндекс выложил в опенсорс исходники YaFF (Yet another Flat Format) - альтернативного wire формата для Protobuf, поддерживающего zero‑copy чтение.
Для сильных духом есть статья на хабре - там автор рассказывает буквально всю подноготную и объясняет, почему иного пути нет. Но, вкратце, несколько важных тезисов таковы:
• постоянная трансляция данных между хранилищем, рантаймом и аналитикой - дорого и неудобно (куча конвертеров и цпу-баунд операций);
• нельзя забывать про эволюцию форматов ("добавить полюшко" превращается в кросс‑командный квест);
• FlatBuffers - это не Protobuf без десериализации (нужно синхронизировать схемы, разные api, ручное перекладывание полей);
• источником истины остаётся обычный.proto‑файл, интерфейсная и шаблонная совместимость с Protobuf (дешевое внедрение);
• несколько стратегий хранения - flat layout для плотных данных, sparse layout для разреженных, dynamic сам подбирает оптимальный вариант;
Мы привыкли воспринимать Protobuf‑экосистему как монолит: proto‑схема, wire format и парсинг. YaFF разделяет эти слои. Схемы остаются контрактом между командами и сервисами, а Protobuf‑like API остается привычным интерфейсом для разработчика. Сериализованное представление становится отдельным бэкендом, который можно выбирать под конкретную нагрузку. Это ли не чудо?
Если вам надоело греть воздух десериализацией протобуфов, а переписывать все ради FlatBuffers нет сил, этот пост для вас. Недавно Яндекс выложил в опенсорс исходники YaFF (Yet another Flat Format) - альтернативного wire формата для Protobuf, поддерживающего zero‑copy чтение.
Для сильных духом есть статья на хабре - там автор рассказывает буквально всю подноготную и объясняет, почему иного пути нет. Но, вкратце, несколько важных тезисов таковы:
• постоянная трансляция данных между хранилищем, рантаймом и аналитикой - дорого и неудобно (куча конвертеров и цпу-баунд операций);
• нельзя забывать про эволюцию форматов ("добавить полюшко" превращается в кросс‑командный квест);
• FlatBuffers - это не Protobuf без десериализации (нужно синхронизировать схемы, разные api, ручное перекладывание полей);
• источником истины остаётся обычный.proto‑файл, интерфейсная и шаблонная совместимость с Protobuf (дешевое внедрение);
• несколько стратегий хранения - flat layout для плотных данных, sparse layout для разреженных, dynamic сам подбирает оптимальный вариант;
Мы привыкли воспринимать Protobuf‑экосистему как монолит: proto‑схема, wire format и парсинг. YaFF разделяет эти слои. Схемы остаются контрактом между командами и сервисами, а Protobuf‑like API остается привычным интерфейсом для разработчика. Сериализованное представление становится отдельным бэкендом, который можно выбирать под конкретную нагрузку. Это ли не чудо?
🔥9❤1 1
Моя прекрасная леди
Когда я выставил Мышь в продажу, пытливый читатель мог догадаться, что на смену ей должно прийти что-то интересное. Не буду же я все лето на рэндже ездить. К тому же, я уже тизерил свои терзания в конце обзора на UMO 5. Не буду томить - все же Зетка. Nissan 370Z, на востоке известная как Fairlady Z (Z34), заняла достойное место на парковке и уже дарит мне удовольствие вёдрами.
Сама машина, надо сказать, вовсе не ведро. В том плане, что после постройки бэхи я решил сделать паузу вкорчестроении проектной деятельности. Потому, пожалуй, от сильвии пока и отказался - там то точно не получилось бы просто купить и кататься. Зетка свежая (2019), стоковая (кстати, редкость) и исправная (как минимум в сервисе я еще не был, но и повода она не дает).
При этом она полностью наследует дух старой школы. От 350Z она отличается мало (как, впрочем, и от новой 400Z - там вообще кости те же, только навесные элементы отличаются, так что при желании можно вовсе переодеть 370 под 400). Короткая база, задний привод, механика (must), небольшой вес, дерзкий нрав.
Машина довольно нервная, и мне это нравится. Мощности VQ37 в 336 л.с. ей вполне хватает, чтобы шлифовать до третьей посуху, ровная атмо-тяга доступна в широком диапазоне. Реакции быстрые и точные, моментальные отклики на газ, острая рулежка, четкий шифтер - что еще для счастья надо? Пожалуй, только масса подводит. Как минимум, потому что я подсознательно сравниваю зетку с MX-5, на которой я откатал прошлое лето и неохотно продал осенью. Мазда на треть легче, и это делает огромную разницу. На зетке нет-нет, да и чувствуешь, как она пытается свалить наружу поворота.
Но даже когда она расширяет траекторию, под газом она это делает достаточно деликатно и прогнозируемо - нет жесткого андерстира, да и волчком она не пытается пуститься. Стабилизация, к слову, настроена тоже игриво-адекватно - позволяет устроить небольшую шалость, но в какой-то момент все же возвращает тебя на путь истинный. Контролится машина легко и понятно. Сразу ясно, почему этот кузов так полюбили в дрифте от любительских серий до gp.
В обычной эксплуатации машина остается достаточно человечной. Не вытрясает душу, сидеть удобно, специальных навыков не требует (разве что кевларовая накладка диска сцепления требует особой деликатности, чтобы ехать плавно). Хотя на дальние поездки все равно тяжеловато - в городе механика утомляет, а на трассе очень шумно - изоляцию в нее положить забыли.
В завершение отмечу, что это один из самых красивых кузовов современности. Даже не спорьте. Однако, у моего экземпляра есть один недостаток - он черный. Но мы это исправим. Поэтому сейчас она уже в студии в разобранном состоянии. Но кроме очевидного, будет еще лютый кастом, требующий проектирования и нетривиальных работ по металлу. Сгораю от нетерпения.
Когда я выставил Мышь в продажу, пытливый читатель мог догадаться, что на смену ей должно прийти что-то интересное. Не буду же я все лето на рэндже ездить. К тому же, я уже тизерил свои терзания в конце обзора на UMO 5. Не буду томить - все же Зетка. Nissan 370Z, на востоке известная как Fairlady Z (Z34), заняла достойное место на парковке и уже дарит мне удовольствие вёдрами.
Сама машина, надо сказать, вовсе не ведро. В том плане, что после постройки бэхи я решил сделать паузу в
При этом она полностью наследует дух старой школы. От 350Z она отличается мало (как, впрочем, и от новой 400Z - там вообще кости те же, только навесные элементы отличаются, так что при желании можно вовсе переодеть 370 под 400). Короткая база, задний привод, механика (must), небольшой вес, дерзкий нрав.
Машина довольно нервная, и мне это нравится. Мощности VQ37 в 336 л.с. ей вполне хватает, чтобы шлифовать до третьей посуху, ровная атмо-тяга доступна в широком диапазоне. Реакции быстрые и точные, моментальные отклики на газ, острая рулежка, четкий шифтер - что еще для счастья надо? Пожалуй, только масса подводит. Как минимум, потому что я подсознательно сравниваю зетку с MX-5, на которой я откатал прошлое лето и неохотно продал осенью. Мазда на треть легче, и это делает огромную разницу. На зетке нет-нет, да и чувствуешь, как она пытается свалить наружу поворота.
Но даже когда она расширяет траекторию, под газом она это делает достаточно деликатно и прогнозируемо - нет жесткого андерстира, да и волчком она не пытается пуститься. Стабилизация, к слову, настроена тоже игриво-адекватно - позволяет устроить небольшую шалость, но в какой-то момент все же возвращает тебя на путь истинный. Контролится машина легко и понятно. Сразу ясно, почему этот кузов так полюбили в дрифте от любительских серий до gp.
В обычной эксплуатации машина остается достаточно человечной. Не вытрясает душу, сидеть удобно, специальных навыков не требует (разве что кевларовая накладка диска сцепления требует особой деликатности, чтобы ехать плавно). Хотя на дальние поездки все равно тяжеловато - в городе механика утомляет, а на трассе очень шумно - изоляцию в нее положить забыли.
В завершение отмечу, что это один из самых красивых кузовов современности. Даже не спорьте. Однако, у моего экземпляра есть один недостаток - он черный. Но мы это исправим. Поэтому сейчас она уже в студии в разобранном состоянии. Но кроме очевидного, будет еще лютый кастом, требующий проектирования и нетривиальных работ по металлу. Сгораю от нетерпения.
🔥18👏2🏆1 1
Моя нарядная леди
Нет сил ждать - покажу вам незавершенный, но уже близкий к финальному вариант оклейки. Леди приоделась - был придуман, отрисован, распечатан и оклеен вариант ливреи в стилистике retro jdm.
Занимательный факт - в создании этого дизайна принимали участие нейросети. Когда я пришел в студию детейлинга и обрисовал на пальцах мои пожелания, ребята уже через пару дней выкатили мне вариантов 20 самых разных дизайнов, треть из которых были очень даже ничего. Я, конечно, удивился такой прыти, но виду не подал. А вот оно что, оказывается - все они были нарисованы нейронками! Штош, для пристрелочного отбора пойдет.
Выбрал я, значит, один из вариантов, ребята пошли к настоящему дизайнеру, который уже нормально это все отрисует для настоящего макета под печать на виниле. Конечно же, дизайнер не станет перерисовывать ИИ-шную картинку в лоб, он обязательно добвавит свое авторское видение. И каково же было мое удивление, когда первые 4 итерации работы дизайнера нравились мне меньше, чем ИИ-шный исходник! Притом дизайнер-то хороший, и решения его понятны, но все равно не то. Лишь с пятой попытки получилось то, что надо. И, кстати, в некоторых деталях - то, до чего нейронка не догадалась.
По-моему, получилось отлично. Еще будет переделываться задний бампер, там с градиентом напутали немного, но это абсолютно рабочий момент. Быстро только кошки родятся. И впереди еще одно лютейшее изменение в облике машины, которое надеюсь показать через полторы-две недели. А по технике там и так полный порядок, "зетка валит и рулится" (с) Аркадий.
Нет сил ждать - покажу вам незавершенный, но уже близкий к финальному вариант оклейки. Леди приоделась - был придуман, отрисован, распечатан и оклеен вариант ливреи в стилистике retro jdm.
Занимательный факт - в создании этого дизайна принимали участие нейросети. Когда я пришел в студию детейлинга и обрисовал на пальцах мои пожелания, ребята уже через пару дней выкатили мне вариантов 20 самых разных дизайнов, треть из которых были очень даже ничего. Я, конечно, удивился такой прыти, но виду не подал. А вот оно что, оказывается - все они были нарисованы нейронками! Штош, для пристрелочного отбора пойдет.
Выбрал я, значит, один из вариантов, ребята пошли к настоящему дизайнеру, который уже нормально это все отрисует для настоящего макета под печать на виниле. Конечно же, дизайнер не станет перерисовывать ИИ-шную картинку в лоб, он обязательно добвавит свое авторское видение. И каково же было мое удивление, когда первые 4 итерации работы дизайнера нравились мне меньше, чем ИИ-шный исходник! Притом дизайнер-то хороший, и решения его понятны, но все равно не то. Лишь с пятой попытки получилось то, что надо. И, кстати, в некоторых деталях - то, до чего нейронка не догадалась.
По-моему, получилось отлично. Еще будет переделываться задний бампер, там с градиентом напутали немного, но это абсолютно рабочий момент. Быстро только кошки родятся. И впереди еще одно лютейшее изменение в облике машины, которое надеюсь показать через полторы-две недели. А по технике там и так полный порядок, "зетка валит и рулится" (с) Аркадий.
🔥32👍2
Накопилось много постов, пора сделать очередной дайджест для упрощения навигации. Если вы присоединились к каналу недавно - это также повод почитать старое. И напомню, что канал мотивирован только вашим вниманием, так что делитесь им с друзьями-коллегами, ставьте комментарии, пишите лайки, а то я подумаю, что вам тут не интересно.
Вот что происходило на этом канале в последние пару месяцев:
Важный дисклеймер (есть в закрепе)
Предыдущий дайджест
Рабочее:
Выберите все изображения, где есть девятки
Магия вне Хогвардса, или Дед вайбкодит, pt.2
Как собрать все грабли за 2 часа
"Где мои деньги, Лебовски?"
Недостижимый идеал
- Тук-тук! - Кто там? - Рободоставка
Нечеловеческий фактор
Робо-Лавка
Робо-РЦ
Околорабочее:
Для тех, кто в танке
Stack overflow IRL
"Это не ошибка. Это эволюция" (с) доктор Айзекс
Отвечаем на вопросы подписчиков вместе с Городскими сервисами Яндекса
Такая аргументация
Только в профиль
Новая валюта
Who let the dogs out? Yaff!
Про тачки:
Мы строили-строили и, наконец, построили!
Ха-пятый
Моя прекрасная леди
Моя нарядная леди
Лайфстайл:
Джаз-фанк?
Перемножение рисков
In the grey
🎂
Нижний
Путешествия:
Екатеринбург
Верхняя Пышма
Челябинск
Таганай и Тургояк
Ай
Уфа
Пермь
Подписаться - https://t.me/vit_ded
Веб-версия - https://tg-vit-ded.github.io/tg-to-gh-pages/
RSS - https://tg-vit-ded.github.io/tg-to-gh-pages/feed.xml
atom - https://tg-vit-ded.github.io/tg-to-gh-pages/atom.xml
Вот что происходило на этом канале в последние пару месяцев:
Важный дисклеймер (есть в закрепе)
Предыдущий дайджест
Рабочее:
Выберите все изображения, где есть девятки
Магия вне Хогвардса, или Дед вайбкодит, pt.2
Как собрать все грабли за 2 часа
"Где мои деньги, Лебовски?"
Недостижимый идеал
- Тук-тук! - Кто там? - Рободоставка
Нечеловеческий фактор
Робо-Лавка
Робо-РЦ
Околорабочее:
Для тех, кто в танке
Stack overflow IRL
"Это не ошибка. Это эволюция" (с) доктор Айзекс
Отвечаем на вопросы подписчиков вместе с Городскими сервисами Яндекса
Такая аргументация
Только в профиль
Новая валюта
Who let the dogs out? Yaff!
Про тачки:
Мы строили-строили и, наконец, построили!
Ха-пятый
Моя прекрасная леди
Моя нарядная леди
Лайфстайл:
Джаз-фанк?
Перемножение рисков
In the grey
🎂
Нижний
Путешествия:
Екатеринбург
Верхняя Пышма
Челябинск
Таганай и Тургояк
Ай
Уфа
Пермь
Подписаться - https://t.me/vit_ded
Веб-версия - https://tg-vit-ded.github.io/tg-to-gh-pages/
RSS - https://tg-vit-ded.github.io/tg-to-gh-pages/feed.xml
atom - https://tg-vit-ded.github.io/tg-to-gh-pages/atom.xml
Telegram
Ворчливый IT-дед
И на всякий случай давайте договоримся - не воспринимайте написанное в этой колонке буквально и близко к сердцу. Автор не претендует на истину в последней инстанции и не преследует цели кого-то задеть или оскорбить. Некоторые идеи могут быть в иллюстративных…
👍5
Стремление к идеалу
Хочется вернуться к обсуждению решения изобретательских задач. Когда мозговой штурм переходит в мозговую осаду, так как заходит в тупик, нужен какой-то алгоритм действий. Понимание законов, которым подчиняется развитие любых технических систем. Тут снова помогает ТРИЗ. Но сначала еще несколько мыслей про саму постановку задачи.
Начнем с того, что нельзя принимать на веру формулировку, в которой предлагают задачу. Там может крыться сразу клубок проблем. А на самом деле всегда должна быть одна центральная проблема. И порой в начальной формулировке ее даже не было. Нужно сначала докопаться до сути противоречия. Потому что изобретение - это в первую очередь преодоление противоречий. Впрочем, не всегда - в задачах выстшей степени сложности противоречий нет, так как нет прототипа, не удовлетворяющего задаче - нужно творить с нуля.
Есть интересный подход - перевести ситуацию в максимальную и минимальную задачи. Схема макси-задачи: требуется принципиально новая техническая система. Схема мини-задачи: нужно сохранить существующую систему, но обеспечить недостающее свойство минимальными изменениями имеющейся системы (и, порой, это оказывается сложнее макси-задачи). Сформулировав задачу в таких двух парадигмах может стать легче выбрать верный путь решения.
В любом случае нужно первым делом локализовать техническое или физическое противоречие, обострить конфликт свойств или состояний системы. Далее - сначала попытаться устранить источник зла, а потом, если не удастся, начать борьбу с ним. А для этого нужно повышать степень идеальности системы - если изменение не повышает ее, вы идете не туда.
В основе ТРИЗ - закономерности развития технических систем, "обученные" на базе всевозможных патентов и авторских свидетельств, подтверждающих эти закономерности. Например, закон увеличения степени динамичности. Все жесткое - сделать гибким. Почти как в старой поговорке - "если не двигается, а должно - смазать вэдэшкой; если двигается, а не должно - замотать серым скотчем".
Формула победы - максимальное переиспользование даровых вещественно-полевых ресурсов для приближения к идеальному конечному результату. Часто для этого нужно добавить управляющее воздействие. Например, с помощью модели веполей, когда вспомогательное вещество (скажем, ферропорошок) позволяет воздействовать на исходный объект с помощью поля (в нашем примере - магнитного).
Развитие технический систем идет в направлении увеличения управляемости (вепольности) и увеличения степени дробления (дисперсности) рабочих органов. Про дисперсность есть хорошая иллюстрация.
Рассмотрим старую технологию изготовления листового стекла. Раскаленная стеклянная лента поступает на роликовый конвейер. Передвигаясь по конвейеру, лента выравнивается, охлаждается и застывает. Качество поверхности зависит от расстояния между роликами, то есть от диаметра роликов. Как радикально уменьшить диаметр роликов? Довести до абсурда - самые маленькие ролики это атомы. Куча атомов-шариков. Нужна "ванна" с расплавленным металлом с низкой температурой плавления, например олово. Идеальные ролики - это когда роликов нет. А если через расплав пропустить ток и действовать на него при этом электромагнитным полем, можно еще и управлять формой поверхности расплава, а следовательно - формой стеклянного листа. Сейчас почти все листовое стекло производят именно так, это называется флоат-метод.
Хочется вернуться к обсуждению решения изобретательских задач. Когда мозговой штурм переходит в мозговую осаду, так как заходит в тупик, нужен какой-то алгоритм действий. Понимание законов, которым подчиняется развитие любых технических систем. Тут снова помогает ТРИЗ. Но сначала еще несколько мыслей про саму постановку задачи.
Начнем с того, что нельзя принимать на веру формулировку, в которой предлагают задачу. Там может крыться сразу клубок проблем. А на самом деле всегда должна быть одна центральная проблема. И порой в начальной формулировке ее даже не было. Нужно сначала докопаться до сути противоречия. Потому что изобретение - это в первую очередь преодоление противоречий. Впрочем, не всегда - в задачах выстшей степени сложности противоречий нет, так как нет прототипа, не удовлетворяющего задаче - нужно творить с нуля.
Есть интересный подход - перевести ситуацию в максимальную и минимальную задачи. Схема макси-задачи: требуется принципиально новая техническая система. Схема мини-задачи: нужно сохранить существующую систему, но обеспечить недостающее свойство минимальными изменениями имеющейся системы (и, порой, это оказывается сложнее макси-задачи). Сформулировав задачу в таких двух парадигмах может стать легче выбрать верный путь решения.
В любом случае нужно первым делом локализовать техническое или физическое противоречие, обострить конфликт свойств или состояний системы. Далее - сначала попытаться устранить источник зла, а потом, если не удастся, начать борьбу с ним. А для этого нужно повышать степень идеальности системы - если изменение не повышает ее, вы идете не туда.
В основе ТРИЗ - закономерности развития технических систем, "обученные" на базе всевозможных патентов и авторских свидетельств, подтверждающих эти закономерности. Например, закон увеличения степени динамичности. Все жесткое - сделать гибким. Почти как в старой поговорке - "если не двигается, а должно - смазать вэдэшкой; если двигается, а не должно - замотать серым скотчем".
Формула победы - максимальное переиспользование даровых вещественно-полевых ресурсов для приближения к идеальному конечному результату. Часто для этого нужно добавить управляющее воздействие. Например, с помощью модели веполей, когда вспомогательное вещество (скажем, ферропорошок) позволяет воздействовать на исходный объект с помощью поля (в нашем примере - магнитного).
Развитие технический систем идет в направлении увеличения управляемости (вепольности) и увеличения степени дробления (дисперсности) рабочих органов. Про дисперсность есть хорошая иллюстрация.
Рассмотрим старую технологию изготовления листового стекла. Раскаленная стеклянная лента поступает на роликовый конвейер. Передвигаясь по конвейеру, лента выравнивается, охлаждается и застывает. Качество поверхности зависит от расстояния между роликами, то есть от диаметра роликов. Как радикально уменьшить диаметр роликов? Довести до абсурда - самые маленькие ролики это атомы. Куча атомов-шариков. Нужна "ванна" с расплавленным металлом с низкой температурой плавления, например олово. Идеальные ролики - это когда роликов нет. А если через расплав пропустить ток и действовать на него при этом электромагнитным полем, можно еще и управлять формой поверхности расплава, а следовательно - формой стеклянного листа. Сейчас почти все листовое стекло производят именно так, это называется флоат-метод.
👍5🔥1🤔1🤯1
Увидимся!
Если сегодняшним вечером вам решительно нечем себя занять, приглашаю вас на встречу подписчиков. 16.07 с 21:00 до 23:00 жду вас в зуме - https://yandex.zoom.us/j/94335448816?pwd=naJznv9AsqeOXHkw8b34EdyzZUnwpJ.1
Серьезные обсуждения новейших моделей, харнесс-инжиниринга, мультимодального ИИ, оркестрации агентов - всего этого не будет.
Будем пить чай, болтать про жизнь, тачки, путешествия, но и немного про современную разработку и архитектуру.
Отвечу на любые ваши вопросы (но не факт, что честно), поделюсь парой интересных рецептов "чая".
На иллюстрации, если что, реальный скрин зум-посиделок с коллегами из ковидного 2020. Даже в темные времена важно оставаться на связи с близкими, благо технологии позволяют.
Если сегодняшним вечером вам решительно нечем себя занять, приглашаю вас на встречу подписчиков. 16.07 с 21:00 до 23:00 жду вас в зуме - https://yandex.zoom.us/j/94335448816?pwd=naJznv9AsqeOXHkw8b34EdyzZUnwpJ.1
Серьезные обсуждения новейших моделей, харнесс-инжиниринга, мультимодального ИИ, оркестрации агентов - всего этого не будет.
Будем пить чай, болтать про жизнь, тачки, путешествия, но и немного про современную разработку и архитектуру.
Отвечу на любые ваши вопросы (но не факт, что честно), поделюсь парой интересных рецептов "чая".
На иллюстрации, если что, реальный скрин зум-посиделок с коллегами из ковидного 2020. Даже в темные времена важно оставаться на связи с близкими, благо технологии позволяют.
👍7🤔1🗿1 1
Плечом к плечу
Кажется, мы стали забывать, что такое настоящая инженерная работа.
• Что меняется в стандарте С++ - почему это важно, если код за нас пишет ИИ?
• Зачем поддержка LuaJIT в ePBF-профилировщике Perforator, если можно спросить у LLM?
• Как использовать статическую рефлексию С++26 для генерации, если вы не знаете, на каком языке клод пишет ваш сервис?
• Что такое механизм отмены для С++20-корутин и каким промтом его накастовать?
• Что вы должны знать про ABI, если курс конструирования компилляторов вы проходили 17 лет назад?
Про все это и многое другое вы можете узнать на конференции Back to Back 1 августа в Москве, Белграде, Ереване и онлайн. Все подробности и регистрация тут - https://backtobackconf.ru
P.S. С удивлением нашел на сайте много знакомых лиц в разделе программного комитета. Очень крутые ребята, уверен - и конфа будет под стать.
Кажется, мы стали забывать, что такое настоящая инженерная работа.
• Что меняется в стандарте С++ - почему это важно, если код за нас пишет ИИ?
• Зачем поддержка LuaJIT в ePBF-профилировщике Perforator, если можно спросить у LLM?
• Как использовать статическую рефлексию С++26 для генерации, если вы не знаете, на каком языке клод пишет ваш сервис?
• Что такое механизм отмены для С++20-корутин и каким промтом его накастовать?
• Что вы должны знать про ABI, если курс конструирования компилляторов вы проходили 17 лет назад?
Про все это и многое другое вы можете узнать на конференции Back to Back 1 августа в Москве, Белграде, Ереване и онлайн. Все подробности и регистрация тут - https://backtobackconf.ru
P.S. С удивлением нашел на сайте много знакомых лиц в разделе программного комитета. Очень крутые ребята, уверен - и конфа будет под стать.
Рукописи не горят
Есть люди, предпочитающие на встречах делать заметки ручкой на бумажке. Окей, их право, но я такой подход не разделяю, потому что контент понятен, и все равно потом нужно переносить в цифру. А вот с более "творческими" задачами дела обстоят иначе.
На днях сидел, придумывал схему безопасного обмена сообщениями между устройствами без интернет-соединения. Мучал мирошку, не выходило, мысль была ограничена вью-портом, и паззл не складывался. По совпадению в этот момент на столе лежало несколько листов бумаги и карандаш. Начал рисовать рукой - и вскоре схема была готова. Затрудняюсь это объяснить научно, но пошло однозначно легче. Потом, правда, все равно пришлось переносить обратно в мирошку, чтобы поделиться с коллегами.
Это работает и для коллективных брейнштормов у маркерной стены/доски. Почему-то всегда получается хоть и некрасиво, но намного наглядней, чем в миро/drawio. Но - только пока ты на нее смотришь. Ты, конечно, в конце встречи сфотографировал стену перед тем, как стереть, но через пару дней, даже если ты случайно вернулся к этой фотографии, она внезапно перестает быть такой говорящей и самопонятной. Магия, не иначе.
Кстати, если вы знаете какой-то инструмент для превращения фотографии рисунка на маркерной стене в миро (не картинкой, а прям редактируемой схемой) - поделитесь, пожалуйста. А если такого нет, вот вам бесплатная идея для стартапа.
Есть люди, предпочитающие на встречах делать заметки ручкой на бумажке. Окей, их право, но я такой подход не разделяю, потому что контент понятен, и все равно потом нужно переносить в цифру. А вот с более "творческими" задачами дела обстоят иначе.
На днях сидел, придумывал схему безопасного обмена сообщениями между устройствами без интернет-соединения. Мучал мирошку, не выходило, мысль была ограничена вью-портом, и паззл не складывался. По совпадению в этот момент на столе лежало несколько листов бумаги и карандаш. Начал рисовать рукой - и вскоре схема была готова. Затрудняюсь это объяснить научно, но пошло однозначно легче. Потом, правда, все равно пришлось переносить обратно в мирошку, чтобы поделиться с коллегами.
Это работает и для коллективных брейнштормов у маркерной стены/доски. Почему-то всегда получается хоть и некрасиво, но намного наглядней, чем в миро/drawio. Но - только пока ты на нее смотришь. Ты, конечно, в конце встречи сфотографировал стену перед тем, как стереть, но через пару дней, даже если ты случайно вернулся к этой фотографии, она внезапно перестает быть такой говорящей и самопонятной. Магия, не иначе.
Кстати, если вы знаете какой-то инструмент для превращения фотографии рисунка на маркерной стене в миро (не картинкой, а прям редактируемой схемой) - поделитесь, пожалуйста. А если такого нет, вот вам бесплатная идея для стартапа.
👍6
Иносказательно
Вообще умение строить аналогии и приземлять метафоры на любую предметную плоскость - полезный навык. Потому что в самых разных индустриях есть лучшие практики, которые, при должном умении переложить на свою тематику, можно переиспользовать. Приведу пару фановых примеров из текущего проекта.
Представьте себе что вам нужно телефоном отсканировать куар-код с этого же самого телефона. Что для этого потребуется? Например, зеркало. Но в качестве виртуального зеркала можно использовать второй телефон, который "отразит" изображение по какому-то другому протоколу, например - BLE. Получаем техническую концепцию "BLE-зеркала", которую можно использовать для весьма разных задач обмена информацией.
Или вот еще задачка. Есть три стороны взаимодействия - источник правды (бекенд) и два девайса: потенциально скомпрометированная сторона (назовем ее "агент") и сторона-арбитр, которой нужно принять решение без доверия агенту. На ум приходят старые добрые фильмы про шпионов. Взять того же Борна - помните сцены, где оперативник должен назвать одно из кодовых слов - "ответ в нормальной обстановке" и "ответ под принуждением"? Так и поступим - бекенд генерит два токена, заранее передает их арбитру, а в момент "контакта" сообщает агенту один из токенов, который тот транслирует арбитру. Агент не знает, какой токен он транслирует, а значит - не может сфальсифицировать нужный сигнал. Арбитр знает, какую резолюцию выбрать в зависимости от полученного токена и уверен, что агент не мог его обмануть. Профит.
В общем, фантазия (даже больная) - штука хорошая. Будем развивать.
Вообще умение строить аналогии и приземлять метафоры на любую предметную плоскость - полезный навык. Потому что в самых разных индустриях есть лучшие практики, которые, при должном умении переложить на свою тематику, можно переиспользовать. Приведу пару фановых примеров из текущего проекта.
Представьте себе что вам нужно телефоном отсканировать куар-код с этого же самого телефона. Что для этого потребуется? Например, зеркало. Но в качестве виртуального зеркала можно использовать второй телефон, который "отразит" изображение по какому-то другому протоколу, например - BLE. Получаем техническую концепцию "BLE-зеркала", которую можно использовать для весьма разных задач обмена информацией.
Или вот еще задачка. Есть три стороны взаимодействия - источник правды (бекенд) и два девайса: потенциально скомпрометированная сторона (назовем ее "агент") и сторона-арбитр, которой нужно принять решение без доверия агенту. На ум приходят старые добрые фильмы про шпионов. Взять того же Борна - помните сцены, где оперативник должен назвать одно из кодовых слов - "ответ в нормальной обстановке" и "ответ под принуждением"? Так и поступим - бекенд генерит два токена, заранее передает их арбитру, а в момент "контакта" сообщает агенту один из токенов, который тот транслирует арбитру. Агент не знает, какой токен он транслирует, а значит - не может сфальсифицировать нужный сигнал. Арбитр знает, какую резолюцию выбрать в зависимости от полученного токена и уверен, что агент не мог его обмануть. Профит.
В общем, фантазия (даже больная) - штука хорошая. Будем развивать.
👍4
Мама, я в телевизоре! =)
https://t.me/yandex/5396
(УПД: удаляю форвард сообщения и оставляю в виде ссылки, иначе из-за большого размера видоса ломается экспорт на gh pages. Жаль терять ваши реакции, но приложу их скрином в комменты)
https://t.me/yandex/5396
(УПД: удаляю форвард сообщения и оставляю в виде ссылки, иначе из-за большого размера видоса ломается экспорт на gh pages. Жаль терять ваши реакции, но приложу их скрином в комменты)
И еще одна традиция
Раз в год я готовлю плов на мангале. Почему не чаще? Очень уж муторно, чтобы получилось как надо. А надо вкусно. В том году уже писал об этом, но точный рецепт так и не привел. Зафиксируем, чтобы через год снова не искать.
1. Первым шагом нужно подготовить все ингридиенты, чтобы потом в суматохе не метаться между разделочной доской и казаном, к которому уже что-то пригорает. Рекоммендую обзавестись большой ложкой/шумовкой с ручкой 50-60см, руки скажут спасибо.
2. В казан на сильном огне налить масло, хорошо разогреть, кинуть туда целую почищенную луковицу, обжарить до золотистой корочки, достать и выкинуть. Зачем? Таинство, ритуал, иллюзия чародейства. Можно в этот момент зловеще хохотать. На вкус вряд ли повлияет, но процесс украсит.
3. А вот теперь нормальная часть с луком - три нарезанные луковицы закинуть в казан, обжарить, помешивая. Как резать и сколько жарить - не важно, все равно от лука ничего не останется.
4. Мясо. Скажем, говядина. Пожалуй, 2 кг. Порезанная кубиками ~2 см. Обжариваем до полуготовности, ну или пока не даст столько сока, что она уже не жарится, а тушится.
5. Морковь. Непременно желтая. Просто чтобы все на рынке знали, что вы будете готовить плов. Хотя разницы примерно никакой. Около килограмма, нарезать крупной соломкой. Ровно и красиво резать не обязательно, судьба у нее почти как у лука, никто уже не узнает, как вы ее нарезали. Ображить, не перемешивая, несколько минут.
6. Теперь в казан внедряем специи. Соль, барбарис, зира, кориандр. Каждого примерно по 1 столовой ложке (ну может быть кориандра чуть поменьше). Именно эта смесь делает плов пловом, а не рисом с мясом. И сверху заливаем водой, чтобы оно могло долго тушиться.
7. Вместе это - зирвак. Из-под казана стоит вытащить почти все полешки, чтобы убавить огонь до минимального. И периодически помешивая и подливая по необходимости выкипающую воду, расслабляемся часа на полтора минимум. Лучше на два.
8. Выкладываем сверху 1 кг хорошо промытого риса, заливаем сверху горячей водой через шумовку, чтобы уровень был на 2-3см выше риса. Если что, все объемы приведены исходя из того, что казан у вас 6+ литров, иначе не влезет. Добавляем огня, перемешивать ничего не нужно.
9. Когда уровень воды опустился ниже линии риса, вдавливаем в него две целых почищенных головки чеснока, убавляем огонь и продолжаем готовить, пока вся влага не выйдет. После этого дать плову отдохнуть еще минут 20 без огня, да и вы отдохните, набегались поди.
10. Охапка дров - и плов готов. Мой плов был так долгожданен, что его почти весь смели раньше, чем я вспомнил красиво сфотографировать готовый результат. Поэтому фото остатков трапезы прикладывать уже не буду, простите. Кстати, о дровах. Так как для плова нужна довольно чувствительная регулировка огня, да и под казан большие полешки не лезут, рекомендую обзавестись мелкими дощечками. Мне такие случайно попались в предложке на маркете. Позиционируются как дрова березовые, но на деле - это шлифованные дощечки, которые даже немного жалко жечь - из них хоть полочку сколотить, хоть дорожку выложить, хоть грядки обнести. Но для плова - самое то.
Приятного аппетита!
Раз в год я готовлю плов на мангале. Почему не чаще? Очень уж муторно, чтобы получилось как надо. А надо вкусно. В том году уже писал об этом, но точный рецепт так и не привел. Зафиксируем, чтобы через год снова не искать.
1. Первым шагом нужно подготовить все ингридиенты, чтобы потом в суматохе не метаться между разделочной доской и казаном, к которому уже что-то пригорает. Рекоммендую обзавестись большой ложкой/шумовкой с ручкой 50-60см, руки скажут спасибо.
2. В казан на сильном огне налить масло, хорошо разогреть, кинуть туда целую почищенную луковицу, обжарить до золотистой корочки, достать и выкинуть. Зачем? Таинство, ритуал, иллюзия чародейства. Можно в этот момент зловеще хохотать. На вкус вряд ли повлияет, но процесс украсит.
3. А вот теперь нормальная часть с луком - три нарезанные луковицы закинуть в казан, обжарить, помешивая. Как резать и сколько жарить - не важно, все равно от лука ничего не останется.
4. Мясо. Скажем, говядина. Пожалуй, 2 кг. Порезанная кубиками ~2 см. Обжариваем до полуготовности, ну или пока не даст столько сока, что она уже не жарится, а тушится.
5. Морковь. Непременно желтая. Просто чтобы все на рынке знали, что вы будете готовить плов. Хотя разницы примерно никакой. Около килограмма, нарезать крупной соломкой. Ровно и красиво резать не обязательно, судьба у нее почти как у лука, никто уже не узнает, как вы ее нарезали. Ображить, не перемешивая, несколько минут.
6. Теперь в казан внедряем специи. Соль, барбарис, зира, кориандр. Каждого примерно по 1 столовой ложке (ну может быть кориандра чуть поменьше). Именно эта смесь делает плов пловом, а не рисом с мясом. И сверху заливаем водой, чтобы оно могло долго тушиться.
7. Вместе это - зирвак. Из-под казана стоит вытащить почти все полешки, чтобы убавить огонь до минимального. И периодически помешивая и подливая по необходимости выкипающую воду, расслабляемся часа на полтора минимум. Лучше на два.
8. Выкладываем сверху 1 кг хорошо промытого риса, заливаем сверху горячей водой через шумовку, чтобы уровень был на 2-3см выше риса. Если что, все объемы приведены исходя из того, что казан у вас 6+ литров, иначе не влезет. Добавляем огня, перемешивать ничего не нужно.
9. Когда уровень воды опустился ниже линии риса, вдавливаем в него две целых почищенных головки чеснока, убавляем огонь и продолжаем готовить, пока вся влага не выйдет. После этого дать плову отдохнуть еще минут 20 без огня, да и вы отдохните, набегались поди.
10. Охапка дров - и плов готов. Мой плов был так долгожданен, что его почти весь смели раньше, чем я вспомнил красиво сфотографировать готовый результат. Поэтому фото остатков трапезы прикладывать уже не буду, простите. Кстати, о дровах. Так как для плова нужна довольно чувствительная регулировка огня, да и под казан большие полешки не лезут, рекомендую обзавестись мелкими дощечками. Мне такие случайно попались в предложке на маркете. Позиционируются как дрова березовые, но на деле - это шлифованные дощечки, которые даже немного жалко жечь - из них хоть полочку сколотить, хоть дорожку выложить, хоть грядки обнести. Но для плова - самое то.
Приятного аппетита!
🔥13❤4