Well, it’s been god-knows-how-long since I’ve posted anything to this blog. It’s probably time for an update!

Last week I gave two presentations at OSCON 2012. The presentations kinda tied into one another in that I was able to describe a generalized compiler architecture (scanner > parser > code generator), and then demonstrated how these concepts apply in the context of two rather different real-world code bases: PHP and CPython.

To keep the audience on their toes, I live-coded the addition of new syntax to each language & tried to tie these changes back to the generalized architecture I described.

To PHP, I added the until statement. I think the slides for Inside PHP tell the story pretty well, but you can also check out the code behind the live-coded until statement from the presentation.

To Python, I worked through how you might add an unless statement. Again, the Inside Python slides should tell most of the story, but again there’s always the source code as modified during the presentation.

Both presentations were well-received, but the Python presentation in particular seemed to draw a lot of positive feedback. Probably because I made a bunch of mistakes & folks were on the edge of their seats just waiting for me to come undone. ;)

Thanks to all who came along, & thanks to New Relic for giving me the support & time to put these presentations together at the last minute!