В Go поработали над трэйсингом:
- Меньше оверхед. Сильно меньше
- Трэйс теперь можно разбивать на куски
- За счёт разбития трэйса на куски, теперь вполне можно flight record'ить наживую
- Ну и API, чтобы парсить трэйсы чуть более удобно
Ну кайф!
#go #performance #trace
- Меньше оверхед. Сильно меньше
- Трэйс теперь можно разбивать на куски
- За счёт разбития трэйса на куски, теперь вполне можно flight record'ить наживую
- Ну и API, чтобы парсить трэйсы чуть более удобно
Ну кайф!
#go #performance #trace
👍1🔥1
Paul Graham - How to Start Google. Эссе-выступление с фокусом на школьников о том, как начать свою компанию и что для этого нужно. Просто приятное чтиво. Ну и если пригласят выступить в родную школу, вы знаете, что делать.
#startup #school #company
#startup #school #company
🥰1
Forwarded from Empatika Design
Мне удалось поработать над App in the Air и с нуля запустить Life in the Air на российский и международный рынок. За эти годы накопился внушительный опыт работы как дизайнером так и лидом в небольших командах и я готова им делиться.
Чем я могу быть полезной: провести дизайн-ревью цифрового продукта, сайта или приложения на любом этапе - от макета и прототипа до финального продукта, а также помочь в решении спорных ситуаций между технической стороной и дизайном, которые могут возникнуть в процессе разработки. Могу рассказать о своем хорошем и не очень опыте создания дизайн команд, проблемах в коммуникации и о том, как продуктивно давать фидбэк дизайнеру.
Забронировать слот можно в @mindshare_oksana_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
Оу вау! Side-channel атака на Apple Silicon. Насколько понял: предиктивные префетчеры предполагали, какие адреса памяти скоро потребуются, и перекладывали их в CPU cache. Apple пошли дальше и если что-то в значении памяти выглядит как адрес, то его тоже префетчили. Разыменовывали указатель типа. Ну и это прямо в камешке, не особо пофиксишь. Вроде бы подвережна вся M-серия, но на M3 можно битиком этот предиктор выключить. Подробнее - по ссылке (и там сами разыменуйте GoFetch указатель). Ну, большая сила - большая ответственность, йопта. От любого нового говна стоит ожидать новых приколов, это мы с вами уже выучили.
#apple #vulnerability #cybersec
#apple #vulnerability #cybersec
👍2
Впервые наткнулся на этого чувака. Рассказывает о своём опыте, как остаться в разработке надолго, и сохранить при этом рассудок и личную жизнь. Ну или вроде того. С чем-то можно спорить, с чем-то - соглашаться, но посмотреть, думаю, стоит.
#talk #career #wellbeing
#talk #career #wellbeing
❤4
Мы тут пилим MindShare. Это такая штука, в которой можно бронировать консультации с разными умными людьми. И конечно же я не могу не пошэрить Android-эксперта.
Осип занимается Android в red_mad_robot и ведёт канал @rareilly (на который неплохо было бы подписаться!)
Если нужна помощь опытного чувака в решении проблемы, укрощении Gradle, ревью кода или просто нужен ментор - по ссылке можно забронировать консультацию с ним (ссылка с кодом, который должен дать $5 скидки).
P.S. Если чувствуете, что опыта уже достаточно, чтобы помогать другим, то подумайте, не пора ли это дело монетизировать ;) Можно написать мне или @yabramov, или просто нажать "Get this tool" тут.
#mentor #learn #android
Осип занимается Android в red_mad_robot и ведёт канал @rareilly (на который неплохо было бы подписаться!)
Если нужна помощь опытного чувака в решении проблемы, укрощении Gradle, ревью кода или просто нужен ментор - по ссылке можно забронировать консультацию с ним (ссылка с кодом, который должен дать $5 скидки).
P.S. Если чувствуете, что опыта уже достаточно, чтобы помогать другим, то подумайте, не пора ли это дело монетизировать ;) Можно написать мне или @yabramov, или просто нажать "Get this tool" тут.
#mentor #learn #android
❤4👍2
Forwarded from Авва
В мире компьютерной безопасности сегодня интересный день. Точнее, он начался вчера вечером, когда немецкий разработчик Андрес Фройнд опубликовал отчет о тайной лазейке (бэкдор), которую он обнаружил в новых версиях широко используемой библиотеки для сжатия liblzma (часть архиватора xz). Лазейка позволяет взломщикам заходить через SSH на системы, в которых установлены эти новые версии - к счастью, похоже, что это всего несколько дистрибутивов Линукса в их до-релизовых версиях.
Всех очень впечатлило, насколько эта лазейка была сделана хитро, и как взломщик или взломщики серьезно поработали над тем, чтобы замести следы:
- взломщик под именем/псевдонимом Jia Tan почти два года (!) участвовал в разработке опенсорсного пакета xz, завоевал доверие его мейнтейнеров и получил доступ к прямому коммиту в его репозиторию. Он сделал больше 700 коммитов, лишь малая часть которых медленно подготовила код для лазейки
- основной код лазейки спрятан в тестовых файлах проекта (примеры "плохих" и "хороших" архивов)
- исходный код, который включает лазейку в собственно библиотеку, вообще не является частью основной репозитории в Github. Он спрятан в тар-архивах двух последних релизов, которые обычно используются мейнтейнерами дистрибутивов. То есть есть таг релиза, есть архив, якобы собранный из репозитории в момент этого тага, но на самом деле в нем есть крохотная добавка; в самой репозитории ее нет
- эта добавка прячется в конфигурационной магии autoconf, которую все ненавидят лютой ненавистью и никто никогда не заглядывает внутрь
- она проверяет, когда исходники конфигурируют именно для постройки дебиан-пакета или RPM-пакета (т.е. то, что будут делать мейтейнеры дистрибутивов), и только в этом случае вынимает из тестовых файлов определенные куски и добавляет в код библиотеки
- внутри библиотеки код лазейки заменяет несколько функций, которые работают с символьными таблицами библиотек во время их подгружения. Затрачены специальные усилия, чтобы имена функций не появлялись в двоичном коде. Что именно дальше делает код лазейки, до конца еще не ясно, но он обрабатывает сам символьные таблицы библиотек, и видимо находит то, что имеет отношение к SSH серверу, и что-то там заменяет. Это еще проверяют сейчас.
- интересно, что openssh, стандартный SSH-сервер под линуксом, не использует библиотеку liblzma, в которую вставили эту лазейку, но несколько популярных дистрибутивов добавляют в него поддержку уведомлений системы, systemd, а библиотека libsystemd уже в свою очередь использует liblzma.
- после того, как вышли версии библиотеки с ошибкой, несколько разных людей с незамеченными до того именами (очевидно, альты взломщика или сообщники) стали открывать запросы в разных программах и пакетах сделать апгрейд на эти новые версии, и в некоторых случаях преуспели
Взломщик допустил только одну ошибку: код лазейки, когда он работает как часть openssh, довольно медленно обрабатывает эти символьные таблицы, или что он еще там делает, и даже неудачная попытка логина на такую систему занимает на полсекунды дольше, чем обычно. Андрес Фройнд заметил эти полсекунды задержки. Они его раздражали. Он решил найти, какой новый баг к этому приводит, и нашел эту лазейку.
Если бы все происходило быстро и не было задержки в полсекунды, очень может быть, что это не заметили бы месяцы и годы, и этот код попал бы в основные дистрибутивы, в версии Линукса, которые запускаются у основных облачных провайдеров итд. Они реально очень, ОЧЕНЬ хорошо замели следы.
Теперь все думают, что надо было/надо теперь делать по-другому, и как обнаружить следующую лазейку такого типа - или предыдущую, если она уже есть и никто не знает! - не опираясь на удачу и героическую занудливость Андреаса Фройнда.
Всех очень впечатлило, насколько эта лазейка была сделана хитро, и как взломщик или взломщики серьезно поработали над тем, чтобы замести следы:
- взломщик под именем/псевдонимом Jia Tan почти два года (!) участвовал в разработке опенсорсного пакета xz, завоевал доверие его мейнтейнеров и получил доступ к прямому коммиту в его репозиторию. Он сделал больше 700 коммитов, лишь малая часть которых медленно подготовила код для лазейки
- основной код лазейки спрятан в тестовых файлах проекта (примеры "плохих" и "хороших" архивов)
- исходный код, который включает лазейку в собственно библиотеку, вообще не является частью основной репозитории в Github. Он спрятан в тар-архивах двух последних релизов, которые обычно используются мейнтейнерами дистрибутивов. То есть есть таг релиза, есть архив, якобы собранный из репозитории в момент этого тага, но на самом деле в нем есть крохотная добавка; в самой репозитории ее нет
- эта добавка прячется в конфигурационной магии autoconf, которую все ненавидят лютой ненавистью и никто никогда не заглядывает внутрь
- она проверяет, когда исходники конфигурируют именно для постройки дебиан-пакета или RPM-пакета (т.е. то, что будут делать мейтейнеры дистрибутивов), и только в этом случае вынимает из тестовых файлов определенные куски и добавляет в код библиотеки
- внутри библиотеки код лазейки заменяет несколько функций, которые работают с символьными таблицами библиотек во время их подгружения. Затрачены специальные усилия, чтобы имена функций не появлялись в двоичном коде. Что именно дальше делает код лазейки, до конца еще не ясно, но он обрабатывает сам символьные таблицы библиотек, и видимо находит то, что имеет отношение к SSH серверу, и что-то там заменяет. Это еще проверяют сейчас.
- интересно, что openssh, стандартный SSH-сервер под линуксом, не использует библиотеку liblzma, в которую вставили эту лазейку, но несколько популярных дистрибутивов добавляют в него поддержку уведомлений системы, systemd, а библиотека libsystemd уже в свою очередь использует liblzma.
- после того, как вышли версии библиотеки с ошибкой, несколько разных людей с незамеченными до того именами (очевидно, альты взломщика или сообщники) стали открывать запросы в разных программах и пакетах сделать апгрейд на эти новые версии, и в некоторых случаях преуспели
Взломщик допустил только одну ошибку: код лазейки, когда он работает как часть openssh, довольно медленно обрабатывает эти символьные таблицы, или что он еще там делает, и даже неудачная попытка логина на такую систему занимает на полсекунды дольше, чем обычно. Андрес Фройнд заметил эти полсекунды задержки. Они его раздражали. Он решил найти, какой новый баг к этому приводит, и нашел эту лазейку.
Если бы все происходило быстро и не было задержки в полсекунды, очень может быть, что это не заметили бы месяцы и годы, и этот код попал бы в основные дистрибутивы, в версии Линукса, которые запускаются у основных облачных провайдеров итд. Они реально очень, ОЧЕНЬ хорошо замели следы.
Теперь все думают, что надо было/надо теперь делать по-другому, и как обнаружить следующую лазейку такого типа - или предыдущую, если она уже есть и никто не знает! - не опираясь на удачу и героическую занудливость Андреаса Фройнда.
🤯26👏4😭4
SQLite, конечно, потрясающая БД. Подвернулся интересный пост, где чел рассказывает, как её подтюнить для использования в небольших сервисах, что это даёт, и чем это может быть чревато. Ну, что сказать, заманчивая идея! Удивительное совпадение, последние пару недель я как раз про это подумывал для одного маленького сервиса.
#sqlite #db #server
#sqlite #db #server
🤔3🤣2
Небольшая поделка на Go, чтобы получать embeddings для текстов от разных провайдеров и визуализировать их 2D и 3D проекции. Проект на самом деле пока скорее игрушка (ну не будет никто много настоящих данных туда руками вбивать), но круто, что при необходимости можно это дело подхачить, и уже смотреть на проекции своих настоящих векторов. Ну и нельзя не радоваться, что всё больше ML-related вещей пишутся для Go. Прототип на питоне ок, но прод - это давайте как-то без нас.
#go #embedding
#go #embedding
Совсем оффтоп, но очень уж забавным показалось. Everyone is John. Очень простая ролевая настолка под открытой лицензией, в которой вы - голос в голове сумасшедшего, и ваша задача - как можно больше раз заставить Джона сделать именно то, чем одержим ваш "голос".
Всё гениальное просто, и всё простое гениально!
#game #rpg
Всё гениальное просто, и всё простое гениально!
#game #rpg
🥴3❤1👎1
Не в первый раз жалобы на AI-generated иллюстрации к постам. Мне они в кайф, но если они не нравятся большинству, уберём. Итак?
Anonymous Poll
72%
Оставить 👍
28%
Прекратить 👎
🤯1
Никогда раньше не задумывался, что происходит с картами или с GPS координатами, когда случаются сдвиги тектонических плит. Вот по ссылке можно почитать разное интересное про эту и другие проблемы.
#gps #maps
#gps #maps
😱6🔥1
Garbage Collection for Systems Programmers. Чел в каком-то смысле старается развенчать миф о том, что GC - это точно медленно, и уж где-где, а ядре ОС его точно нет и быть не может.
#gc #memory
#gc #memory
👍1
Чудесная заметка про системных программистов и отладку проблем в ядре ОС или в распределенной системе.
#programming #system #debug
I described the bug, which involved concurrent threads and corrupted state and asynchronous message delivery across multiple machines, and my coworker said, “Yeah, that sounds bad. Have you checked the log files for errors?” I said, “Indeed, I would do that if I hadn’t broken every component that a logging system needs to log data. I have a network file system, and I have broken the network, and I have broken the file system, and my machines crash when I make eye contact with them. I HAVE NO TOOLS BECAUSE I’VE DESTROYED MY TOOLS WITH MY TOOLS. My only logging option is to hire monks to transcribe the subjective experience of watching my machines die as I weep tears of blood.”
#programming #system #debug
🔥1
Удивительное рядом. Прикольная уязвимость в больших почтовых клиентах, которая позволяет показать или скрыть часть письма в зависимости от того, переслали его или нет.
#cybersec #vulnerability #email
#cybersec #vulnerability #email
👍1
Google взялись за safe-by-default библиотеки для Go. Там и shell / YAML шаблоны со всякими доп. защитами от злого инпута, и работа с файлами с жестким контролем доступа к папкам, и всякое разное вокруг работы с архивами.
#go #cybersec #library
#go #cybersec #library
😁3
Сразу скажу, не без спорных моментов, но все же интересный пост про билд тулы. Путь от Make до современных e2e систем с вкраплениями истории и набором линз, под которыми на очередную билд систему можно смотреть.
#build
#build
Пусть старый, но не ставший от этого менее интересным разбор реализации Go интерфейсов в gc компиляторах.
#go #interface #compiler
#go #interface #compiler
Защитники веба не дремлют. Все уже смирились с тем, что люди берут строки и из них выполняют JS или вставляют HTML. Теперь этот процесс пытаются сделать безопаснее: идея Trusted Types должна позволить зафорсить санитайзинг таких произвольных потенциально зловредных строк.
#cybersec #browser #js
#cybersec #browser #js
🤮2