воскресенье, 31 июля 2011 г.

Как правильно читать объявления в Си

Еще одно умилительное правило, которое так полезно на собеседованиях, но скорее всего не пригодится в реальной работе (в чем-то похоже пост про обход дерева наследования в С++) ;-)

среда, 15 июня 2011 г.

Список состояний конечного автомата

Подсмотрел у Алексея Пахунова
Все описанное относится к конечным автоматам, но никто не мешает применять эту технику и других подходящих ситуациях.
Лично мне это очень сильно напомнило подходы из BOOST_PP, но есть случаи, когда стоит "повоевать" и вручную...

Еще немножнко про патчи и апгрейды

Уже достаточно давно в наши основные навигационные продукты включена возможность "бесшовного" апргрейда на новые версии.

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

И вот под Новый год приключилась занимательная история...

суббота, 11 июня 2011 г.

Протокол ICQ открыли для альтернативных клиентов

Где-то с середины апреля IM-протокол ICQ открыли для альтернативных клиентов.

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

Свободно протокол (являющийся теперь собственностью Mail.ru) сможет использоваться некоммерческими клиентами. Разработчикам монетизируемых же клиентов Mail.ru предлагает обсудить условия партнерства.

Если честно, то по-моему ребята немного опоздали... Провал попыток перевести всех на официальный клиент очевиден уже давно, к тому же они должны были провоцировать отток клиентов от ICQ вообще (например, из всех моих знакомых официальным клиентом пользовались только три человека).

Так что на радужные ожидания относительно развития новых альтернативных клиентов я смотрю с определенным скепсисом... Тем более при наличии набравшего популярность XMPP :-)

Четыре вида метаданных NTFS

Не обращали внимания, что при скачивании файла из интернета после запуска исполняемого файла пользователь можно увидеть сообщение «Не удаётся проверить издателя. Вы действительно хотите запустить эту программу» ?.

Делается это за счет добавления в момент скачивания к файлу дополнительного потока Zone.Identifier, который содержащий информацию о том, из какого места получен данный файл и последующего анализа этого потока перед запуском.

Про дополнительные потоки NTFS за столько лет не писал только ленивый, но вот здесь есть неплохая статься, которая систематизирует типы метаданных, которые могут быть присоединены к файлу или каталогу средствами файловой системы NTFS.

Еще одна визуализация ряда алгоритмов и структур данных



Университет Сан-Франциско создал с использованием HTML5 коллекцию визуализаций различных алгоритмов и структур данных. Посмотреть и потыкать кнопки можно вот тут.

Центральный процессор – дома с нуля

Вот здесь можно посмотреть любопытный пост про самодельные процессоры (всякие ухищрения типа использования больших ПЛИС старших моделей Xilinx/Altera не считаются).
Особенно мне понравился этот вариант:

Да и название у него соответсвтующее - "BMOW" (Big Mess of Wires). Видимо, помимо прилежания и способностей, автор еще и чувством юмора отличается...

Телепередачи

Прислали тут ссылочку на старую передачу о родной компании...
Оказалось даже интересно посмотреть - при взгляде "снаружи" все это впечатляет намного больше, чем когда "варишься" в этом всем годами изнутри :-)

С-история из древности

Давным-давно, на заре истории С-программисты при объявлении и определении функций не ставили пробелы между именем функции и открывающей круглой скобкой, а при вызове функций — ставили...

четверг, 9 июня 2011 г.

Жизнь вертится...

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

четверг, 24 февраля 2011 г.

Удаленная отладка

Меня всегда поражали люди, которым недостаточно предъявить проблему, возникающую в процессе тестирования, в том же WinDBG/ntsd, даже достаточно детально разжеванную - начинаются какие-то малопонятные разговоры про неудобную среду, необходимость установки для полноценной отладки Visual Studio на целевую машину и так далее. Между тем, при наличии локальной сети проблема чаще всего решается элементарно...

вторник, 1 февраля 2011 г.

Выданы последние блоки IPv4/8

В результате запроса от APNIC (общий реестр для Азии и Тихоокеанского региона) на предоставление двух блоков IPv4/8, последние пять были распределены оставшимся RIR-ам (по политике RIPE-436)...

Интересно, насколько этого резерва хватит, и когда начнется по-настоящему массовая миграция на IPv6?

среда, 26 января 2011 г.

Мини-Ватсон

В силу специфики продуктов Transas'a мы устраиваем перед выпуском продуктов массированные
тестовые прогоны приложений, работающих в разных условиях, в частности в условиях активной
работы пользователя с продуктом (здесь 24/7 в течение всего периода испытаний работают
средства автоматического тестирования).

Поначалу программы время от времени "падают", от этого пока никуда не деться.
Наиболее простым (и результативным) способом отладки в таких случаях является использование
post-mortem отладчика, который активируется в системе (для WinXP это Dr.Watson,
для Windows 7 - подсистема Windows Error Reporting (WER) ).

четверг, 13 января 2011 г.

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

Вышли девятая и десятая части - (rvalue references и type traits).

The Lonely Compiler

Увидел, что Евгений Зуев (The Lonely Compiler), помимо блога создал собственный сайт.

Широким массам он может быть известен по древней статье "Редкая профессия", кажется, года 1997-го.

Поскольку сам я по молодости интересовался схожей тематикой (теория формальных языков, разработка компиляторов), мне было интересно покопаться :-)

Snorkel Embedded Web Server

Недавно случайно наткнулся на очередную библиотеку для органицации встроенного Web-сервера - Snorkel Embedded Web Server.

Его API мне понравился несколько больше чем у Mongoose, который я использую в наших мелких утилитах, вдобавок, в отличие от него, поддерживается keep-alive, что немаловажно при интенсивном автоматизированном общении приложений через HTTP.

Использовать его у себя мы вряд ли будем (он без исходных текстов, хоть и с CPOL-лицензией), да и разводить целый зоопарк серверов не стоит (у нас есть свой вариант + "легкий" Mongoose), но внимания этот вариант, безусловно, заслуживает.

Ручная расшифровка параметров брошеных C++ исключений (0xE06D7363)

Иногда проблемы приходится исследовать в практически “спартанских” условиях (чаще всего тогда, когда в вашу систему входят компоненты от третьесторонних поставщиков, которые не удосуживаются снабдить вас отладочными символами - мотивация этой глупости при этом может быть абсолютно любой и к делу не относится).

Application verifier

Есть множество инструментов, помогающих в отладке программ под Windows. Какие-то лучше, какие-то хуже. Какие-то проще, какие-то сложнее. А можно ли выделить самый простой и полезный способ тестирования программ? Все полезны по-своему и про все стоит рассказать. Но есть категория достаточно простых в использовании инструментов, которые дают, тем не менее, очень ощутимый эффект. Application Verifier как раз из таких...

C Новым годом!

Заодно с Рождеством, вторым НГ (как раз сегодня) и всеми остальными пропущенными праздниками :-)

Что-то я с декабря сначала крепко забегался, потом крепко расслабился на праздниках, и очнулся только сейчас :-))
За это время накопилось некоторое количество недооформленных постов, которые я клятвенно обещаю завершить и выложить в самое ближайшее время...