Sergey Potapov

A word from rustacean, rubist and linuxoid.

Тестируем вложенные ActiveRecord-модели с RSpec

Иногда бывает так, что вам нужно построить большой граф вложенных объектов, и конечно же протестировать, что ваш “builder” работает так, как нужно. На самом деле задача элементарная, но я всё же попробую поискать наиболее элегантный путь её решения.

Получаем Premium на busuu.com бесплатно

Пожалуйста, прочтитайте так же мою статью Почему я изучаю Эсперанто.

Недавно я начал пользоваться сервисом busuu.com. Очень классная вещь, но вот беда: спустя неделю часть функционала перестала работать, предлагая купить Premium аккаунт за 69,99 EUR.

Одна из полезностей которые пропали, была возможность прослушивания ключевых фраз во время изучения новых слов. Кнопка, при нажатие на которую должна произносится фраза, превратилась в обычную ссылку на страницу, которая предлагает купить Premium.

bussu play button

Мне стало интересно, а можно ли это обойти? Оказалось, что можно! Файловый сервер, который отдаёт аудио-файлы никак не проверяет права пользователя, а сами ссылки на файлы можно прямо получить из ответов сервера на AJAX-запросы, которые отсылаются при нажатии на следующее/предыдущее слово.

Разгоняем мозг

Несколько месяцев назад я был очень сильно озабочен своей продуктивностью. Здесь собраны некоторые рецепты повышения эффективности мозговой деятельности, которые мне удалось отыскать, большинство из них взяты из книги Вина Венгера “Фактор Эйнштейна”.

Perfomance Benchmakrs ExecJS vs Ruby

Yesterday on RubyShift Thorben Schröder talked about ExecJS and using it for validation following DRY principle: you implement only JavaScript validator and then use it in Ruby code as well. Sounds great, right? He provided interesting benchmark results which really suprised me. ExecJS can be few times faster than Ruby 1.9.2 if you’re are using therubyracer(wrapper for Google’s V8). I decided to make my own benchmarks There is trivial example - function which caclucates fibonacci numbers. I know the algorithm sucks, but my goal is to compare perfomance.

How to Install Firefox (Iceweasel) 7 on Debian Squeeze

First remove lagacy version of Iceweasel:

aptitude remove iceweasel

Create /etc/apt/sources.list.d/squeeze-backports.list file:

# New Mozilla packages for Squeeze
deb http://mozilla.debian.net/ squeeze-backports iceweasel-release
deb http://backports.debian.org/debian-backports squeeze-backports main

Then run:

aptitude update
aptitude install iceweasel -t squeeze-backports

Enjoy!

Powering Less to Highlight Syntax and Display Line Numbers

Since I am a command line guy I use less tool everywhere and everytime to quickly take a look at files. And quite often those files are different scripts and source code. So, it would be great if syntax was highlighted automatically when I open a file with less. And probably it would be great as well if I saw line numbers.

Using update-rc.d

update-rc.d is tool for adding daemons to /etc/rc[1-6]d files.

If you are using OS with System-V style init scripts you can find you /etc the next directories:

  • rc0.d/
  • rc1.d/
  • rc2.d/
  • rc3.d/
  • rc4.d/
  • rc5.d/
  • rc6.d/
  • rcS.d/

So, what are they for?