kdebindings и ruby1.9

Злосчастное обновление ruby до 1.9 сломало не только watir, но и мои плазмоиды.

Полдня провёл в попытках разобраться с ситуацией – при загрузке rubygems вываливается трэйс, смысл которого в:
undefined method `synchronize’ for #<Mutex:0xab1cd2> .

Нашёл несколько сообщений с описываемой проблемой «встроенного ruby» , но решения по всей видимости нету.

Поэтому пришлось установить «старый» ruby и собрать kdebindings с ним:

tar -zxf kdebindings-*.tgz
cd kdebindings-*
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DENABLE_KROSSRUBY=off -DENABLE_PYKDE4=off -DRUBY_INCLUDE_PATH=/opt/ruby4kde/lib/ruby/1.8/i686-linux/ -DRUBY_LIBRARY=/opt/ruby4kde/lib/libruby.so -DRUBY_EXECUTABLE=/opt/ruby4kde/bin/ruby ..
make && make install

watir и ruby1.9

В системе обновился ruby до 1.9 и после переустановки нужных gem-ов ВНЕЗАПНО обнаружилось, что watir не грузится.

/usr/lib/ruby/gems/1.9.1/gems/user-choices-1.1.6/lib/user-choices/arglist-strategies.rb:152: warning: else without rescue is useless
/usr/lib/ruby/gems/1.9.1/gems/user-choices-1.1.6/lib/user-choices.rb:1:in `require’: /usr/lib/ruby/gems/1.9.1/gems/user-choices-1.1.6/lib/user-choices/arglist-strategies.rb:148: syntax error, unexpected ‘:’, expecting keyword_then or ‘,’ or ‘;’ or ‘\n’ (SyntaxError)
when 0: # This is not considered an error because another source

Решить «проблему» удалось редактированием нескольких файлов в /usr/lib/ruby/gems/1.9.1/gems/user-choices-1.1.6/lib/user-choices/ – в arglist-stragergies.rb, conversions.rb и sources.rb необходимо все конструкции вида when XXXX : заменить на when XXXX then

10.12.09  |  ,  | 3 comments

jabber web-status

В процессе работы над Секретным Проектом™ образовался побочный продукт, который возможно покажется кому-то полезным. Суть «продукта» – показать статус вашего jabber-аккаунта в вебе, как это делается например для icq.

Для работы требуется добавить себе в ростер контакт webstatus@rpz.name, после этого ваш статус будет доступен по следующим ссылкам:

Сделано как обычно just for fun. Вы можете пользоваться этим сервисом как заблагорассудится, можете писать пожелания и комментарии, но не можете предъявлять претензии…

redmine mail reader

Некоторое время назад для ведения “задачаоборота” мы c небольшой группой “единомышленников” решили использовать Redmine. Коллеги стали замечать, что волосы у нас стали шелковистыми, одежда сияет белизной, а главное – СУХО! Ну и постепенно начали вовлекаться в процесс.
Сразу же, с порога, выдвинули претензию – а почему нельзя создать задачу из письма (Слава привет!) ? Главным аргументом против магии седьмого уровня Copy-Paste было то, что им приходит множество аттачментов в письмах, которые и являются сутью поставленной задачи. Их надо сохранить на диск и лишь потом прикрепить к задаче… Неудобно, ага.

Сходу не смог найти необходимый функционал ни в самом redmine, ни в рабочих плагинах( использую redmine из trunk-а, с ним многие плагины или не работают вовсе или наполняют его “глюками” в самых неожиданных местах). Посему пришлось наваять оный плагин самостоятельно. Суть его работы такова:
В gmail-ном ящике (да в принципе любой imap-сервер подойдёт) создаются ярлыки (папки) с названиями, соответствующими идентификаторам проектов в redmine.
Rake-таск из плагина (нужно периодически запускать по cron-у) проверяет наличие писем с этими ярлыками и создаёт новые задачи, в соответствующих проектах, прикрепляя все вложения к тикету. Для защиты от всякого рода спама на всякий случай письма принимаются только от зарегистрированных пользователей.

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

Если вам такой функционал интересен, то вы можете скачать плагин себе. Установка ничем не отличается от других плагинов – распаковываем содержимое в vendor/plugins, копируем config/mail_reader.yml.example в RAILS_ROOT/config/mail_reader.yml, редактируем конфиг, рестартуем redmine, добавляем модуль в настройках проектов и добавляем в cron задачу rake mailreader:check

Для работы требуется gem tmail для корректного вытягивания имён файлов во вложениях. Да я знаю, что он (tmail) уже имеется в составе actionmailer, но я так и не сообразил как корректно его загрузить – буду рад, если кто-нибудь поможет правильно подключить этот класс.

Отзывы? Пожелания? Добро пожаловать в комментарии!

07.11.09  |  ,  | 2 comments

Unknown table engine ‘InnoDB’

Обновление mysql до 5.1 вылилось в такое вот сообщение.

Выполнение mysql -uroot -e”show engines” подтвердило – действительно unknown.

После разных пересборок, шаманств и плясок с бубном решение всё-таки нашлось – оказывается innodb теперь плагин и его надо загружать. Для чего необходимо добавить в строку запуска mysqld следующие параметры:

–plugin-load=innodb=ha_innodb.so;innodb_trx=ha_innodb.so;innodb_locks=ha_innodb.so;innodb_lock_waits=ha_innodb.so;innodb_cmp=ha_innodb.so;innodb_cmp_reset=ha_innodb.so;innodb_cmpmem=ha_innodb.so;innodb_cmpmem_reset=ha_innodb.so

Рубиновые плазмоиды

qt-интерфейсКак уже рассказывал, совершил я страшный грех – перестал пользоваться виндой. В качестве рабочего стола теперь у меня KDE4. Красоты неописуемой, удобством не обделённый, загляденье, да и только. И всё вроде хорошо, но есть часть рутины, которая довольно привычна была на виндовом экране, но на linux её терпеть прямо нет никакого желания. Одним из примеров такой рутины был запуск rdp и radmin клиентов, если с первым под виндой ещё более-менее можно сладить (он хотя бы хранит учётные записи и настройки), то второй даже пароль сохранять не умеет.
Обычно всякие вспомогательные программки делаются на php, но не в этот раз – уж коль скоро захотелось запускать что-то с окошками, захотелось и свою облечь в какой-нибудь приличный вид. php-gtk был отвергнут сразу (ну не нравится мне gtk-ный интерфейс, не нравится и всё тут). Решил сделать на Qt4 – благо информации в интернете по данной теме полно. (more…)

10.09.09  |  ,  | 2 comments

Требуется регистрация

В последнее время пришлось несколько раз столкнуться с интернет-магазинами. Всякая мелочь (а приятно) и вот что хотелось бы “выхлопнуть” всем, с позволения сказать, разработчикам этих, с позволения сказать, сайтов…

Конечно хочется сказать, чтобы убили себя об встречный КаМАЗ Хочется заставить их попробовать купить в своих магазинах что-нибудь. Помучайтесь, гады!
Представь себя, неуважаемый разработчик, в супермаркете. Где тебе надо с полной тележкой всякой всячины выстоять получасовую очередь на регистрацию. Через полчаса твою тележку отнимут. И лишь потом ты снова насобираешь продукты и сможешь пойти на кассу. Весело? Абсурд?

Так за каким, прости, мужским половым ты требуешь от меня РЕГИСТРАЦИИ? Почему я должен ждать дурацкое подтверждение полчаса? Почему моя корзина снова ПУСТА?!?

Спроси у меня телефон для связи и извести продажную женщину(мужчину) о новом заказе и мы расстанемся друзьями. Зачем тебе ЗАРЕГИСТРИРОВАННЫЙ покупатель, который никогда к тебе больше не вернётся? Нравится мастурбировать на мои контактные данные? Сохрани их к себе, вместе с оформленным заказом, делай с ними всё что захочешь, но потом…

P.S.

Всё описанное не про какой-то конкретный магазин – они ВСЕ такие. За очень редким, но к счастью существующим исключением. Первое правило маркетинга по-русски – “Клиент прежде всего урод”…

UPDATE: ещё один пост ненависти с более широким перечнем претензий.

08.09.09  |   | стань первым