BrisPy rc2

The second meeting of BrisPy went well last night. Clinton Roy did a great talk on ANTLR and the python target. As I now understand it, ANTLR is a LL* parser that can generate recursive descent pure python parsers.

The wonderful thing about a recursive descent parser is that you don't have to spend 3 hours with a pad of paper to evaluate the parser by hand on sample input to track down which rule has a bug in it, it just generates a single function per grammar rule, and all the functions are easily human readable.

It sounds like the parsing side of things is a super happy easy world, but the generation side of things requires using intermediate abstract syntax trees in order to be able to do things like have multiple targets - using the same grammar file to do pretty printing, code rewriting and code generation looks like it's harder than it needs to be with ANTLR3.

Regardless, this means I won't have to handcraft many recursive descent parsers anymore. I have a few around. Exarkun got me to do an nsswitch.conf parser, Nevow has a JSON parser I wrote, I have a dice rolling irc bot that can handle (10*3d6+(1d4+1)*(1d6 drop lowest)). All of those are recursive descent parsers.

The meeting went well, there were a few non-computer scientists that were left behind, but you kind of expect that.

We'd like someone to volunteer to give a talk next month (we meet on the first Wednesday of the month) but we don't have any volunteers yet. I think something using one of the many python web technologies would be received well.


Over Reliance on Google Apps

With all that [overreliance on google services] in mind, I read something today that made me step back: Google sent this guy a DMCA complaint notice for copyrighted material on his Google Notebook. The material is the title of this post, the string 09:F9:11:02:9D:74:E3:5B:D8:41:56:C5:63:56:88:C0. What makes this particular string of hexadecimal characters so terrible is that it is the HD-DVD processing key for most movies released so far, published on the net by the AACS (Advanced Access Content System) a couple of days ago by mistake.

-- 09:F9:11:02:9D:74:E3:5B:D8:41:56:C5:63:56:88:C0 from Roberto De Almeida

Scary stuff indeed.

I use blogger, gmail, google groups, gtalk, reader. I'm just a little more worried today than I was yesterday. Maybe all those people who told us that gmail was bad back when it was released were right...