1 апр. 2013 г.

День почтальона

Т.к. сегодня наша славная Потча Роисси отмечает профессиональный праздник, я решил описать ещё одно почтовое отправление, вызвавшее во мне ПАТРИОТИЗМ.
Итак, это было заказное письмо, отправленное из Москвы в Москву (лень было ехать на другой конец города).
Какие почтой устанавливаются сроки доставки я не знаю, ибо на их сайте можно заблудиться и помереть с голоду. Но мне письмо шло 2 недели. При этом подлые выблядки (лучей поноса вам, уёбки) из отделения 422 пробили в трекинг неудачную попытку вручения ещё до доставки извещения. К слову, извещение я получил 27 марта - через 2 дня после получения самого письма.
ОперацияДатаМесто проведения операцииАтрибут операцииВес (кг.)Объявл. ценность (руб.)Налож. платёж (руб.)Адресовано
ИндексНазвание ОПСИндексАдрес
Приём12.03.2013 00:00117624Москва 624Единичный0,015--127422Москва
Обработка19.03.2013 11:00140992Московский Асц цех Флэтов и РпоСортировка---
Обработка20.03.2013 01:20140980Московский Асц цех ЛогистикиПокинуло сортировочный центр---
Обработка21.03.2013 00:00111948Москва МСП-3 Уч-48Покинуло сортировочный центр---
Обработка22.03.2013 09:42127422Москва 422Прибыло в место вручения---
Неудачная попытка вручения23.03.2013 07:34127422Москва 422Временное отсутствие адресата---
Вручение25.03.2013 00:00127422Москва 422Вручение адресату---
С днём дурака, дорогие выблядки Потчы Роисси.

28 мар. 2013 г.

Идёт охота на жуков, идёт охота...

Так уж получилось, что мне на работе перепало счастье поддерживать древнее чудовище, выполняющее функции проксирования запросов к СУБД.
По сути это демон, который принимает запросы в виде дампа объектов, выполняет их, сериализует ответ СУБД и шлёт клиенту.
Всё это барахло написано в виде серверного приложения, клиентской библиотеки и отдельной библиотеки, содержащей описание самих сериализуемых классов (описания таблиц, столбцов, условий выборки и типов запросов).
Проблема в том, что эта хрень течёт за неделю на 10 Гигабайт.
Я решил использовать valgrind для поиска утечек. Первый раз я удивился, когда обнаружил, что на нашем девелоперском серваке нет valgrind'а. Ну ладно, поставил. Хотя странно, вроде бы уже лет 5 разработка идёт...
Второй раз я удивился, увидев результат работы valgrind. За один запрос сервер утекает на 2-3 Мегабайта. В результатах была куча текущих методов, но все они являлись просто дефолтными конструкторами передаваемых объектов.
Смутная мысль посетила меня, чтобы подтвердиться при открытии исходников: да, виртуальными деструкторами мои предшественники свой код не баловали.
Добавляю виртуальные деструкторы (это был весьма муторный процесс в виду того, что отдельная либка представляла собой хидер в овер 1500 строк без единого шаблона с объявлением и реализацией 100500 классов и файл реализации в овер 3000 строк, который тоже был способен удивить случайного зрителя тщательно припрятанными объявлениями структур и классов), чтобы обнаружить, что утечки уменьшились лишь незначительно. Всё ещё течёт некий метод getClassName.
Я вчитался в его название и на меня снизошло классическое "Ну нахера, блиать!?".
Открыв хидер, я увидел в нём следующий кусочек няшного говнокода:

#if defined(Q_OS_UNIX)
#include
#define OMAKE_CLASSNAME_METHOD\
    virtual QString getClassName() const { int status; char * realname; \
    realname = abi::__cxa_demangle(typeid(*this).name(), 0, 0, &status); \
    return QObject::tr(realname); }
#else
#define OMAKE_CLASSNAME_METHOD\
     virtual QString getClassName() const { return QObject::tr(typeid(*this).name()).remove("const").remove("class").remove("struct").remove(" ");}
#endif 

Да, память, выделенную под realname, никто не удаляет. Но это мелочи по сравнению с той "архитектурой", которая потребовала введение этого метода.

Там же обнаружился ещё один кандидат в палату мер и говен:

#define OMAKE_NEWINTANCE_METHOD( C )\
virtual C* newInstance(){return new C();}

Вот такие авгиевы конюшни приходится разгребать.

15 мар. 2013 г.

Корпорация добра закрывает Google Reader 01.07.13

Я не знаю, как эта новость умудрилась просочиться мимо меня, но только сегодня я узнал, что гуглоуёбки с 1 июля этого года закроют Google Reader.
Ненависть моя не знает границ. Желаю им неудержимых лучей поноса на веки вечные.
Это единственный сервис гугла, который я использую каждый день.
Вот здесь можно подписать петицию против закрытия бла-бла-бла, на которую всем насрать.

Из альтернатив рассмотрел Яндекс.Ленту (богомерзкое поделие с интерфейсом в стиле всего прочего Яндекса) и Feedly (они пока что используют в качестве бэкэнда Google Reader API, но с 01.07.13 обещают своим пользователям прозрачный переход на собственную технологию).
На последнем сервисе я и решил остановиться.

P.S. Яндекс.Лента оказалась неспособной отображать фиды с blogspot.com. Межкорпоративные тёрки или просто баг?

25 февр. 2013 г.

Лучи любви в мелком пакете заказном

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

Итак, угораздило меня под новый год заказать в Китае пару посылок. Кто же знал, что кратчайший путь до Москвы из Гуанчжоу лежит через Брянск и Новосиб, и что посылки будут идти полтора-два месяца.
Первую посылку китайцы отправили 14 декабря в 9:43, вторую - в 10:53, но пределы Китая они покинули в обратном порядке - в 22:45 и 21:18 соответственно.
Далее их пути разошлись.
Первая посылка через 30 дней всплыла в Новосибирске, где её оперативно (менее чем за неделю) обработали и отправили в Москву. Затем прошло всего 16 дней, и посылка у меня в руках. Итого посылка ехала месяц и 10 дней:
Приём14 December 2012 09:43Китай 200949
Экспорт14 December 2012 22:45Китай CNSHAA
Импорт4 January 2013 12:13630982НОВОСИБИРСК PI-20,10100104001МОСКВА
Передано таможне5 January 2013 17:15630982НОВОСИБИРСК PI-20,10100
Таможенное оформление завершено5 January 2013 17:17630982НОВОСИБИРСК PI-2Выпущено таможней0,10100
Обработка8 January 2013 06:45630982НОВОСИБИРСК PI-2Покинуло место международного обмена0,00000
Обработка13 January 2013 13:33104001МОСКВА PCI-1Сортировка0,00000
Обработка18 January 2013 00:00102027МОСКВА-КАЗАНСКИЙ ВОКЗАЛ ПЖДП ЦЕХ-3 УЧ-3.4Покинуло сортировочный центр0,00000
Обработка21 January 2013 00:00111948МОСКВА МСП-3 УЧ-48Покинуло сортировочный центр0,00000
Обработка22 January 2013 13:53127422МОСКВА 422Прибыло в место вручения0,00000
Вручение24 January 2013 00:00127422МОСКВА 422Вручение адресату0,10100

Второй посылке повезло меньше. Более чем через месяц она обнаружилась в Брянске (смотрим на глобус, ищем на нём Гуанчжоу, Москву и Брянс, охреневаем). Оттуда она пинком отправилась в Нерезиновую, где и была вручена получателю. Итого чуть менее двух месяцев, блиать.
Приём14 December 2012 10:53Китай 200949
Экспорт14 December 2012 21:18Китай CNSHAA
Импорт19 January 2013 14:53241982БРЯНСК PI-20,10700101000МОСКВА
Передано таможне20 January 2013 18:41241982БРЯНСК PI-20,10700
Таможенное оформление завершено20 January 2013 18:54241982БРЯНСК PI-2Выпущено таможней0,10700
Обработка21 January 2013 18:17241982БРЯНСК PI-2Покинуло место международного обмена0,00000
Обработка26 January 2013 14:52104001МОСКВА PCI-1Сортировка0,00000
Обработка1 February 2013 00:00102027МОСКВА-КАЗАНСКИЙ ВОКЗАЛ ПЖДП ЦЕХ-3 УЧ-3.4Покинуло сортировочный центр0,00000
Обработка3 February 2013 00:00111948МОСКВА МСП-3 УЧ-48Покинуло сортировочный центр0,00000
Обработка5 February 2013 07:54127422МОСКВА 422Прибыло в место вручения0,00000
Вручение7 February 2013 00:00127422МОСКВА 422Вручение адресату0,10700
Ну и последний трек, заказ из Сингапура. Посылка где-то месяц пряталась, после чего была обнаружена на каком-то задрипанном складе в Москве, оперативно (за 10 дней всего) обработана и выдана.
Экспорт19 January 2013 10:58Сингапур SGSINJ
Прибытие в ММПО19 January 2013 10:58Сингапур SGSINJ
Импорт12 February 2013 10:17104001МОСКВА PCI-10,47800127422МОСКВА
Передано таможне13 February 2013 02:50104001МОСКВА PCI-10,47800
Таможенное оформление завершено13 February 2013 02:53104001МОСКВА PCI-1Выпущено таможней0,47800
Обработка17 February 2013 00:00111985МОСКВА МСП-3 УЧ-5Покинуло сортировочный центр0,00000
Обработка17 February 2013 00:51104001МОСКВА PCI-1Покинуло место международного обмена0,00000
Обработка19 February 2013 00:00111948МОСКВА МСП-3 УЧ-48Покинуло сортировочный центр0,00000
Обработка21 February 2013 08:16127422МОСКВА 422Прибыло в место вручения0,00000
Вручение22 February 2013 00:00127422МОСКВА 422Вручение адресату0,47700
При этом у продавцов, чьи посылки и пыталась оперативно доставить Почта России, значится среднее время доставки посылок 10-15 дней. Вна Украину под Новый год посылки шли за 8 дней, например.

Шлю лучей любви Почте России через Брянск и Новосиб.

23 февр. 2013 г.

Московские PHP-госуслуги

Московский портал госуслуг такой портал.

PHP-программисты набигают.

18 окт. 2012 г.

Ройбуш - бобовый чай

Ройбуш - это такой южноафриканский кустарник семейства бобовых. Его измельчённые веточки и идут на изготовление напитка "ройбуш" (или ройбос, или ещё дохрена разных транслитераций одного названия).
По хорошему, ройбуш надо варить, но, само собой, я не заморачивался и просто заваривал его в френч-прессе. Время заварки у этого напитка немаленькое (минут 10 надо дать настояться). Повторное заваривание ройбуш выдерживает, вкус не меняет. Надо бы как-нибудь его действительно сварить, возможно, он станет ещё вкуснее.
Вкус у ройбуша очень приятный, мягкий, чем-то напоминает карамель.
У этого напитка естественная сладость, сахара не требуется.

Я пил вот такой ройбуш с земляникой:
Здание в восточном стиле, изображённое на упаковке, является памятником профессиональной импотенции дизайнера, у которого в мозгу доминирует совковая ассоциация "экзотический чай = китай".

Земляника очень удачно дополняет сладковатый вкус ройбуша.
Цвет у настоя очень красивый, глубокий красный. Сам настой несколько гуще чая.
В общем, очень приятная штука этот ройбуш, буду брать ещё.

17 окт. 2012 г.

Анальная оккупация МИФИ

Меня ещё во время участия в олимпиадах по программированию заинтересовал "феномен МИФИ": сильные команды этого ВУЗа куда-то исчезли, а оставшиеся сливали всё и вся.
Кажется, я теперь знаю почему.

Собственная кафедра теологии появилась в московском инженерно-физическом институте.
Новое учебное подразделение возглавил глава отдела внешних связей Патриархии митрополит Илларион.
...
По словам главы кафедры митрополита Иллариона, МИФИ должен стать местом «плодотворного сотрудничества православного богословия и современной науки»

Я не понимаю, почему у нас кафедры теологии занимаются православным богословием, а не поиском фактологических и логических ошибок в священных писаниях и изучением влияния иудейской мифологии на европейские религиозные течения.
Сразу вспомнил вот это:

Горжусь Роиссей, блиать!