понедельник, июля 31, 2006
Статья "How to drive developers crazy with issue tracking"
How to drive developers crazy with issue tracking - сборник вредных советов по пользованию багтракинговой системой. Несмотря на то, что статья явно юмористическая, она получилась очень жизненной. Смех сквозь слезы получается.
пятница, июля 28, 2006
Синхронизация времени в Windows XP
Настраивала тут синхронизацию времени на своей машине... В Windows XP есть штатное средство синхронизации времени: Control Panel -> Date, Time, Language, and Regional Options -> Date and Time -> Internet Time. Но синхронизуется оно раз в неделю и интерфейса для настройки интервала времени нет. Если нет интерфейса, это вовсе не значит, что интервал нельзя настроить. Нужно подредактировать ключ в реестре: HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services \W32Time\TimeProviders\NtpClien, ключик SpecialPollInterval. Там указано время в секундах, по умолчанию 604800 - одна неделя. Если нужен один час, ставим 3600.
Если стандартная синхронизация времени чем-то таки не нравится, можно поставить какую-нибудь другую программку для этого. Я себе поставила Dimension 4. Но прежде чем включать другую синхронизялку, надо прибить Windows Time в Сервисах, а то оно конфликтует.
Updated 26.10.2009
Анонимный комментирует...
Главное добавь, что нужно перезапустить службу (Служба времени Windows).
Если стандартная синхронизация времени чем-то таки не нравится, можно поставить какую-нибудь другую программку для этого. Я себе поставила Dimension 4. Но прежде чем включать другую синхронизялку, надо прибить Windows Time в Сервисах, а то оно конфликтует.
Updated 26.10.2009
Анонимный комментирует...
Главное добавь, что нужно перезапустить службу (Служба времени Windows).
четверг, июля 20, 2006
Интервью с Эрихом Гаммой
Несколько интервью с Эрихом Гаммой, это один из авторов книги "Паттерны Проектирования". Интервью довольно старые, прошлогодние.
Part I: How to Use Design Patterns
Part II: Erich Gamma on Flexibility and Reuse
Part III. Design Principles from Design Patterns
Part IV. Patterns and Practice
Part I: How to Use Design Patterns
Part II: Erich Gamma on Flexibility and Reuse
Part III. Design Principles from Design Patterns
Part IV. Patterns and Practice
среда, июля 19, 2006
Восстановление данных с жесткого диска путем заморозки

Несмотря на то, что способ звучит анекдотично, почему бы и не попробовать? Хуже уже все равно не будет. В комментариях к вышеупомянутому посту народ рассказывает чудесные способы спасения данных этим способом.
Перед засовыванием диска в холодильник желательно его положить во что-нибудь. А то у одного из комментаторов он покрылся льдом, но когда слегка обтек, все равно заработал.
В комментариях идею активно развили, в том числе предложили несколько способов подключения жесткого диска, не вынимая его из холодильника.
понедельник, июля 10, 2006
Оценка производительности контейнеров
Standard Container Benchmark - программка, сравнивающая прозиводительность различных контейнеров. Задача, которая выбрана для оценки производительности: удаление дубликатов из последовательности чисел типа double. Примечательно в этой программке то, что ее написали Степанов со Страуструпом специально для программистов. Чтобы было удобнее выбирать контейнер для своей задачи, чтобы можно было сравнить различные реализации контейнеров, поэкспериментировать с настройками оптимизации в компиляторе. В результате получается что-то вроде такого:
Ссылки по теме:
comp.lang.c++.moderated Container Performance. Пост Страуструпа с этой программой, который вылился в обсуждение производительности контейнеров на разных платформах.
openwatcom.contributors OWSTL benchmark experiment. Сравнительно недавнее обсуждение прозводительности контейнеров в OWSTL.
size | array | vector with pointers | vector with iterators | deque | list | set | multiset |
10 | 1.91 | 2.48 | 4.66 | 8.20 | 22.50 | 6.95 | 11.05 |
100 | 1.39 | 1.34 | 3.09 | 4.67 | 8.52 | 5.03 | 7.22 |
1000 | 1.25 | 1.25 | 2.97 | 3.98 | 7.52 | 4.56 | 7.05 |
10000 | 1.41 | 1.31 | 2.75 | 3.77 | 8.28 | 4.81 | 7.61 |
100000 | 1.17 | 1.19 | 2.52 | 3.25 | 11.08 | 7.53 | 14.48 |
1000000 | 1.48 | 1.56 | 3.23 | 4.27 | 12.34 | 9.86 | 11.08 |
Ссылки по теме:
comp.lang.c++.moderated Container Performance. Пост Страуструпа с этой программой, который вылился в обсуждение производительности контейнеров на разных платформах.
openwatcom.contributors OWSTL benchmark experiment. Сравнительно недавнее обсуждение прозводительности контейнеров в OWSTL.
воскресенье, июля 02, 2006
Подсчет количества установленных битов в беззнаковом целом
Это одна из известных задачек, которую задают на собеседованиях: дано беззнаковое целое число, надо подсчитать количество бит, установленных в единицу. Как это сделать как можно быстрее?
Самый простой вариант - тупо пройтись по числу и проверить каждый бит. О скорости тут речь не идет. Несколько быстрее будет проверять последний бит, затем использовать операцию сдвига и после каждого сдвига проверять исходное число на 0.
Дела пойдут гораздо быстрее, если предподсчитать количество единиц. Это можно сделать для 8-битовых и 16-битовых целых, дальше уже сложнее...
На страничке Counting Number of On Bits in an Integer есть эти и другие, более мудрёные варианты решения этой задачи, все с примерами кода и с сравнением по скорости. Предподсчет быстрее всех.
Самый простой вариант - тупо пройтись по числу и проверить каждый бит. О скорости тут речь не идет. Несколько быстрее будет проверять последний бит, затем использовать операцию сдвига и после каждого сдвига проверять исходное число на 0.
Дела пойдут гораздо быстрее, если предподсчитать количество единиц. Это можно сделать для 8-битовых и 16-битовых целых, дальше уже сложнее...
На страничке Counting Number of On Bits in an Integer есть эти и другие, более мудрёные варианты решения этой задачи, все с примерами кода и с сравнением по скорости. Предподсчет быстрее всех.