• Tour
    Features Error tracking Uptime monitoring Status pages Cron & heartbeat monitoring
    Frameworks
    Ruby on Rails Laravel Django Phoenix
    Languages
    Ruby PHP Python JavaScript
    Elixir Crystal Node Go
  • Pricing
  • Blog
  • Docs
  • Status
  • Contact
  • Meet the 'Badgers
  • Log In
Get started for FREE
  • Blog Home
  • Honeybadger
  • Ruby
  • PHP
  • Python
  • Elixir
  • JavaScript
  • Posts by Topic
    Ruby (187) Honeybadger (81) Rails (61) JavaScript (60) PHP (51) Python (33) Laravel (33) Go (16) Briefing (13) Django (12) Node (12) DevOps (10) Elixir (8) Aws (8) Briefing 2021 Q3 (7) React (7) FounderQuest (6) Briefing 2021 Q2 (6) Error Handling (6) Conferences (5) Testing (5) Security (4) Developer Tools (4) Elastic Beanstalk (4) Heroku (3) Debugging (3) Docker (3) Markdown (3) Serverless (3) Websockets (3) Sql (3) Events (2) Jekyll (2) Startup Advice (2) Guest Post (2) Sidekiq (2) Git (2) Front End (2) Rspec (2) Oauth (2) Logging (2) GraphQL (2) Flask (2) Nextjs (2) DynamoDB (2) Case Studies (1) Performance (1) Allocation Stats (1) Integrations (1) Bitbucket (1) Mobile (1) Gophercon (1) Clients (1) Vue (1) Lambda (1) Turbolinks (1) Redis (1) CircleCI (1) GitHub (1) Crystal (1) Stripe (1) Saas (1) Elasticsearch (1) Import Maps (1) Build Systems (1) Minitest (1) Guzzle (1) Tdd (1) I18n (1) Github Actions (1) Postgresql (1) Xdebug (1) Zend Debugger (1) Phpdbg (1) Pdf (1) Multithreading (1) Concurrency (1) Web Workers (1) Fargate (1) Active Record (1) Django Q (1) Celery (1) Amazon S3 (1) Aws Lambda (1) Amazon Textract (1) Sucrase (1) Babel (1) Pdfs (1) Hanami (1) Discord (1) Active Support (1) Blazer (1) Ubuntu (1)
  • Write For Us
  • RSS Feed

Ruby Articles

Brought to you by Honeybadger—we combine error, uptime, and cron monitoring in one simple and easy-to-use app for developers.

The Case of the Flaky Test Suite

In this story, Jason Swett of The Ruby Testing Podcast discusses the pitfalls of external dependencies in your test suites, and how to avoid them.

  • author photo By Jason Swett
  • #ruby #rails #testing
  • Aug 1, 2018

Rustic Nil Handling in Ruby

Ad-hoc nil usage causes a lot of problems in Ruby. In this post we explore a more explicit way to handle nil conditions, inspired by Rust.

  • author photo By Starr Horne
  • #ruby
  • Feb 13, 2018

Adding Context to Exception Classes

We recently shipped version 3.2 of the honeybadger Ruby Gem, which includes a new feature to make it easier to add context to your error reports.

  • author photo By Joshua Wood
  • #ruby #rails #honeybadger
  • Dec 5, 2017

Cleanly Scaling Sidekiq

When your autoscaling group terminates instances running Sidekiq, you should finish the Sidekiq jobs before the instance gets terminated. This is how we do that at Honeybadger.

  • author photo By Benjamin Curtis
  • #ruby #sidekiq #devops
  • Oct 31, 2017

Replacing a Complex Regular Expression with a Simple Parser

When we have to work with text, we often reach for regular expressions. But they're not the easiest solution to every problem. Recently I was struggling with a large regexp, when I realized it'd be less work to write a parser. This article explains the process.

  • author photo By Starr Horne
  • #ruby
  • Jun 27, 2017

The Rubyist's Guide to Memoization

This article covers one of my favorite techniques for improving performance: memoization. It's a source of easy little performance wins that eventually add up and only occasionally reduce your application to a heap of smoldering rubble. Only very occasionally.

  • author photo By Starr Horne
  • #ruby
  • Apr 5, 2017

Unicode Normalization in Ruby

If you want Ruby's string methods to play nicely with Unicode, it's a good idea to normalize them. This article is a brief introduction to Unicode normalization for Rubyists.

  • author photo By Starr Horne
  • #ruby
  • Mar 6, 2017

What's New in the Honeybadger Gem v3

The latest version of the honeybadger Ruby gem includes a lot of improvements and new features. Check it out!

  • author photo By Joshua Wood
  • #ruby
  • Mar 3, 2017

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.

  • author photo By Starr Horne
  • #ruby
  • Feb 21, 2017

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.

  • author photo By Starr Horne
  • #ruby
  • Feb 14, 2017

Introducing our Sidekiq cluster script

Here's an easy way to run multiple Sidekiq processes via systemd.

  • author photo By Benjamin Curtis
  • #ruby #sidekiq #devops
  • Feb 8, 2017

Simple tips to make scaling your database easier as you grow

In this post we'll discuss a few easy wins - things you can do when a Rails project is young to make it much easier to scale its data layer as the project grows.

  • author photo By Starr Horne
  • #ruby
  • Feb 6, 2017

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.

  • author photo By Starr Horne
  • #ruby
  • Jan 10, 2017

Common Rails Idioms that Kill Database Performance

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.

  • author photo By Starr Horne
  • #ruby
  • Jan 3, 2017

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.

  • author photo By Starr Horne
  • #ruby
  • Dec 6, 2016

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.

  • author photo By Sophia Le
  • #ruby #conferences
  • Nov 21, 2016

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.

  • author photo By Starr Horne
  • #ruby
  • Nov 14, 2016

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.

  • author photo By Benjamin Curtis
  • #ruby #rails
  • Oct 17, 2016

How to Deploy a Sinatra App in Docker to Amazon's EC2 Container Service

Starr deploys a simple Sinatra application to Amazon's EC2 Container Service (ECS) and load-balances it across two availability zones.

  • author photo By Starr Horne
  • #ruby
  • Sep 13, 2016

Why is URI.join so counterintuitive?

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.

  • author photo By Starr Horne
  • #ruby
  • Aug 9, 2016
  • ← Previous
  • Next →

Get Honeybadger's best Ruby articles in your inbox

We publish 1-2 times per month. Subscribe to get our Ruby articles as soon as we publish them.

    We're Honeybadger. We'll never send you spam; we will send you cool stuff like exclusive content, memes, and swag.

    Product
    • Error tracking
    • Uptime monitoring
    • Status pages
    • Cron & heartbeat monitoring
    • Integrations
    • Plans & pricing
    • HB vs. Error Trackers
    • GDPR
    • Security
    Stacks
    • Rails
    • Laravel
    • Django
    • Phoenix
    • JavaScript
    • Ruby
    • Node
    • Python
    • PHP
    • Elixir
    • Crystal
    • Go
    • Cocoa
    Company
    • Meet the 'Badgers
    • Job openings
    • Brand assets
    • Terms of use
    • Privacy statement
    • Contact us
    Resources
    • Developer docs
    • Developer blog
    • Newsletter
    • Exceptional Creatures
    • FounderQuest
    • Twitter