2009-04-23

Больше трёх не собираться

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

2009-04-15

Кризисно-компьютерное

Сначала я просто кратко сформулирую мысль. Мы сейчас наблюдаем некий переход в индустрии, похожий на переход с майнфреймов на персоналки. Вызван он, с одной стороны, техническим прогрессом, миниатюризацией, удешевлением и снижением энергопотребления компонент, и кризисом с другой стороны, когда выбросить пару тысяч на компьютер уже жалко. Кстати, пришло понимание, что именно выбросить. Сейчас народ покупает нетбуки и полноформатные ноуты дешевле тысячи. Нетбуки дешевеют, обещают дешевые "неттопы". Windows в них работает в образе дешёвой XP, обещают, что будет работать Windows 7, но она им уже не очень подходит. Во первых, по цене. То, что добавляло две сотни к двум тысячам не может добавлять столько же к трём сотням. Т.е. у Микрософта будет выбор - либо снижать цену, либо уходить с рынка. А снижая цену, как покрывать расходы? Во вторых, по функциональности. Маленький дешёвый компьютер должен быть быстрый и малопотребляющий. Пока я вижу, как бета Windows 7 просыпается по несколько минут, мотая диск, пытаясь соединиться с сетью и сжирая батарею. Громоздко. Нужен-то один браузер, в основном. Нетбукам и неттопам нужно простое, как iPhone решение. Собственно, мы и пришли к выводу. Новый клиентский софт может делаться небольшими группами или одиночками на базе дешёвых или бесплатных компонент, а финансируется через некие встроенные онлайновые магазины-издательства, где продаётся за $0.99 тысячами и миллионами копий. Это возможность для нас, программеров, перейти на вольные хлеба. Непонятно, что именно будет базовой платформой лёгких компьютеров, но вряд ли Windows. А Микрософт, следом за IBM, уходит всё дальше в enterprise market, где ублажает относительно небольшое количество крупных покупателей своими дорогими, но полными решениями. Никуда не исчезают, а плодятся и множатся наёмные Web-программисты, которые продолжают делать свои бесконечные приложения теперь уже в одном из облаков, в очередном Web-3.0.

2009-04-13

И стройные ряды чеканят шаг туды-сюды...

- А говорили: "Умный человек". - Мало ли, что про человека болтают.
И этот туда-же. Почему-то не могут люди обойтись без строевого шага и выровненных по линейке одеял. Наверное потому, что в казарме по другому быть не может. Если ты рядовой программистской службы, то изволь выровнять строфы пробелами согласно утверждённому уставу. Иначе каждый будет писать как захочет, а там и недалеко договориться до того, чтобы он писал что захочет, а это уж будет форменный бардак и вольнодумство.
В армии важна дисциплина. Коды по спеку, спек по шаблону, шаблон согласно гениальной бизнес стратегии, стратегия рождена из матерного выражения главнокомандующего, а кто не согласен, с ним займутся в подвалах HR-а. Плох тот рядовой, который не хочет стать генерал-PM-ом или генерал-менеджером.
Война есть война, а мы не готовы! С простыми пробелами сейчас уже никто не воюет! Мы не готовы к войне!
Дисциплина начинается с малого, с детсткого сада, с выравнивания пробелов в образовании. Табы в ряд, пробелы в ряд, программистский наш отряд.
P.S. До чего же мне всё это надоело, кто бы знал... Как слышу про пробелы, так зубы ноют. Чем бы таким заняться, чтобы без детского сада и без игры в солдатики?

2009-04-06

Portable Ubuntu

Интересные штуки можно делать с open source. Вот, например, эта штука позволяет запустить Ubuntu как процесс в Windows. Это не виртуальная машина. Это именно ядро в user mode. Причем не требует предварительной инсталляции и может быть запущена с ключа, что я и попробовал сделать на рабочей машине. Работает. Зачем оно мне я не знаю, но почему-то мне это интересно. Собственно, Colinux был известен давно, но там надо было долго всё настраивать, а эта штука сразу заработала.
http://portableubuntu.sourceforge.net/

2009-04-02

О креационизме.

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

2009-03-21

MP3, но не плейер...

... 3 колеса, но не велосипед -- что это?
Это Piaggio MP3, моя новая игрушка!

2009-02-28

Kernel Mode Linux

Японцы работают:
Почти то, что я хотел: программа работает в kernel mode. Теперь это надо скрестить с верификатором, например, взятым из google native client.

2009-02-23

Советская армия

Я только сейчас заметил, что маятник уже качнулся обратно и часть молодёжи считает, что при социализме всё было хорошо и правильно, а, вероятно, враги всё оболгали. То же и с армией. Тогда, рискуя прослыть врагом, расскажу маленькую историю.
Уже не помню точно в каком году, где-то в конце 80х, призвал меня военкомат на военные учебные сборы на два месяца. Я какого-то хрена пошёл в военкомат, а они взяли и призвали на сборы. Случилось это прямо перед новым годом и меня заставили ещё кучу повесток разнести. Как я потом понял, цель этих сборов была вписать мне в военный билет ещё одну специальность и уже с ней призвать на два года в армию. Но речь не об этом.
Короче, приехали мы в часть "учиться". И должны мы были изучать станцию разработки 50х годов. А военкомат не оформил допуска. В результате нам велели изучать станцию разработки 40х (!!!). Посадили в класс. Принесли чемодан с документацией. Документация была на "синьках". Кто не знает, это такая технология получения бумажных копий, которая была до ксероксов. Она как-то химически делалась, очень бледные бумажки сине-коричневые. Так вот, столько лет синька не живёт! Мы разворачивали листы почти однотонной бумаги, на которых остались лишь следы былых схем и надписей. Ничего не разобрать.
Мы спросили есть ли станция в части. Оказалось что нет, списали последнюю. Потом открыли какую-то комнату, где должна была стоять учебная станция. Панели с дырками из под приборов. Лампочки без лампочек. Паук внутри. Склеп, а не станция.
Приехала комиссия. Нам строго запретили говорить, что у нас нет допуска. Какая-то шишка из приехавших нам объясняла, на что мы должны особенно обратить внимание при полевых учениях. "Вы уже выезжали?" - спросил он нас? "Нет ещё" - кто-то ответил. На следующее утро нас собрали и устроили нам разнос за "длинный язык". Была зима и нас отправили строем куда-то в лес "помёрзнуть". Мы там покидались снежками, извалялись в снегу, что было очень приятно после недель сидения взаперти, на дороге обратно от нас валил пар. "Учения" нам понравились, но больше нас не посылали.
Собственно, ничего интересного там не было. С армией всегда было так: как соприкаснёшься, кругом обман, фальшивка, показуха, идиотизм, ничего не работает. Такого бардака я в гражданском мире не видел. И ещё жрать было нечего. Мы тогда были "партизаны", т.е. офицеры в запасе на учёбе. Никто нас не трогал, да мы уже и взрослые были. Привозили себе пожрать, чай попить, сидели вечером в казарме на матрасах, болтали чай пили. Ей богу, чай. Хоть и вода была непитьевая. Она сырая пахла сероводородом.
Но специальность в военбилет таки вписали. "Научили". Я после зарёкся ходить в военкомат да и в экспедицию свалил, так что призвать им меня не удалось. А то бы ещё пару лет в караулы ходил, охранял бы опечатанные секреты, которые часто вместо печати, если присмотреться, содержали отпечаток 20-копеечной монеты.

2009-02-13

Unix Time = 1234567890

Для желающих отпраздновать наступление 1234567890 unix time, я сделал счётчик: http://tolkov.com/blog/files/unixtime.html

2009-02-12

Кот в обезьяннике

Дарвину посвящается.
Некоторые не верят в эволюцию, поскольку она оскорбляет их чувства. Ежедневный взгляд в зеркало эти чувства не оскорбляет. "Ничего общего!" - говорит человек, поправляет галстук, садится в машину и едет на работу. "Я думаю, что нам надо сделать так...", говорит он на совещании. "Почему?" - интересуется будущий исполнитель. "Я так считаю." - отвечает он. "Но зачем?" -занудствует подчинённый. "Мне кажется, что это очевидно." - говорит своё веское слово начальник. Такая серьёзная человеческая деятельность, интеллектуальная, просто пропасть разделяет нас от обезьян. На самом деле, человек ничего не думал и тем более ничего не считал. Он не умеет. Он сказал то, что ему казалось. Т.е. выплыло на вершину сознания по необъяснимым внутренним причинам. Скорее всего в сознании осталось, что так делать правильно. Либо так сделал конкурент и нам тоже надо, либо так учили в вузе, либо так делали в том месте, где начальник начинал свой трудовой путь. Штампы "так никто не делает", "все так делают" - типичны для примитивных обществ и высших животных, ибо позволяют не совершать грубых ошибок. Таков простой ответ на вопрос "Почему именно так?". Если мы спросим "Зачем ему это надо?", исходя, например, из соображения, что некоторые вещи можно и лучше не делать совсем, то ответ будет в инстинктивном поведении. Человеку надо для карьеры - это типичный человеческий ответ. "А зачем карьера?" - при таком вопросе посмотрят на спросившего странно. Ибо мы вторглись в область инстинктов. Известен "основной инстинкт". Два инстинкта. Пожрать и размножиться. Это понятно. Но у человека, как общественного (а, точнее, стадно-стайного животного) есть ещё третий: самоутверждение. Опять таки, человеческий и потому неточный термин. Точнее было бы что-то типа рейтингования. Обратите внимание - почти вся основная деятельность человека подчинена этому. Почти все развлечения связаны с соревнованием, т.е. с рейтингом. Смысл большей части всех художественных произведений можно описать так: "Сначала все думали что у героя низкий рейтинг, а у него оказался ого-го какой". Стайные инстинкты заставляют становится вожаком, становится партнёршей вожака, правой рукой вожака, и прочее и прочее. Это ты так пишешь от собственного низкого рейтинга - возразит мне читатель, обидевшись, и тем самым подтвердит сказанное (независимо от истинности утверждения о моём рейтинге!). Так вот, пока мы никуда не ушли от животных. Большая часть людей вообще не мыслят, по моему мнению, а лишь повторяют слышанное. Повседневная деятельность определяется этими тремя инстинктами и простыми заимствованными паттернами. Проанализируйте собственное поведение. Зачем я это сказал, сделал, почему я обиделся, почему впал в депрессию. Сделал - что бы показать, чтобы доказать, что я достоин более высокой оценки, а обиделся - потому, что меня оценили ниже, чем я стОю. Дисбаланс внешней оценки и внутренней вызывает действия, как осознанные, так и неосознанные. И наконец, четвертый инстинкт - любопытство и чувство прекрасного. Мы получаем удовольствие от пейзажа, от музыки, хотя, кажется, никакой пользы в этом нет ни для само-взаимо-оценки, ни для размножения. И от любопытства - одни сплошные проблемы. А задевает и тащит - что там дальше, на следующей странице, за горизонтом? У животных любопытство тоже есть! Пустите себе в дом молодого соседского кота! Он пока всё не обнюхает, и все комнаты не обойдёт, даже едой не интересуется! Я думаю, это программа на будущее. Надо интересоваться, чтобы развиваться, чтобы переходить в новые места. Этот инстинкт работает на выживание не столько особи, сколько вида. Коты, кстати, индивидуалисты. Они не охотятся стаями, они, наоборот, делят территорию. Интересна, какова бы была цивилизация, произошедшая от котов? Я иногда чувствую себя котом. В том смысле, что с детства не люблю игры в рейтинги, и люблю строгое авторство работы, готов защищать свой код, свою территорию, не люблю когда в нём оставляют следы другие. Потому на работе чувствую себя котом в обезьяннике. Стояли звери около двери... Это про меня. Но я отвлёкся. Человек - настолько животное, что странно, как в этом можно сомневаться. Единственный непонятный момент состоит в том, почему он всё-таки не совсем животное. У человека есть язык, позволяющий передавать знания и навыки, они накапливаются, переживают своих авторов и последующих носителей. Цивилизация формирует новый уровень всепланетного многоклеточного организма, который имеет другую природу, другую энергетику, и значительно более долгую жизнь. Почему он возник? Выскажу догадку - из за конкуренции с себе подобными. Обычно животные выживают в борьбе с природой и другими видами. А человек, как супер-хищник, десятки тысяч лет боролся с другими такими-же. Поэтому его эволюция не остановилась, а пошла дальше и зашла значительно дальше, чем этого требовал животный образ жизни. Когда-нибудь человек изобретёт интеллект искусственный, и он, вырвавшись в космос, расширит уже свои, не наши, возможности. Надеюсь, что он будет обладать любопытством, но не уверен, насколько ему нужно наше непрерывное рейтингование. Но пока этого нет, можно спокойно и уверенно считать своё вечернее сидение перед телевизором вершиной эволюции, либо "венцом творения", что уж совсем сомнительно, ибо эволюция, в отличие от бога, не разумна. Так, наконец, о Дарвине. Предлагаю выпить по этому поводу хорошего вина - парадоксального напитка неизвестного животным, но возвращающего нас в животный мир! Споры о его книге делят человечество на тех, кто уверен и тех, кому интересно, тех, кого уважаю и тех, кого ненавижу. За него!

2009-02-11

И там аварии...

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

2009-02-02

Google как русский орфографический словарь...

... уже не работает и ещё не работает. Уже не работает, поскольку опечаток проиндексировано столько, что найдутся все варианты, а счётчика количества найденого нет (кстати, нет поскольку распределённоая гугловская база не знает столько в ней записей). А ещё не работает, поскольку словарь не встроен в систему индексации, а надо бы. Первый раз я прокололся с "липосакцией", которая находится и в неправильных вариантах. А вот ещё замечательное слово, выбирай что нравится: http://www.google.com/search?q=помошник http://www.google.com/search?q=помошьник http://www.google.com/search?q=помощник http://www.google.com/search?q=помощьник И наконец шедевр: http://www.google.com/search?q=помощьник+рукаводителя Или это по украински?

2009-01-25

Липосакция

Все новости уже отписались от том, что Стив Балмер объявил о сокращениях. Я, честно говоря, ожидал другого. У многих было мнение, что Микрософт большой и непотопляемый, и я ожидал, что руководство попробует поиграть на этом, тем более, что это выглядит незначительным в финансовом отношении (особенно если сравнить с попыткой купить Яху). А объявление о сокращениях, такое прямолинейное ("уволим 5000" - слишком административно и кругло, явно с потолка взятая цифра), проделало брешь в этом непотопляемом образе, заявив, что мы тоже тонем, будем сбрасывать народ за борт. Немудрено, что акции упали.
Сброс лишнего веса - вещь неплохая, но это желательно делать постоянными упражнениями, а не разовой операцией. Известно, что вес быстро набирается снова. Да и шрамы остаются.

2009-01-21

Буквы на холсте

Иногда на канвасе нужен текст. Хотя бы оси на графике подписать. Стандарт ещё никто не поддерживает. В Firefox есть что-то своё, что больше нигде не работает. Я попробовал наложить сверху div c абсолютными координатами, геморойно и плохо. Как покрутишь zoom, так всё разъезжается. Хотелось бы, чтобы прямо внутри канваса работало. Можно сделать bitmap с буквами и его копировать кусочками, но надо делать bitmap прозрачный, с антиалиасингом и alpha-channel. Проще всего сделать векторный фонт, воспользовавшись старыми программами для перьевых графопостроителей. Я уже сел было делать, как нашёл готовый. Вот, здесь пример, что у меня получилось.
Оказалось, что в бете IE8 нет канваса. Позор. IE8 идёт в баню.

2009-01-20

Гурация

Народ восторженно радуется новому президенту. Но мы люди опытные. Мы перестройку пережили! Мы заранее ничему радоваться не будем!!! :-(

2009-01-19

Виста номер 7

Решил сегодня попробовать посмотреть на W7. Ставить на рабочую машину не хочется, ставить второй операционкой - будут проблемы с доменом. Ставить на домашнюю - совсем не хочется. Нашёл старый ноут со сдохшей батареей. Решил попробовать. Первые впечатления:
  • Инсталляция прошла вполне нормально. Легко поменять партиции при установке, а потом всё поставить. Никаких лишних вопросов. Удобно.
  • Ноут не новый, Dell D600. Система не нашла драйверов ни для проводной сети, ни для беспроводной, ни для для звуковой карточки. Что за ёклмн! Драйвера от Висты должны подходить к W7. На сайте Dell ничего нет. И XP и Ubuntu на этот ноут ставятся без проблем.
  • Разрешение экрана поставилось по умолчанию 1024x768, хотя родное будет где-то 1400x, но поставилось с clear-type, что смотрелось очень мерзко. Поменял без проблем, как только нашёл где. Непонятно, почему сразу не поставить нормальное.
  • UI выглядит живым, нет "тормозного" вистовского ощущения. Может потому, что аэро не запустилось.
  • Приятно пустой экран. Ни лишних кнопок, ни лишних панелей. Забыл посмотреть, можно ли, наконец, убрать с экрана корзину. (Знаю, что через реестр можно.)
  • Какие-то "Libraries" вместо некоторых папок. Не понял чем libraries отличаются от folders.
  • Цвета те же, сине-зелёные переливы. С ходу не нашёл, как выключить фоновую картинку. Можно поменять, но выключить на ровный цвет - не нашёл. Проглядел, наверное, кнопку.
  • Теперь в task manager есть сервисы. Но размер занимаемой ими памяти посмотреть нельзя.
  • В management console есть некая "performance". Интересная информация, но почему так далеко?
  • Проверить на совместимость программ не смог из за отсутствия сети. Может завтра, перетащу через usb-ключ, хотя без сети - бессмысленно.
Короче, я понял: новые винды - это квест! Надо пройти по лабиринту и найти, где спрятаны привычные установки. После чего игрока переводят на новый уровень и он должен найти драйверы. Третий уровень - самый сложный: надо найти ключ.

2009-01-14

HyperSpace, система instant-off.

Phoenix Technologies HyperSpace - одна из обещаных "instant-on" систем для ноутбуков. Я её сегодня скачал и попробовал на стареньком ноутбуке. Не впечатлило совершенно. Долго ставилось, с тремя или четыремя перезагрузками и крашем инсталлера посередине. Создало дополнительную 3-х гиговую партицию на диске и в неё всё записало. В результате получилось что-то не очень понятное с точки зрения загрузчика. Я думал будет меню с выбором. По умолчанию грузит себя, предлагает нажать кнопку для перезагрузки в "windows". Hyperspace грузится не мгновенно, но быстрее windows. Секунд за десять. UI несколько странный и жутко медленный. Видеоплейера нет, есть только браузер, который почему-то открывается не на полный экран, а на часть его, с большим отступом, причём максимизации окна нет, хотя F12 в FireFox работает. Слева часть экрана занимает бесполезное меню. Но главное, такой скорости прокрутки экрана я не видел давненько, со времён Доса. Фактически экран перерисовывается в новом состоянии, а не прокручивается. Тормоза жуткие. Это не instant-on. Это instant-off. Сделано из Линукса, с минимумом драйверов, потому и акселератор графики не работает. Но за это предлагается платить то ли 40 то ли 60 баксов! Нет, совсем не впечатляет. Завтра сделаю uninstall. Тут, кстати, есть ревью.

2009-01-12

Нет OS для нетбука.

Читаю по утрам Engadget черех их RSS. Занятно для интересующихся современным hi-tech-ком, т.е. игрушками. В частности, почитал про VAIO-P и подумал, что надо посмотреть на Windows7. Хотя windows, любая, тяжела для подобной машинки. Нужно что-то попроще, помгновеннее. Я сразу даже не заметил режима instant-on. Оказывается в компьютер втроен некий софт, который позволяет вызвать кнопкой сразу после включения соневское меню с плейером или браузером, причём мгновенно, причём это работает и после загрузки Windows. Вот это, наверное, самое интересное! И как же это работает? Думаю, что одна из самых нужных фич для netos должна называться instant-on. В прошлом году многие наобещали подобного, но пока ничего не слышно. P.S. Кстати, VAIO-P - интересная железка, по пропорциям похожа на мой старый Pictire Book, но существенно мощнее и коммуникабельнее (WiFi, BT, 3G, GPS).

2009-01-06

Как это было. Рождественская сказка.

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

2009-01-05

Итоги прошедшего года

Снова пришла пора подвести очередные традиционные итоги года в жанре персонального performance review. В целом год был скорее хорошим, чем плохим, хотя я так и не сделал никаких решительных шагов. Но не будем нарушать традиционный порядок. Первый раз в жизни: 1. Что-то ничего такого сразу не припоминаю. Это в первый раз. 2. Кстати, бросил считать холестерин. Наконец-то: 1. Получил GC. Уже почти собрался судиться, как вдруг наверху издали указ об ограничении времени, которое может занимать проверка благонадёжности. Раньше они искали компромат пока не найдут, и отсутствие оного, похоже, означало дальнейший поиск. А теперь сказали, что если за полгода не найдут, то можно давать GC, а если потом что-то найдут, то можно и с GC расстрелять. Субъективное ощущение таково, что отменили крепостное право. Теперь я работаю на того же самого барина, но уже как свободный человек. 2. Обкатал GC, съездив в Россию. Я уже писал об этом. Дома. Всё хорошо. Дети учатся, жена работает, дом стоит. Работа. 1. Деградирую... Работа в Компании привела к появлению аллергии на код. Стоит только открыть окно с кодом, как всё начинает болеть и чесаться. Пытаюсь немного писать что-то дома, чтобы совсем не потерять квалификацию. А дома я пишу совсем по-другому, как раньше, и это мне нравится! 2. Как-то вдруг оказалось, что абсолютно все новые продукты нашей Компании можно совершенно спокойно игнорировать. Даже удивительно. Откроешь что-нибудь новое, как-то всё или криво, или неудобно, или не нужно. Обычно оказывается что есть более приятные аналоги, часто открытые. Либо старая версия продукта бъёт новый по удобству и достаточна по функциональности. Операционкой пользуюсь пока, да, но старенькой, и только в силу привычки. И это остался единственный продукт нашей Компании на домашней машине! (Кстати, это плохо. Уже пара магазинов накрылась, про которые я однажды подумал, что покупать там стало нечего. Как бы Компания не накрылась. Слухи ходят разные.) Поездки года. Почти забытая поездка на Мауи, затем поездка в Россию, и вынужденное автомобильное путешествие из Сан-Франциско до Сиэтла, которое ещё более неожиданно понравилось. Кстати, оказалось, что во многих гостинницах - бесплатный WiFi, а там где его нет, ловится пиццерия через дорогу. Пару лет назад этого ещё не было. Неожиданность года. Обама, таки да, победил. Уж не знаю, приятная неожиданность или нет, поживём - увидим, но наблюдая по телевизору предвыборные игры, я немножко болел за него. Покупка года. HDTV 40-дюймовый телевизор и Blue-ray плеер. Давно собирался проапгрейдить телевизор, за несколько лет цены на них упали до приемлемого уровня. "Planet Earth" в high definition смотрится просто замечательно! Забавно, но утверждается, что внутри Sony-ского телевизора Linux. И к телевизору ещё даётся блок для подключения к интернету, YouTube смотреть, там тоже Linux. И в Blue Ray плеере, полагаю, тоже. Современная техника уже подключается к интернету просто вся. 8 разъёмов сетевого коммутатора не хватает для домашней сети! Надо 16-канальный покупать. Мелочь года. Netbooks - я купил себе MSI, а сын купил себе Acer. Очень недурственные маленькие компьютеры. И недорого. Пожелание года. Во первых, будьте здоровы. Во вторых, будьте свободны. Остальное - суета.

2009-01-01

Yellowstone

Кальдеру потряхивает последнее время. Я сделал timeline, показывающий толчки более 1 балла за последние 7 дней. Для просмотра нужен браузер поддерживающий canvas, т.е. Firefox, Safari или Chrome.

2008-12-29

Сам писи!

Микрософт завесил все станции метро (BART) в Сан-Франциско вот такой рекламой. Которая, как обычно, является "достойным ответом" на придуманное другими. Рекламная серия предлагает мне сказать "I'm a PC". Какой я вам писи! И не мак, и не грамофон, и не тостер! I'm human. А за PC ответишь...

2008-12-24

SFO

Только что приехали из Сан-Франциско. Небольшая трехдневная поездка превратилась в недельное приключение. Сама поездка была небезынтересной. Три дня впечатлений. Но когда мы, уставшие и довольные, приехали в аэропорт, оказалось, что обратный рейс был отменён по случаю непогоды в Сиэтле. Нам дали талон в гостиницу и перенесли рейс на "завтра", что поначалу вызвало у нас даже некоторый интерес: ещё один день, задаром. Но когда его отменили снова и перенесли рейс уже на четверг, т.е. на день после рождественских праздников, причём, по прогнозам это могло оказаться не последним переносом рейса, это вызвало у нас просто шок. К тому же бесплатных гостиниц больше не предлагалось. Ещё оказалось, что поезда тоже не ходят, автобусы не ходят, и вообще ничего никуда не ходит, короче, "делайте, что хотите". А хотели мы домой. Дома выпал снег! В кои веки! И мы сомневались, сомневались, но решились поехать сами! Прогноз погоды обещал один день без осадков, что давало шанс удачно проехать. Взяли машину, купили цепи на колёса, и поехали. Оказалось даже чуть легче, чем я ожидал. Местность обитаемая, множество гостинниц и заправок. Цепи пришлось надеть дважды. На перевале после озера Шаста и около Портланда. У последнего был самый противный участок с пробкой, в которой мы ползли очень долго. Пробка была из за нечищенной и заледеневшей дороги. Но в целом дорога была довольно хорошая. Всего ехали два дня, проехали порядка 800 миль за 16 часов, из них часа 3 потеряли в Портланде. Такое вот приключение. Мне даже понравилось. А дома снег! Никогда не видел столько снега в этих краях. Жаль скоро растает. P.S. SFO - международный код аэропорта С-Ф.

2008-12-12

Google chrome & native client

Ко всеобщему удивлению, Chome вышел из беты. Все были готовы, что бета будет длиться вечно, как у gmail. Но, понятно, что компо-продАвцы не хотят пред-устанавливать бету на enterprise, а потому пришлось срочно зарелизить. Хотя качество вполне достойно первой версии. RSS, autofill, extensions (включая adblock), native linux and mac versions обещаны. Не слишком заметно произошло появление ещё одного любопытного проекта: native client. Как я понял из анонса, это addon, дающий возможность запускать native code, т.е. программу в машинных кодах из браузера. Все сразу закричали ActiveX и были в корне неправы. В данном случае native code не сможет сделать ничего плохого, в отличие от Active-X, который может всё, из за предварительной верификации кода. Статический анализ кода - вещь популярная (см. например Midori), но готовых решений я пока не видел. Предполагается, что код не будет иметь возможности обращаться к платформе, но сможет работать с предоставленными ему интерфейсами браузера. Поэтому он будет независим от операционной системы, а зависим только от вида процессора. С точки зрения Web-а, это примерно как адобовский flash, только, возможно, быстрее (хотя сравнимо, я полагаю, с будущей 10 версией, если там LLVM). Но реальный смысл появляется, если рассмотреть браузер как платформу. Если запустить браузер поверх некоего мини-ядра, получается полная платформа, которая может запускать приложения, причём работающие с нормальной скоростью. Вот вам и Google OS. Второй смысл этой штуки - это серверные приложение в "облаке". Сейчас у них поддерживаются только Python и Ruby, а с этой штукой добавляется куча нормальных компилируемых языков. Изолированный код легко перемещать и копировать в облаке. Почему мне всё это понравилось? Во первых, потому, что я всегда считал, что модель безопасности должна исходить из ограничения того, что может сделать компонент кода, а не абстрактного "юзера". Я доверяю себе, как "юзеру", но я не доверяю конкретному компоненту кода. А сейчас код, откуда бы он не появился, автоматически может сделать всё, что может сделать "юзер". Во вторых, это может привести к появлению бинарного выполняемого формата, который имеет чётко описанный внешний интерфейс, и в то же время независим от операционной системы. Что давно, уже лет двадцать, ждёт всё прогрессивное человечество. По поводу статического анализа, это непросто в современной архитектуре, где данные и программы перемешаны в памяти. В байт-коде это значительно проще, но хорошие оптимизирующие компиляторы байт-кода, во первых сложны, во вторых, медленны и не защищены от ошибок. Многие, в результате, предпочитают проверять сгенерированный код, особенно если в него добавить некоторые подсказки, (интересующиеся могут погуглить "typed assembler"). Анализатор дизассемблирует код и проверяет все инструкции восстанавливая логику программы, проверяя типы всех операндов, допустимые смещения и т.д. Любой код, который может сделать что-то не то, не будет допущен до выполнения. А сделать можно многое, например, изменить адрес возврата из стека, что выглядит в точности как целочисленное присваивание локальной переменной. Анализатор должен определить не выполняя программы, что по этому смещению нет переменной, а расположен адрес возврата. И многое другое.

2008-12-09

Немного об истории и литературе.

Считается, что в древности литературы не было. Дорого по камню лирические отступления высекать. Потому суровые летописцы тщательно высунув язык выводили, что "пятого года произошёл великий мор, а шестого года царь отобедав преставился и на престол взошёл его старший сын, который в тот же месяц повелел собрать войско и отправился воевать соседей" и т.д. и т.п. Ну какая же это литература? А такая! Такая она, первая литература! Рассказ в жанре fiction, устный и от первого лица, появился задолго до письменности. Подозреваю, что ещё первобытный человек рассказывал, в грудь себя бия, как он один на один мамонта побеждал. И познав письменность, вряд ли стал он вдруг правдивым и ничего не приврал, и ни приукрасил, не приписал себе или своему властителю чужие подвиги, и не переписал на местный лад услышанные от проезжих купцов сюжеты. Слово письменное написано для читателя. А слово для читателя есть литература. Книжка с историями о веках прошедших для развлечения и наставления. А потом гадают откуда берутся повторы, почему столько совпадений в хрониках и кто был чьим оригиналом. Да сам летописец небось не знал кто был чьим оригиналом, это просто сюжеты кочуют из одной страны в другую. Хотите пример? Вот армянская народная сказка. Вот марийская сказка. Вот сказка Вятской губернии. Вот книжка японских сказок. А вот чешские и словацкие. Последних двух не читал, но судя по названиям очень подозреваю.

2008-12-08

Рекомендую.

Не могу не порекламировать текст Эльдара. Вся серия очень неплоха, а часть 4 просто замечательна. technet link, то же на eldar.com.

2008-12-07

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

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

2008-12-03

Прошлогодний San Francisco

Я немножко поразбирал фотографии, сделанные почти точно год назад. Занятный город, он мне понравился.

2008-11-24

На коленке.

"Сделано на соплях", "сделано на коленке" -- эти две фразы я слышал неоднократно от разных людей, причём они имели при этом противоположные значения.

В устах одних это означало, что сделано на "низкоуровневом языке типа С", потому плохо, ненадёжно, опасно, непрофессионально, "home grown" или "home brewn". Часто такое слышал про Open Source Code. Обычно в контексте, что написано студентами-двоечниками, которые не могут найти нормальную работу. Правильное, профессиональное решение должно быть написано на защищённом высокоуровневом языке (C#, Java) и хранить данные в серьёзном месте, типа SQL сервера. Причём все данные, компромиссы не допустимы. Компромиссы вообще не допустимы, надо взять самые последние и мощные инструменты, и писать с их использованием. Остальное - на коленке.

В устах других - точно наоборот. Любой интерпретируемый или JIT-код в системе - признак непрофессионализма, люди используют от неграмотности, не могут освоить C/C++. Тоже про Windows: не могут освоить Unix. Приложение надо оптимизировать по максимуму, а любой лишний уровень не позволяет этого сделать. SQL вообще сложно оптимизировать, у него от версии к версии всё меняется. Поэтому надо написать всё самим на С/C++, все классы, протоколы и базу данных. Это круто и профессионально.

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

2008-11-20

Picasa 3

Хотя они и не сделали некоторых желаемых изменений, и сделали кучу нежелаемых, но общее впечатление неплохое, не испортили, и на том спасибо. Добавился приятный viewer и screensaver. Наконец-то у фоток появились теги. Видео можно резать и на ютюб выкладывать. Ну и разное всякое прочее. Гугл сегодня что-то расщедрился на обновления. Gmail стал красивый, с темами. Даже окно результатов поиска обновилось, появились некие кнопочки оценки результатов. Вообще, мне интересно смотреть на то, что делает Гугл, и мне пока нравится, что он делает.

2008-11-11

Another Canvas Test

Your browser does not support canvas.
Этот график считается и строится непосредственно в браузере. Оказывается, вполне возможно добавить скрипт в блог.

2008-11-10

Холст

Canvas - интересный элемент HTML5, который позволяет рисовать с помощью двумерных графических примитивов в прямоугольной области экрана. Впервые появился в Safary, сейчас прекрасно работает в FireFox и Chrome. Пока нет поддержки в IE, хотя, кажется, есть сторонние Active-X для этого.
По ссылке находится скрипт рисующий очень простую векторную картинку, которую я нарисовал много лет назад в графическом редакторе собственного изготовления. К сожалению, я не могу скриптовать блог, поэтому картинка будет отдельно.

2008-11-03

My Desktop

Несколько иллюстраций к предыдущему посту. Вот так выглядит мой домашний десктоп и вот так я работаю.

Это BBLean с открытым меню приложений и запущеным Google Chrome, в котором открыта персонализированная iGoogle. Мне, кстати, последняя понравилась. Вся информация в одном месте, почта, RSS, закладки (последние сконфигурированы открываться в новом табе, поскольку в Chrome закладки ещё не сделали). Кстати слева - столбик с иконками Quick Launch.

Те же и FAR. Это наиболее типичная конфигурация экрана, вероятно 80% времени.

Пара кадров с Visual Studio VS6. Я пользуюсь до сих пор 6-ой версией поскольку мне в ней нравится оболочка. Компайлер С++ в ней не супер, но, мне его хватает. Новые версии более громоздкие и менее удобные.

А каково ваше рабочее место?

2008-11-01

Три PM-а под виндой занимались ерундой

Здесь рассказывается про новые интерфейсные штучки Windows 7. Я посмотрел по диагонали периодически проматывая. Как и ожидал, не увидел ничего, что бы заставило воскликнуть "как здорово, наконец-то". На Мак стало похоже, не буду говорить, что содрали, но стало похоже. Опять все изменения придётся делать в приложениях: и табы в виде картинок представлять, и всякие новые контекстные меню и прочее. Все красивости показаны в микрософтовских приложениях, а как будут выглядеть все остальные, не поддерживающие новые интерфейсы, не очень понятно. Старым приложениям, будет, как я понимаю несколько хуже, но сейчас в Микрософте есть явная тенденция к постепенному искоренению старых приложений. Кстати, убили Quick Lunch, который все использовали как некий рабочий вариант списка приложений. Я только им и пользуюсь. Стандартный список так раздут, там так легко нажать uninstall вместо запуска, а работает он так медленно, что пользоваться им просто невозможно. Но хватит ворчать. Я хотел сказать вот о чём: Есть два типа интерфейсов и, соответственно, два типа пользователей, отличающиеся сложностью комфортной для них картинки. Первые любят UI мелкий, где показано много информации и она стабильна, относительно мало меняется. Пример - системы разработки программ, графические пакеты, файл-менеджеры типа FAR. Напоминает операционный стол или верстак - много инструментов, лежащих под рукой, каждая вещь на своём месте, ничего лишнего. В таком интерфейсе иконки если и есть, то некрупные и неяркие, минимум всяких украшательств, отвлекающих от работы. Режим с использованием только клавиатуры, без мыши - must have. Вторые любят UI крупный и яркий. Красивое окно с выбором из нескольких пунктов, с красивым фоном, эффектом при наведении мыши. Иконки крупные, яркие. Выбрал, всё изменилось и показало что-то другое, тоже красивое. Работа идёт, в основном, мышью. На клавиатуре набирается только текст. Зона основной информации существенно меньше, часть пространства пожертвована на то, чтобы сделать команды более доступными. Это не просто профессионал-новичок. Это два психотипа, две разных эстетики. Есть картины/романы/интерьеры/ландшафты первого типа (битва при Ватерлоо), а есть второго (белеет парус одинокий). Я, конечно, принадлежу к первой группе. Всегда любил карты разглядывать. Мне совершенно не нравится толстая полупрозрачная рамка окон, крупные иконки и широкий task-bar, как и все эти цвета, выплывания и подсвечивания. Раздражают и отвлекают. Я вообще почти не пользуюсь ни Микрософтовскими программами ни стандартной оболочкой. У меня стоит BBlean, который делает и панель задач и всякие меню тоньше и мельче. Shell я не использую, пользуюсь FAR-ом. Офис запускаю только для просмотра присланного документа, media player или browser - другие, разные. Короче, мне этот их экран не нужен совершенно. Мне надо, чтобы работали программы типа BBlean, чтобы можно было сделать из цветных виндов интерфейс "первого рода". И сделать это всё сложнее и сложнее. С Вистой, кстати, у меня пока ничего не получилось. Blackbox под ней не работает. Был бы помоложе, сказал бы, "хоть сам пиши". Нет, сам всё не напишешь, жизни не хватит.

2008-10-30

Мостик

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

2008-10-27

Written on the piece of junk

Все уже много раз процитировали высказывание Стива Джобса “We don’t know how to build a sub-$500 computer that is not a piece of junk.”. Ну вот! А я подумывал купить их акции! Это же и есть проблема Apple номер 1. Чтобы выжить, им нужно это придумать. У меня почти все компьютеры такие, в районе $500 без монитора. А последняя покупка - MSI Wind, так практически целиком уместилась. 
Мне всегда казалось, что компьютеры несколько overpriced. Штука, в принципе, не жизненно важная, в основном развлекательная и очень недолговечная. Ну, допустим, гипотетически, что купил я за пару штук их супер-тонкий ноут. Аккумулятор сдохнет через год и ничего с ним не сделаешь, впаян. А если куплю другой без яблока на корпусе и на миллиметр толще, то всё равно, устареет морально года через два-три. Новая система уже не поставится без апгрейда, во время которого окажется, что успело поменяться всё, даже расположение дырок на корпусе и число бит в процессоре, так, что вези всё в PC Recycle, и раскошеливайся снова по полной программе, включая лицензию на операционку. А последняя уж точно piece of junk, хоть одна, хоть другая, хоть третья. 
Нет, я куплю лучше piece of junk подешевле, не так жалко будет выкидывать. Работает он точно так же, как и те, распальцованные. Опять же, в нем милостливо соизволен привычный XP, что приятно. И на что же Apple будет жить, что делать? Да операционку, блин! Кошачих своих хищников пора выпускать из клетки! Если уж компьютеры не придумываются. Будет альтернатива Висте. Может, я её и поставил бы на свой Wind.

Subversion

Я уже давно поставил subversion на свой домашний сервер (Synology). Раньше я "догфудил" нашу внутреннюю систему, и она работала очень хорошо даже на netbook-е, но мне всегда хотелось, чтобы она работала на linux-сервере. Subversion оказалась очень удобной, особенно для персонального использования:

  1. Есть варианты для ARM-процессора, что позволяет использовать Slug (Linksys NSLU2), или Synology, или даже Nokia N800.
  2. Её можно сконфигурировать для работы через inetd, когда она не висит постоянно в памяти. При персональном использовании это наиболее удобный режим.
  3. Один сервер может работать с несколькими репозитариями. Что позволяет создать не хранить мух с котлетами. Один для моих проектов, сыну - свой, один - как backup для всяких my documents, один для временных вещей, которые потом будут удалены и т.д.
  4. Можно быстро загрузить репозитарий из файла и сохранить в файл. Я сделал скрипт и загрузил свои проекты вместе с полной историей.
  5. Tortose Svn - как оболочка очень удобна. Даже spell-checker с подсказками имён функций из текста. Супер.
  6. Очень удобно, что сервер не хранит состояние клиента. Это просто гора с плеч. Никаких read-only атрибутов, никаких "открыть файл для редактирования". Просто работаешь спокойно, переписываешь всё вместе куда хочешь, если надо, потом система разберётся сама, что изменилось. И не надо никаких плагинов к Visual Studio.

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

2008-10-20

Вчера на Snoqualmie Middle Fork

Пардон за качество, это водостойкий и ударопрочный карманный Олимпус. Снято после перехода данной речки вброд с падением в воду. Любая другая камера уже бы не работала. Было очень красиво, жаль, что современные карманные фотоаппараты не могут передать игру света. Я дополню картинку воспоминанием, а зритель может включить воображение.

2008-10-14

Йцукенъ

Гуляя по Нижнему Новгороду зашёл в данный магазин с желанием купить какой нибудь забавный сувенир.  Пообщался с приветливой продавщицей, которая, похоже, была рада любому редкому посетителю. 
Ничего не выбрал, ничего не понравилось. Скучно, плоско и очень примитивно с точки зрения дизайна, прежде всего. На картинках выглядит лучше, но дизайнеры знают, что вещь на картинке и вещь в реальности - разные вещи. А в реальности предметы имеют другие пропорции, не дисплейные цвета, острые края. Чайник ужасен. Даже чашку с ручкой в виде @ совершенно не комфортно держать в руках. За промышленный дизайн ставлю им 2. 
За издание "ководства" ставлю 3 с минусом.  Не знаю, что там с типографикой, мне она не очень интересна, но с точки зрения общего дизайна, я книги с таким крупным шрифтом не покупаю. Это текст, вещь для чтения, а не альбом со шрифтами. С точки зрения содержания, книга по дизайну должна быть переполнена примерами и текстом.  А здесь одна мысль, другая мысль, третья мысль. Сколько глав, столько мыслей. Мысли не перетекают одна в другую, не образуют системы, не заметно, что у автора их больше, чем он может написать. Скучно. Другая книжка про Интернет была забавнее, хотя я всё это уже видел, давно, и решил не захламлять свой книжный шкаф.
Потрогал их клавиатуру за $2500. Пренеприятное ощущение. Дешёвый пластик трётся о другой пластик с хрустом и скрипом. Как песок пожевал. Кнопки заметно медленно меняют картинку при нажатии shift-а. Позиционирования этого изделия вообще не понимаю. Элитная клавиатура должна быть комфортна и качественна как клавиатура, в первую очередь. Надписи на кнопках - вещь вторичная, на них вообще смотрят редко, только когда учатся печатать, а научившись смотреть перестают, или смотрят краем глаза. Во всех компьютерных столах клавиатура убирается под стол, и там, под столом на ней и печатают.  (Кстати, в штатах видел клавиатуру совсем чёрную, без букв. Для слепой печати. Народ пробовал, говорят удобно, быстро отучает смотреть на кнопки.) Продавщица сказала, что есть специальная раскладка для фотошопа. Представляю, дизайнер мышкой рисует, рисует, а потом лезет на клавиатуру вместо меню. Глупо.
Короче, я был разочарован. После многочисленных "линчей" я ожидал большего, ожидал качества. А не фига. Ни качественного дизайна, ни оригинального дизайна, ни забавных надписей на майках, ничего, кроме очередного немерянного пустого выпендрёжа, который уже стал нашим русским фирменным стилем.  
Кстати, неподалёку продавались русские народные берестяные и деревянные поделки. Насколько они сделаны качественнее и приятнее! Вот где настоящий дизайн, блин вам всем в компот!

2008-10-12

Snoqualmie Pass

Snoqualmie Pass внизу. Вдали виден Rainier.

2008-10-09

Конец бумажных книг

Надцать лет назад я не верил, когда читал в журнале, что плёночные фотоаппараты скоро уйдут в прошлое. Казалось, что цифровая технология настолько сырая, качество настолько плохое, что пройдут десятилетия, прежде чем чип заменит плёнку. А с книгами, качество экранов настолько хорошее, преимущества настолько велики, что даже непонятно, как это может не заменить бумагу. Фактически, я уже давно читаю новые книжки соньковским ридером. Но посмотрите на ссылку! Это же не просто книжки, это и журналы, и техническая документация, и энциклопедии. 
Конец шкафам, стопкам и полкам. Что будет с библиотеками и букинистическими магазинами? С уютными книжными магазинами, где можно полистать книжки и журналы за чашкой кофе? С возможностью продать прошлогодний учебник в бук выручив пол-цены, подарить или дать почитать знакомым? Это всё настолько большая часть нашей культуры, она скоро изменится и хотелось бы не потерять незаметно те права, которые есть сейчас.  Кстати, а не пора ли новостийным сайтам делать вариант верстки для оффлайнового чтения на ридерах? http://www.engadget.com/2008/09/11/plastic-logics-e-reader-vs-amazon-kindle-fight/

2008-10-03

Cloud OS

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

2008-09-26

Google Chrome - 20 дней спустя.

Неожиданно браузер стал основным. Не думал, что смогу прожить без привычных расширений firefox, но вот уже двадцать дней только им и пользуюсь. Привлекает мгновенный запуск и, наконец-то, шустрый javascript, который делает сайты действительно живыми. Наконец-то можно использовать всякие javascript frameworks, типа jQuery, например, что мне давно хочется попробовать. Из расширений не хватает реально двух - AdBlock и GMarks. Без второго можно обойтись открыв в одном из табов Google Bookmarks. Что касается первого, то можно поставить Privoxy. Google обещает сделать расширения, так, что это временно. Вообще, я восхищён программой и тем, как она сделана. Компактно, быстро, ничего лишнего. Идеальный браузер. Фактически сейчас она является самой используемой программой на моём компьютере. Я бы её даже объявил самой удачной программой последних нескольких лет. Предыдущий приятный сюрприз назывался Picasa.

2008-09-22

Нижний Новгород - город контрастов.

Я несколько раз пытался начать писать про Нижний, но длинно и литературно не получается и как-то даже и не хочется. Фотки здесь. Было очень приятно со всеми увидеться! Жаль, что не со всеми удалось встретиться! Мне понравилась чистота в центре города, люди на улице, их одежда, книжные и компьютерные магазины, маленькие кафе и еда в них, продуктовые и хозяйственные магазины, непривычная вежливость сервиса и отсутствие "How are you doing?" при этом. Не понравилась грязь во дворах, разваленные хрущёвки, бегающие беспризорные животные, обилие машин, практически парализовавшее движение в городе, заброшенное и жутко замусоренное когда-то любимое место отдыха, и банки из под пива лежащие под каждым кустом. Первое место в положительном списке - еда. Желудок стал проситься обратно в Россию. Первое в отрицательном - машины и трафик. Голова напоила желудок пивом и решила, что он обойдётся.

2008-09-19

Для чего нужен Downtown?

В раздумьях об описании своих впечатлений от поездки на родину я вдруг обнаружил некоторую непонятность: зачем в городе нужен downtown? 
Нет, серьёзно! Какие функции он выполняет? Что за выгода строить высоченные здания на дорогущей земле вместо того, чтобы взять пригородный пустырь и построить там целый кампус вместе с хорошей парковкой. В downtown всегда плохой трафик, всегда проблемы с парковкой. Казалось бы, единственное достоинство downtown - это пешеходная досягаемость одного здания от другого, коммерческая ценность коего совершенно непонятна. Зачем нужно ходить из одного банка в другой в эпоху глобальных сетей?
В каждом городе есть подобный район, застроенный офисами банков и всяких "крутых" контор, демонстрирующих, что им некуда девать деньги. Может это просто сублимация, район финансовых фаллосов? 

2008-09-02

Google Chrome

Гугл выпустил бету своего браузера. Очень недурственно. Мгновенный запуск приложения. Удобное начальное окно (то, что мы привыкли называть home page). Неплохой UI. Очень быстрый javascript. Наконец-то все гугловские приложения работают быстро. Можно даже пользоваться их он-лайновым редактором и электронной таблицей. С такой скоростью уже можно писать нормальные приложения на AJAX-е. Короче, смотрите сами. Мне понравилось. Не так, как это обычно бывает с новой версией привычной программы, "ну вот, опять наворотили", а быстро и просто - вот два ключевых слова, определяющие продукт.
Из минусов - нет расширений. Нет блокировки рекламы, и нет синхронизаторов закладок. А ещё нет многоязычной проверки правописания. Язык выбирается в установках, что неудобно. Надеюсь, это всё поправится со временем.
Что касается любимого занятия журналистов, сравнения рейтингов, то я не очень уверен в завоевании рынка. Явно заберёт голоса у тех, кто знает о разных браузерах и умеет их инсталлировать, т.е. у пользователей Firefox и Opera. У Safari свои сторонники, яблочники с альтернативным восприятием рендеринга. А большинство тех, кто пользуется IE, купили "интернет" вместе с компьютером и ничего другого ставить не будут. Вот если Гугл уговорит поставщиков предустанавливать его на компьютеры, тогда другое дело. Но поставщикам Гугл не указ, он на Windows скидок не даёт. Посмотрим.
Кстати, Picasa 3 beta тоже вышла. Наворотили.

2008-09-01

Пеньки на Keechelus Lake.



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

2008-08-31

Последствия снежной лавины

Видно, что под поломанными деревьями и ветками толстый слой снега, под которым течёт потерявшая своё русло горная речка. Меня удивило направление вывала леса на склоне слева. Стволы легли вверх. Такое впечатление, что лавина с разгону заехала на противоположный склон, повалив деревья. Gold Creek, 3.5 miles from trail head.

2008-08-26

Компьютерно-операционно-системное.

Для начала порекламирую неплохой блог с занятной и полезной информацией: блог Guastavo Duarte (англ.) А в нём статьи о начальной загрузке, адресной арифметике и уровнях защиты. Если данные вопросы неинтересны или непонятны, дальше можно и не читать. Собственно, не читать можно в любом случае. Как и наборот. А теперь, после введения, очередная небольшая порция ворчания. Которое состоит в том, что вся эта адресная арифметика и кольца защиты сейчас настолько привычны, что мы даже и не представляем, что может быть по другому. А вот раньше, говорю я постанывая, посвистывая и с хрустом распрямляя позвоночник, мы работали в системах "real mode" безо всякой защиты и такие программы писали, такие, этакие..., да такие же как и сейчас, только поменьше. И которые при любой ошибке вызывали перезагрузку, которая, однако надо отметить, была значительно быстрее теперешней! Довольно занятные системы были в домикрософтовсую и до-ibm-pc-шную эру реального режима. Например, были всякие занятные системы основанные на паскале и модуле. Последная была, как нетрудно догадаться, модульная, причём драйвер устройства - такой же модуль, как и программа пользователя, никакой разницы. Никакой разницы не было, kernel mode or user mode. Одно вызывало другое. Это была экзотика, мини-компьютеры. А большие компьютеры делались на той же, что и сейчас архитектуре, с двумя режимами, режимом ядра и режимом пользователя. Главное в такой архитектуре - защитить ядро от программы пользователя, и программы друг от друга. Традиционно есть процесс, как единица защиты. Процессы защищены друг от друга, ядро защищено от процессов, процесс можно убить, все ресурсы утилизировать без вреда для системы. Внутри же процесса - никаких защит, делай всё, что угодно. Это традиционная архитектура операционных систем. Для неё и делаются все эти адресные арифметики, кольца защиты, виртуальная память с таблицами страниц и прочее. И она, эта архитектура позволяет заражать программы вирусами, исполнять код в стеке, переполнять буфера, позволяет почтовым программам модифицировать системные файлы, ну и конечно, позволяет выполнять и все остальные полезные функции, за что мы её и любим. Естественно была попытка сделать и менее традиционную архитектуру. Где нельзя заражать и выполнять. Где почти ничего нельзя, кроме того, что можно. Где защита сидит в каждом указателе, в каждом массиве, в каждой функции. Аппаратно нельзя выйти за границы. Аппаратно нельзя сделать из числа указатель. И функцию нельзя вызвать если нет на неё указателя. Абсолютная защита. Естественно, всё было задумано в Советском Союзе, как нетрудно догадаться по приведённому описанию, и там же успешно где-то реализовывалось в течении многих лет, до тех пор, пока Горбачёв не произнёс своё знаменитое "разрешено всё, что не запрещено", чем подрубил концепцию на корню. Я очень уважаю разработчиков Эльбруса за эту архитектуру. Увы, в полноте своей она несколько утопична, почти как коммунизм. Обе требуют от человека того, что он дать не может. Коммунизм требует нечеловеческой сознательности, а Эльбрус - нечеловеческой предусмотрительности при программировании на нечеловеческих языках. Хотя второе интересно было бы попробовать. Не знаю, что там будет дальше с Эльбрусом. Идеолог, академик Бабаян теперь работает в Интеле, хотя фирма существует. Но бог с ней, с фирмой. Дело в том, что в подобной системе тоже нет уровней ядра и пользователя. Если функции защищены друг от друга, то драйвер - это просто функция, такая же, как и любая другая. И файловая система - обычный модуль, как и любой другой. И никакой трансляции адресов не надо, и уровней защиты не надо и много всего прочего. Фактически, сложность аппаратуры не выше, чем традиционной. Кстати, упомянутая фирма недавно сделала таки свой микропроцессор, и двоичный компилятор для него. Респект, если работает. Это вам не винду перекрашивать. Хотя я опять отвлёкся, не про него хотел рассказать. Одно время казалось, что это всё где-то далеко в фантастических северных странах, в далёком прошлом или далёком будущем, но услышанная фраза "software isolation" заставила поменять точку зрения. Фраза очевидна - заменить аппаратные границы программными. В эпоху виртуальных машин даже нетривиальная архитектура возможна. Но виртуальная машина - только один из нескольких подходов к "software isolation" и далеко не самый эффективный. Второй подход исповедуют разработчики проекта Midori в Microsoft (бывшая Singularity). Они предлагают оставить процессы как границы защиты и проверить программно двоичный код процесса на то, что он не выйдет за границы и ничего не сделает запрещённого. Тогда этот процесс можно запускать без аппаратной защиты. Я скептически отношусь к данному подходу. И доказать очень сложно и выгода невелика - только производительность, что в наше время грядущих 64-процессорных ядер не самая большая проблема. Третий подход основан на идее генерации кода. Допустим программа существует на некоем байт-коде, а система строит реальный двоичный код сама при запуске. Как в .NET или Java. В таком случае если исходный байт-код не позволяет чего-то сделать то и двоичный код этого не сделает. И его можно запускать без аппаратной защиты. Подобные системы могли бы работать почти как Эльбрус без его аппаратных заморочек. Причём большая часть ядра может сама быть написана на подобном языке. Неудобство данного подхода в невозможности запускать программы в двоичном коде, написанные на non-managed языках. Мне кажется, наиболее перспективный подход, особенно для встроенных систем. Сейчас есть несколько проектов, Java OS, например. Привет вам от Модулы. Здесь выгод может быть множество: более простая аппаратная часть, более простая структура операционной системы, защищённость на уровне процедур или классов. К сожалению, языки типы Java или С# не могут достичь идеальной защиты и избавить нас от вирусов и троянов. Их байт код недостаточно ограничен для этого. Но вообще, я думаю, что software isolation - интересное направление. Но вряд ли пройдёт в mainstream. Слишком далеко мы все ушли в другую сторону. Куда мы без привычной винды.

2008-08-24

Жирный пингвин робко прячет тело жирное в утёсах...

Почитал на досуге про udev vs. devfs. Для незнакомых с Линуксом поясню, что это управление именами устройств в файловой системе, т.е. некая жизнь на границе ядра и приложений. Короче, пингвиньи блохи. Раньше жил только один вид, devfs, а потом постепенно развился новый - udev и полностью вытеснил старый. Просто совсем вытеснил, вплоть до полного удаления. Интересно то, что непонятно чем новый вид, собственно, лучше. У меня сложилось впечатление, что он не только не лучше, а хуже. Если объяснять на компьютерном языке, то devfs представлял собой небольшой модуль в ядре, который по сигналам драйверов создавал устройства со стандартными именами. Зато udev - это архитектурная астронавтика. Это демон, который общается с ядром, создаёт имена по некоторым описанным в конфиге правилам, общается с приложениями, которые хотят получать события о создании устройств, и т.д. Дизайн-патерн мне показался очень знакомым. Ситуация такова - есть первая система, очень простая и понятная. С некоторыми небольшими проблемами. Есть некий архитектурный астронавт, который очень пропагандирует некоторую супер-архитектуру, способную покрыть старую систему как бык овцу, и в дополнение решить кучу других проблем, хотя никто никогда с этими другими проблемами и не сталкивался. Как правило маленький компонент или функция будет заменён на некий сервис, вероятно сетевой, возможно веб-сервис. Производительность будет ужасна, но не фатальна, она, вероятно и никогда не была узким местом. Новые проблемы, которые возникли после перехода на новую систему, будут объяснены тем, что система ещё не доделана до полной своей функциональности, и тогда она покроет не только старую функцию, но и всю систему вообще. Здесь главное - напористость астронавта. Особенно, если старая архитектура не особенно персонифицирована и не имеет столь же горячего защитника. Как только новая архитектура будет принята, её доделают до некоей приемлемой формы, другого выхода нет, но лишний килограм веса на животе это добавит. Ещё один, к досаде тех, кто ценит стройность архитектуры. Я раньше считал, что подобное - удел коммерческих компаний и закрытого софта больших компаний. Там это просто непрерывно. Но почитав линуксовые форумы, понял, что нет, это универсально. В открытом софте - то же самое. Фактически, исправить ситуацию может только давление, отбраковывающее подобные патерны, а его по ряду причин нет. Грустно. Не хочется пускать в свой компьютер жирного пингвина. И udev не хочется. Хочется простоты и удобства. Каталоги, как в GOBO, простые модули вместо сервисов, ненавижу сервисы. Наверное, надо фряху посмотреть или в гентушники податься, последнее прибежище отчаявшихся в разумности коллективного сознания.

2008-08-05

Мысль дня

"There is nothing intellectual in a property." (Нет ничего интеллектуального в собственности.)
Навеяно обсуждением параграфа из годового финансового отчёта Майкрософт.

2008-08-04

О хлебе насущном.

На местном рынке купил хлеб местной выпечки. Домой принесли, съели весь за один присест без ничего, даже ничем не намазав. Один запах чего стоит! Хлебом пахнет. Оказывается семейный бизнес. У них печь во дворе каменная. И мельница своя. Они сами мелют зерно, из свежей муки хлеб пекут. Ничего не замораживая, по старым рецептам из натуральных компонентов. Дорого. Но вкусно так, что денег не жалко. Жаль рынок работает только раз в неделю. Вот я всё жду, когда потребитель пожелает вкуса в софте. Я бы тоже попробовал семейный бизнес открыть. Софт на ассемблере и Алголе-68, ручная работа, по старинным рецептам. Может попробовать, бросить свой макдональдз, выпечь что-нибудь, вдруг кому понравится!

2008-08-02

Корпоративные игры.

Этот текст является комментарием к тексту Эльдара про фермеров и рабочих в программировании.

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

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

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

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

2008-07-29

Synology

Купил серверочек. Очень понравилось. И качество железяки и софт к ней. Очень всё дружественно и просто. Никаких "конфигов". Всё включается и выключается через Web-menu. Но особенно понравилось то, что нормально поддерживаются русские названия файлов; что в базовую систему входит SSH сервер, потому можно зайти терминалом и что-нибудь там сделать; что хак по установке package-manager-а не потребовал перепрошивки (система хранится на диске), и что в списке пакетов есть те, которые нужны. Ещё понравилось, что на сайте компании есть инструкция по интеграции внешнего софта в web-menu, что радикально отличается от обычной практики "запретить, ибо нефига". Короче, будем обустраиваться.

В Нижний

Еду в гости в сентябре.

2008-07-25

Maui

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

2008-07-23

Переключение раскладки в Windows с помощью Caps Lock.

Мне всегда казался странным способ переключения раскладки в Windows. Alt+Shift или Ctrl+Shift, или обратная кавычка в Висте. Постоянные проблемы с разными программами. И не всегда срабатывает с первого раза, и конфликтует со всякими Ctrl+Shift+F1. В Линуксе обычно используют Caps Lock, что очень удобно. Идеальное, IMHO, решение. И кнопка одна, и под рукой, и пользы никакой другой от неё нет (даже есть какие-то Anti-Caps-Lock сайты с требованиями кнопку выкинуть, или заменить на backspace), и лампочка есть, показывающая состояние, которое удобно видеть краем глаза.

В Windows поменять кнопку, конечно же, нельзя. А написать свою программу можно, но лень. Кроме того, API для этого довольно странный. Например, раскладка в Windows есть не свойство Desktop, как бы логично было предположить, а персонально свойство каждого thread в системе. Потому переключатель должен внедрить DLL в каждый поток каждого процесса, имеющего окна.

Оказалось, однако, что всё уже, в принципе, сделано, и можно найти, если поискать. Есть такая программа "The Microsoft Keyboard Layout Creator". В ней можно создать свою раскладку клавиатуры и Caps Lock в ней - одна из клавиш состояния, наряду с Shift и Alt-Gr. Вот эта раскладка!

Инструкция по установке такая:
1. Поставить creator и скачать раскладку (может потребоваться проверка подлинности Windows, как обычно для сайта MS).
2. Загрузить второе в первое.
3. Пойти в меню Project и выполнить "Create DLL and setup package."
4. Проигнорировать предупреждения.
5. Когда откроется каталог со сгенерированными файлами, запустить из него setup.
6. Пойти в Control Panel туда, где ставятся кнопки переключения раскладок, и выбрать новую раскладку раскладкой по умолчанию для английского языка (!!!). Новая раскладка универсальна, и содержит и кириллицу и латынь.
7. Можно выключить старые кнопки переключения на русский, во избежании путаницы.
8. Всё, можно наслаждаться.

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

Update: Сгенерированные драйверы можно загрузить здесь. Это zip-архив с инсталлятором. Его надо распаковать во временный каталог и перейти сразу к пункту 5.

N.B.: Переключение раскладки глобально в системе и не запоминается для каждого окна. Это свойство данного метода и мне лично оно очень нравится.

N.B.: Caps Lock не переключает ни раскладку, ни текущий язык. Он лишь является модификатором внутри раскладки, так же, как, например, и Shift, и заставляет клавиатуру генерировать другие коды. Оказалось, что Microsoft Word использует информацию о текущем языке, чтобы установить правильную проверку правописания. Так что с приложениями Офиса возможны некоторые проблемы.

Update: Я сделал аналогичную раскладку для OSX.

2008-07-17

Про NAS

Всё выбираю домашний сервер. Читаю www.smallnetbuilder.com. Что-то не очень радует. Кажется, что выбор большой, но взяв случайную модель и задав поиск в гугле находишь столько интересного, и в частности, обычно то, что заявленные фичи совершенно не работают. В конце концов остановился на Synology. Сначала даже выбрал дешёвую модель DS108j. Но потом, обнаружив, что в ней 32M памяти, понял, что это совсем никуда не годится, и выбрал DS207+. Уже почти собрался купить и тут нашёл вот это. Даже и не знаю. Не обновляются они ни хрена. Продали, и забыли. А кто будет дыры латать? Что требуется: 1. Тихий, компактный, малопотребляющий серверочек. 2. RAID 0,1 3. Samba c правами доступа 4. Torrent downloader 5. PNP media server 6. LAMP server (Apache+Php+MySQL) - хотелось бы 7. Цена < $500 8. Расширяемость пакетами - очень бы хотелось 9. Web-администрирование. 10. Вменяемая фирма, выпускающая апдейты. 11. Чтобы всё это работало 24 часа в сутки без зависонов. 12. Не Windows - это моя профессиональная фобия. Обычный компьютер c Free Nas не подходит по пункту 1. Собственно, ни хрена не подходит по пунктам 10/11. Даже странно, стандарные умеренные требования. Короче, похоже, пока всё останется как было.

2008-07-16

Vita Nostra

Так получилось, что я не читал ничего у Дьяченко. Собираясь в отпуск и вычитав у Лукьяненки в ЖЖ (это было ещё до того) хвалебный отзыв, и особенно про особо неожиданную концовку, я решил, записать книжку в ебуку. Нагуглилась, как водится, через пять минут. Ещё полчаса ушли на переформатирование RTF в юникод и подбор размера шрифта. Треть книжки прочёл в самолёте, остальное - не спеша, понемногу, сидя в кресле на просторной ланаи (это я хвастаюсь). В принципе, мне понравилось. Захватывает. Хотя некая избыточная чернушность утомляет и не даёт читать залпом. Потому, прочитав главу, откладываю. То, что надо для отпуска. Концовка неплоха, хотя немного разочаровала. Это очень хорошая оценка. Обычно концовка разочаровывает очень. Особенно у того же Лукьяненки. И для тех, кто читал, выскажу мнение - виден филфак автора. Но физфак тоже немного просвечивает. Не у соавтора ли? Не зная биографических фактов могу ошибится, но уверен, что догадка верна - филфак. Модель физического мира построенную на языке, на словах, на существительных и глаголах, можно придумать только на филфаке. Потому мне она и показалась несколько разочаровывающей, хотя эффектно, не отнимешь, библейски эффектно. Но, вот, что с этим делать дальше - непонятно. Увлекательно, талантливо, эффектно, сцены засели в мозгах, но подозреваю, что извлечь из этого ничего не получится. Хотя то же самое я могу сказать про большую часть прочитанного. Короче, рекомендую. P.S. Сейчас читаю "Пещеру".

2008-07-10

AJAX, History and Backward Key

Я всегда считал, что AJAX и Browser History - вещи несовместимые. Т.е. пользоваться Backward/Forward в AJAX нельзя. Однако недавно с удивлением увидел, что в Gmail это как-то работает. Я нашёл несколько ссылок, самая лучшая - здесь. Короче, идея в том, что можно использовать document.location.hash - эта часть ссылки, которая после знака "#" не вызывает перезагрузки страницы, и, в принципе, может добавляться в browser history. Полный сценарий работает в FireFox, хотя привязка к Backward требует небольшого извращения. Но в остальных браузерах сценарий требует какого то совсем отвязного хакерства. А простая штука, в принципе. Я попробовал вставить простой код себе в галерею, но пока не в основную ссылку. В FF всё стало лучше и быстрее. Переходы между режимами быстрые, почти мгновенные. Backward and Forward работают по полной программе. В IE всё стало хуже, поскольку вся галерея стала одной позицией в истории. В Опере не проверял за неимением оной. У меня везде стоит FF, чего и вам желаю.

2008-07-06

Зелёная черепаха


Она выглядит зелёной, когда её встречаешь в море. А в океанариуме их хорошо отмыли. Оказывается, она совсем не зелёная.

2008-07-01

Я вернулся

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