Это сайт — моя персональная записная книжка. Интересна мне, по большей части, история, своя жизнь и немного программирование.

Libmapi писали индусы?

Есть ощущение, что некоторые части libmapi писали индусы. Напоминаю, что libmapi — библиотека для общения с Microsoft Exchange Server, к которой я пишу биндинг в Python с использованием ctypes.

Некоторые вызовы я предпочёл переписать на Python, так как код содержит баги и глупости. Например, мне приходит (в терминах Python) массив событий. Приходят два «слова», два числа, которые содержат дату/время старта и окончания. Числа приходят в минутах, например, чтобы узнать какой там указан день, нужно нацело разделить число на 1440 (количество минут в сутках) и прибавить один.

В итоге, я вычисляю всё вот так (часовой пояс я ещё не умею определять):

last   = event_end - event_start
        day    = event_start // 1440
        hour   = (event_start - day * 1440) // 60
        minute = event_start % 60
        day += 1

Авторы libmapi делают куда затейлевее:

for (hour = 0; hour < 24; hour++) {
    if (!((event_start - (60 * hour)) % 1440)) {
        // значит мы нашли час, который указан в событии

        day = ((event_start - (60 * hour)) / 1440) + 1;
        last = event_end - event_start;
    }
}
7 комментариев
dizzy57.blogspot.com 2008

event_start — day * 1440 == event_start % 1440

Евгений Степанищев (bolknote.ru) 2008

Комментарий для dizzy57.blogspot.com:

Нахождение остатка разве не «дорогая» операция?

ninjacolumbo.ya.ru 2008

Хорошую религию придумали индусы.

Евгений Степанищев (bolknote.ru) 2008

Комментарий для ninjacolumbo.ya.ru:

Что мы, отдав концы, не умираем ​насовсем.

gaius-julius.livejournal.com 2009

Комментарий для Евгения Степанищева:

Если бы индусские программисты проповедовали описанную религию, то они бы, наверное, не обращались бы со своей кармой так безрассудно (-:

Евгений Степанищев (bolknote.ru) 2009

Комментарий для gaius-julius.livejournal.com:

С тех пор как Пифагор придумал им перерождения, они очень легко отказываются от текущей «неудачной» жизни в сторону новой.

gaius-julius.livejournal.com 2009

и как им не страшно-то умирать-то. Ведь если туп как дерево — родишься баобабом и будешь баобабом тыщу лет пока помрёшь.

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

Жизнь другая, но карма-то у них персистентна (-:

А если серьёзно, то, помниться, цель — спрыгнуть с колеса перерождений путём правильной жизни.