Несложный трюк: в версии N вводим визуальные переходы длительностью T1, в версии N+K заменяем на длительность T2 < T1. Пользователи уверены, что внутре всё пооптимизировалось и стало более летать, счастливы.


Задачка про сети. Есть тачка с виндой, выходящая в инет через вайфайный роутер. На тачке едва-едва грузятся сайты, постоянные неответы по таймауту. При этом обнаружено, что если параллельно запустить ping -t ya.ru, проблема исчезает.
Чем это может быть вызвано?
(inb4 тачка скорее всего чистая, железо/дрова нормальные).

In this paper we study the financial repercussions of the destruction of two fully armed and operational moon-sized battle stations ("Death Stars") in a 4-year period and the dissolution of the galactic government in Star Wars. The emphasis of this work is to calibrate and simulate a model of the banking and financial systems within the galaxy. Along these lines, we measure the level of systemic risk that may have been generated by the death of Emperor Palpatine and the destruction of the second Death Star. We conclude by finding the economic resources the Rebel Alliance would need to have in reserve in order to prevent a financial crisis from gripping the galaxy through an optimally allocated banking bailout.

A man with a watch knows what time it is. A man with two watches is never sure.
A man with three watches can run Multi-Paxos until one of the watches fails, and then he's boned again.
A man with four watches is safer but is wasting resources on a hot spare, while still not being secure against a failure of one watch while another is being repaired.
A man with an odd number of watches >= 5 is pretty solid on what time it is, but now everyone else will want to store their vaguely time-related data on his watches and force him to adopt a complex sharding scheme with automated rebalancing and throttling to keep any of his watches from overheating and falling over, and soon enough he has to divide all his time between politics and watch-maintenance with nothing left over for whatever he was trying to time.

Читал исходники mysql.
Какой же это, оказывается, поганый замшелый написанный левой пяткой говнокод :( Там даже табы вперемешку с пробелами.
Ну то есть я слышал, конечно, что там архитектура "не очень".
Но не настолько же, черт возьми.

После полутора часов внимательного find&replace в виме на ручном приводе, вздохнул и написал в 200 строк на питоне интерактивный функциональный ленивый sed с упрощенными регулярками и подсветкой синтаксиса, работающий сразу с пачкой файлов.

Поддержку HiDPI (это когда pixels ≠ screen coordinates) умудрились проебать примерно в каждом связанном с OpenGL проекте уровнем выше того, на котором предоставляется API, позволяющее, собственно, это узнать.
Есть подозрение, что одна из причина этого — то, что любые API, предоставляющие такие знания, задизайнены как сраный костыль, прилепленный сбоку. Причем, родной интерфейс макоси говорит "тебе надо всё на 2 помножить", а в glfw, например, это превращается в "у тебя тут окно 300*400, под которым фреймбуффер 600*800, иди сам считай коэффициенты".
Всё это, однако, довльно странно, т.к. я ожидал более высокую укомплектованность маками с ретиной среди разработчиков на модном язычке.

Образцово-показательно жырный способ тро^Wнаезда на дизайн языка:

I first vaguely heard about Rust couple months ago when v1 was released. I've only started to have a deep look at it about 48 hours ago, looking for a C++ alternative, so far I'm very excited (and confused too), and I could see reasons to believe Rust might become mainstream in a near future.
closures |x| {} would have been nicer with this style: x => {}
camelCase is nicer than underscore_style for functions/methods
modules namespaces should be clearer, in PascalCase, (and overall the api needs to be better organized).
Box <T> as a core feature, should have some symbol or keyword, to express instances allocated on the heap.
Result<T> should have something nicer than myResult.unwrap() (maybe *myValue ?)
Instantiating Smart pointers should be nicer, more intuitive and less verbose than Arc::new(T) (maybe renaming these types)
I don't like the 'let' keyword, I don't really know why haha.

via users.rust-lang.org