Honeybadger Developer Blog

Tutorials, product info, and good advice from the Honeybadger crew.

Building a Toy Programming Language in Ruby

Few projects are as enticing or as rewarding as creating your own programming language. It's impractical, sure. But as an exercise, it strengthens muscles that most of us don't get to use very often and makes us better all-around developers. In this article — the first in a series — Alex Braha Stoll shows us how to get started building our own toy language and interpreter from scratch using Ruby.

Rails Performance: When is Caching the Right Choice?

We've all been there. You're clicking around your Rails application, and it just isn't as snappy as it used to be. You start searching for a quick-fix and find a lot of talk about caching. Take your existing app, add some caching, and voila, a performance boost with minimal code changes. However, it's not this simple. Like most quick fixes, caching can have long-term costs. In this article, Jonathan Miles discusses what caching is and what can go wrong, as well as explains non-caching strategies you can use to speed up your Rails app.

Predicting the Future With Linear Regression in Ruby

The world is full of linear relationships. When one apple costs $1 and two apples cost $2, it's easy to figure out the price of any number of apples. But what happens when you have 100s of data points? What if your data source is noisy? That's when it's helpful to use a technique called linear regression. In this article Julie Kent shows us how linear regression works, and walks through a practical example in Ruby.

Why and How to Host your Rails 6 App with AWS ElasticBeanstalk and RDS

When you deploy a new Rails app, you typically face a double-bind. If you use an easy platform like Heroku, you could create problems for yourself as your application scales. If you use a more fully-featured platform, you risk wasting time on ops that could be spent on your product. What if you could have both: an easy deployment option that is easy to scale? In this article, Amos Omondi argues that AWS Elastic Beanstalk gives us both, then he shows us everything we need to know to get a Rails 6 app up and running on EB.

Ruby's Bitwise Toolbox: Operators, Applications and Magic Tricks

How often do you think about the bits -- the ones and zeroes -- that make up your app's data? If you're doing web development in Ruby there's rarely any need to. But what if you want to interact with the operating system or a piece of hardware? What if you'd like to understand network protocols or databases? In that case, a solid understanding of bitwise operators is foundational. In this article José M. Gilgado will introduce you to bitwise operations in Ruby, give practical examples of how they can be useful, and finish big with with some fun math tricks.

Plugging Git Leaks: Preventing and Fixing Information Exposure in Repositories

Have you ever been neck-deep building a new feature? You're working at capacity. You need to test something out so you paste an API key into your source file with every intention of removing it later. But you forget. You push to GitHub. It's an easy mistake, and potentially a very expensive one. In this article, Julien Cretel explores the nuances of this kind of data leak, offers suggestions for recovery when leaks happen and gives us options for preventing them in the first place.