Monday, December 18, 2006

The Eclectic Ruby Group

Sears Tower In the morning.Different is good! Tonight at the Ruby User's group we broke the mold. Instead of 1 long presentation we had many small presentations. It was a more energetic and spontaneous way to have our monthly meeting. This is the text equivalent of this meeting's highlight reel.

I was playing with Cerberus again, this time in front of a crowd. Everyone seemed pretty enthusiastic! I think it is important to encourage the Ruby community to develop their own continuous integration tool. The exciting part is that Ruby can bring much to this problem, especially given the fact that customizing Ruby applications is so much easier than with Java or other statically typed languages. The mark of a good CI tool is customizeability.

After that little warmup Brendan Baldwin gave a fascinating little presentation on what he calls "Layers". One member of the group pointed out it was alot like aspect programming, and Brendan himself said it was something akin to a visitor pattern without the requirement that the host class implement any special methods. I wish I had gotten copies of all the little demos Brendan did in irb. You can find a link to some of the "layers" code on his website. I'm going to be watching there for examples of usage.

Peter Chan then gave a presentation on a grease monkey script he wrote that helps you keep your place while paging through text. This opened up a long discussion on how greasemonkey and firefox extensions are related.

We ended with a presentation by Evan Farrar about the splat! (unary *) operator in Ruby. Not being one who delves too deeply into every nook and cranny of my programming language, I didn't know what splat was all about. Here and here are links to some splatty goodness. See what I'm talking about?

Sure this sort of thing can encourage some code that is terse to the point of illegibility, but Evan opened my eyes to a greater appreciation for doing things not because you should, but because you can. His ugly little demonstration encouraged me to be less dogmatic about the choices I make while programming. Breaking out of your comfort zone syntactically can be good for you if you learn something about the language while doing it.

Another fun part for me came while discussing some trivial inconsistency in how Ruby handles multiple assignments. (This will certainly be fixed in a future release of Ruby), Evan was discussing the "problem" then paused and with a grin said (of the inconsistency) "While it lasts it will be fun." I think this is a more aesthetically sophisticated way to look at such an anomoly. There is a beauty that is there just by virtue of uniqueness. Hold that ruby to the light. See if you can find your own irregularity. Appreciate it before someone polishes it out.

No comments: