Author Archives: wkj

Ruby Debuggers for 1.9.x

I don’t often use a debugger with Ruby, but when I do, I use…ruby-debug19? The ruby-debug19 gem has been the most common debugger for ruby 1.9.x for some time. Sadly, it is no longer maintained. What to do? We’re moving to the aptly named debugger gem and we recommend you do, too. As it happens, […]

Leave a comment

Code Coverage

Here at Solano Labs we believe in the importance of measurement.  This philosophy applies equally to the realms of performance and quality.  The fact is, even skilled  programmers are often wrong when they rely on their intuition to tell them where the slow path in their code is or where the technical risk is.  New […]

Leave a comment

Filesystems Directory Entry Order and Reproducible Testing

File systems are a ubiquitous abstraction in computing: they provide a natural way to manage raw storage and provide a mapping from file names to stored objects. Frequently we can leave the messy details of semantics to the poor soul implementing the file system.  The basic interface is very simple: a file system consists of […]

Leave a comment

ActiveRecord 3.1.0 – 3.1.2 and Postgres

It is a new year and we’re excited about a number of new features we’ll be announcing over the course of the next few weeks.  In the meantime, those of you using ActiveRecord 3.1.0 through 3.1.2 together with the Postgres database adapter may want to consider updating to ActiveRecord 3.1.3.  We’ve seen a number of […]

Leave a comment

Cucumber and Resque

Most web sites end up needing some sort of background job queue to process requests that don’t belong on the critical path.  In the Ruby on Rails world the two most common are Delayed Job and Resque.  Writing tests for either is pretty straightforward with cucumber if you have your relational database (delayed job) or redis […]

Leave a comment

Psych isn’t Syck

Ruby 1.9.2 introduced a new YAML parser called psych, which in theory is better than syck, the existing parser.  Syck is the parser in 1.8.7 and REE and still the default in 1.9.2 but it is unmaintained.  Ideally, we’d be able to just switch over to psych with 1.9.2, but there are number of outstanding issues […]


Testing Command-Line Gems with Cucumber and Aruba

Here at Solano Labs we package much of the code we deploy as gems. This includes the tddium command line interface as well as internal tools. As you would expect, we use a combination of RSpec and Cucumber to test these tools. We’ve found Cucumber and Aruba to be particularly useful tools for testing the […]


Entropy in the Cloud

Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin. -John Von Neumann Good sources of random bits are hard to come by, particularly in the cloud. Pseudo-random generators (PRG), particularly cryptographically secure ones are something of a dark art. All of them depend upon the quality (or […]

Leave a comment

Tddium Isolation

We’ve been busy adding features to Tddium in the last few days, including MySQL 5.1, Sqlite3, and Spork. Redis and MongoDB are implemented and about to be released. More importantly, we’re now using Tddium internally on a regular basis and I have to say it is a big step forward. Why? Well it certainly is […]

Leave a comment

Backups in the Cloud, Part II

Back at the end of March we talked about the importance of having good backups in the cloud. Today, I’ll describe the system we use here at Solano Labs in a little more detail. For applications hosted in Amazon’s cloud, we use EBS volume snapshots stored in S3. The general approach is force the system […]

Leave a comment