30 апр. 2013 г.

Envelope

Вспомнил ещё про одну хорошую, годную короткометражку. Фильм "Конверт" с Кевином Спейси в главной роли. В принципе, наличие Спейси вытягивает любой фильм, а некоторые (American Beauty, K-PAX) превращает в шедевры. Здесь же Кевин снялся уже изрядно постаревшим, но сохранившим свою офигенную мимику.
Фильм якобы основан на реальных событиях и изображает Soviet Russia, но это всё херня собачья. На самом деле, это просто очень интересная короткометражка, сюжет которой крутится вокруг странного хобби главного героя - рассылки конвертов несуществующим адресатам по всему миру.
Рашка глазами американцев такая Рашка. Ладно ещё сомнительного вида самолёт на не менее сомнительном аэродроме, лежащем средь обамовских пустынь. Больше лулзов вызывает тот факт, что главный герой проверяет почтовый ящик через неделю после отправки письма в Новую Зеландию. Да-а, Советская молоткасто-серпастая почта - это тебе не Почта Роисси.

Sight


Наткнулся на очень сильную короткометражку, а именно фильм Sight от Eran May-raz и Daniel Lazo, снятый в качестве выпускной работы из академии искусств "Бецалель" (Израиль).
Жанр короткометражки - научная фантастика. Фильм рассказывает нам о не столь отдалённом будущем, создаваемом прямо сейчас айфонами, гуглоглассами и фейсбуками.
Очень рекомендую к просмотру. Последняя сцена так вообще прекрасна.
Смотреть на Vimeo

24 апр. 2013 г.

Amlogic MX3

Суть поста одной фоткой: 
Это такой китайский инновационный метод припаивания разъёмов к плате с помощью паяльной пасты и воззваний к Будде

Получил тут из Китая долгожданный девайс Amlogic MX3 - это такой свисток с двумя ядрами Cortex A9 на борту, Android 4.0.4, могущий в Full HD и всё такое.
Я приобретал это устройство для замены стационарника в качестве базы для серфинга, постинга, редактирования/заливания фоточек и изредка для хождения по ssh на определённые сервачки.
Конкретно этот девайс был выбран из-за того, что несёт на борту VGA-разъём (точнее, micro USB с переходником на VGA),  в то время как конкуренты снабжены лишь HDMI выходом.
Внешний вид устройства (оно очень маленькое - меньше старого телефона от Nokia + совершенно невесомое)

Выход для звука, какой-то хрени и питания (порт для подключения штатной шайтан-коробки)

HDMI разъём припаян на славу, а VGA держится на честном слове

Комплект поставки. Виден сам девайс, шайтан-коробка с 3мя USB-портами и RJ45, переходник HDMI. Адаптера питания в комплекте нет.

Плата после вскрытия девайса. Вскрытие происходило с использованием раскалённого полотна, так как китайцы проявили невиданное ранее усердие в совершенно ненужном месте и проклеили весь периметр стыка коробочки. Невиден отсутствующий разъём VGA (правый верхний угол платы), а также радиаторы на ЦП...

...и на чипе видеокарты.

На мой вопрос, брак ли это сборки, продавец ответил предельно честно: "У нас вся сборка такая, если хочешь, попробуй попросить кого-нибудь пропаять его у себя там в России.".

В целом устройство можно описать коротко: Китай.

01 апр. 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 дней, например.

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