Jul. 4th, 2015

Backson

Jul. 4th, 2015 03:56 pm

Because they only last 45 minutes, summers in New England can get pretty busy. Take the past couple weeks, for example. Here’s a day-by-day account of the past 14 days…

17 Wed
After a regular day at work, I received a call from someone interested in buying my condo unrenovated. That was about an hour before my contractor arrived to sign the contract for my bathroom renovation, which I then put off until I had a chance to speak to my real estate agent. And an hour after that, my best friend Inna arrived from Pittsburgh to begin a two-day visit.
18 Thu
Spent the day with Inna, but also met with the real estate agent to determine whether to proceed with my renovations or not.
19 Fri
Spent the morning with Inna before seeing her off on a flight to Germany. Spent the remains of the day packing for the next day’s bike ride.
20 Sat
Spent about nine hours in the saddle, biking 130 miles from Boston to Provincetown in my annual Outriders ride (writeup). Kicked around Provincetown until my late-night ferry back to Boston.
21 Sun
One precious day of rest, which was badly needed, since I seemed to be developing a sore throat.
22 Mon
After a regular work day, ran home to change into fancy clothes for an evening cruise of Boston Harbor to celebrate my employer’s 10,000th client. Very tired from too much socializing, biking, and lack of sleep!
23 Tue
You might call this a day of rest, except that it included work, laundry, a grocery run, and packing for another bike ride. And my sore throat was getting worse…
24 Wed
I biked in to work, and after work biked out to Waltham to pick up my registration packet for the weekend’s MS Ride.
25 Thu
Led a contingent of co-workers on a 70-mile bike ride up to Ipswitch and back for Buildium’s beach day summer event (writeup). More energy-sapping socializing! Kinda scraped myself up playing beach soccer.
26 Fri
A regular work day, but it included a free, private ice cream truck as a reward for being nominated in Boston’s best places to work survey!
27 Sat
Woke up at 4am to ride down to UMass Boston, and then another 100 miles to Bourne with friends from Buildium for the Cape Cod Getaway MS Ride (writeup). Stayed overnight in a Mass Maritime Academy dorm. (Note that I said “stayed overnight”, not “slept”.)
28 Sun
Sunday’s 75-mile MS Ride to Provincetown was cancelled due to weather: 55 mph winds, record cold, and record rainfall. We got soaked to the bone just getting from the cafeteria to the bus outside that would bring us back to Boston, and I got completely and utterly drenched after riding 4 wind-blown miles from UMass back to my condo. Yes, I still had my cold, too.
29 Mon
After working half a day despite illness, Inna flew back into town for another quick visit on her return trip from Europe.
30 Tue
Took half a day to see Inna back to the airport and on a flight home, and then enjoyed a surprise four and a half hour planning meeting due to shifting priorities at work that promise to make the next few months extremely challenging.

Knowing how insane June was going to be, I intentionally left this Fourth of July holiday weekend COMPLETELY open. So now I’m enjoying napping throughout the day, recovering from my cold, being completely anti-social, and writing up some blog entries to share what’s been going on.

It was nice to have interesting things to do in June, but I’m very happy to have this brief, quiet respite at the moment.

Being a programmer and obsessive about data is not always an ideal combination.

Most people make a habit of knowing their age. After all, it’s a basic vital statistic, and a useful piece of information to have on hand.

Of course, no one actually pays attention how old they are. After all, when you tell us you’re so-many years old, that’s only a vague approximation, with a typical variance of hundreds of days.

That is, unless you’re data-obsessed, and have the engineering skills to write a program to calculate your age to a higher degree of precision.

That’s where this story comes back to me. Over the years, I’ve written programs in several languages that tell me exactly how old I am. But since dates are messy, I don’t go too crazy about precision; two decimal places—a hundredth of a year is a three-day window—is close enough for me.

Kedit logo

One of the oldest such programs runs as part of a Rexx macro when I open up Kedit, a favorite old text editor (and coincidentally the one I author my blogposts in). It calculates the difference between the current date and my date of birth, which is hardcoded in the program in Rexx’s standard “USA” format: MM/DD/YY.

All that worked great until a little while ago, when it started barfing up crap data. I didn’t pay much attention to the error until recently, when I was cleaning out a bunch of old code. And when I figured out what the problem was… it really pissed me off!

The relevant section of the manual spells it out rather bluntly:

When DATECONV() is used to convert a date that is specified using a 2-digit year, it assumes that the date falls within a 100 year sliding window starting at (current year - 50) and ending at (current year + 49).

For example, in 2007, DATECONV would convert 2-digit years to 4-digit years in the range 1957-2056. But in 2008, the sliding window would move by a year to cover 1958-2057.

Fast-forward to 2014, when Rexx decided that the “63” of my birth year no longer referred to 1963, but to 2063. In other words, shortly after I turned fifty, my birthday no longer fell within Rexx’s 50-year sliding window for converting two-digit years. It surprised me to realize that today we are actually closer to 2063 than we are to 1963!

So thanks Kedit/Rexx for breaking my age calculations. And thank you even more for letting me know that I’m too damned old for you to consider my birth year the most likely expansion of the two-digit abbreviation “63”.

Frequent topics