oleg_log
1.77K subscribers
1.86K photos
130 videos
9 files
2.78K links
Shelter for antisocial programmers "Oleg"

halp: @olegkovalov
web: https://olegk.dev
fov: @oleg_fov
chat: @oleg_log_blabla
podcast: @generictalks
Download Telegram
This paper from 2018 presents a comprehensive empirical study of 103 crash recovery bugs from 4 popular open-source distributed systems: ZooKeeper, Hadoop MapReduce, Cassandra, and HBase. For all the studied bugs, they analyze their root causes, triggering conditions, bug impacts and fixing.

Crash recovery bugs are caused by five types of bug patterns:
- incorrect backup (17%)
- incorrect crash/reboot detection (18%)
- incorrect state identification (16%)
- incorrect state recovery (28%)
- concurrency (21%)
there are only 2 genders...
Лол, но нет
Forwarded from Typesafe-space
Story of my life
How many levels of method naming styles are you on? You're like a baby, watch this
(c) shipilev
Зашел ты к человеку в резюме, а там это. Твои действия?

0LAg0Y3RgtC+ICUg0LXQs9C+INGA0LXQv9C+0LfQuNGC0L7RgNC40LXQsiDQvdCwINCz0LjRgtGF0LDQsQ==
Все чаще и чаще замечаю эту диаграмму в жизни.
Вот говоришь с неглупым человеком. Говоришь какую-то обыденную вещь: дай параметр -v и смотри более детальную инфу, а он удивляется: вау, я пользуюсь этим 7 лет, что так можно было?
Это помогает трезвее смотреть на себя и на знаниях других.
Forwarded from Hermitage (Nardis)
Недавно разговаривал о зависимостях и о том, как их менеджить. Мне доказывали, что это неинтересно и просто.
mypkgmgmt update и все задачи решены.

Но я слишком аутист по этому вопросу: меня сильно волнует, какие зависимости у меня есть. Это тот код, за который мне отвечать. Изначально косвенно, пока все работает.
Когда сломается - ох....
Или еще лучше, когда зависимость начнет делать что-то не то. Сочный пример с rm -rf /usr /bla:

https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/issues/123

И коммит с 800+ коментами и пикчами:
https://github.com/MrMEEE/bumblebee-Old-and-abbandoned/commit/a047be85247755cdbe0acce6f1dafc8beb84f2ac
Compile time of this really simple Pythagorean Triples, takes 2.85 seconds longer than the “simple C++” version.

Lest you think that “under 3 seconds” is a short time – it’s absolutely not. In 3 seconds, a modern CPU can do a gajillion operations. For example, the time it takes for clang to compile a full actual database engine (SQLite) in Debug build, with all 220 thousand lines of code, is 0.9 seconds on my machine. In which world is it okay to compile a trivial 5-line example three times slower than a full database engine?!

Modern C++ is like a Formula One car. Impressive? Sure. Marvel of engineering? Of course. Requires massive amount of skill to handle properly? Yes! Not the right tool for 99% of situations you’d even find yourself in? Yup
(c)
Yet another how to shoot yourself in the foot with JavaScript no. WHOCARES

function varTest() {
var x = 1;
if (true) {
var x = 2; // same variable!
console.log(x); // 2
}
console.log(x); // 2
}

function letTest() {
let x = 1;
if (true) {
let x = 2; // different variable
console.log(x); // 2
}
console.log(x); // 1
}

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let#Scoping_rules_2
🍰
Сегодня скинули скрин одной немецкой конторы.
Увидел GodRelease пхп монорепы сегодня. От создателей GoldObject и GoldHammer.
34 пулл-реквеста, 300 комитов, включая “review fix”, за 2.5 месяца работы.
Дас ист фантастиш.
А еще оказывается люди путают монолит и монорепо 🤔
👉🏻👌🏻