Time Heals All Wounds.. And Then Kills the Patient
<Previous Next>
Mon Jun 16 09:15:25 2003
Splitting the beat

Oh, some other things I jotted down on the trip home.. (yes, writing while driving is dangerous. I probably should've repeated it like a mantra until I reached a rest stop, or used a tape recorder. Oh well)

I was listening to my mix of CDs on the way back, and was pulled back into an observation I have on music -- it's possible to percieve a beat starting at an arbitrary point, and makes a big difference perceptually when you do so. To illustrate, look at the following sequence:


You can see it as a sequence of ABBA, or perhaps of BBAA. Both are correct, and yet it makes a difference in how we see the sequence, even moreso in music. I can't really say anything more on it that's descriptive, so I just encourage you to try it. Like pulling the individual instruments out of a song that's playing, and listening only to them, it's an interesting thing to try with almost any piece of music.

I've been trying on a principle for programming -- keep abstractions as thin as possible. It's actually something I've been doing in practice for some time -- my email program, usenet moderation software, and this netdiary program all share the philosophy. It's the exact opposite philosophy of most modern software, especially on windows. There, software appears to be as 'rich' as possible, hiding all the intimate details from you on what's going on. There's a big problem with that plan, as illustrated by a conversation between my father and grandfather this weekend -- my grandfather got a new digital camera, and was looking for photo manipulation software, especially one that would handle the collections of photos that my dad has, splitting things up by date and topic. My dad said that the software he suggested wouldn't do it, but that it was unneeded because he maintained all that stuff himself. The key difference is that DOS is still fresh in my Dad's mind, and in DOS, you gave the computer a lot of structure by your organization methods. That's not true in windows, which makes a lot of suggestions on how to do things, so many that you're not encouraged to give things your own structure. A computer is an expressive medium, and, like a house, users should be very active in how things are shaped and done. We don't expect notches in the floor telling us where to put tables -- people are capable of decorating their house on their own. The same goes with computers. Back to software, it should be thin because thin software lets in other tools that can twist the data in useful ways. I use this all the time with my netdiary and email programs -- standard Unix utilities all chain together, manipulating each entry/email, all of which live in their own files. All that would be a lot uglier if my emails were stored in mbox format or some database. I lose out on some stuff, sure, but I get more than I lose.

Finally, I noticed on the toll roads between Bville and Pittsburgh, when one approaches a toll station, the lanes go away and the highway widens quite a lot. It's really a change of pace to be driving with other cars without lanes. It almost makes one see one's car in a different way -- no longer as being like a train on rails.