Wednesday, February 28, 2007

"That's elegant."

More often than not, it isn't.

E=mc2, that's elegant.
F=ma, that's elegant.

In science and engineering, elegant generally means "simple, obvious and effective".

Last night, I was reading the book Essential Windows Workflow Foundation and began to think, "I need to understand this... Boy, I hope they don't use the phrase 'elegant solution' in reference to their own work. I need to know this and if they go there... I won't be able to finish the book."

Granted that's a pretty drastic reaction to a pretty simple phrase. Windows Workflow Foundation (WF) is a great idea and a much needed step in the right direction of software development, but it's pretty complex.
Before my non-Microsoft development brethren pounce on me, I know it's not a novel idea either.
So, why my vehement stance?

Easy. The word "elegant" is horribly overused in science and engineering. Going back to around 410 BC the word elegant can be applied to maybe 20 solutions. While we can debate the number of insights, inventions, theories, and solutions that warrant the word elegant, what is not up for debate is that we (scientists and engineers) have lost sight of what constitutes elegance.

I know I'm going a long way to rant about the subjective use of a single word. Perhaps my immature idealism gets the better of me sometimes.

Start! No, really... start.

One of my long time friends made the comment that he and I may be in a contest to see who "fizzles out first". Being a person who knows me pretty well, his comment was more of an observation.

Most of the people I know, also know that I have a great history of ideas that get explosive starts but lousy finishes. In my own defense, it's not that I'm lazy, it's because once the initial problems are all solved, I'm pretty much satisfied that the remainder of the execution is an "exercise for the reader".

I'm going to make a committed effort here to maintain this blog on, at least, a semiweekly basis (2-5 posts per week). Given the way I work (my friends also know I have the attention span of a meth-addicted ferret) I could easily have 2-3 posts one day and go silent for a week.

Because I'm a computer programmer, much of what I post will be software related. It's the only thing I can talk about and seem intelligent. I won't limit my blogs to the topic of software development though. On rare occasion, I do have things to say on other topics.

So, as a classic fast starter, slow finisher, I accept the gauntlet thrown down by one of the best software developers I've ever met. Thanks, man. Maybe I'll stay motivated.

Wouldn't it be funny if you're reading this 8 months after I post it... And it was my last post?
(NOTE: I'm also officially pissed that he thought of the name "Tardy Pessimist" and I didn't.)

Tuesday, February 27, 2007

Big things I miss...

I'm sure that all my developer buddies have been using the Class Diagramming feature of Visual Studio 2005 since, well... 2005. Somehow this really cool feature totally eluded my notice. I discovered it almost 90 seconds ago. Gee, thanks guys for pointing it out.

Monday, February 26, 2007

Blogging?

You know, these used to be called "journals".

No matter what they were called, I'm yet the next Johnny-come-lately, to make the statement - "I'm late to the blogging game". Since so many people are certain that the rest of us are interested in the minutiae of their lives, I'm certain you are interested in the minutiae of mine.

Before I really get started, let me point out that it's not a question of "if" you will find objectionable content in my blog but "when" you will find it. Like all other forms of media, you're welcome to change the channel.

I've actually been blogging for years about the one subject matter that I actually have any expertise on - software development. I just used a horribly antiquated technology called email. Therefore there's no nice, pretty, discussion-style record of it. Of course that assumes any of it was ever worthwhile which is a totally incorrect assumption.

Anyway... I'll be trying to log the progress I make on various projects I'm working on and technology topics that I'm interested in. On occasion, I'll get someone to check my grammar.