Here's my solution:
  http://staff.washington.edu/netghost/stocks.rb

The application bit is a little unpolished, but it has some neat
features:
-Lookup stocks:
  view goog, msft
-Buy/Sell multiple stocks:
  buy 10 goog, 20 msft
-Get a history of transactions:
  history goog

Anyways, this was pretty fun, and I even found a compelling use for
OpenStruct, neat.
  .adam