How do Ruby Gems work?

One of the things that makes working with Rails so nice is that for any common programming need---authorization, site administration, ecommerce, you name it---someone smarter than you has likely coded up the solution for your problem and packaged it up in the form of a gem.

Testing controllers in Rails 4 engines

Testing controllers in Rails engines with RSpec requires you to jump through some hoops. If memory serves, it was slightly trickier in Rails 3 than it is now in Rails 4. Fortunately the fix is pretty easy, if not obvious.

Vim tips that will change your life

Vim is objectively the best code editor there is. [Editor's note: Opinions are those of the author. Honeybadger remains neutral in the vim/emacs/sublime holy war]

Introducing Feedback

Here at Honeybadger we're big fans of eating our own dog food. We were all contractors when we started Honeybadger, and still use our own software regularly to monitor our personal projects. One of the main benefits of this is that it's not difficult to see the product from our customer's perspectives; we are the customer!

What everybody ought to know about Ruby on Rails 4.1

One of the most important things to know about Rails 4.1 is that even the beta version is stable enough for some companies to use it in production. For example,Basecamp began Rails 4.1 beta1. Other important features from the release notes include the Spring application preloader, changes to config/secrets.yml, Action Pack variants, and Action Mailer previews. You can find the full list of changes by reviewing the list of commits in the GitHub repository for Rails.

Speed up Rails tests 10x by using PORO domain models

If you're like most Rails developers I know (including myself), you're probably used to writing "unit" tests in RSpec that load up the whole Rails framework before each test, which takes a few seconds to do, even if you're only testing one tiny thing.

Refactoring Ruby using Sprout Classes

One of the hairiest challenges of working with some legacy applications is that the code wasn't written to be testable. So writing meaningful tests is difficult or impossible.

Move a file in *nix without retyping whole path

If you've been using the Unix/Linux command line for any length of time, you're certainly familiar with time-saving techniques like tab completion and reverse-i-search. Chances are you use these darling keystroke-savers daily.

Comments are a beautiful thing

Github flavored markdown lets you add structure, images, links and code to your comments. By the way, did you know that you can comment on an error just by replying to it's email notice? Pretty cool, huh?