We are not creatures of the light

We are not creatures of the light To run, play, dance in the sun Gleaming pillars of ego And daycare And flesh. For our world doesn't exist yet, Except in hidden places. The engine of a train The 50hz hum of mains The kernel of a computer, the Internet, my…

Packrat Parsers

Its a long weekend, so I wrote a packrat parser! (AKA Parsing Expression Grammar, or PEG.) I implemented the example grammar from the original paper. Here its parsing the string 2*(3+4): Holy cow thats a lot of steps for a 7 character string. No wonder modern compilers take…

Culture Push, Culture Pull

[Epistemic status: speculative, based off my interpretation of Kegan stage 3 -> 4 transition] Sometimes you want to absorb the culture around you (like the first day at a new job, or when you travel to a new city). Other times you want to explicitly take part in creating the…

Boilerplate performance improvements

I spent the last couple of days making some under-the-hood improvements to boilerplate. If I did my job right, you shouldn't notice the change at all. I rewrote part of the graphics engine to use OpenGL. Previously rendering time was evenly split between rendering the background cells, pressure shading and…

Kegan's Social Developmental Milestones

I recently read a book on Kegan's Social Developmental Milestones. It was excellent. For the last month or so I've been wearing Kegan tinted glasses while I look at the world. I'm bringing it up so much my friends have been teasing me about it. When I picked up the…

The tide of opensource

20 years ago it took a whole team to make games like Command & Conquer. Today I could get the gameplay for something like that working in a few weeks. The reason I'm more productive is that I have better tools. I imagine it as a rising tide of tools…