#prog #article
Who killed the network switch?
A Hubris Bug Story
We found a neat bug in Hubris this week. Like many bugs, it wasn’t a bug when it was originally written — correct code became a bug as other things changed around it.
<...>
It’s very rare for us to find a bug in the Hubris kernel, mostly because it’s so small.
<...>
For me, the interesting thing about this story is all the stuff that didn’t happen. Or more specifically, the way the system failed, and the ways in which it didn’t.
We went from “network switch won’t turn on with new firmware,” to two engineers 3,000 miles apart separately analyzing snapshots of the failure, to having the kernel bug fixed, in about three hours. I’ve easily spent longer than that chasing a single memory corruption bug in other firmware.
Who killed the network switch?
A Hubris Bug Story
We found a neat bug in Hubris this week. Like many bugs, it wasn’t a bug when it was originally written — correct code became a bug as other things changed around it.
<...>
It’s very rare for us to find a bug in the Hubris kernel, mostly because it’s so small.
<...>
For me, the interesting thing about this story is all the stuff that didn’t happen. Or more specifically, the way the system failed, and the ways in which it didn’t.
We went from “network switch won’t turn on with new firmware,” to two engineers 3,000 miles apart separately analyzing snapshots of the failure, to having the kernel bug fixed, in about three hours. I’ve easily spent longer than that chasing a single memory corruption bug in other firmware.
Cliffle
Who killed the network switch?
A Hubris Bug Story
Forwarded from Pragmatic Programmer (Nikita Bishōnen)
Ну что, время проходить ежегодный опрос о состоянии господа нашего Иисуса Христа языка нашего Rust: https://www.surveyhero.com/c/rust-annual-survey-2024
#prog #successstory
Memory-safe PNG decoders now vastly outperform C PNG libraries
Не "Rust PNG decoders", потому что в список также входит wuffs
Memory-safe PNG decoders now vastly outperform C PNG libraries
Не "Rust PNG decoders", потому что в список также входит wuffs
#prog #rustlib
include-utils — библиотека для включения в исходники только части текста из указанного файла. Макрос include_md! также позволяет ссылаться на нужные части файла не через номера строк, а через указание секций, как это сделано в mdbook.
include-utils — библиотека для включения в исходники только части текста из указанного файла. Макрос include_md! также позволяет ссылаться на нужные части файла не через номера строк, а через указание секций, как это сделано в mdbook.
Forwarded from Технологический Болт Генона
Всех поздравляю
Глава "Ростелекома" заявил о полном импортозамещении серверов в РФ
https://tass.ru/ekonomika/22637251
В России полностью решена проблема с импортозамещением мощных вычислительных ресурсов, заявил глава "Ростелекома" Михаил Осеевский, выступая в Совете Федерации.
"Хочу доложить, что сегодня страна чувствует себя достаточно уверенно. У нас полностью решена проблема импортозамещения мощных вычислительных ресурсов, серверов, систем хранения [данных]", - сказал топ-менеджер.
Глава "Ростелекома" заявил о полном импортозамещении серверов в РФ
https://tass.ru/ekonomika/22637251
Forwarded from optorepost
Ааааа, как же это офигенно. Мой самый любимый советский мультик переанимировали куча аниматоров. Там есть как халтурки, так и настоящие шедевры. Если не смотрели оригинал, то сначала смотрите его.
https://youtu.be/fvUqBZ-aQR8
https://youtu.be/fvUqBZ-aQR8
YouTube
"УХ ТЫ, ГОВОРЯЩАЯ РЫБА!" REANIMATED COLLAB
Lateameria Studio и 50 независимых аниматоров представляет вам долгожданный коллаб-реанимейт по мультфильму "Ух-ты, говорящая рыба!", снятого в 1983 году Робертом Саакянцем по сказке Ованеса Туманяна. Целых девять месяцев не прошли зря и теперь мы готовы…
#prog #go #article
Understanding Real-World Concurrency Bugs in Go (PDF)
In this paper, we perform the first systematic study on concurrency bugs in real Go programs. We studied six popular Go software including Docker, Kubernetes, and gRPC. We analyzed 171 concurrency bugs in total, with more than half of them caused by non-traditional, Go-specific problems. Apart from root causes of these bugs, we also studied their fixes, performed experiments to reproduce them, and evaluated them with two publicly-available Go bug detectors.
<...>
Our study found that message passing does not necessarily make multithreaded programs less error-prone than shared memory. In fact, message passing is the main cause of blocking bugs.
<...>
We believe that message passing offers a clean form of inter-thread communication and can be useful in passing data and signals. But they are only useful if used correctly, which requires programmers to not only understand message passing mechanisms well but also other synchronization mechanisms of Go.
Надо отметить, что результаты могут быть искажены тем, что:
а) выборка только из шести проектов (Docker, Kubernetes, etcd, CockroachDB, BoltDB, gRPC-go);
б) рассматриваются только баги, которые были исправлены.
Understanding Real-World Concurrency Bugs in Go (PDF)
In this paper, we perform the first systematic study on concurrency bugs in real Go programs. We studied six popular Go software including Docker, Kubernetes, and gRPC. We analyzed 171 concurrency bugs in total, with more than half of them caused by non-traditional, Go-specific problems. Apart from root causes of these bugs, we also studied their fixes, performed experiments to reproduce them, and evaluated them with two publicly-available Go bug detectors.
<...>
Our study found that message passing does not necessarily make multithreaded programs less error-prone than shared memory. In fact, message passing is the main cause of blocking bugs.
<...>
We believe that message passing offers a clean form of inter-thread communication and can be useful in passing data and signals. But they are only useful if used correctly, which requires programmers to not only understand message passing mechanisms well but also other synchronization mechanisms of Go.
Надо отметить, что результаты могут быть искажены тем, что:
а) выборка только из шести проектов (Docker, Kubernetes, etcd, CockroachDB, BoltDB, gRPC-go);
б) рассматриваются только баги, которые были исправлены.
ACM Conferences
Understanding Real-World Concurrency Bugs in Go | Proceedings of the Twenty-Fourth International Conference on Architectural Support…
#music
Despair, из альбома ORANGE SOUNDS (Zeroranger OST)
В игре хватает неплохой чиптюн-подобной музыки, но этот трек — один из немногих, на мой взгляд, который звучит хорошо и в отрыве от игры
Despair, из альбома ORANGE SOUNDS (Zeroranger OST)
В игре хватает неплохой чиптюн-подобной музыки, но этот трек — один из немногих, на мой взгляд, который звучит хорошо и в отрыве от игры
eebrozgi
Despair, by eebrozgi
from the album ORANGE SOUNDS -ZeroRanger Original Soundtrack-