Мой новый джем: PrettyDiff
Илья • 16 января
У нас в компании новая фишка. Каждую вторую пятницу можно взять отгул чтобы поработать над любым open source проектом. Можно начать новый проект или принять участие в существующем. По окончанию дня нужно рассказать команде что именно ты сделал. Мы назвали это Open Source Fridays at Wildbit.
Вчера была моя первая пятница и я выпустил руби джем под названием PrettyDiff. Это маленькая библиотека для рендеринга HTML представления для диффов. Библиотека была выдрана прямиком из Бинстолка, где она каждый день рендерит тысячи страниц с дифами.

PrettyDiff рисует колонки с номерами строк, которые не мешают копировать содержимое дифов. Так же диф можно с лёгкостью раскрасить, если подключить небольшой CSS файл.
Я постарался сделать код максимально читаемым и простым для понимания. Все кусочки HTML, из которых собирается конечный результат, находятся в одном месте, поэтому PrettyDiff очень легко заставить выдавать абсолютно любую разметку.
Джем залит на Gemcutter, исходники на гитхабе. Happy forking!
Обезвреживаем одинарные кавычки в Bash
Илья • 3 декабря 2009 г.
Казалось бы очень просто, с помощью косой черты. Но если кавычку нужно выкинуть из выражения, которое уже окружено одинарными кавычками, то это не сработает. Правильно будет вот так: (не обращайте внимания на сломанную подсветку кода)
def enclose_in_single_quotes(string)
string.split(/'/, -1).map{|e| "'#{e}'"}.join("\\'")
end
enclose_in_single_quotes("ilya'") # => 'ilya'\'''
enclose_in_single_quotes("super'bla'test") # => 'super'\''bla'\''test'
Кромешный винегрет, но в Баше это единственный способ. Очень полезная штука, если из приложения приходится вызывать системные команды и передавать туда аргументы в одинарных кавычках.
Пол Грэмм о стартапах
Илья • 2 декабря 2009 г.
Точное и краткое объяснение стартапа:
В стартапах нет ничего магического. Они не отменяют законы получения прибыли, они всего лишь представляют далёкую точку в самом конце кривой. Здесь работает закон сохранения энергии: если вы хотите получить миллион долларов, вы должны вытерпеть боли на миллион долларов.
К примеру, один из способов заработать миллион долларов это проработать всю жизнь на почте и откладывать всю свою зарплату до последней копейки. Только представьте себе стресс от работы на почте на протяжении пятидесяти лет. В стартапе вы сжимаете весь этот стресс до трёх или четырёх лет. Конечно при покупке большого
эконом-пакета боли вы возможно получите определённые скидки, но от закона сохранения энергии вам не ускользнуть.Если бы начать стартап было так просто, все бы это делали.
Умный мужик.
Гудбай Америка
Илья • 1 декабря 2009 г.
Наш большой американский эксперимент внезапно отложился на неопределённый срок прямо в аэропорту Филадельфии. Продолжаем бороздить сугробы сибири.
Подготовка к поездке
Илья • 5 августа 2009 г.
Международное водительское удостоверение получил; апартаменты в Филадельфии нашли, аренду заключили; билеты на руках, паспорта и визы тоже. Осталось только арендовать мебель, а так вроде всё готово.
Подходящую квартиру, кстати, оказалось найти сложнее, чем я думал.
Большой Американский Эксперимент
Илья • 24 июля 2009 г.
Мне надоело сидеть по пояс в сугробе в глухих лесах сибири, и я решил съездить пожить в США. Отчаливаем первого сентября примерно на 6 месяцев. Хорошая возможность почувствовать
Жить будем в Филадельфии, городе где обосновалась компания Wildbit. Сейчас активно ищем апартаменты в центре, чтобы всё было под рукой. Думаю как бы мне взять с собой мой двадцатипятикилограмовый мак про, чтобы не заплатить пол его стоимости за перевозку…
Результаты опроса о высшем образовании
Илья • 26 июня 2009 г.
Выложил результаты, смотрим на красивые графики:
http://rubybrothers.wufoo.com/reports/
Я примерно так себе и представлял: подавляющее большинство участников голосования обзавелось дипломами, но не пользуются ими. А 27% бросили ВУЗы недоучившись.
.Net Rockstar
Илья • 26 июня 2009 г.
Андрей Тагаев, мой бывший коллега из компании Wildbit, один из ведущих разработчиков популярного Newsberry, решил покинуть компанию в поисках лучшего места на земле. Если вы ищете первоклассного дотнет программиста, то это прекрасный шанс его заполучить. Человек с пылу с жару с высоко нагруженного современного приложения. Подробности в резюме:
Новый Wildbit
Илья • 23 июня 2009 г.
Опрос: у вас есть высшее образование?
Илья • 22 июня 2009 г.
Или вы недоучились, бросив на третьем курсе?
http://rubybrothers.wufoo.com/forms/
Результаты опубликую через недельку.
Офигенный баг AR колбеков
Илья • 27 мая 2009 г.
Сегодня потратил полтора часа, пытаясь починить проблему с before_destroy колбеком в одной из моделей. По
В итоге всё оказалось весьма банально. Каждая рельсовая ассоциация с параметром :dependent => :destroy добавляет в модель новый before_destroy колбек. Колбеки для модели Рельса никак не сортирует и запускает по правилу «первый добавился, первый выстрелил». Следовательно если ваши before_destroy прописаны в модели после ассоциаций с :dependent => :destroy, то и запустятся они после того как ассоциации будут удалены. В такие моменты я ненавижу Рельсы..
Так что сегодня выучил для себя новый урок: декларации before_destroy должны идти всегда перед ассоциациями, у которых установлен :dependent => :destroy.
То есть не так:
class Account < ActiveRecord::Base
has_many :users, :dependent => :destroy
before_destroy :do_something_funky_with_users
end
А вот так:
class Account < ActiveRecord::Base
before_destroy :do_something_funky_with_users
has_many :users, :dependent => :destroy
end
Мифы о США
Илья • 11 мая 2009 г.
В домах тонкие деревянные двери с одним простым замком, который редко закрывается пока
В доме можно ходить в обуви — правда.
Дороги в стране
Америкосы любят сидеть на полу — правда. Только повод дай, сразу все на пол садятся.
На улице очень чисто — правда. Взяли на прокат новую машину, проехали километров 80, колёса чистые
RailsConf 09 is over
Илья • 8 мая 2009 г.
Предпоследний день конференции провели в основном на выставке, консультируясь с EY по поводу нашего сетапа и просто общаясь с народом. Раздали кучу Бинстолковских маек.
Попал на заключительную часть толка Криса Вонстрата из Гитхаба про то как стать
Был на сессии Оби Фернандез + DHH + Тобиас из Шопифай про то, как они начинали свой бизнес. DHH задолбал. Сколько уже можно посылать всех нахуй? Оби как всегда молодец, Тобиас такой застенчивый чувачок оказался. Рик Олсен кстати тоже оказался более застенчивым, чем я представлял.
Ещё был на паре сессий, но ничего
Последний день конференции мы решили полностью пропустить и поехали на Hoover Dam. И в
RailsConf 09 получился крутой. В основном
Фотографии с конференции доступны на моём фликре.
RailsConf 09 в самом разгаре
Илья • 6 мая 2009 г.
Классный день! Встретил много интересных людей.
Вчера были на вечеринке для пользователей New Relic. Куча вкусной еды и общения, было весело.
Сегодня утром DHH очень прикольно выступил про Rails 3. Порадовала новость об unobtrusive JS.

Затем потусили с ребятами из New Relic и Engine Yard. На месте решили кучу вопросов по масштабированию Бинстолка.

Посмотрел демонстрацию EY Solo, очень понравилось. Жалко что для собственных проектов выйдет слишком дорого. Затем посмотрели новые функции New Relic Gold, в частности статистику по занятости instances. Можно определить нужна ли тебе такая гора монгрелов или несколько кластеров можно всё-таки убрать. У нас оказалось можно убрать.
Очень понравился заключительный толк Оби Фернандеза про то как грамотно вести свой бизнес и на какие грабли не наступать. Оби офигенный чувак! Мы завтра с ним ужинаем, будет весело.

Нагрёб себе кучу маек и наклеек. Скидываю с фотика пол тысячи фоток, сейчас буду загружать на фликр.
День 2: Лас Вегас
Илья • 5 мая 2009 г.
Лас Вегас просто сумасшедший. Город в котором за месяц жизни наверное можно сойти с ума от роскоши и развлечений. На улице вместо автоматов с газетами стоят лотки с рекламой проституток.

На РейлсКонф приехал, зарегался, но на сессии пока не ходил, нужно было расквитаться с другими делами. Никого знаменитого пока не заметил. DHH завтра прилетает вроде.
Через пару часов наверное снова поеду. Напишу подробнее позже.

