Forwarded from sudo rm -rf /*
Вот хороший годный TL;DR по трейсам сисколов с минимальным импактом на производительность, но это вам в счет нового года, договорились?
TiDB
Trace Linux System Calls with Least Impact on Performance
This post introduces perf and traceloop, two commonly command-line tools, to help you trace system calls in a production environment.
Forwarded from The After Times
Занимательная статья на Хабре (https://slurm.club/2KtNgD7) о том, почему Apache Kafka такая шустрая и популярная. Для тех, кто работает с технологией советуем ознакомиться с тем, что у кафки “под капотом”. Это многое объясняет. Например, можно почитать про батчинг записей, пакетное сжатие, буферизованные операции, zero-copy и другие фишечки.
Хабр
Почему Kafka такая быстрая
За последние несколько лет в сфере архитектуры ПО произошли огромные изменения. Идея единственного монолитного приложения или даже нескольких крупных сервисов,...
Forwarded from Experimental chill
#рецензии
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.
1. Deterministic Aperture: A distributed, load balancing algorithm
Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.
2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond
Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.
3. ScaNN: Efficient Vector Similarity Search
Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.
4. Elle: Inferring Isolation Anomalies from Experimental Observations
Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?
5. The Case for a Learned Sorting Algorithm
Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.
To be continued...
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.
1. Deterministic Aperture: A distributed, load balancing algorithm
Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.
2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond
Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.
3. ScaNN: Efficient Vector Similarity Search
Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.
4. Elle: Inferring Isolation Anomalies from Experimental Observations
Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?
5. The Case for a Learned Sorting Algorithm
Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.
To be continued...
X
Deterministic Aperture: A distributed, load balancing algorithm
As parts of the Twitter application grow, we can scale demands on capacity by adding more instances or replicas to a respective service cluster (i.e., horizontal scaling)
Forwarded from Так говорит Алиса (John Meow)
DEV Community
How to debug rust applications with VIM
This is a simple guide to configure the loved (and hated) VIM editor to develop and debug rust applications.
Forwarded from @yarosh_log
Список технических блогов, стоит добавить в закладки и раз в месяц почитывать
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
Cloudflare https://blog.cloudflare.com/
Netflix https://netflixtechblog.com/
Uber https://eng.uber.com/
Lyft https://eng.lyft.com/
Twilio https://www.twilio.com/blog
Facebook https://research.fb.com/
Twitter https://blog.twitter.com/engineering/en_us.html
Databricks https://databricks.com/blog/category/engineering
Google AI https://ai.googleblog.com/
Google Dev https://developers.googleblog.com/
Slack (already mentioned) https://slack.engineering/
Twitch https://blog.twitch.tv/en/?tag=engineering
Quora https://www.quora.com/q/quoraengineering
Discord https://blog.discord.com/engineering-posts/home
The Cloudflare Blog
Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet.
Forwarded from Linker Unsafe
Энтузиаст начал переводить эту красоту на русский. Вообще, 3b1b иногда просто приятно смотреть из-за классных анимаций, даже не пытаясь вдумываться в содержание.
https://youtu.be/aCvnUuYaRH8
https://youtu.be/aCvnUuYaRH8
YouTube
Теория групп и 196883-мерный монстр
Оригинальная запись: https://www.youtube.com/watch?v=mH0oCDa74tE
Forwarded from Так говорит Алиса (John Meow)
Forwarded from Блог*
#prog #rust #article
Обстоятельная статья о трейтах
Обстоятельная статья о трейтах
Send и Sync и о том, что они означают с точки зрения написания кода.nyanpasu64.github.io
An unsafe tour of Rust’s Send and Sync
Rust’s concurrency safety is based around the Send and Sync traits. For people writing safe code, you don’t really need to understand these traits on a deep level, only enough to satisfy the compiler when it spits errors at you (or switch from std threads…
Forwarded from Представляешь,
найден простейший способ заменить sudo-пароль на Touch ID
Причём его суть заключается в добавлении одной-единственной команды в файл утилиты sudo:
https://tprg.ru/beWD
Причём его суть заключается в добавлении одной-единственной команды в файл утилиты sudo:
https://tprg.ru/beWD
#рецензии
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.
1. Deterministic Aperture: A distributed, load balancing algorithm
Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.
2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond
Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.
3. ScaNN: Efficient Vector Similarity Search
Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.
4. Elle: Inferring Isolation Anomalies from Experimental Observations
Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?
5. The Case for a Learned Sorting Algorithm
Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.
To be continued...
Ультракороткие рецензии на тoп инженерных находок 2020го года от @Danlark, которых не было в блоге. Часть 1.
1. Deterministic Aperture: A distributed, load balancing algorithm
Балансеры в компании Twitter красиво переплетают идеи consistent hashing, непрерывной геометрии и power of 2 choices, что помогает сократить количество соединений в 10 раз и снизить дисперсию распределения запросов на 78%.
2. BOLT: A Practical Binary Optimizer for Data Centers and Beyond
Компания Facebook оптимизирует и так уже PGO соптимизированные C++ бинари в реальном времени, собирая профили и ставя горячие блоки кода близко друг к другу. Из-за этого сайты Facebook и Instagram ускорились на 5-7%, а пропозал по добавлению такой функциональности был принят в LLVM.
3. ScaNN: Efficient Vector Similarity Search
Google выложил свой алгоритм поиска похожих векторов, который обыгрывает по скорости все предыдущие примерно в 2 раза, отличие от других алгоритмов только в том, что ScaNN правильно подобрал константы для квантования и хорошо применил SIMD. Но удачи собрать и запустить это на C++.
4. Elle: Inferring Isolation Anomalies from Experimental Observations
Господин Jepsen наконец-то завершает свои походы со стабильным фреймворком для проверки консистентности в базах данных. В статье сказано: "we believe Elle will make the database industry safer", может быть, он всё таки имел в виду "suffer"?
5. The Case for a Learned Sorting Algorithm
Самобучающийся алгоритм сортировки пытается с помощью real-time модели предсказать примерные позиции в отсортированном массиве, а потом уже легко пройтись и найти точные. Да, оно работает быстрее, чем std::sort вместе с обучением. Да, оно потенциально выкопает могилу теоретикам. Результат как минимум примечательный, но сравнений алгоритмов для однозначной победы и правда маловато.
To be continued...
X
Deterministic Aperture: A distributed, load balancing algorithm
As parts of the Twitter application grow, we can scale demands on capacity by adding more instances or replicas to a respective service cluster (i.e., horizontal scaling)
Для тех, кто работает с Golang, - смотрел как-то я эту книгу: "Hands-On Software Architecture with Golang. Design and architect highly scalable and robust applications using Go." by Jyotiswarup Raiturkar
Copyright © 2018 Packt Publishing
Она прекрасна. Удивительное сочетание полноты информации и её краткости. Это скорее конспект, а не книга. Курс молодого бойца. Никакой воды - только все самое нужное. Вряд-ли есть другой способ получить такой колоссальный объем знаний из одной книги. Она, поистине, шедевральна в этом смысле.
Дано практически все, что нужно знать разработчику, на примере Golang. Виды согласованностей, в т.ч. Causal Consistency, Векторные Часы, CAP-теорема, способы достижения консенсуса, в т.ч. RAFT, Paxos, 2PC, основы ООП, композиция vs наследование (кстати, на примере зверушек - известный пример), Design Patterns, основы работы с БД, индексы, формы нормализации, виды транзакций (ACID, BACE), матрица уровней изоляции транзакций, брокеры сообщений, принципы масштабирования и многое другое.
Понятно, что все это впихнуть в одну книгу невозможно, поэтому она выполнена в виде конспекта, т.е. она дает обзор и приводит примеры.
Раз уж речь зашла про Packt Publishing, то еще было бы уместно упомянуть "Learning Functional Programming in Go. Change the way you approach your applications using functional programming in Go." by Lex Sheehan
Copyright © 2017 Packt Publishing
И "Hands-On High Performance with Go. Boost and optimize the performance of your Golang applications at scale with resilience" by Bob Strecansky
Copyright © 2020 Packt Publishing
#Golang #SoftwareDesing #SoftwareArchitecture #FunctionalProgramming
Copyright © 2018 Packt Publishing
Она прекрасна. Удивительное сочетание полноты информации и её краткости. Это скорее конспект, а не книга. Курс молодого бойца. Никакой воды - только все самое нужное. Вряд-ли есть другой способ получить такой колоссальный объем знаний из одной книги. Она, поистине, шедевральна в этом смысле.
Дано практически все, что нужно знать разработчику, на примере Golang. Виды согласованностей, в т.ч. Causal Consistency, Векторные Часы, CAP-теорема, способы достижения консенсуса, в т.ч. RAFT, Paxos, 2PC, основы ООП, композиция vs наследование (кстати, на примере зверушек - известный пример), Design Patterns, основы работы с БД, индексы, формы нормализации, виды транзакций (ACID, BACE), матрица уровней изоляции транзакций, брокеры сообщений, принципы масштабирования и многое другое.
Понятно, что все это впихнуть в одну книгу невозможно, поэтому она выполнена в виде конспекта, т.е. она дает обзор и приводит примеры.
Раз уж речь зашла про Packt Publishing, то еще было бы уместно упомянуть "Learning Functional Programming in Go. Change the way you approach your applications using functional programming in Go." by Lex Sheehan
Copyright © 2017 Packt Publishing
И "Hands-On High Performance with Go. Boost and optimize the performance of your Golang applications at scale with resilience" by Bob Strecansky
Copyright © 2020 Packt Publishing
#Golang #SoftwareDesing #SoftwareArchitecture #FunctionalProgramming
Forwarded from oleg_log (Oleg Kovalov)
🍾Команда Podlodka Crew запускает новую онлайн-конференцию! Если вы занимаетесь бэкенд-разработкой, специально для вас 29 марта стартует Podlodka Backend Crew!
Мы решили не завязываться на конкретные языки программирования и фреймворки, и выбрали такие темы недель, которые будут интересны всем. И эти темы – “Распределенные системы” и “Протоколы передачи данных”.
🤔На неделе “Распределенные системы” рассмотрим тонкости разработки и поддержки распределенных систем. Ответим на вопросы про то, как деплоить такие системы, как их правильно тестировать, как правильно организовать балансировку и сбор логов, как работать с данными и не только.
💾А на неделе “Протоколы передачи данных” прокачаем очень прикладной навык: как максимально осмысленно выбрать протокол в зависимости от решаемых задач, и как эффективно работать с выбранным протоколом. Не json’ом единым!
Мы бы не были Podlodka Crew, если бы у нас были только доклады, поэтому как всегда в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Добавим к этому общение со спикерами на зум-сессиях и нетворкинг в слаке, и получим прекрасный способ с пользой провести время!
Старт 29 марта, расписание первой недели уже на сайте, а до 22 марта действует early-bird скидка на билеты! Ждем на борту!⚓️
Мы решили не завязываться на конкретные языки программирования и фреймворки, и выбрали такие темы недель, которые будут интересны всем. И эти темы – “Распределенные системы” и “Протоколы передачи данных”.
🤔На неделе “Распределенные системы” рассмотрим тонкости разработки и поддержки распределенных систем. Ответим на вопросы про то, как деплоить такие системы, как их правильно тестировать, как правильно организовать балансировку и сбор логов, как работать с данными и не только.
💾А на неделе “Протоколы передачи данных” прокачаем очень прикладной навык: как максимально осмысленно выбрать протокол в зависимости от решаемых задач, и как эффективно работать с выбранным протоколом. Не json’ом единым!
Мы бы не были Podlodka Crew, если бы у нас были только доклады, поэтому как всегда в программе множество нескучных форматов: рулетки кейсов, батлы, лайв-кодинги и не только. Добавим к этому общение со спикерами на зум-сессиях и нетворкинг в слаке, и получим прекрасный способ с пользой провести время!
Старт 29 марта, расписание первой недели уже на сайте, а до 22 марта действует early-bird скидка на билеты! Ждем на борту!⚓️
podlodka.io
Онлайн-конференция Podlodka Backend Crew, сезон #5
Недельное мероприятие от команды Podlodka: ежедневные интерактивные сессии в Zoom по актуальным проблемам backend-разработки, нон-стоп общение с экспертами и звёздами индустрии, закрытое профессиональное сообщество в Telegram.
For future reading
1:
https://arxiv.org/pdf/1809.09044.pdf
2:
https://ethresear.ch/t/stark-proving-low-degree-ness-of-a-data-availability-root-some-analysis/6214
3:
https://ethresear.ch/t/fri-as-erasure-code-fraud-proof/6610
4:
https://ethresear.ch/t/an-alternative-low-degreeness-proof-using-polynomial-commitment-schemes/6649
5:
https://ethresear.ch/t/a-0-001-bit-proof-of-custody/7409
6:
https://wiki.polkadot.network/docs/en/learn-availability
1:
https://arxiv.org/pdf/1809.09044.pdf
2:
https://ethresear.ch/t/stark-proving-low-degree-ness-of-a-data-availability-root-some-analysis/6214
3:
https://ethresear.ch/t/fri-as-erasure-code-fraud-proof/6610
4:
https://ethresear.ch/t/an-alternative-low-degreeness-proof-using-polynomial-commitment-schemes/6649
5:
https://ethresear.ch/t/a-0-001-bit-proof-of-custody/7409
6:
https://wiki.polkadot.network/docs/en/learn-availability
Ethereum Research
STARK-proving low-degree-ness of a data availability root: some analysis
This post assumes familiarity with data availability sampling as in https://arxiv.org/abs/1809.09044. The holy grail of data availability sampling is it we could remove the need for fraud proofs to check correctness of an encoded Merkle root. This can be…
Forwarded from Linker Unsafe
Оставляю для себя потом прочитать, довольно важная тема оптимизации программ на Rust в одном единственном посте. Старый пост Achieving warp speed with Rust, 2017-го аж года, но при этом вроде бы актуальный. Единственное но, разные штуки, вроде
test::black_hole пока доступны только в nightly и для них нужно включать #![feature(test)].Gist
Rust Optimization.md
GitHub Gist: instantly share code, notes, and snippets.
Forwarded from Podlodka Podcast – анонсы и новости подкаста про IT (Anna Banana)
Podlodka #209 – Операционные системы
Долго представлять эту тему не нужно, ведь выпуск входит в «золотой фонд фундаментальных выпусков» Podlodka и занимает место рядышком с "базами данных". Все, как вы любите – погружение в историю, разбор базовых компонентов и детские вопросы «а как загружается ОС?» с подробнейшими ответами на них. Под конец немного философских размышлений об упадке архитектуры ОС и стагнирующем настоящем, а также вероятности наступления светлого будущего. Осторожно, выпуск щедро приправлен байками!
Managed Kubernetes от Selectel для современных проектов: https://slc.tl/Gz62X, промокод Podlodka дает 1000 рублей на услугу. Вводить сюда: https://my.selectel.ru/vpc/
Сайт: https://podlodka.io/209
Soundcloud: https://bit.ly/podlodka-209
iTunes: https://apple.co/2vCBRcs
Я.Музыка: https://bit.ly/32lGgNC
Поддержи лучший подкаст про IT: https://www.patreon.com/podlodka
Долго представлять эту тему не нужно, ведь выпуск входит в «золотой фонд фундаментальных выпусков» Podlodka и занимает место рядышком с "базами данных". Все, как вы любите – погружение в историю, разбор базовых компонентов и детские вопросы «а как загружается ОС?» с подробнейшими ответами на них. Под конец немного философских размышлений об упадке архитектуры ОС и стагнирующем настоящем, а также вероятности наступления светлого будущего. Осторожно, выпуск щедро приправлен байками!
Managed Kubernetes от Selectel для современных проектов: https://slc.tl/Gz62X, промокод Podlodka дает 1000 рублей на услугу. Вводить сюда: https://my.selectel.ru/vpc/
Сайт: https://podlodka.io/209
Soundcloud: https://bit.ly/podlodka-209
iTunes: https://apple.co/2vCBRcs
Я.Музыка: https://bit.ly/32lGgNC
Поддержи лучший подкаст про IT: https://www.patreon.com/podlodka
Forwarded from kamyshev.code
Я сейчас изучаю проектирование распределённых асинхронных систем. В рамках этого проекта посмотрел доклад «Алгоритмы консенсуса. При чем тут Node.is?» В нём Андрей Печкуров рассказывает про проблематику распределённых систем, CAP-теорему, алгоритмы консенсуса и подробно разбирает один из них.
Посмотрите доклад — распределенные системы сейчас повсюду, полезно понимать, какие сложности возникают при их создании и эксплуатации.
#проектирование
Посмотрите доклад — распределенные системы сейчас повсюду, полезно понимать, какие сложности возникают при их создании и эксплуатации.
#проектирование
YouTube
Андрей Печкуров — Алгоритмы консенсуса. При чем тут Node.js?
Ближайшая конференция — HolyJS 2024 Autumn, 7 ноября (online), 14–15 ноября (Санкт-Петербург + трансляция).
Подробности и билеты: https://jrg.su/K18Cxd
— —
Мы отправимся в увлекательное путешествие по жестокому миру распределенных систем и познакомимся с…
Подробности и билеты: https://jrg.su/K18Cxd
— —
Мы отправимся в увлекательное путешествие по жестокому миру распределенных систем и познакомимся с…
kamyshev.code
Я сейчас изучаю проектирование распределённых асинхронных систем. В рамках этого проекта посмотрел доклад «Алгоритмы консенсуса. При чем тут Node.is?» В нём Андрей Печкуров рассказывает про проблематику распределённых систем, CAP-теорему, алгоритмы консенсуса…
GitHub
puzpuzpuz/talks
Materials for my talks. Contribute to puzpuzpuz/talks development by creating an account on GitHub.
Forwarded from oleg_log (Oleg Kovalov)
Software Engineering at Google
In March, 2020, we published a book titled “Software Engineering at Google” curated by Titus Winters, Tom Manshreck and Hyrum Wright.
The Software Engineering at Google book (“SWE Book”) is not about programming, per se, but about the engineering practices utilized at Google to make their codebase sustainable and healthy. (These practices are paramount for common infrastructural code such as Abseil.)
We are happy to announce that we are providing a PDF digital copy of this book free of charge. Of course, we encourage you to get yourself a hard copy from O’Reilly if you wish.
https://abseil.io/resources/swe-book
Книга https://abseil.io/resources/swe_at_google.2.pdf
In March, 2020, we published a book titled “Software Engineering at Google” curated by Titus Winters, Tom Manshreck and Hyrum Wright.
The Software Engineering at Google book (“SWE Book”) is not about programming, per se, but about the engineering practices utilized at Google to make their codebase sustainable and healthy. (These practices are paramount for common infrastructural code such as Abseil.)
We are happy to announce that we are providing a PDF digital copy of this book free of charge. Of course, we encourage you to get yourself a hard copy from O’Reilly if you wish.
https://abseil.io/resources/swe-book
Книга https://abseil.io/resources/swe_at_google.2.pdf
abseil.io
abseil / Software Engineering at Google
An open-source collection of core C++ library code