суббота, 27 ноября 2010 г.

Видео-лекции по STL

Вышла восьмая часть, посвященная регулярным выражениям из <regex>.
Естественно, это для C++0x.

Как работают алгоритмы сортировки

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

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами.

Все это бегает и сортируется прямо на ваших глазах!

Взято отсюда.

std::min/std::max

Стандартную библиотеку С++ мы используем очень активно, включая алгоритмы.
В сочетании с заголовками Windows это дает иногда интересные эффекты с min/max, которые не глядя определены там как макросы...

среда, 10 ноября 2010 г.

Core Wars - сражение между программами

Недавно ездил к родителям разбирать свои старые вещи, включая подборки журналов - наткнулся на "В Мире Науки" ажно за 1989 год.
Вообще-то это перевод "Scientific American", но суть не в этом - в то время в журнале вел постоянную колону Alexander Dewdney, посвященную разным аспектами CS, оттуда-то я впервые и узнал про "войны в памяти"...

понедельник, 1 ноября 2010 г.

Exception handling cost

Наши программисты делятся традиционно на два лагеря - те, кто принимает и активно использует исключения, и те, кто терпеть их не может (чаще всего в итоге выясняется, что люди просто не обладают навыками exception-safe programming, но есть и реальные представители "старой школы").

вторник, 26 октября 2010 г.

понедельник, 11 октября 2010 г.

Homebrew Computer

Выдалась свободная минутка - уж не помню как, но вырулил на сайт любителей самодельных компьютеров.

Откровенно говоря, я думал, что создание такого рода самоделок скончалось лет 20 назад, однако я сильно ошибся...

понедельник, 20 сентября 2010 г.

Upgrade, No Upgrade....

Последняя попытка "бесшовного upgrade'a" с предыдущей версии нашей системы на вновь выпускаемую принесла много интересных открытий - одно из них заключается в том, что правильно модули Windows Installer вообще могут писать немногие...

четверг, 16 сентября 2010 г.

Неправильная работа "Repair" в инсталляции

Пришел баг от тестеров (проверяли перед релизом правильную работу установщика + upgrade с предыдущих версий).
Говорится, что при выполнении "Repair" для инсталляции система становится неработоспособна.
Пытаемся воспроизвести баг - ничего. Идем на стенд, воспроизводим - ничего.... Начинаем думать...

пятница, 27 августа 2010 г.

GoogleWave::~GoogleWave

Забавно, вернулся из отпуска и сразу наткнулся на "новость" - Google закрыла свой сервис, который стартовал с такой помпой год назад...

воскресенье, 4 июля 2010 г.

Container as a stream

Стандартная задача - имеется код, использующий iostream, хочется уметь получать поток из данных в каком либо контейнере.
Т.е. хочется обеспечить функциональность, аналогичную strstream, но без характерных для последнего плясок.

понедельник, 14 июня 2010 г.

static assert & Co

Достаточно недавно получил некоторе количество ехидных комментариев за ручную проверку инвариантов при создании своего шаблона (в критичном по времени выполнения месте внутри цикла я проверял полное совпадение битовых флагов у двух разных структур, чтобы можно было безнаказанно перекинуть набор флагов из одной в другую прямым копированием).
По ходу поговорили и про static_assert'ы, которые я реализовал в этом месте самостоятельно, не подключая тот же boost...

суббота, 5 июня 2010 г.

Git & SVN - постепенная миграция

Тема совместной работы c помощью связки svn/git некоторое время назад была достаточно популярной, попробовал - остановило в то время отсутствие приемлемого Windows-клиента для git, желательно похожего на TortoiseSVN...

вторник, 1 июня 2010 г.

DCLP - Вселенское Зло #2

Забавно, как все-таки иногда все поворачивается...
Недавно я писал про пойманное использование этого антипаттерна, но только что выяснилось, что я несколько погорячился с диагностикой...

среда, 19 мая 2010 г.

Анатомия boost::bind

Не знаю, является эта тема моветоном или нет, только что "на спор" написал свой набросок реализации...

среда, 17 марта 2010 г.

DCLP - Вселенское Зло

с утра посмотрел на останки приложения (поступил развернутый минидамп) - после некоторых усилий мне удалось получить результат.

четверг, 4 марта 2010 г.

Интеллектуальный clipboard

При массовых модификациях кодов иногда очень хочется, чтобы Clipboard мог хранить не один фрагмент, а целую кучу, примерно так, как это делает Microsoft Office.

Лично мне эта проблема не сильно актуальна, поскольку я в основном веду разработку в Visual SlickEdit (там такая возможность встроена), но иногда хочется иметь такую возможность и при работе в других редакторах.

Вот здесь можно найти Ditto - программу, которая осуществляет интеллектуальное управление Clipboard'ом.

В отличие от многих других программ, она даже, кажется, нормально работает и достаточно удобна в использовании.

вторник, 5 января 2010 г.

serialcom

Нактнулся на очень приличную программу, позволяющую отлаживать потоковые протоколы, работающую через последовательные порты или TCP/IP.
Находится она здесь.