Версия 0.02 исправляет известные на сегодня проблемы:
Если комментарий один (добавился один свежий), то неправильно импортировалось имя комментатора. Это фишка XML::Simple (разное поведение с одним значением и с несколькими), про которую я постоянно забываю.
Неправильно устанавливалась homepage автора комментария (ссылка на его ЖЖ).
Добавлен скрипт fixauthors.pl, который правит накопленные ошибки прямо в БД сайта.
С начала 2010 г. товары, приобретаемые россиянами по почте в зарубежных интернет-магазинах и каталогах, приравнены к обычным международным отправлениям. Ранее же товары, пересылаемые от одной зарубежной организации в адрес нескольких лиц в России, приравнивались к импортируемому товару, который оформлять и растаможивать должно было уполномоченное лицо продавца в России, отмечается в сообщении.
Написано несколько загадочно, но так оно и оказалось на самом деле.
А ты, Вовочка, молчи, а то мы всю физику к ..уям сведем... анекдот
О консенсусе
Несмотря на мой скепсис в отношении цветовой науки и ,
прикладную задачу копирования изображений я считал решенной (как минимум, в простых случаях).
Ну вот есть файл (RGB), к нему прилагается профиль (ICC), следует ожидать что на одном и том же устройстве (LCD мониторе, чтобы быть конкретным) он
при включенном Color Engine отобразится более-менее разумно и одинаково.
Естественно, предполагается что все необходимые условия соблюдены: монитор отпрофилирован, показываемые цветовые данные привязаны к цвету (снабжены профилем), условия наблюдения постоянные, программа показа розумиет ICC, наливай да пей бери и выводи.
Конечно, жизнь несколько богаче и 2.5 года назад я уже исследовал проблему точности CMM (Color Management Module) и написал про это серию статей.
Но я наблюдал в эксперименте разумные ошибки - 5-6, а для хороших CMM и 8 бит данных сохранялись, отклонения от смены CMM в худшем случае были
заметны глазом, но не были фатальными.
Однако и
заставили пересмотреть
вышеописанное мнение. Спасибо добрым людям, что обратили внимание, не дали пройти мимо.
Да, на картинке слева вы видите кусочек из этого файла, показанный на одном и том же мониторе, с одним и тем же профилем монитора, одним
и тем же профилем при цветовых данных файла, одной и той же программой (Adobe Photoshop) с одними и теми же настройками за исключением одной....
В прошлом году я прощелкал, а в этом - нет, успеваю анонсировать.
С 24 февраля по 12 мая, еженедельно, по вторникам, на ВМиК МГУ (Москва, Воробьевы горы, м. Университет) будет читаться курс программирования NVidia CUDA для всех желающих.
Процитирую из анонса:
Московский Государственный Университет им. М.В. Ломоносова совместно с компанией NVIDIA приглашает заинтересованных студентов пройти специализированный курс "Архитектура и программирование массивно-параллельных вычислительных систем" на основе технологии CUDA. В рамках курса вы узнаете о современных многоядерных архитектурах, моделях программирования и основополагающих принципах, лежащих в основе построения эффективных параллельных алгоритмов. Вы также познакомитесь с реализациями типичных алгоритмов и задач, возникающих в цифровой обработке сигналов, математическом моделировании и гидродинамике. По окончании курса вы сможете применить свои знания на практике уже сегодня при решении вычислительноемких задач в ваших курсовых и дипломных работах. Приобретенные знания необходимы для всех, кто планирует связать свое будущее с высокими технологиями и высокопроизводительными вычислениями. Всем студентам, успешно завершившим курс "Архитектура и программирование массивно-параллельных вычислительных систем" будут выданы дипломы.
Про я уже неоднократно здесь писал. Напомню на всякий случай, что этот адаптер позволяет ставить среднеформатную оптику на узкие камеры и получать уклон(ы) и подвижки. Уклон всегда перпендикулярен подвижке, но вся конструкция вращается (как в старых T/S-объективах Canon в заводской конфигурации).
За прошедшее время я получил довольно вопросов на тему "а где и как купил" (первый раз купил на eBay), купил себе вариант под мамийскую оптику, хасселевский вариант пропил.
Я как-то не уследил, потому что AMD/ATI-шными видеокартами начал интересоваться с выходом HD5xxx, а оказывается все очень весело. На это уже пообсуждали, ну я сюда наброшу, в более концентрированном виде.
Раньше высокоуровневым средством для разработки считалок на видеокартах у ATI был Brook+. Однако начиная с какой-то беты Brook из SDK исчез.
Читаем в (это август-2009):
Yes, this SDK 2.0 beta is for CPU only. It focuses on OpenCL 1.0 for CPU.
Brook+ is now available on SourceForge: http://sourceforge.net/projects/brookplus
Ну ладно, Stream SDK Beta-1 вообще не поддерживает никаких видеокарт, смешно.
за несколько дней эксплуатации совершено опротивел. Изрядную часть его достоинств я почикал, оставил только импорт комментариев, но и с этим оно справляется не на пятерку:
Комментарии с пустым сабжектом - так и оставляет пустым, в результате RSS без ссылок, список свежих комментариев - тоже без них. Поправить недолго, но...
Уведомления о ЖЖ-комментах приходят дважды, один раз из ЖЖ, второй раз из моего блога. Это, типа, фича.
Работает долго т.к. каждый раз разбирает многомегабайтный XML в котором весь мой ЖЖ за все времена.
Что бы не злопыхали злопыхатели, а успех школьного интернета совершенно очевиден. В 2.5 раза за год. Довольно случайно наткнулся именно на это слово, а оно - очень показательно.
Если поиграться с регионами, то видно, что в Москве рост за год не такой большой, кроме того Москва дает всего порядка четверти запросов в пиках (а не треть, как для рунета целиком), что несомненный успех именно для регионов.
У меня исторически имеет место бардак с именами URL: все они порождены из заголовков записей, но
В большинстве случаев дефис заменен подчеркиванием (и в заголовок данной записи специально добавлен дефис, чтобы проверить).
В некоторых случаях дефис оставлен дефисом, это привет MovableType, настроенного по умолчанию из лета 2008 года.
В некоторых случаях дефис вовсе скушали, какая-то версия MT заменяла конструкцию ' - ' не на '___' и не на '_-_', а на '__'.
Причем, как выяснилось по логам, есть внешние ссылки на разные представления одного и того же, уж не знаю откуда они взялись.
Проблема лечится вот таким вот SQL-оператором (regexp_replace() - чисто постгресовское, MySQL-аналог найдите сами. Это только для nodes, с таксономией в моем случае проблем нет совсем.
insert into url_alias(src,language,dst) select src,language,regexp_replace(dst,'-','_','g') from url_alias where src like 'node%' and dst like '%-%';
Делаем категории тегами (чтобы не заполнять значения).
Импортируем.
Меняем тип таксономии категории на "Multiple select/Mandatory".
Правим пути к категориям.
Увы, но где-то на этом пути теряются категории у изрядной части записей и теги - у единиц, повторный импорт лечит только частично.
Я подозреваю, что крышу рвет, если есть теги, совпадающие с категориями, но не уточнял.Теги портит LJ Sync, пришлось его еще шашкой....
Пришлось написать скрипт (качать тут), который правит эту проблему, анализируя таблицу mt_posts
самостоятельно (запускать после импорта, когда все теги/категории уже созданы).
Синхронизация Drupal с ЖЖ оказалась гораздо более простым делом, чем в случае Movable Type:
Ставим
Ставим (плюс нужные модули для работы jbackup.pl)
И все работает (PROFIT!)
Ну, если быть точным, то для LJ Sync нужно поставить еще , а то синхронизированное туда приезжает тут же обратно, второй копией.
А если быть совсем точным, то LJ Sync не работает с PostgreSQL. REPLACE INTO {table}, убил бы нафиг....
Но. LJSync делает куда больше чем не нужно:
Вытаскивает из ЖЖ записи, которые там появились независимо. Это хорошо, если есть адын standalone-блог и адын ЖЖ, но у меня два стандалона гадят в один ЖЖ.
Темизирует look-and-feel Друпала "под ЖЖ". С синенькими заголовками комментариев и заголовками записей в ЖЖ-шном духе.
Для всех ЖЖ-шных комментаторов заводится аккаунт на Друпале. Оно так и на MT у меня было, но на MT эти аккаунты были бесправные, а тут в них можно авторизоваться (если OpenID включить) ну и типа писать.
Описанная ниже методика предназначена для заливки пустого сайта на Drupal. Задача доливки контента на сайт, где уже что-то есть - не ставилась.
Более того, на стадии импорта комментариев все старые комментарии точно будут стерты.
Если вам нужно пополнение имеющегося сайта, то описанные ниже скрипты нужно взять за основу и допилить.
Кроме того, никакими enterprise-features, вроде транзакций или обработки ошибок я категорически не заморачивался. Предполагается, какбэ, что импортом данных
мы занимаемся тихо в уголочке, поступлением новых данных на старый сайт можем управлять, а после завершения импорта просто подменим сайт на скаку.
Импорт записей
Задача: вытащить записи (посты) из БД MovableType и запихать их в БД Drupal в виде объектов типа Story. Создание Drupal-объекта связано с заполнением
нескольких таблиц (node, node_revisions и прочие node_*, url_aliases), пополнением таблицы тегов, другими словами эту работу не хочется делать вручную
(SQL-запросами), а хочется перевесить на внутреннюю механику Drupal (ведь при создании записи оно как-то само все делается...).
План работ тривиален и прост:
Ставим модули Table Wizard и Migrate.
Добавляем нужные поля в структуру данных записи Story (не вручную, включением готовых модулей).
Запускаем скрипт, который перенесет нам данные постов в БД Drupal.
Импортируем образованную таблицу с постами в Table Wizard.
Делаем импорт через .
Полируем результат.
Первый пункт особых вопросов вызвать не должен, обычные модули. За собой потянут и , их тоже надо выкачать и поставить,
до кучи полезен и Views UI.