What's New in the Honeybadger Gem v3

The latest version of the honeybadger Ruby gem includes a lot of improvements and new features. Check it out!

My 2017 Arch Linux desktop setup

I recently rebuilt my multi-purpose desktop system with Arch Linux; in this post I talk about my computing goals, my solutions, and the results.

Objects as Ruby Hash Keys

One often-overlooked feature of Ruby's hashes is that you can use any object as a hash key, not just strings and symbols. In this post we examine how Optcarrot, the Ruby NES emulator, uses this feature to optimize its mapped memory implementation.

Testing Ruby's Unicode Support

To see how far Ruby's Unicode support has come, I tested every string method to see which ones violate the principle of least surprise. The results are presented as a handy table that you can reference to see which string manipulation methods are Unicode-unfriendly.

Introducing our Sidekiq cluster script

Here's an easy way to run multiple Sidekiq processes via systemd.

Simple tips to make scaling your database easier as you grow

In this post we'll discuss a few easy wins - things you can do when a Rails project is young to make it much easier to scale its data layer as the project grows.

Our Postgres Infrastructure

We love Postgres at Honeybadger, but it does require some care and feeding. Here's what we've done to scale Postgres along with the growing needs of our business.

JQuery-Free Rails and Legacy Browsers

Rails 5.1 will no longer depend on JQuery. I ran the UJS test suite on several versions of IE to see how nicely the new system plays with legacy browsers.

Rescue's Elegant Trick for Knowing Which Exceptions to Catch

You probably know how to ask Ruby to rescue specific exceptions. But how does Ruby know if a particular exception meets your criteria? In this article, we'll walk through Ruby's simple exception matching mechanism and see how we can use it to our advantage.

Common Rails Idioms that Kill Database Performance

Many of the most common ActiveRecord idioms produce SQL which doesn't scale well as your dataset gets larger. In this article I discuss three of the worst offenders and offer work-arounds.