They say that the best way to understand something is to teach it. A close runner up I think would be to rip that something apart conceptually and examine its construction. Being someone who has always derived enjoyment from this process, its only natural that one day I would attempt to create a programming language. I don't often use tools without attempting to understand how they're working. If you don't understand how a tool that you're using works, how can you trust the tool?
With this thought in mind and a general love for programming I've started a project.
As I work on it I and then inevitably want to procrastinate on something I will write snippets about it and the process here.