Forwarded from мне не нравится реальность (вафель 🧇💛)
#prog #cpp #article
Разбор атомарных операций и различных атомарных порядков обращения к памяти. Рассказано о C++, но полезно и для тех, кто пишет на Rust, потому что тот адаптирует модель памяти C++.
habr.com/ru/post/517918/
Разбор атомарных операций и различных атомарных порядков обращения к памяти. Рассказано о C++, но полезно и для тех, кто пишет на Rust, потому что тот адаптирует модель памяти C++.
habr.com/ru/post/517918/
Хабр
std::atomic. Модель памяти C++ в примерах
Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы...
#prog #rust #article
Статья в двух частях касательно применений обобщённых типов Rust при написании драйверов флеш-памяти двух различных чипов — первая, вторая. В ней показывается, как выделение общих абстракций может сильно снизить количество кода и, что немаловажно, вероятность совершения ошибки.
В качестве бонуса: статья от Bluefruit software, компании, уже 20 лет разрабатывающей софт для встраиваемых систем, в которой работает автор, в которой оценивается степень пригодности Rust для встраиваемых систем.
Статья в двух частях касательно применений обобщённых типов Rust при написании драйверов флеш-памяти двух различных чипов — первая, вторая. В ней показывается, как выделение общих абстракций может сильно снизить количество кода и, что немаловажно, вероятность совершения ошибки.
В качестве бонуса: статья от Bluefruit software, компании, уже 20 лет разрабатывающей софт для встраиваемых систем, в которой работает автор, в которой оценивается степень пригодности Rust для встраиваемых систем.
www.ecorax.net
eCorax - As above, so below: Bare metal Rust generics 1/2
Writing two flash drivers starting from an abstraction.
#prog
Tini —
Tini —
init
-процесс, который только завершает зомби-процессы и корректно пробрасывает сигналы — и больше ничего не делает. Используется главным образом внутри Docker.GitHub
GitHub - krallin/tini: A tiny but valid `init` for containers
A tiny but valid `init` for containers. Contribute to krallin/tini development by creating an account on GitHub.
#psy
О сложностях с объяснением собственных поступков и их прогнозировании.
https://t.iss.one/socialpsychPhD/132 (не хочу пересылать пост целиком, потому что он слишком большой)
О сложностях с объяснением собственных поступков и их прогнозировании.
https://t.iss.one/socialpsychPhD/132 (не хочу пересылать пост целиком, потому что он слишком большой)
Telegram
PhD по психологии
Все говорят: бойся своих желаний. Их действительно надо бояться? Почему? Исследования ошибок аффективного прогнозирования
#21век #affective_forecasting
Решения самого разного масштаба - от мелких покупок до крупных, от переезда в другую страну до решения…
#21век #affective_forecasting
Решения самого разного масштаба - от мелких покупок до крупных, от переезда в другую страну до решения…
#prog #abnormalprogramming
Как сделать GIF-изображение, которое в то же время является валидным файлом Javascript.
Оригинал
Перевод на Хабре
Как сделать GIF-изображение, которое в то же время является валидным файлом Javascript.
Оригинал
Перевод на Хабре
DEV Community
This Image Is Also a Valid Javascript File
Images are usually stored as binary files, while a Javascript file is basically just text. Both have...
Предлагаю @ihatereality завести аккаунт на OnlyFans и публиковать там видео с процессом написания unsafe-кода
Forwarded from мне не нравится реальность (вафель 🧇💛)
самое смешное что после этого насколько людей подписались
ребят, ну вы это, пишите если что 😏
ребят, ну вы это, пишите если что 😏
#prog
Одной из самых впечатляющих разновидностей программ являются отладчики с записью и перемоткой потока состояния программы, такие, как rr. Записываешь выполнение программы один раз, сохраняешь на диск — и перезапускаешь сколько угодно раз. Благодаря тому, что путь исполнения записывается целиком, становится возможных исполнение назад во времени. Конкретно rr выделяется среди подобных отладчиков очень низким оверхедом на запись.
Можно ли сделать лучше? Определённо, да! Идея всезнающего отладчика (Omniscient Debugging) состоит в том, чтобы сохранить запись состояния программы в структурированном виде — в некоторой базе данных — чтобы иметь возможность делать по этому состоянию запросы, т. е. иметь картину исполнения программы целиком, а не только в конкретный момент исполнения. Впервые этот подход был применён в ODB. К сожалению, этот отладчик работает только на JVM и имеет заметный оверхед на запись состояния (масштаба двух порядков).
Новый отладчик Pernosco от разработчиков rr использует rr для записи состояния программы с низким оверхедом и сохраняет в структурированном виде, позволяя делать... Очень много. Серьёзно, посмотрите сами, там колоссальное количество крутых фич. Пожалуй, одна из самых впечатляющих — это возможность инспектировать стеки вызовов программ с оптимизациями (такими, как встраивание функций и элиминация хвостовой рекурсии) и код, над которым поработал JIT-компилятор — то, перед чем пасуют традиционные компиляторы.
К сожалению, отладчик не бесплатный и не с открытым исходным кодом, но авторы уверяют, что уже предоставляют его на коммерческой основе. Учитывая весь набор фич — пожалуй, справедливо.
Одной из самых впечатляющих разновидностей программ являются отладчики с записью и перемоткой потока состояния программы, такие, как rr. Записываешь выполнение программы один раз, сохраняешь на диск — и перезапускаешь сколько угодно раз. Благодаря тому, что путь исполнения записывается целиком, становится возможных исполнение назад во времени. Конкретно rr выделяется среди подобных отладчиков очень низким оверхедом на запись.
Можно ли сделать лучше? Определённо, да! Идея всезнающего отладчика (Omniscient Debugging) состоит в том, чтобы сохранить запись состояния программы в структурированном виде — в некоторой базе данных — чтобы иметь возможность делать по этому состоянию запросы, т. е. иметь картину исполнения программы целиком, а не только в конкретный момент исполнения. Впервые этот подход был применён в ODB. К сожалению, этот отладчик работает только на JVM и имеет заметный оверхед на запись состояния (масштаба двух порядков).
Новый отладчик Pernosco от разработчиков rr использует rr для записи состояния программы с низким оверхедом и сохраняет в структурированном виде, позволяя делать... Очень много. Серьёзно, посмотрите сами, там колоссальное количество крутых фич. Пожалуй, одна из самых впечатляющих — это возможность инспектировать стеки вызовов программ с оптимизациями (такими, как встраивание функций и элиминация хвостовой рекурсии) и код, над которым поработал JIT-компилятор — то, перед чем пасуют традиционные компиляторы.
К сожалению, отладчик не бесплатный и не с открытым исходным кодом, но авторы уверяют, что уже предоставляют его на коммерческой основе. Учитывая весь набор фич — пожалуй, справедливо.
🤯2