The Importance of Good Documentation

This entire past week I’ve been reading about the MPEG-2 specs. I’ve got some video files that have KLV data stored in the user_data extension of the MPEG stream. So, right off the bat, I tried using ffmpeg‘s avcodec library….

Do it Yourself!

The phrase “Do it yourself!” can either be a dismissive command that indicates the speaker doesn’t wish to be bothered, or an empowering personal philosophy. All the great geniuses of history were avid proponents of personal independence in thought, word…

Printed Circuits

My laptop broke, so I took it apart to see what was wrong (a personality trait developed in early childhood). All signs point to a hardware problem, one that I’m incapable of fixing. This situation is absolutely galling. Like most…

Scope Resolution

I purchased myself a really nice Christmas present: Concepts, Techniques, and Models of Computer Programming. So far it has been a really nice read. Though I’m not familiar with the Mozart/Oz system that’s used (and conceptually developed) throughout the book,…

Science creates Gods

I’ve been watching the Beyond Belief 2006 conference on the relationship between Science and religion. While I didn’t agree with all of the views expressed I did learn many things. That when you ask someone to give up their religion,…

Class Inheritance as a cyclic graph

This is a highly speculative idea. Lately, I’ve been dreaming of a system where inheritance would be extremely general. None of this hierarchical nonsense. I’m looking for something with more flexibility. I’m looking for dynamic binding, done as late as…

Composition vs. Inheritance

Ok, so we’ve seen that concurrency and inheritance don’t really mix that well. In fact, they don’t really mix at all. GoF say that we should prefer composition to inheritance. But I’ll be taking the extreme approach and asking “Can…

The Three types of Existence

I know that I promised a post about process composition and software architecture, but this just can’t wait. Last night I had a really nice conversation with one of my high school friends about the nature of existence. It all…

Module-Oriented Programming

I’ve been ruminating over the different ways in which we have structured our computer programs over the years. Most of the world has focused on C, and it seems to organize programs into data structures and functions that operate on…

The Assembly Programmer From Hell

Today I was reading chapter 3 (Revenge of the Nerds) in Steven Pinker’s book How the Mind Works. It talks about evolution and Darwin and Dawkins, and got me thinking about how replicators are all coded with DNA, and how…