?

Log in

No account? Create an account
 

Nothing business

About Recent Entries

Индийский быт. Часть первая: еда и магазины Sep. 24th, 2012 @ 11:23 pm

С мая 2012-го года, т.е. уже больше четырех месяцев, я живу в Гургаоне - ближайшем пригороде Дели, столицы Индии. Грешно было бы в моем случае не рассказать об индийском быте. В этом посте расскажу о местной еде и магазинах.

Еда

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

Начну с самого простого - уличная еда. Наиболее распространены на улицах лотки как раз не с едой, а с питьем. Выпить можно свежевыжатого сока из манго, сладких лаймов (sweet lime), гранатов и ананасов. Распространены также лотки с лаймовым соком, разбавленным водой и солью (да, здесь любят в соки добавлять соль) и просто холодной водой (встречал редко и только в Дели).

На втором месте по популярности - лотки с кукурузой, которую тут же на месте распаковывают из зеленого початка и обжаривают на углях. Есть совершенно удивительные лотки, где продают "все для курения": сигареты, печенье, сладости, конфеты, разливают масала-чай. Последний - обязательный индийский напиток, который варят непременно с молоком, сахаром и небольшим добавлением какого-то жира.

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

Вокруг этих "лотков", которые на самом деле действительно лотки, чаще всего на колесах и с приспособленным с одной стороны велосипедом, постоянно толкутся местные мужики, причем иногда просто толкутся, ничего не покупая.

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

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

Эти лотки здесь используются вместо привычных для России киосков. А в парке Lohdi Garden горячий чай, воду и чипсы разносят специально обученные ребята и просто предлагают каждому встречному. Так была решена задача не захламлять исторически ценное место.

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

Местным жителям, конечно, надоедает за всю жизнь рис и поэтому они часто вместо него с далами едят хлебные лепешки: отрывают, обмакивают, съедают. Лепешки похожи на знакомый всем в России лаваш, но только в них добавляют гораздо меньше муки и они не такие тонкие.

Сам я с этими нехитрыми блюдами познакомился предельно близко - вот уже 4 с половиной месяца только ими и питаюсь на обед. Но у местных это, похоже, блюда на весь день - каждый вечер в магазинах люди закупают огромные мешки с чечевицей и горохом, рис продается, конечно, в разной фасовке, но очень распространены мешки по 10-20 килограммов.

От индийской национальной кухни перейдем к тому, что вообще продают в продуктовых магазинах. В Дели и Гургаоне без особого труда можно найти почти все те продукты, которые привыкли видеть европейцы или американцы у себя на родине. За исключением, конечно, специфики вроде тушенки, гречки и кедровых орехов. Молоко (свежее - только в полиэтиленовых пакетах), яйца (белые и коричневые в привычных ячейках по 6 или 10 штук), курица, баранина, рыба (охлажденная, но бывает и замороженная - свежую норвежскую форель сюда не довезешь), самого разного рода выпечка (кексы, дэниши, тарты, торты), напитки Кока-колы и Пепси, включая специфичные для индийского рынка Slice, Maaza (напитки с содержанием мангового сока) и Nimbooz (лаймовый сок, много лимонной кислоты и много соли) - все это очень широко распространено.

С мясом могут возникнуть проблемы если не знать, где его покупать. Лучший вариант - в мясном магазине Le Marche, который вообще во всей этой сети один и находится рядом с жилым комплексом Galleria Towers на Galleria Market в районе DLF Phase IV (это в Гургаоне). Вариант похуже - в любом другом магазине Le Marche, которые рассыпаны по всему Дели. Третий вариант - в гипермаркете (Spencer's или Spar, например), но мясо там обычно похуже. Самый неудачный вариант, если все вышеупомянутые недоступны, - доехать до ближайшего рынка и найти там лавку мясника. Лавки обычно довольно грязные, внутри полно мух, которые в том числе, конечно, садятся и на мясо - с ним явно надо быть осторожнее.

Магазины

С магазинами в Индии все просто. Начать здесь стоит с рынков, из которых я успел побывать на Sushant Vyapar Kendra, Sushant Shopping Arcade и Galleria Market в Гургаоне, и Khan Market в Дели. Рынок - это многоэтажное здание, максимально похожее на молл (или торговый центр, как принято говорить в России). На первом этаже обычно расположены самые популярные магазины: еда, электроника, аптеки, оптика, фото на документы и все такое прочее. Выше - агенства недвижимости, парикмахерские, аюрведические клиники, спа-салоны и другие подобные заведения, куда обращаются не так часто.

На рынке Sushant Vyapar Kendra в Гургаоне можно выбрать фен и мобильный телефон, заказать новые очки, накупить круп, сладостей и фруктов, договориться об аренде квартиры, посоветоваться по поводу лекарств, сфотографироваться на документы (в Индии обычное дело приложить две фотографии к анкете абонента сети мобильной связи или четыре к документам на открытие банковского счета, так что дело нужное), сделать копии каких-нибудь бумажек или что-нибудь распечатать, пообедать, выпить свежевыжатого сока, переобуться, переодеться, починить часы и подшить брюки. И это только те услуги, которые я видел своими глазами.

На Khan Market (находится в центре Дели, недалеко от зоопарка, популярного монумента India Gate и Central Secretariat) вообще есть магазин Swarowski, отличный ресторан восточной кухни Side Wok (рекомендую Tom Kha, суши тоже есть, но не пробовал) и вышеупомянутый Le Marche с бутылочным кофе Starbucks, доставленным сюда прямиком из Нью-Йорка.

Есть, конечно, рынки попроще - в том же DLF Phase IV недалеко от Galleria Towers. Магазины здесь тянутся вдоль улиц на первых этажах жилых домов. Так же, только еще более насыщенно и плотно, дело обстоит на Чандни чок в старой части Дели.

Кроме рынков есть и моллы. В Гургаоне на M.G. Road (таких улиц в стране много, я сейчас о соединяющей Дели с Гургаоном Mehrauli-Gurgaon Road), например, подряд друг за другом следуют по 10 моллов с каждой стороны. Какие-то, при более тщательном осмотре, оказываются бизнес-центрами или офисами банков, но впечатление от этого более блеклым не становится.

В моллах ассортимент самый разный: по соседству с магазинами национальной одежды располагаются Levi's и Tommy Hilfiger. На одном фуд-корте можно попробовать бургер из Макдональдса, бутерброд из Subway и что-нибудь традиционно индийское, тайское или китайское. В остальном организация торговли и развлечений для среднего класса такая же, как в Европе.

В следующем посте постараюсь раскрыть тему жилья и транспорта.

Current Location: India, Gurgaon

Индия: полтора месяца работы в стартапе Jul. 2nd, 2012 @ 01:24 pm

Сегодня - полтора месяца и один день, как я приехал в Индию. А точнее, в северную Индию. А еще точнее, в Гургаон - ближайший пригород Дели. О местном транспорте, людях и их обычаях я рассказу в следующий раз. Этот пост - о моей работе.

Я приехал в Гургаон разрабатывать интернет-магазин. E-commerce - новая для Индии тема, первые магазины масштаба страны здесь начали появляться около полутора лет назад. Компания, пригласившая меня сюда приехать, торгует косметикой, парфюмерией и разными модными аксессуарами. Начинали они по-простому - установили готовый движок Magento, кое-как его под себя настроили и стали продавать.

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

Однако, в какой-то момент ребятам стало тесно (в том числе и в маркетинговом смысле) в рамках Magento, сайт стал заметно тормозить, и они решили написать магазин с нуля на Node.JS. Квалифицированных разработчиков со знанием одновременно Node.JS, JavaScript и хорошим опытом серверного программирования в Индии днем с огнем ищут, поэтому решили поднапрячься и поставлять сотрудников из Европы. Я здесь второй европеец - первым был (и есть до сих пор - уедет только в августе) специалист из Болгарии.

В целом в компании работает около 160 человек (число меняется каждый день - магазин активно растет), 20 из которых - разработчики (или Tech Team, как нас здесь называют все остальные). Руководит разработчиками VP of Technology, а вся команда из 20 человек условно поделена на рабочие группы по четверо-пятеро программистов, в каждой из которых выделяют Tech Lead'а.

Может показаться, что излишне городить три уровня иерархии для 20 сотрудников, но на самом деле пирамида эта весьма условна. Tech Lead'ы, например, существуют только чтобы горизонтальная коммуникация шла эффективнее. Проще говоря, чтобы люди быстрее и точнее обменивались информацией.

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

Целиком вся команда из 20 человек тоже собирается на "митинг", в пятницу вечером. Это совещание проводит, как правило, VP of Technology. Здесь, кроме уточнения текущего положения дел (что сделано за неделю, что в процессе, к чему предстоит приступить на следующей неделе), поднимаются вопросы бизнес-уровня. Такие "митинги" позволяют абсолютно всем разработчикам знать о том, что происходит в компании, какие новые задачи решают их коллеги и как они это делают. Каждый может активно высказывать свое мнение по любому вопросу. VP тоже пользуется случаем и транслирует все, что наболело за неделю и любые отзывы о работе, которые он за минувшую неделю получил от коллег из других департаментов. Однако, технические детали здесь обычно не рассматривают, иначе бы такие совещания длились часами.

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

Профессиональные эффективные менеджеры тут же придумают тьму минусов такого подхода.

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

Может случиться, что человек просто не хочет или не может работать, не понимает, чего от него хотят, ну и в целом неадекватен. А что убережет от этого в дедлайновом подходе?

Задачи, как и во многих "продуктовых" компаниях, ставит PM, Program Manager. Он собирает требования с внутренних заказчиков (специалистов по маркетингу, рекламе, каким-то конкретным товарным категориям), формулирует их в терминах продукта и доносит до Technology Team. PM - человек, одновременно пребывающий и в контексте разработки, и в контексте бизнеса. Для разработчиков он эксперт по бизнесу, ему можно задавать любые вопросы, связанные с предметной областью. И, в то же время, ему можно объяснить свое технологическое решение на привычном для программистов языке.

Отдельного отдела QA не существуют, тестируют все фичи и багфиксы сами разработчики. Перед релизом очередной версии сайта объявляется Testing Call - пару часов своего времени программисты должны уделить тестированию. Кроме того, все ошибки, которые случаются на боевом сервере, тут же попадают в систему мониторинга. За ней каждый день наблюдает следующий в очереди человек. Если случается какая-то проблема - транслирует ее коллегам. Получается, что работаем почти по модной методологии DevOps.

Отчасти поэтому, а отчасти из-за общего духа, настроя и идеи, всем в Technology Team говорят: "Ребята, мы работаем в стартапе". Здесь, разумеется, это слово не вызывает тех эмоций, которые привыкли испытывать в России. Но компания и действительно, по всем западным канонам, стартап. Она живет большей частью на инвесторские деньги, готовится ко второму раунду инвестиций, активно растет, развивается и набирает сотрудников.

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

Current Location: India, Gurgaon

Городской айсберг May. 6th, 2012 @ 01:43 am
Все мы знаем о трагедии, произошедшей с британским пароходом "Титаник", столетие которой 10-го апреля отмечал весь мир: амбиции капитана и компании "Уайт стар лайн", недостаток спасательных шлюпок и безответственность радистов находящихся неподалеку судов привели к полутора тысячам смертей.

Теперь вернемся в 2012-й год. Второго мая пресс-центр мэрии Новосибирска распространил сообщение о том, что пятого мая с 20 до 22 часов центр города будет перекрыт для репетиции парада в честь праздника победы над фашистской Германией.

Оставим сейчас за рамками текста обоснованность и необходимость проведения этого парада, а уж тем более его репетиции. А начнем с того, что подобное событие, вообще-то, можно сравнить только с масштабным взрывом или эвакуацией: перекрытый центр автоматически означает пробки от моста через реку Иню до Автовокзала и полный коллапс на улицах, параллельных Красному проспекту. И информировать о нем людей должны соответствующим образом, например, предупреждениями по специальному каналу систем сотовой связи (хотя бы просто SMS от операторов) или объявлениями на подъездах (как при отключении воды или электроэнергии). А не посредством заметок на НГС.

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

Третий гвоздь в гроб сознательности мэрии Новосибирска мог бы даже остаться незамеченным, если бы я сам в 17:50 (заметьте, за 2 часа и 10 минут до регламентированного времени начала репетиции парада) не оказался на пустой площади Ленина. Не до конца собранные трибуны, отсутствие всякого движения, военного вида телефургон ВГТРК, хриплый тестовый голос из динамиков ("один", "два", "три", ..., "тридцать шесть", "тридцать семь") и пиликанье полицейских раций со всех сторон создавали постапокалиптическое впечатление. И, боюсь, не только в моей, столь впечатлительной и эмоциональной, голове.

Эта предпраздничная зарисовка - всего лишь красивая иллюстрация ситуации "Люди для чиновников, а не чиновники для людей", которую мы видим каждый день. И не то чтобы сегодня я как-то особенно разочаровался в мэре Городецком. Зато сегодня я понял, что мэр Городецкий - это амбициозный и безрассудный Джозеф Брюс Исмей, управляющий "Уайт стар лайн", который ради собственной прихоти способен рисковать не только своей судьбой и судьбой своей компании, но и жизнями и безопасностью горожан, не говоря уже об их комфорте.

Можно весело наблюдать за тем, как мэр беспокоится за семиметровый фонтан или разрешает без задних мыслей уже и так изгадившую весь город точечную застройку, но страшно становится от того, что такой вот градоначальник может облапошить тебя как вокзальный наперсточник в любом деле, начиная с выделения участка под застройку и заканчивая установлением времени проведения эвакуации в случае чрезвычайной ситуации. Потому что мы для них, а не они для нас. Набившиеся в поезда метро для катающихся на длинных автомобилях с водителями. Мокнущие под дождем в очереди на маршрутку до Академгородка для размечающих скверы под застройку. И стоящие в мертвой пробке на Бердском шоссе для гуляющих по первомайской Москве в сопровождении ФСО.

О разнице между Windows Mobile и Android Dec. 23rd, 2011 @ 07:22 pm

До недавнего времени основным средством связи мне служил старый-старый телефон HTC Artemis на еще более старой операционке Windows Mobile 5. В какой-то момент в нем напрочь отказали все возможности выхода в интернет - и Wi-Fi, и GPRS. Так и работал он телефоном для звонков, будто бы и не смартфон вовсе, а какая-нибудь дряхлая Нокиа за тысячу рублей. С месяц назад я решил отправить его, наконец, на покой - все-таки хочется иногда и Твиттер почитать с телефона, и почту принять, и вообще уже давно пора было его заменить. iPhone 4 решил не брать, потому что уже есть iPad, который ну почти ничем не отличается по сути, и должного технологического экстаза от покупки я явно бы не получил. Так что купил телефон с Android, небольшим экраном (для видео, книг и прочих разных интернетов есть вышеупомянутый планшет) и легенький, легче прежнего Артемиса - им оказался HTC Wildfire S.

Надо сказать, полагающуюся дозу экстаза я, конечно, получил: почта, прилетающая на телефон, возможность оперативно на нее ответить, беседы в Твиттере с пассажирского сиденья автомобиля - все это чудесно. Но в самое сердце меня поразило то, что с 2006 года, со времен покупки Артемиса, не изменилось во вселенной HTC.

В HTC Wildfire S, появившемся на свет в 2011 году до сих пор есть две постоянные (не оперативные) памяти: одна в телефоне, а другая на microSD-карточке, которую я в глаза не видел - она уже на заводе была воткнута в телефон. Первая, понятно, совсем невелика - чуть больше 100 Мб, а вторая - 2Гб. Логично, что первую мне использовать вообще ни к чему - ну пускай ОС там хранит какие-то свои настройки, конфигурацию, что-то такое простое и постоянно необходимое.

Ан нет, дорогой читатель, - HTC Wildfire S устанавливает программы всегда во внутреннюю память. И чтобы перенести ее на карточку, нужно сказать об этом телефону особо. Казалось бы, я качаю приложение, может даже платное, т.е. с меня за него уже списали некую сумму, а после скачивания выясняется, что для распаковки и установки не хватает свободного места во внутренней памяти. Более того, вот вы освободили, допустим, место во внутренней памяти, расчистили, удобрили, полили, и что теперь нужно сделать? Правильно - скачать это приложение еще раз.

Истина заключается в том, что мне наплевать, в какую память ставится приложение - я знаю, что в телефоне есть около 2 Гб и он должен дать мне их использовать. Я устанавливаю приложения на iPad уже в течение года, установил их более сотни и никогда не задумался о том, в какой там к черту памяти он их сохраняет - мне безразлично.

Больше всего (до того, как отказал интернет) в Артемисе меня раздражала сложность в установке приложений: расчистить вручную место, скачать файл с программой, распаковать, установить. И меня буквально тошнит от того, что в Андроиде, через пять лет, я вижу точно то же самое.

Невозможность установить приложение на свободное место - это само по себе чудовищно, один только этот факт может заставить меня выбросить Wildfire S в окно и купить себе iPhone 4, дешевеющий по случаю выкладки в России в продажу iPhone 4S.

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


Интерра 2011: трудности перевода Oct. 23rd, 2011 @ 03:38 am
Благодаря организаторам Интерры, мне совершенно безвозмездно удалось побывать на нескольких мероприятиях форума, проходивших в кинотеатре "Победа".

На одной из конференций 4 группы участников представляли свои проекты на тему "Креативная экономика". Последней в этот список затесалась идея местного писателя о возрождении острога под Колыванью, презентацию которой мне и удалось выслушать в последний день Интерры. Чем строительство тюрьмы креативно - не знаю, но организаторам виднее. Кроме простых смертных, презентацию слушали эксперты: трое русских и трое англичан. Последним очень повезло - у них была переводчица. Пускай одна на троих, пускай переводила она синхронно и не вдаваясь в смысл произнесенных слов, пускай бессовестно перевирала первоисточник, пускай мешала своим переводом всему остальному залу слушать докладчика - она хотя бы была.

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

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

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

Интерра 2011: плюсы и минусы Oct. 23rd, 2011 @ 03:20 am
С 22-го по 24-е сентября в Новосибирске проходила Интерра. Раз даже директор форума Лада Юрченко не смогла сформулировать, что же это такое, я-то и вовсе пытаться не буду. Это что-то такое большое, сделанное на бюджетные деньги и поддержанное губернатором.

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

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

Что было хорошо:
  1. Волонтеры: вежливые, заметные (благодаря предметам одежды с фирменной символикой форума), настойчивые (звонили и писали по 3 раза в день стабильно), информированные (всегда в курсе происходящего, не теряются и не уходят от ответа).
  2. Раздатка: отличная сумка, которую не стыдно перекинуть через плечо и выйти с ней на улицу. Отдельной строкой прекрасны были карманы для бейджей и ленты для них же. Мало того, что просто приятно было носить, они еще и работали как выключающие нервозность у охраны и вахтеров - если бейдж перевернулся обратной стороной, все равно ты весь в отпечатках ног и тебя ни с кем не спутаешь.
  3. Транспорт. От центра до Академа участникам можно было добраться на фирменной маршрутке - это очень ценно.

Что было плохо:
  1. Разделение участников. Кому можно сюда входить, а кому нельзя? Кому можно есть с этого стола, а кому нельзя? Кому заказан здесь обед, а кому нет? Эти и многие другие вопросы оставались загадками. Если доступ на мероприятие или площадку ограничен - разместите вывеску с названием и четко напишите, кого вы тут ждете, а кого нет.
  2. Регистрация. Три десятка волонтеров на регистрации оказались никчемными и беспомощными, очереди в конфликтную зону стояли по 40 минут. Раздатка закончилась до того, как закончились участники. Я, конечно, стянул себе VIP'овскую, но остальным могло так не повезти. Регистрацию в Оперном почему-то прервали на время выступления Юрченко, Городецкого и компании - этого я вообще никогда и ни за что не пойму, здравый смысл в этом месте вышел покурить.
  3. Расписание. Печатная версия из раздатки была чудовищна. Если из версии на сайте, хоть и с трудом, но можно было что-то понять, то от этих брошюрок не было никакой пользы. В сотне синхронно действующих площадок может помочь разобраться только диаграмма Ганта, которую я лично для себя составляю на каждой многопоточной конференции.
  4. Кулуарное общение. Его просто не было. Не было чилаут-зон с досками для самовыражения, почти не было фуршетов, которые тоже помогают диалогу. Не было никакого общения за пределами площадок и событий. Это провал, как мне кажется. Ну и выступающие эксперты обедали и общались отдельно от публики - это вообще недопустимо.
  5. Площадки между собой объединяли только волонтеры и логотипы. Учитывая, что на площадку мог прийти и не участник Интерры, стоило бы объединить их прочнее, оформлением тех же чилаут-зон, скажем.
  6. Перевод. При малейшей возможности делать синхрон его нужно делать. Даже в простом и незатейливом конференц-зале ИНГГ СО РАН с этим никаких проблем не возникает. Сидеть рядом с иностранцами невозможно - слушать докладчиков мешают не очень-то тихо нашептывающие им на ухо перевод личные переводчики. Об особо поразившем меня эксцессе с переводом я написал отдельно.
  7. Summary Report им. Лады Юрченко. Это было просто ужасно. Директор форума сначала собрала с руководителей всех площадок слайды на флешках (что уже впечатляет, но это еще можно бы было простить), потом рассадила их в зале и только после этого сказала, что на доклад у всех по минуте (установила регламент) и говорить нужно только о результатах (установила формат). Даже профессиональные стартаперы, которые к своим питчам готовятся заранее, а формат и регламент им сообщают чуть ли не за месяц, регулярно не укладываются в минуту. А тут вдруг за 30 секунд все должны внезапно сразу сосредоточиться, выбросить из речи любимые свои обороты из шести существительных подряд и доложиться о результатах с выразительностью Стива Джобса. Отдельный вопрос - какой результат может дать площадка, где люди просто общались?

С регламентами, кстати, вообще все было тяжело. Неужели так сложно поставить большие часы (TED style) с оставшимся до конца временем или, на худой конец, посадить волонтера показывать таблички "10 минут", "5 минут", "1 минута" (CodeFest style) и не доводить до нервного истощения бедных докладчиков?

И еще идея на будущее: вместо бесполезной мукулатуры на входе на площадку можно раздавать расписание событий в этом конкретном помещении на текущий день - было бы просто невероятно полезно.

В целом я бы сказал, что интерровцам стоит оглядеться по сторонам и взять пример с Сибирских интернет-недель, CodeFest, TED и всего такого прочего, что происходит в Новосибирске, России и мире. Тогда качество форума, несомненно, станет выше, и велосипедов не понадобится изобретать.

Беда Аймобилки и Литреса или очевидное конкурентное преимущество Озона Sep. 14th, 2011 @ 12:30 pm

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

Я давно читаю книги с электронных устройств, но если хочу не просто скачать текст, а подобрать что-то схожее по тематике, то иду я именно на Озон, а не на Либрусек, Литрес, Аймобилку, Букмэйт и даже не на Флибусту. Именно потому, что ни один магазин электронных книг не умеет поставить интересный мне товар на ближайшую ко мне полку. Заходя в любой из этих магазинов, чувствуешь себя как в ларьке с бульварным чтивом на грязной железнодорожной станции: любовные романы, бандитские боевики и занюханное фэнтези окружают сразу со всех сторон и не дают прохода. Отношение к этим магазинам у меня формируется почти такое же, как к ларькам. Понятно, что можно поискать того автора, которого тебе посоветовал Озон, и даже найти его книги, но просто не хочется оставаться в этом странном месте, где на главную страницу вывешивают книги с инкубаторскими обложками ядовитых цветов, неизвестно как дожившими с середины девяностых до начала десятых.

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

Пока Аймобилка, Литрес и другие придерживаются этой странной политики, я сначала хожу на Озон, только потом иду в эти лицензионные магазины, каждый раз разочаровываюсь в них и заканчиваю свой путь на Флибусте, где, к сожалению, есть не все и не всегда. Именно поэтому Озону удается продать мне, в большинстве случаев безразличному к носителю текста, так много бумажных книг, что скоро уже все полки в доме закончатся.



Блеск и нищета IT-конференций Apr. 2nd, 2011 @ 02:06 am
На конференции CodeFest, проходившей 19 и 20 марта, было около полусотни докладов на самые разные темы, но лучшие из них были на секции PM: рассказ Сергея Архипенкова об адаптивном управлении и представление Александра Орлова и Вячеслава Панкратова на тему неконструктивного поведения сотрудников. Оба доклада длились больше часа, оба состояли из довольно простых тезисов. Слушать эти доклады, и даже извлекать из них пользу для себя мог бы и человек, далекий от индустрии. Больше того, суть каждого из этих докладов можно передать одной фразой. В первом случае: «Управление командой людей — это управление отношениями между ними», во втором: «Если сотрудник чего-то не делает, это не обязательно значит, что он сознательно не хочет этим заниматься».

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

У меня есть на это два возражения. Первое — интерактив. Вы можете задать спикеру вопрос, а если несогласны — продолжить трения в кулуарах. Второе, и главное, — возможность подробно изучить мысли выступающего. Ведь самое ценное в докладе — именно аналитическая часть. Для поиска фактов существует Гугл. И вообще, добраться до фактов — это только малая часть любого дела.

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

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

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

Потребительская версионность Jan. 4th, 2011 @ 01:32 am
Каждому, кто имеет дело с компьютером, знакомо понятие версий. Причем, знакомство с этим понятием часто происходит не по собственной воле. Сначала нам рассказывают про новые версии программ: с обновлением Skype предлагают почитать, чем версия 6 лучше предыдущих. Дальше нам приходится самим следить за версиями программ: в Word 2003 нельзя открыть документ, созданный в Word 2010. И в конце концов мы сами начинаем плодить версии своих продуктов, придумывая разные названия файлов: «Доклад версия 4 финальная.doc», «Презентация для конференции 8.3.ppt» или даже «Годовая ведомость версия 3 на печать.xls».

Для того, чтобы не переименовывать файлы вручную с каждой заметной правкой, отягощая этим свою основную работу, программисты давно уже придумали то, что принято называть системами управления версиями. SVN, Git, Mercurial — все это ПО позволяет мало того, что сохранить состояние директории вместе со всеми дочерними папками и файлами, так еще и загрузить это состояние на сторонний сервер. Получается, что вдобавок к удобству (не надо сто раз переименовывать или копировать файлы или папки) можно получить еще и дополнительную надежность (если что-то случится с локальной копией, можно будет скачать последнюю сохраненную версию с сервера).

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

Версионность не исключение: идея здесь лежит на поверхности. Никому не нравится создавать 18 копий одного и того же файла по мере его изменения и каждый, намучившись, может прийти к выводу, что легче было бы жить с ПО, которое сохраняло бы эти версии где-то внутри себя, а я бы видел невооруженным глазом только один файл, скажем, «Реферат.doc».

Здесь можно вернуться на шаг назад и вспомнить, зачем вообще пользователю текстового редактора нужны разные версии одного и того же документа. Очевидных сценария два:
  1. На каком-то этапе создания документа может появиться желание принципиально изменить его структуру: поменять местами два раздела, вырезать содержание, полностью заменить библиографию, добавить титульный лист. Каждый раз меняя что-то глобальное вы тратите на это много времени (поменять разделы — значит восстановить в них нужное форматирование, стили, и т.п.) и, главное, принимаете решение, нужно вам это делать или нет. Отсутствие той версии, к которой можно было бы в случае чего откатиться, заставляет вас тратить на принятие подобных решений слишком много времени: нужно оценить, действительно ли станет лучше, не поломает ли это весь документ, удобно ли будет редактировать его дальше. Так рождаются имена файлов вида «Реферат 4.doc».
  2. Часто один и тот же документ нужен лично вам, вашему начальнику, вашему знакомому, знакомому начальника, коллеге из соседнего подразделения. Но на самом деле в каждом из случаев это будет вовсе не один и тот же документ, всегда есть необходимость внести какие-то правки: в отчете для начальника вы мельком упомянете, что не хватало ресурсов, а редактируя тот же отчет для коллеги, вы предпочтете скрыть, скажем, бюджет. Так рождаются имена файлов вида «Реферат для печати.doc».
Итак, по мере редактирования файла я хотел бы нажимать на кнопку «Зафиксировать текущее состояние», чтобы именно оно и становилось бы очередной версией. И в любой момент я хочу иметь возможность откатиться к предыдущей версии. А еще, хочу помечать версии тегами, например, «На печать» или «Для распространения». И в любой момент хочу взять версию с пометкой «Для распространения» и вложить в письмо.

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

Продать версионность широким массам не смог пока никто. Ближе всех к этому подошел Dropbox. У пользователей сервиса уже есть папка, внутри которой происходит волшебство: ее содержимое закачивается на далекие Калифорнийские сервера. Осталось добавить еще одно волшебство. Но знает ли хотя бы один процент пользователей, что версионность в Dropbox уже есть? Удивительно только, что они не пытаются продавать ее как одну из составляющих сервиса — она есть там только для тех, кто ее случайно обнаружит.

В далеком 2007-ом году Дрю Хьюстон, создатель Dropbox, подавал заявление на финансирование в организацию Y Combinator, в котором можно прочитать следующее:
# Please tell us something surprising or amusing that one of you has discovered. (The answer need not be related to your project.)
The ridiculous things people name their documents to do versioning, like «proposal v2 good revised NEW 11-15-06.doc», continue to crack me up.
Тем удивительнее нынешняя позиция Dropbox по отношению к продвижению версионности. В чем же дело?

Дело в том, что Дрю и его команда не придумали, как рассказать пользователям о версионности. Как научить их пользоваться ей в полную силу. И честно говоря, я не удивлен — ведь первая (строго говоря, даже не самая, а одна из первых) система управления версиями для программистов RCS появилась в 1982-ом году, а системы контроля версий для всех нет до сих пор. Так что поле для мыслей и действий свободно.

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

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

Sib Jazz Fest Oct. 23rd, 2010 @ 02:52 am
Картинка с открытия международного джазового фестиваля Sib Jazz Fest, проходившего 21-го октября в ДКЖ.

Публика самая разношерстная, но кофе и коньяк в буфете их всех точно объединили, не знаю как любовь к джазу. В фойе ДКЖ расставили (я так понимаю, их просто никуда не прятали) столы, накрытые бархатом, на которых аккуратно разложены необъятные горы какой-то бижутерии. Ну конечно, все же пришли сюда сегодня специально чтобы найти подходящий к платью кулон. У распространителей в итоге осталось билетов 30-40 на руках, поэтому они лежат в свободной продаже прямо перед входом в зал, где билеты и проверяют. Не то что на концертах звезд эстрады, когда в само помещение ДКЖ не пускают без заветной бумажки, заставляя лишнюю пару минут померзнуть на улице.

Итак, расселись. Подождали минут 10, на часах - 18:40. Учитывая, что начало концерта заявлено в 18:30, эти 10 минут и опозданием-то считать нельзя - задержаться как минимум на 15 это святое дело в любом выступлении. Еще через минуту на сцену вышел редактор журнала Jazz.Ru Кирилл Мошков, который похвалил спонсоров и пригласил на сцену министра культуры Новосибирской области - кондовую совковую тетку, именно из-за этого смешную до погибели. Любая ее фраза - шедевр, любая ее фраза собрана из штампов и закручена натужной радостью. После окончания ее речи ("объявляю Sib Jazz Fest открытым") парень, сидевший слева от меня (судя по его разговорам с каким-то знакомым, музыкант, певец, композитор и даже поэт-песенник), выкрикнул под аплодисменты зала: "Ну зажгла-а!".

Кирилл Мошков начал с известными любому слушателю его подкаста доскональностью и тщательностью (некоторые легко и просто называют это убийственное сочетание нудностью) рассказывать о саксофонисте Оливере Лэйке. Он как минимум дважды предупредил публику, что ей сейчас предстоит прослушать сложную для восприятия музыку и рассказал, что играть ее будет уникальный коллектив, состоящий из чернокожего американца Оливера Лэйка и местных музыкантов: Владимира Толкачева на саксофоне, Сергея Беличенко (куда без него) на ударных, двух контрабасистов и молодого парня на маримбе (Мошков показал на инструмент, все это время стоящий на сцене, и предупредил: "вы могли бы подумать, что это виброфон, но нет, это маримба").

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

Минут через 10 оцепенение сменилось пониманием. Публика осознала, что это не элемент эффектного выхода, и что все выступление будет таким. Следить за этими изменениями в людских массах было крайне любопытно и весело. В это время на сцене Толкачев извивался и стонал, Лэйк же вел себя достойно, но тоже постанывал в тон, а то и наоборот - задавал этот тон сам.

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

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

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

Чего хотят пользователи Sep. 29th, 2010 @ 02:00 am
В последнее время я активно продвигаю среди друзей и знакомых негиков разные технологические новшества и изыски. В частности, великолепный пиратский сайт под названием Турбофильм, на котором очень значительное количество сериалов можно смотреть в оригинальной или переводной озвучке, с субтитрами и, главное, ничего ниоткуда не скачивая, а просто нажимая на кнопку Play, как на видеохостингах вроде YouTube. Дедуктивным методом можно предположить со значительной долей вероятности, что делают его самарские дизайнеры из студии Турбомилк.

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

В одной из последних пропагандистских бесед в режиме один на один на тему того, что Турбофильмом нужно пользоваться, и что без него современному человеку вообще жить нельзя, у нас с собеседником произошел следующий диалог:
— А какая мне с этого польза?
— Ну как какая? Ты же ничего не скачиваешь, просто приходишь, давишь на кнопку и оно начинает показывать, прям как телевизор.
— Так я и сейчас запускаю P2P-клиента (имеется в виду внутресетевая P2P-сеть), делаю 3-4-5 щелчков кнопкой мыши, нахожу через него нужную серию, запускаю качаться. Иду мою посуду или готовлю еду, возвращаюсь — всё уже на месте. Где разница?

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

Подробное описание стандартного варианта использования Турбофильма выглядит так:
1. Открыть в браузере сайт  Турбофильма,
2. Выбрать нужный сериал и серию,
3. Нажать на кнопку и радоваться.
Причем, и переключение озвучки, и включение-выключение субтитров тут же, рядом, никуда не надо бежать.

Описание аналогичного варианта использования P2P-сети и выкачанного файла выглядит так:
1. Запустить P2P-клиент (думаете, у кого-то он запущен постоянно?)
2. Ввести название сериала и серию. Ничего не нашлось. Попробовать еще раз. Опять не нашлось. Повторить пока не найдется или пока не надоест («не нашел, значит пока не выложили»)
3. Начинаем качать. Черт, этот парень за роутером, к нему нет прямого пиринга — возвращаемся к пункту 2. Черт, у меня должно быть расшарено 35Гб, иначе он ничего не раздаст, ищем, чего бы расшарить. Может быть весь диск C:? Ждем, пока качается. Тут комплекс вопросов: какая скорость? Не фейковый ли файл? Не выключит ли раздающий сейчас свой компьютер? А может перезагрузит?
4. Файл скачан. Черт, он битый. Черт, у меня же только Windows Media Player, надо качать какой-то проигрыватель. Черт, у меня нет нужного кодека.
5. Черт, оно же на английском — возвращаемся к пункту 2. Черт, хочу субтитры на русском — идем и ищем их в интернете, причем такие, чтобы были синхронны нашему конкретному видео.

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

Второй путь устлан ямами, минами и подводными камнями. Он неочевиден, в нем многие этапы основаны на опыте и человек, пытающийся выкачать свежую серию Mad Men впервые в жизни, обречен наткнуться на непробиваемую трудность, для преодоления которой ему понадобиться звонить другу или долго мучать Гугл. Проходя по этому пути, пользователь сталкивается с, по меньшей мере, двумя разными интерфейсами (P2P-клиент и видеоплеер), а зачем плодить сущность без надобности? В конечном итоге, человек тратит своё драгоценное время на массу бессмысленной по сути деятельности. Он не хотел включать этот идиотский P2P-клиент и качать какие-то файлы, он всего лишь хотел посмотреть пилотную серию Boardwalk Empire.

И тут — внимание — пользователю предлагают сделать выбор. Продолжать есть стейк ложкой или купить нож и вилку. И он говорит, что ложка вполне годится. Он уже привык, да и не так это, вроде бы, затруднительно.
Вот именно для того, чтобы убедить пользователя в том, что с вилкой и ножом ему будет удобнее, и нужны в технологических компаниях маркетологи, пиарщики и евангелисты. Потому что у большинства пользователей нет воображения. Они хотят того, о чем они уже знают. И когда они говорят, что им нужно будущее, на самом деле они имеют в виду то, что им нужна слегка обновленная версия прошлого (MG Siegel, TechCrunch).

Internet Operating System Jul. 28th, 2010 @ 12:00 am
Тим Орейли в двух объемных статьях для O'Reilly Radar описал свои мысли по поводу концепции Internet OS. Я ниже выжму из них основное содержание и дополню собственными мыслями.

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

Точно также должна в перспективе выглядеть разработка онлайновых приложений. И с некоторых сторон она уже давно так выглядит. Например, давно уже существует интерфейс компании Roboxchange (о PayPal я вообще молчу), которым можно пользоваться для приема Яндекс.Денег, Webmoney и прочих бесчисленных электронных валют, действующих на территории СНГ. Платформа Assist - то же самое, плюс карточки.
Но не только платежи, а вообще всё, что только возможно сделать один единственный раз, сделать хорошо и переиспользовать, должно быть сделано. Рекламные платформы, определение местоположения (Тим, как выяснилось, инвестирует в Foursquare), распознавание голоса и изображений - все это нужно делать с расчетом на предоставление онлайн-доступа к этим сервисам.

И, разумеется, не обязательно всю IOS от начала до конца должен делать один особый провайдер.

Тим выделяет следующих основных игроков этого потенциального рынка IOS: Amazon (в чистом виде cloud-решения уровня B2B вроде S3 и EС2), Apple (App Store с его платежами в один клик), Facebook (social graph), Google (круче всех, даже перечислять все их достижения бессмысленно), Microsoft (Azure, и вообще громче всех об облаках кричат именно евангелисты MS, включая Баллмера), Nokia (Ovi), PayPal (ему бы еще на мобильном рынке что-то придумать), Salesforce (самый прибыльный SaaS стартап, выдающий CRM для SMB в США), Twitter (тот же social graph), VMWare. От себя я бы добавил Parallels (чем они хуже VMWare, раз уж на то пошло) и под вопросом Samsung, который уже давно много говорит о собственной мобильной платформе.

Главный вопрос теперь - как все эти гиганты уживутся на одной поляне. Вполне возможно образование проприетарных альянсов вроде Microsoft-Facebook или Google-Twitter, которые по одиночке довольно слабы, а вот вместе могут дать разработчикам ту самую IOS на полную катушку. Больше того, закрытые IOS уже существуют: это Facebook и более близкий нам в разных смыслах Вконтакте. Там хранятся фото и видео, есть средства для микро- и просто блоггинга, социальный граф присутствует по определению, и есть довольно много приложений (правда, больше всего игровых). Более желательным является сценарий, в котором все игроки примут единые стандарты или хотя бы способы работы, чтобы я мог авторизовать пользователя на сайт по Facebook, его друзей забирать из Twitter, ну а если смогу получить доступ к его фотографиям, где бы они не лежали - на Dropbox, у MS, у Apple или у Google, - это будет предел мечтаний.

Лично меня эта глубокая и разумная, но довольно долгосрочная идея привела к одной простой мысли. Каждый день мы смотрим на страницу News Feed в Facebook или, что то же самое, на страницу "Новости" во Вконтакте. Там можно увидеть всё, что люди, которых вы зафрендили, сделали за последнее время: добавили фотографии, загрузили видеофайлы, написали что-то, поделились какой-то ссылкой, выиграли в онлайн-игру, улетели в отпуск. Этот News Feed очень похож на дамп базы данных.

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

Так вот, все эти новости из Вконтакте очень похожи на дамп базы данных - у них почти нет форматирования, их почти невозможно фильтровать, в них очень сложно разбираться. Потому что реализовать объемный социальный граф - отдельная сложная задача, а реализовать веб-приложение для работы с фотографиями - другая задача. Совместить их не могут даже монстры вроде Гугла - социальный граф у них очень, даже слишком, скромный.

Поэтому в идее зайдя на Picasa Web посмотреть на фотографии своего друга по Вконтакте, или зайдя на Я.Ру почитать блогопосты своего френда по Facebook заинтересованы не только люди, которые будут это реализовывать в двадцать строчек и получать от этого чистое удовольствие, и не гики, для которых это просто круто выглядит, а и нормальные конечные пользователи, которые получат в совокупности более высокое качество услуг.

Elements of Programming Jul. 18th, 2010 @ 09:40 pm
19-го и 20-го апреля 2010-го года Александр Степанов, создатель Standard Template Library (STL) в C++, ныне трудящийся в Amazon над их cloud-проектами, побывал в московском Яндексе и прочитал там лекцию по мотивам второй главы своей книги Elements of Programming.
Выступление можно посмотреть в Яндекс.Видео: часть первая (83 минуты), часть вторая (88 минут).

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

Степанов, как активный апологет принципа generic programming, считает, что следующим шагом в развитии программирования должно стать применение, выражаясь STL'ными терминами, шаблонов алгоритмов. И в идеале как минимум алгоритмы описанные у Кормена и Кнута должны быть реализованы в шаблонном виде и выложены в интернете для публичного доступа. Шаблоны создают обыкновенные программисты, тестируют их как могут и выкладывают. Каждый, кто хочет использовать qsort, берет существующий шаблон, вставляет в свой код и тестирует на своих данных. Если что-то пошло не так - человек рассказывает сообществу, что в алгоритме проблема. Если все в порядке - плюсует его, как пост на Хабре. Если какой-то алгоритм набирает пару миллионов плюсов (STL'ные контейнеры набрали бы и больше), то можно быть уверенным, что работает он отлично.

В качестве языка реализации предлагается C++. Здесь Степанов делает ремарку о том, что код в принципе не должен сильно зависеть от используемого языка. Алгоритм первичен, а код вторичен. Речь ведь идет о простых алгоритмах, которые из псевдокода легко переносятся в C++, а синтаксис C++ легко позволяет написать программу так, что ее перенос в другой язык потребует минимума затрат.

Никаких формальных доказательств программ не предполагается. Мотивы: 1) нет универсального прувера, а без него в доказательстве легко допустить ошибку; 2) если шаблон уже используется в 2 миллионах программ, то это лучшее доказательство его корректности. Тут можно вспомнить Кнута, который алгоритмы доказывал, но не тестировал. А тестировать все равно можно только на конечном множестве примеров, иначе - только индуктивно, а это уже доказательство, в котором можно допустить ошибку. Степанов тут приводит в пример тот самый quicksort, в доказательстве которого у Кормена нашли ошибку только в одной из 12 версий второго издания.
На эту же тему - закон Арнольда о технической документации: "Если она должна существовать, то ее не сделали. Если она существует, то устарела. Первые два закона не распространяются только на бесполезную документацию."

Лично мне реализация этой неправдоподобно красивой концепции видится так: шаблоны алгоритмов загружает и сохраняет сама IDE - чтобы далеко не ходить. А за плюсование рейтинга авторитетности и опробованности должна отвечать VCS - мало ли чего ты там из IDE понагрузил, главное что лежит в репозитории.

Интересной мне также показалась идея сохранения свойств математических операций, когда они применяются в языках программирования. Степанов приводит в пример нарушение коммутативности сложения в C++ - строки там конкатенируются перегруженным для них методом operator+(), который в этом контексте становится некоммутативным. К слову, в знаменитом языке PHP конкатенация выполняется точкой (var str = "Hello, "."World!"). С другой стороны, меня настолько убила убогость элементов ООП, присутствующих в PHP5, что говорить о нем в положительном свете опасно для кармы. Чего стоит одно отсутствие множественных конструкторов или чудовищного вида костыли для поддержки overloading'а.

Apple WWDC Jun. 25th, 2010 @ 02:17 pm
8 июня, на следующий день после презентации компании Apple, на которой Стив Джобс показал миру во всей красе iPhone 4 и iOS 4, начались рабочие сессии конференции WWDC. WWDC — Worldwide Developers Conference — это ежегодная конференция для разработчиков, на которой в деталях рассказывают о том, как удовлетворять требованиям клиентов и соответствовать заявленной Джобсом на заглавной презентации идее.

Материалы этой конференции с 19 июня свободно может скачать через iTunes любой зарегистрированный как разработчик пользователь сайта компании Apple.

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

Рабочая сессия называлась Core OS Networking, и была посвящена самому общему разбору новшеств и особенностей работы с сетью главным образом в iOS 4. Но, на самом деле, работа с сетью что в iOS 4, что в Mac OS X, выглядит примерно одинаково, за исключением некоторых дополнительных требований, которые налагает природа устройства, в частности его мобильность и разнообразие используемых сетевых интерфейсов (WiFi, HSDPA, EDGE, GPRS).

Под катом конспективно изложены тезисы, которые Brett R. Halle, senior director команды Core OS, доносил до аудитории в течение 40 с небольшим минут.

О работе с сетьюCollapse )

Теперь, наконец, те самые выводы, которые я сделал для себя.
1. Мобильная платформа Apple — эталонная среда. Строгая премодерация приложений для App Store и строгие ограничения по используемым для разработки технологиям — это то, что компания была бы рада внедрить и в OS X. Так что десктопным разработчикам не стоит расслабляться.
2. Причина, по которой компания не ленится тщательно отсматривать весь разрабатываемый софт и не боится запрещать разработчикам пользоваться сторонними технологическими решениями, заключается в бесконечной преданности комфорту конечного пользователя и качеству того опыта, который он приобретает при работе с мобильными устройствами. Apple добивается той ситуации, когда ни одна программа никогда не зависнет и не умрет неожиданно, все они будут работать корректно по отношению друг к другу (не должна очередная «Веселая ферма» случайно очистить список контактов) и все они будут работать корректно по отношению к системе (минимум софтовых перезагрузок, полное отсутствие хардовых).
3. Добиваясь этих целей, компании не обойтись без тесного контакта с разработчиками. Именно для этого проводятся эти конференции, именно для повышения лояльности и интереса придумывается iAd, и единый и неделимый источник для приложений — App Store — тоже служит этой цели.

И в умении держать контакт с программистами Apple не откажешь. Эта небольшая вводная в работу с сетью рабочая сессия очень узкоспециальна, вплоть до того, что местами разработчикам объясняют, в какой именно последовательности дергать функции из Sockets API, что для людей, непосредственно занятых производством мобильных приложений, гораздо важнее, чем магические пассы Джобса. Именно поэтому всю магию и оставляют только для keynote, только для того события, к которому прикованы взгляды биржевых трейдеров и фанатичных покупателей, оставляя детали людям, которые должны сделать так, чтобы эту магию можно было безболезненно повторить, даже установив на iPhone 150 сторонних приложений.

Несмотря на такую тонкую работу с гиками, основная цель, которую ставят себе люди из Apple, в особенности в рамках мобильной платформы, — удовлетворение запросов простых клиентов. Клиенты не знают и не хотят ничего знать о сокетах и DNS — им просто нужны Farmville с привязкой к любимому аккаунту в Facebook, клиенты для Foursquare и Twitter и возможность звонить друзьям и родственникам. Они должны получить всё это и еще 25 тысяч приложений, надежно и быстро работающих на телефонах и планшетах.
Именно поэтому функции в ОС появляются последовательно и довольно медленно (до многозадачности и папок руки у компании дошли только к четвертой версии) — нужно приготовить достойный и предельно продуманный API, и подготовить к правильной работе с ним армию сторонних разработчиков.

SyncMate Jun. 18th, 2010 @ 02:45 am
Первая программа, для удаления которой из Mac OS X мне пришлось сделать что-то кроме перетаскивания значка из каталога «Программы» в «Корзину», называется SyncMate.

Она предназначена для пользователей телефонов с операционной системой Windows Mobile, причем, как выяснилось, только версии 6.0 и выше, и помогает синхронизовывать всякие винмобайловые аутлуки и контакты с маковскими утилитами аналогичной функциональности (iCal, Address Book).

Поскольку на моем телефоне стоит Windows Mobile 5.0, SyncMate и в синхронизации не помог, и после удаления оставил за собой кучу мусора. Среди этой кучи — пара резидентных приложений, одно из них постоянно висело в системе и жрало системные ресурсы.

Приложение оставило горький привкус худших виндузятских поделок — там 75% всех программ стараются навеки оставить свой след в ОС.
Top of Page Powered by LiveJournal.com