Saturday, April 20, 2013

Ack 2.0

Andy Lester has released Ack 2.0.  The most significant change to the utility is the elimination of the need to add a config entry for every file type you want to search in by instead searching all text files by default.  This means that ack is much more useful out of the box and requires less configuration overall.

I think this is a good example of leveraging an implicit convention instead of requiring explicit configuration.

See Ack's homepage or GitHub repository for more information.


Wednesday, April 3, 2013

Use Bundler Instead of RVM Gemsets


Wayne Seguin and Michal Papis' rvm has several useful features for ruby developers which include managing multiple versions of ruby and controlling gem visibility on a per folder/project basis.  The latter of these two features is also entirely handled by bundler in a significantly better manner.  Bundler completely supplants the functionality of rvm's gemsets, leaving rvm to handle its primary purpose: easily switching between Ruby versions.

Sharing a global gemset shared between all projects using the same ruby version means that instead of installing a gem once per project, all projects using Ruby 1.9 can share the same gem.  This can make a pretty big difference when you have many projects, develop gems, or use gems that are costly to reinstall (e.g. capybara-webkit).

Legacy projects without bundler will still need gemsets, and jumping around between projects that don't use bundler will probably still prove the value of rvm's gemsets, but when starting a new project using bundler, there is no need to use a gemset.

See also: