Skip to main content

Benjamin Oakes

Photo of Ben Oakes

Hi, I'm Ben Oakes and this is my geek blog. Currently, I'm a Ruby/JavaScript Developer at Liaison. Previously, I was a Developer at Continuity and Hedgeye, a Research Assistant in the Early Social Cognition Lab at Yale University and a student at the University of Iowa. I also organize, ICRuby, OpenHack Iowa City, and previously organized NewHaven.rb. I have an amazing wife named Danielle Oakes.

Filtering for the Projects category. Clear

Maid v0.3.0 Beta

by Ben

I’ve released a beta of Maid v0.3.0. It contains a bugfix which required an additional DSL method to be added. The move method now only moves to pre-existing directories, and the new rename method should be used if renaming is the intention. This makes it easier to detect accidental overwrites.

From my observations, most of the time users who share their rules are using move with directories, so it should be a pretty painless upgrade… but since there’s a new method in the DSL, this new version is called v0.3.0 instead of v0.2.3. (A new version v0.4.0 is in the works — it was once referred to as v0.3.0 — so don’t let that confuse you. :) )

To install:

gem install maid --pre

I’m interested in whether anyone runs into issues with the change I described. Otherwise, it should be pretty much the same as v0.2.2. Please leave a comment in this issue with your experiences!

For more information, see the ChangeLog or RubyGems.

Maid presentation

by Ben

Since I wasn’t able to make it to the newhaven.rb meetup, I ended up presenting about Maid at ICRuby today. I was happy there was quite a bit of interest.

I thought I’d share my (quick and dirty) slides and example scripts I created for the presentation. There’s no audio (besides the Ruby5 story), but you should be able to get a good sense of what I presented.

There were lots of good questions (which I wish I had written down), including how to use it with iTunes, how to use it as a replacement for logrotate, how I was using Vagrant for testing, how to automate more than set of rules, etc.

View the slides (or get the source markdown)

New open source projects: Maid and TabCarousel

by Ben

I’ve been hard at work taking some code I had originally written for myself and packaging it up as two open source projects. I’ve been very happy about the amount of interest I’ve received in both. I encourage you to take a look and see if what I’ve released would be useful to you. Feedback (and contributions) are welcome!


(Install, Source Code)

Be lazy! Let Maid clean up after you, based on rules you define.

Maid keeps files from sitting around too long, untouched. Many of the downloads and other files you collect can easily be categorized and handled appropriately by rules you define. Let the maid in your computer take care of the easy stuff, so you can spend more of your time on what matters.

Think of it like the email filters you might already have, but for files. Worried about things happening that you don’t expect? Maid doesn’t overwrite files and actions are logged so you can tell what happened.

Maid is inspired by the Mac OS X shareware program Hazel. This tool was created on Mac OS X 10.6, but should be generally portable to other systems. (Some of the more advanced features such as downloaded_from require OS X, however.)

Your rules are defined in Ruby, so easy rules are easy and difficult rules are possible.


(Install, Source Code)

A Chrome extension to help you keep tabs on info you want to monitor. It’s great for cycling through tabs on an external display, like a TV.

TabCarousel is simple: open tabs you want to monitor throughout the day, then click the toolbar icon. To stop, click the icon again.

By default, TabCarousel will flip through your tabs every 15 s, reloading them every 5 min. It’s great on a unused display or TV. Put Chrome in full-screen mode (F11, or cmd-shift-f on the Mac) and let it go.

If you want to change how often TabCarousel flips through your tabs, right click on the toolbar icon and choose “Options”.

Example Uses

On a HDTV that has a computer attached, open the NewRelic overview (and Background Tasks, etc.) for each app you’d like to monitor. Set NewRelic to kiosk mode for each page, then hit the “Tab Carousel” toolbar button.

The TabCarousel wiki has more.