Glossary

AGILE, Software development technique, focuses on smaller-scale iterative development rather than on top-down “waterfall” design and implementation.

BDD, Behavior Driven Development, similar to TDD but uses a different set of tools to express code in terms of user facing behavior.

BUNDLER, Environment and dependency management for Ruby.

CAPISTRANO, A tool for executing commands on groups of servers over SSH. Primarily used to deploy applications.

DHH, David Heinemeier Hansson — author, partner at 37signals, race car enthusiast and the creator of the web framework “Ruby on Rails”.

DUCK TYPING, Technique of determining an object’s type by it’s behavior rather than explicit labels.

GEM, A self–contained library for Ruby, distributed via the RubyGems package manager, de facto standard way to distribute code for Ruby.

GIT, Distributed version control system created by Linus Torvalds.

IRB, Interactive Ruby Shell, for direct code manipulation.

JRUBY, Alternative Ruby implementation atop of the Java Virtual Machine (JVM).

MATZ, Creator of Ruby (Yukihiro Matsumoto).

METAPROGRAMMING, Writing code that dynamically generates other code at runtime.

MINASWAN, “Matz Is Nice, And So We Are Nice”, a key principle of the Ruby community

MINITEST, Default testing library for Ruby since version 1.9 .

MONKEY PATCHING, Practice of re–opening and modifying existing classes at runtime.

MRI, “Matz’s Ruby Implementation”, the original Ruby Interpreter, used to run your Ruby programs.

RAKE, make for Ruby, a widely used task management tool.

RBENV, Ruby version manager and alternative to RVM.

RSPEC, Prominent testing framework for Ruby.

RUBINIUS, Alternative Ruby implementation, written in Ruby with a focus on thread safety.

RUBYMOTION, Alternative Ruby implementation running on iOS and Mac OS X.

RVM, Ruby Version Manager, manages multiple installations of Ruby.

TDD, Test Driven Development, The practice of writing a failing test before writing the implementation.

_WHY, aka “why the lucky stiff”, prolific writer, cartoonist, artist, and computer programmer notable for his work with Ruby.