September 9th, 2007
Смотрю Адвоката Дьявола.
Сильная штука.
У Никулина в его автобиографии был анекдот про супержонглера, который десять лет учился жонглировать спичками. Это практически невозможно, но он выучился.
Когда он вышел на арену, никто не смог оценить его достижения, потому, что не разглядел.
Незаметные победы, которым предпочитают громкие, очень важны.
Я думаю, что по рассказу о незаметных победах можно понять человека. Я думаю, что они позволяют человеку определиться с тем, что же его привлекает, какие достижения, что из одинаково доступного сейчас интересней всего добиваться.
У Никулина в его автобиографии был анекдот про супержонглера, который десять лет учился жонглировать спичками. Это практически невозможно, но он выучился.
Когда он вышел на арену, никто не смог оценить его достижения, потому, что не разглядел.
Незаметные победы, которым предпочитают громкие, очень важны.
Я думаю, что по рассказу о незаметных победах можно понять человека. Я думаю, что они позволяют человеку определиться с тем, что же его привлекает, какие достижения, что из одинаково доступного сейчас интересней всего добиваться.
Еще из кино.
Хорошие детективы содержат больше правды жизни, чем любые руководства по проектированию:
Только в книге Портер круче, чем в фильме.
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?
Только в книге Портер круче, чем в фильме.
Еще на тему запоминания результатов в (бесконечных) структурах.
Trie и их производные, с применением типов классов и другой тяжелой артиллерии.
Все-таки, стоит поделиться.
Статья о том, как в компиляторе поменяли представление графа с изменяемого (как бы это было сделано в C++) на декларативное (а-ля Data.Graph.Inductive). Сам компилятор написан на OCaml, как я понял.
Сперва о результатах: код уменьшился практически втрое, многие оптимизации стали возможны и скорость работы увеличиласть на 10%.
Еще мне понравился подход к тестированию: в тестовом скрипте есть некий параметр "количество преобразований." Он регулирует общее количество преобразований в компиляторе (то есть, не сколько раз необходимо применить одно преобразование, а если A надо применить 10 раз и затем B применить 10 раз, а число преобразований 15, то B будет применено всего 5 раз). Это позволяет отыскать источник ошибки двоичным спуском.
Сперва о результатах: код уменьшился практически втрое, многие оптимизации стали возможны и скорость работы увеличиласть на 10%.
Еще мне понравился подход к тестированию: в тестовом скрипте есть некий параметр "количество преобразований." Он регулирует общее количество преобразований в компиляторе (то есть, не сколько раз необходимо применить одно преобразование, а если A надо применить 10 раз и затем B применить 10 раз, а число преобразований 15, то B будет применено всего 5 раз). Это позволяет отыскать источник ошибки двоичным спуском.