C4 always sleepy

3Mar/100

Unicorn и Rails 2.3.5, а также bluepill и delayed_job

Читая одну замечательную статью по поводу использования bluepill для мониторинга delayed_job я решил углубиться и задал вопрос автору bluepill - а можно ли использовать его замечательную тулзу вместе с пассажиром, на что получил отрицательный ответ и предложение использовать unicorn. Все бы конечно хорошо, но при попытке запустить его с моим приложением на rails 2.3.5 я получил интересную ошибку:

I, [2010-03-03T22:33:14.466155 #65927] INFO -- : listening on addr=0.0.0.0:8080 fd=3
I, [2010-03-03T22:33:14.525494 #65927] INFO -- : worker=0 spawning...
I, [2010-03-03T22:33:14.526519 #65927] INFO -- : master process ready
I, [2010-03-03T22:33:14.528122 #65928] INFO -- : worker=0 spawned pid=65928
I, [2010-03-03T22:33:14.656300 #65928] INFO -- : Refreshing Gem list
Missing the Rails 2.3.5 gem. Please `gem install -v=2.3.5 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.

особое внимание - на последнюю строчку :) немного покопавшись в интернете выяснил, что конфликт вызван наличием в системе rack 1.1.* и использование rack 1.0.* решило проблему.

2Mar/100

Новая раздача слонов на Macheist

Наверняка многие маководы уже заметили, что на Macheist снова готовится раздача слонов и в настоящий момент до нее остался 1 день. На самом деле - раздача уже началась, поскольку желающие уже имеют возможность получить себе бесплатно лицензию на Squeeze - программного компрессора-декомпрессора для файлов на жестком диске - висит в бэкграунде, каши не просит, а место свободное экономит :)

Tagged as: , No Comments
1Mar/100

Установка rails3.beta на Windows

Буквально вчера меня и еще пару коллег окрестили сектантами за пропаганду продукции эппл, которая несмотря на свою "кривизну" (линк от еще одного коллеги пришелся очень даже в тему) занимает своё почетное место у меня на столе. Именно поэтому я решил написать небольшое руководство по установке rails 3 на windows-машине и теперь с нетерпением жду обвинений в сектантстве от php-кодеров :)

Ну что же - давайте приступим к делу. Покопавшись немного в интернете я нашел ряд рекомендаций от различных авторов и приступил к установке.

Первым делом надо поставить свежий ruby 1.9 и git. В первом случае мне пригодился rubyinstaller, а во втором - msysgit. Установили? Поехали дальше :) Нам необходимо поставить все необходимые зависимости, поэтому

C:\>gem install tzinfo builder memcache-client rack rack-test erubis mail text-format thor bundler i18n

По идее еще надо бы установить rack-mount, но текущая версия 0.6.0 не понравилась actionpack-у, поэтому пришлось пойти у него на поводу и установить версию 0.4.0

C:\>gem install rack-mount --version 0.4.0

переходим к самому интересному

C:\>gem install rails --pre
Successfully installed actionpack-3.0.0.beta
Successfully installed arel-0.2.pre
Successfully installed activerecord-3.0.0.beta
Successfully installed activeresource-3.0.0.beta
Successfully installed actionmailer-3.0.0.beta
Successfully installed railties-3.0.0.beta
Successfully installed rails-3.0.0.beta
7 gems installed
Installing ri documentation for actionpack-3.0.0.beta...
Installing ri documentation for arel-0.2.pre...
Installing ri documentation for activerecord-3.0.0.beta...
Installing ri documentation for activeresource-3.0.0.beta...
Installing ri documentation for actionmailer-3.0.0.beta...
Installing ri documentation for railties-3.0.0.beta...
Installing ri documentation for rails-3.0.0.beta...
Installing RDoc documentation for actionpack-3.0.0.beta...
Installing RDoc documentation for arel-0.2.pre...
Installing RDoc documentation for activerecord-3.0.0.beta...
Installing RDoc documentation for activeresource-3.0.0.beta...
Installing RDoc documentation for actionmailer-3.0.0.beta...
Installing RDoc documentation for railties-3.0.0.beta...
Installing RDoc documentation for rails-3.0.0.beta...

Кажется все? А вот и нет - про базу данных забыли. Для тестов нам хватит sqlite3, а все остальное доставим позже, ок?

C:\>gem install sqlite3-ruby

Ну вот теперь можем приступить к самому приятному

C:\temp>rails test_app

Получилось? Отлично!!! Теперь попробуем запуститься ...

C:\temp\test_app>rails server
c:/Ruby19/lib/ruby/gems/1.9.1/gems/railties-3.0.0.beta/bin/rails:2: command not found: C:/temp/test_app/script/rails
c:/Ruby19/lib/ruby/gems/1.9.1/gems/railties-3.0.0.beta/bin/rails:2:in `exec': No such file or directory - C:/temp/test_app/script/rails (Err
no::ENOENT)
        from c:/Ruby19/lib/ruby/gems/1.9.1/gems/railties-3.0.0.beta/bin/rails:2:in `'
        from c:/Ruby19/bin/rails:19:in `load'
        from c:/Ruby19/bin/rails:19:in `
'

"WTF?" спросят меня читатели и будут совершенно правы. Эх, к хорошему быстро привыкают :) Дело в том, что команда rails server вызывает script\rails напрямую и указания типа #!/usr/bin/env ruby просто напросто игнорируются. Удалось найти несколько способов решения этой проблемы

1. We could hack the railties bin\rails file to call this file with ruby.exe.
2. We could hack the railties bin\rails file to call rails.rb and rename script\rails to script\rails.rb. As long as we checked the box to associate .rb files with the Ruby interpreter while installing, this will work the way it was originally intended to.
3. In the short term, we can just substitute 'rails server' with 'ruby script\rails server', or 'rails generate scaffold test' with 'ruby script\rails generate scaffold test'.

Предлагаю использовать 3й вариант за его простоту:

C:\temp\test_app>ruby script\rails server
=> Booting WEBrick
=> Rails 3.0.0.beta application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2010-03-01 11:13:15] INFO  WEBrick 1.3.1
[2010-03-01 11:13:15] INFO  ruby 1.9.1 (2010-01-10) [i386-mingw32]
[2010-03-01 11:13:15] INFO  WEBrick::HTTPServer#start: pid=5636 port=3000

ну вот вроде и все :) В принципе - не так сложно :)

5Feb/100

Rdoc in osx Dictionary

Буду краток

$ sudo gem install rdoc_osx_dictionary

Дарит счастье всем руби-программерам работающим под OSX

Tagged as: , , , No Comments
1Feb/100

Dashboard KickStart

Наверняка вы уже сталкивались с такой проблемой, что Dashboard при первом запуске не очень спешит загружаться. С такой же проблемой столкнулся и я, но благодаря одному из коллег решение было найдено - Dashboard kickstart. Небольшая утилита, "дающая пинка" Dashboard'у при первой загрузку :) Очень рекомендую к использованию для сохранения нервных клеток, которые тратятся в ожидании завершения загрузки всех виджетов :)

Tagged as: , No Comments
31Jan/100

Language switcher

Еще одна полезная в хозяйстве тулза - Language Switcher.

Как вы наверно знаете - запустить любую программу на Snow Leopard на любом языке, отличном от системного (или языка по умолчанию в программе) - прямой возможности нет. С помощью этой утилиты вы можете больше не думать об этом ограничении и запускать любую программу на любом языке :)

Tagged as: , No Comments
25Jan/100

Cucumber + environment variables

В продолжение моего поста по поводу установки переменных окружения в тестовых сценариях - недавно столкнулся с необходимостью установки своих переменных окружения при использовании Cucumber + Webrat. Решается это элементарно - прописываем в *steps.rb файле

header('HTTP_ACCEPT_LANGUAGE', 'en')

Аналогично можно тестировать и использование https - есть очень хороший пример тут.

25Jan/100

Rails I18n – презентация

Неплохая и самое главное познавательная презентация.

25Jan/103

Примеры rails-приложений

Решил составить список open-source приложений на Rails, который как я надеюсь поможет начинающим (и не очень начинающим) программистам в написании красивого и функционального кода.

Redmine - система управления проектами

TeamBox - еще одна система для проджект-менеджмента, twitter-like

FatFreeCRM - CRM

Video App - аналог YouTube на Rails

Panda - еще одно приложение для стриминга видео

GemCutter - репозитарий gem'ов

CommunityEngine - Социальная сеть

LovdByLess - и еще одна социальная сеть :)

RailsCasts - ну кто не знает Ryan Bates и его RailsCast-ы? Это - исходники его блогового движка

Tracks - система GTD, управление задачами

Retrospectiva - снова проджект-менеджмент :)

Restful Authentication Tutorial - отличный туториал по реализации системы аутентификации, recaptcha, логгирование неудачных попытов аутентификации и многое другое :)

Shapado - аналог stackoverflow.net с использованием MongoMapper (thx 2 undr)

Open Source Rails - много различных приложений (thx 2 Alexey Osipenko)

Если у вас есть чем поделиться - присылайте, буду обновлять список :)

23Jan/100

Еще немного софта для вашего яблочного друга

Продолжаем наш софт-обзор :)

Speed Download
Некоторое время назад я писал про Folx, download manager для osx. Честно говоря - разочаровался я в этой программе и в качестве альтернативы выбрал Speed Download, отличающийся от вышеупомянутого Folx более стабильной работой и удобством использования. Кстати, Folx перестал быть бесплатным продуктом теперь имеет цену в $20 (сейчас у авторов скидки в 50% - так что можете приобрести программу за $10 :) )

А пока что встречаем Speed Download.

Power Tunes
Следующая программа поможет вам организовать работу с вашими iTunes-библиотеками. Удаляет ссылки на удаленные треки, позволяет синхронизировать библиотеки между компьютером и внешним жестким диском итд.

RipIt
Ну тут вообще все просто - риппер dvd-дисков :)

Switch Audio Converter
Опять же без лишних слов - конвертер аудио-файлов.
На вход принимает форматы
.wav (PCM)
.mp3 (MPEG Layer 3)
.au
.aif/aiff
.gsm
.dct
.vox
.raw
.ogg
.flac
.amr
.wma*
.wmv*
.aac*(not aacPlus)
.m4a*
.act/rcd (newer version of format not supported)
.mov

и может конвертировать в
.wav (PCM, and others, see here)
.mp3
.au
.aif/aiff
.gsm
.vox
.raw
.ogg
.flac
.rss
.m3u^
.pls^
.wpl
.mov

Today
Интерфейс к iCal без необходимости запуска оного :) К минусам можно отнести то, что если ваш iCal сонхронизируется с календарями google, то для отправки добавленных событий необходимо запускать iCal, а также в такие календари нельзя добавить задачи. Я связался с автором - он обещал рассмотреть возможность исправления данных проблем :)

WriteRoom
Иногда необходимо сосредоточиться на написании какого-нибудь документа, а вас постоянно отвлекают сообщения в мессенджере, какие-нибудь всплывающие окна итд. Эта программа превращает ваш мак в печатающую машинку и пока вы работаете - вас ничего не отвлечет :) Кстати - недавно на macheist лицензия на эту программу раздавалась совершенно бесплатно :) Успели получить? :)

Tagged as: , No Comments
21Jan/100

1password, Opera & Google Chrome

Как вы наверно уже в курсе - есть ряд сложностей для разработки плагинов, позволяющих использовать 1password в браузерах Opera и Google Chrome. Точнее - невозможно было до настоящего времени. Продвинутые гики из Switcher's Blog написали познавательную статью как обойти это ограничение. Вэлкам :)

PS: кстати - работы над плагином для хрома ведутся в полную силу, как сообщают те же авторы.

Tagged as: , No Comments
21Jan/100

Mac soft

Давно я не писал обзоров про полезный софт под Mac, пришло время исправить это упущение. Вкратце пробегусь по интересным программам, с которыми я столкнулся в последнее время.

Bento.
Несложная и в то же время удобная в использовании База Данных. Успешно дополняет пакет iWorks, в котором к сожалению отсутствует альтернатива MS Access.

CleanApp
Мощная утилита для удаления мусора с жесткого диска вашего мака. Среди функционала
- Корректное удаление установленных программ (вычищает лишний мусор, оставленный приложениями)
- Поиск неиспользуемых и редко используемых файлов
- Диаграмма использования жесткого диска
- И отдельным пунктом - многое другое :)

После всех аналогов я решил остановиться именно на этой утилите.

CopyPaste Pro
Простой и в то же время очень функциональный расширитель клипборда.

Little Snitch
Самый удобный в использовании Firewall для мака. Подходит всем пользователям, кто не склонен к излишнему минимализму и не предпочитает как firewall-решение что-нибудь типа iptables, ipchains итд :) )

Tagged as: , No Comments
18Jan/100

I18n

С помощью этого куска кода можно обеспечить удобную работу с локалями в rails-приложении.

Filed under: Uncategorized No Comments
25Dec/090

Custom HAML filters

На днях сделал набор кастомных HAML-фильтров, которые заменяют ссылки на youtube, vimeo, rutube, daylymotion на соответствующие видео. Использовать просто - ставим плагин, а дальше используем фильтры cbtextile, cbmarkdown или cbmaruku как обычные HAML-фильтры.

9Dec/090

Google Chrome

Вышел Google Chrome для OSX и Linux.

Сегодня получил от google team письмо с несколькими фактами по этому вопросу

Here are a few fun facts from us on the Google Chrome for Mac team:

73,804 lines of Mac-specific code written
29 developer builds
1,177 Mac-specific bugs fixed
12 external committers and bug editors to the Google Chrome for Mac code base, 48 external code contributors
64 Mac Minis doing continuous builds and tests
8,760 cups of soft drinks and coffee consumed
4,380 frosted mini-wheats eaten

Tagged as: , , No Comments