My solution is at http://rubyurl.com//iFW. Sean, Craig Buchek and I hacked on this last night at the weekly StL.rb hacking night as our topic. As you can see Sean took a Ruby Golf approach, while I took the exact opposite approach. I tried to make mine fairly feature rich w/o a lot of extra baggage. It can do the following: Take long or short option names -h, --help prints the usage statement via RDoc::usage (reads the comments at the head of the file : paste.rb) -t allows putting text or code on the command line (I.e. --text 'puts "hello world"' ) Reads options from a YAML config file: ~/.paste.yml. This can be expanded to work with nopaste or rpaste.com, each having different form parameters. Defaults to Ruby for the lang. Currently, there is no option for tab expansion, but you can put it in the .paste.yml file. Seriously needs a lot of refactoring, esp around the response handling and the initial options gathering. I found it interesting the different ways of handling errors from the HTTPResponse in the other quiz answers. Sean wanted to take the best of these and maybe create a RubyForge project. Lots of fun! Ed