Oh, some other things I jotted down on the trip home..(yes, writing while driving is dangerous. I probably should'verepeated it like a mantra until I reached a rest stop, or used atape recorder. Oh well)
I was listening to my mix of CDs on the way back, and was pulled backinto an observation I have on music -- it's possible to percieve abeat starting at an arbitrary point, and makes a big differenceperceptually 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 inmusic. I can't really say anything more on it that's descriptive, so Ijust encourage you to try it. Like pulling the individual instruments outof a song that's playing, and listening only to them, it's an interestingthing to try with almost any piece of music.
I've been trying on a principle for programming -- keep abstractions asthin as possible. It's actually something I've been doing in practicefor some time -- my email program, usenet moderation software, and thisnetdiary program all share the philosophy. It's the exact opposite philosophyof most modern software, especially on windows. There, software appears tobe as 'rich' as possible, hiding all the intimate details from you on what'sgoing on. There's a big problem with that plan, as illustrated by a conversationbetween my father and grandfather this weekend -- my grandfather got a newdigital camera, and was looking for photo manipulation software, especiallyone that would handle the collections of photos that my dad has, splittingthings up by date and topic. My dad said that the software he suggested wouldn'tdo 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'snot true in windows, which makes a lot of suggestions on how to do things, somany that you're not encouraged to give things your own structure. A computeris an expressive medium, and, like a house, users should be very active in howthings are shaped and done. We don't expect notches in the floor telling uswhere to put tables -- people are capable of decorating their house on theirown. The same goes with computers. Back to software, it should be thin becausethin 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 Unixutilities all chain together, manipulating each entry/email, all of whichlive in their own files. All that would be a lot uglier if my emails werestored in mbox format or some database. I lose out on some stuff, sure, butI get more than I lose.
Finally, I noticed on the toll roads between Bville and Pittsburgh, when oneapproaches a toll station, the lanes go away and the highway widens quite alot. 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 beinglike a train on rails.