Wow, ya'll are good code golfers! Of the few challenges I've been able
to solve so far, my solutions are much bigger than the winners (about
in the middle from smallest to largest). I guess I'm not gonna be the
Tiger Woods of code golfing. My best effort on the 99 bottles challenge
is 243 bytes ;)

i="%d bottle%s of beer"
j=" on the wall"
k="\nTake one down and pass it around, "
l="\nGo to the store and buy some more, "
99.downto(1){|x|m=x-1>0?[k,x-1]:[l,99];n=i%[x,(:s if x>1)];
puts n+j+', '+n+'.'+m[0]+i%[m[1],(:s if m[1]>1)]+j+".\n\n"}

Regards,
Jordan