I always thought a certain portion of population had a repressed desire to write a book. Perhaps not to become fantastically wealthy but to be recognized for the ability to present compelling ideas to others and possibly influence them.
Is this why I [mo]blog? Maybe. Frankly only having 4 semi-regular readers makes this a futile path to fame. Sadly even my wife doesn't bother to read this. But this quest for creative contribution is partially the reason I became a programmer. It is an occupation with different, relatively creative challenges every day. And someday if my software ever gets sold to someone, it'll stroke my ego.
The stuff I do takes advantage of open source software like Linux. Developers, who usually go uncompensated for it, contribute source code for others to use free of charge. I have written open source software as well. Aside from code I wrote that was purposely
bad and college students wanting me to write their Huffman Algorithm homework for them, my open source code goes largely unnoticed.
Two of the (many)open source programs I use at work are XML-RPC and thttpd. I mention those particular two because I happen to find a bug in each of them. Minor corner cases most people wouldn't encounter, but since I could look at the source I was able to fix them myself. Now as a good steward of open source software, I notified the original authors so others can take advantage of my fixes. I posted my changes on their mailing lists too. Since they don't know me from Adam, the code owners would have to be willing to review and merge my changes into the authority copy. I was hoping to be able to say I was a open source contributor.
So I waited for my patches to be picked up and incorporated into the main source branches. And I waited some more.
After posting my thttpd fix, the merits of my fix were debated. Some thought the problem should never arise. One person even argued that the program SHOULD crash when the rare situation does occur. I mentioned that he should warn me if he ever writes software for the medical or airline industries.
My XML-RPC fix was ignored as well. It was more than a few line fix, so a person would have to spend a few minutes reading it to understand it. No one bothered. Months later someone reported on the mailing list the same problem I had had. He was kind enough to post a simpler fix which, unfortunately, had no chance of compiling let alone solving the problem. After I remind everyone that I had already solved the problem the code owner did take notice and incorporated my changes. Yippee! I'm famous in a very, very, very small way.
I left my wife. But only for a week. I did the annual weeklong Great Ohio Bicycle Adventure. My wife did it with me 10 years ago and hated it. I love it so I beg my wife to go alone each year. I burn major husband points doing so. The 300 mile ride was satisfying hilly this year and harder than the infamous 210 mile TOSRV ride.
Due to happenstance, I had the opportunity to do the last two days' routes on the same day and return to my family a day early. There were two big drawbacks though: It would be first time in a very long time that I'd be doing 90 miles in the same day and the second leg (done a day early) would be unsupported. There would be no food or porta-potties. If I got tired or if I had a mechanical failure I'd be on my own and would have to walk my bike for miles.
Throwing sanity to the headwind, I hit the road at 6:30am Friday and finished the supported 50 mile route at 11:20am. It was a windy day with a few isolated sprinkles. The previous night a thunderstorm with hail had gone through the county and some of the roads still had puddles. At a morning stop, a volunteer mentioned that they would have to put a detour in tomorrow's route. Good to note.
I started the next day's route at 12:15pm. Out of 3000 riders, I only saw 6 others that afternoon, all of them had skipped the morning leg. About a third of the way into the route, I encountered the road that had yet to be detoured: for about 100 feet, the road was under 4 feet of water from the previous night's storm. Rather than backtrack three miles, I walked a muddy embankment and carried my bike overhead while jumping a culvert.
Near the end of the ride and close to bonking, I took a break to eat a couple of cookies in my handlebar pouch I had purchased a few days earlier. Yum!
My car was at the endpoint and at 2:30pm I drove it back to the day's starting point to pack up my tent, take a shower, grab a bite to eat and head home to my family a day early.
I got home early evening and the house was empty... So much for earning husband points.
This domain name has a double meaning: this site contains my personal code and it also happens to be the name of my late Uncle's relatively infamous algorithm. (Elsewhere on this site I have a description of it.) My uncle came up with the algorithm at a pretty young age (to get out of taking a test) and since had gone onto to less famous endeavors.
One of those passions was Computational origami (origami sekkei). While Huffman Coding is in web images, digital music, fax machines and VCRs, David Huffman's foldings are only in my cousin's den.
But out of the blue, an article appeared in last Tuesday's New York Times (June 22, 2004, page D2) on his artful foldings. It included color photographs of three of his works. It is also on their (registration required) website.
He would graph complex equations on stiff plastic laminate then score along those curves. With a gentle bending at those scores, a 3 dimensional piece of art would snap into place. No cuts, no tape, no glue. With no stress on the paper/plastic. A perfect equation as it were.
He had developed a way of analyzing graphical equations to determine whether they would yield a perfect ("zero curvature") surface. Mindbendingly detailed mathematical analysis, but it yielded mindbendingly beautiful art.
On the flight back from South Africa, the flight map, which normally shows a map, the altitude, air speed and distance to the destination, wouldn't display on our little pop-up screens.
Instead of cycling through 5 pretty screens, what appeared was a Linux console full of errors from an endless script. To most of the passengers, I'm sure it was gibberish, but being Linux developers, it made sense to my co-worker and me. The in-flight entertainment computer (a small 486) was trying to download the current flight information from another computer (I'm guessing the main navigation system) and failing miserably. It was getting repeated "File not found" errors.
Even with the errors, I'm glad it was running Linux. Had it been running Windows, the message would have been the less flight-friendly: "Abort, Retry, Fail?"
I visited Pilanesberg National Park in South Africa. Here are a few things I saw:

A market near the local dam

The Bakubung gate of the Pilanesberg National Park

In case you didn't know there were animals in the park

Traffic Jam

Two funny looking Zebras

One of the two "big five" spotted in the park
Still haven't been unable to find souvenirs for my wife and kids. (Actually I am unwilling to spend $40 on a T-shirt or a stuffed animal.)
I am in South Africa on business. It is beautiful country and my company has a great relationship with companies it does business with down here. Other than having the most unique AC power outlets (which seem to be incompatible with every other country), I adjust just fine to civilization down here. The food and personalities are just great.
One thing that takes me aback though is the level of crime. I haven't experienced any problems personally so I am floored when I hear that they put GPS tracking devices on air conditioners in case they are stolen from cell towers. Oh, and in the interest of full disclosure, they note when a highway off ramp is less than ideal.
Note the size of the sign. I am 5'7"
I'm going to South Africa tomorrow. So I am packing today.
I'm taking my PDA and since I'm going to be gone for 8 days, I'm bringing along its AC adapter to charge it. I'm also taking a company laptop and its adapter. Since its battery lasts only about two hours, and the flight is 18 hours, I'll bring my little MP3 player to listen to music. But that's 18 hours each way so its adapter is coming too. All these adapters have bulky "bricks" in the middle of their cords.
I'm hoping to go on safari over the weekend so I'm taking my camera. It takes rechargeable batteries, so you know what that means.
I shave with a rechargeable electric razor and beard trimmer: they are coming too. After all, we are talking 8 days here.
The Republic of South Africa, is 220 volts and only some of these things cannot deal with that, so I have to bring my AC converter and plug adapters. They have a very unusual outlet over there.
But I will draw the line somewhere: I'm not taking my cell phone (it doesn't work over there), electric toothbrush, and I'll towel dry my hair.
Marissa sings at random times when she is happy. I want to encourage that because I am a musical person too. (Chris nixed my suggestion years ago that we name our first child "Melody.") When I play songs from Disney animation movies on the piano, she tries to sing along. I use the word "tries" because she doen't often know the lyrics and, quite frankly, she cannot carry a tune. It is painful.
The family played in the side yard last night and Marissa, in a good mood, started singing "Take Me Out to the Ballgame." It is a song we don't have a CD to and I don't remember ever singing it to her, so she must have learned it in Unified Arts at school. (Unified Arts is what they call it when the school district cannot afford both a music and an arts teacher.) She knew the words and (stop the presses) could carry the tune!
There is hope. Now to convince her that piano lessons would not be torture.