Как считать победителей?

Чтобы не возникало вопросов, о том как происходил подсчет результатов конкурса, я привожу к сведению читателей листинг программы, которая определяла победителей. Вполне возможно, когда-нибудь к данному коду будет прикручен удобный интерфейс и этим делом можно будет пользоваться “из коробки”, но пока можно посмотреть итак.

Для удобства восприятия, разобью код на несколько частей, и прокомментирую каждую из них. Если вы с ruby не на дружеской ноге, то все равно можно смотреть “под кат”, поскольку думаю что пример будет понятен и без особых познаний синтаксиса.

Continue reading Как считать победителей?

Рельсовая заРУБа 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 репозитарий.

Перевод “парадокса”

Сессия в полном разгаре, мыла в ящик сыплется много и иногда взгляд цепляется за что-то, а потом пытаешься понять, чтоже было не так. Так и у меня с словосочетанием Python Paradox. Множество раз слышал, а никак не мог разобраться в чем дело.

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

Для любителей повозмущаться “А кто это такой?”, даю развернутую справку. Пол Грэхем (Paul Graham), 1964 года рождения — программист, венчурный специалист и автор коротких рассказов. Человек, как говорится, старой закалки, помнит какие были XT тормозные. С конца 80-ых программировал на Common Lisp-e, сейчас работает над собственной его версией (Arc). Он написал известные произведения типа “On Lisp”, “ANSI Common Lisp”, “Хакеры и художники”; также, кстати, в одной из его работ была заложена применимость Байесова фильтра к фильтрации спама в почте, реализованная во многих программных продуктах. Созданную им компанию Viaweb по разработке программного обеспечения для Интернет-коммерции в конце 90ых купила Yahoo! за 50 млн. долларов. Если кому будет аргументом, доктор наук в области Computer Science и какое-то высшее художественное образование у него тоже есть. Подробнее думаю найдете в Интернет, а дальше мой перевод статьи “Python Paradox”.

Continue reading Перевод “парадокса”

Rails programmer – кому ты нахер сдался

Очередной пост по следам собеседования. Я уже писал, как я ходил в Exigen. Понятное дело, я не оставляю надежду поработать, пускай и за скромное денежное вознаграждение, в какой-нибудь иностранной конторе. Так вот, сегодня закончилась эпопея с конторой TietoEnator Alise.

Кому интересно, остальное дальше.

Continue reading Rails programmer – кому ты нахер сдался