Metaprogramming and Hackitude
If you read about the disappointing results of my 30-in-30 project, you may have wondered what I was working on instead of my vaporous 30 releases. Aside from perfecting my tan and sculpting my rock-hard abs, for the past few weeks I’ve been working with @MarkusQ on a talk titled “Spindle, Mutilate, and Metaprogram: How far can you push it before there be dragons?“, which we presented last Wednesday at Open Source Bridge.
Giving the talk was a blast. There was a lot more prep to do than I expected, and we had so many ideas that only a fraction made it into the talk. That’s a little disappointing, but the audience was entertained and engaged and I think that’s what really matters.
One unexpected result of prepping for the talk is that my “hackitude” shot up tremendously. Our talk revolved around many code samples in several different languages, and we ended up using only a fraction of the code we created. So the bottom line is that we wrote a lot of code in a fairly short amount of time. Not only that, but the code really just flowed. It wasn’t effortless, but it was definitely satisfying and productive.
This is exactly the kind of increase in capability that I was aiming for with my 30-in-30 project. I think the difference here was that I was doing the code purely for the fun of it. A lot of our code examples were gags and language hacks that elicited both deep thought and chuckles from us as we worked on them. Having a collaborator was also a huge win. We sent a lot of code back and forth to each other over the past few weeks and that increased our velocity quite a bit.
A couple of people blogged about our talk here and here.
The code and slides are both available.
Audio was recorded from the talk (although we forgot to repeat questions and sometimes I was off-mike). When that’s available I’ll post a link.