Starr Horne is a Rubyist and Chief JavaScripter at Honeybadger.io. When she's not neck-deep in other people's bugs, she enjoys making furniture with traditional hand-tools, reading history and brewing beer in her garage in Seattle.
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.
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.
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.
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.
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.
O(N^2)
Our newest UI change includes a fully responsive site, code snippets, and easier navigation between fault occurrences. Learn more.
On October 10 we’re going to be removing the performance metrics tab from Honeybadger.
Starr deploys a simple Sinatra application to Amazon's EC2 Container Service (ECS) and load-balances it across two availability zones.
I recently found myself using URI.join to construct certain some redirect URLs. But I quickly ran into a problem. URI.join wasn't behaving like I expected. In this post we trace the unexpected behavior through the source of URI.join and back to the original RFC.
URI.join
Based on customer feedback, Honeybadger has launched a suite of features that give you incredible control over how error alerts fit into your ops workflow.
We just launched three great new integrations that will make it even easier to integrate Honeybadger into your operations workflow. I'm talking about Datadog, OpsGenie and VictorOps.
What exactly are websockets? How do they work? In this post we're going to answer these questions by building a simple WebSocket server from scratch in Ruby.
Reduce false alarms and make sure that every error alert goes to the right person with Honeybadger.
In order to write a first-class command-line app, you have to understand a lot of details like arguments, environment variables, STDIN/STDOUT, and more. This post is my humble attempt to cover most of these details and bring together everything you need to know in one place.
I'm always amazed when I think about how much our tiny team of engineers is able to accomplish in a year. So I thought it'd be fun to make a highlight reel of the things we're proudest of this year.
Whether you use rails, Sinatra, or Lotus, you don't really have to think about how cookies and other headers pass from nginx or apache, to the application server and into your app. We're going to examine this journey in a little more depth. Because it turns out that the story of headers contains a lot of interesting information about the history of the web.
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!
You probably know that Ruby sticks any command-line arguments into a global array called ARGV. But why the heck is it called ARGV? It's an interesting history lesson that highlights Ruby's origins in C.
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.
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.