Sunday, January 22, 2006
We have met the enemy
I just about finished the next blog post. The entry had everything. Marvelous content. Humor. Natural seques. I was to the last paragraph and decided to flip from HTML mode to Preview mode. I noticed I forgot to close a "b" with a "/b" making most of the text bold. I decided to fix it.Ready, Aim, Click!
Since you're not reading that post, you're guessing something went wrong. You're correct. Instead of clicking the "HTML" tab, I smacked the "Close" button. Did the software notice the time I'd spent working on the post? Did it set a "dirty bit" so it would ask "Do you really want to do this dumb action and lose all the work you've done?" Obviously not. Gone faster than a snow flake in North Carolina in August.
What's Up With That?
This reminded me of a recent project I tweaked. After entering data, the user pressed a "save" button. When the screen refreshed, the section just saved redisplayed, but didn't show the entered data. Fortunately, I had access to the database and could see the data did get stored correctly. But the user connected via the Internet would have no idea that everything was actually OK. I corrected this defect prior to working on the "wish list".
Mea Culpa
I remember my introduction to "userless" programming. It happened back when RS-232 ruled connecting computers. My code could detect errors and inform the user "Incomprehensible Input. Please scan again." My client took me aside and said "Don,no one using this program will understand the message. Can you reword it?" And then I understood. When I leave the office, I am in a different world. No one knows everything everyone else knows. We don't make the same assumptions. And worse, we all act different!
As Pogo said, "We have met the enemy, and they are us." I started writing this entry as a rant about losing a blog entry. And here I am going, "Yeah, I've done it too."
So What to Do?
- Obviously, I save more often. (I never did save the original post.)
- Oh Look! There's an icon on the tool bar for bolding text that automatically include the proper close.
- Wow! CTRL-B, the industry standard for bolding does the same thing.
- I have friends using Blogger. I could see how Blogger would let me shoot myself in the foot.
Tuesday, January 17, 2006
Seeing Forests and Trees
"If I had six hours to cut a tree, I'd spend the first four sharpening my axe." - Abraham LincolnI'm currently working with a client helping them upgrade their systems to the most recent version of their software. Along the way, we're refactoring and adding some functionality. The programs all have the ability to exchange configuration data via exporting and importing CSV files. In a perfect world, the data would line up between the programs. Obviously, it's not a perfect world.
So I whipped out my trusty touch typing skills, loaded a handful exchange files into various programs such as Excel(tm) and SlickEdit(tm) and started blasting away. Ed volunteered to work on the next section of files that needed to be rearranged. The task was tedious and we worked in relative silence. An hour or so later, I completed my section and was ready to test.
We compared our strategies for accomplishing the task. While I was "slaying the monster", Ed had been trying to figure out how to use Excel's built in functions to parse the data elements to automatically generate two values that we needed. Using Excel's built in functions to do string manipulation is like cutting a steak with a dull axe. It can be done, but it's not a pretty sight.
I saw the forest, and all the work that needed to be done. Ed saw the trees, and noticed that our task would be easier if we could find a way to let the computer do the dull, error prone, highly repetitive tasks. We now have a simple (took less than an hour to write and test) little program that does just that. (No, it's not Excel.)
There's a handful of lessons in this story:
- Working with other people can increase a solution's quality. My way would have worked, eventually ...
- Don't confuse activity with real progress. I completed one section while Ed was "not getting anything done."
- Minds are like parachutes. They both work better open.