Drupal, BlogAPI и теги

Задача: публиковать автоматические ленты новостей на сайтах. Новости берутся с веба, обрабатываются (распознается тематика, присваиваются теги), после чего появляются на сайте.

По идее, для этого предназначен Aggregator, но его интеграция с Taxonomy запланирована только в Drupal 7. Кроме того, pull мне очень не понравился, хочется push. Для push есть BlogAPI, там даже поддерживается установка категорий (тоже довольно диким способом, ибо информация о словарях недоступна, можно получить только список терминов), но вот установка тегов (т.е. терминов, которых в словаре может не быть) через стандартный BlogAPI невозможна. mt_tags - не поддерживаются и не обрабатываются.

Я уже почти поправил BlogAPI (всего то нужно задать один параметр конфигурации - в какой словарь класть теги, остальное все тривиально) и оно уже почти работало, но нашлось готовое решение.

Inline Tags делает все что нужно. Не стандартным путем (т.е. использовать готовое поле tags в blog-редакторе и передачу значений в mt_tags), но вполне приемлемым: список тегов пишется в [tags][/tags] и все работает (проверено).

Drupal: микроправки к BlogAPI

Все-таки Drupal пишут индусы. Пришлось по уши залезть в код, чтобы выяснить, отчего не работают metaWebLog.getCategories и mt.getCategoryList. Просто забыли проверить авторизацию, отчего, по счастью, просто все сломалось, а не стало отдавать все всем наружу. Не тестируют.

Патч: blogapi.diff.gz

Патч зашлю в Drupal сегодня.

Стандартное уведомление: если вы не знаете что такое патч, то он вам не нужен.

P.S. Работу с массивами в PHP проектировали ненатуралы.

Update: правка вошла в Drupal 6.5

This Stuff is Really Right

rrs_gitzo.jpg После наслания диарейных лучей, EMS-Почта России напряглась и донесла до меня посылку от Really Right Stuff (голова, L-bracket, площадка под объектив). Ехало оно ровно 19 дней.

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

Gitzo GT1541 + голова BH-25 от Really Right Stuff

Весит все это вместе 1260 грамм (у штатива снята центральная колонна), максимальная высота вместе с головой - 155 сантиметров, минимальная - 22. На картинке - вся эта конструкция вместе с 1DmkIII и объективом 300/4.

Единственная претензия к конструкции - отсутствие отдельной панорамной базы. Правильным решением было бы вместо простой верхней защелки купить панорамную, возможно я так и сделаю если будет повод что-то еще на RRS заказать, тогда будет два варианта верха, удобный и легкий (разницы почти 200 грамм).

жить в эпоху перемен....

Я как-то был потрясен (не задумывался) вот этим вот сообщением в каментах. Буднично так, миллиард MD5 ключей в секунду на видеокарте. Надо найти GTX280 и на ней попробовать...

В сочетании с докладом с РИТ про DDOS и ботнеты, в голове нарисовалась интересная картина: вирус (троян, адварь), который захватывает неиспользуемые ресурсы видеокарты пользователя. Думаю, что если гигафлопсов реально много, то найти на них покупателя вполне можно.

В distributed.net еще нет команд, которые ресурсы именно так получают?

I am

Сегодня и завтра я весь день буду на Рогожинском Хайлоаде. Сегодня - не знаю сколько, но думаю что весь день. Завтра - рулю там самой вечерней секцией про поиск, а значит точно буду весь день.

Желающие что-то пообсуждать или там поставить мне коньяку - welcome

nofollow-noindex патч для Drupal 6.4

Ссылками в комментариях спамят не только этот блог, но и мои сайты на Drupal (libraw.org,gpgpu.ru и так далее). В отличие от MovableType, антиспам-средства у Drupal развиты еще меньше, приходится пропускать без модерирования только зарегистрированных юзеров, но и это не вполне помогает.

Мировая часть проблемы в Drupal решена - ко всем ссылкам в юзерском контенте можно добавлять rel=nofollow, отчего спамить под гугл становится неинтересно. Остается яндекс, который rel=nofollow не понимает (насколько мне известно), но зато понимает "рамблеровский" (придуманный Димой Крюковым) тег <noindex>.

Сооответственно, нужно добавить три строчки кода к modules/filter/filter.module:

Сделано примерно так же, как для Movable Type:

  • Сама ссылка заменяется на явоскриптовую
  • В noscript,noindex, a.. rel=nofollow помещается слово [link] которое и становится ссылкой для Javascript-disabled people (стандартные стили у Drupal такие, что картинка переносится на новую строку и красивая стрелка не получается).

Стандартный дисклеймер. Если вы не знаете что такое патч, то вам все вышеописанное не нужно.

Ссылками в комментариях спамят не только этот блог, но и мои сайты на Drupal (libraw.org,gpgpu.ru и так далее). В отличие от MovableType, антиспам-средства у Drupal развиты еще меньше, приходится пропускать без модерирования только зарегистрированных юзеров, но и это не вполне помогает.

Мировая часть проблемы в Drupal решена - ко всем ссылкам в юзерском контенте можно добавлять rel=nofollow, отчего спамить под гугл становится неинтересно. Остается яндекс, который rel=nofollow не понимает (насколько мне известно), но зато понимает "рамблеровский" (придуманный Димой Крюковым) тег <noindex>.

Сооответственно, нужно добавить три строчки кода к modules/filter/filter.module:

Сделано примерно так же, как для Movable Type:

  • Сама ссылка заменяется на явоскриптовую
  • В noscript,noindex, a.. rel=nofollow помещается слово [link] которое и становится ссылкой для Javascript-disabled people (стандартные стили у Drupal такие, что картинка переносится на новую строку и красивая стрелка не получается).

Стандартный дисклеймер. Если вы не знаете что такое патч, то вам все вышеописанное не нужно.

nofollow-патч для MovableType, 3-я попытка

После высказанной критики, вчерашний патч пришлось усовершенствовать:

  • Картинка со ссылкой убирается в <noscript>, большинство посетителей ее не увидят.
  • Переход по ссылке делаем яваскриптом, через window.location=

Патч вот: patch-nofollow-img-js.gz

Понятно, что есть недостатки:

  • В статусной строке не отображается URL. Это тоже лечится яваскриптом, но уже лень т.к. просто присвоение windows.status= не работает в Firefox/Opera, нужно таймеры ставить.
  • Потерялось открытие ссылки в отдельном окне. Можно, наоборот, сделать через window.open, но тогда потеряется открытие в текущем. Счастья нет.

В этом блоге, впрочем, используется несколько другая версия патча, которая оставляет ссылки на мои сайты прямыми, а остальные открывает в новом окне. Не публикую т.к. не нашел разумного способа вытащить хотя бы URL текущего блога в том месте, где зовется nofollowfy();

MovableType: новый nofollow-патч, MT 4.21

Поапгрейдил варез на MovableType 4.21 (коммерческий, раз уж его всем раздают). Работает. Стало местами поприятнее выглядеть, а так я кардинальной разницы не вижу. Ну плагин для тредовых комментариев теперь прямо в поставке, но он у меня и так был.

Раз уж засунул туда нос, переделал свой патч для <noindex>. У старого была проблема в том, что сам текст ссылки не индексировался Яндексом (ибо ссылка была запихана в noindex целиком). Теперь ссылка устроена иначе - текст подчеркивается, а сама ссылка теперь в иконке (позаимствованной у Википедии). Пример можно посмотреть в любых комментариях, например тут.

Скачать патч можно тут:

  • patch-nofollow-img.gz. Возможно, вам захочется поправить URL картинки, но это уже сами.

Чтобы два раза не вставать, полный список остальных моих патчей к MT 4.x:

  • patch-monday-mt41.gz делает понедельник первым днем недели в стандартном календаре.
  • patch-rudate.gz - русские названия дат (переведен блок для итальянского языка, его и нужно ставить в настройках блога).
  • patch-dirify.gz - добавляет русские буквы в таблицы "дирификации".

Все патчи подходят к 4.21

LibRaw 0.6.0 Release

Я понимаю, что уже опротивел за последние три дня, поэтому буду краток.

LibRaw 0.6.0 Release берут отсюда. Полный Changelog там, а краткий вот:
  • Поддержка Nikon D90 и P6000, Canon 50D, Sony A900, Panasonic FZ28 и LX3. При этом D90 и A900 поддержаны нормально, а для остальных нет таблиц RGBG-XYZ, цвета могут быть кривоваты (и будут еще апдейты).
  • Примитивное подавление бэндинга для камер Canon.

LibRaw 0.5.5 и LibRaw 0.6.0 Beta2

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

Скачивать тут, Changelog тоже тут

Мы уже проползли в KDE (в 4.2, это даже не бета :) отчего масса софта уже использует LibRaw (конечно, если вы возьмете свежую libkdcraw и соберете), цитирую:

  • digiKam - photo management software
  • kphotoalbum, an alternative to digiKam but with less features.
  • gwenview, a image viewer, used to show thumbs in icon view.
  • dolphin, a file manager, used to show thumbs in icon view.
  • darkroom, a experimental RAW converter
  • krita, a image editor, used as RAW image loader
Поздравления принимаются

LibRaw 0.6.0 Beta1

По требованиям французских и немецких трудящихся, была добавлена разнообразная функциональность:

  • Обработанное изображение можно получить в виде RGB-битмэпа (ранее только в виде квадрупляев R-G-B-unused)
  • Добавлены вызовы для индикации стадий обработки (рисования прогресс-баров) и досрочного прекращения обработки.
  • Добавлена работа с профилем камеры/выходным профилем через LCMS
  • Вспомогательные вызовы: получение списка поддерживаемых камер, получение информации о версии.
  • поддержка работы с картой плохих пикселей и вычитанием темнового кадра.
  • поддержка OpenMP для AHD-интерполяции и шумопонижения.
  • исправлена одна ошибка в adjust_sizes_info_only

Скачать эту версию можно c сайта LibRaw со страницы downloads в разделе бета-версий.

LibRaw имеет шансы появиться в digiKam, куда оно проникает через libkdegraphics.

VMWare Tools для Hackintosh

[Оглавление раздела Hackinthosh]

В копилку домашнего мастера:

VMware Tools для Mac OS X можно взять из VMWare Fusion. Они там лежат в /Library/Application Support/VMWare Fusion/isoimages/darwin.iso
Подмонтируете их как CD, инсталлируете.

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

Надо сказать, что на маке (Mac OS Server под VMWare Fusion) от этих тулсов начинает нормально работать дисплей (можно разрешение менять, мышь выбегает за пределы и меняет фокус, появляется Unity).

Pages

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