2010-12-07

Robert Bissell

Впервые работы этого художника я увидел в галлерее в торговом центре Wailea на Maui. А эту картину я как увидел, так просто воскликнул: "Это же я!". Правда цена за репродукцию меня остудила и я решил обойтись зеркалом в ванной. И я даже не записал тогда имя автора. Но в последнюю поездку я не только записал, но и нашел его сайт. Любуйтесь: Robert Bissell.

2010-12-05

Мороз и солнце.

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

2010-12-02

Maui

До чего же хорошо и приятно! Жаль, что отпуск закончился так быстро!

2010-11-21

Остров сокровищ

Стекло

Стеклянная скульптура в Lincoln Square.

Microsoft Store

Микрософтовский магазин, о котором я уже упоминал, открылся.
По ссылке есть еще фотографии.

Оформлено красиво и стильно. По стенам расположены витражи, которые на самом деле экраны, с постоянно меняющимися картинками. Внутри продаются софт в коробках, ноутбуки и компьютеры, новые телефоны, XBox с Kinect-ом и, почему-то, Amazon Kindle, включая Kindle DX, которого я раньше не видел живьем.

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

Магазин Apple по соседству выглядит несколько черно-бело и скучно. Хотя и заполнен, как обычно.

2010-11-11

WP7

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

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

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

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

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

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

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

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

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

На этом интуитивную часть закончу. Рационально, там все немного скучно. Неинтересный первый экран с "квадратами". Браузер IE, который не поддерживает ни canvas, ни пальцевые события в javascript. Я потыкался в базовые приложения, они какие-то очень базовые, мои привычные сценарии от ipad-а там не получаются, но это долго расписывать. Я полагаю, что доведут к третьей версии.

Кстати, запрет на замену первого экрана решён HTC таким образом: они сделали HTC Hub, т.е. приложение, внутри которого сделали свой привычный интерфейс. Хитрость в том, что из него не обязательно выходить.

Для меня остался непонятным вопрос про срок работы от батарей. Ешё я бы ожидал неприятных ощущений от "сборки мусора", аналогичных тем, что есть в Android. Жаль, что Микрософт сделал ставку на managed code. Но это другая тема.

Кстати, обещание Балмера дать каждому сотруднику Microsoft по бесплатному телефону c WP7, постепенно было сведено на нет. Оказалось, что для этого надо взять двух-годичный план за свой счёт, телефон будет залочен под оператора, компания оплатит только начальную стоимость аппарата, который полагался в $200, но я думаю, что через некоторое время телефон с двухгодичным планом будет всем и так даваться бесплатно. При тарифе в 60-100 баксов в месяц, первые двести баксов не имеют большого значения.

2010-11-07

Грибное место


Снято в центре Редмонда. Кстати, утверждается, что эти грибы съедобные.

2010-11-01

Microsoft Store

Открывается в Bellevue Square неподалеку от Apple Store.

А в XBox-е оказывается есть секретный вход!

Beaver Lake

2010-10-20

Picasa for Mac

Переход от малой компании к большой никогда не проходит даром. Случилось. Гугл выпустил совершенно неработающую программу: Picasa for Mac.

Программа неспособна сделать простой импорт фотографий, без того, чтобы перепутать фотки и, вдобавок, запортить picasa.ini в каталогах. Слава Гуглу, они не портят сами фотографии. Их форум полон подобных сообщений, но они, вероятно, форумы не читают.

Грустно это. Я так и не смог найти приемлемой программы. Aperture и Light Room мне не понравились, жутко медленные, не говоря уж, что дорогие, и не позволяют видеть именно фолдеры, а не все скопом. Странная это логика, когда все фотки или вся музыка собираются в одну большую кучу, которая и предъявляется юзеру. Типа, смотри, что я у тебя нашёл. Вероятно, считается, что юзер полный идиот и не способен сам разложить свои файлы, как ему удобно, да и вообще, авторы программ лучше знают, как ему удобно. У меня фотки разложены по датам на сетевом диске, мне так удобно. Я их туда добавляю, а программа сама находит новые файлы. Picasa подходила практически идеально.

Блин, как жалко, что Picasa не Open Source.

Update: Оказывается этот баг уже починили.

2010-10-07

Wenatchee River

Люблю фотографировать это место.

2010-10-03

Tim Wistrom

Несколько лет назад я случайно увидел репродукции с его картин, и потом, не запомнив имени, безнадежно искал его в интернете, спрашивал о нем в списках рассылки. В этот раз я имя записал. Знакомьтесь: Tim Wistrom. Красиво и оптимистично рисует пост-апокалиптический Сиэтл.

Leavenworth

2010-09-29

Прогноз

Полагаю, в скором времени в околокомпьютерной индустрии ожидаются два провала: У Микрософта провалится разрекламированный Windows Phone, а у Гугла - компьютеры с Chrome OS, если они таки решат выпустить их на массовый рынок.

2010-09-25

Mac Mini

Пишу данный пост вот на этом компьютере. Который под календарем. Mac Mini.

Штучка совершенно бесшумная, маленькая, не слишком мощная, но для маковской операционки вполне достаточная. Поставил на нее привычные программы: Picasa, Chrome. Finder мне всегда нравился, да и к юниксу у меня давние ностальгические чувства. Собрал Wine для остального (полтора часа собирался). Работает. Такого количества багов, как в Убунте, пока не видно. Все чистенько, хоть и бедненько.

В принципе, идеальный компьютер для подключения к телевизору. Но и на стол приятно поставить, и в качестве дополнения к мощному десктопу, или в качестве апгрейда десктопа древнего, как у меня. Особенно, если седьмая винда никак не приживется и после загрузки вызывает иррациональное желание ее немедленно перегрузить в XP или Убунту. Нет, я не PC, I'm Mac. Буду разбираться в Objective-C.

Закрыв книжку

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

2010-09-19

Сложность

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

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

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

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

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

Это в точности то, что делает Apple в iOS. Приложения никак между собой не взаимодействуют, кроме самого минимума. Эплу так проще сохранять контроль над системой, хотя нам это и не всегда удобно. А Микрософт в своем WP7 решил попробовать поиграть в логарифмические игры, которые, как мы знаем, кончаются экспонентой. Посмотрим, посмотрим.

Forest Lake

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

P.S. Кстати, начал снимать в raw. Цвета получаются интереснее.

2010-09-11

Kitesurfing

Нет, это не я. Просто красиво. Снято в Lake Wenatchee State Park.

Camas Land

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

2010-09-01

Obsidian


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

2010-08-29

Sony Nex-5


Когда-то я сказал себе, что куплю новую камеру, когда будет очередной прорыв в технологии. Не знаю, насколько это прорыв, но в поездку я взял новый фотоаппарат Sony Nex-5, который подарил сам себе на день рождения.

Nex-5 - это небольшая по размеру камера с APS-C сенсором. Камера практически точно совпала с моими требованиями: хотелось близкого к DSLR качества, но чтобы она была максимально легкая и компактная, чтобы можно было брать с собой на прогулки и не изнывать от камня на шее. Sony выкинула из камеры почти всё, что можно: зеркала, вспышку, видоискатель. Оставила неплохую матрицу и мощный видео-процессор. Я очень доволен. Отличная камера, чтобы брать с собой в поездки. Последние снимки, опубликованные в этом блоге, сделаны этой камерой.

Кстати, камера может сама делать панорамы и HDR. Панорамы делаются так: нажимаешь спуск и ведёшь слева направо как пулемёт. А затвор делает очередь снимков (со звуком!), а затем сам их объединяет и записывает как один широкий кадр шириной примерно восемь тысяч точек (ширина обычного кадра - черыре тысячи). Если же включить режим HDR, то камера делает три снимка и делает из них один кадр с меньшим контрастом, но с большим динам-диапазоном. На фото - такая панорама.

Ожидаю, что камера не понравится любителям серьёзных камер и мощной оптики. Это не совсем DSLR. У неё нет ни вида, ни стиля управления "профессиональной" камеры. Это скорее "мыльница", которая доэволюционировала до уровня, занимаемого раньше DSLR. Что мне и хотелось.

Crater Lake

Вернулись из национального парка "Crater Lake". Очень красивое, очень глубокое, очень синее озеро в огромном кратере вулкана.

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

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

По озеру запрещено плавать на частных лодках, но есть пара прогулочных катеров, на одном из которых мы и прокатились. Сначала мы планировали высадиться на остров, но тот катер сломался, и мы просто сделали круг по озеру. Озеро, кстати, немаленькое: 8 x 10 km. А остров на озере - это новый растущий вулканический конус.

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

P.S. Wiki, Map

2010-08-17

Луны Юпитера.

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

Snoqualmie Middle Fork


У нас тоже жарко. Хочется залезть в речку, горную и холодную.
Sony Nex-5, HDR, PL.

2010-08-06

Замок


Песчаная скульптура в городке Sequim, WA.

2010-07-30

Чертополох

 
В нашем саду растёт чертополох! Специальный садовый сорт.

2010-07-12

КПД

КПД (Коэффициент полезного действия) — это отношение полезной работы к затраченной энергии. КПД является безразмерной величиной и часто измеряется в процентах.

В принципе, в программировании тоже можно определить КПД. Как с точки зрения энергетической, так и с точки зрения алгоритмической. Процессор работает, потребляет энергию. Доля энергии, затрачиваемой на программу вполне легко определяется. Для простоты оценки можно считать количество тактов процессора, затрачиваемых на выполнение программы. Что касается полезной работы, это сложнее, но оценка тоже возможна. Для оценки порядка величины можно взять теоретическое минимальное количество инструкций, необходимое для выполнения программы. Допустим, наша задача - повернуть изображение, записанное в формате jpeg. Значит его надо декодировать, повернуть битмап, закодировать обратно. Для каждого шага известна оценка количества операций. Количество тактов даст полезную работу. В реальной программе операций будет больше, что и даст КПД, меньшее 100%.

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

Иногда возможны трюки, которые поднимают КПД на порядки, заставляя пересмотреть теоретический минимум. Например в вышеприведённом примере, поворот на 90 и 180% можно сделать очень быстро, без раскодировки и интерполяции, переставив данные непосредственно в сжатом jpeg-файле.

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

В качестве примера приведу Exchange со списками рассылки. Оказывается, что в современном Exchange нет single-instance-storage. Посланное сообщение и все его приложенные файлы просто копируются в inbox каждого реципиента. Это уменьшает зависимость данных, позволяет разделить inbox-ы по разным серверам и всё такое. Казалось бы, всё логично.

Смотрю на свой корпоративный inbox средних размеров. В нём несколько тысяч сообщений. Во всех - несколько реципиентов. Большая часть получена по ссылкам рассылки, где в каждой группе - сотни и тысячи человек. Каждое такое сообщение копируется в тысячу inbox-ов. Ответ на него тоже так же копируется, причём, традиционно, текст включает сам вопрос и предыдущее обсуждение. И всё это в сложных кодировках, в HTML, который упакован в MIME, который пересылается в XML, через HTTPS, используя .NET Web-сервисы. 

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

Но и это ещё не всё. Обычно каждый пользователь настраивает правила так, чтобы списки рассылки попадали в свои отдельные папки. А затем новый Outlook в Conversation View сжимает всё обсуждение до своего логического минимума, показывая в нём ту самую единственную строчку: "+1".

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

2010-07-06

iPhone

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

iPad мне очень понравился и я полагал, что телефон понравится тоже. Потому я взял его на денёк поиграться. Не новый, четвёртый, а предыдущий 3GS. Сразу скажу свой вывод: телефон мне не понравился почти по всем сценариям. Хотя, мои требования к телефону несколько нестандартные: телефонная функция далеко не главная. Фактически я бы хотел маленький карманный ipad, который мог бы иногда, при случае сработать как телефон.

80 баксов, которую хочет за него AT&T в месяц явно превышает разумные пределы раза в три. Я не готов платить даже половину этой суммы. Для iPad 3G есть 15-баксовый план, но телефон на него по их правилам посадить нельзя, даже отказавшись от телефонной функции. Можно попробовать jailbreak+unlock с другим провайдером, но отказавшись при этом от данных, поскольку 3G data prepaid в нашей деревне нет.

В результате я попробовал его в хакнутом режиме с t-mobile. Сигнал у него почти везде минимальный: одна палочка из пяти. Дома - одна, а в тех местах, где особенно надо, за городом - вообще "no service". Причём десятибаксовый tracfone показывает при этом максимум - пять из пяти практически везде, кроме когда совсем уж в горах.

GPS в телефоне какой-то дохлый. В городе ещё как-то работает. А за городом, опять, никакого сигнала, елки мешают. И карты в offline не подгружаются, программа полагает, что у неё есть 3G. Наверное, есть другие программы, где можно загрузить карты заранее, но отсутствие сигнала даёт основание полагать, что в качестве GPS его использовать тоже бессмысленно. И если с уровнем телефонного сигнала я могу винить tmobile, то проблема с GPS заставляет предположить, что в телефоне что-то не то с антеннами. Два других моих голубозубых GPS ресивера в тех же условиях нормально ловили спутник. Кстати, телефон с ними спариваться не хочет, считает что у него свой есть и его достаточно.

Остаётся сценарий чтения Web через WiFi. Опять неудобно. Очень мелко, хоть очки надевай. Экран на iPad вполне комфортен для чтения, а на iPhone - мелко до неразличимости. Сделать крупнее - строчки вылезают за экран, а режима, когда можно взять с сайта колонку текста и переформатировать её на весь экран крупным шрифтом - не предусмотрено. Так и двигаем влево-вправо на каждую строчку.

А корпоративная почта добавила такое неудобство, что пользоваться стало совсем невозможно. Она заставила поставить на устройство кодовое слово. Т.е. берёшь телефон, хочешь позвонить, для этого надо сдвинуть на экране нарисованный слайдер, потом ввести кодовое слово из четырёх букв, потом нажать enter, потом запустить в телефоне телефонную программу, потом набрать номер... А если ошибёшься в наборе кодового слова несколько раз, так телефон заблокируется... Ну я понимаю, корпоративные секреты, так сделали бы набор кода при входе в почту! Нет, этим уже невозможно пользоваться! Одной рукой позвонить вообще не получится! Кошмар, а не usability.

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

2010-07-01

Основной инстинкт

Инстинкт и разум относятся друг к другу как водитель и машина, как батарейка и моторчик. Разум без инстинкта работает на холостом ходу, в idle loop, иногда перебирая случайные события, гуляя по воспоминаниям, или порождая комбинации; но именно инстинкт заставляет разум крутиться в определённом направлении.

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

А между инстинктом и разумом работают привычные паттерны, доставшимися от родителей и окружения. Как держаться, как поставить себя на правильное место, как настоять на своём, как пережить неудачу. Всё пришло от приматов, рецепты существуют сотни тысяч лет, и передаются без слов, образами и поступками.

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

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

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

2010-06-28

Дерево

Виртуализация как ритуал погребения

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

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

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

Что касается заголовка, это про другое. Виртуализация машины часто становится ритуалом её погребения. Жалко просто выкинуть машину. Там программы, данные. Вдруг понадобится? Лучше преобразовать её в виртуальную и записать образ в архив. Всегда будет можно запустить, если что, пообщаться с умершей. Недавно нашёл у себя на винчестере одну такую урну с дампом, озаглавленную "Windows 98 WM". Не смог запустить, и стёр. Умерла, так умерла. В связи с чем подумал, что виртуальность - это не жизнь. Во всех смыслах.

2010-06-05

Черепахи


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

2010-06-03

Секрет неуспеха

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

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

Есть силы специфичные для компании. Например способ разработки, платформа, методы управления персоналом. Например, немалое количество фич windows, вызывающее удивление своим присутствием в операционной системе легко объясняется если понять, что добавление в windows есть хороший способ повышения карьерных параметров scope of influence и customer impact. Это один из способов достигнуть уровня "партнера" с шестисемизначными годовыми доходами. В системе, где основой всего является карьера, scenario driven, customer driven, quality driven автоматически заменяются на career driven. Любой рефакторинг - провальная штука в смысле карьеры. Никаких фич не добавил, сломал совместимость (а всегда что-то сломается), добавил багов. На этом заработают другие, которые воспользуются открывшимися новой архитектурой возможностями по добавлению своих фич. Я убеждён, что армейская карьерно-уровневая система не совместима с творческим трудом, которым программирование пока остаётся, вызывая неприятие и активное противодействие администраторов от программирования.

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

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

2010-06-02

Секрет успеха

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

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

- Мне бы календарик посмотреть...
- Сначала в домен войди! Забыл пароль? Забыл! Забыл! Забыл! И шифт отпусти, инвалид, уже 8 секунд держишь. И вайфай включи! И апдейты загрузи! И, кстати, акробат обнови. И реал плейер. И сигнатуры. И неру новую купи. И вообще, срочно перезагрузи компьютер. Сам такой, не отстану.

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

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

Мне кажется, что одному Стиву Джобзу это как-то удается, а, скажем, Стив Балмер не только не пытается, но даже и не понимает зачем это надо. А в Линуксе это невозможно в принципе (кроме ядра, кстати). Потому и результаты настолько разителено разные.

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

Пока только Apple сделал ставку на native code. Все остальные норовят залезть на пирамиду уровней, будь это Java, .Net или Javascript. Я и сам не прочь построить маленькую собственную башенку. Во только гложат меня сомнения: а надо ли?

2010-05-16

Железные дороги

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

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

2010-05-09

Dirty Harry's Balcony

Стереопара с сегодняшнего хайка. Наконец-то наступила теплая летняя погода. По тропе текли ручьи и выше ещё лежит снег.

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

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

2010-05-03

Zen Magnets

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

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

http://zenmagnets.com/