Евгений Степанищев

Я — эксперт в области разработки веб-приложений и безопасности в интернете. Каждый месяц мой блог посещают около 90 тысяч человек. Работаю техническим директором в «Системах документооборота», занимаюсь электронным правительством.

Libmapi: повторяющиеся встречи

Если вы когда-либо будете использовать libmapi, для чтения рекуррентных (повторяющихся) встреч, то знайте, что вызов get_RecurrencePattern в текущей (0.8.2) версии читает даже близко не всё, что нужно, а структура RecurrencePattern, которая возвращается этим вызовом, не дописана для большинства типов встреч.

Так что, увы, придётся получать поле PidLidAppointmentRecur (не забудьте, что его ID нуждается в трансляции через mapi_nameid_GetIDsFromNames) и самостоятельно его парсить. Документация от Microsoft есть — документ MS-OXOCAL. Поздравьте, я справился.
4 комментария
30 марта 2009 20:07

Дванка

Посмотрите-ка, камень в мой огород от старой злопыхательницы:

Кстати, 2anka читается вовсе не как «туанка» и уж тем более не как «дванка», как думают многие малообразованные люди. Моно-, ди-, три-, тетра-, пента- и т.д. греческие числительные Думаю, теперь все ясно
Я один из тех, кто читает как «2anka» как «дванка». Ну, и чтобы блеснуть образованностью и потроллить, замечу, что приведённые «числительные» на деле префиксы (приставки), хоть и греческие, а соответствующие им исторические числительные: монос, дис, трис, теттарес и пенте.

И «2anka» не содержит ни одной греческой буквы, а цифру «два» греки записывали как «βʹ», причём, это распространено и в современном греческом, только буквы сейчас в верхнем регистре. Так что «дианка» должна быть записана как «Βʹ ανκα».

Кстати, у меня было хобби в детстве — записывать иностранные алфавиты, их историю и учить это наизусть. Штук 12 собрал по книгам, потом надоело. С интернетом проще, да.
20 комментариев
28 марта 2009 16:40

Проблемы с кодеком Indeo5 под Vista и Windows 7

Если у вас, так же как у меня не ставится кодек Indeo5 под Windows Vista или Windows 7 (в конце возникает ошибка о невозможности зарегистрировать кодек), просто проигнорируйте ошибку и запустите с правами администратора строку:

regsvr32 %WINDIR%\system32\ir50_32.dll
4 комментария
28 марта 2009 14:16

Основы MAPI. Ирвинг де ла Круз, Лес Талер

Нашёл в интернете, в интернет-магазине «Магистр» Ростова-на-Дону ровно одну книжку «Основы MAPI» 1997-го года выпуска. Книжка настоящий раритет: одна на весь интернет и та побывала в воде. Купил с доставкой всего за каких-то 190 рублей.

Как жаль, что этой книги у меня не было три месяца назад, когда я только-только сел на MAPI, многое стало бы понятно без той кучи экспериментов, которые я проводил. Должен отметить, что с 1997-го года в MAPI никаких изменений я не вижу (12 лет прошло), правда я ещё далеко не всю книгу просмотрел.
Комментировать
27 марта 2009 14:47

«Если ты такой богатый, почему такой глупый»

Одна из народных поговорок, которая меня невероятно раздражает это «если ты такой умный, почему такой бедный». К способности заработать денег ум прямого отношения не имеет, скорее тут нужно качество, которое, вероятно, имеет отношение к предприимчивости. А разница между умом и предприимчивостью такая же, как между тактикой и стратегией или программированием и разработкой: ум, скорее имеет отношение к способности отвечать на сложные вопросы, тогда как предприимчивость — к способности задавать правильные вопросы.

Ещё многие путают ум и эрудированность, но это другая тема.
19 комментариев
27 марта 2009 13:42

Где в словах «доброе утро» смысл?

Утром я обычно захожу на сайт «Вконтакте» и отправляю жене что-то вроде «доброе утро, любимая!». Ответило «Вконтакте» мне, качая головой:

Вы только что попытались отправить сообщение, относящееся к так называемым 'письмам-цепочкам'. Такие письма загружают сервер и обычно не несут смысловой нагрузки (ложные сообщения о 'вирусах', послания, заканчивающиеся угрозами и т.д.). Отсылка таких писем на нашем сайте не приветствуется.
Какой-то особенной смысловой нагрузки моё сообщение действительно не несёт, да. Пришлось отправить более осмысленное предложение: «Д о б р о е у т р о, л ю б и м а я!».
16 комментариев
27 марта 2009 10:43

Opera и GeoIP

В конце 2008-го года в W3C появился черновик спецификации Geolocation API — технологии, позволяющей приложению в браузере узнать географические координаты компьютера на котором оно исполняется. Используется информация от GPS (если он есть), MAC-адресов окружающих WiFi и BT точек, сигналы RFID-меток, а так же информация с GSM/CDMA сот. В общем, что доступно.

В JavaScript это выглядит примерно так:
    function showMap(position) {
      // Show a map centered at (position.coords.latitude, position.coords.longitude).
    }

    // One-shot position request.
    navigator.geolocation.getCurrentPosition(showMap);
Тем, кто видел Google Gears это уже знакомо. Причём, в момент, когда клиентское приложение в первый раз пытается получить координаты, браузер задаёт пользовалю вопрос, разрешает ли пользователь узнать приложению его координаты.

К чему это я всё вёл. Вчера появился специальный билд «Оперы», поддерживающий GeoIP. Что, правда, ничего не говорит о сроках внедрения технологии в стабильную версию. Например, тег VIDEO появился в эксперементальном билде аж в конце 2007-го, а специльный билд, проходящий ACID3, вышел в начале 2008-го. А первая публичная версия, которая будет проходить ACID3 и содержать тег VIDEO — Opera 10. Которая даже пока ещё не в стадии бета-тестирования.

Здравствуй, «Докер»!

Docker (2.48КБ)

В субботу буду переезжать на новый хостинг — Docker. Погонял на тестовом домене — всё работает нормально, надеюсь, багов не огребу, но, если на выходных будут перебои с работой сайта, знайте — это нормально.

Выбирал я между двумя компаниями — «Докер» и «Дипхост». «Докер» выбрал по двум причинам: технической (по запросу ставят любые дополнительные модули) и экономической (предложили специальные условия).
10 комментариев
26 марта 2009 13:27

Наблюдение

Самые бесполезные для меня знания я получаю из фраз, начинающихся «мало кто знает, что…», а наиболее полезные из тех, что начинаются с «большинство уверено, что…».
8 комментариев
25 марта 2009 15:36

«Мастерхост», больше не звони, а?

Посоветуйте, пожалуйста, вменяемого и недорогого хостера. Много места мне не надо, даже базу данных не надо, нужен PHP5 с всякими стандартными модулями (cURL, например) и возможностью работать из скриптов с внешним миром (чтобы cURL пускало по HTTP и HTTPS во внешний мир).

«Мастерхост», на котором я сейчас, меня достал. Самые простые скрипты (из разряда залезть в папку с тысячей файлов и прочитать содержимое) выполяются десятые доли секунды (!), постоянно скачет время на сервере, появляются какие-то сложноотлавливаемые глюки: например, недавняя проблема с комментированием, которая появилась, судя по всему, из-за какой-то перенастройки «Мастерхостом» reverse proxy.

В общем, кто на чём хостится и почему?
22 комментария
25 марта 2009 14:12

Спецификации Microsoft

Читаю спецификацию Microsoft про рекуррентные встречи в Exchange ([MS-OXOCAL]):

SHOULD be 0x00002023 but MAY be 0xFFFFFFFF
Т. е. «должно быть 0x00002023, но может быть 0xFFFFFFFF».
Комментировать
24 марта 2009 20:50

Дима Смирнов уволился из «Яндекса»

Ничего не предвещало…

Многим известный Дима Смирнов уволился из «Яндекса» по собственному. Куда уходит отказывается, зараза, говорить.
8 комментариев
24 марта 2009 18:55

Браузеры: порядок загрузки и количество одновременных соединений

Для интереса написал на PHP небольшой скрипт для анализа сколько соединений открывают браузеры и в каком порядке они грузят данные. Создал HTML-файл, внутри 30 включений: по 10 на CSS, GIF и JavaScript. Favicon включён и как «icon» и как «shortcut icon».

Вот что получилось (считаются одновременные соединения):
12 комментариев
24 марта 2009 14:15

Far 2.0: открываем файлы в UTF-8

FAR 2.0 alpha, как известно, умеет работать с файлами в Unicode-кодировках. А вот открывать файлы по умолчанию в UTF-8 пока не умеет.

Но этому его можно легко научить. Заходим в FAR, становимся на какой-нибудь текстовый файл в UTF-8 и нажимаем (запятые нажимать не надо):
Ctrl+., Shift+F4, Shift+Enter, ↓, Ctrl+↓, ↓, ↓, ↓, Enter, Enter, Ctrl+., F4

Всё, теперь новые файлы будут по F4 открываться в кодировке UTF-8.
35 комментариев
23 марта 2009 21:52

Раскрашивание прокрутки в WebKit

Я помню многие ругали Microsoft за то, что в IE когда-то появилась возможность задать стили для полос прокрутки. Честно сказать, и мне это казалось чем-то сомнительным. Прошло время и эти стили редко используются где-то, кроме «уютных дняфок» чёрно-розовых подростков и эксперементальных бастардов дизайнеров с вёрсткой.

Как бы то ни было, WebKit в свою новую сборку включил селекторы для очередных измывательств над полосой прокрутки (причём, отдельно для ресайзера, горизонтальной и вертикальной прокрутки).

Стилей там добрый мешок, лучше сходить на сайт «ВебКита» и посмотреть, а мне же нравится, что появился новый CSS-хак, который позволит выделять эту и выше версии «ВебКита» (и браузеров на нём). Например, он может выглядеть так:
noindex::-webkit-scrollbar, .someclass {
    color: red;
}
4 комментария
23 марта 2009 00:33