Announcing OpsGenie Integration

We are super excited to announce that Honeybadger and OpsGenie now work together. Now you can route Honeybadger alerts through to the developer on-call!

Working with Fractions and Rationals in Ruby

Most people are able to think about fractions a lot more easily than they can think about arbitrary decimal numbers -- when was the last time you measured out 0.65739 cups of flour? This post will discuss how to use ruby to work with fractions, and how you can convert gnarly floating point numbers, to nice fractional approximations.

Level Up Your Command-Line-Fu With Ruby

To really master the command line you have to master dozens - if not hundreds - of small utility programs. Fortunately, it's possible to replace a lot of these single-purpose tools with a general-purpose programming language like Ruby. This post will show you how you can use your Ruby skills to level up your command-line game.

Spying on running Ruby processes

Did you know that it's possible to log all method calls as they occur in a running process in real time? How about injecting code to be executed inside of a running process? You can – via the magic of the rbtrace gem.

Slicing and Dicing Ruby Enumerables

Have you ever needed to group items in an array, or lines in a file? In this post we'll discuss a few often-overlooked Enumerable methods that let you do just that.

How Ruby Interprets and Runs Your Programs

In this post we'll follow the journey of a simple program as it's lexed, parsed and compiled into bytecode. We'll use the tools that Ruby gives us to spy on the interpreter every step of the way.

Understanding `self` in Ruby

A lot of problems faced by beginning Rubyists are caused by not understanding `self`. In this post we'll take a deep dive into `self` under conditions both common and uncommon.

Cool Ruby Regex Tricks

Ruby supports using regex in lots of interesting ways that go beyond the basic `String#match` method. In this post I cover a few of my favorites.

Multiple Levels of Subnavigation with Jekyll

In this post, we'll discuss how to separate an HTML document into logical sections based on heading tags. I'll all also show you a cool trick for rendering arbitrarily-deep subnavigation trees using Liquid templates.

Monitoring for non-application errors on Heroku

When your service fails due to an exception in your application code (Ruby, Go, Elixir, etc...), Honeybadger alerts you. Unfortunately, application errors are only half the story. What happens when something goes wrong outside of your application code? You probably use something like our Uptime Monitoring to be alerted of catastrophic outages such as when EC2 is down, DNS fails, or one of the other myriad scenarios play out.

Announcing Honeybadger for Java

We are very proud to announce that Honeybadger now officially supports reporting exceptions and errors -- with advanced features such as nested exceptions and request data! -- from Java web applications.

New and Improved Search

Over the past few months we've been working on delivering an improved search experience for Honeybadger customers, and today we're happy to announce that it's finally ready.  Our goal was to provide more advanced search options for the data you've been sending us while keeping simple searches simple, and I think we've accomplished that.  We'll still support the simple "just enter some text to do a quick wildcard search", but now we'll also support more specific searches, like the following:

Ditching your single page app for...turbolinks?

You tried turbolinks, once, and soon your app began to fail in strange and wonderful ways. But some people make it work. What's their secret? The answer is so simple, it just might amaze you.