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.

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.

A Beginner's Guide to Exceptions in Ruby

The other day I was searching for an introduction to Ruby exceptions written for beginners - people who know basic Ruby syntax but aren't really sure what an exception is or why it's useful. I couldn't find one, so I decided to have a go at it myself. I hope you find it useful.

What Ruby Conferences Can Teach Us About Leadership

Our recent sponsorship of Rocky Mountain Ruby 2016 showcases the growing diversity of the community - and the emphasis on non-technical content. Here's why it matters for developers looking into leadership positions.

A Rubyist's Guide to Big-O Notation

Big-O notation gives you crucial insight into why your apps aren't as fast as you'd like them to be. In this post we'll uncover the meaning of things like `O(N^2)` and show how to use these concepts to speed up your apps and your database queries.

How to Track Errors in Your Chrome Extension

Building a Chrome extension? Here’s a way to track and report errors using Honeybadger. In this post, Sam Smith of Sigstr shares how he set up Honeybadger to track errors, using CommonJS examples in our document library.

How to Manage Application Secrets in EC2

Are you deploying your apps to EC2 and wondering how to store your application secrets? Learn how to use KMS and IAM roles to store your secrets on S3 securely.