Twitter GitHub

BetterErrors и RubyMine в Mac OS X

Есть такой великолепный и очень полезный gem — BetterErrors. Чем он так полезен и замечетален вы можете посмотреть в скринкасте RailsCasts.com, заодно и про RailsPanel узнаете. В этом же скринкасте говориться и об одной из самых полезных фич этого gem’а — открытие файла и строчки, в которой произошла ошибка, прямо из браузера — кликом мышки. Но из коробки, к сожалению, эту фичу поддерживает только TextMate и с небольшим допилом Sublime Text 2.

До недавнего времени в RubyMine эту проблему можно было частично решить плагином Remote Call, а частично, потому что при клике по ссылке нужный файл открывался, но вот фокус в приложение RubyMine не переключался, нужно было вручную возвращаться в IDE, что не очень-то и удобно.

Однако буквально на днях вышел RubyMine ICHII (EAP), в котором была заявлена поддержка gem’а RubyMine Heaven, и благодаря этому теперь можно полноценно использовать и возможности BetterErrors. Читать дальше →

Семь перпендикулярных линий красного цвета, некоторые из которых зеленые, а остальные — прозрачные

Шикарная короткометражка!

Ночь воскресенья (утро понедельника?) принесла массу позитива с Хабра. Комменты тоже почитайте — много ссылок на сайты с аналогичными подборками ;)

Оптимизируем WordPress (и не только) с помощью Grunt’а

С самого момента установки WordPress’а и темы для него, меня как разработчика, очень сильно напрягло, что ни сам WordPress, ни тема никак не оптимизируют количество подгружаемых файлов стилей и скриптов — никакой минификации, никакой конкатенации, только пачка запросов к серверу на 5 файлов стилей и 12 скриптов. Все это меня удручало, но как-то все было не того.

Но вот вчера я наткнулся на отличную статью на Хабре про Grunt, в конце которой оказалась ссылка на еще более полезную статью Артёма Сапегина про Grunt как систему сборки для фронтенд-разработчиков. После ознакомления с указанными статьями я подумал, что это просто-таки отличное решение моей проблемы с Wordpress’ом и погрузился в изучение Grunt’а.

Вот что из этого получилось… Читать дальше →

Чему не учат в большинстве школ

Git merge vs. rebase

Коротко:

  • git pull --rebase вместо git pull
  • git rebase -i @{u} до того как git push
  • (в «feature») git merge master чтобы сделать ветку feature совместимой с последними изменениями в master’е
  • (в «master») git merge -no-ff feature для релиза фичи

Однако избегайте merge-коммита, если ветка «feature» содержит только 1 коммит: (в «master») git cherry-pick feature.

Развернуто:

Читать дальше →

«Мимишная» альтернатива другим сервисам динамической генерации изображений для placeholder’ов. Разнообразьте свои трудовые будни няшными котиками ;)

Placekitten

Почему я убрал комментарии Cackle и никогда больше не поставлю их снова

Перед тем как создать собственный блог я сначала потренировался на любимой :) После первоначальной настройки, вместо стандартных комментариев WordPress я решил установить комментарии от Disqus. Но для ее аудитории это оказался не самый удачный выбор — совершенно не та подборка провайдеров аутентификации. Тогда мы решили опробовать отечественную разработку — Cackle. От названия меня коробило с того самого дня, как я увидел их первый пост на Хабре. Для англоязычной аудитории тут наверное проблем нет, но для русского уха название — хуже не придумаешь. Хотя в дальнейшем меня осенило: это же гениальнеший маркетинговый ход — разработать более/менее хороший сервис с ужасным названием и дать возможность убирать это название за небольшую абонентскую плату :) Чем я, кстати, и воспользовался. 300 рублей в год за то, чтобы не созерцать этот чудесный брэнд под каждым постом в своем блоге того стоят. Так вот, сперва мне все нравилось, я уже и свой блог открыл к тому времени и решил поставить туда Cackle тоже.

Протерпел я этот чудесный сервис чуть больше недели. Самый огромный их косяк в отсутствии нормальной и гибкой системы email-извещений. Оба виджета комментариев (для блога жены и для моего блога) были на моем аккаунте. Проблема в том, что как администратор аккаунта я не могу отключить оповещения одного из виджетов, я могу включить или выключить только все оповещения сразу. Поэтому мне сыпались email-извещения о комментах в блог жены. Это минус номер раз. Минус номер два: в самих извещениях нет ни единого намека (кроме ссылки на просмотр комментария на сайте) ни на то из какого виджета, ни на то на какой пост, ни на то на какой комментарий этот комментарий (если это ответ). Все извещения как близнецы-братья из-за чего пользоваться этими извещениями при наличии более 1 виджета просто невозможно. А ведь добавить в письмо эту информацию — несколько строчек кода, она ведь под рукой вся. Но… Как сознательный человек я обратился в поддержку с волнующими меня вопросами: Читать дальше →

Социальная сеть внутри интернет-банка

Почему в интернет-банках нет социальных функций? Подумалось мне только что…

Посудите сами насколько это было бы выгодно для банка и удобно для клиентов. Взять, например, скромную «семью»: муж и жена, плюс родители мужа и жены, плюс сестра и братья мужа и жены — как минимум 6 человек. А если брать друзей и друзей друзей? Если у всех счета и карты от одного банка, то логично было бы иметь внутри интернет-банкинга этого банка возможность «дружить» с другими клиентами банка. С таким функционалом можно быстро одолжить денег или оплатить какую-нибудь услуга за «друга». Я не специалист в банковских услугах, но наверняка тут можно придумать еще уйму интересных вариантов взаимодействия «друзей» друг с другом и с банком. Да даже банально перекинуть деньги «другу» на карту/счет было бы уже достижением.

Знаю, что и сейчас можно кидать деньги с карты на карту без особых проблем или перевести деньги на другой счет. Но согласитесь, что это далеко не то же самое, что выбрать человека из списка, указать сумму и кликнуть «Отправить». Нужно вводить номер карты или знать реквизиты счета, все это муторно, долго и неудобно. А чем больше нужно сделать телодвижений для отправки денег — тем меньше желания что-то куда-то отправлять. Мне кажется, что социальная сеть внутри интернет-банка вещь очень нужная и полезная. Будущее за социализацией всего и вся :)

Такая вот идея. Я о таких банках пока не слышал, а вы?

Зарегистрировался на днях в одной партнерской программе. Смотрю код для вставки на сайт — сплошной синхронный Javascript с классическим document.write(). Стало в очередной раз грустно за отечественные партнерские программы. Пишу в поддержку:

Добрый ­день. ­Такой ­вопрос: ­есть ­ли ­у ­вас ­асинхронные ­коды ­для ­статичных ­баннеров? ­И ­если ­нет, ­то ­могу ­ли ­я ­самостоятельно ­изменить ­ваш ­код, ­чтобы ­он ­стал ­асинхронным, ­не ­меняя ­логику ­его ­работы ­(вроде ­как ­особых ­проблем ­тут ­не ­увидел)?

Знаете что мне отвечает служба поддержки? Цитирую:

Здравствуйте. ­Скажите ­пожалуйста ­что ­значит ­асинхронные ­коды? ­и ­для ­чего ­вы ­хотите ­это ­сделать?

Занавес.