Vista или нет ?

Провел выходные за переразбивкой дисков и переустановкой виндов. Заодно попробовал и Висту.

За:

  • есть драйвера под мой старый принтер Canon S9000 и 64-битную ОС (под XP x64 их нет, а 64 бита для меня обязательны, памяти 8 гигов). Собственно, ради упрощения печати (а сейчас я печатаю из VMWare) все и было затеяно.
  • Размер иконок на десктопе меняется через Ctrl-колесо. Прикольно и можно подобрать хороший размер.
Против очень очень много, хотя со временем исправят:
  • Драйвера под мой RAID (Areca 1210) имеются (от Win2003), но они неподписаны. Загрузиться можно только выбрав запрет проверки подписи драйверов. А это - одна из опций загрузчика, другие: Safe mode и так далее. В результате, сделав конструкцию незагружаемой (путем установки nTune в моем случае) нельзя откатиться назад.
  • Новые системные шрифты не нравятся. Т.е. без ClearType они смотрятся совсем плохо, а с ClearType плохо смотрятся другие шрифты. Когнитивный диссонанс и болят глаза.
  • Все нововведения с юзеринтерфейсом - не понравились. Мигает, переливается, а смысла никакого не видно. 'Use windows classic folders' и, соответственно, Windows classic theme.
  • Задолбали!!! предупреждения о том, что какая-то программа очень хочет запуститься. В нормальной жизни оно, скорее всего, приемлемо, а вот при заливке софтом - ужас просто.
  • Задолбала необходимость на каждый чих делать Run As administrator. Ну ладно в Windows/system32 не пускать, это я понимаю, но в юзерские (мои личные!) файлы ?
  • EFI boot - это чудовищно. Раньше это место правилось тестовым редактором, а сейчас - bcdedit. Подозреваю, что ставить XP после Висты тоже будет мучительно.
  • dir /s WIndows
    43678 файлов в 29806 каталогах, общий объем 9.6Gb
    Чего они туда понапихали ? Для сравнения, в свежеустановленной XP - 7109 файлов и 883 мегабайта.
Пошел сносить обратно. HDTV playback мне пока без надобности, а попечатаю по старинке, из VMWare player (+XP 32 bit).

Canon EF 70-200 IS

Подвернулся случай сравнить два объектива:

Canon 70-200/2.8 IS
Canon 70-200/4 IS

На мой вкус, у младшего рисунок на не слишком контрастных объектах не хуже, а края картинки на на бесконечности и f/4 даже и изрядно получше.

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

На не слишком далекие объекты (3-4 метра) точность наводки автофокуса на моей камере близкая и вполне хорошая.

Да, стабилизатор на взгляд примерно одинаковый: на 200 мм и 1/30 часть кадров имеет очень хорошую резкость, а часть "приемлемую" т.е. на A5 можно печатать если нет выбора.

Картинок не будет, верьте на слово.

Update Оказывается, по мнению фотозоны, младшенький "...may well be the very best tele zoom on the market today - it is certainly the best Canon zoom lens tested locally to date". Инструментальные тесты - не главное, но спорить не буду, мне новый 70-200 тоже очень понравился.

Update Провел операцию по замене f/2.8 IS на f/4 IS. Получается примерно бесплатно, но у нового гарантия на два года.

Кто без греха, тот пусть бросит

Яндекс (в лице Яндекс.Ленты) профукивал пароли пользователей ЖЖ. С целью экономии трафика, вестимо.

Количество разума в мире постоянно, а население растет.

Update 1:

  • Судя по всему, через Яндекс-ленты была доступна часть подзамочных записей
  • В настоящий момент импорт не работает (error 404), а значит это не свежевнесенная бага, а бывшая там давно
  • Если я правильно понимаю, чинить можно только путем размножения лент. Т.е. сделав "честный" агрегатор, который авторизованые RSS-ы будет хранить персонально для юзера.

Update 2: читаем на странице импорта:

Также учтите, что скрытые (опубликованные под замком ) записи пользователей LiveJournal не будут отображены в вашей ленте.
По всей видимости, при импорте OPML (с паролями) это обходилось. Сайд-эффект описан выше.

Update 3: наверное это просто совпадение, но эта запись по прошествии 17-ти часов не находится Яндекс-Блогами по точной цитате.

Умножение матриц, серия 3: Woodcrest против Opteron, ACML против MKL, Goto BLAS против всех

Использованная в предыдущем тестировании библиотека численных методов Intel Math Kernel Library очевидно не является оптимизированной под процессоры AMD. Следовательно, нужно изучать альтернативы.

Альтернатив на сегодня видно три: это библиотека AMD Core Math Library от производителя процессора и две OpenSource библиотеки: Goto BLAS и ATLAS (Automatically Tuned Linear Algebra Software). Их и изучим.

Все бенчмарки были совершенно одинаковыми: заполнялись исходные матрицы (значениями от 0.0 до 1.0), затем вызывалась функция sgemm (для single precision) или dgemm (double), время выполнения которой и измерялось.

Кроме Dual Opteron 275, в руки попал еще сервер Dual Xeon 5140, показалось полезным сравнить две архитектуры.

Есть ли у журналистов запрет на профессию ?

Коммерсант жжот!

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

Кроме того, он совершил еще одно ужасное преступление

Кроме того, в кастрюльку были заведены два оголенных провода.
Вот ведь мерзавец! А если бы четыре провода завел? Разровняло бы ДАС по камушку!

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

И снова (и снова) о вебе и кодировках русского языка

Примерно к 2001 году вопрос с кодировками для русскоязычных WWW-сайтов казался полностью решенным: все сколько-нибудь распространенные браузеры научились кодировке Windows-1251 и только ее можно было оставить на сайтах (выдавая правильный Content-Type)

Но жизнь на месте не стоит и появилась новая беда: UTF-8. Никаких проблем с самой кодировкой нет - все поддерживают, работать несложно, можно писать многоязыковые документы.

Сейчас расцветает динамика, которую рисуют разными видами яваскрипта (document.write, element.innerHTML=...). При выводе таких блоков есть safe way - выводим все в...

Русская языка

Ехал в лифте в своем доме, читал новые правила пользования, много думал.

При поездке с собаками, входя и выходя из кабины, держите ее за ошейник.

Ну и трогательное "Кнопка «Стоп» (при ее наличии) служит для..."

Умножение матриц, серия 2: MKL против компилятора, single/double и int

Продолжаем умножать матрицы. Для начала смоделируем sgemm/dgemm: C=alpha*A*B+beta*C

Нас интересует, естественно, самый быстрый способ из изученных ранее, а вопрос заключается в разнице в скорости между float и double и разницы в скорости между простым кодом, написанным вручную, и библиотечной реализацией.

Пересчет Google PageRank: дата заморозки

Рассматривая результаты нового пересчета pagerank (не закончилось) - для каких страниц оно произошло, а для каких - нет, удалось довольно точно определить дату, на которую заморожено состояние интернета для пересчета.

PageRank пересчитали по состоянию на 13-16 ноября

  Обоснование:

О роли Яндекс.Каталога в Яндексе.Цитирования

Продолжение-дополнение предыдущей статьи:

О роли Яндекс.Каталога в Яндексе.Цитирования

В предыдущей статье осталась нераскрыта тема Яндекс.Каталога: повлияло ли наличие сайта в нем на изменение ТИЦ при декабрьском пересчете.

Пришлось написать отдельный текст на эту тему, наслаждайтесь

Яндекс.Цитирования сайтов рунета

Наваял очередную нетленку Яндекс.Цитирования сайтов рунета в 4-м квартале 2006 г - обзор изменений ТИЦ с октября по январь по ~200 тысячам сайтов. Основные выводы:
  • ТИЦ серьезно упал, примерно на четверть (если брать средние значения)
  • В наибольшей степени это коснулось сайтов с относительно высокими ТИЦ, если ТИЦ был более 100, то с вероятностью 85% он упал
  • Письма из поддержки Яндекса "тиц упал у некоторых сайтов" - это явное преуменьшение размеров проблемы
наслаждайтесь чтением

О перемножении матриц и прочих архитектурных заморочках

Осваиваю тут новую NUMA-архитектуру (пока не скажу какую, хотя многие уже в курсе). Хочется ее адекватно сравнивать с возможностями PC-CPU, т.е. опять гонять тесты. Начал с умножения матриц только на CPU.

Если оставить в стороне продвинутые алгоритмы Штрассена и Копперсмита с Виноградом, ограничившись классическим подходом с умножением "строка на столбец", то умножение матриц вполне прямолинейно: C(i,j) += A(i,k)+B(k,j) С другой стороны, входные матрицы могут быть транспонированы (одна или обе). При этом меняется pattern доступа к памяти, за счет чего ожидается некоторая разница в производительности.

Рассматривая результаты Linpack, я ожидал получить разницу между «плохим» и «хорошим» паттерном в разы. Результат превзошел все ожидания, получилась разница на полтора порядка.

Кросспост из MT в LJ

Продолжаем патчить MovableType.

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

  • ljcrosspost — сделан неудобно, предполагает публикацию через выполнение тега, что означает перепубликацию при любой перевыкатке отдельных статей. Не понравилось.
  • MTLJpost сделан более человечно, публикация происходит при нажатии кнопки Save в редакторе т.е. вместе с trackback pings, нотификациями блог-поисков и еще один RPC call погоды не сделает.
Берем и ставим второй. Выясняется:
  1. Машинка глючит, если нет картинки (юзерпика), соответствующего категории. Но править это соответствие после каждого редактирования категорий - мучительно.
  2. Не хватает пары мелочей:
    • постинга тегов в ЖЖ
    • запрещения комментариев (с комментариями хочется всех загнать к себе)
Впрочем, пять минут работы напильником и готов очередной патч. Этот патч:
  1. Передает в ЖЖ теги
  2. Чуть лучше разбирается с ситуацией, когда не найден юзерпик
  3. запрещает комментарии.
Если запрещение комментирования не нужно, то из патча нужно удалить строчку
+   $lj->Setprop_nocomments($event,1);
upd: после ряда экспериментов, я матчинг юзерпика и категории вообще убрал нафиг. Странное оно и дикое

Темплейты MovableType

Меняя, в очередной раз, много темплейтов MT, задумался об более человечной их структуре.

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

На мой вкус, человеческая темплейтная система должна строиться от других принципов:

  • Нужны layout-темплейты. Т.е. задание структуры (количество колонок, их состав и пр.) и общих по всему блогу элементов (header, footer, навигация) в одном месте. Конечно, в сложных случаях layout-ов будет много, но почти гарантированно один layout распространяется больше чем на одну страницу. Редактировать одно и то же в нескольких местах - глупо.
  • Нужны блоковые темплейты. Очевидный пример блока - это представление первых строк записи в индексах. Оно повторяется во всех архивах, в результатах поиска и так далее. Редактировать такую кучу мест - не менее глупо, чем править заголовки по всему блогу

Русификация MovableType

Русификация MovableType состоит из таких шагов
  1. Русификация дат
  2. Русификация имен файлов для dirify
  3. Перевод темплейтов и системных сообщений
Первые два пункта требуют правок кода, каковые правки и были сделаны. Все действия производились над MovableType 3.33

UTF-8 и только он

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

MovableType - сосет

Попытка разобраться с MovableType оставила двойственное впечатление:
  • Штука, несомненно, очень хорошая, вложена масса труда
  • Но при этом, сосет не нагибаясь
и ведь чем ближе рассматриваешь, тем больше хочется ругаться. Ужос просто!

Сначала о хорошем:

  • Штука - работает.
  • Поддерживается UTF-8, причем без глупостей. PostgreSQL-ю UTF8 ставят насильно, за что авторам MT большое спасибо - у меня в силу исторических причин default client encoding другая (скажем, багзиллу пришлось недавно дохакивать в этом месте).
  • Можно поставить и сразу начать
  • ...

Растет, голубчик

За три месяца количество живых сайтов в домене .RU увеличилось на 12 процентов: 24 сентября их было 477 тысяч, 22 декабря - 535 тысяч.

Двенадцать процентов квартальных - это почти 60% годовых (а с марта по сентябрь росло так же).

А если просто посчитать в дЕньгах за базовые услуги, двадцатка в год за домен и десятка в месяц за хостинг, то этот рынок прирос за квартал на 8 миллионов. Это без третьего уровня, com, info и так далее.

Postgresql 8.2, UTF8 и русские буквы

В отличие от PostgreSQL 8.1.x, табличка преобразования UTF8<—>CP1251 уже нормальная, € там имеется.

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

Трудности перевода

На сайте СУПа весь октябрь висел замечательный контакт для потенциальных сотрудников
    ... E-mail... ...телефон... Алексей Ишков Director of Execution

Потом одумались и перевели:

    ...... Алексей Ишков Директор по производству

Postgresql 8.1.x и UTF-8

В PostgreSQL начиная с версии 8.1.4 ужесточили правила конверсии из UTF-8 в однобайтовые кодировки. Если раньше при неконвертируемом символе было предупреждение, которое попадало в лог (или в приложение, если оно читало Warnings) и все работало, то сейчас неправильный символ приводит к ошибке и запрос не выполняется.

Тут же выяснилось, что у этих криворуких уродов таблица преобразования из/в windows-1251 неверная, там пропущен символ €. Пришлось, как водится, править.

патч для таблиц перекодировки UTF8<->CP1251 PostgreSQL 8.1.4 и 8.1.5

Заметим, что введение такой безусловной функциональности в minor-версии &mdash это моветон. Разработчики нам обещают, что в пределах minor-а все будет работать без backup/restore базы, а это нифига не так, приложения просто перестали работать совсем. Впрочем, багу с конверсией посчитали vulnerability, что вполне верно если перекодировке подвергается пользовательский ввод. Но не во всех приложениях это впрямую пользовательский ввод, более того у нас правильность символов контролируется на этапе ввода, а значит нам такая неотключаемая проверка нафиг не нужна.

Пришлось делать патч, который ее относительно safe выключает: все неизвестные символы при преобразовании UTF8->однобайтная кодировка меняются на пробел. Вот этот патч: качать. Естественно, этот патч можно рекомендовать только тем, кто понимает что делает.

Pages

Subscribe to blog.lexa.ru: все статьи