Abder-Rahman Ali, Mar 19

Ruby on Medicine: Scrolling Through Large Files

Abder-Rahman Ali continues the Ruby on Medicine series, showing how to use Ruby to smoothly scroll through VERY large (think, GBs) text files.
Glenn Goodrich, Feb 18

Sailing the Parallel Seas with Codeship

Glenn Goodrich takes us on a voyage aboard the vessel Codeship, exploring the high seas of continuous integration with the new ParallelCI tool
Abder-Rahman Ali, Feb 09

Which IDEs do Rubyists Use?

Abder-Rahman Ali follows up his interviews about text editor usage in Ruby with one about IDEs. Learn which IDE Rubyists prefer and why it's at the top.
Richard Schneeman, Jan 19

Symbol GC in Ruby 2.2

What is symbol GC and why should you care? Ruby 2.2 was just released and, in addition to incremental GC, one of the other big features is Symbol GC. If you've been around the Ruby landscape, you've heard the term "symbol DoS". A symbol denial of service attack occurs when a system creates so many symbols that it runs out of memory. This is because, prior to Ruby 2.2, symbols lived forever. For example in Ruby 2.1:

Jesse Herrick, Dec 18

Chruby and Rbenv Tips and Tricks


Rbenv and chruby are the cool kids on the block now. Obviously, we want the most we can get out of our favorite tools. So this article isn't about which one to like more, nor is it an introduction to either version manager. Instead, we're going to cover some advanced rbenv and chruby usage to maximize your productivity.

Katrina Owen, Dec 01

The Syntax of Taste: Refactoring Conditionals

Conditionals aren't bad, but they sure do have a tendency to proliferate. Here we'll look at a conditional and how to gain a small measure of control
Glenn Goodrich, Nov 06

How to Set Up Continuous Deployment with Ninefold

Ruby editor Glenn Goodrich walks us through how to set up a continuous deployment system with Ninefold and Codeship.
Robert Qualls, Nov 06

The Ruby Ecosystem for New Rubyists

Ruby is more than just a language. It has a universe of tools and processes supporting the creation of the complex software it makes. This can be overwhelming to newcomers, so I've put together an article that will hopefully make things a little more clear.
Jesse Herrick, Oct 20

Automatically Reload All the Things with Guard

Use Guard to reload all your changed files automatically in the browser, the test environment, everywhere.
David Copeland, Oct 01

What You Don’t Get With ActiveJob

ActiveJob is a unified API for queuing and writing background jobs. But it is what ActiveJob doesn't give you that is important: resiliency.
Bakir Jusufbegovic, Sep 29

Write Modular RSpec

Learn how to make your RSpec more modular and reusable by sharing code and contexts between specs.
Brian Knapp, Sep 22

Ruby Benchmarking Lessons Learned

After finishing work on the stunningly comprehensive Ruby Web Benchmark, Brian Knapp explains what the process taught him. Very interesting.
Bakir Jusufbegovic, Aug 18

The Basics of Capybara and Improving Your Tests

Capybara is a web-based automation framework used for creating functional tests that simulate how users would interact with your application. Today, there are many alternatives for web-based automation tools, such as Selenium, Watir, Capybara, etc. All of these tools have the same purpose, but there are slight differences that make each of them more or less suitable.

The main characteristic that developers are aiming for is the ability to have tests that are modular, easy to write, and easy to maintain. This is especially true in Agile/TDD environments where writing tests is second nature. These tests are expected to give good and fast feedback on code quality. As time goes by, the number of tests grows and it can be a real nightmare to maintain the tests, especially when the tests are not modular and simple enough.

In this tutorial, I will describe some of Capybara key features and explain why it could be your tool of choice for developing web-based automated tests.

Katrina Owen, Aug 06

Golden Master: Discovering Abstractions

In the final article, we have a new class a part of abstraction discovery. It is a nice win to "a long slog through controllers, helper methods, etc."
Katrina Owen, Jul 16

Golden Master Testing: Controller Refactoring

This article continues using the Golden Master technique to test and refactor a complicated Rails controller.
Katrina Owen, Jul 09

Golden Master Testing: Refactor Complicated Views

Jesse Herrick, Jun 20

Make Your Ruby Tests Cleaner with Minitest and Shoulda

In this article, we're going to overview Minitest (as it has now superceded Test Unit) and the benefits of shoulda-context, a Test::Unit/Minitest framework.
Alexey Ovchinnikov, May 26

Digging with TracePoint

Camilo Reyes, May 09

Crafting Ruby for Performance

In the past, Ruby had a reputation of being a slow programming language. With Ruby 2.0+, this is now a myth. We’ll investigate Ruby’s performance.
Katrina Owen, Apr 28

A Refactoring Workout: Relentlessly Green

Get better at refactoring. Refactor the code in tiny, safe steps until it becomes a generalized solution.
Karl Stolley, Apr 23

Reading Ruby for Professional Development

Applying six types of reading comprehension to reading Ruby code with the aim of furthering the professional development of the Ruby programmer.
Fred Heath, Apr 21

BDD: Think Like an Actor

Stage Right

Make no bones about it, BDD ain't easy! It's actually darn-right difficult and takes time to master and do it right. Luckily, the benefits far outweigh the initial costs. If you've decided to practice BDD then you've already made a conscious decision to break the 'burn-and-scrape' cycle, a wise choice indeed!

Still, good intentions alone are not always enough. Many developers become disillusioned and frustrated with a process that doesn't seem to work for them. In this article, I'd like to explore some of the most common obstacles and pitfalls that fresh BDD adopters encounter and offer some tips to help overcome them.

Darren Jones, Mar 28

New Relic: Real Time Ruby Monitoring

João M. D. Moura, Jan 20

Code Kata