If a C programmer asks "do you want to see something cool?", run away.
--John Van Enk

Wednesday, September 12, 2012

happy 0xFF!

Всех причастных с Днем Программиста. Всем больше больших  и интересных задач ну и конечно же - изменить этот мир еще чуточку в лучшую сторону в следующем году :)

P.S. В такой день среда считается за пятницу :)

Friday, August 31, 2012

MongoDB MapReduce & Sharding Gotchas

tl;dr: это б....дь п........ц

Ну а те кто хочет прочесть историю печальную сию - ниже ее изложение.

Итак, "посчастливилось" мне попробовать MongoDB в реальном проекте (больше такого счастья не хочется почему-то). Основа проекта - бэкенд который делает интенсивный data crunching и расчет различных метрик основываясь на данных, которые хранятся в монго. Ну а поскольку в версии 2.0.x монго единственный способ делать агрегацию данных (sum, avg, etc) - MapReduce то именно при помощи его все это и считается. Одна незадача - статистика роста количества входных данных показывает что если все оставить как есть и ничего не менять то в ближайшем будущем упремся в потолок - для подсчета статистики и метрик будет уходить более суток, что не приемлемо. Соответственно возникла задача все это оптимизировать/отмасштабировать чтобы "считалось быстрее" и "все были счастливы" (product owner и customer'ы). С этого и началась моя "эпопея", которой могут позавидовать герои "Иллиады" Гомера.

Monday, July 2, 2012

Declaration of Internet Freedom


Подписал Declaration of Internet Freedom. Свой голос поставил здесь. Это очень важно, особенно в свете мирового заговора последних событий  (ненужное зачеркнуть) в ООН.

DECLARATION

We stand for a free and open Internet.
We support transparent and participatory processes for making Internet policy and the establishment of five basic principles:
  • Expression: Don't censor the Internet.
  • Access: Promote universal access to fast and affordable networks.
  • Openness: Keep the Internet an open network where everyone is free to connect, communicate, write, read, watch, speak, listen, learn, create and innovate.
  • Innovation: Protect the freedom to innovate and create without permission. Don’t block new technologies, and don’t punish innovators for their users' actions.
  • Privacy: Protect privacy and defend everyone’s ability to control how their data and devices are used.

Tuesday, June 12, 2012

Cypherpunks

Если вы еще не знали, то Джулиан Ассанж (да-да, тот самый основатель Wikileaks) - один из шифропанков - людей которые хотят чтобы ваши приватные данные и дальше оставались приватными не без помощи криптографии. Недавно на RT вышел эпизод в двух частях, посвященный этой тематике (http://assange.rt.com/cypher-punks-episode-eight-pt1/ , http://assange.rt.com/cypherpunks-episode-eight-pt2/). Я в общем-то тоже шифрую жесткие диски (не потому что мне оно нужно, а потому что могу), потому эпизод и дискуссия показалась мне достаточно интересной.

А на LWN тем временем обсуждают щекотливую тему распространения GPL кода в ракетах (милитари)  - Assume that someone fires a cruise missile on you and that there is a GPL component in the cruise missile.

Thursday, March 1, 2012

cat /dev/noise | grep signal

Вы все успеваете прочесть из того что попадает к вам в новостную ленту через гугл ридер, твиттер, фейсбук, etc.? А сколько из прочитанного стоило времени потраченного на прочтение? Я вот тоже не успеваю читать все, а прочитав что-то частенько жалею что потратил время впустую. Поэтому озадачившись этим вопросом некоторое время назад, я начал искать решение. Как обычно, оно оказалось старо как мир. Да, новостные рассылки - самое оно. Все началось с новостной рассылки Питера Купера

Ruby Weekly
потом

питонистам и джанговодам возможно будут интересны

любителям HackerNews

ну и DOU, конечно же (куда ж без него)

Преимущество подобных списков рассылки в том, что кто-то фильтрует информацию вместо вас, а вы тем самым экономите свое время.

Еще почитать:
Smashing Magazine - Email Newsletters Worth Subscribing To

Wednesday, January 18, 2012

Месяц с Unity или "В Поисках Идеального Десктопа"

    tl;dr - sudo apt-get install xubuntu-desktop

    Не так давно установил на рабочую машину последнюю версию Ubuntu (был повод - настройка full encrypted hdd через dm-crypt "на всякий случай", а случаи как известно бывают разные), однако я и не подозревал о тех радикальных новшествах, которыми меня встретит давно казавшийся привычным и родным десктоп. Я изначально не был в восторге от Unity еще на "стадии скриншотов", но так как в новой Ubuntu эта рабочая среда была по дефолту, то я, сказав себе "ладно, предположим что Canonical как и Apple действительно лучше меня знает о том, что мне действительно нужно" решил честно месяц проработать в этой среде, чтобы прочувствовать "все прелести этой жизни" все достоинства и недостатки ее на себе.
    Скажу сразу - недостатки в моем случае перевесили :). Из достоинств нужно пожалуй отметить все те новшества, которые были внедрены с целью экономии вертикального пространства на экране, что наверное действительно важно на планшетах и нетбуках, но на современных мониторах не имеет на мой взгляд никакой практической ценности.
Недостатков оказалось заметно больше:

  • Alt-Tab switcher для окон осуществлял переключение между окнами всех рабочих столов да и работал несколько медленно. Группировка окно тоже мне показалась лишней. Решил эту проблему включением плагина Ring Switcher (вроде так называется) в настройках Compiz и привязкой к комбинации Super + Tab.
  • Launcher вызвал абсолютно отрицательные эмоции - абсолютно не настраиваемый (возможность настроить только ширину - не в счет), визуально трудно отличить уже запущенные приложения и кнопку для запуска т.к. в нем скомбинирован еще и таскбар. Единственный позитивный момент - это кнопка меню, однако практически такой же функционал предоставляет и Gnome Do
  • встраивание меню и рамки окна в верхнюю панель хоть и экономит пространство на экране, но одновременно с этим затрудняет управление окнами при помощи мыши, т.к. развернутое на полный экран окно перетащить на соседний монитор просто потянув за панель/меню/рамку указателем мышки у меня не получалось - приходилось совершать "лишние телодвижения", нажимая кнопку "восстановить размер"
В общем все это конечно мелочи и с ними жить можно, если у вас внутри не живет f*cking перфекционист, который каждый раз грозиться застрелить человека, который додумался воткнуть на десктоп интерфейс созданный для планшетов (ну или нетбуков там). Поэтому у меня не оставалось иного выхода кроме как написать в консоли магическое заклинание sudo apt-get install gnome. Но то ли звезды и планеты были не в нужных позициях, то ли встал я не с той ноги утром, но не суждено мне было постичь всю ту глубину инженерной мысли существ из другой Вселенной, которую разработчики Gnome3 вложили в свое детище (ибо опять же ИМХО не место планшетному интерфейсу на десктопе). Где-то в этот момент созерцания Gnome Shell, когда я уже почти полностью погрузился в Дзен, перфекционист внутри меня начал тихонько нашептывать "давай, чувак, ну ее нафиг эту убунту, ставь генту и ion3 или там xmonad - сами сделаем себе идеальную систему", однако был послан по известному адресу, ибо работу работать надо, а не "бороздить просторы Вселенной". Тут я вспомнил про XFCE - более легкую среду чем Gnome, которая тоже использует Gtk и которую мне приходилось видеть "пару раз". Понадеявшись, что разработчики XFCE не пристрастились к грибам и еще не вышли на "контакт" с инопланетянами набрал в консоли sudo apt-get install xubuntu-desktop и спустя некоторое время пока устанавливались пакеты и я кликал мышкой настраивая внешний вид десктопа получилось нечто, напоминающее привычный десктоп.



Собственно на этом моя эпопея с Unity длинной в месяц и закончилась. Long Live XFCE!