2008-12-31

SearchWiki

Наконец-то Гугл сделал то, что я навязчиво желал уже лет пять, а именно, «персонализации поискового пространства» хоть в каком-нибудь виде. С этой навязчивой идеей я ломился и в Яндекс, и в другие поисковые системы (общался с программистами и т.п.). Убивало то, что необходимость этого (для меня очевидную) совершенно непонимали, отмазываясь несущественными трудностями технического плана.

Конечно, SearchWiki далек от идеала — например, наткнувшись на спамопомойку, естественное желание любого пользователя убрать ее со всех своих запросов (а не только с текущего, как сейчас). Название не очень удачное («казалось бы, а причем тут Лужков Вики?» — ведь никакого влияния на общий поиск пока совершенно нет), есть такое ощущение, сделано для борьбы с поисковиком «Wikia Search», первой стартовавшим на поле коллаборативного глобального поиска.

Но самое главное — я вижу, что реальность развивается в правильном направлении («погоды стоят предсказанные» ©), и я теперь могу расслабиться и не думать на эту тему.

2008-12-28

Robin Williams The Non-Designers Design Book

Пару месяцев назад прочитал Robin Williams «The Non-Designers Design Book».

Особых восторгов высказать не могу, информации достаточно мало, тянет скорее на пару-тройку статей («немного о принципах дизайна визиток», «немного о шрифтах», …), весь объем, т.е. почти две сотни страниц, обеспечивается огромным числом примеров. Это с одной стороны хорошо, с другой — все эти задачи и примеры для технологий прошлого века — чернобелая бумажная печать. Ничего разумного про вебдизайн или работу с цветами нет.

По сути, есть краткое введение в шрифты (их параметры, и свойства основных семейств — в общем, «введением в типографику» я бы это не назвал), плюс красной нитью через все принципы проходит идея использования элементов с ярким контрастом, ибо использование элементов разных, но сильно схожих, вероятно вызывает отрицательный эффект типа Uncanny Valley.

Но в целом, пролистать-прочитать можно. Существует в электронном виде, говорят есть даже не слишком вменяемый перевод. Но кому лень, прилагаю свой конспект-майндмап ниже (может хотя бы станет ясно, имеет смысл читать, или нет). Вообще наверно теперь буду сопровождать свои рецензии на книги/курсы/другоеГрузилово майндмапами. В первую очередь, я делаю это для себя, но думаю, может быть кому-нибудь полезно. Лично я, с удовольствием бы потыкался в фрагменты майндмапа, перед тем, как прорубаться через текст (даже рецензии).

Смотреть mindmap можно через Java-applet (да, несколько тяжеловат, но по современным меркам, однократная загрузка 800кб — ерудна, это уже среднеблоггерская говнофотка столько весит, зато обеспечивает наиболее корректную отрисовку) или Flash (для тех, кто с явой не дружит, но там отрисовка может быть далека от оригинала). Майндмап: Java-версия или Flash-версия

2008-12-26

диверсификация

Решил провести некоторую диверсификацию блога. Если раньше это у меня был такой канал «обо всем встреченном и потенциально полезном ищущим», то теперь ограничу его тематику околоITшными вещами — обзоры технологий, книг, курсов, мероприятий, решения встреченных проблем. По прежнему, никакой копипасты, т.е. только личный опыт.

Остальное теперь пойдет в другие блоги. Всякая потребительская аналитика (товарные отзывы) уйдут в stas-fomin.ya.ru, рецензии на худлит, видео и мультфильмы — туда же или на belonesox.imhonet.ru, оргвопросы по преподаванию будут на ispras-courses.blogspot.com, ну и кое-что пойдет в блог компании team.custis.ru.

Ну и если что-то из перечисленного заинтересует, подписаться на корректный набор каналов без лишнего шума явно станет проще.

AgileDays-2008

Был на AgileDays, попробовал выступить видеооператором.

Отчет и видео тут.

С видео правда не очень идеально получилось — надо было придти заранее, задолго до начала, и занять правильную позицию, а я как-то не чесался, ибо мне вроде как сказали, что видеосьемки не будет, и я надеялся, что вменяемое место себе найти всегда смогу, уважат кинооператора, типа. Однако оказалось, что свой оператор был, плюс с утра народу было как сельдей в бочке, зарегистрировалось и пришло явно больше вместимости буфета люксофта, несмотря на дополнительные стулья и полностью заставленную площадь, многим пришлось стоять. Еле-еле нашел себе место в углу, но из-за дальней сьемки легло много шумов от аудитории (кашель, шорохи). Никогда раньше обработкой звука не занимался, но попробую, может удасться очистить звук от шумов.

Следующая проблема, это низкочастотный DLP-проектор дал при записи на камеру экрана проектора раздражающее (по-крайней мере меня) мерцание. Я пробовал разные видеофильтры к VirtualDub, но ни одним из них убрать мерцание не удалось. Deflicker от Graafa вообще не повлиял, MSU_Deflicker вроде уменьшил мерцание, но дал столько других мерзких артефактов, что лучше нээ…

Пока по видео сделал две версии — 12 кадров в секунду, для желающих посмотреть мимику докладчика, и 4 кадра в секунду (мерцание становидся редким и не раздражающим) для внимания к экрану — и слайды и скринкасты вполне при такой частоте смотрибельны, а вот движения докладчиков напоминают брейкданс на танцполе со стробоскопом.

Но вообще, нравится мне идея узкоспециализированных конференций-семинаров, как любое дешевое и эффективное решение. Правда было бы удобней, если бы площадка была в центре. Мне, например, очень нравится площадка ГУ ВШЭ, где проводится много околософтверных семинаров, см. http://blog.styleru.net/

А если семинар относительно небольшой — не больше 50 человек, то отличная площадка у нас в компании, стационарно оборудованная (мощный проектов, 4 метровый экран, и т.п) для презентаций. Если тема нам сокультурна (а спектр интересных нам тем достаточно широк), то вполне можно совершенно бесплатно договорится и провести семинар у нас.

2008-12-20

меня опередили…

Не секрет, что современные студенты плохо воспринимают текст. Поэтому я стараюсь добавить побольше иллюстраций в книгу, и уже собрался набить ее комиксами в аниме-стилистике (дело за малым — таки научится рисовать мангу).

Однако в любом случае уже будет баян, ибо встречайте серию современных книг по математике «The Manga Guide to …»:

2008-12-03

Gmail: случилось страшное.

Случилось невозможно страшное — сутки у меня был неработоспособен Gmail. «Temporary Error (502)» сразу после логина. Первый час было забавно, к ночи стало не до шуток.

Где трехкратное дублирование с автоматическим восстановлением? Вот тебе бабушка и «вебдваноль и профиль в сети», вот тебе SaaS… .

Наблюдения:

2008-11-25

SECR-2008: Наше выступление

SECR: Наше выступление

Выступление Андрея Бибичева, я к сожалению, проспал (всю ночь записывал диски с portable-версией MediaWiki), и конечно, хотя дали под выступление большой зал, раннее время — штука подлая. После первого унылого дня народу стало сильно меньше, а уж поднять себя на эту унылость к 9:00 смогли не все. Но вменяемые люди оценили — например, распорядитель первого зала был явно удивлен глубиной доклада (по сравнению с некоторой поверхностностью стандартных докладов ажайл-евангелистов), о чем он собственно заявлял прямым текстом.

Выступление Андрея Сатарина посмотреть удалось, в целом было удачно, в передних рядах народ был вполне в теме, и сразу стали атаковать вопросами в стиле «Continuous Integration для детских проектов, а наши проекты настоящего King Size размера, их фиг за ночь соберешь, не то, что по commitу» (наезжающие стали соревноваться в длине сборки между собой). Тут я вмешался, и мне кажется, удачно парировал наезды, аргументируя необходимостью грамотной системы сборки, с использованием make/ant/scons — так как при нормальной, модульной структуре проектов и иерархических зависимостях, объем необходимой пересборки в среднем при любом коммите будет весьма ограничена. Например, если разбить объем сборки на сбалансированное бинарное дерево длины l с узлами равного объема, то даже в худшем случае (коммит «попал» в листовой узел) нужно выполнить объем в раз меньший полного объема. Исключения, когда объем небъется на части есть — «создание базы и заполнение тестовыми данными», например, но для таких случаев тоже есть лайфхаки (например, база в памяти). Плюс, возможно придется бить на части набор юнит-тестов — (выполняемые по каждому коммиту, еженощно и т.п.). Как это делать, у меня конечно есть идеи (статистика срабатываний, важность накрываемого функционала и т.п), но надо посмотреть, что на этот счет говорит наука. Возможно при доработке этой презентации или разработки отдельной темы («Тонкости Continous Integration…») надо этот момент расписать и проиллюстрировать.

Мое выступление особо удачным не было, хотя я даже было надеялся сыграть на контрасте, ибо на предыдущем докладчике зал просто заснул, но как только предыдущий доклад завершился почти вся аудитория начала бегство из зала, подумав, что здесь пытают скукой. Вообще я был под сильным стрессом, ибо не был уверен, что 112 слайдов презентации реально уложить в 30-35 минут, а выкидывать слова из песни очень не хотелось — там была целостная мысль, резать ее было почти нереально. 112 слайдов на самом деле не так много, ибо это я пробовал новый, устойчивый к плохому разрешению и малым экранам стиль презентации — «полумультфильм», где одна мысль или классификация разбивались на несколько слайдов, а концепты-понятия появлялись на слайдах по очереди, так, что граф отношений понятий строился постепенно, а наиболее ключевые понятия показывались и дольше, и крупнее. Единственное — выкинул ответы на частозадаваемые вопросы — и все эти вопросы мне потом ожидаемо задали в кулуарах. Но все равно, пришлось пожертвовать театральными паузами, и следовательно смехом в зале (юмор без пауз, где смеяться, не воспринимается), да и в целом, контактом с аудиторией. В результате, выглядел скорее комично, чем авторитетно, как я выглядел на предыдущем SECRе, и в кулуары за мной увлеклась группа скорее молодых разработчиков, чем менеджеров (людей в костюмах вроде не было).

В целом, за пару недель мониторинга по блогам, видно, что онлайн-реакция слабая, всего пара отзывов. Кое-какая дискуссия развернулась здесь.

Лично я получил всего пару приглашений в мойкруг и писем с критикой. Хотя критикой полезной, ибо совсем забыл про проблему русских имен файлов под переносимой под Windows сборкой MediaWiki, эту проблему нужно все равно будет решать.

С другой стороны, вполне можно повторить тему доклада про MediaWiki (проработав дополнительные части, например UML-графы по текстовому описанию), на конференции типа РИТ, без боязни прослыть «баянистом» (если возьмут, конечно).

И все же, надо продолжать светится при возможности на этой конференции, ибо аудитория этой конференции есть, и она почти не пересекается с «интернетными» конференциями РИТ/Highload (возможно поэтому отзывов в блогах и мало, может по курилкам-то обсуждения и пошли). На SECRе есть такие редкие категории, как участники из регионов, депутаты, IT-бизнесмены и менеджеры и т.п.


2008-11-10

SECR-2008: Как надо правильно организовать IT-конференцию

Итак, за последний год наши ребята посетили полдесятка ITшных конференций, и можно сделать некоторые выводы об их организации: что должны ожидать от конференции докладчики, участники и вообще профильное сообщество. Так что вместо стандартных «путевых» заметок-жалоб на организацию конференции SECR-2008, я попробовал сделать набор конструктивных предложений на тему «как организовать IT-конференцию по уму». Вероятность того, что это прочтут организаторы СЕКРа, минимальна, но я знаю, что некоторые организаторы конференций мониторят блоги по ключевым словам, так что некоторая надежда на то, что этот текст изменит мир к лучшему, сохраняется.

1.1 Материалы и их трансляция

Конференция теперь — это не научно-технический семинар 70-80х годов — «лекция у доски, трансляция прозрачек, никто ничего не понял и ладно». Это событие теперь должно выходить за рамки области «участники-конференции/время конференции», то есть транслировать знания вне круга непосредственных участников конференции, и продолжать обсуждение задолго после времени ее проведения (в форумах, блогах и т. п.).

Отсюда вытекает необходимость обязательной онлайн публикации прошедшей конференции, а именно:

  • Слайдов презентаций.

  • Статей-сателлитов, расшифровывающих слайды.

  • Видеозаписей, причем не обязательно в высоком разрешении, в котором можно читать слайды, ведь если слайды презентации опубликованы, можно просто листать их параллельно с видео. На худой конец сойдет и аудиозапись, но это менее желательно, ибо трудно синхронизировать аудиоконтент со слайдами, плюс теряются возможные театральные эффекты — мимика и жесты докладчика, акцентирование внимания на отдельных частях слайда лазерной указкой или просто руками и т. п.

Причем сейчас, это очень дешево, не нужно даже делать свою систему публикации (хотя даже простая свалка документов, презентаций и видеозаписей вполне всех бы устроила) — полно вебсервисов, «питающихся» пользовательским контентом, и куда можно разместить презентации и документы (например http://slideshare.net) и видео (http://youtube.com, http://video.google.com, http://rutube.ru, http://video.yandex.ru и т. п.), и, тем самым, полностью снять с себя ответственность за хостинг контента, а со своей стороны ограничиться страничкой с ссылками. Тогда, даже если страничка со ссылками пропадет (в результате раздолбайства, смены названия конференции или даже дележа доменов), нужный контент будет нетрудно найти в перечисленных вебсервисах, а ссылки на отдельные презентации или видеозаписи останутся актуальными. Вариант, что «сдохнут» вебсервисы — возможен, но, как показывает опыт, он на несколько порядков ниже, чем вероятность каких-либо сбоев странички конференции.

Что касается «захвата контента» — то слайды презентаций элементарно отобрать у выступающего в момент выступления (скопировать с его флешки или ноутбука, не нужно требовать их заранее, ибо ответственный докладчик будет до самого последнего момента улучшать слайды), а статью нужно требовать как раз заранее, как условие регистрации на конференции. Докладчику же полезно сообщить, какого рода видеоустройство его ждет (бесцветный проектор с маленьким экраном, с форматом 3x4, да еще в засвеченном зале, или три плазменных панели формата 9x16). Эта информация весьма ценна, и вполне можно, даже при слабых устройствах, адаптировать к ним презентацию (уменьшить объем информации приходящейся на каждый слайд, за счет увеличения количества слайдов).

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

А видеотрансляцию, если нет технического доступа к крутым ресурсам, типа смотри.ком, делать ненужно. «Трансляция через полудохлую вебкамеру», да еще за деньги (sic!), это просто позор.

1.2 Участникам

Итак, обеспечив вечную жизнь материалам конференции и асинхронный доступ к ним со стороны неограниченного сообщества, какие бонусы обеспечить непосредственным участникам конференции, чтобы сохранить желание поучаствовать?

Конечно, нужно выжать все из преимуществ личного присутствия.

Во-первых, «шоу маст гоу он», нужно обеспечить зрелищность и воспринимаемость докладов, то есть работоспособность видео, аудио и переводов, а также средств управления презентацией.

1.2.1 Видео

Должно обеспечивать читаемость — скажем буквы высотой в 10 % от высоты слайда, должны читаться с задних рядов без использования биноклей и иных нетривиальных приспособлений.

Я лично конечно подготовился (на основании прошлогоднего опыта, когда в большом зале использовали микроэкран на раме), и заказал через ебэй очки-бинокль, коими на конференции пугал докладчиков и дерзко лорнировал девушек. Видок в них реально жуткий, натуральный киберпанк, «сумашедший профессор» и «про уродов и людей» в одном флаконе. Но требовать такой жертвы от всех неэтично.

Цветопередача не обязательно должна быть кинотеатральной, то есть понятно что «идеальный черный» тут в общем не нужен, но, скажем, «желтый на белом» обязательно должен быть различим. Хорошим примером могли бы служить большие плазменные панели в «ИнфоПространстве», где их две-три на зал, но, к сожалению, это пока дороговатый для большинства конференций вариант. Плохим примером могут быть «проекторы с обратной стороны экрана», бывшие в одном из залов на РИТ, которые предсказуемо убивали цвета почти в ноль. Ну и никак нельзя одобрить слабый длиннофокусный проектор, использующий ¼ экрана (см. рисунок).

Без ложной скромности похвалимся, что именно наш лайфхак, с вынесением проектора в пространство перед сценой позволили увеличить площадь отображения хотя бы до ½ экрана (можно было и больше, но там всплывала куча проблем из-за коротких шнуров и т. п.). Ну и в случае проекторов, для увеличения контрастности нужно иметь возможность убрать засветку, то есть отключить ближний к экрану свет.

1.2.2 Аудио и перевод

Аудиовзаимодействие с докладчиком чуть менее важно, но обращать внимание стоит. Нужна работоспособность микрофонов, причем желательно, чтобы они были hands-free и при этом не шумящие. При задании вопросов докладчику нужно обеспечить быструю и удобную циркуляцию микрофонов по залу, чтобы вопрос был слышен другим участникам (и на аудио/видеозаписи) — то есть должны быть несколько специальных людей, отслеживающих желающих задать вопрос и передающих микрофоны. Вообще, под вопросы докладчику обязательно надо зарезервировать достаточное время, не меньше 30 % от длительности самого доклада, а лучше все 50 % — возможность задать свой личный вопрос докладчику и будет одним из основных бонусов личного присутствия на докладе. Ну и если есть англоязычные докладчики, то нужно не поскупиться и нанять настоящего синхрониста, желательно владеющего терминологией. Это опять-таки относительно недорого — он ведь один на всех.

Ибо синхрон на SECR-2008 был запределен. Нет, оно конечно понятно, что на таких докладах надо прокачивать английский, но когда я пару раз попробовал послушать синхрон, это меня чуть не убило. Сначала там был заторможенный «мистер Полотенченко», потом (видимо спохватились) его сменили, но сильно лучше не стало. Еще, синхронист должен переводить не только докладчиков, но и вопросы из зала! Ведь большинство тех, кто задавал вопросы «на английском» остались не понятыми не только докладчиком, но и залом. С другой стороны, многие с разумными вопросами, которые порадовали бы докладчика, не решились из-за стеснения своим английским. Да, класс разумных людей, неуверенно владеющих английским, и при этом стесняющихся сего факта, весьма непуст.

1.2.3 Управление докладом

Должны быть технические средства управления докладом и манипуляцией вниманием — презентер/пульт дистанционного переключения слайдов (на худой конец — беспроводная мышь) и лазерная указка. Да, многие докладчики подготовились — один принес дистанционный переключатель, несколько — лазерные указки (причем двое, включая меня — новейшие зеленые лазерные указки), но это не дело, все это должны предоставлять организаторы. Цена простейшей красной лазерной указке — 50 рублей (переход от м. Тимирязевская к одноименной платформе). Беспроводная мышь, тоже не из золота сделана (типичный презентер стоит 1.5тыр) — а в результате отсутствия пульта, многие докладчики мучались, прыгая от стационарного компьютера к сцене и обратно, наиболее продвинутые (включая нас), подключали к проектору ноутбук, так как ноутбук уже можно было положить на трибуну и переключать слайды, не перемещаясь по сцене.

1.2.4 Общение

Еще один бонус — обсуждение докладов и смежных тем по горячим следам «вживую». Нужно обеспечить удобство общения участников — в «кулуарах-коридорах» должны быть доски/флипчарты, на которых можно будет что-то рисовать, и вокруг которых должны будут образовываться кластеры стихийных обсуждений. Это опять-таки недорого, и исключительно полезно.

Участники должны легко идентифицировать друг-друга — беджик должен быть большой (не надо ограничиваться форматом визитки, можно смело раза в три больше сделать), контрастный, с четко написанным именем участника, и, желательно, компанией, которую он представляет. Заляпывать маленький беджик сотней логотипов спонсоров — безумие, не приводящее ни к чему — ни беджик, ни «реклама» работать не будут. Кстати, неразбериха на выдаче бейджиков (оба раза на SECRе меня теряли из списков), хоть и не смертельна, но в целом не есть повод для гордости.

Ну и Wi-Fi уже переходит из категории «понты» в категорию «может быть очень полезно» — при общении возможны живые демонстрации (с заходом в внутрикорпоративные сети по OpenVPN), может даже видео/IM конференции с подключением к дискуссии специалиста из компании, ну и вообще «быть онлайн» всегда сейчас скорее норма жизни, чем признак сисадмина-аутсорсера.

1.2.5 Раздаточные материалы

Традиция раздавать флешки для записи материала занимающего меньше 5% оной, вполне благородна, и все же, при нормальной публикации материалов в электронном виде онлайн, на флешках уже можно сэкономить (это как раз соображение на возможную критику вышеизложенного — «…где взять деньги?»).

А вот на руках хотелось бы иметь вменяемосверстанную программку, и сборник абстрактов с удобной навигацией. Вот к SECRовской програмке претензии например, в том, что нет вменяемого позиционирования тем по залам/трекам и времени (ну то есть понятно, что большой зал отдан спонсорам и потенциально хорошим докладчикам вперемешку, но про остальное — непонятно). Поэтому навигацию решили в программке с помощью десятка разноцветных ярлыков-тегов, «приклеенных» на поле доклада. Их слишком много, в глазах рябит и мозг отключается, понять ничего невозможно!

Что касается бумажного сборника абстрактов, который по идее должен был решить проблему с неудачной програмкой (сценарий — «быстро ищем доклад в сборнике и понимаем о чем он») — так там нет никакой сортировки! Абстракты докладов свалены вперемешку — может какая-то внутренняя логика там есть, но отсортированных индексов ни по автору, ни по названию доклада там нет! То есть каждый раз full-table scan! Так нельзя! Бумажная верстка — это не только свалить все в сборник, добавив 13 страниц рекламных баннеров — это обязательные отсортированные индексы/указатели! Можно было сделать несколько — по автору, по названию доклада + (необязательно) по темам.

Что касается полного сборника статей, то обнаружив, что организаторы его не опубликовали, а никаких варнингов на эту тему нет, то я взял на себя «тяжкий» труд и опубликовал его в интернете: Полный сборник статей SECR-2008

1.3 Рекламодателям

Возможны возражения:

Это конечно все прекрасно, но «публикация россыпью», «чистые беджики» подрывают рекламную функцию конференции, наши рекламодатели на это не пойдут. Именно из-за рекламных требований мы должны сваливать все материалы в сборник, добавляя несколько десятков рекламных страниц. Из-за рекламы мы должны заляпать бейджик и заставить слушать людей унылые выступления рекламодателей. …

Тут надо просто понять, что эффективность рекламы никак не может быть функцией площади баннеров на бумажных материалах или растяжек на стенах. Реклама работает только на позитиве (то есть унылость будет только менять знак и вредить рекламодателям) и на объеме аудитории — ее-то и нужно расширять, за счет максимальной трансляции всего контента конференции.

1.4 Хозвопросы и юзабилити

1.4.1 Место конференции

Лучше в центре и достижимо пешком из метро, ведь автомобиль в Москве уже и не роскошь, и не средство передвижения, и несмотря на Кризис просвета этому не видно. Причем конференции начинаются более-менее с утра, то есть в час пик, то есть автомобильные шансы минимальны. В метро в это время конечно тоже еще тот АдЪ творится, но минут 50 позора и ужаса, и доставка гарантирована. Так что площадки «ИнфоПространство» («Highload++», «РИТ:Высокие нагрузки») и «ГУ ВШЭ» (SECR) очень удачные. А вот выезд за МКАД («Крокус-центр», РИТ) — так себе удовольствие. Так что лучше делать конферецию более специализированной, чтобы посетители могли поместиться на небольшой, достижимой площадке, чем гнать толпы людей в замкадье. Конечно, есть еще формат с полным выездом — «пансионат/пароход, выпивки, баня, девки, и т. п.», но это совсем другое, здесь не рассматриваю.

1.4.2 Удовлетворение базовых потребностей

Еда. Должна быть. Как небольшой/удобносъедобной (бутерброды, фрукты, пирожные), так и горячей. Понтов — «жульенов», «XXX фаршированный YYY» не нужно. То есть можно конечно, но на этом можно сэкономить в первую очередь. Можно даже сэкономить на первых блюдах, ведь два дня без супа смогут прожить даже страдающие гастритом, просто мясо/рыба плюс два типа гарниров было бы достаточно. Но важно обеспечить терпимые условия для раздачи и собственно потребления еды. Очереди в >15 минут, да еще при том, что еда заканчивается — это плохо. Плюс негде есть! Только бутерброды можно есть «на весу», а так нужны либо столы со стульями, либо достаточное количество стоячих столов. В этом году на SECRе было всего 4 стоячих стола, очень маленькой площади. Причем в прошлом году можно было бы хотя бы забиться в «кафе», примыкающее к холлу — в этом году туда не пускали. В общем, это хроническая проблема SECRов, а ведь решение очевидно — устроить вместо общего часового перерыва на обед, например два часовых, прерывающих отдельные треки (первый перерыв «прерывает» большой зал, второй — два оставшихся).

Ну и соответственно туалеты. В SECRе как раз с ними все было хорошо, но на РИТ и «РИТ:высокие нагрузки» проблемы с ними были, да.

Для некоторых еще важен вопрос температуры — тут просто надо проверить, что кондиционеры не взбесились, такое тоже бывает.

1.5 Заключение

В целом, все предыдущие претензии к организации могут показаться неоправданным брюзжанием. Возможно через год, следующая конференция разработчиков, если еще будет, будет проводится в холодном складском помещении, кормить перловкой из большого бачка, созывая оголодавших участников звоном алюминиевой кружки о стальную миску. А обсуждать там будут автоматизацию производства железных дверей и шкафов-купе (я просто вспоминаю, чем в основном торговали в 1998), а также производство сайтов для продажи этих продуктов (плюс «дев.на.раб»). Соответственно тогда мне станет несколько неудобно за эти мысли. Ну а если такого разгрома не будет, то это прекрасный чек-лист для организатора любой конференции любого размера (даже менее 100 человек).


2008-11-01

Интересная реклама микрософта на башо...

Интересная реклама микрософта на башорге:
Много вопросов — а разгадка одна ответ один — «Микрософт!».

2008-10-31

Google Docs и PDF

Обнаружил, что теперь в Google Docs можно грузить PDFы. Но убиться веником — поиска-то по документам нифига нет. Google-сервис и без поиска — ерунда какая-то. Зачем-то сделан Flash-preview страниц, причем есть ощущение, что по сети гоняют растровые картинки. Зачем? PDFы смотреть гораздо удобней в родных вьюверах, тут я имею в виду как адобовских, так и любых других, не-веб-флеш вьюверы. А ведь есть полезный сценарий, оправдывающий сию поделку — функциональность комментирования. Т.е. рецензент может просматривать PDF, и вставлять в заинтересовавшем его месте (на странице) метки-сноски, и привязать к меткам-сноскам обычный текстовый комментарий (ну там понятно со стандартной функциональностью комментариев к блогам — извещения по почте и т.п.)

Ну а то, что свободной публикации нет — это как раз понятно, тут же народ книги хостить начнет, копирайты там, нагрузка высокая и т.п.

Разродился комментом, может поймут и учтут.

Кстати, acrobat.com тоже посмотрел, но там полная смерть от флеша, что мне не надо. Хотя приятно, что вроде как нет ограничений на объем — 30Mb пдф залился без проблем.

Hybernation и Standby против SPTD

Внезапно перестал засыпать (и standby и hybernation) ноутбук. Местами еще BSOD 0x0…08e при загрузке. Т.е. полная задница, ибо без режима сна пользоваться ноутбуком (да и наверно уже чем угодно, кроме постоянно включенной рабочей станции) невозможно. Гуглил — вариантов сотни, ничто не подходит. Пытался откатываться назад «восстановлением» — на пару дней назад не помогло, а потом и вовсе перестала откатываться. Пошуршит полчаса, перегрузится, и вердикт — «восстановление не удалось». Меланхолично так, блин.

«scansfc /now» тоже не помог.

Стал исследовать память через AVZ, скачал Debugging Tools и пакет символов ядра, стал смотреть разбор коредампов.

Нашел причину. От удаленных Daemon Toolsов, что бы им пусто было, остался SPTD — SCSI Pass Through Direct layer. Он то, гад и давал прикурить.

Выкорчевал его, и все стало хорошо. Но времени и нервов потратил изрядно, да.

2008-10-30

Firefox: глюки адресной строки и вкладок

Заболел Firefox толи после очередного апгрейда, толи от «старости» — адресная строка перестала работать, плюс во всех вкладках, кроме первой, шла индикация типа «идет загрузка». Причем заболел только один, основной профиль. Проблема совершенно не гуглилась, но решить ее удалось. Надо удалить нафиг файл places.sqlite из каталога профиля.

2008-10-23

SECR-2008: анонс

Завтра и послезавтра наши парни будут на  SECR-2008. Заранее публикую презентации и статьи докладов.

2008-10-12

SECR-2008: анонс

Кстати, эта осень жирна на конференции. 23 и 24 октября  будет Software Engineering Conference (Russia) 2008, на которой я буду приглашенным докладчиком (invited speaker, высокая честь).

Планирую раскрыть тему вик и их выбора — «Mediawiki: Серебряная пуля или швейцарский нож?». Думаю, будет весело и интересно, более того, кроме речей я планирую раздачу слонов — работающих portable медиавик, с кучей наших расширений, на WAMP-платформе (т.е. под Windows и переносимых копированием), чтобы те, кто еще не  в теме, погрузились и прониклись немедленно.

Кроме меня будут еще пара интересных и актуальных докладов от наших парней.  Вот на «РИТ: Высоких нагрузках» в кулуарах оказался втянут в всего в два разговора — один, «что делать скучающему аналитику в Agile» — эту тему должен раскрыть доклад «Аналитик в Agile – архаизм или необходимость?», и на тему Continuous Integration — тут будет выступать наш перспективный QA-инженер с докладом «Введение в непрерывную интеграцию или каша из топора».

Ну и конечно, можно будет активно устно пообщаться.

Highload++ 2008: Заключение

  • Инфраструктура конференции становится все более удобной — есть WiFi, доски, еда, выкладываются слайды и видеозаписи.
  • Стоит ли ехать за свои деньги? — Если вы владелец бизнеса, то да. Ибо с учетом накладных налогов на маркетинговые расходы при честной бухгалтерии проводить через фирму будет дороже. А так, имеет смысл требовать оплаты от конторы.
  • Компании, с другой стороны разумно посылать хотя бы одного эрудита.
  • Уже не все слайды и доклады унылы чуть более чем полностью. Но многим все-таки требуется вкурить до просветления хотя бы Death by PowerPoint/Death by PowerPoint (RUS). А с другой стороны, поставить проверку орфографии.


Что касается нас, то на следующую надо обязательно идти с докладом. Хотя надо посмотреть, за какие из наших монстросистем не стыдно. На худой конец идти на блиц.

Еще возникла идея полезного вебсервиса. Если удастся выбить ресурсы (мое время плюс железку), то его можно сделать и отрекламировать на каком-нибудь РИТе, а к осени, уже рассказать о высоких нагрузках на нем.

Highload++ 2008: Оптимизация производительности операторских решений IPTV

Еще доклад из параллельного мира. Оказалось интернет не убил телевизор, телевидение научилось залезать в интернет. Ну т.е. корректно говорить не об интернет-телевидении, а доставке видеоконтента по IP-протоколу, но деньги там крутятся офигически жирные, 5 или 6 ярдов (точно не запомнил), думаю, это больше чем во всем рунете.

Ключевые фишки — в отличие от «интернетчиков», у связистов-телевизионщиков очень жесткие требования по надежности, типа «две минуты сбоя — полкоманды с руководителем отдела на улицу (НТВ+)».

Большая нагрузка по CPU, и по сети. Сложная структура — есть клиентские декодеры, куча промежуточных девайсов-«коммутаторов», и middleware — там биллинг и управление, и собственно серверы видеоконтента.

За рынок этой middleware идет невидимый бой, микрософт пытается воткнуть свою систему (MediaRoom), в которую вложили $500 мил. — но проигрывает. Запомнил, что используют PostgresQL — серьезные аргумент в надежности.

Гитик там дофига — коробки к телевизору уже поддерживают JavaScript и флеш, там операционная система, которая сама выкачивает обновления, может следить за домом, отгонять детей от просмотра порнухи (да, озвучили и такой юзкейс), в общем, сплошной ужас.

Теперь я боюсь, что приход IPTV сильно забьет существующие каналы, ибо IPTV мне нафиг не сдалось, а быстрый интернет нужен. И это не пустая паранойя — докладчик упоминал, как мешающие торренты цинично «бортуются» провайдерами, чтобы не мешали IPTV трафику.

Highload++ 2008: Использование SMS технологий в высоконагруженных веб-проектах. Проблемы и пути решения

Доклад из параллельного мира — тех, кто «монетизует» вебсервисы SMSами.

Жуткие факты — при оплате SMSами, минимум половину отбирает оператор, еще процентов 5-10 % — посредники-агрегаторы. Фантастически:

  • низкая надежность доставки SMS — 99 %.
  • пропускная способность SMS у провайдера, типа шина SS7 ≈ 60 sms/sec. Из зала правда поправляли, что это только на регион, но вообще цифры страшно низкие — третье тысячелетие на дворе все же.

Основные поинты докладов — свалить всю работу на агрегаторов, желательно на нескольких, чтобы балансировать загрузку и устраивать конкуренцию, а сами раскручиваться, чтобы за счет объемов продавливать агрегаторов по цене.

В общем, не помню, платил ли я за что SMSом, но теперь точно не буду. Подключайте «Яндекс-Деньги», монетизаторы.

Highload++ 2008: Высокопроизводительные системы обмена сообщениями: Spread Toolkit

Тема меня должна была заинтересовать, но докладчик как-то очень скучно и заторможенно читал, что я выпал из контекста (рефлекс на скучные лекции). Запомнил только, что ни персистенса там нет, ни гарантий доставки. Значит нам это уже наверно неинтересно, а мультикасты нам и не нужны. Еще из зала жаловались на сложность отладки.

Highload++ 2008: Erlang — лекарство при высоких нагрузках

Опять позабавила фамилия докладчика. «Дyбoвиков из компании Дремучий лес».

Хорошая реклама Erlang. Яркие цитаты:

На самом деле системы на Erlang вовсе не масштабируемые и не надежные. Это системы на Java такие. Системы на Erlang просто непробиваемы как скалы.

Мощные цифры:

80000 конкурентных запросов у Yaws против 4000 у Apache. Коммутатор AXD301 — надежность девять девяток. Не больше 2 часов сбоев за 40 лет.

Но без введения в сам язык — т.е. графики и схемы, супер-саксес-стори, но ни одного куска кода. И не мудрено, репутация у языка сложилась такая, что это такой уродец-brainfuck, что даже родная мать — компания Ericsson — отказалась его поддерживать.

Известно, что в России есть несколько программистов на Erlang, лично я хорошо запомнил тред-флейм на тему выбора веб-фреймворка, где апологет Erlanga, вроде как убедив противную сторону в преимуществах, на вопрос «где набрать команду Erlangистов», просто недоумевал «А зачем больше одного программиста?».

И тут вроде как публике показали живого Эрлангиста, все благоговейно внимали. Но потом, потыкав с разных сторон, вдруг поняли, что их обманули — «это не настоящий сварщик, маску на стройке нашел» — это только начинающий. Впрочем, когда начался шум, замаскированные эрлангисты вроде обнаружились в зале.

Публика, уяснив, что это штука страшная, долбилась с одним вопросом — «а даст ли Erlang линейное масштабирование?», т.е. стоит ли игра свеч. На что докладчик излишне честно отвечал, что нет. Надо было отвечать — «да!». Хорошая была бы шутка над людьми. Единственное, пришлось бы прятатся через год, когда злые парни «искали того мужика, что продал им хомячка».

Вообще попробовать надо (облака там уже в эрланге, и вообще, можно гордится как знанием латыни или эсперанто), но лучше не в чистом виде. Например, посмотреть на попытки приручить Erlang, например DISCO (Erlang+Python).

Highload++ 2008: Building clusters with GlusterFS

Ужасно унылые слайды. Реальная смерть от Поверпоинта. Я не особо в теме, и вообще сначала казалось, что речь идет о Google FS (потому что докладчик был вроде из Google School). Оказалось не. Английский тоже я уже не воспринимал (может чисто из-за перегрева). В общем, был я не в теме, там и остался.

Может вообще эти файловые системы штука настолько унылая, что от них хочется убивать жен? К счастью, я все-таки прикладник, а не системщик.

Highload++ 2008: Масштабирование PostgreSQL: огонь и медные трубы

Гевин Рой — забавное звучание, звучит как Ровин Гей. Хвалил масштабируемость Postgres.

Социальная сеть http://www.myyearbook.com/ — жалкое третье место в штатах. В цифрах еще более жалкое — 1.65%, после 67.54% у MySpace.com и 20.56% у Facebook. Но с другой стороны, в штуках, больше нашей соцсети №1. Кстати, разогналась сеть меньше, чем за два года. Я зашел — что-то для подростков, ярко-липкое, как Лиру с примесью ВКонтакта. Был слайд с очень говорящими названиями индексов: «search_girls_for_single_guys», «search_guys_for_single_guys», …

Хвалили масштабируемость постгресса (используют pgBouncer, репликация Slony), но возможно главный успех обеспечивает 750 гиговый кеш в memcached. И вообще там были слайды в духе «большие батальоны рулят», «евреи, не жалейте заварки памяти». Вместо патриотического nginx'а, используется Lighttpd.

Народ дивился, почему в качестве шаблонизатора использовали XSLT (вроде как сложно и медленно, редко кто еще это любит), на что он вроде как отвечал, что им проще поддерживать единый XSL, из которого все (HTML, RSS,…) генерится.

Меня больше заинтересовали их телодвижения в сторону SOA — они скручивают Postgres, Python, и Apache ActiveMQ, и называют это Golconde. Надо будет посмотреть (правда гевинрой ее только вчера написал).

Highload++ 2008: Архитектура распределённой базы данных Skype

Тут я как-то вырубился — т.е. перестал понимать английский докладчика (возможно из-за акцента, возможно перегрев мозга). Слайды были тоже не шибко возбуждающие.

В принципе, об архитектуре скайповских баз я уже знал, и собственно это был мой любимый аргумент о защите двухзвенной архитектуры с бизнес-логикой в хранимых процедурах, к тому же похожи и детали реализации (plProxy≈схема «…_ADMIN» и т.п.) Кстати, вроде даже хранимые процедуры под CVS, а не SVN-хранят. OldSchool! (впрочем, может не так расслышал).

Да, это конечно более серьезный биллинг (2*104 tps, 100 серверов) чем CBOSSовский. Если мы таки полезем в PostgreQL, обязательно надо вытащить и изучить SkyTools.

Как и ожидалось, в вопросах всплыл баян с завалом Скайпа из-за перезагрузки автообновляющихся виндов.

А что про Скайп меня интересовало на самом деле, к архитектуре СУБД отношения не имело, и я спрашивать конечно не стал (да и вряд ли ответили честно). Просто несколько собеседуемых мной сисадминов, как один считали, что скайп сливает пользовательскую информацию наружу. Статьи типа [3] эти слухи только подогревают. В общем, доказательств у меня нет, но эта софтина у меня под большим подозрением. Забавно, что у меня есть знакомый в окологосударственном коррупционноемком бизнесе, и у них принято не пользоваться для серьезных звонков мобильниками (вроде как точно знают, что прослушиваются), а пользоваться скайпом. Может это разумно, скайп в кремль инфу наверно не сливает, а вот то, что он тащит эксельники с расчетами откатов в ЦРУ, это наверно даже хорошо.

Highload++ 2008: XenServer — платформа виртуализации

Доклад от вроде как основного спонсора конференции. Да, кстати оба дня у ребят стояла серверная стойка в коридоре, что-то там шебуршилось, показывалось на плазму, но разумных вопросов у меня не было, и я особо не подходил.

Тема виртуализации уже настолько распиарена, что проникла в масс-культуру (см [1], [2]), и обратно — первый комикс с Дилбертом был на слайдах.

Докладчик явно чувствовал себя уверенно, как спонсор, позволял себе игры с публикой (разгадывание загадок), маркетинговые картинки-метафоры. Слайды кстати были местами локализованы, но не на русский, а на немецкий.

Рассказал о подходах к виртуализации, истории продукта и компании. Хвалил открытость исходников — типа вклад сообщества и IBM больше чем CITRIXа.

Так как рынок уже стал тесным, попинал конкурентов — VMWare и Микрософт/HyperV (на слайдах они «Brand X», «Brand Y» или демонстративно неряшливо замазаны). Попинал Винды — 3GB ограничение плюс накладные расходы 8% против 0.5% у Линукса. Зато как-то с опаской говорил о KVM.

Эх, уже несколько лет я лелею идею о комплексах датацентр+АЭС в Сибири, желательно за полярным кругом, где холодно и нет людей. Возможно даже плавучих — просто надо подумать, что дешевле, тянуть к ним кабеля связи или тащить АЭС и топливо. Идеальная система — нет угрозы людям (кроме вахтовой смены), экологично, энергия жрется только на CPU, а охлаждение (на что собственно в обычных датацентрах вся электроэнергия и уходит) элементарно — просто открой форточку. Охранять легко — какие-нибудь автоматические системы уничтожения всего движущегося в периметре. И т.п. Плюс прекрасный повод тащить сетевую инфраструктуру на Дальний Восток, пока его в конец не потеряли. Даже знакомому банкиру рассказывал — а он мне в ответ о необходимости развития угольной энергетики, чтобы больше газа на экспорт гнать. Может кто прочтет и внедрит?

Highload++ 2008: Amazon Web Services: инструменты обеспечения масштабируемости и отказоустойчивости

После рекламы от «евангелиста» AWS, доклад русского практика об ограничениях.

Кстати, хорошее название для «околооблачной» компании — «nevesomo». Ребята продают хранилище в S3, типа box.net, только бесплатно 100Мб. Зато возможно проще подключать, чем box.net — для того, чтобы замапить бокснет как драйв, я задолбался исследовать версии M$-ных библиотек работы с WebDav, и стал использовать NetDrive/WebDrive. Но желание сделать это напрямую, осталось. Правда в офисе через прокси наверно не сработает — еще не проверял. Не совсем разобрался в структуре платного сервиса — если не требуется вносить регулярной платы (т.е. плата только за объем), то мне это интересно.

Сначала немного рекламы, что AWS хорошо подходит для стартапов без инвестбабла (думаю, в ближайшие годы других и не будет). Т.е. если не взлетели за какой-то срок, то просто прекратили аренду и все выключили. Распродавать железо не нужно.

Дальше пошли ограничения. Виртуальные сервера достаточно тупые, с неизвестными IP, с ограниченными возможностями по конфигурированию, с малой корневой файловой системой, на которой не сохраняется изменений между включениями, т.е. все эволюционирующее надо держать в S3.

Также полно ограничений у S3 — это не блочная файловая система, со всеми вытекающими, в частности, неэффективно работает с большим числом малых файлов, т.е. всякое кеширование на ней лучше не делать.

Есть правда блочная распределенная файловая система EBS — но у нее меньше надежность (дублирование только в одном датацентре).

Не понял, что дороже — EBS или S3, но в любом случае есть счетчик еще и за число обращений (где-то десять центов за миллион, но все же счетчик есть). Как-то жалко еще и за обращения платить. Такая модель конечно явно подтолкнет к оптимизации существующих алгоритмов (реально, переход от «сложности в худшем случае» к «сложности в среднем»).

Еще в России нет датацентров и не предвидится (ибо пользователей мало), т.е. лучше российский стартап на нем таки не делать.

Еще есть SimpleDB упрощенная, но зверски распределенная, ибо написана на Erlang, БД (далеко не реляционная, но вроде и не колоночная). Надо будет присмотреться к опенсорсному аналогу CouchDB.

Ну и для полноты джентельменского набора — упрощенная служба очередей Simple Queue Service. Тоже наверно урезанная и ограниченная, с счетчиком на числе сообщений, но есть. Возможно проще, и дешевле использовать ее, чем тащить другую службу очередей в амазоновские облака.

Highload++ 2008: Хостинг Amazon EC2

Пошел на серию англоязычных докладов, чтобы пощекотать (попробовать разбудить) свой английский, при этом не менять зал. К тому же альтернативой шли уже засвеченные на «РИТ: Высокие нагрузки» доклады.

Хороший, четкий, легко воспринимаемый на слух английский. Возможно, потому что english не native (автор вроде как итальянец). С другой стороны, самый непонятный английский был в основном от задающих вопросы слушателей. Я сделал вывод, что лучше не выделываться, и в подобных ситуациях спрашивать на русском, а переводит пусть переводчик. Так всем будет понятней.

Идея — надо начать активно слушать-смотреть видеозаписи конференций типа InfoQ. Как бы английский и свежие идеи в одном флаконе («не взлетим так поплаваем»).

Что такое EC2, думаю, никому объяснять не надо. На докладе была его реклама, говорили как он хорош для всяких вебстартапов, ибо легко масштабировать с ростом популярности, приводили в пример сервис http://animoto.com/.

Но сразу стоит отметить — автоматического скейлинга нет, за вас всю работу никто не сделает — нужно грузить и включать новые виртуальные машины, учить их взаимодействовать, и вообще делать сервис масштабируемым. Т.е. нет такого, что популярность растет, автоматически растет производительность (и отчисления Амазону). Деньги берутся не за мегафлопы, а за время работы «стандартной машины» плюс трафик.

Да, я бы поигрался, если бы там можно было бы совсем бесплатно держать потушенную машину, но увы.

Пришла идея — Cloud Computing в ботнетах (перебор паролей, вычисление односторонних функций в обратную сторону и прочий брутфорс). Пока они простаивают в ожидании DDOS-заказов. Кстати, ботнеты всегда можно загрузить всяким подбором паролей к ресурсам обнаруженным на самих зараженных компьютерах. Да, огромная простаивающая вычислительная мощь. Реально можно платить за мегафлопы, а не за время. Надо придумать легкий фреймворк. Может как раз какой-нибудь Erlang?

Highload++ 2008: Блиц-доклады

Я задержался и пропустил первые доклады, потом пришлось сесть в задних рядах, а там фигово видно и слышно. Кратко, что запомнил. Вообще большинство докладов сделаны «по методу Такахаси», т.е. тупо два-три ключевых слова на слайд, иногда картинка.

Не полностью застал что-то о конфликте менеджера с командой. Были наезды на менеджеров-архитекторов (видимо именно с такими и происходит конфликт, но это явно ненормальная ситуация). Ну и банальности — «критический подход», «авторитеты отстой».

«Сервер на костылях» — как из подручного мусора быстро собрать работающее решение. «nginx+LAMP+memcaсhed»+патч, чтобы сливать статистику из memcached непосредственно. Типа «дешево и грубо».

«ZeroWait» — докладчик не смог открыть PDF в FullScreen-моде, а с учетом, что тут был как раз не Такахаси-метод, т.е. было куча всего написано, конфиги, какие-то логи, то я вовсе ничего не уловил. Урок докладчикам — выучите, FullScreen «Ctrl-L» — в акробате, «F12» — в PDF-XChange.

Хороший доклад, как разгоняли kinozal.rambler.ru. Не совсем понял, почем бутылочным горлышком оказалась производительность файловой системы, но исходная ситуация, что 180Mbit/s в файловой систем оказывались 20Kbps в канале, и скачивание гига было 14 часов, что есть никак. Выход — максимально давить рандом-чтение в пользу последовательного (ReadAhead/ReadBehind). Патчинг ядра, в основном на уровне констант, FreeBSD плюс рейд-страйпы дали 1.2Gb/s и 25 Мbs в канале. Типа все счастливы.

Потом было что-то о борьбе с высокой нагрузкой из-за сессий в вебсервисе рефератов. Им помогло переход с Perl на PHP, борьба с ботами, и проверки рефератов на уникальность (ничего больше не помню — расшифровал краткие записки).

«Малоизвестная подножка Python» — автор реализовывал самопальное сравнение «_eq_» и «_ne_», мучался, наступал на новые и новые грабли, чем кончилось — я не запомнил.

Ибо после конца доклада ноутбук стал перегружаться. Тут я взбодрился — «нифига себе weakrefы у Pythonа», только презентация о них перегружает ноут, но оказалось это было начало новой презентации, начавшейся с загрузки ОС Plan 9. Рискованный шаг, но она загрузилась, и пару минут нам показывали это диво живьем. Оказалось это детище глубоко законспирированных ископаемых мастодонтов, авторов оригинального Юникса — Томпсон, Ричи и т.п. лет двадцать в глубоком подполье они ее копали, и рассекретили только в 2003 году. В ней «всё есть файл» — включая вебресурсы, а каждый пользователь и даже процесс живет собственной файловой системе. Целевая аудитория системы — mainframe again, но вроде как прозрачным образом вшита распределенность (файловой системы точно).

Из яркого — ее создатели прокляли Linux (неудивительно) и консольный интерфейс (!!! без комментариев !!!). Собственно показывали оконную систему, где внутри окна запускали еще один оконный менеджер и так далее. Т.е. всяким апологетам подхода «Unix есть консоль» остается убить себя об стену, демиурги предали их религию.

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

На заметку: «Plan XXX» — хороший бренд для любой системы.

Highload++ 2008: Архитектурные особенности высоконагруженных систем в телекоме

Маркетинговый доклад. Верный признак такового — градиентная заливка всех блоков на схемах. Это придает гламурного туману, и фиг что прочтешь.

Т.е. тема — рил-тайм оценка звонков, с учетом не совсем тривиальной логики (десяток видов скидок), дабы злобные абоненты не успели глубоко уйти в минус. На самом деле не все провайдеры умеют снимать деньги в процессе соединения (типичный случай, да и «без единого разрыва» вроде о том же).

Все сделано на Oracle, и хотя и были места, где он не тянул (оптимизировали логику вставок), особо хитрой оптимизации, или даже горизонтального масштабирования (кластеров там), не было. Так, partitioning по IMSI-кодам, и т.п. Особых деталей реализации не было.

Представители высоконагруженных веб-проектов в кулуарах считали, что сей проект далеко не высоконагруженный, а если засунуть туда стандартные технологии вебмасштабирования с кешированием, то никаких проблем, можно на порядок нагрузки повышать. Действительно, в сотовых сетях полно других бутылочных горл, и «DDOS» от пользователей тут не возможен. Т.е. при пиках загрузки обязательно сначала забьются соты и коммутаторы, и как «предохранители» защитят биллинг.

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

Highload++ 2008: Архитектура MySQL Cluster

«СУБД в памяти», да еще на географически распределенном кластере — актуальная тема. К сожалению, очень много ограничений по сравнению со стандартным MySQL — необходимо следить, чтобы не в коем случае не было Full-table scan, иначе конец. Выборки должны быть короткие, поиск только по индексу, т.е. в условиях никаких функций или интервальных ограничений.

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

Highload++ 2008: MySQL / InnoDB

Когда выложат видео — смотреть и плакать. Стильный докладчик — стиль «французский мим печального образа».

После этих двух докладов, я как-то понял, что MySQL будущего не имеет. Концепция PostgreSQL — «единая архитектура» с «небольшими кастом-плагинами», оказалась более правильной, чем «единая морда» с «хрен-знает-чем» за ней. Эти ядра (storage engines) конкурируют друг с другом, надрываясь переходят из «альфы» в «бету», затем обратно в «альфу», потом покупаются или забрасываются, в общем, а воз и ныне там. То есть либо MyISAM с регулярным чеком без транзакций, либо InnoDB с тормозами. Все остальное вообще не заслуживает упоминания, и наверно, скоро будет интересовать только археологов.

Если вдруг будет читать автор доклада, то совет ему — OpenOffice, это, конечно, хорошо. Но нужно обязательно поставить к нему проверку орфографии. Отсутствие пунктуации, я, скрипя зубами, вытерпеть могу. Но несколько орфографических ошибок на каждом слайде — это слишком. Наверно, это и есть MySQL-стиль.

Но, безусловно, респект за самокритичность.

Автор разыгрывал книжки сначала за детей Монти Видениуса (в смысле, кто назовет всех троих). Я вспомнил только Му (оказалась она не «My», т.е. «Май», а по-русски «Му» — бред какой-то) и Марию. Оказалось еще сын Макс был, в честь которого назвали благополучно помершее ядро MaxDB. А может наоборот, сына назвали в честь SQL-функции «MAX»?

Highload++ 2008: Внутреннее устройство и тюнинг Sphinx, некоторые tips-n-tricks

Sphinx. Самоучитель игры на волшебной палочке.

Автор заявил очень высокую планку — вместа «стандартного обзора по верхам» чего-либо, что вне зависимости от темы поняло бы 90% посещавших, пошел в глубокую глубь своего продукта.

При этом приложены суперусилия, чтобы народ не заснул и продолжал врубаться. Очень хорошие слайды регулярно пересыпаны мемами («??? PROFIT!!!» и «HYPNOTOAD» я немедленно утащил для своего выступления в МГУ через день. Правда студенты не осилили, пришлось разъяснять), доклад шел очень живо. Думаю, никто другой такую тему без закидывания помидорами не потянул. Как контраст вспоминается выступление сильного постгресиста на РИТ, который пытался рассказать публике об внутреннем устройстве индексов — публика еле выдержала пять минут.

Лично я ограниченный пользователь Sphinx — тупо, не приходя в сознание (хотя не с первого раза конечно, попробовал несколько сборок, пока нашел работающую), прикрутил его к корпоративным медиавикам. Доволен, ибо встроенный поиск MediaWiki, по возможностям и реализации — тихий непечатный ужас. Высокой нагрузки по поиску у нас нет. Хотя по докладу у меня возникло несколько идей по улучшению использования.

И все же, хочеться выяснить — насколько неплох внутренний полнотекстовый поиск PostgreSQL, стравив их с Sphinx. Если не сильно хуже — то это прекрасный аргумент стронуться с MySQL на PostgresQL, и там и остаться.

Highload++ 2008: Архитектурные приемы: онлайн-игры

Хм. Содержимое доклада обсуждать наверно не интересно — научная ценность несколько сомнительная. Автор обнаружил, что промышленные сервера и реляционные СУБД тормозят и обижают разработчика, а с учетом того, что в его задачах целостность и надежность нафиг не нужна (если упадет — вывесим табличку «Вам повезло! Сейчас мы делаем для вас что-то хорошее!»), он предложил спустить их в унитаз, а на замену предложил пару свежевыдуманных велосипедов, изготовление и проверку которых, при этом, он ожидал от публики.

Собственно этим доклад и был интересен — высокой планкой цинизма. Автор сходу представился «поисковым спамером». Спамеры вообще известны своей отмороженностью, к тому же совсем недавно SEO-спамер убил человека (молотком) — возможно поэтому аудитория притихла и не растерзала смельчака. По ходу доклада планка не снижалась. «Системы мониторинга работоспособности? — Нафиг. Проще нанять трех гоблинов-пользователей, чтобы паслись в системе круглые сутки посменно.» «Несогласны со мной? Вы — перфекционист. Т.е. извращенец, так говорит Заратустра википедия» (Кстати, это не так. См Перфекционизм).

Наезд на Perl со стороны явиста от Яндекс.Денег отбил неглядя. И т.п.

Безотносительно к содержанию — очень хороший пример, как надо делать слайды. Короткие тезисы, ясные и контрастные схемы. Не убивайте меня молотком!

Highload++ 2008: RESTful архитектура для масштабируемых систем

По сути живой пересказ статьи RESTful. В двух словах — «RESTful» это отход от изобретания сущностей и использования HTTP, как протокола транспортного уровня (типа SOAP/WS-* и прочего откапывания стюардессы, то есть CORBы), к его настоящему статусу универсального прикладного вебпротокола. Собственно эту архитектуру и придумал автор HTTPшного RFC 2116.

CORBA похоже уже всех достала, вот даже доклады по ней зарубают.

Все состояния хранятся на клиенте, а взаимодействие с сервером полностью определяется URLом ресурса, и примененным к нему HTTP-методом. HTTP-методам надо вернуть их семантику («GET» — для запроса, «POST» — для изменения и т. п.) и тогда наступит счастье, ибо будет идеальное масштабирование — любой «GET» или «POST»-запрос можно направить к любому серверу, так как он будет полностью самодостаточен для выполнения без малейших кук и серверных сессий. Соответственно все шоколадно должно быть с кешированием и т. п.

В реале думаю, далеко не безоблачно. Я сразу вспомнил, как я лет 10 назад наелся проблем с ограничением буфера (4КБ. в Apache), плюс ограничение броузера (IE вроде до последних версий было 2КБ), из-за чего все кто мог, не приходя в сознание перешли на метод «POST» и использовали «GET» только при тривиальных операциях.

Пробежался по вебу с запросам «REST GET max size» — проблемы еще вполне актуальны.

Плюс, совершенно непонятно как делать авторизацию (гонять «авторизацию» в параметрах — явно бред, хотя некоторые так делают).

Плюс, неочевидный момент — с интерфейсной точки зрения, все это будет мешать делать короткие запоминаемые и удобные пользователю URLы, и таким образом вышибать из использования такой активно используемый многими интерфейс, как адресная строка. Представьте, что все варианты запросов лягут в историю URLов в адресной строке — она станет совсем бесполезна, как для быстрого набора с подсказкой, так и для поиска или перебора.

В общем, пока непонятно. Возможно RESTful хороша для всякого AJAXа, где состояние по-любому живет на клиенте. Может с внедрением HTML5 броузеры будут более-менее полность адаптированы под REST.

Highload++ 2008: TimesTen — СУБД, которая работает в 10 раз быстрее классической СУБД


TimesTen звучит как «таймстемп». Маркетингово-сейловый доклад. Но к чести сказать, не только гламурная презентация, но и макет-демонстрация:

  • пара VMWare-машин на ноутбуке;
  • самопальное окошко-приложение, грузящее макет CDR-файлов в БД, затем выполняющее тривиальный пересчет данных.

Бесплатный совет любым сейлам западных продуктов — первым делом написать или перевести русскоязычную статью в Википедии. В «англоязычной» Википедии рекламу убивают быстро (вот сейчас эта статья TimesTen под приговором), в «русскоязычной» — только если совсем оборзеть.

Утверждается, что достигнуто преимущество в 15-20 раз по скорости над обычным Oracle. А ведь 17 — это вроде как классическое «среднее» различие между скоростью доступа к памяти и последовательным доступом к диску, но докладчики утверждали, что это преимущество достигнуто на макетах с одинаковым выданным объемом памяти обоим. Видимо даже редкие fsync классической СУБД дают этот порядок тормозов. Плюс — максимальное использование random-доступа — T-tree/hash индексы вместо BTREE индексов, сортируют, наверно, тоже не слияниями. Можно выжать вообще максимум, используя API прямого доступа к внутренним структурам.

И все-таки несколько позорное для классического Oracle сравнение (неужели не могли ценных алгоритмов пересадить внутрь обычного Oracle?). Напоминает сценарий продажи «абсолютного щита и копья» двум покупателям — покупатель щита не купит его, т.к. оно пробивается абсолютным копьем, а покупатель копья не купит, узнав что есть абсолютный щит.

Вообще тренд — дешевеющая память (не только известный SSD, но и другие экспериментальные дешевые модели памяти) и повсеместный отход от классических архитектур СУБД, где есть только маленькое окно памяти в BUFFERS, а все остальное — неподъемный жесткий диск.

Так Oracle уже три года как купил (и вот переварил) TimesTen, а IBM купил и переваривает SolidDB. Ширится движение разных «Real Clusters» — базы в только в памяти, надежность — только дублированием в кластере. Да, докладчики от сравнения с «MySQL Real Cluster» уклонились.


Вроде как оракл переварил эту софтину успешно — софтина обучена более-менее Оракловому диалекту SQL (т.е. оракловые функции и т.п. — но не полностью!) — общается с обычным ораклом начиная с 9.2.0.8 клиента и 9.2.0.6 сервера. Софтина умеет жить сама по себе и в роли кеша для обычной оракловой базы. Т.е. если вы написали тормозящую систему на Oracle — поставьте перед ней memcache TimesTen, и все будет хорошо. И вроде как недорого ($1000 за процессор).

Забавный момент — это первая на моей памяти эффективная СУБД, у которой нативным интерфейсом является ODBC.

Были странные вопросы — сможет ли эта штука использовать память вне ОС — типа выше 4GB под Win32 (Заметим, что на самом деле под Win32 нельзя использовать больше ≈3GB). Типа «Доктор, я смогу после операции играть на скрипке…».

Однако далеко не все так безоблачно. Нарыл:

сведения о версионности Oracle TimesTen не соответствуют действительности. Пишущие транзакции не только блокируют читающие (а читающие — пишущие), но, более того, читающие транзакции блокируются читающими (на уровне строк). При многопользовательском доступе, это может существенно ухудшить масштабируемость системы (при наличии конфликтов доступа). Заблуждение относительно поддержки TimesTen версионного доступа могла возникнуть в результате того, что при подключении по протоколу ODBC, используемому TimesTen, по умолчанию действует режим AutoCommit, при котором каждый запрос к БД выполняется в рамках отдельной транзакции. При использовании ODBC, режим AutoCommit должен отключаться явно. Update: Автор доклада в комментах говорит, что это неправда.

Highload++ 2008: Общие впечатления и оргвопросы

Похоже прислушались к отзывам после «РИТ:Высокие нагрузки» — была решена проблема с мужскими туалетами. Причем достаточно оригинально, просто путем переименования женского. Очень вовремя, ибо народу вроде стало больше, чем на «РИТ:Высокие нагрузки», судя по более большой толпе и плотной расстановке стульев. Девушек правда вроде тоже стало больше, но это и хорошо, тем более их оставалось пренебрежимо мало, чтобы отбить обратно «захваченный» туалет.

Кстати, по моему скромному разумению (ящитаю) на IT-мероприятия девушек надо пускать за полцены, а может даже и бесплатно, как это принято в ряде заведений. Тем более, что толпа ITшников, собранная в одном месте — страшное зрелище. Смотрится как парад уродов, и навевает на грустные мысли — ведь я-то среди них. В этот раз мне стало мнится, что вокруг очень, очень много (статистическая флуктуация) моих тезок. Думал о проклятии имени (проклятии компетентности). Так вот, если толпу разбавить симпатичными девушками, вместо чудовищ, бомжей и инвалидов будут видеться просто творческие оригиналы.

Еще плюс организаторам — оперативно публикуются слайды прочитанных презентаций на slideshare. Таким образом совершенно не нужно пересказывать содержание докладов, поэтому я сконцентрируюсь на кратких личных ощущениях.

Да, организована даже прямая видеотрансляция — но коллеги с работы посмотреть не смогли, думаю правда из-за закрученных админами гаек. Впрочем, вроде оперативно выложили видеозаписи. Кстати, сервис smotri.com лучше других «тьюбов» удобной мягкой перемоткой.

Как обычно, нужно что-то написать про еду. Ну вот, в первый день были очереди на обед в первой волне, причем весьма. Применил метод «высоких нагрузок» — абсолютную асинхронность и денормализацию — начал потреблять пищу в порядке доступности ресурсов (то есть если что-то лежит и это не едят — ем). Пришлось есть в следующем порядке: Сладкое, десерт, фрукты, рыба, картошка, колбаса, салат. Оно конечно ужасно, но аппетит глушит/отбивает. Во второй день увеличили количество серверов, точек раздачи и стало получше.

Из косяков — PowerPointовские презентации показывались на 16x9 плазменных мониторах еще более вытянутыми (20x10?, с черными незадействованными полями сверху и снизу). Аж жалко было пропадающих квадратных метров московской жилплощади плазмы. С учетом, что шаблон большинства презентаций включал широкий баннер конференции сверху, места для собственно информации, оставалось совсем мало. Кстати проблема была явно не видеокарточки, а PowerPointa, ибо PDF и OpenOffice презентации успешно шли в полный экран. На второй день проблему решили. Вывод — перед выступлением на какой-либо конференции нужно узнать настройки оборудования именно в том зале, где будет нужно выступать, и принять меры на тему «что, если…».

Еще замечание — неудобно сверстанная программа («Расписание выступлений»). Естественный сценарий — распечатать, затем вычеркивать неинтересное, и обводить интересное, чтобы понять куда ходить. Здесь же зачем-то параллельно сверстали два дня — кроме как безумными соображениями «чистого вебдизайна» этого не объяснить.

А смотреть программу заранее все более и более важно. Учитывая, что оперативно выкладываются и слайды и видео — единственным реальным смыслом посещения (кроме сомнительного «удовольствия от тусовки»), остается возможность задания вменяемых, возможно жестких вопросов докладчику. Для этого нужно по сути уже знать тему более-менее.

Ну и еще соображение — раз уж Highload клонировалась (таки большое пересечение по докладам, докладчикам и темам), хотелось бы как-то разнести эти конференции по времени, в идеале — на квартал или полгода. За это время можно будет попробовать идеи после одной конференции, чтобы задать разумные вопросы на другой.

Highload++ 2008

Сейчас попробую опубликовать серию заметок о посещенных на конференции Highload++ докладах. Раньше сделать это не мог — была сумасшедшая неделя, где кроме конференции у меня были лекции в МГУ и МФТИ, к которым пришлось готовится ночами, плюс куча работы, в общем спал мало, и вообще провел неделю на кофеине с ноотропами.

Только в субботу отоспался и попробовал опубликовать заметки по бумажным записям в блокноте — возможно увы, многое уже забыл. Имена-фамилии докладчиков намеренно опускаю, чтобы зазря не светить их всуе.

Публиковать буду по одному докладу на пост, вроде небольшие посты — это правильный формат для блога.

2008-10-04

Siemens Gigaset S44 — отстой

Кстати, трубки Siemens Gigaset S44 (которые к Siemens Gigaset S645 идут) — полное дерьмо. И трубка из комплекта, и дополнительная уже во второй раз попадает в ремонт. Ремонт тянет на 60-70% их стоимости, а судя по реакции сервисменов, болезни их известны и широко распространены. Что было — год назад обе трубки «ослепли» — перестал работать дисплей-индикатор, а вот только что — оглохли, одна за другой с интервалом в пару недель — перестал работать динамик. В результате сдал их в ремонт, недели полторы без домашнего телефона дома — жена не простит… Луч ненависти сименсу. 

2008-10-01

INTUIT:CRM

 Прошел курс «Стратегия управления взаимоотношениями с клиентами (CRM)».

Разумный курс, времен моды на внедрение CRM-систем. (Да, автор курса тоже уже пару лет как не в этом бизнесе, да и сейчас крупным заказчикам вместо CRM/ERP-систем принято «продавать» сервисную архитектуру, ESB, SOA, плюс Master Data Management, а CRM теперь есть всего лишь производный аспект вышеперечисленного).

Автор пишет легко, и в целом разумно, регулярно приводя бизнес-кейсы. Конечно, те, кто на острие маркетинговой мысли (как признак — читают блог Сета Година) , вряд ли узнают какие-либо откровения, но разработчику или внедренцу сервисных приложений читать полезно весьма — даже не в смысле узнать что-то волшебное, а как чисто набор шаблонов/заготовок для всяких внедренческих бумаг (коммерческих предложений, техобследований, ТЗ, НИРов и т.п.).

Вопросы простые, но часто используется плохая форма тестов — multiple select (экспонента вариантов), и смущает, что часто надо отмечать все варианты для правильного ответа (спойлер!).

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

Что-то неактуальным — коллцентры и вообще телефонные коммуникации с идиотами техподдержки первого уровня заменяются интернет-интерфейсами (удобней), или прямым контактом  (емайл, блоги-форумы) со специалистами.

Вообще мне стыдно, но надо признаться, что в году 1999 я даже на АвтоВАЗ писал (тогда у них емайл был только у вебмастера сайта), убеждал внедрить CRM-систему с системой регистрации дефектов, советовал багзиллу. (Ничего не ответила рыбка). Прошло десятилетие, рабочие и инженеры ВАЗа попали в инет, но судя по веткам типа этой [1], сие ВАЗу уже не поможет.

Теперь уже полно «народных» CRM на любой вкус в модели SaaS с недорогой арендой. Но то, что они не так распространены — мне видится несколько причин. В определенном смысле весь интернет целиком (совокупность вебресурсов) стал CRM-системой с размазанной информацией о клиенте, а локальные CRM-системы, в каждой из которых нужно отдельно регистрироваться, отпугивают массового пользователя. Ну и опять таки, светить денежные потоки в какой-то общей системе — для РФ, видимо будет неприемлимо весьма долго. 

Но у меня есть идея для нового вебсервиса —  система бронирования времени в сфере услуг. Т.е. поставщики — предприятия или частные мастера. Парикмахерские (парикмахеры), врачи (терапевты или стоматологи), высококвалифицированные строители-ремонтники (типа «крутой электрик-сантехник», а не «комплексный ремонт за год»), репетиторы, массажистки,  ну и вообще, на что фантазии хватит (ЕВПОЧЯ)…

Поставщики держат в системе календари занятости. Потребители идентифицируются с помощью Open-Id (контакты-адреса нужно хранить безопасным образом в системе), и могут заказывать услуги поставщиков, выбирая и аллокируя свободное время (календари со свободным временем доступны). Т.е. не надо звонить, мучительно согласовывать «точку встречи» с секретарями и т.п. Можно хранить историю посещений-отношений, вести обратную связь, электронную репутацию, а деньги выносятся за скобки (как договорятся). Можно также привязать Google Maps (координаты), и загнать в сервис алгоритмы составления-рекомендации оптимальных расписаний — это даст уникальность (УТП) и труднокопируемость сервиса.

И сбудется мечта Пелевина — человек человеку будет не друг, не брат и не волк, а дилер и эксклюзивный дистрибьютер.

2008-09-25

РИТ:Высокие нагрузки-2008 (3)

3 День второй

3.1 Sphinx в примерах и задачах

Мне ужасно стыдно, но я проспал. Хотя тема явно интересная, уже есть два эффективных бесплатных и опен-сорс движка полнотекстового поиска — Sphinx и встроенный поиск PostgreSQL. Очень интересно кто-кого, и даст ли «синергию» конкуренция и перекрестное опыление.

Например в некоторых наших внутренних MySQL-системах я уже подключил Sphinx для поиска, в некоторых — думаю подождать и сразу перейти на PostgreSQL, и делать полнотекстовый поиск с морфологией напрямую в БД.

3.2 Организация асинхронной обработки задач

Частично опоздал, но в целом доклад не оправдал моих ожиданий. Судя по названию можно было бы ждать опыта использования специализированных продуктов — от вендоров, типа Oracle Advanced Queuing (в тезисах говорилось про оракл), IBM WebSphere MQ,…, а может даже и опен-сорс. Увы, рассказали о простом самодельном решении на оракле. Как-то невозбуждающе.

3.3 Практическое использование Hadoop в системе интернет-статистики

Разумное и модное решение задачи параллельной обработки и агрегации логов посещения сайтов. Используется фреймворк Hadoop (параллельные вычисления в парадигме map/reduce), который для таких задач вроде как идеально предназначен, и в общем-то единственно доступный (опен-сорс), ибо гугловый аналог закрыт, а больше вроде ничего нет.

Кластер относительно небольшой (12 восьмиядерников с 8Gb памяти), но справляется. Два прохода:

  • Схлопывание текстовых многополевых атрибутов в idы (индексирование).

  • Обработка (агрегация разного рода) полученных индекс-файлов, получени отчетов.

Ну и всякие там хитрости, вроде все разумно. Опять таки, убьют наверно баннерорезки и этот бизнес.

3.4 CAS — сервер приложений C++

Как-то не. Ждал «сервер приложений C++». Оказалось, «не сервер», «не приложений», «не C++». То есть ребята написали очередной шаблонизатор, для вызова из скриптовых языков. Вроде как быстрый (судя по картинке-гистограмме с неподписанными осями и без единой цифре), но как-то не то, что ожидалось.

3.5 Виртуализация в среде highload servers

Вроде по содержанию маркетинговый доклад, подвигающий фишку виртуализации от SWSoft — вместо выполнения виртуальных машин целиком (VMWare, Hyper-V, Virtual PC, VirtualBox, …), на хост машине размещается одно ядро операционной системы, а виртуализуется все остальное — файловая система и все что на ней.

Для маркетингового доклада выглядел как-то вяло, но оказалось, что докладывал не маркетолог, а инженер техподдержки (для него это нормально).

Выгоды сферической виртуализации в вакууме понятны, угрозы тоже (взлом виртуальной машины высоковероятно приводет к взлому машины хостера, и конец всей сотне виртуальных машин). См. например An Empirical Study into the Security Exposure to Hosts of Hostile Virtualized Environments. Да и без всяких взломов, как выяснилось, трудно рулить физическими ресурсами — например можно ограничить виртуальную память каждой машине, но живую память квотировать нельзя — соответственно одна «оборзевшая» виртуальная машина может поставить «раком» остальных.

Сравнений с конкурентами тоже не было. Но тема интересная. Может доживем до момента, когда и монстры типа яндекса, будут жить на виртуальных серверах, переползающих с одного железа на другое.

3.6 Application Streaming

Жесткий маркетинговый («парилово») доклад от ENDEAVORS. Презентация с гламуром и анимацией, причем разработанная видимо зарубежом — ни слова по-русски (даже не локализовали).

Суть — очередные модели SaaS, не только как вебприложений, но как скачиваемых в специальную среду rich-приложений, работающих ограниченное время (за плату). Почему-то утверждалось, что CRM-системы на вебинтерфейсе невозможны (вроде как неправда).

Постоянно упоминались куча софтварных патентов, за которых этой конторе вынуждены отстегивать собственно производители типа Microsofта, технологии защиты цифрового контента, и прочие штуки, которые я ненавижу. Надеюсь в светлом будущем не придется арендовать фильмы в виде защищенного этой технологией одноразового приложения, а все эти технологии благополучно сдохнут. Пусть разве что останутся честные SaaSовсцы, предоставляющие (пусть за деньги) приложения на своем хостинге.

3.7 Архитектура Photofile.ru

История эволюции архитектуры фотохостинга, от совсем любительской (на одном сервере), до более-менее масштабируемой. В деталях, как появлялись разные узкие горла, и какими эвристиками с ними боролись — как включали второй сервер, как перетаскивали файлы, оставляя на их месте симлинки, как делали шардинг через Dynamic DNS и т.п.

Алсо, ругали Cache Smarty.

В общем, с появлением таких монстропроектов, как «я.фотки», «netprint.ru», с огромным машинным и человеческим ресурсом, с изначально масштабируемой архитектурой, фотофайлу наверно высокие нагрузки более не угрожают.

3.8 Архитектура и реализация сервиса печати фотографий netprint.ru

Крутые парни. Большой промышленный проект — практически уже монополия на фотопечать (почти все фотохостинги печатающие фотки, печатают через них), типичный пример, как централизованный онлайн-сервис убил все кустарные лаборатории.

Архитектура — Java, вроде как разваленная на вебсервисы (JMS), плюс PHP+XCACHE+LightHttpd для вебморды. Кстати, опять таки PostgreQL.

Максимальная асинхронность, все операции не более константной сложности, причем константу загоняют до нижнего предела:

  • вместо удаления — пометка об удалении, удаляет специальный демон потом;

  • перекодировка изображений — написали сами оптимизированный под Intel код, вроде как порвал ImageMagick в десятки раз.

Ребята не ведутся на марки, тренды и авторитетов:

  • бэкап делают на ленты, ибо посчитали, что чуть дешевле (для новых систем вроде как ленты лет уж пять как похоронили общемировым консенсусом).

  • опять таки самописная обработка изображений,

  • RAID — sucks.

  • тренировки по восстановлению в формате «внезапная пожарная тревога» (может шутили?),

  • изучение поведения системы под нагрузкой в дни естественных пиков (пост-праздники, НГ).

Попытался после конференции передать свои пожелания к системе. Например, печать EXIF-дат фото на обратной стороне. Когда я еще печатался в мелкой локальной фотолаборатории, моя самописная утилита переименовывала имена файлов под ISO-дату, и как-раз первые восемь символов имени файла печатались сзади. Очень удобно, легко понять, когда это фото и что. Когда начал печататься в нетпринте, халява закончилась — там все фотки при загрузке переименовывались. Это меня теперь сильно останавливает от печати — не хватало еще усугублять файловый бардак, бардаком с бумажными фото. Подождем, может сделают. На самом деле, им даже не нужно патчить софт в машинах-фотолабораториях, проще написать «переименовывающий фильтр» перед подачей этих файлов в машины.

3.9 Решение проблем высоких нагрузок на примере проекта Яндекс. Фотки

Сервис очень хороший, и докладчики наверно хорошие (редкий зверь — два докладчика, практически «парный конферанс»), но доклад вызвал раздражение и аллергию.

Презентация намеренно сделана «банально-попсовой», символы архитектуры заменены всякой порнографией (типа женский бюст — Cisco, банан с двумя апельсинами — сами додумайте и т.п.). Плюс дурацкие фото, как эмоциональная иллюстрация идей. Что-то похожее я видел на презентациях с конференции автоматизаторов торговых сетей — тупые и тривиальные тезисы слайдов засыпаны содержимым с fishki.net чуть более чем полностью.

Но возможно это лично мое извращенное мнение, аудитория вроде реагировала живо, наверно понравилось. По сути, конференция — это гибрид похода в кино, театр, тусовку и ресторан одновременно, и народ алкает зрелищ и развлечений.

А так типа все круто, масштабируемость, распределенные датацентры, супернадежность (мониторинг мониторинга) — остальным фотохостингам остается или закрыватся, или искать нишу (ЕВПОЧЯ).

3.10 Доставка контента пользователям

Обнаружил, что есть сервис smotri.com, позиционирующийся как самый крутой в рунете. Вообще в этой теме (протоколы передачи видео и т. п.) практически не разбираюсь, посмотрел архитектуру — местами «стандартно фотохостинговая», местами есть специальные гитики.

Средняя температура по больнице — 4 минуты на ролик, 250Кб/сек — доставка. Отметил, что пользуются WebDAVом для трансляции операций по загрузке и редактированию и не жалуются.

Слегка возбудился, когда докладчик начал утверждать, что маршрутизацию оптимального пути от хранилища видеоконтента до потребителя делают стандартным алгоритмом кратчайших путей на графе с весами обратными пропускной способности — очевидно должна получатся фигня. Тут надо либо специальный BFS-алгоритм использовать, либо вообще, учесть загрузку от передаваемых потоков, может даже линейным программированием попользоваться… — но оказалось (в беседе с автором), что там вообще все на глаз — просто «эксперт» разбрасывает целые оценки ребрам (плохой канал — побольше, хороший — поменьше), а потом кратчайшие пути.

Вроде всех все устраивает, другая оптимизация не нужна. Хотя может если видео пойдет в большем качестве, то наконец все упрется не в диски-память, а в сеть, и тут понадобится более серьезная оптимизация.