Honeybadger Developer Blog

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

How Elixir Lays Out Your Data in Memory

Elixir makes it easy to work with sophisticated data structures. We've come a long way C, where you had to manage every detail of your data's representation in memory. Even so, the way Elixir lays out your data in memory can have real implications on your app's performance. In this article, Sasha Fonseca gives us a tour through Elixir's internal data structures and shows us how they can affect application performance.

Code Loaders in Ruby: Understanding Zeitwerk

What makes Rails magical? It just might be its code loader. Put a few files in the right places, and - presto! - you have a web app. When you use a class, Rails handles the include so you can stay focused on your code. But this magic isn't just for Rails! You can add thread-safe code loading to your own apps via the Zeitwerk gem. In this article, Olasubomi introduces us to Zeitwerk and shows us how to integrate it with our own projects.

Exploring Merge Sort with Ruby

You'll probably never implement sorting from scratch. But sorting algorithms are foundational in computer science and have become a standard feature of the ritual hazing...er...interview process for developers at all levels. In this article, Julie Kent introduces us to the merge sort algorithm. She'll show us how it works, implement it in ruby, and discuss its performance characteristics.