I work at a tech firm, supporting the compiler others use to get their stuff working. A colleague asked for some rudimentary information on how a compiler worked, so he could ask slightly less stupid questions (his words). In talking through a few things, I realized that stuff I just took for granted was completely alien to him.
I started an internal wiki, describing the insides of compilers to hep my colleagues understand why the compiler did what it did. Originally, this was on an internal wiki. But then comments came in asking for it to be visible to others, to share the goodness. I finally went out an bought a domain over a Christmas break ...
I used to think it entirely random that I ended up working on compilers. It was only when writing up this wiki I realized it was my destiny. You see, way back when I built my first computer, and programmed it in assembly language, of the projects I remember were:
- WSFN (Which Stands For Nothing), a very terse logo-like interpreter
- Forth, yay Threaded Interpreted Languages
- Lisp. Of course lisp, why would you think otherwise?