Today I decided to explain to my class a simple technique I use in my research. I had worried that it would be too simple, and that there would then be lots of time left at the end of the class.

Well, it didn’t work out that way. The “simple” technique turned out to be composed of other techniques that I had forgotten I’d implemented. And each of those techniques had subtleties to them that I had forgotten about.

By the time we were done, we had used up two solid hours of explanations, discussions, examples, math equations, source code and whiteboard drawings. What had seemed like a simple topic had turned out to be a deep dive into software design, algorithms, aesthetics, data structures and GPU techniques.

Maybe the easiest way to think of it is that algorithms are fractals. I wonder now why I ever thought such a thing would be simple to explain. On the positive side, we sure had fun.