Буду в Ульяновске 21-23 июня
По айкидошным делам посещу IT Мекку России — славный город Ульяновск. Сказания и легенды о необычайно плотности IT мысли в Ульяновске слышал я уже давно, вот теперь воочию смогу убедиться в том, что это правда.
Я планирую провести ruby/chef/rails пьянку 22 июня (в пятницу) вечером, но подробности можно будет прочитать в моем твиттере, потому что я их и сам не знаю. Так же у меня будут более-менее свободны все три дня: четверг, пятница и суббота. Я буду свободен днем между тренировками и вечером. Если кто-то хочет встретиться и поговорить — напишите мне об этом.
Очередной Brainwashing 14 и 15 июля
Спешу сообщить радостную весть — очередной мастер-класс Brainwashing, который проводит компания «Злые Марсиане», пройдет 14 и 15 июля. Мастер-класс посвящен разработке web-приложений на ruby on rails, и будет интересен программистам, руководителям разработки и техническим директорам. В интенсивном двухдневном курсе мы расскажем выжимку из нашего опыта и раскроем практически все темы, связанные с разработкой, начиная с систем контроля версий, устройства фреймворка rails, и заканчивая оптимизацией фронтенда, базами данных и выкаткой.
Как и раньше, Мастер-класс вместе со мною будут проводить Тимофей Цветков и Саша Косс.
Пакетные менеджеры
Тема этого поста навеяна обсуждением пакетных менеджеров в рассылке Erlang. К сожалению, обсуждение завяло, так и не успев начаться.
Конфликтные слияния веток и git merge-base
Когда у вас есть две ветки разработки, которые достаточно сильно друг от друга отличаются, периодически возникают проблемы с их слиянием (merge).
Новая работа в собственной компании
Жизнь не стоит на месте, я стараюсь от нее не отставать. Я покинул компанию «Злые Марсиане», чтобы заняться собственным делом.
Странное поведение создателей Paperclip
Вчера я разворачивал наше приложение в системе CI Jenkins, и обнаружил, что bundler не находит gem paperclip. В Gemfile была явно прописана версия 3.0.1. Зайдя на rubygems, я увидел, что эту версию гема его создатели удалили, а версия 3.0.2 и старше не поставилась, выругавшись на то, что ей нужен ruby 1.9.2 и старше.
Изменение формата сессии при переходе с Rails 3.0 на 3.2
Групон сейчас активно переводится с rails 3.0 на rails 3.2. Самая досадная неожиданность, которая встретилась в процессе переезда — это изменение формата хранения flash сообщений в сессии. Если бы при этом flash сообщение пропадало, то это было бы не страшно, но при декодировании сессии происходит исключение, и пользователь видит 500 ошибку до тех пор, пока не почистит куки. Конечно, пользователей, у которых в сессии будет flash сообщение в момент переключения с версии 3.0 на 3.2 будет не так и много, но это пользователи, потерянные навсегда.
Ясность
Прежде всего, я хочу рассказать историю про стрижку быка (в английском варианте Yak Shaving).
Быстрое удаление старых ошибок из airbrake через API
Так сложилось, что у нас накопилось достаточно много старых исключений в airbrake — сервисе по сбору и хранению исключений. Ошибки эти не то, чтобы мешали, но мозолили глаза. И закрыть их руками не представлялось возможным, тем более, что в airbrake это реализовано очень неудобно — необходимо открыть отдельную страницу с исключением, и там тыкнуть на достаточно неудобный самописный элемент управления.
Когда такую операцию надо сделать несколько сотен раз, автоматически опускаются руки. Но оказалось, что у airbrake есть API, которым можно достаточно успешно пользоваться. Документирован он никак, но можно догадаться о некоторых адресах по адресам в основном приложении.
Буду выступать на CodeFest
31 марта буду выступать на конференции CodeFest. Мой доклад «Как мы делали Групон» будет в 17:05 во втором зале. А второго апреля я проведу мастер-класс «Устройство и оптимизация Postgresql».
Я хочу выразить большую благодарность организаторам конференции за их работу. Поскольку у меня есть опыт в этой области, я понимаю, какой объем работы надо проделать, чтобы привезти докладчиков со всех концов России в Новосибирск. Верю, что конференция пройдет продуктивно и на позитивной волне.