I was in the Oklahoma City tornado yesterday so I am in the mood for a bit of humor this morning.
My boss passed The this parable along to me a while ago. Its another example of shot landing too close to home. I will let you make guesses about which one of the two programmers I am most like.
There is more about the tornado and my “interaction” with it inside:
Yesterday afternoon I was anxious to get home and be with my family because of the sever storm warnings out and the probability for tornado activity. It ended up being a bad decision on my part. About halfway home I started to get quarter size hale hitting my Explorer and realized that I was not far from something that had touched down. When I finally saw the thing it was about 300 yards from me… I had just enough time to stop the Explorer, get in the ditch (under a culvert), and watch as the tornado passed overhead.
I don’t think the tornado itself is really bothering me any today. What I am really upset about is how scared I was. I was concerned about my life (of course) but the thought that went through my head was that I might leave behind a fatherless daughter and a widowed wife. My stupid decision almost did more to damage the lives of the two people I love most in this world than the storm did to the tractor-trailer rig in front of me.
I think I was also upset about _feeling_ scared. This kind of fear was something I had never had when I was a young adult. The overwhelming pressure of this fear was greater proof of my advent into adulthood than my mortgage, my daughter, or even my marriage was to me. I am not upset about being an adult. Quite the contrary, I would not trade one day as a dad for another four years of college. It just that I had never felt old before that moment; laying in a ditch, on the side of the road, alone… with my fear
Hackers and Painters is an essay by Paul Graham about “hacking” being more of a creative art than an actual science. Its is one of the best reads I have found online in a while. Originally seen at Slashdot.
To be fair and honest from the gate I must admit no not agreeing with many of the points that Paul makes in his essay. This is not really a concern to me because I, with very few exceptions, find fault with things everyone says.
What I find interesting about the article is how much rings true in my own experiences. Not that things that “ring true” make for a good evaluation of real truth. Communism appealed to so many people because it seem to do such a good job of explaining problems that they saw in their own world. But that being said…
My CS background was from a PhD is Mathematics who was bound and determined to convince us that software development was the physical extention of mathematics. I program by putting something down in code, trying to compile it, debug it, and see what happens. This does not jive well with the basic “workings” of mathematics, start with the known and move to extend from that. I, also, spent a lot of time feeling bad because I did not “know” theory.
Looking back over code I developed just a year ago; it becomes blazingly obvious that I am “working” on applications, not “solving” problems. My applications constantly change as my skill and style improve. During my freetime I work on applications because I love developing them, changing them, molding them, and seeing what the outcome becomes.
That being said, I spend most of my work hours architecting and designing. At work I am most assuredly a software engineer/architect (at least most of the time) from the standpoint of implementing changes and creating software designs. So maybe the answer is that software development is BOTH art and engineering. It can be, for hackers, something done to express and create while still being, for non-hackers, be a science used to discover and understand. Heck, most architects I know consider themselves artists and not engineers.
Kconfigure is a KDE program to compile the sources without the xterm or console. I am its newest developer.
Ok, my first real world development for the OS community has begun. I am now working on kconfigure (after getting the old developers permission to do it =-). ) It doesn’t look like a particularly difficult project but it DOES need some work.
My first priorities are to add checkinstall as a build option and to configure a way to use templates for known system types (i.e. Redhat 8, Suse 8.1, Mandrake 9, etc.. etc.. etc..) and have them detected and and used. This will help improve the build success rate for kconfigure.
Later ideas include adding support for the gentoo build system and Debian dpkg. It sure would be nice if we could get kconfigure to become the install shield of the *nix (build from source) world.
This is exactly the kind of application that I want to work on. It is a KDE utility (we NEED more utilities in the Linux world!), it is generally focused at newer *nix users, it gets ppl away from the command line (and is thus a perfect addition to desktop linux), its a KDE app (and regardless of what Redhat says KDE is the future of desktop Linux), and its one that could have a dramatic effect on HOW *nix is used. I hope I can do it justice.