Wednesday, August 30, 2006

anthro-promiscuous

Here's one of the things that I consider among my top idiosyncracies: I tend to personify inanimate objects a lot.

It's usually pretty innocuous, and I doubt most people realize how much I do it, but it happens with everything. If I need some unnamed object near another person, I usually ask for it by saying, "Hey, hand me that guy" or "Pass me one of the little blue dudes". It's not a guy; they're not dudes. They're lumps of lifeless material.

It happens even more frequently when I'm working; I've developed this intensely anthropomorphic ontology for my system, complete with a God-like registry object, "angels" and "devils" controlling the various models objects, etc. It's built right in; the objects don't call other functions, they "ask" for the standard controller and "tell" each other about the various events that happen in regards to the user. But there's really no asking or telling, there's only functional execution. The intelligence inherent in the system is mine, not that of the "agents" I have constructed. They only exist for metaphorical purposes.

And yet, as odd as that sometimes seems to me, it appears to be commonplace throughout human thought. Personification of nature or emotion happens frequently in literature or poetry, pagan or tribal religions use the anger or sadness of the spirits inhabiting all things as a rhetorical tool all the time. In philosophy, Aristotle's physics focused on the tendencies of each kind of element to "seek" its sphere (fire goes up, earth down, etc.). Even in more modern, "scientific" disciplines like software, we still put that to use all the time; functions are easily understood as being the actions that the objects undertake upon each other. It simplifies the description because we can understand it; people know what it's like to be people, so if non-human concepts can be described by personification, so much the better.

I guess it's not so strange that I apply my understanding of humanity to these sorts of things. It just strikes me as odd that people tend to glaze over such an incongrous heuristic.

Tuesday, August 29, 2006

earbads

I've never really been much of one to listen to music constantly, but recently I bought an MP3 player and I've learned something.

The little earbuds that come free with audio equipment are pretty uncomfortable.

Anyway, just an observation.

Monday, August 28, 2006

you can't go home

I went back to my hometown this weekend for their centennial celebration. Yes, that's right--Polk, NE turns 100 this year.

For those of you who are from small towns (especially if they happen to be in the general vicinity of central Nebraska) might have an idea of how the event went down. First, there was a tiny little parade down Main Street (all two blocks of it), then beans and ice cream in the park (at the end of Main Street) and a vintage car show at the elementary school (on the other side of the park). In the evening, the part of Main Street outside the town bar was closed off and there was a beer garden and street dance with some little cover band out of Grand Island (I don't remember the name). I went for the early afternoon and wandered around with my family, then hit the beer garden and hoped for some people I knew.

Luckily enough (I guess), there was a pretty good showing of the younger crowd; only a couple from my class directly, but a few from the classes around me. Now, in high school, I never really liked the people in the classes around me. Sadly--but not too surprisingly--few of them seemed to have changed much.

I can't really believe that, though; I feel like I've changed a great deal in the last five years, and any of the classmates I kept in touch with have as well. I think what happens in those cases is that going back to Polk also means going back to who you were then. People fell back into their old roles, cracked the same sorts of jokes with their old buddies; if we hadn't done that, it would have been awkward. None of us really knew each other any more, we only knew the old versions and tried our best to apply them to these otherwise new people (hell, almost none of my high school buddies had ever seen me drink before). It was kind of depressing; here we all are, back from five years of adult life, and we were trying to bring back something that most of us had easily given up on graduation day.

Still, it wasn't all depressing. After the beer garden closed, we took off for the pasture surrounding a buddy's pond with some Busch Light for a good old-fashioned bonfire. I spent most of the night avoiding the other guests and staring at the sky (Lincoln's got nothing for stars, let me assure you) but after the bulk of the party left, it was down to myself and two of the guys with whom I graduated. We stood around talking about life and watching the bonfire go out until the sun came up and we figured it was probably time to go home.

I always felt constrained in Polk; for that matter, I feel a bit constrained in Lincoln. I think it's very unlikely that I'll even go back for my 10-year reunion. So, I think Saturday night might be my last pasture party, my last Busch Light bonfire; I never really enjoyed them anyway.

But I can't help but be a little sad.

Tuesday, August 22, 2006

making pretty pictures

I love Inkscape. If I could get a job doing nothing but making diagrams in Inkscape, I'd probably take it. Here's an exported PNG to give you an (inadequate) example (text blurred to protect the innocent):


Trust me, it looks much better in its full, scalable vector glory.

Monday, August 21, 2006

applied metaphysics

There's something I want to set the record straight on. I met a fair number of people this weekend, and in most cases meeting new folks follows a conversation pattern something like this:
  • Person: "So, do you go to school?"
  • Me: "I graduated in May."
  • Person: "Oh, really? What'd you study?"
  • Me: "I got my B.A. in philosophy."
  • Person: "Oooo...so what are doing with that now?"
  • Me: "Actually, I'm a software architect. I wrote tools for insurance agents."
  • Person: "Wow! Talk about diverse interests..."
Now, I still do not quite understand why our society is so enamored with (a) the idea that everyone should immediately get a job in exactly the major they got in college and (b) the thought that any degree in the humanities is like professional suicide, but those are not the points I want to clear up here. The point I want to clear up is that philosophy and computer science are not so dissimilar after all. Some of you may already have heard this from me before, but here it is for the world to read so I can stop having to tell it to everyone (or at least, all 2-3 people who read my blog).

Everyone who knows anything about computer science understands that it is fundamentally based on the basic rules of bivalent logic: true and false, 1 and 0, on and off, "and" and "or", if-then. Logic is based in philosophy; it's still one of the focus disciplines within the greater subject. In that regard, computer science and philosophy are linked, but, again, that's not the connection I am after right now.

What I focus on is a different kind of connection that exists between software engineering on one hand and metaphysics on the other. Since I assume most of my readership comes from the software side of this, we'll start with metaphysics--metaphysics is, briefly, the study of things in general. Questions about what sorts of things exist (i.e., physical things or mental things, collections of general properties or individual particular objects) and how they can relate to each other (e.g., causal relationships) are questions that fall under the purview of metaphysics. In essence, it is the most abstract of all branches of philosophy, because a metaphysical truth must hold for everything--tables, chairs, the number '2', cats, dogs, trees, all points exactly 4 light years from Venus, beer, people, last Wednesday, next October, even God himself (depending on who you side with). That's metaphysics.

Now, then--software engineering. The subject of this one is more intuitively clear; a software engineer is responsible for the design of whatever system he or she is working on, from determining the class structure, process flow, and component interaction (whatever is necessary) to choosing an implementation. It's a broad subject, too, but for now let's just focus on the part that I enjoy the most, which is the design work.

So, we have two subjects--metaphysics, which focuses on the sorts of things and the kinds or interactions which do/can exist in our universe; and software engineering, which focuses on developing the design for the components and activity of some program or another. Hopefully by now you can see the connection I'm trying to evoke; metaphysics is philosophy's way of reverse engineering the design of the actual universe, whereas software engineering is the computer scientist's way of constructing his own little microcosm.

I've heard it said that technology is applied science; in much the same way, I see software engineering as applied metaphysics.

I had a friend berate me once for choosing philosophy as a major; she accused me of wanting to "be God". Well, I'll admit--there is some merit to her accusation. But I have no desire to actually design the universe; I want to understand it, yes, but I most certainly do not want to be in charge. After all, I'm a software architect. I get to play God every day, to sit at the helm of my own little personal universe and direct its ontology. I get to determine which concepts are acceptable and which are not, which causal relationships to allow and which to forbid. I determine the laws of nature and I determine the essential properties of the objects within my personal metaphysical sandbox, and it's hard sometimes. It's hard to design a system even as small as the one I work on, so I can't even imagine trying to wrap my brain around something so complex, so stable, and so vastly intricate as the universe.

So, I'll just stick to my software. I'm not quite qualified for Infinity.

Friday, August 18, 2006

code aesthetics

Today at work I was sitting in front of JEdit (the IDE of choice for the current project) and for some reason I found it very hard to actually code the design I had been working on. Not because it was hard, not because I was unmotivated to work, but because I was overcome with a powerful feeling that the code would be ugly. It simply repulsed me. I did not want to write it.

I don't really know what set me off; usually I find my code to be quite beautiful. I generally carefully set up my development environment to gain the maximum distinction between categorically similar portions of the code (such as the standard text, the comments, and the string literals, the digits and the operators, etc.) while still maintaining a comfortable level of contrast between the text and the background color (pure white on pure black hurts). This practice has generally led me to what I consider to be a very beautiful display when combined with my general style practices, to which I adhere quite religiously (specifically, K&R style for the braces with 4-space tabs and a fair bit of commenting).

Today, though, I was sickened. I don't know why.

In any case, I did have a lot of code to write so I had to move on. I decided that the best way to move forward was to switch my color scheme in an attempt to dissuade my disillusionment. It seems to have worked fairly well.

Wednesday, August 16, 2006

in the beginning

There sometimes comes a day when boredom and peer pressure together contrive to overwhelm a man's misgivings and force him to do something he would not have otherwise done. Thus, I have decided to start blogging again, mostly so I have something that seems at least creative (if not productive) to do in the evenings. I warn you now, however--it will most likely be boring and infrequently updated. That being said, read on, should you so desire.

This entry is mostly introductory, so I suppose I'll cover what I plan to put up here. In general, my life is rather boring, so I don't imagine the Internet needs any descriptions of that (plus, I'm rather uncertain I can come up with anything worth posting when considering my day-to-day activities). As such, I'm planning on posting more of the things I observe in the world and what I think about those things (after all, this blog is for you more than for me; I already know what I think about). So, anyway, if that sounds intriguing, check back later. I'll probably have some real content up eventually.