2012-11-26

When ...

When I see three layers of weird DSLs for configuring a single app

When somebody says “it’s written in C, so it must be fast”

When somebody tries to explain JavaScript’s prototype system

When I hear your new PL doesn’t have exceptions and requires manual error handling instead

When somebody says he doesn’t like exceptions because he likes to handle errors where they appear

Moar here

2012-11-13

Интересная история о случае, когда в STL можно выстрелить себе в ногу. Когда хотели ускорить алгоритм, а в результате замедлили раз в сорок.
... есть благие намерения и известно, что требуются дополнительные приседания в виде преаллокации массива, но пуля прилетает туда же, куда и обычно. 

2012-11-06

Achtung, minen! или Shell + Space = @#$&

Работа шелла с пробелами иногда ни разу не интуитивна.

Дано
$ cat count.sh
echo "$# : '$1' '$2' '$3'"
$ cat proxy.sh
./count.sh $@
Пробуем
$ ./count.sh 'a b' c
2 'a b' 'c'
$ ./proxy.sh 'a b' c
3 'a' 'b' 'c'

Теперь я знаю, как это лечится ("$@"), но чем думал автор, когда делал такое поведение?


2012-10-24

Торокан горд

В качестве входных данных для одной из наших программ бета-тестер использовал статьи из википедии на коми-пермяцком языке.
Фраза "Торокан нето гöрд торокан — сія геббез чукӧрись подаок." вынесла мозг целиком и полностью.
P.S. Хром при написании этого сообщения предложил заменить "из википедии" на "из передовики".

2012-10-03

Все в порядке -- старый код тоже не работает!


Полдня убил, чтобы понять, почему новый клиент (что я пишу сейчас) получает SIGPIPE при обмене данными с ядром из "релизной" версии. Пока не собрал из транка "старый" вариант фронт-энда. Который тоже упал.


Вот скажите мне, зачем менять внутренний протокол обмена данными (между ядром и фронт-эндами) через пару недель ПОСЛЕ выпуска мажорной (X.0) версии продукта? Ядро просто "ниасиливало" команды в новом формате и закрывало соединение.


2012-09-06

прекрасное

увидел в жуйке 



2012-09-04

А что, можно было?

Чувствую себя слоупоком. Решив почти полторы сотни задач с Эйлера на Хаскелле, открыл для себя разницу между "ghc -O2" и runhaskell.
runhaskell 136.hs
- около 5 минут
ghc -02 136.hs && ./136
- 15 секунд.