Author Archives: Jacob Evelyn

Eliminating Nondeterministic (“Flaky”) Tests in Ruby and RSpec

At Panorama, we strongly believe in automated tests. No code gets deployed without passing both a thorough code review and a battery of thousands of automated tests, and no code makes it through code review without updating tests for the new features it’s adding. Automated tests help us build new features and refactor old code without introducing bugs, and are a big part of the reason we are able to confidently deploy new changes to our production apps multiple times a day.

What are flaky tests?

But with an automated test suite comes the dreaded possibility of tests that fail nondeterministically—that is, most of the time they pass, but every once in a while they fail for no obvious reason. When the tests are retried, they pass again. Flaky tests.

Read More

A Homemade Distributed Computing Project

One of the things that gets me really excited is making the world a better place. As an engineer, I’m often in the mindset of automating as much as possible. But can we automate making the world a better place?

Read More

Toward a Swankier Rails Console

As Rails developers, we spend a fair amount of time in the Rails console, which is itself just the native Interactive Ruby Shell (IRB). By default, it’s not particularly pretty…

$ rails c
irb(main):001:0> def hello
irb(main):002:1> puts “hello”
irb(main):003:1> end
=> :hello
irb(main):004:0> hello
hello
=> nil
irb(main):005:0>

…but it gets the job done. We were content with it, because we didn’t know things could be better.

Read More