2009-03-15

pi day

Классный постер для фанатов числа Pi (pdf)

2009-02-22

Игрушки астрономов

Любителям хешей и больших массивов данных будет интересно
Making the Sky Searchable: Fast Geometric Hashing for Automated Astrometry

Визуализация музыкальной коллекции

http://thesis.flyingpudding.com/

Интересная работа Anita Lillie из MIT Media Lab - программа анализирует различные аудиоданные музыкальных файлов, а потом строит 3d картинку коллекции группируя музыку по некоторому критерию "близости". Само приложение, к сожалению, недоступно, в открытом доступе есть демо и текст диссертации ~10мб.



источник

2009-02-21

Кнопка Register стоимостью 300'000'000$

Замечательная история о том, как принудительная регистрация заставляла покупателей сбегать из интернет-магазина:
http://www.uie.com/articles/three_hund_million_button/

2009-02-07

Programming quotes

Некоторое время назад наткнулся на коллекции цитат по теме computer scince + programming. Подборка из (в меру) остроумных и редких/новых ниже:

Some people, when confronted with a problem, think "I know, I’ll use regular expressions." Now they have two problems - Jamie Zawinski


Walking on water and developing software from a specification are easy if both are frozen. -Edward V Berard


Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it. -Brian Kernighan


The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time. -Tom Cargill

Hofstadter's Law: It always takes longer than you expect, even when you take into account Hofstadter's Law.


It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter. -Nathaniel S Borenstein


The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' but 'That's funny...' -Isaac Asimov


There are only 3 numbers of interest to a computer scientist: 1, 0 and infinity


If debugging is the process of removing software bugs, then programming must be the process of putting them in. -Edsger Dijkstra


Debuggers don't remove bugs. They only show them in slow motion.


Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint Exupéry


Perl - The only language that looks the same before and after RSA encryption. -Keith Bostic


stackoverflow.com + www.hackification.com

2009-01-09

Cryptol

Любопытная новость - разработчики из некоей компании Галуа совместно со специалистами из АНБ сделали и опубликовали dsl для реализации криптографических алгоритмов.
Cryptol is a domain specific language for the design, implementation and verification of cryptographic algorithms

http://www.galois.com/technology/communications_security/cryptol

Спецификация содержит подробное описание синтаксиса, с большим количеством примеров, объем чуть больше 100 страниц.
Некоторые изыски синтаксиса выглядят непривычно. Однако надо отдать должное, примеры впечатляют, например реализация DES занимает 10 строк :)
В целом создатели языка обещают прямо-таки счастье для программистов, например в поставке идет волшебный тул для верификации реализации алгоритмов по их описанию (Cryptol may also be viewed as a framework for verification) (пока совершенно непонятно как оно работает). Вместе с тем, обещается поддержка массы платформ, включая встраиваемые системы, смарт-карты и FPGA.
Триал доступен реализован под win/linux/mac и доступен для загрузки, цена для коммерческого использования неизвестна.

Анонс

2008-09-25

Как не надо вести логи

Вчера убил больше шести часов времени и несчетное количество нервных клеток на установку MSVS 6. В самом конце инсталляции, возникала ошибка при попытке записи в реестр. Дальнейшее исследование показало наличие сразу двух причин такого поведения:

  • На системе был установлен свежий софт от MS (Visual Studio installation problems occur if Crystal Reports 8 is installed)

  • Тонкие глюки одной софтины для защиты системы (ирония была в том, что студия ставилась исключительно с целью модификации кода этой софтины )


Теперь подробно о проблеме. На завершающем этапе, инсталлятор выдавал сообщения об ошибке "setup error 168". В попытках докопаться до сути проблем, была обнаружена интересная статья How To Troubleshoot Visual Studio 6.0 Setup. Кратко суть рекомендаций сводится к использованию лога - при инсталляции программа внимательно слушает себя и на каждый чих делает по записи.
Так вот. Инсталлятор детально и тщательно отписался в лог о каждом действии (настолько тщательно, что общий объем лога был около 700 Кб). Не менее подробно описывались вносимые в реестр изменения. Указывались: ветка, ключ, тип, значение и статус Ok при удачном завершении действия - почти все, что надо для анализа. Почти - в случае возникновения ошибки запись в лог имела примерно такой вид:
"Произошла ошибка при записи в реестр! {Ok}" {Ok} - это выбор пользователя, в данном случае, единственная кнопка на окне. Вместе с той широкой информацией об успешных операциях, такое сообщение выглядит ехидным издевательством.
Господа, огромная просьба, никогда, никогда не пишите таких сообщений об ошибке :)