Рельсовая заРУБа 2008

Если вы вдруг подумали, что всякие джангисты собираются и устраивают дистанционные django sprint-ы посвященные фиксам ошибок и разработке новых фич, решил написать несколько слов о Rails Rumble или Рельсовой заРУБе :-). Смысл ее в том, что по предварительной регистрации 18 – 19 октября сойдуться 200 комманд, каждая из которых должна будет за 48 часов выкатить свое приложение на Ruby on Rails.

Правила достаточно просты: можно использовать любые открытые библиотеки/плагины и прочее, если они не делают большую часть вашей работы, можно приготовить заранее “бумажные” заготовки своего дизайна (никаких электронных версий файлов и т.д.), можно обсудить план/идею и все остальное с товарищами по комманде, которых может быть не больше 3ех человек. В общем, тут простор для всех: дизайнерам уметь быстро и просто рисовать, верстальщикам – верстать, программерам – кодить, админам – настраивать сервак под все это.

Судя по всему, мероприятие будет очень веселым, но я на него не попадаю по двум причинам:

  • Слишком слабо я знаю свой любимый фреймворк, а учитывая время на всю работу (48 часов) курить маны будет некогда.
  • Именно, в эти дни: 18-19 октября, я собираюсь скрыть покров таинственности со своей одиозной личности и девиртуализироваться в Харькове, Украина, ибо туда меня забрасывает командировка. Кстати, если у меня есть постоянные читатели с Харькова – буду рад познакомиться вживую, контакты есть выше, пишите

Но, хоть я и буду далеко от места событий, я все равно буду болеть за Алексея Дмитриева и его комманду. Удачи вам, коллеги! Фана всем остальным участникам!

Ужасный баг Gem install Mongrel

Когда-то я писал, как конфигурировать gems в локальную папку и обещал рассказать что грозит пользователю без прав root-a при установке mongrel. Однако пост пролежал уйму вермени в драфтах и наконец-то я созрел его опубликовать.

При попытке инсталлировать mysql (gem install mysql) или mongrel (gem install mongrel) в локальный репозитарий на “пустой” ubuntu обычно высыпает следующий пакет ошибок:


Building native extensions. This could take a while…
extconf.rb:8:in `require’: no such file to load — mkmf (LoadError)

/usr/lib/ruby/1.8/i486-linux/rubysig.h:15:19: error: errno.h: 
No such file or directory
fastthread.c: In function ‘wait_condvar’:
fastthread.c:626: warning: passing argument 1 of ‘rb_ensure’ 
from incompatible pointer type
make: *** [fastthread.o] Error 1

/usr/bin/install: cannot stat `http11.so': No such file or directory
make: *** [/home/vestel/rubygems/gems/mongrel-1.1.3/lib/http11.so] Error 1

А решается все просто: часть кода web server-a написана на C/C++, а следовательно без предварительных


vestel$ sudo apt-get install ruby1.8-dev make gcc libc6-dev build-essential

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

Любители самой воруемой системы конечно же воскликнут: “О, гемору-то!”, но мы не будем с ними спорить. Ведь мы то знаем, что им понадобиться гораздо больше бубнов, если кто-то из пользователей захочет содержать свой gem репозитарий.

Скажи “нет!” велосипедам

Когда-то давно, я написал функцию, которая проверяла все ли input radio button-ы натырканы в отсылаемой форме. Эта валидация была нужна мне для использования формы в небольшом опроснике, который я делал на старой работе. Ну и понятное дело, что решение было далеко от оптимального и очень прямолинейное. Сейчас, работая проектировщиком информационной системы, я борюсь с подобными решениями в рядах своих программистов, приучая их пользоваться готовым кодом там, где это возможно.

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

Continue reading Скажи “нет!” велосипедам

Верстальщикам и веб-программерам в помощь

По причине организации работы мне пришлось заняться несколько несвойственным, хоть и не противным, мне делом – версткой. А именно преобразованием дизайнов в шаблоны HTML и файлы разметки CSS. Версталось все в XHTML 1.0 Transitional, а форматировалось и оформлялось эксклюзивно CSSом как учил Иван Григорьевич. На основании определенных рабочих моментов и родился этот пост. Итак, начну с выражения огромного спасибо Димычу за статью о букмарклетах ибо почерпнутые из нее знания помогли свести обычную “угадайку” где в IE тупой бордер закрался (в смысле в тупом IE лишний бордер прокрался) к систематическому багодавлению. Если вдруг ваше начальство считает что пользователи IE6 это значительный сегмент посетителей сайта, то XRay ваш незаменимый помошник.

Второй важный факт: в Safari есть свой инструмент для отлова всевозможной фигни. Кроме того, что там можно использовать XRay, гораздо удобнее заглянуть в настройки и включить меню разработчика.

Тогда после этого вам становиться доступен такой удобный инструмент как Web Inspector, что не может не радовать. Кроме того, что он отслеживает валидность HTML, показывает наглядное применение стилей CSS к разным элементам страницы, он еще представляет возможности по запуску скриптов. В общем, адекватный заменитель Firebug для Safari. Это не просто JavaScript Debugger вызывающийся в Google Chrome по нажатию Alt+~, а полноценная консоль, позволяющая понять чего ждать от ваших функций под WebKit.

Кроме того, как и Firebug Safari Web Inspector умеет рисовать вот такие симпатичные картинки, которые позволяют определить почему страница грузиться дольше чем вы расчитывали.

В общем, если вдруг вам надо разбираться с версткой под Safari, пожалуйста, пользуйтесь и наслаждайтесь! Да, если вдруг вы все об этом знали, то не надо “боянов” – для меня и моих коллег этот инструмент – открытие, которое заставляет задуматься о возможности миграции с FF на Safari. За последнее голосует скорость обработки JS последним, а так же красивый рендеринг шрифтов, чем под Windows не многие программы могут похвастаться.

Конкурс продлевается

Итак, я как всегда напутал. В своем посте, объявляющем конкурс я написал, что срок сдачи своих стихотворений сегодня, 11 сентября. Но как я понял, все человечество скорбит по поводу событий сентября две-тысячи-какого-то года, и ему не до моих конкурсов, так что перенесу сроки на 10 дней вперед, поскольку верю в то, что из 80 посетителей блога в день конкурса, кто-то и решится написать стихотворение.

Итак, новые сроки:

  • 21 сентября – срок сдачи стихотворений
  • 1 октября – окончание голосований за лучшие строки
  • 11 октября – награждение победителей

Урвать призы очень просто, читайте об условиях конкурса и пишите стихи. Если кто-то писал комментарий/трекбек, а его “скушал” Акисмет и поэтому я не знаю о вашем участии, воспользуйтесь контактной формой

Главный приз – билеты на спектакль “Дикарь