kalzumeus.com

I’m going to list assumptions your systems probably make about names. All of these assumptions are wrong. Try to...

If you previously used version 2.x of Thunderbird and upgraded to 3.x (for example through an Ubuntu release...

github.com

The ancestry gem allows you to easily use tree structures in your Rails application. There is one somewhat unobvious pitfall...

This can be helpful when you need the latest file inside a directory for processing in a shell script:

If you did file operations inside a shell or for example using Nautilus, it can take quite a while until...

Take care when trying to set attributes to nil in a blueprint. Given the following master blueprint: Story.blueprint do

If you get an ActiveRecord::RecordNotSaved error, a method inside one of your model's callback chains (before_save etc...

37signals.com

Lately, we’ve been exploring ways to offer web apps that perform like native apps on mobile devices. For this...

Sometimes the order in which strings appear on a page matters to you. Spreewald gives you steps like these:

Did you use the :select option in a find, and forgot to include foo?

Note: We are talking about Machinist 1 here, Machinist 2 may have solved this or might require a different approach...

If you want to see how long your database queries actually take, you need to disable MySQL's query cache...

If you get an error message like that you are missing the Aspell files a specific language:

Capybara's has_css? matcher has a couple of options you might find useful. Check that a selector appears a...

Even when you're using bundler, it might be significant in which order your gems are listed in your Gemfile...

timetobleed.com

This post will describe how I stumbled upon a code path in the Linux kernel which allows external programs to...

It can be useful to have a Ruby expression like condition ? positive_case : negative_case in MySQL queries:

A good tool to generate strong passwords and secrets is "apg". You can get it with sudo apt-get install...

If you have several submit elements (inputs or buttons with type="submit") that each cause different things to happen (e.g...

If you need to call a state_machine event and do not want to re-define resource_controller's create...

makandra dev

If a SSH shell dies (from timeout for example), you cannot kill it with the usual CTRL-C or CTRL...

These steps are now part of Spreewald. This note describes a Cucumber step that lets you write this:

makandra dev

A popular ruby idiom I keep stumbling upon is def do_some_thing_for(values) values = Array(values)

Both these approaches will keep your GET parameters -- and will only work for GET requests. Capybara: When /^I reload the...