`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Что для вас является метрикой простоя серверной инфраструктуры?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Гнездышко, из которого может вылететь дракон

Год начался с двух фактов, которые в сочетании то ли смешны, то ли от них хочется плакать - тут уж зависит от мировоззрения.

Если вопреки диктуемому всеми обстоятельствами мрачному видению происходящего стараться весело тащить свой крест (модные мемы ушедшего года - тлн, бзсхднст и Великий Grumpy Cat), то лучше посмеяться от души.

Гнездышко, из которого может вылететь дракон

Потому что вот два факта - наше многострадальное государство очевидно в панике отпечатало на $3 миллиарда подкреплённых долговых обязательств (с процентами, само собой), чтобы закрыть этими "внезапными деньгами" дыру в социальной части бюджета, и практически в то же время где-то в несуществующих странах (Земля имеет форму чемодана и волны Атлантического Океана разбиваются о скалистые берега Шепетовки), где Кризис уже дошёл до пугающих зияющих высот (если верить тому, чему требуется верить гражданину), какая-то компания Google приобрела другую какую-то компанию Nest за несколько бОльшие деньги - за $3,2 миллиарда. При этом у компании Nest всё, что есть на первый взгляд - два милых бытовых устройства, термостат и датчик дыма.

То есть, по большому счёту (выражающемуся в сумме взаиморассчётов), эти два события в современном мире эквивалентны. Что примерно показывает нам, насколько наши проблемы... Впрочем, на этой фразе я уже сам засмеялся, и потому давайте перейдём к делу.

Удивительно занимательная сделка свершилась. Подозрительно дорогая, вторая для Google по сумме, после приобретения Motorola. Казалось бы, Motorola - "заводы, мосты, пароходы". Всё-таки, хоть и бывший монстр американской промышленности, но всё равно (даже после разумных сокращений), всё равно - не контора из трёхсот человек. Да вы сами посмотрите как делаются "Proudly made in USA" смартфоны Moto X (и это только один завод):

Гнездышко, из которого может вылететь дракон

И, если судить по суммам сделок на основании примитивной "базарной" логики, в Motorola должно быть примерно 1200 человек. Что никак не соответствует реальности.

Стало быть (продолжаю играть в ту же "базарную" логику и "аналитику"), следует прийти к какому-то выводу в итоге. Например, в Google все сошли с ума, злоупотребляют веществами и вообще очумели. Или, например, в Google что-то знают и чего-то очень хотят. Или вот ещё вариант - они там злоупотребляют веществами, но всё равно не забывают того, что знают, и не утрачивают понимания чего хотят. Или вот легализация марихуаны сказалась. Или, конечно, заговор. Заговор вообще непременно должен быть. В общем, есть множество богатых вариантов (и работал бы я в жёлтой прессе, я бы вам рассказал, да).

(продолжая "базарную" логику) Собственно, вот оно, то всё, что Google обменяла с некоторым запасом на долги перед всеми нашими товарищами, гражданами, братьями и сёстрами бюджетниками:

Гнездышко, из которого может вылететь дракон

Гнездышко, из которого может вылететь дракон

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

Больше пока ничего материального у Nest нет.

Рынок для этих очень мило и безукоризненно грамотно исполненных отнюдь не космической цены изделий назвать адекватным для трёхмиллиардной сделки трудно. Корчащася в кризисе Америка "съедала" их в 2011 году 40-50 тысяч в месяц, что при известной цене термостата ($250) и датчика дыма ($125), позволяет "на пальцах" оценить его ёмкость -  ну, скажем, в 300 миллионов в год. Руины Европы, возможно, к этому добавят ещё что-то, но никак не больше двух с половиной миллиардов в год. К тому же, это насыщаемые рынки, устройства-то не одноразовые, они явно сделаны очень хорошо, и потому служить будут долго. Так что с каждым годом объёмы продаж их, по логике, расти никак не смогут.

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

Что же такое особенное из самых главных офисов Google видно в Nest, что там решились на подобную сделку? Это вопрос всех вопросов.

Гадать я не имею права (чтобы не отнимать хлеб у профессионально занятых этим увлекательным занятием). И потому не буду. Но строить цепочки рассуждений и разглядывать их отчуждённо мне довольно просто, потому что за уплаченные 3,2 миллиарда за Nest я не отвечаю. Это развязывает мысли.

Давайте попробуем вспомнить самое удачное приобретение Google. Труда особого это не составляет - в 2003 году Энди Рубин основал компанию Android Inc, в 2005 году никому толком не известная и ничего материального толком не производящая Android Inc была приобретена Google. Об Android Inc известно мало, разве что им не хватало денег настолько, что и $10K наличными были иногда спасением. Потом, после 2005 года, Google сделала очень странные (по меркам традиционной IT индустрии) шаги. И вот, наконец, к концу 2013 года зачатое в Android Inc подросло и уже только самые альтернативно одарённые могут делать вид, что никакой системы Android не существует, высказывать мнение, что система эта - для маргиналов, и вообще отмечаться всем тем прекрасным, чего в избытке можно получить из этого вашего интернета. В третьем квартале 2013 года Android грубо выжрала 81% рынка смартфонов, и пусть эти снобы с сайта Apple Insider употребляют своё брезгливое "junk", им простительно, они не понимают что такое "технология" и почему доступный водопровод для человечества более важен, чем упоительно прекрасные рабыни с кувшинами :)

Теперь давайте подумаем, что в истории Android было неправильным? Это тоже несложно. Потому что это такая история, в которой намного труднее думать о "правильном". Во-первых, сама система Android. Она ведь надстройка в userspace ОС Linux, да? Многие пытались делать массовую систему для смартфонов на основе Linux. И имена этих многих очень громкие - Intel, Samsung,  Nokia. За ними по той же столбовой дороге до сих пор бредёт Canonical. И что? У многих ли получилось? Да ни у кого. Справедливости ради - ни у кого. О причинах мы говорить не будем, нам хватит результатов, а они лаконичны - ни у кого. Так ведь мало того, что у Google получилось. Android ведь до безобразия неправильна. Смартфон - не настольный компьютер, вычислительные ресурсы его ограничены батарейным питанием, габаритами и нервозностью пользователей, которые хотят "всё, долго и за немного денег". И додуматься "воткнуть" в эти ограничения виртуализацию всего userspace - это как бы против всех правил. Как и совершенно против всех правил купить страшно секретную компанию для того, чтобы её страшно секретный продукт сделать мало что open source, так ещё и без роялти. Бери исходные тексты, используй, производи, продавай, никому ничего не должен (ну да, некоторые системные компоненты, "завязанные" на сервисы Google, и некоторые прикладные программы - с ними так нельзя, но это не мешает, например, китайцам, создавать свои собственные "маркеты", никто этого не запрещает, и очень многие этим пользуются).

Безусловно, во всей этой кромешной неправильности у Google есть прямые и косвенные интересы в Android, настолько очевидные и серьёзные, что умолчу о них. Но вот о чём хочу сказать, мало кто об этом говорил вслух, если вообще кто-то. Игра в Android - это, очевидно, игра с большими рисками для самой Google. И должно быть что-то ещё, кроме очевидных интересов (потому что они ужасно скучные и довольно хорошо просчитываются), что двигало бы развитие этой системы. Для себя я назвал это нечто ADD, Android Driven Development. Поясню смысл этого странного. Довольно высокие риски, связанные с одновременной популярностью Android и доступностью системы для потенциальных конкурентов, особенно на локальных рынках, являются "моторчиком", подстёгивающим Google к постоянному совершенствованию своих сервисов. Да, вы можете сделать шикарный локальный аналог Google Play. Вы можете "воткнуть" в систему блистательный локальный поиск. Добавить собственную электронную почту, социальную сеть etc. Но к тому моменту, когда вы это доведёте до пригодности (а спрятать такое нереально), Google в очередной раз отреагирует на ваши поползновения, сто раз что-то там улучшит, пролечит, отключит-подключит, и в итоге поползновения окажутся лишёнными смысла, потому что у Google будет быстрее, удобнее и лучше. И в итоге поползновения потенциальных конкурентов обернутся как бы на пользу. Вполне возможно, что всем (что-то из локального яркого сама Google вполне возможно что и купит, чем даже воздаст неоперившимся врагам своим :) ).

В важной (по моему мнению) в контексте загадочного приобретения Nest истории Android есть ещё одно очень малозаметное. И исключительно важное. Android теперь никто не "позиционирует" (ненавижу это слово, но вынужден употребить) как "систему для всего". Лет несколько назад что-то такое мелькало. Теперь - нет. Android оперилась, обзавелась мощным клювом и когтями, это не птенец, о будущем которого можно рассуждать. Это довольно мощная пользовательская система, требующая серьёзных ресурсов. Сомнений в этом уже ни у кого не осталось.

А теперь вернёмся к Nest. Милые изящные красиво сделанные умные термостат и датчик дыма - это, конечно, прекрасно. Но "под капотом" у них что? В смысле "железа" - не тайна совершенно:

Гнездышко, из которого может вылететь дракон

Не то, чтобы очень уж мощная (по смартфонным меркам), но и вовсе не хиленькая (по микроконтроллерным меркам) аппаратная платформа - Texas Instruments OMAP Sitara AM3703. Весьма мощный процессор, но без 3D-акселератора, довольно прилично памяти (256 MB), радиоканалы, культурное грамотное исполнение. Всё это неинтересно, и даже параметры железа не удивляют (не буду расписывать функциональность устройства, скажу только, что параметры для неё весьма разумные). В общем, за такое столько не платят.

Может быть, Google чем-то важна патентная база, "прикрывающая" продукцию Nest? Не скажу, что я терпеливо прочитал все патенты из списка, который в начале страницы, но бегло просмотрел многие. И не могу сказать, что они "делают погоду".

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

Но вот что же в продукции Nest программное? Алгоритмика и её реализации умного управления отоплением и прочие проблемно-ориентированные вещи - это, конечно, интересно. Но слишком уж оно узкоспециализировано, чтобы вынудить Google так эпически раскошелиться.

Системное ПО? И вот тут-то начинается интересное. Во-первых, о  системном ПО Nest известно не то, чтобы много. Я бы даже сказал известны только некоторые абстрактные приметы. Что очень похоже на историю с Android Inc. Там тоже было мало что известно. А теперь я буду строить догадки, так что не воспринимайте это на веру. Мало ли. Вдруг я ужасно ошибаюсь, и всё совершенно не так.

Вроде бы системное ПО Nest - таинственный гибрид очень разных миров - Linux (*BSD) и не совсем внезапно - FreeRTOS, системы реального времени из совершенно иного класса. Абсолютно алогичный на первый взгляд "кентавр", в котором "громадная" Unix-подобная ОС вероятнее всего "надстроена" над мелкой микроконтроллерной FreeRTOS, дистрибутив исходных текстов которой состоит из всего четырёх файлов, для прочтения которых не нужно истратить жизнь. Вероятнее всего, там и два вычислителя есть. И даже не "вероятнее всего", в термостате (и безусловно в датчике дыма) Nest есть восьмибитовый вычислитель культовой архитектуры i8051 с очень даже не маленькой памятью программ - TI CC2530. А ОС FreeRTOS портирована для архитектуры i8051. Здесь уместно вспомнить о новом нашумевшем забавном то ли продукте, то ли не совсем пока понятно что оно такое, компьютерчике Edison от Intel. Вот об этой игрушке:

Гнездышко, из которого может вылететь дракон

О её системном ПО нам известно, что оно исполняется двумя ядрами обновлённого процессора Quark (который в первой своей версии оказался немного страшненьким, если судить по пугающему содержанию файла уточнений к документации, errata), и при этом одно ядро исполняет Unix-подобную ОС, второе - систему реального времени, RTOS. Какое забавное совпадение в столь разных высокоуровневых архитектурах. Впрочем, оно нам нужно только для демонстрации, что мысли о подобных "кентаврах" приходят в голову многим.

И вот, из этих мизерных сведений, а также из нарастающей волны раннего скепсиса в отношении IoT, Internet of Things (и ведь скептики кто - настоящие отцы идеи, например, сам Адам Дункельс), связанной с безопасностью той модели IoT, о которой совсем недавно было так модно говорить (мизерно потребляющие энергию малоразрядные вычислители с радиоканалами, простое ПО, упрощённые протоколы etc), можно и нужно сделать очевидный вывод. Реальный IoT 2014 года сильно отличается от модели "умной пыли". "Пылинки" в нём - это не 8- и 16-битовые однокристальные вычислители, а весьма мощные машины, просто используемые тогда, когда они нужны. Всё остальное время - для "пылинок", которыми больше никто не будет пытаться  решать насущные задачи аутентификации, шифрования и прочего.

*Сделаю здесь уточняющее замечание. Как FreeRTOS и ей подобные "микроконтроллерные" ОС реального времени не совсем хорошо подходят для действительно хорошо защищённых безопасных сетевых устройств, несмотря на наличие сетевых стеков, включающих традиционные (но усечённой функциональности и микро-реализации) системы обеспечения безопасности, так и ОС Linux, несмотря на наличие разных realtime-модификаций, далека от реальной RTOS. Пытаться скрестить ежа и ужа, конечно, можно. Но зачем, если можно поручить RTOS, исполняемой маленьким почти ничего не потребляющим контроллером задачи реального времени, а на Linux возложить то, чем она сильна - сетевые операции в первую очередь. Это настолько очевидно и разумно, что оправданием для "новизны" этой идеи может быть только одно - инженерия наконец получила доступные вычислители достаточной вычислительной мощности,  компактности и низкой стоимости, чтобы появилась возможность массового распространения такой архитектуры там, где в ней есть потребность. Так что, 8-битовые web-серверы и прочие казусы, несмотря на достигнутую работоспособность, похоже, навсегда остаются в прошлом. Всему своё место и время.

И почему-то мне кажется, что в Nest сделали что-то весьма интересное именно в этой области. В системном ПО для IoT. Мало того, что сделали, но ещё и "обкатали" сделанное на более чем приличной пользовательской аудитории. И, похоже, успешно "обкатали".

То есть, если я не слишком грубо ошибаюсь в этой цепочке рассуждений (или слишком грубо ошибаюсь в технических мелочах и деталях), более чем вероятно, что приобретение Nest - это попытка повторить историю Android, только теперь в области IoT. И что мы скоро увидим open source гибридную систему-"кентавра" для IoT. Более чем возможно - увидим и open source спецификации "железа". В Google теперь ведь достоверно знают, что Android дорогого стоит. И не менее хорошо понимают, что несмотря на временный скепсис, IoT всё равно будет "the next big thing". И кто сможет в этой области достаточно быстро и изящно неправильно сказать своё веское слово - тот и будет через каких-то восемь лет разглядывать рыночные отчёты с заветной цифрой 80%.

Вот такая у меня непростая картина сложилась, извините, что почти роман получился.

Откланиваюсь.

Год обещает быть томным

Ещё толком ничего не началось, а уже наши сети притащили всякого совершенно неожиданного. С него и бодро начнём.

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

Всего за 2013й год американский коммерческий сектор поглотил 14,4 миллиона "персональных вычислителей" всех типов. Несмотря на кошмары, которые рисуются нам информационными рупорами 1/6 части суши, "тяжёлый системный кризис запада" проявился в 25,4% роста потребления персональных вычислителей по сравнению с 2012-м годом. Аналогичный показатель 2012-го года (по сравнению с 2011-м) - 3,1%, так что в прошлом году случился настоящий взрыв.

Но самое интересное - в другом. В структуре этого роста.

Общие продажи десктопов увеличились на 8,5%, при этом закупки Windows-десктопов выросли на 10%, а вот для продукции Apple отдельных цифр нет, есть только суммарный рост - 7% для десктопов и ноутбуков. Ноутбуки бизнес закупал активнее, здесь рост - 28,9%. Но. Закупки ноутбуков с предустановленной ОС семейства Windows остались на уровне 2012-го года. То есть, в 28,9% роста их составляющей как бы нет. Интересная картина, которая для понимания требует уточнения распределения потребителей по масштабам. Без него можно только гадать. Но, в целом, мы видим устойчивый рост спроса на рабочие станции (какой смысл в 2013 году закупать дешёвые низкопроизводительные декстопы, если стоимость ноутбуков вплотную к ним приблизилась?) и рост спроса на ноутбуки без предустановленной ОС (вероятнее всего, для обновления парка "железа" с сохранением уже имеющихся лицензий системного ПО). Любители конспиративных и революционных теорий могут потеребить себе лелеемый "desktop Linux" (приход царствия  которого опять перенесен на неопределённый срок), но разумнее сделать вид, что в этой области ничего существенно не изменилось - по логике, производителям и потребителям выгодно и поставлять, и закупать Linux-ноутбуки (первым потому что снижается конечная цена, вторым - потому что не надо тратиться на установку), но как-то вот оно... впрочем, вы сами понимаете.

Это были две, так сказать, "традиционные составляющие". А теперь - главное. Планшеты буквально взорвались. Рост продаж по коммерческим каналам - 49%. И вот она прозвучала, страшная поступь гиганта (хихи) - за 2013-й год бизнес "съел" 1,76 миллионов Android-планшетов и "хромобуков" (в 2012 году - всего 400 тысяч). Четырёхкратный рост. Ещё интереснее детализация - "хромобуки" отняли 21% от всех продаж ноутбуков с предустановленной ОС. На фоне фактически отсутствия продаж в 2012 году. Душераздирающее зрелище, да.

В общем, планшеты "откусили" 22% всех продаж персональных вычислителей "для бизнеса", Apple в этом сегменте сохраняет лидирующее положение (59%), доля Android подросла на 160%. Доля Windows-планшетов в общем потреблении всего персонального вычислительного тоже резко возросла, почти в три раза, но остаётся на уровне 2%.

Забавно также посмотреть сравнительную картину распределения потребления "персонального вычислительного" американским бизнесом (синее - 2012 год, зелёное - 2013-й):

Год обещает быть томным

Здесь как на ладони видно изменение структуры спроса. Доли десктопов и ноутбуков существенно уменьшились, устаревшее и некритичное явно вытесняется планшетами и "хромобуками", заметное уменьшение доли ноутбуков Apple - явно следствие "оптимизации затрат". Ну и, конечно, почти 10% от всего бизнес-сектора у "хромобуков" - это нечто неожиданное и посрамляющее всех "аналитиков", которые в прошлом году отметились погромными статьями по поводу. А их было в достатке. В общем, известно кто что делает, когда проходят караваны :)

Вот так обстоят дела в начале этого года.

Всех с Рождеством Христовым.

Откланиваюсь.

Вне формата и совершенно не "итоги года"

К концу года принято писать о событиях, которые если не поразили, то хотя бы удивили. Напишу свою версию, потому что подозреваю – она будет отличаться от прочих. Это очень субъективно, потому, наверное, и должно быть интересным не только мне. В конце концов мы видим мир по-разному, из разных точек зрения, и это замечательно.

Начну с малого в большом. Потому что в нём можно рассмотреть нечто большое.

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

В ней действительно удивил взрыв crowdfunding. Или, если больше нравится точность, финансирования проектов гражданским обществом

У нас есть определение гражданского общества, и оно кривенько говорит нам о сфере самопроявления свободных граждан. Чем crowdfunding бесспорно и является.

Если взглянуть на небольшой список проектов, информационно «поддерживаемых» только сайтом CNXSoft, можно просуммировать цифры в табличке и получить весьма внушительную сумму – примерно $22.500.000. И это капля в море, потому что crowdfunding проектов не счесть.

Удивительное явление. По-моему, в нём можно усмотреть этакий стимпанк – «откат» к мелким мануфактурам, союзам ремесленников и прочему старому доброму викторианскому. Только вместо обязательного парового двигателя (какой же стимпанк без него) здесь по большей части доступность электронных и программных компонентов. Хотя есть всякое, конечно.

Ещё два удивительных явления «из той же оперы» по моему мнению – внезапный расцвет популярности альтернативного firmware («прошивок») для мобильных устройств, невероятный взрыв в числе проданных компьютеров-полуфабрикатов Raspberry Pi и всей экосистемы Arduino. Я бы ничего об этом не сказал, если бы не цифры. Альтернативная «прошивка» CyanogenMod используется на 10 миллионах аппаратов по всему миру. На деле – наверняка даже на большем количестве. Я понимаю, что в комментарии непременно придут выдающиеся бизнесмены, которым 10 миллионов пользователей по сравнению с миллиардом активаций Android – не цифра. Большого плавания им. Я же стараюсь презрение к «мелочи» удерживать в узде и хорошо понимаю, что за аудиторию из 10 миллионов пользователей тигры любого размера и саблезубости готовы драться всерьёз. А тут такой вот феномен. То же самое – взлетевшая за 2 миллиона выпущенных компьютерчиков Raspberry Pi. Казалось бы. Чистый полуфабрикат. «Из коробки» не работает. Блока питания нет. Стабилизатор напряжения греется. Карточку памяти надо докупать, etc. И вдруг за год – взлёт продаж на чуть ли не полтора миллиона единиц.

Как бы сводя воедино все три эти элемента, осмелюсь предположить, что множества краудфаундеров, потребителей «полуфабрикатной» продукции и «стороннего» firmware, пересекаются с ощутимой мощностью (числом элементов) результата. Впрочем, это предположение не настолько важно, важнее другое – кажется, мир потребительского настолько забыл о гиках, geeks (которые в своё время стали основой его формирования, посмотрите на фотографии молодых «ботанов» - Гейтса, Джобса, etc), что слишком многим становится в нём неинтересно. И это хорошо. Это значит – будут новые Гейтсы и Джобсы, регенерация работает. По моему мнению, это очень важный эффект. Особенно на продолжительных временных промежутках.

Но у этого эффекта есть и ещё одна составляющая. Именно «долгоиграющая».

И вот теперь попробуем рассмотреть обещанное большое. Параллельно с «обкаткой» механизмов краудфандинга идёт развитие прямого производства. Если хотите проще – 3D-печати узлов и роботизированной сборки готового. А доступное прямое производство – это, в первую очередь, совершенно новые возможности для мелкосерийного производства, в котором стоимость проектирования составляет львиную долю затрат, а скорость проектирования определяет выживание.

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

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

В области личных отношений с большим миром (которые иллюзорно тесны из-за свободного доступа чуть ли не к любой информации, а после Сноудена, так и вовсе, кажется, к любой) поводом для персонального удивления стала норвежская Opera. Год был для всех далеко не лучшим, в начале года бродили слухи о возможном приобретении Opera зачем-то Facebook’ом, потом, в начале же года, в Opera круто изменили отношение к мобильным платформам, отказались от собственного «движка» рендеринга в мобильных браузерах, и тем самым вошли в непосредственную конкуренцию с прочими разработчиками, использующими WebKit, в общем, события были загадочными, первые версии обновлённой Opera для мобильных устройств оказались, как положено, сыроватыми. И вот к концу года Opera показывает финансовые результаты – а там загляденье и мечта любого бизнесмена. И, что особенно удивительно – успешная деятельность Opera (например, в быстро растущей и составляющей на конец 3-го квартала 30% в структуре доходов области Mobile Publishers and Advertisers) совершенно не заметна из нашего пространства. Вообще. Смотришь в цифры, смотришь на название – и не понимаешь о чём речь. То есть, даже и понимаешь. Но не видишь проявлений. Удивительнейший эффект открыла мне эта компания Opera. Эффект изоляции в условиях доступности информации. Который объясняется и иллюстрируется следующим графиком из финансового отчёта Opera (не имею поводов ему не доверять, финансовые отчёты читают в том числе и люди, которые сразу высмотрят что-то явное не то):

 Вне формата и совершенно не "итоги года"

Тут всё понятно (ну нет там до 2016 года зелёного цвета совсем, наши беспроводные сети безукоризненно прекрасны, и в них бурно расцвели бизнесы, что заметно), поэтому не будем о грустном, разве что констатирую – совершенно невозможно пытаться понять из несуществующего то, что где-то существует. И да, – новая мобильная Opera хороша. Я ей пользуюсь каждый день, спасибо, Opera, а мы пойдём дальше.

В «геотектонических» явлениях персональным удивлением стали китайские производители ПО и web-сервисы. Неожиданно для себя, к концу года обнаружил, что стал изрядно зависим от китайского мобильного офиса производства Kingsoft и от китайского же сервиса WizNote. И с не меньшим удивлением заметил, что я не один такой за пределами Поднебесной. По-моему, это первый год, когда китайское ПО стало если не значимым, то очень заметным во всём мире и более чем достойным. Что, собственно, подтверждается экспансией той же Kingsoft в США. А там же, за «великой стеной», есть свои гиганты, которые совершенно не известны за пределами, они тренируются на своих «котиках», и, кажется, следует ждать их прихода в другие миры. От чего многим может стать очень неуютно. С Китаем случилось и ещё одно, вовсе уж малозаметное – именно в этом году Китай стал вторым после США по интенсивности научной жизни, то есть, по количеству опубликованных научных работ. О качестве работ это, конечно, ничего не говорит, неизвестны также и показатели цитирования, но мы уже, похоже, знаем китайский подход – сначала план по валу, потом наращивание качества.

Если перейти от очень больших надсистем к большим системам, к уровню компаний-гигантов, в 2013 году многократно удивляла Google. Резкостью принятия и исполнения решений (как было с отказом от Google Reader). Которая оказалась вполне обоснованной. И даже способствовала расцвету прочих компаний. Вообще, история прекращения работы сервиса Google Reader сама по себе замечательная. И даже в какой-то степени рекламная. Почему бы нет? Громадный сервис с неисчислимым количеством пользователей. И он ликвидируется. И ничего страшного не происходит. Ну, постонали пару дней яростные фанаты. Но оказалось, что ничего ровным счётом не произошло. Зато расцвели Feedly и ещё несколько компаний. Все продолжают читать свои фиды, все сохранили «read it later», программы чтения продолжают выпускаться и совершенствоваться. Эта история показала удивительную гибкость и пригодность к самоорганизации основанных на web-сервисах громадных систем, и как самостоятельная история оказалась недооцененной. Одно дело – сервер районного провайдера прекратил существование, другое – фактически планетарного масштаба сервис. Эффект хорошо виден по той же Feedly, которая меньше чем за три месяца увеличила свою пользовательскую базу до 12 миллионов. Косвенно всё это как бы жизнерадостно утверждает нам – а ведь не так страшна и плоха та самая «терминальная» модель (терминалы – сервисы), которую когда-то давно пытались построить ещё в Sun. Даже, возможно, наоборот. Она хороша. Просто предшественники её, строившиеся на основе идей ультрапрагматизма (как, например, графические терминальные системы, X Window ли, VNC ли, RDP ли, все они основывались на дешёвом и не массовом доступе к дорогим вычислительным мощностям, стоимостям лицензий и снижении затрат на администрирование), неожиданно оказались просто не более чем соответствующими своим базовым идеям. А вот потребность в этих идеях из-за скорости развития IT как-то отошла на второй план, ведь возможности «терминалов» так резко увеличились, что они уже спорят с возможностями совсем недавно разделяемых с помощью «туповатых терминалов» серверов. То есть, теперь в основе «терминальной» модели – её живучесть, как это ни странно. Точнее, живучесть и гибкость. В общем, перефразируя классику, оказалось, что «сервисы не горят».

Вторым удивлением стала товарная составляющая – конечно, Google-Asus Nexus 7 2013 и Moto G, которые крепко зафиксировали положение планки «цена/качество» в мире не только А-брендов. Что бы ни говорили яростные критики, подобного соотношения ещё никто не добивался. И, тем более, не решался его установить. А тут и добились, и решились, и установили. И держат, что характерно. Не буду выносить в отдельное удивление – но даже с моим скептицизмом не могу не признать бойкого и с шутками-прибаутками очень заметного развития Android. Так что, спасибо, Google, за KitKat, я удовлетворён. Это хорошо. Действительно хорошо.

Третье «гуглоудивление» – взрыв активности в области робототехники. Приобретение легенды – Boston Dynamics и японской SCHAFT – победительницы соревнований роботов DARPA, – это очень серьёзная заявка. И, думаю, Google нас удивит ещё не раз в самых неожиданных областях.

Удивлением стал и смелый анонс Amazon – доставка мелких посылок с помощью дронов, проект Prime Air. То есть, технически здесь ничего не удивляет, как раз. Это совершенно реалистичный проект по меркам сегодняшнего дня. Удивляет другое. Подобные системы невозможны без чудовищного объёма всевозможной согласовательной (а также лоббистской и законотворческой) работы – с государством, локальными властями, бог весть с кем ещё. Удивляет решимость Amazon в это ввязаться. Конечно, компания с такими ресурсами и реальной потребностью в дешёвой и быстрой доставке малогабаритных посылок вполне может сдвинуть с места кучу крепко застрявших в бюрократии очень залежалых камней. Так что, если они всё это всерьёз – вполне возможно, что они скажут очень весомое слово в становлении массовой робототехники. Где уже назревает ситуация, при которой самое сложное вышло за пределы технического. Впрочем, в подготовке к массовой роботизации успели удивить власти шести штатов США – Аляски, Невады, Северной Дакоты, Текзаса и Нью Йорка. Шесть штатов – шесть финансируемых правительствами штатов же исследовательских центров, работающих совместно с Федеральной Администрацией Авиации (FAA). Смысл начинания – испытание и подготовка дронов к законному гражданскому использованию в ближайшее время. Всесторонняя проверка работы дронов в разных климатических, географических и урбанистических условиях. И так далее. Результаты ожидаются в 2015 году, но я не удивлюсь, если они будут объявлены раньше. Потому что индустрия летающих роботов обещает по оценкам 70.000 рабочих мест в первые три года, а заработная плата пилота дрона (есть такая профессия) – в диапазоне от 85 до 117 тысяч USD.

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

Британская ARM – тоже удивление года. Особенно если говорить об ARM больше как о поставщике интеллектуальной собственности (IP) для встраиваемых систем (микроконтроллеров и прочего). ARM Cortex-M0 и Cortex-M3, кажется, стали микроконтроллерами года и уж точно будут набирать популярность в следующем году. Потому что ценовая планка обрушена до уровня 40 центов, производители микросхем растут как грибы после дождя. Так что ещё годик-два и вокруг чуть ли не в каждой мелочи будет «немного ARM». Это почти неизбежно – и архитектура «младшеньких» Cortex’ов оказалась удачной, и производители её восприняли, и инструментальная поддержка разработки с использованием этой архитектуры уже на высоте. Ну а цены – они слишком убедительные.

На фоне засилья ARM как-то стушевалась вторая живая легенда fabless мира и IP – MIPS. Впрочем, в «горячую сотню» лучших продуктов года по версии заслуженно уважаемого в профессиональных кругах EDN вошли замечательные микроконтроллеры MIPS-архитектуры производства Microchip (PIC32MZ). Вполне возможно, что расширение области применимости 32-битовых архитектур, которым косвенно занята ARM, скажется и на популярности MIPS. Но Microchip приятно удивила уже сейчас, потому и попала в этот список.

Список удививших производителей компонентного уровня был бы неполон без XMOS, без их милой многопроцессорной архитектуры xCORE, без очень интересных овеществлений этой архитектуры – гибридов многопроцессорных вычислителей с «ведущим» ядром ARM Cortex-M3, и, главное, - без цены всего этого удовольствия. Отладочный модуль системы на чипе xCORE-XA с восемью ядрами, коммутироемой шиной, ARM-процессором и чем возможно, доступен за страшную сумму $15 (а для китайского рынка XMOS предусмотрела вообще 3500 подарочных бесплатных комплектов, но то ж Китай, «нам так не будет»). Невероятное это что-то – возможность обменять машину такой лихой архитектуры, с отличной инструментальной поддержкой, с большим набором программных реализаций кучи всего, что ранее было принято делать исключительно аппаратно, на один поход в кофейню средней руки с парой маффинов и смузи :)

Удивила швейцарская компания Espros Photonics. Системой на чипе epc610, представляющей собой, если говорить простым языком, – приёмную часть светового локатора (но не лазерного, который лидар), позволяющего довольно точно и быстро определять расстояние до объектов. Очень советую любопытным почитать описание этой презабавнейшей микросхемы, объединяющей на одном кристалле и матрицу фотоприёмников, и весь тракт обработки сигналов. Вообще, в 2013 году появление каждого нового доступного и простого в использовании сенсора и актуатора (исполнительного механизма) – было событием, потому что уже никто не сомневается, что эпоха «всепроникающего» (ubiquitous) компьютинга началась, а с помощью сенсоров и актуаторов, собственно, компьютеры и «проникают» в реальный мир.

В этой области (ubiquitous компьютинга) совсем под конец года успела удивить французская компания Archos. Она и раньше удивляла, на самом деле, одно время многим казалось, что «Archos – всё» (© бородатый анекдот), долго многим казалось, что локальный европейский производитель как бы не жилец, а Archos мало что пережила всякие предсказания, так ещё и совершенно внезапно «вломилась» в совершенно незанятую пока нишу – «всё ubiquitous-компьютерное для дома из одних рук». Презабавнейшая идея, которая витала в воздухе. Теперь Archos готовит «всё своё», включая напольные весы с беспроводным интерфейсом, смарт-часы за $50 (по-хорошему, очень правильная цена за баловство), какие-то кухонные и прочие мелочи, всё это замкнутое на планшеты, смартфоны, сервисы и прочее.

Удивила и Broadcom, которая в прошлом не отмечалась заинтересованностью в «мелочи». Но вот - BCM4390. Это, безусловно, не единственная такая микросхема на рынке, которая позволяет малыми затратами добавить беспроводную сеть к встраиваемому (я бы вообще перестал использовать слово embedded и перешёл к слову ubiquitous) микрокомпьютеру, практически независимо от его разрядности и ПО. Но это, извините, Broadcom. Законодатель мод, так сказать. Ступивший на территорию, где раньше никогда не был. Производство BCM4390 только-только началось. И раз такие монстры, как Broadcom, пошли на пастбище ubiquitous компьютинга, значит, там затевается совсем серьёзное.

Если перейти к ПО, то год был уныл чуть более, чем полностью. Да, это было год начинающегося просветления в некоторых областях ПО. Например, в NoSQL СУБД. Здесь началась десакрализация, и она, похоже, подбирается к окончательному пониманию NoSQL СУБД как не только действительно не-SQL, но и даже в каком-то смысле не СУБД вовсе, ведь это больше практически расширения мощных динамических языков программирования, объединяющие невидимые factory-методы c быстрыми удобными методами доступа, и всё это – для весьма вычурных и нужных типов данных и со всякими иногда очень полезными штучками вроде персистентности, масштабирования и прочего. Подозреваю, что только что сделал весьма резкое заявление, но не спешите писать комментарии по этому поводу, подумайте и посмотрите внимательно. В фоне десакрализации NoSQL СУБД размылось и совершенно стушевалось второе явление. Куда-то делись ещё не так давно модные объектно-ориентированные СУБД. То есть, они вроде есть и никуда не делись. Но создаётся впечатление, что они никому не интересны. Очень забавный факт. А в своё время о них исписали изрядно бумаги. И hype был сродни NoSQL-истерике. Очень забавный факт, который требует обстоятельного обдумывания. А, может, и не требует.

Системное ПО ничем выдающимся не удивило. Разве что… Во-первых, слово deployment наконец-то дошло своей весёлой семантикой до системных программистов. И стали появляться разработки, направленные на облегчение этого самого «деплоймента». Сюда можно отнести и дистрибутив Linux NixOS с его вменяемым декларативным конфигурированием и функциональным менеджером пакетов, и даже доведенные до предельной степени минимализма «облачные операционные системы» (OSv, ClickOS, Drawbridge, ErlangOnXen, GUK11, MiniOS, MirageOS), которые, по сути, и не совсем операционные системы, а среды времени исполнения языков программирования, надстроенные прямо над монитором виртуальных машин (гипервизором). И сюда же можно добавить язык Go от Google (который тоже приятно удивил в этом году), из-за его изначальной, на уровне концепции, поддержки упрощённого развёртывания ПО (Go не умеет и не знает динамических библиотек, и это сделано умышленно, так что никакого dll hell, только большие и красивые исполняемые файлы, которые сами по себе).

О языках программирования буду краток (не забывайте, это субъективное) – приятно удивили Go и Dart. Оба – из недр Google. Ну, не виноват я, что Google собрала под уютным крылышком настоящих монстров «языкостроения». Go доставляет мне огромное интеллектуальное и даже эстетическое удовольствие (наверное ещё потому, что когда-то, в прошлых жизнях, я знал и умел Modula 2 и Oberon), а большего мне и не надо. Разве что осмелюсь заявить неожиданное – после «прекрасного и ужасного» C из всех императивных языков (а Go всё-таки императивный), которые я пробовал «на ощупь», это первый с минимумом синтаксического сахара (syntax sugar). Поэтому если кто надумает доставить себе удовольствие, советую – не тратьте время на многословные книги, берите официальную спецификацию языка и штурмуйте семантику. Это близко к Lisp (или к более современному Clojure), но с удачной смесью C и Oberon синтаксисов. Попыток сделать подобное было много, но… O Dart вообще говорить не буду, потому что хоть это и хороший язык (да, это хороший язык), его жизнеспособность –вопрос не его качеств или стандартизации, а политических баталий между производителями браузеров, которые, что очевидно, все искренне обожают друг друга и так и пытаются друг другу чем-нибудь помочь.

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

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

В не-IT мирах год был полон удивительного, практически по Салтыкову-Щедрину, но об этом – ни слова.

Откланиваюсь.

Всех с Новым Годом.

С финским спокойствием и упорством…

Итак, основанная бывшими сотрудниками Nokia, фактически оставленными не у дел после закрытия проекта N9, финская компания Jolla всё-таки добилась своего – продажи их смартфона-первенца официально начались в Финляндии и объём предзаказа уже превысил 50.000 единиц. Удовлетворить его Jolla пока не может, но это, скорее всего, вопрос ближайшего времени.

Вот он, первенец Jolla, смартфон финского дизайна:

С финским спокойствием и упорством…

История Jolla, которая начинается в проекте Nokia N9, очень интересна сама по себе. Не знаю, о чём она нам может сказать (точнее, кто что сможет из неё почерпнуть), но всё же. В июне 2011 года аппарат Nokia N9 был анонсирован в Сингапуре, на очередном Nokia Connection. Анонс вызвал двойственную реакцию – с одной стороны, смартфон всем обозревателям понравился даже до восторженных степеней, поддержка прессы была очень высокой, особенно европейской прессы, понравился аппарат именно программной платформой, с другой – его судьба уже тогда была не совсем даже и под вопросом.

Насколько можно восстановить по открытым источникам прошлое – ещё до 2010 года CEO Nokia, Олли-Пекка Калласвуо, к тому времени отдавший Nokia около 20 лет своей жизни (он пришёл в компанию в 1980-м), говорил о вполне разумных планах компании, начавшей сталкиваться с предвестниками трудностей. Предвестники же были ещё не вызывающими панику, но явными – роста доходов не наблюдалось, вместо них была фактически горизонтальная прямая линия, поддерживаемая широким спектром продукции и хорошим её качеством при умеренных ценах.

Стратегия же выглядела вполне разумно - эволюционное развитие платформы Symbian, заключающееся в тотальной модернизации пользовательского интерфейса (где-то к концу 2010 года), и параллельное освоение революционного для Nokia – собственной ОС и инфраструктуры для неё, Maemo. Вполне разумная стратегия. При всех своих особенностях, о которых знали программисты приложений для Symbian, система была хорошо освоена массой производителей ПО, для неё были инструментальные средства, она очень хорошо соответствовала возможностям скромных вычислителей, и, по сути, всё, чего ей не хватало – действительно актуального пользовательского интерфейса, не взрывающего системную часть и программно-производственную инфраструктуру, на эту ОС работающую. Задача непростая, но обозримая и явно плодотворная – она позволила бы пережить «буферный период» подготовки революции. А её подготовка тоже шла своим чередом. Кроме того, у Nokia явно был приличный «жирок» предыдущих успехов и большие возможности для маневра масштабами или «оптимизации методом сокращения масштабов», как хотите, так и называйте (эти маневры во всей их красе все увидели позже).

Но тут случилось нечто странное, и вместо Калласвуо, в полном соответствии с неумолимой логикой нового столетия, у руля Nokia возник Стивен Элоп. Интереснейший персонаж, если судить по лаконичному биографическому описанию. В истории Nokia это был первый «понаехавший» (уж извините) топ-менеджер. Когда-то кем только не бывший, отметившийся даже в «успешном» фастфуде Boston Chicken. Зачем, на каких условиях он понадобился Nokia – совершенно никому не понятно, гадать мы не будем, но с его приходом стратегия компании изменилась так резко и удачно, что всё закончилось обвалом акций с $40 до $2, многотысячными последовательными увольнениями в 2012-2013 годах и тем, чем закончилось.

Но вернёмся к 2011 году, к анонсу Nokia N9. Уж не знаю, чем таким утончённо стратегическим кто руководствовался, потому что смысл этого анонса совершенно не понятен – задолго до июня, в феврале того же года, Стивен Элоп объявил де-факто новую стратегию Nokia, в которой вместо эволюции Symbian и параллельной революции Maemo (позже – MeeGo, разрабатывавшейся вместе с Intel) будет одна основная ОС – WP7 от Microsoft. О проекте N9 Элоп сказал открытым текстом – «несмотря на то, что N9 оказалась явным хитом, Nokia собирается сконцентрировать своё внимание на вещах из мира Windows Mobile» (из интервью с CEO компании Jolla).

Трудно сказать, сколько времени требуется корпоративной машине, чтобы стратегическая информация прошла по всем её эшелонам сверху вниз, но отделяющие февраль от июня три с лишним месяца кажутся достаточными для того, чтобы не делать алогичного – не анонсировать уже обречённый продукт. Ещё труднее сказать, оказалась ли в итоге WP7, стратегическим выбором которой навсегда прославился Элоп, более успешной системой, чем MeeGo. Первой системой пытались что-то сказать рынку, но рынок услышал что-то настолько другое, что систему пришлось быстро менять на совсем другую, на WP8. Второй системой (MeeGo) даже и не попытались что-то сказать. Теперь сама WP8 находится в странном состоянии в «троице ОС», и уже первые лица Microsoft открыто говорят, что три системы корпорации как бы излишни и не нужны (надо же, какое яркое внезапное озарение, как будто не было пяти лет массированного информационного прессинга той же Google по поводу «ужжасающей» фрагментации ОС Android), и какая из них будет отправлена в анналы истории – то никому не известно, особенно учитывая яркую логичность всего происходящего.

В общем, в Nokia судьба MeeGo и стоящих за системой подразделений была предрешена Стивеном Элопом давным-давно.
Но люди, стоящие за проектом, своего дела не бросили. В октябре 2011 года Джусси Хурмола, бывший директор подразделения MeeGo в Nokia, анонсировал создание стартапа Jolla, целью которого была заявлена основанная на Linux система, продолжающая концепцию MeeGo. Частичное стартовое финансирование стартап получил по программе Nokia Bridge, предусматривающей финансирование самостоятельных бизнес-начинаний увольняемых сотрудников (25000€), но прав на интеллектуальную собственность, созданную проектом N9 во время работы в Nokia, естественно, не получил. Через год, в 2012 году, стартап Jolla уже трудно было назвать стартапом – это была уже компания средней руки с числом работающих от 50 до 100 человек и необходимыми 10 миллионами евро для «больших дел». Период с 2012 по фактически конец 2013 года проходил почти в полной тишине, и вот Jolla выдала продукт свои усилий – причём не только собственную мобильную операционную систему, а и свой смартфон, её исполняющий. Давайте попробуем рассмотреть, что же Jolla сделала всего за полтора года, и подумать, что бы это всё могло значить.

Системообразующая ОС компании Jolla, - Sailfish, - является одной из ветвей непростой эволюции ОС Linux в мобильном мире:

С финским спокойствием и упорством…

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

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

Давайте вспомним аппаратные средства во времена старта IBM PC. Процессор i8088, выбранный основным для этой архитектуры, был выбран на основе каких рассуждений? Вовсе не потому, что он был самым производительным. Потому что он таким не был. Наоборот, он был «от рождения» существенно замедлен 8-битовой шиной данных (главный архитектор семейства i8086 Стивен Морзе вообще называл i8088 «кастрированным кузеном i8086»). Его «старший собрат», i8086, располагал 16-битовой шиной (что означает – за одно и то же время обеспечивал «прокачку» через шину в 2 раза большего объёма данных). Но. i8088 на момент анонса (в 1979 году) стоил почти 125 долларов. Тех долларов, куда более полновесных, чем нынешние. А вот с ценой i8086 в 1979 году какие-то сложности, очень уж её трудно отыскать, но если посмотреть на стоимость «процессорного модуля» из 1979 года, использующего i8086, можно ориентировочно говорить о $300-$350, если не больше (в рекламе указана цена модуля $895):

С финским спокойствием и упорством…

 
Теперь вспомним, что каждая микросхема в те времена стоила кучу денег, и что содержащий 29 тысяч транзисторов (из них - 20 тысяч активных) на кристалле i8086 проектировался фактически два года. И сколько стоило его проектирование – даже страшно подумать, ведь в те времена ещё не было высокоуровневых сквозных технологий проектирования цифровых микросхем (от модели на языке описания «железа» - до масок для производства с промежуточным моделированием всего), не было быстрых и дешёвых способов произвести прототип (на основе полузаказных кристаллов, например), не было лицензируемых и открытых блоков IP (Intellectual Property), практически не было своих наработок, etc.

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

Ситуация с системообразующим «железом» отлично наблюдается в истории Apple, например. Производитель конечного продукта просто приобретает небольшую компанию, специализирующуюся в разработке требуемой IP, и становится по совместительству разработчиком ключевых аппаратных узлов «под себя» (пытаться объяснить такой ход Apple только противостоянием с Samsung не получится, потому что производственные мощности Samsung компания всё равно использует).

Это знаковое изменение ландшафта. Оно как бы ставит точки над «i» - начиная с какого-то масштаба, в 2013 году производителю чего угодно доступна разработка собственной ключевой элементной базы. Такого в истории ещё не было. И это означает в том числе и возможность потенциального изменения значения «стандартная архитектура». Стандартность как бы «сползает» вниз по архитектурным уровням, от застывшей «стандартной архитектуры вообще» к разумно достаточным для реализации требуемого стандартам шин и протоколов. Остальное – дело разработчика. И какие архитектурные решения обеспечат его продукции преимущества – те и будут использованы. Без всяких преувеличений – конец «эры PC» заключается именно в этом факте, а не в доминировании мобильных устройств на рынке. Потому что их доминирование (обусловленное не только спросом, но и колосаальным предложением от производителей всех масштабов и рангов) в том числе обязано этому факту.

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

Теперь наконец возвратимся к Jolla и к её ОС Sailfish. Это, по сути, довольно традиционный дистрибутив Linux, со всеми основными его «приметами» и ключевыми компонентами. Разве что вместо традиционной X Window здесь используется куда более легковесный, современный и соответствующий возможностям и потребностям мобильных аппаратных средств Wayland. Пользовательский уровень – мир Qt-приложений, естественно, со всем развитым технологическим стеком для их написания. В общем, Qt-основанный дистрибутив Linux, но с подготовленным инструментарием для кросс-разработки и собственным фреймворком, обеспечивающим упрощенную разработку пользовательских приложений (за счёт высокоуровневого декларативного языка), визуальную целостность и единство пользовательских интерфейсов. Это всё детали, в которых нетрудно разобраться самостоятельно, тайны из Sailfish никто не делает, больше того, разработчики системы уже объявили о том, что в будущем использование Sailfish станет доступным владельцам Android-устройств  (понятно, что не всех вообще, хотя потенциально никто не запрещает вынести пользовательский уровень Sailfish в приложение Android), так что система хорошо документирована и поддержана.

Вместо лишней деталировки скажу сразу, чем мне лично безоговорочно понравилась Sailfish, и ради чего, по моему скромному мнению, стоит обратить внимание на эту систему. Речь идёт о всего лишь одной концептуальной конструкции пользовательского интерфейса, которая… Которая, я бы не побоялся сказать, по разумности значительно превосходит всё, что мы видим в мобильных интерфейсах сейчас. «Активные обложки» (active covers) приложений в ОС Sailfish – это нечто среднее между тайлами Windows (общее у них одно – они достаточно большие), более традиционными виджетами и одновременно – пиктограммами исполняющихся программ. Это означает, что Sailfish не нужны отдельные режимы для «домашнего экрана» и экрана, отображающего исполняющиеся задачи (для переключения между ними). «Активные обложки» - часть «домашнего экрана» Sailfish, они образуют «список» запущенных приложений, который «листается», кратковременное нажатие на активную обложку вызывает переключение на выбранное приложение, долговременное даёт доступ к возможности закрыть приложение, а активный характер, придающий «обложкам» характер виджетов, позволяет приложению выводить в «обложку» какую-то информацию и/или элементы пользовательского интерфейса. На деле я ждал такой концепции именно от тайлов Windows (исходя из логики их размеров), но не дождался. Вот так выглядит экран Sailfish ОС с видимыми четырьмя одновременно запущенными приложениями и, соответственно, с их «активными обложками»:

С финским спокойствием и упорством…

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

По-моему, только концепция «активных обложек» в Sailfish уже достойна внимания. Вообще удивительно, как никто из грандов не додумался до этого раньше. И подозреваю, что уже опытным пользователям мобильных устройств эта концепция понравится. Что весьма облегчит вход на рынок продукции компании Jolla. Впрочем, если заведомо неживая Nokia N9 в своё время была встречена чуть ли не аплодисментами, удивительного в этом ничего нет. Также очень интересной и полезной концепция такого интерфейса без сомнения окажется в планшетном мире. Когда-то для Android была реализована многообещающая альтернативная пользовательская оболочка Chameleon Launcher, создатели которой несколько перегнули палку при «раскачке» своего детища и тем самым сами себе вырыли яму. А разработка была хорошей. Она превращала экран планшета в журнал из виджетов, и даже предлагала механизмы создания собственных виджетов (что, конечно, оказалось в итоге лишним). Но в ней не было принципиальной, если можно сказать, новизны. Это была больше попытка в области эстетики (и как раз в этой области однозначно удачная). «Активные обложки» же потенциально предлагают и эстетику (потенциально – да), и информативность, и удобство. Такое сочетание в первую очередь оценят именно опытные пользователи, уже для себя выработавшие собственные чёткие критерии требований к пользовательскому интерфейсу.

В общем, это очень хорошо, что в мобильном мире появилась новая система, подкреплённая реальным коммерческим устройством, ещё и вышедшая не из noname-артели. Даже если Jolla останется нишевым производителем локального рынка – всё равно хорошо.

Ну и самое хорошее во всей этой истории. Кажется, опыт Jolla демонстрирует нам, что вожделенная многими и ставшая мемом «Linux на десктопе и с человеческим лицом» – не такая уж и страшная штука, больше того, она неизбежно будет востребована. И, значит, появится. Часть логических рассуждений была выше – раз бешеный рост спроса в мобильном сегменте и очень большие возможности разработки на компонентном уровне вызвали такие тектонические сдвиги, как перерастание производителей конечного продукта в производителей системообразующих компонентов, то и рост требований к рабочим станциям по мере сокращения ёмкости рынка ПК должен вызвать потребность в создании куда более специфических архитектур, а такое без использования открытых программных систем, что очевидно, практически невозможно. По сути, мы опять говорим о противостоянии двух компонентных моделей – «чёрных ящиков» и открытой. Во время дорогих аппаратных средств модель «чёрных ящиков» была выгодной всем, как и «архитектурная закрепощённость». Средние игроки рынка экономически не могли себе позволить вторгнуться в переделы, где «паслись» гиганты, у которых были возможности, и потому находили собственные ниши. И всё это поддерживалось ростом спроса на стандартные ПК. Но вот рост закончился, начался спад, средним игрокам дозволено куда больше, и теперь в типовой квартире «продвинутого» гражданина среднего достатка есть «умный телевизор» (Linux или, реже, Android), WiFi роутер (однозначно Linux), медиацентр (чаще всего Linux), Sony Playstation (FreeBSD), пара смартфонов (iOS или Android, несоизмеримо реже – WP8), планшет (iOS или Android). Это всё – устройства, цена которых практически не позволяет их реализовать при использовании закрытого ПО (если речь идёт об iOS и WP8 - то у устройств, использующих эти ОС фактически по одному производителю, по совместительству и собственнику открытых исходных текстов своей же системы), или «черных ящиков». Слишком они разные. И по этой же причине, к слову, в мире embedded систем очень редко принята коммерческая поставка бинарных закрытых компонентов, это мир открытых кодов. Потому что они практически всегда требуют существенной модификации для реализации нужного в рамках имеющегося бюджета и для достижения интересной рынку цены конечного изделия.

Так что всему своё время.

А финской компании Jolla – успехов в продвижении своих разработок, потому что это же хорошо, когда в мире становится больше хорошо сделанного.

Откланиваюсь.

О незначительном недовольстве алогичными мелочами происходящего

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

Но буду последовательным. Вот прочитал я сравнительно недавнюю запись в блогах о Windows 8.1. Посочувствовал автору, хоть сам с подобными проблемами  с этой системой в сочетании с доступными мне аппаратными средствами не сталкивался (кроме двух экзотических узлов - датчика ускорения в ноутбуке и встроенной в монитор камеры, но с ними проблемы были всегда). Да и если бы столкнулся - не придал бы большого значения. Потому что понимаю - в разнобое неподконтрольного производителю ОС "железа" волочить на себе ответственность за работоспособность "на всём и всегда" - чудовищной сложности задача. Которую решить идеально просто невозможно.

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

Вынужден извиниться за изобилие бесполезных картинок, но вот, например, так выглядят экраны Start одного из моих рабочих компьютеров (десктопа, причём):

О мелком недовольстве алогичностью происходящего

О мелком недовольстве алогичностью происходящего

О мелком недовольстве алогичностью происходящего

О мелком недовольстве алогичностью происходящего

О мелком недовольстве алогичностью происходящего

Ещё раз извините, но мне эти картинки действительно нужно показать. Для объяснение очевидного.

Скажите пожалуйста, вы видите в этом сплошном месиве какой-то явный порядок? Какую-то структуру? Которые в нём присутствуют, кстати. Но это присутствие порядка и структуры хорошо видно невооружённым глазом?

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

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

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

Вот только есть одно "но".  Совершенно логичное, на мой взгляд.

Мобильные приложения с точки зрения пользователя, пытающегося "запустить" приложение,  существенно отличаются от "дектопных" чем? Если существенно - то только одним: у мобильного приложения нет каталога с кучей всего дополнительного. Оно единственное, и для его вызова достаточно одной иконки. А слишком многим "декстопным" приложениям такого не достаточно, и иерархические меню "традиционных" версий Windows всегда это отображали явно, наглядно и, в целом, в рамках концепции Windows-десктопа - удобно.

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

О мелком недовольстве алогичностью происходящего

Аналогичный механизм упорядочивания (то есть, формирования иерархии) является и штатным в iOS.

И кто-то может объяснить мне (или себе) логику идеологов и разработчиков этого кошмарного меню Start в Windows 8.1, которое фактически отображает сплошной ломаной линией существующие иерархии, и при этом умудряется наглядно не разделять относящиеся к отдельным элементам иерархии фрагменты?  Ну хоть бы расставили относящееся к отдельным каталогам в отдельные вертикальные ленты - я бы ещё понял. Но слить всё в один поток с плохо заметными заголовками - это за гранью моего понимания, извините. Тем более за гранью, что тайл, одна из новых основ гибридного интерфейса Windows, в отличие от иконки, - он ведь большой (и это большое достоинство), и позволяет действительно красиво и наглядно отображать тот факт, что за ними прячется не одна иконка, а группа из них.

В общем, я не способен понять логику разработчиков. "Ниасилил", как пишут в этих ваших интернетах.

Теперь злополучная кнопка Start, от которой революциев ждали, а оне даже с чижиком что-нибудь нехорошее сделать не смогли. Я всё пытаюсь понять логику того, кто придумал, что в том виде, в каком она явлена нам в Windows 8.1, она вообще кому-то нужна. Ну, разве что как успокоительное плацебо. Пользователи десктопов попадают в меню Start кнопкой клавиатуры, что действительно удобнее, чем тянуть мышку через пол экрана. Для пользователей Surface аналог этой клавиатурной кнопки №1 сделан аппаратным. И вот логика создателей кнопки Start в том виде, в каком она есть в Windows 8.1 меня сбивает с ног непосягаемостью. Ау, создатели?! Объясните - для кого этот визуальный клавиатурный шорткат в виде иконки сделан и зачем? И, наконец, почему его нельзя перемещать по экрану? И уж вовсе "наконец" - какой логикой руководствовались создатели этой кнопки, что умудрились не заметить яркий взрыв популярности бесплатных и условно бесплатных утилит, возмещающих в системе недостающее? Всех этих "Windows 8 start menu", которым посвящена страница википедии, поиск которых по приведенным ключевым словам выдаёт 237 миллионов (!) страниц. Логично ли не заметить такой "незначительный" факт? Разве что если закрыться в бункере.

Ещё меня интересует логика создателей имён для штатных утилит. Очень интересует. Радует, конечно, что калькулятор хоть назван очевидно. Но вот утилита для снимков экрана ставит меня в недоумение не раз. Признаюсь - я всё время забываю как она называется... И мне ничуть не стыдно. Помню, что название как-то пересекается с культовым фильмом "Эдвард руки-ножницы", и всё время забываю, что ножницы в названии зачем-то используются в глагольной форме. Листать пять экранов иконок - от этого болит голова, но есть же замечательный поиск, в который можно ввести очевидное - screenshot. Термин-то устоявшийся, при чём тут ножницы вообще, сказать трудно, ну да ладно. Поиск по screenshot выдаёт первой в списке результатов зачем-то экранную клавиатуру, и только вторым - что реально делает эти самые screenshots. В традиционной Windows от забывания очевидного названия спасало иерархическое меню, довольно логичное размещение утилиты в подменю Accesories и уже там - знакомая иконка с ножницами. Теперь всё по-новому, и это по-новому способно довести до белого каления. Кстати, предсказываю по той же причине тотальное незнание штатных пользовательских утилит Windows той аудиторией пользователей, для которой версия 8.1 стала стартовой. Они не найдут этих утилит, потому что даже не будут их искать. И логично поступят. Потому что, по логике, пользователь вообще должен как можно меньше искать то немногочисленное штатное полезное, что даёт ему система (привет создателям оболочки Unity в Ubuntu Linux, возводящей процедуру поиска в ненужный культ). В противном случае наши автомобили оснащались бы замечательной продвинутой программой поиска включателя "дворников", который располагался бы где-то в багажнике.

Теперь самое любимое. О чём, как выяснилось, не подозревают многие. Штатный файловый менеджер Windows - штука довольно неплохая. В чём-то даже и хорошая. Но очень интересная местами в логике работы. Например, у вас есть каталог Downloads (или "Загрузки" или как там ещё, не важно). Вы его открываете файловым эксплорером и включаете сортировку по времени изменения файла, от самого "свежего" вниз. Потому что это удобно - то, что только что попало в Downloads, будет первым в списке файлов, и не надо копошиться в нём, чтобы найти только что скачанное. Это логично? По-моему, совершенно логично. Только это не работает. И, несмотря на выбранную вами сортировку, попавшее в каталог уже после запуска эксплорера, будет в списке файлов где? В самом его конце. Я считаю это достойной победой над здравым смыслом.

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

Хорошо, забудем о раздражающих мелочах. И посмотрим на масштабные явления. Мы же умеем складывать два не очень больших положительных числа? Скажем, каждое из которых меньше ста. Вроде как умеем. Многие даже в уме. Если умеем, то на основании какой цепочки логических рассуждений можно объяснить назойливый недавний рост популярности сервисов, основанных на приницпе "чтобы потом скачать что-нибудь ненужное, надо сначала его закачать"? Я говорю о всех совершенно небесполезных сервисах хранения данных. Они безусловно небесполезны. Но совершенно не в том смысле, в каком они "раскручивались" и до сих пор ещё некоторыми преподносятся. Мне лично двойная затрата времени на доступ к одному и тому же не кажется логичной. Никак. Архивирование, создание резервных копий, совместная работа - да, это логично. Но сначала долго "заливать" в "файлопомойку" музыку, чтобы потом можно было её слушать только там, где есть стабильный интернет-доступ с хорошей полосой пропускания или чтобы просто потом скачивать оттуда же - мне это кажется нелогичным. Я просто локально "залью" в мобильное устройство и пойду себе куда мне надо, без всех этих излишеств и ограничений. И все в итоге так будут делать, потому что так логичнее и удобнее. И, кажется, все так и делают в итоге.

Big Data. Очередная серебряная пуля модели 2013 года. Если следовать логике, то любой специалист в области анализа данных должен начинать любое предложение с фразы - "не забывайте, речь идёт только о гипотезах, не отменяющих здравый смысл и знание прикладной области". Вот этого-то и не слышно совсем. Что настораживает. Кроме того, по логике, пост-фактум анализ набора данных позволяет сформировать гипотезы только о некотором периоде уже прошлого, во время которого осуществлялся сбор данных. Для технических систем, поддающихся довольно детальному и точному моделированию, такая информация бесценна. Она позволяет, например, калибровать модели. Предсказывать поведение системы. И т.д. Для социальных систем или вообще бессистемных стохастических образований подобное совершенно не справедливо. Формально, конечно, можно что-то там предсказывать. Но. Кто-то видел попытки оценки результатов таких предсказаний по единственному критерию - тривиальности? По-моему, элементарная логика требует такой оценки - мы пыхтели, что-то получили, а теперь давайте просто подумаем - не видим ли мы нечто очевидное из класса откровений "покупающие пиво чаще всего к нему покупают орешки или что-то из пивных закусок, поэтому целесообразно разместить прилавки с этими продуктами рядом"? Это, конечно, тоже результат, но чтобы прийти к нему, совершенно нет нужды лопатить терабайты данных чеков. Или другой пример из реальности. Помнится, когда открылись "Ашаны" (извините, что упоминаю храм потребительства всуе) и в них появились эти длинные дешёвые черствеющие до деревянности за пол часа багеты, - мир сошёл с ума, за багетами выстраивались толпы, все тащили их охапками. На основании каких предыдущих данных можно было предсказать такой взрывной рост популярности, если предшествующих наблюдений с таким товаром такой цены просто не было? Это элементарное и логичное наблюдение основано на не менее элементарном и логичном - Big Data позволяют строить гипотезы только о ранее наблюдавшемся, ещё и достаточно продолжительно. Это явное тоже никто не говорит вслух.

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

Это подозрение постепенно укрепляется в головах, хоть бы оно было и другими словами сформулировано, что превращает очень серьёзную, реально нужную, полезную и интересную прикладную область в очередной hype. В итоге может случиться то, что случается с любым hype - отток интереса.

Помните, был огромный hype с C++ в своё время? О, C++ был будущим всего. Толстенные книги, которыми можно убивать слонов, пеклись как горячие пирожки. Параллельно с C++ бешеный накал был с объектными брокерами. Брокер Corba обещал прорыв. Знать или хотя бы учить (познать это, как оказалось, невозможно) С++ и Corba - было признаком продвинутости, актуальности и соответствия моде. Ну и где всё это замечательное и огромное сейчас? Стало фактически нишевым. Слышны blah-blah-blah о возвращении "нативного кода" (почему-то с C++ в нагрузку), но всерьёз они уже не воспринимаются, после многотысячностраничных спецификаций C++. Реального специалиста днём с огнём не найдёшь.

Вот как бы с Big Data не повторилось то же самое. В этой области, конечно, всё немного не так. Статистические методы, понимание которых требует здоровенного куска жизни и определяет их применимость, существуют в виде максимально удобных пакетов, например, в R. Три команды интерпретатору R - и пирожок испечён. Только вот c чем он? Тишина.

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

Internet of Things. IoT. Это моё любимое :) В 2013 году аббревиатура IoT действует как дудочка с картины барона Августина фон Мёрсперга 1595 года:

О мелком недовольстве алогичностью происходящего

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

На деле же, IoT - громадный комок до сих пор плохо обозримых проблем. Это очень интересная и плодотворная область, без всякого сомнения. Но в ней море всего чудовищно сложного. Особенно взаимосвязи между отдельными очевидными фрагментами этой реальности. Электромагнитная совместимость - безопасность - маршрутизация - протоколы - систематизация ПО - middleware - качество - тестирование - электропитание - надёжность - развёртывание - социальные аспекты - etc etc etc, это так, навскидку и на пальцах. В каких-то фрагментах что-то сделано и делается, в каких-то - полное затишье, очевидные взаимосвязи же вообще предмет тёмный. Ну и самое сложное с IoT - области применения. Они есть "естественные", например, в промышленных системах или управлении городским освещением, и... По логике, самое время выдумывать совершенно новые области и пробовать на существующих пригодных макетах. Но логике это поддаётся плохо. Посему всё ограничивается упоминанием набившего оскомину смешного умного холодильника, управляемой из-за океана кофеварки и smart watch, которые та же "синезубая гарнитура", только в виде часов и не такая удобная. А также монстроидальными программными системами для сбора Big Data с сонма IoT-сенсоров.

В общем, по логике, в IoT всё должно быть строго наоборот. Опыта ведь уже хватает. Например, опыта построения и эксплуатации больших систем.

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

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

Откланиваюсь.

 

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

Есть такая область науки – трибология, изучающая контактное взаимодействие твёрдых тел при их, грубо говоря, трении. И область инженерии – триботехника, - использующая знания, полученные трибологией в мирных и прочих целях. Это были до времени очень далёкие от IT области. Потому что в IT очень не любят всего механического и, тем более, трущегося – это потенциально ненадёжно и если делать очень-очень хорошо, то получается слишком дорого для массового производства. Кстати, серьёзные достижения триботехники упрятаны в любой HDD, но мы будем не об этом. А о том, что долгое время было под ногами, пока кто-то талантливый не обратил на это внимание.

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

Например, из упомянутой таблицы мы видим, что при работе трения 1 Джоуль двух листков полиуретановой и тефлоновой плёнок произойдёт перенос заряда |-145-(+60)|=205 наноКулон. Эти цифры часто используются, например, при проектировании всяких бытовых полезных вещей, чтобы они потом, говоря простонародным языком, не «бились током». То есть, для устранения в целом вредного явления. И вот кто-то придумал использовать трибоэлектрический эффект совершенно для других целей.

Если мы говорим об электричестве – мы можем сравнительно легко и дёшево измерять. Это как бы синонимы. Но мы ещё можем использовать электричество как энергию для выполнения какой-то работы. Собственно, всё это далеко не ново, если говорить о трибоэлектричестве – эффект хорошо известен, изучен и законно входит в перечень известных способов «собирания энергии» (energy harvesting), которая, в свою очередь, становится очень «модной» темой в связи с ростом интереса к Internet of Things (IoT) и «умной пыли» (smart dust) в частности.

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

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

Такая «умная стелька» и кому-то действительно нужна, и вообще привлекательна для потребителя. А привлекательность – это основа той самой конкурентоспособности, о которой мы опять столько слышим интересного в последнее время.

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

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

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

Вот, собственно, "стелькогенератор" в сборе (ничего впечатляющего, конечно):

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

Несмотря на неказистость, при ходьбе это устройство выдаёт такую картину всплесков напряжений:

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

 

Электронной частью авторы разработки практически не занимались, и это понятно, они специализируются в теории материалов, мы же можем прикинуть «на пальцах» - заявленные показатели «умной стельки» обеспечивают генерацию 0,8 микроампер на каждый квадратный сантиметр генератора при 300 вольтах напряжения. Если обратиться к всезнающему Google, можно выяснить, что средняя площадь стопы человека – 175 см2 (когда бы и по какому бы ещё поводу я это узнал, ума не приложу). Что означает – «стелькогенератор» потенциально может «выдавать» максимальные 140 микроампер при 300 вольтах, а это уже где-то почти 42 милливатта. Даже при учёте возможных потерь в накопителе-преобразователе этой энергии в пригодный для питания электроники уровень напряжений (скажем, близкий к практически реализуемому КПД 70%), получается очень пристойная цифра, например, для питания периодически активируемого радиоканала вроде 802.15.4. И ещё кучи всякого крайне полезного. Что уж с этим делать дальше – вопрос к специалистам в области маркетинга и творческим личностям, для потребителя «умной обуви» (или просто хорошей обуви с «умными стельками») это означает дополнительные потребительские качества при не таком, чтобы взрывном росте стоимости (ничего аэрокосмического здесь нет).
Я специально уделил предыдущей статье достаточно внимания, чтобы стало понятно, какие неожиданные вещи начинают проникать в IT с расширением областей применения. IT ведь разные бывают.

Для разрядки после всех этих химических названий и цифр – не обратив внимания на авторов статьи, дочитал её до конца, открыл страницу с перечнем поделившихся со мной и вами знаниями исследователей, и сразу вспомнил нетленные кадры фильма «Даунхаус» и замечательную историю:

«Ох, Китай — это прямо дичь какая то! В мою молодость цыгане на рынке продавали китайские ковры, их домой приносишь, вешаешь на стену. Днём вроде ничего, а ночью ковер зелёным начинал искриться и на нём портрет Мао Цзэдуна в гробу появлялся. Такие вот традиции!»

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

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

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

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

Здесь и вовсе никаких сложных химических веществ с промежуточной обработкой не используется, всё это можно купить, не отходя от компьютера – тефлоновая плёнка, металлизированная полиэфирная плёнка, обычная бумага и изолятор между двумя электродами, самоклеящаяся лента толщиной 5 мм. Взаимодействие при трении этих материалов порождает высоковольтные импульсы разных полярностей даже просто при касаниях к такому «бутерброду», причём цифры уже куда большие, чем в «стелькогенераторах», здесь размах напряжений достигает почти двух киловольт (вспомните, почему вы так не любите синтетическую одежду, которая делается в основном из полиэфирных волокон). А сама бутербродная конструкция "трибоэлектрической кнопки" скорее напоминает школьные уроки труда, чем, опять же, хайтек, которым она является:

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

В итоге получается целый перечень очень интересных конструкций, которые потенциально объединяют преобразователь механических процессов и в питание для электроники, и в управляющую информацию для неё же, например, реально вращающийся слайдер (управляющий элемент, некогда сделанный знаменитым благодаря Apple iPod), который потребляет энергию только когда пользователь его «вертит»:

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

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

Технологичность тут – ключевой термин, поэтому всё было выбрано не просто так, не по «наитию». Дело в том, что прочие механизмы генерации микроэнергии как бы «походя», пригодные для её «сбора», от реальной технологичности очень далеки.

Электромеханические преобразователи – сложные, достаточно большие, требуют специфических конструктивов (что, впрочем, не мешает их использовать, есть целый всемирный альянс Enocean, объединяющий производителей и разработчиков «собирающих энергию» устройств для «умных зданий» и домов). Пьезоэлектрические -  весьма хрупки, что увеличивает требования к ним. Фотоэлектрические требуют света и приличных площадей для установки фотоэлементов. Термальные и пироэлектрические – этим нужны приличные перепады температуры. В общем, всё это довольно специфическое. И, похоже, пока только трибоэлектрические и трибоэлектронные конструкции претендуют на роль массовых в пользовательских применениях. Например, в «умной одежде» и обуви. А без массового рынка никакая милая идея, что очевидно, не станет технологией.

Забавно, что поиск по весьма специфическому словосочетанию «triboelectric energy harvesting» даёт около 10 тысяч результатов, и слишком многие из них ссылаются на работы 2012-2013 годов, то есть, это не hype, но и далеко не забвение, скорее, возникновение и нарастание устойчивого интереса.

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

"Стелькогенераторы", бумажная книга 2.0, трибоэлектронные интерфейсы вместе с источником питания

Учитывая тот факт, что механизмы преобразования собранной энергии от подобных (и прочих) очень специфических генераторов весьма сложны и сами по себе являются образчиками специализированных вычислительных систем реального времени (например, модули компании Advanced Linear Devices, которые умеют только "собирать" микродозы энергии и при этом программируются независимо от прочих устройств), мы, похоже, наблюдаем формирование новой отрасли IT, образованной на стыке сверхмикропотребляющих вычислителей и традиционных доступных синтетических материалов.

Откланиваюсь.

Тихая революция в Android, сплошной позитив и даже благодарности

Версия Android 4.4, мило названная для уха украинца (котик-палач, Kit-Kat) ещё вроде как не добралась до наших широт стандартными механизмами обновлений Google, но я не удержался и буквально в первый день появления полной заводской "прошивки" обновил Nexus 7 "с чистого листа", очень уж хотелось посмотреть и попробовать кой-какие спрятанные от пользователя вещи. Потому как тихо-тихо, а разработчики Google готовят весьма серьёзные системные изменения, и вынуждены делать это фактически в тех же условиях, в которых сравнительно медленно развивалось системное ПО "пользовательского класса", вот только сроки теперь совершенно несопоставимые, они сжаты до предела, что превращает историю развития Android в крайне интересное действо, мы как будто смотрим всё то же самое, только на ускоренной перемотке. И тут надо бы кое-что  объяснить даже самому себе.

Давайте попробуем вспомнить за сколько лет потребительский персональный компьютер доводился промышленностью до уровня массово доступной многопроцессорной машины с тактовой частотой процессорных ядер в диапазоне от 1 GHz до 2 GHz и с объёмами памяти порядка нескольких гигабайтов?

Всё началось в августе 1981 года, когда был запущен первый IBM PC, с забавным процессором i8088 (восьмибитовым "снаружи", 16-битовым внутри, микросхемы тогда были дорогим удовольствием, производство печатных плат - тоже, и в IBM и приняли правильное архитектурное решение для снижения цены массового производства) с тактовой частотой чуть большей 4MHz. В 1984 году появился i80286, не сделавший погоды в смысле архитектуры, но ставший лет на 10 "рабочей лошадкой", ввозившей то, что мы сегодня называем Wintel, в явление планетарного масштаба. Через год, в 1985ом, в Intel создали 80386, первый полноценный 32-битовый процессор, но первые потребительского класса машины с ним появились почти через год, в 1986-ом. До первой половины 1990-х ничего существенного не происходило (появился последний промежуточный i486), и вот в 1993 году в Intel довели до потребительской пригодности первый Pentium c тактовой частотой 66 MHz. И так оно тянулось до 1999 года, когда первый коммерческий Intel Pentium III Coppermine взял планку тактовой частоты 1 GHz. До массовой доступности таких по тем временам рекордсменов было ещё далеко, и опять наступило затишье, до 2005 года, когда сразу и AMD, и Intel выдали на рынок коммерческие двухъядерные процессоры. То есть, где-то к 2006 году в мире "немобильных потребительских вычислений" за 25 лет наступил период "доступных гигагерц и многопроцессорности". Доступные гигабайты памяти "подтянулись" чуть позже, добавим ещё годик-два для убедительности. Итого, вся история длилась примерно лет 27, а то и все 30.

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

С одной стороны, такая скорость развития позволила какое-то время вообще не говорить о системном ПО, и его развитие было больше "потребительским причёсыванием", быстрое появление доступных более мощных вычислителей компенсировало многое на невидимом потребителю системном уровне. И тут случилось нечто. ARM-мир, кажется, достиг точки насыщения, примерно той же, которой в своё время достиг мир x86, уткнувшись в Pentium IV. Типовая 4-ядерная система на чипе, часто - с дополнительным пятым вычислительным ядром DSP (цифрового сигнального процессора) и с тактовой частотой порядка 1,5 GHz. Это норма сегодняшнего дня, и... и прыжков никаких явно не ожидается. Увеличение числа ядер особой погоды явно не сделает (потому и никому особо не нужно, разве что для маркетинговых штучек), тактовую частоту особо не поднять, потому что всё мобильное - с батарейным питанием, а источники питания развиваются по своим законам и очень-очень медленно. И, кажется, наступает переломный момент, когда пора всерьёз браться за системное ПО. Как на это явное реагируют разработчики Apple - то неизвестно, но, судя по степенному развитию iOS от версии к версии в основном на пользовательском уровне, вполне может быть, что или никак вообще, или готовят что-то очень секретное, чтобы не спугнуть восторженную публику, все восторженные очень пугливые. Потому даже слухов не бродит. Разработчики Google тоже не особо афишируют системные изменения, но и тайны из них не делают. Что уже не может не радовать.

И на пути системных изменений Android 4.4 Kit-Kat, кажется, является первым серьёзным шагом. Потому что в этой версии системы впервые "подтянута" до актуального уровня совместимость основного технологического инструмента - Java, - до актуального состояния "большой Java", то есть, до совместимости с Java 7, и впервые мало что введена в состав пользовательской ОС "новая" версия Java-машины, но и дана возможность её использовать. Часть Java 7 совместимости мы отбросим (программисты разберутся сами), а вот что касается потенциального заменителя машины Dalvik, - это уже очень интересно. И даже в каком-то смысле показательно. Не так часто мы можем "подсмотреть" что-то красивое и одновременно более-менее понятное даже неспециалистам, что происходит на системном уровне привычного повседневного ПО. 

Итак, в своё время создатели ОС Android приняли исключительно смелое, даже дерзкое, решение. Логика, подчинённая сиюминутности, как бы убеждала, что на основе ОС Linux и моря кода пользовательского уровня для неё можно быстро "слепить" пользовательскую систему и - profit! По этому пути пытались (и пытаются) идти уже не одна компания самых разных масштабов, и где этот поезд до сих пор, мы все знаем без лишних слов. Кто мог поверить, что полная виртуализация пользовательского уровня для систем ограниченной производительности с батарейным питанием, ещё и разделяемым с "прожорливыми" по своей сути каналами беспроводной связи, окажется стратегически правильным решением? Мало кто. А практика показала, что всё было правильно. И даже оказалось ещё правильнее, потому что в том числе и являющийся основой системы нетрадиционный для Java регистровый (а не стековый) интерпретатор и JIT-компилятор Dalvik обеспечил Android то положение, которое система занимает сейчас. Да, нервные граждане бились и будут биться в истериках, высматривая в Android дефекты "плавности прокрутки" и прочих "блошек", пользователям же как бы это безразлично. Система делает что должна делать, приложения для неё есть, и они хороши - всё. Остальное - продукт "оттачивания" и "вылизывания", и этого неизбежно добиваются независимо от системной архитектуры. Вот только не я один вижу, что в ARM-мире наступает затишье, былых скоростей развития уже не будет, и на экстенсивный рост показателей "железа" уже рассчитывать нельзя. И вот в этот переломный момент как раз и можно оценить красоту изначально заложенного в Android "нелогичного" архитектурного решения.

Kit-Kat предлагает пока в "скрытом" от пользователей меню разработчика выбор между двумя вариантами ключевого системного компонента - виртуальной машины Java, которой и "крутится" весь пользовательский уровень. К привычной невидимой Dalvik теперь добавился ART - Android RunTime. И это уже не виртуальная машина с JIT. Это "компилятор перед исполнением", ahead-on-time, полностью исключающий возможность сосуществования во время исполнения программ промежуточного байт-кода виртуальной машины и "родного" кода платформы, что характерно для JIT-систем (в них исполняется и то, и другое). ART транслирует приложения в машинный код физического вычислителя фактически при их инсталляции. И делает это один раз за всё время жизненного цикла  приложения на конкретном вычислителе. Дальше, после трансляции, приложение существует в бинарном виде и представлено "родной" системой команд конкретного целевого процессора.

У появления и начала становления ART в Android есть несколько косвенных особенностей. Во-первых, что очевидно, исполнение полноценного бинарного приложения всегда быстрее, чем виртуализированного. Во-вторых, ускорение не бывает "за  бесплатно", и полноценный машинный код не менее очевидно занимает больший объём, чем компактное его промежуточное представление для высокоуровневого виртуального вычислителя. То есть, это стратегическая игра. С одной стороны, всё будет быстрее, с другой - на это "быстрее" потребуется одновременно больше долговременной памяти, но на фоне снижения требований к объёмам оперативной памяти. Последнее не менее очевидно, чем и всё предыдущее - виртуализация неизбежно увеличивает требования к объёму оперативной памяти. Забавная стратегическая игра получается, особенно при учёте требований рынка, постоянно снижающих верхнее положение ценовой планки, выше которой готовы прыгать только совсем уж "восторженные поклонники гаджетов", популяция которых почему-то не растёт. А снижение верхней планки цены никак не может не сказаться на технических требованиях к устройствам. Но, если подумать, в этой стратегической игре ART формирует весьма привлекательный путь. Увеличение объёмов машинного кода трудно назвать "взрывным" (максимум на 30% по сравнению с кодом виртуальной машины), что при стоимости  флеш-памяти и реальной переоцененной востребованности её больших объёмов (а вот это реально - мало кто "забивает под завязку" свои телефоны и планшеты, разве что совсем уж странные личности) погоды не делает. А вот уменьшенный расход оперативной  памяти при увеличении скорости исполнения кода - это очень хорошо. Потому что выгодно всем. И производителям, и потребителям.

Я попробовал ART "на себе". Следует сразу предупредить любителей побегать перед паровозом - не спешите. ART пока находится в стадии "опытной эксплуатации", так что всяких "весёлостей" вам будет, не сомневайтесь. Но, между тем, даже такие монстроидальные по меркам Android приложения, как клиент Google+, довольно приемлемы в своих ART-версиях (куда хуже обстоит дело со всякими вычурными системными утилитами) и действительно очень быстрые. Ну и самое существенное "но" - если в режим ART переводить устройство, "напичканное" прикладными программами, вынужденная "компиляция всего" будет долгой. Такие существенные изменения системного уровня безболезненными не бывают. В обычном режиме установки приложений ART особо не проявляется, ну да, большие программы устанавливаются дольше, чем привычно, но это совершенно не смертельно. А компиляция - процесс хорошо изученный и, думаю, в Google разработчики знают своё дело, так что скорость ahead-on-time компиляции неизбежно будет доведена до почти теоретического предела.

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

У системных изменений Android есть ещё одна, совершенно латентная, сторона. Об этом пока никто ничего не говорил. А зря. И очень жаль. Если считать ОС Android одной из представительниц неисчислимых дистрибутивов Linux (что возможно в той же мере, в какой возможно так не считать), ART показывает ещё один путь развития дистрибьюции ПО, который Linux-миру опять не доступен. Распространение ПО (хоть бы open source) в промежуточном представлении, с локальной "докомпиляцией" пользователями - это теперь, оказывается, ещё один способ, и он фактически "обкатывается" таким гигантом дистрибьюции ПО, как Google. Это очень интересная "система", с подобными мы ещё не сталкивались. Если добавить к ней новые модные и крайне разумные "контейнерные" способы поставки ПО (а они набирают популярность из-за необходимости развёртывания, например, ПО датацентров), получаем феномен. "Докомпиляция" одновременно расширяет кросс-платформенность и снижает сложность необходимых "докомпиляторов" (извините за выдумывание новояза на ходу, надеюсь, он понятен) - всё-таки, байт-код виртуальной машины много проще синтаксически и чище семантически, чем высокоуровневый язык программирования, следовательно, можно меньшей кровью разработчиков системного ПО добиться лучшего качества скомпилированного кода. "Контейнерная" поставка ПО или вообще поставка самодостаточного ПО (пример - языковая среда Go из мира той же Google) значительно снижает сложность отслеживания зависимостей или вообще исключает "ад динамических библиотек" (dll hell), потому что никаких динамических библиотек может вообще не быть, и программы поставляются в завершенном, пригодном к исполнению без зависимостей, виде.

Так что, если говорить о процедурах, которые принято называть software deployment, мы, кажется, становимся свидетелями маленькой такой тихой революции. Которая на деле исключительно значима. До появления централизованных "рынков программ" и "товарного изобилия" на них, эта область не была слишком уж значимой и потому никаких взрывных событий в ней и не ожидалось. И модель Google по небольшому рассуждению кажется очень привлекательной - хотя бы потому, что она не требует необходимости поддержания нескольких бинарных представлений, для каждой целевой платформы - своих. И такая модель сейчас возможна только для Google, изначально грамотно выбравшей "неправильную" архитектуру пользовательской ОС. Так что Android-мир всерьёз готовится главным идеологом системы к совершенствованию кросс-платформенности, которая в нём и так присутствует - как минимум ARM, x86 и MIPS.

Что же касается Kit-Kat на пользовательском уровне... Для чистоты эксперимента я дополнил систему "родной" пользовательской оболочкой (лончером), которая пока официально доступна только владельцам смартфонов Nexus 5.

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

Это так, навскидку. В остальном Kit-Kat никаких взрывов на пользовательском уровне не творит (разве что кому-то революция и прозрачный status-bar, доступный пока только в "родном" лончере и в бета-версии альтернативной Nova Louncher). Радует, что злополучная (но замеченная не так чтобы многими) ошибка системного буфера  обмена (Issue 58043) устранена.

Незначительным косметическим изменениям в системе я вообще не уделю внимания, и вместо многословного описания окрасивленных иконок и большей визуальной целостности интерфейса скажу вот что куда более интересное. При каждом обновлении Android я предпочитаю установку "с нуля", то есть, после полного "заводского сброса" и из заводского же полного "образа" системы. Предварительно, естественно, сохраняю список установленных ранее программ утилитой My App List, позволяющей отправить самому себе электронной почтой перечень установленного, ещё и со ссылками на Google Play, чтобы потом не мучить себя воспоминаниями. И списки программ перед каждым обновлением системы у меня хранятся в почте. Вчера я решил на них посмотреть, на все эти "накопления". И вот что получилось в итоге - с каждым обновлением системы (а эта история длится с Android 2.3, по-моему) я использую всё меньше сторонних программ. Я не игроман, больше того, антиигроман (ну скучно мне, я не виноват). Что же касается прикладных программ, то картина складывается точно такая же, какая наблюдалась с развитием ОС Windows после достижения ею пристойного уровня (это Windows 2000, конечно же) - с каждой новой версией ОС потребность в десятках всяких мелких утилит, устраняющих те или иные недостатки системы, непрерывно снижалась. Только в  Android-мире всё это происходит очень быстро. И очень заметно - чуть ли не каждый значимый релиз системы делает лишними какие-то утилиты, ранее бывшие не то, чтобы необходимыми, но полезными. Это может означать что угодно (потому что это очень субъективно, я не пытаюсь говорить за всю "Android публику"), в том числе и то, что система незаметно активно совершенствуется. Что я лично, как потребитель, категорически приветствую.

Вместо завершения хочу сделать реверанс нашим киевским разработчикам из Obreey Products. И сказать спасибо за PocketBook Reader. Наконец-то в деле построения "читалок" видно движение в направлении здравого смысла. Особенно в понимании и поддержке очевидного - при чтении с быстрого планшета хорошо видимая (то есть, сравнительно большая, чтобы можно было прочитать название) обложка книги куда информативнее, чем страшная и не очень понятная пользователю "метаинформация", в которой ещё и надо копошиться. PocketBook Reader - первая на моей памяти "читалка", в которой обложки книг после сканирования файловой системы наконец-то отображаются в "журнальном стиле", а не микроскопическими иконками с именами файлов. Казалось бы, такая мелочь. А наколько с ней приятнее, особенно если таскаешь с собой библиотеку в несколько сотен книг. И очень приятно, что разработчики читают форумы, где им пишут пользователи, и реагируют. Так что молодцы, спасибо им.

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

Сложное (и только ли для программистов?) продолжение истории с firmware Toyota, и пара слов о полезном "в быту"

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

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

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

Во-первых, нам известен вычислитель, из-за программ для которого всё и случилось. Соберём в кучку всё известное. Итак, Renesas V850. 32-битовое процессорное ядро этого вычислителя – уникальная разработка NEC, не имеющая аналогов, в 2008 году V850 были самыми продаваемыми 32-битовыми встраиваемыми вычислителями в мире. Уникальность процессорного ядра – важный нюанс. Он означает, что производитель реальных микросхем такой архитектуры на рынке – всего один (был NEC, теперь Renesas). А факт наличия всего одного производителя не может не сказаться на инструментальной поддержке для программистов. Даже несмотря на популярность. Мир встраиваемых систем сильно отличается от мира «потребительского железа», здесь свои правила и риски. И, если внимательно посмотреть на ситуацию с инструментальным ПО, для V850 фактически выпускают всего две системы разработки промышленного качества знаменитая компания IAR и не менее знаменитая Green Hills. Есть ещё набор инструментов GNU, но мы о нём даже не будем говорить, автомобильная промышленность предусматривает свои сертификации, требования и т.д. У обоих производителей соответствуют требованиям автомобильной промышленности (MISRA) только C-компиляторы. Стало быть, сразу вычеркнем C++ (вообще, это отдельный предмет разговора, C++ и встраиваемые системы), и, несмотря на собственные внутренние стандарты Toyota, будем смело утверждать, что злополучное firmware написано на подмножестве C с «ограничителями», составленными из требований MISRA и собственных внутренних требований Toyota. Это ещё не всё. Из открытой информации о «деле Toyota» мы знаем, что firmware разработано для некоторой неизвестной операционной системы реального времени (RTOS). А из простой логики подчинения всего рациональным соображениям мы можем прийти к следующему заключению – маловероятно, что в Toyota для собственных нужд занимались разработкой собственной RTOS и её сертификацией (там объёмная пачка сертификатов). Крайне маловероятно. Производителю такого масштаба и такой интенсивности всех производственных процессов просто чудовищно накладно заниматься системным программированием, да ещё и для всяких (какие есть и скоро будут на рынке) архитектур. Это соображение косвенно подтверждается фактом наличия в модуле ECU второго контроллера с «прошивкой» вообще от стороннего производителя. Также крайне маловероятно, что в Toyota выбрали путь «повышенного сопротивления» - использование RTOS от одного производителя, а инструментального набора – от другого. Любой вменяемый руководитель проекта или программист прекрасно знает, чем оборачивается такое удовольствие. Да и при масштабах выпуска автомобилей (и, соответственно, потребления лицензированного системного ПО для моря контроллеров в них, ECU ведь далеко не единственный насыщенный вычислительным модуль в современном автомобиле, их там несколько десятков) начинает играть ключевую роль фактор объёмов, из которых следуют очень специальные скидки и прочие «пряники». В том числе и поэтому любой масштабный производитель стремится уменьшить число поставщиков (а ведь ещё есть логистика…). Складывая всё воедино, с высокой степенью вероятности можно прийти к выводу, что в ECU использовано ПО Green Hills (IAR де-факто не поставляет RTOS, только пакеты совместимости с системами сторонних производителей), потому что из двух упомянутых компаний именно Green Hills предлагает всё нужное от одного поставщика, ещё и жестоко сертифицированное (заявлено подтверждённое соответствие ISO 26262 (ASIL D), IEC 61508 (SIL 4) и EN 50128 (SWSIL 4), и т.д.).

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

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

Хорошо, что-то мы уже реконструировали с очень высокой степень доверительности. И с самого начала отбросили часть откровенной чуши. Но чуши так много, что надо бы ещё кой-чего «подчистить». Мы даже не можем догадываться как организованы процессы разработки встраиваемого ПО в Toyota, но мы чётко можем сказать чем они не являются. Никаких agile процессов, конечно же, в помине там нет. Даже не считаясь с критичностью приложений, просто потому, что системные и функциональные требования находятся полностью в ведомстве производителя. Ну и потому, что стиль «доделаем и переделаем в ходе эксплуатации» совершенно невозможен. Скорее всего, речь идёт о классическом строгом и жёстком проектном процессе с детальным проектированием, обязательным моделированием, суровым многоэтапным тестированием и документированием, и всем прочим, почему-то объявленным сейчас очень нехорошим и не соответствующим требованиям реальности (не «почему-то», конечно, а из-за размеров хора, «поющего» со сцены web-программирования, они так громко и нестройно орут, что с других сцен и из оркестровых ям никого уже и не слышно). Это как бы и не надо было расписывать, но, оказывается, если судить по интернет-обсуждениям, в которых участвуют программисты всяких мастей и специальностей, очевидное для слишком многих оказывается невероятным. И, само собой, занимаются всем этим далеко не «студенты», а узко специализированные профессионалы, прекрасно знающие своё дело. В конце-то концов, машины с таким ECU с такой странной «прошивкой» в основной своей массе ездили и ездят, несмотря на совершенно несуразную цифру - 11 тысяч глобальных переменных в программе жёсткого реального времени.

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

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

Загадочность очевидна – как могло так случиться, что при всём вышесказанном возникли такие вопиющие несуразности, которые косвенно следуют из всего одной цифры. 11 тысяч. Любой программист, даже не имеющий понятия о realtime-системах, прекрасно понимает, что каждая глобальная переменная – источник потенциальных проблем, потому что её состояние доступно из всего кода, она в поле видимости всего, и даже тщательное косвенное обеспечение атомарности операций с такой переменной не гарантирует невозможности возникновения каких-то нюансов при непрерывном и длительном исполнении программы. Как и тестирование в таком случае ничего не гарантирует, только иллюстрирует работоспособность в пределах тестов.
В общем, вся эта история не давала мне покоя, и я пытался много думать :)  и копошился в интернете, выискивая что-нибудь, проясняющее картину. При этом мне хорошо понятно, что часть кода ECU была сгенерирована из высокоуровневых моделей, а не «написана руками», и что это может объяснять изобилие глобальных переменных – генераторы кода вроде как гарантируют всё, что нужно гарантировать в таком случае. Но мне также понятно, что в реальной разработке «сгенерировать всё» из высокоуровневой модели практически невозможно (просто потому, что степень детализации высокоуровневой модели в таком случае будет равна степени детализации конечной программы, и даже существенно выше, с учётом требований реальности), и что чаще всего высокоуровневые модели применяются для разработки очень уж хитрых и вычурных контуров управления, цифровых фильтров и прочего, у чего «непрограммистские» показатели (передаточные функции, например) куда важнее сугубо «программистской» составляющей. В общем, сложилась почти патовая ситуация – феномен, которого не может быть, но он есть.

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

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

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

В общем, тестирование встраиваемых систем, ещё и критических в смысле надёжности всего в целом, в куда они встроены, – ещё тот кошмар.

И, оказывается, в нём применяются те же методы, что и в прочих тестированиях. Например, юнит-тесты (не буду пояснять терминов, значения которых можно посмотреть).

И вот тут начинается очень и очень интересное. Дальше будет несколько специфическое для непрограммистов, я постараюсь объяснить «на пальцах», чтобы было внятно всем. Мало ли. Вдруг оно кому пригодится.

Основной язык программирования встраиваемых систем – C. Великий и ужасный. Даже и не совсем язык высокого уровня, и не совсем ассемблер, сейчас уже трудно сказать что он такое, он – C. В этом языке де-юре нет явных средств для высокоуровневой организации кода – модулей, например. Де-факто модули в нём имитируются использованием отдельных файлов исходных текстов, в которых полноценная инкапсуляция имитируется особенностями семантики модификатора static. Переменные и функции, находящиеся в одном файле исходного текста и отмеченные этим модификатором, принципиально не доступны и не видны прочему коду, находящемуся в других файлах исходных текстов. К тому же у этого модификатора есть несколько приятных побочных действий, очень хорошо подходящих реальности встраиваемых систем, в которых ресурсы оперативной памяти крайне ограничены, функциональность также ограничена, и фокусов с динамическим выделением памяти или с повторным использованием ячеек памяти вообще во большинстве случаев лучше избегать – static-переменные остаются «на своих местах и со своим содержанием» независимо от текущей области видимости в потоке исполнения (что значит – их не надо сохранять в стеке, а стек – ресурс очень дорогой и потенциально опасный). В общем, static-переменные в embedded C-программировании – это совершенно необходимая штука, без которой нормально ничего не получается.

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

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

Кажется, это ещё один парадокс, которых и без того много в области тестирования критического ПО. Модное и трудное в требовании полного изменения ментальности TDD-проектирование (Test Driven Development) во встраиваемых системах усложняется требованием проведения тестов на «реальном железе», из которого совершенно непонятно как в общем случае «вынимать» результаты тестов. Юнит-тестирование приводит к деформации модульной структуры кода.

Очень интересная область, в которой, в силу потенциальных угроз, с ростом популярности Internet of Things, кажется, назревает серьёзный кризис. Который может быть разрешён, по моему скромному мнению, только введением стандартной аппаратной поддержки тестирования встраиваемого ПО в первую очередь в архитектуры микроконтроллеров. Существующий стандарт, в той или иной мере поддерживаемый в разных микроконтроллерах, JTAG, ориентирован больше на тестирование аппаратных средств. Речь же идёт о другом – о механизмах поддержки высокоуровневого тестирования встраиваемого ПО. Сейчас они ограничиваются поддержкой процедур отладки кода – точками останова и просмотром состояния регистров. Но это не совсем то, а иногда и совсем не то.

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

Стало быть, кто там у нас занимается вычислительными архитектурами (аспиранты, учёные)? Вот вам такое свято место, которое, как ни странно, оказалось практически пустым. Тем более, что в embedded мире никто не гонится за сверхмощными вычурно оптимизирующими поток исполнения команд архитектурами – здесь, напротив, реально нужна архитектурная простота (и потому что инструментальные средства надо разрабатывать, и потому что для задач реального времени нужна в том числе тотальная временная предсказуемость исполнения кода), малая площадь кристалла, низкое энергопотребление и пригодность архитектуры одновременно для решения задач реального времени и поддержки тестирования встраиваемого ПО (чего никто пока не сделал и даже не вносил в перечень требований). Очень даже замечательная область для приложения усилий, куда более благодатная, чем вечнозелёные попытки побить грандов большого процессоростроения на поле сверхвысокой производительности (я ещё не забыл смешную историю с «Эльбрусом», например).

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

Теперь о более приземлённом. Без лишнего. Отыскал замечательную программу, написанную нашими ребятами из Хмельницкого Национального Университета. JMCAD. Это Java-приложение, объединяющее в себе интерактивный конструктор высокоуровневой модели какой-либо системы (моделирование действительно очень высокого уровня, без «привязки» к конкретной прикладной области), скрытые механизмы построения вычисляемой модели, а также собственно её решения и визуализации результатов. Для быстрой проверки гипотез, как «системный калькулятор» в добавку к математическим пакетам, записной книжке и учебнику по чему-нибудь инженерному или даже бизнес-ориентированному (например, для временного интерактивного моделирования технологических процессов), и вообще как очень забавная игрушка (почему нет?, кто запрещает?) – совершенно замечательная программа.

Авторы – большие молодцы, спасибо им персональное.

Откланиваюсь.

Неправильный wearable компьютер гуманизма и антигуманный, но правильный патент Apple

Пока стало совсем непонятно что и когда случится с Google Glass, пока в wearable гонку тихо включилась Microsoft (да, в Microsoft давно работают с wearable технологиями, разве что особого шума об этом нет), пока всё это куда-то идёт, неправильный израильский стартап OrCam, основанный академическими учёными, уже поставляет свою неправильную wearable машину для чётко определённой категории пользователей.

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

При этом проект сравнительно молод – если судить по персональному академическому сайту основателя OrCam Амнона Шашуа, всё началось в августе 2010 года.

К слову, об Амноне Шашуа. Профессор computer science Университета Тель-Авива в серьёзном бизнесе на основе серьёзных научных разработок человек опытный – он является одним из основателей компании Mobileye, разработавшей, производящей и поставляющей системы машинного зрения для предотвращения автомобильных аварий, этими системами уже штатно оснащены более миллиона автомобилей ведущих автопроизводителей. Причём автомобильные системы Mobileye тоже неправильные – их алгоритмика позволяет использовать всего одну камеру, а не традиционную стереоскопическую систему. Так что с неправильностью здесь всё очень непросто. Неправильность же wearable компьютера OrCam…

Машина от OrCam создана для людей слабо или вовсе не зрячих. И вот вам первое же удивляющее – разработчики очень ответственно отнеслись к выбору потенциальными пользователями… очков. Да, в отличие от более традиционных wearable, этот аппарат конкретной модели очков не навязывает. Один из двух его блоков – крепящийся к дужке очков модуль с микрокамерой и излучателем звука, использующим костную проводимость (bone conduction), что означает – ухо уставать от всяких «накладок» или «вставок» не должно.

Неправильный wearable компьютер гуманизма и антигуманный, но правильный патент Apple

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

Аппаратно OrCam представляет собой встраиваемую систему, основанную на SoC Freescale’s i.MX 6Quad (четыре ядра ARM Cortex-A9 с тактовой частотой 1,2 GHz). Это, грубо говоря, всего «в два раза больше», чем в Google Glass (где используется 2-ядерный Cortex-A9).

Учитывая важность такого wearable компьютера для его носителя, а также явную очень высокую сложность и ресурсоёмкость алгоритмов выделения объектов и их распознавания, разработчики OrCam не пытались «утрамбовать» всё в одни очки и не стали вводить локальные беспроводные интерфейсы между узлами машины, обошлись традиционным кабелем. К слову, это решение не кажется неразумным и для wearable компьютеров общего назначения, не совсем понятно даже, почему о нём забыли.

Теперь собственно о функциональности OrCam. Эта система рассказывает носителю синтезированным голосом о том, что из распознаваемого ею находится в поле её зрения или что находится в направлении, указанному носителем рукой. Система умеет распознавать и озвучивать тексты, этикетки, дорожные знаки, светофоры и их состояния, символику брендов, цвета и прочее, в общем, очень многое из того, без чего жизнь человека с ограниченными возможностями становится очень тяжёлой.

Алгоритмическая основа системы распознавания OrCam не является чем-то секретным, описание алгоритма ShareBoost (классификатора с самообучением и почти линейной зависимостью числа достаточных признаков от числа классов) доступно всем желающим. Очень забавно читать такие описания людям моего поколения и старше, кто в былые времена имел отношение к задачам распознавания образов (что автоматически означает – к оборонной промышленности). Это была неувядающая тема, ничего в итоге, кроме моря исписанной на диссертации бумаги, не породившая. Алгоритм ShareBoost не такой уж и страшный, но очевидно весьма ресурсоёмкий, особенно для реализаций, работающих в режиме реального времени. И, если судить по заявлениям компании OrCam и по рекламному видео, со своей задачей разработчики справились.

В общем, как бы подводя итоги краткому описанию OrCam, могу только сказать тоже нечто неправильное, чтобы не выбиваться из общей «неправильной» канвы – я сильно сомневаюсь в целесообразности wearable-довесок к смартфонам во всех их нынешних ипостасях. Совершенно не понимаю, как будут разрешаться всевозможные крайне непростые этические проблемы, с которыми ещё никто не сталкивался и не столкнётся до массового применения подобных устройств. Не могу понять смысл вибрирующих на запястье «умных часов», если всё равно смартфон вибрирует в кармане, ответить на звонок можно и с помощью Bluetooth-гарнитуры, а любые активные «смартфонные» действия требуют самого смартфона, и, что характерно, требуют от смартфона большой площади экрана, что подтверждается популярностью «смартфонов-лопат». Кроме того, с сугубо технической точки зрения в 2013 году все эти довески не вносят ни капли разнообразия в унылый пресыщенный пейзаж  потребительской электроники. А вот OrCam мне очень нравится. Это действительно wearable-компьютер. Настоящий. У него, безусловно, есть возможности для совершенствования. В том числе и в использовании традиционных масштабных технологий, например, никто не запрещает упростить задачу распознавания в «уличном» (outdoor) режиме определением координат носителя и использованием готовых онлайн геолокационных баз данных. Это уже совсем просто. И мне очень нравится, что разработчики OrCam начали с решения самой сложной задачи, какой до них никто не решал, и оставили все эти очевидные погремушки («для кикстартера») на будущее. И очень нравится целевое назначение этой разработки. Потому что в мире примерно 350 млн человек реально нуждаются в такой системе. В общем, могу только пожелать OrCam реализовать основные ближайшие планы – успешно перенести производство в Китай (сейчас эти машины производятся в Израиле), снизить стоимость и довести до завершения систему взаимодействия с медицинским страхованием разных стран. И пусть эта одна из самых красивых и талантливых во всех смыслах разработок последних нескольких лет служит людям.

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

Итак, совсем свежеиспечённый патент US 8,577,392. «Система и метод определения положения беспроводного коммуникационного устройства (его владельца) для управления (настройки) работой устройств на основе географического положения». Само название уже подкупает новизной. Не буду вдаваться в содержание патента, это за меня уже сделали на сайте AppleInsider. Только хочу предупредить разработчиков всяких smart home (знаю, что они у нас есть) – наступают тёмные времена. Потому что этот патент де-факто устанавливает право интеллектуальной собственности Apple на всё, что было известно и используется в тысячах разработок в этой области. Больше того. Всевозможные варианты очевидного самостоятельного использования давно известных и с огромной пользовательской базой утилит (например, в мире Android – Tasker и прочие "автоматы", которых наваяли в количестве) в сочетании с модифицированными «прошивками» WiFi-роутеров, которые доведены уже до уровня «просто повтори», новым патентом Apple превращаются в нелегальные практики.

Я бы ничего и не сказал об этом патенте, если бы он не был таким плохим. Понимаете, защита патентом «интеллектуальной собственности» на параллелепипед с фасками в качестве корпуса вычислителя – это и смешно, и в области битв гигантов, где свои правила и методы. А вот такой патент действует как огнемёт, выжигая давным-давно «окученную» область, где работают тысячи маленьких компаний по всему миру. Потому что если вы посмотрите на «представляющие новизну» блок-схемы, вы поймёте, что никак иначе зафиксированного в ней общеизвестного, вообще ничего сделать нельзя:

Неправильный wearable компьютер гуманизма и антигуманный, но правильный патент Apple

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

Откланиваюсь.

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Всё было тихо-тихо, мило-мило, игрались в мобильные платформочки, собирали сливки потребительского рынка, и тут что-то случилось. И вот уже без всяких изображений аналитических потуг и бросания (на камеру) вдумчивого взгляда «эксперта» в будущее (у всех экспертов – непременно вдумчивые взгляды) можно смело говорить – привычный ландшафт мира Wintel всерьёз затянуло дымом. Что на самом деле происходит на фронтах – то неведомо, корреспонденты там пропадают, почта оттуда не доходит. И тут (то есть, – там, конечно) с 29 по 31 октября в Санта Кларе прошла конференция ARM TechCon 2013. Где было много интересного. Кое-что из-за дымов пробралось в наш специфический мир. Я это кое-что собрал в кучку, обдумал хорошенько, и вот делюсь результатами.

Так что, – здравствуйте.

Начнём с анонсов Calxeda – такого себе скромного на фоне Голиафов IT fabless-производителя масштаба Давида. И, похоже, такого же опасного.

Условно британской (по расположению штаб-квартиры) Calxeda всего ничего годков – компания основана в 2008-м. За прошедшие неполные пять лет без всяких государственных поддержек, без правительственных идей «прорыва в будущее» и выбивания площадей и госфинансирований в патриотических карго-макетах «Силиконовой долины» (обожаю это словосочетание), Calxeda как-то не особо заметно одно время «нашумела», потом вроде совсем ушла в тень. И там точно так же тихо и незаметно добралась до вполне осязаемых показателей – в 2013 году неожиданно оказалось, что на рынке серверов Calxeda уже более чем самостоятельное имя. Особенно после того, как признанные монстры массового и commodity, и вообще производства (HP, Gigabyte, Foxconn, Aaeon etc), все как один начали выпускать сервера и серверные компоненты, основанные на системах на чипе (SoC) от Calxeda.

Для иллюстрации - сервер как сервер, но на SoC Calxeda и производства Gigabyte:

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

А этот аппарат (Poseidon) на основе той же SoC уже от Aaeon:

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Ну и всем известная Foxconn, конечно:

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

 

Итак, на ARM TechCon 2013 Calxeda анонсировала новую серверную систему на чипе - ECX-2000. Весьма забавную конструкцию, надо сказать. Четыре ядра ARM Cortex A15, аппаратная поддержка виртуализации (причём даже указано каких именно гипервизоров – KVM и Xen), коммутатор Fleet Fabric (чуть позже о нём пару слов скажу), улучшенная по сравнению с предшественниками энергоэффективность и, наконец, то, что было существенным сдерживающим фактором в мире «серверных ARM» –   увеличенный максимальный объём оперативной памяти.

Начнём с последнего. Потому что это самое интересное. Казалось бы, ARM Cortex A15 создавались именно для устранения противного барьера в 4 GB RAM – процессоры этого семейства допускают расширенную 40-битовую адресацию физической памяти (естественно, с 32-битовым ограничением адресного пространства одного процесса). И выбранное разработчиками Calxeda (которых заподозрить в непрофессионализме может только полностью слабоумный профан) решение заставляет задуматься. Дело в том, что «выдавливать» максимум из возможностей ядра разработчики не решились и ограничили предел адресуемой физической памяти шестнадцатью гигабайтами, грубо говоря – по отдельному максимально допустимому физическому 4 GB «ломтю» на каждое ядро. В итоге получается и дёшево (ну что такое в 2013 году 16 GB, хоть бы и ECC?), и сердито, и совершенно логично. Тем более логично, что управление расширенной памятью в Cortex A15 «увязано» с механизмами аппаратной поддержки виртуализации (в A15 используется двухуровневая адресация страниц виртуальной памяти, в которой условно «верхний уровень» обслуживает таблицы страниц гостевых ОС и исполняющихся в них приложений, причём страницы памяти в этих таблицах – все ещё виртуальны, а «нижний», или в терминах A15 «промежуточный физический» – уже прерогатива гипервизора, его таблицы содержат отображения виртуальных страниц на физические).

Главное же характерно серверное в ECX-2000 – коммутатор Fleet Fabric. Это детище самой Calxeda, но не выдуманное с нуля – межсистемные соединения (линки) Fleet Fabric основаны на промышленном стандарте XAUI, что означает в том числе поддержку обмена как на основе низкоуровневых протоколов, так и TCP/IP. Самое же интересное – показатель задержек в Fleet Fabric. Потому что в мультипроцессорных машинах никто ещё не отменил действенности правила Амдала, и задержки остаются ключевым показателем и ограничителем возможностей многопроцессорных архитектур. Разработчики Fleet Fabric заявляют задержку 0,2 микросекунды на каждый хоп. Это в принципе полностью тождественно возможностям популярной (и все равно очень недешевой) коммутирующей технологии связи нод кластеров InfiniBand.  По пропускной способности (10 Gbps) Fleet Fabric проигрывает InfiniBand, причём вполне возможно, что этот проигрыш заложен умышленно на уровне требований, потому что процессорные ядра системы работают на не то чтобы чудовищных тактовых частотах (от 1,1 до 1,8 GHz). А, несмотря на все совершенства архитектур, тактовая частота всё равно остаётся одним из индикаторов производительности, и перегружать процессорные ядра несбалансированным с их возможностями потоками данных от коммутатора – это не есть правильно и разумно. Я как-то так думаю. Fleet Fabric позволяет соединять в древовидные структуры до 4096 нод кластера с оптимизацией топологии коммутаторов, а также обеспечивает сохранение порядка сообщений (что, само собой, существенно разгружает процессорные ядра и системное ПО). Желающие погрузиться глубже могут использовать патент Calxeda US 2012/0096211 (он фактически почти что статья), а также вообще тематическую часть патентного портфеля этой компании.

Ещё одно крайне забавное в ECX-2000 (и, наверное, отражающее тенденцию в ARM-мире) – отдельная интегрированная на том же кристалле двухядерная подсистема, предназначенная для в том числе и управления энергопотреблением.

Вообще, широкий диапазон масштабов доступных лицензиатам ARM архитектур неизбежно должен был привести к появлению таких кентавров, в которых мощный вычислитель сосуществует на одном кристалле с мелким и скромным (ядро ARM Cortex-M0 при показателях производительности на MHz тактовой частоты на уровне процессоров 486DX2 требует для реализации всего от 17 до 25 тысяч логических вентилей, что есть цифры крайне скромные), ориентированным на решение специфических задач.

В качестве примера здесь уместно использовать ещё одно явление из совсем другой части ARM-мира – также буквально на днях анонсированное NXP фантастическое по совсем недавним меркам микроконтроллерное семейство LPC4300, представители которого содержат на одном кристалле мощное (по микроконтроллерным меркам) процессорное ядро Cortex-M4 с его механизмами защиты областей памяти, сопроцессором плавающей точки и прочими удовольствиями, и «слабенькое» процессорное ядро Cortex-M0 с собственной оперативной памятью, предназначенное для решения задач ввода-вывода (очень правильная и разумная архитектура, в которой постоянные не требующие больших ресурсов задачи реального времени возложены на слабый малопотребляющий процессор, а для реализация ресурсоёмких высокоуровневых протоколов, например, выделено соответствующее процессорное ядро). Всё это вместе с очень развитой (даже можно сказать уникальной) периферией подключено к коммутирующей шине AHB (в ARM любят путаницу в названиях, AHB - это часть спецификаций AMBA), очень развитой и признанной уже за пределами ARM-мира (например, в системах на чипе Intel). И, что совсем уж удивительно, всё это космическое совершенно удовольствие стоит меньше $4 (!) в партиях. И, похоже, что бороться с таким соотношением функциональной насыщенности, параметров и цены на рынке сегодня просто некому.

Этот факт появления ARM-кентавров мне кажется показательным. Потому что в ARM-мире грань между «встраиваемыми» и «большими» системами весьма условна, и ряд решений из одной неясно очерченной области неизбежно проникает в другую (вы увидите это воочию чуть дальше, в примере использования SoC от Texas Instruments).

Теперь вернёмся к «серверной тематике», к показанному «живьём» на конференции компанией Cavium 64-битовому процессору Thunder семейства ARMv8. Машина с этим процессором (точнее, с одним из семейства Thunder) «крутила» ОС Ubuntu Server 13.10, и вообще активность Canonical во взаимодействии с производителями «ARM-железа» (с той же уже упомянутой Calxeda) заставляет пристально присмотреться к этому тандему. Тем более интересным выглядит агрессивное взаимодействие Canonical (и Red Hat, конечно же) и ARM-производителей, когда высокоуровневое «железо» (собственно 64-битовый сервер) показывает не компания «второго эшелона», а Dell. Которая остаётся Dell даже несмотря на. Dell использует 8-ядерные «серверы на чипе» (новая аббревиатура – SCS, Serever on a Chip Solution) X-Gene компании Applied Micro. Я это к тому, что очень активно Canonical и Red Hat, а также фирмы, специализирующиеся на аппаратных средствах ARM-архитектуры, проводят взаимные сертификации – процессоры проверяются на совместимость с ОС, ОС гарантирует сертификацией совместимость с аппаратными средствами. Это уже совсем другой период развития ARM-серверостроения, очень непохожий на предшествующие, когда было много PR-слов, но дальше дело шло со скрипом. И пока что в уже оформившемся ARM-сегменте серверного мира никаких альтернатив ОС Linux не наблюдается. Так что торжествуйте, «линуксоиды».

Ну и, наконец, немного о главном участнике конференции, конечно же, о Hewlett Packard. Ключевое выступление представителя HP длилось целых 50 минут, причём все 50 минут «вытащил» на себе лично господин Мартин Финк, человек далеко не вторых ролей в компании, CTO и директор. То есть, если судить по времени выступления, это было Важное Выступление. Потому что (и уже не «по-видимому», а весьма уверенно) продвижение платформы Moonshot для HP очень важно. Сейчас входящие в платформу Moonshot «серверные картриджи» основываются на разных высокоуровневых представителях «серверного» и «не совсем серверного» ARM-мира – и на SoC Calxeda первого поколения (EXC-1000), и на 8-ядерных 64-битовых XGene, и на SoC от Texas Instruments Keystone II (Cortex A15 + цифровые сигнальные процессоры). Соответственно, с помощью набора таких «картриджей» можно в одном корпусе реализовать многопроцессорную ноду специализированного кластера. Например, ориентированного на серьёзную аппаратную поддержку цифровой обработки сигналов и сетевых пакетных сетевых операций (советую взглянуть на спецификации Keystone II – совершенно непривычная вроде как SoC для серверных приложений).

Сами идеи платформы Moonshot и «серверных картриджей» в частности мне лично кажутся наконец-то Событием в серверном мире. Давно ничего яркого в нём не наблюдалось. И вот, наконец, появилась такая замечательная конструкция – и нейтральная к используемым «картриджам», и с разнообразным предложением самих «картриджей», и, наконец, допускающая очень высокую степень «упаковки» - 45 фактически нод в корпусе 4,3U. Добрые люди в этих ваших интернетах © провели вивисекцию «картриджа» Moonshot (использующего Intel Atom), и мы можем разглядеть это произведение инженерного искусства, это очень красиво сделано (оригиналы доступны по ссылке):

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Битва за ARMоцентрический мир, или покупайте газеты – в новостях много убитых и раненых

Платформа Moonshot начиналась с Intel Atom «картриджей», сейчас она разрастается расширением спектра «картриджей», адекватных (на уровне SoC и «внутрикартриджной» архитектуры) специфическим задачам. Очень красивая разработка по моему скромному мнению, давно таких красивых в области фактически commodity hardware не было.

Ну и теперь пара слов о программной составляющей. Когда говорят об ARM-мире, всё время её упускают из вида. А тут как раз происходят крайне интересные явления и задействованы очень серьёзные силы. Во-первых, вся тяжёлая артиллерия Oracle всеми Java-стволами бойко «обрабатывает» практически все площади в границах ARM-мира. Internet of Things (IoT)? Oracle адаптировала Java ME Embedded для семейства контроллеров Cortex-M. Надо мощнее? Есть Java SE Embedded – уже для встраиваемых ARM-процессоров и SoC. Надо совсем «взрослое»? JDK для серверных ARM тоже готов. Причём это только начало. На конференции было объявлено сотрудничество Oracle и непосредственно ARM в разработке уровней сопряжения Embedded Java и Java SE с IoT стеком, полученным ARM в результате приобретения компании Sensinode. Я просто складываю факты - четырёхдолларовый вычислитель NXP с фантастической архитектурой и насыщенностью, IoT стек Sensinode, Embedded Java, – и вижу в них очень серьёзную претензию на упорядочение того, что сейчас представляет собой удивительно разношёрстное. Да только объявленный на конференции находящимся уже в стадии разработки уровень абстракции аппаратных средств (HAL) по спецификациям mbed, обеспечивающий работу Java ME Embedded фактически поверх Cortex-M «железа», это, пожалуй, уже Событие.

Вот такая батальная картина выстраивается, которую даже не хочется усугублять описанием очевидного положения ARM в «мобильном потребительском мире».

Совершенно удивительная картина. Для заскорузлого мышления вообще невероятная. Крохотная компания. ARM ведь реально крохотная, ну, две тысячи человек. По сравнению с настоящими корпорациями с их сотнями тысяч, где разом можно уволить тысяч тридцать – уровень большого отдела. Никаких своих производственных мощностей. Начинала как локальный производитель компьютеров, Acorn. В далёком 1990-м стала совместным предприятием… с Apple (да-да-да), от которой потом отмежевалась. Никогда не «ворочала миллиардами», чистый годовой доход не мал, конечно, для масштабов, но и не заоблачен (менее 161 миллиона фунтов за прошлый год). Модель бизнеса плохо укладывается в стереотипы – ARM ведь фактически живёт за счёт лицензирования open hardware. А слово «open» до сих пор у IT-традиционалистов вызывает отторжение. И вот эта небольшая компания сейчас по-настоящему трансформирует планетарного масштаба рынок и открывает возможности для неисчислимого количества производителей самых разных масштабов и специализаций.

Невероятной истории она, всё-таки. Особенно для тех, кому не хватает «позитива» (хоть я и не переношу этого слова).

Вот такие новости из ARM-мира. Который, похоже, расширяется с неожиданной для всех скоростью.

Откланиваюсь.

 
 
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT