Simon's blog


The Perl prototype to shishi managed to match “abc” today. From here on, getting the regular expression engine part of the runtime together is a SMOP; ensuring that the parsing side of it works as well is slightly more tricky. It's baby steps (and I'm going to take a few more days off to speed things up) but I'm still very excited about what's possible.

Idea fairy

Selective tainting. “Taint all filehandles, but not environment accesses.” Or even, “taint this filehandle, since it's coming in from the network, but not that one, since it's the server config file and I trust it”. Difficult to implement in Perl 5 without a major slowdown, I think. You'd have to split taint checking from actual tainting, for starters. But worth thinking about.

Sick sick sick

Idea of the day: JIT the bytecode produced by the regexp engine. Shouldn't actually be too hard. Produce a bunch of C functions which perform each node, keep everything in registers, and use C magic to build a buffer stringing the assembly code for each function together.


Every night before I teach, I dread the morning. But then when I get into the class and start teaching, I love it. Weird.