I went for a run on my way home tonight, which I hadn't planned on. But I found myself driving home through the hills with my gym bag next to me, and realized that there's a perfect two-mile trail run just a few minutes off my usual route home.
So I headed up into the hills and ran the Sage Ranch Loop Trail, which now that I check the guidebook is more like 2.6 miles. It took all the energy I had, but was definitely good for the soul, and really helped clear my head.
So, when I got home, I decided to get to the bottom of some mysterious OutOfMemoryErrors that have been popping up here on DMG. A few minutes with the debugger rooted out the problem: parsing EXIF data in images. Sanselan was choking on a particular image for some reason. I put in some extra-strength error handling, and all is well.
I also added a feature that's really should have been included with my overhaul of the GPX mapping code: total time for the ride/run/whatever now appears as part of the route info. (I'll put in total distance another night.)
[Update: There's a obvious bug in the time calculation code. It's so obvious, in fact, that I didn't even have to see it in action to know it was there. I just thought, "Wait, did I really write code that brain damaged?" Yes, yes I did. I plead the NyQuil defense. As a friend once said: "All bugs exist because the programmer is a freakin' moron."]
And I had a dream last night that I had blond surfer hair that went down to just about my jawline. I hated it and cut it off, and it turned red again.
You are now fully briefed on my day. I'm going to sleep.