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.
Этот график считается и строится непосредственно в браузере. Оказывается, вполне возможно добавить скрипт в блог.