September 9th, 2007

with Cat The Cat

Смотрю Адвоката Дьявола.

Сильная штука.

У Никулина в его автобиографии был анекдот про супержонглера, который десять лет учился жонглировать спичками. Это практически невозможно, но он выучился.

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

Незаметные победы, которым предпочитают громкие, очень важны.

Я думаю, что по рассказу о незаметных победах можно понять человека. Я думаю, что они позволяют человеку определиться с тем, что же его привлекает, какие достижения, что из одинаково доступного сейчас интересней всего добиваться.
with Cat The Cat

Еще из кино.

Хорошие детективы содержат больше правды жизни, чем любые руководства по проектированию:
Porter: Who makes the decisions?
Carter: Well, a committee would make the decision in this case...
Porter: One man... you go high enough you always come to one man... who?
Ричард Старк, он же Дональд Вестлейк. У нас эта вещь издавалсь под названием Расплата, и фильм так же называется.

Только в книге Портер круче, чем в фильме.
with Cat The Cat

Все-таки, стоит поделиться.

Статья о том, как в компиляторе поменяли представление графа с изменяемого (как бы это было сделано в C++) на декларативное (а-ля Data.Graph.Inductive). Сам компилятор написан на OCaml, как я понял.

Сперва о результатах: код уменьшился практически втрое, многие оптимизации стали возможны и скорость работы увеличиласть на 10%.

Еще мне понравился подход к тестированию: в тестовом скрипте есть некий параметр "количество преобразований." Он регулирует общее количество преобразований в компиляторе (то есть, не сколько раз необходимо применить одно преобразование, а если A надо применить 10 раз и затем B применить 10 раз, а число преобразований 15, то B будет применено всего 5 раз). Это позволяет отыскать источник ошибки двоичным спуском.