• Goodbye, Old Friend

    dog in snow
    Langston in the Snow

    We heard the other day that our old dog Langston finally had to be put down. Anne had him when we met in 2008; he wasn’t more than two years old at the time, and we were the best of buddies for about two years, until it became apparent (rather I should say: undeniable, un-hideable) that he was making me very sick, and we had to give him to her ex. We saw him a few times since, the last time being about two years ago, when we all got together to plan Emmi’s wedding. He was a bit older and grayer, but then so were we, and he was happy to see us, breaking out some of his toys to play tug-of-war. He had a pretty good life, but I still feel bad that he couldn’t have stayed with us.

    I don’t have very many photos of him. That one was from a day of hiking and playing in the snow at Sals, in January of 2009.


  • Pictures Or It Didn’t Happen

    Happy birthday to me! That was last week, but I did manage to milk it all the way through the weekend: Anne and I went out for drinks at The Mint on my actual birthday, then on Friday night we went out again, to Lehigh Pizza and Bonn Place, with John & Donna.

    On Saturday night we saw Dar Williams at the Sellersville Theater, with Kathy and Jordan and a friend of theirs, and I got more birthday greetings but I think the bloom was finally fading from that rose. We had a great time at the concert: I knew the name “Dar Williams,” but I knew none of her music (Anne swears that she’s on the radio all the time) and so she was an awesome discovery, at least for me. I am currently in the process of putting her music, ripped from the CD’s we bought after the show, into our system.

    Earlier in the week I got in a great ride at Sals, with John E and his friend Dan. I rode really well and felt good, but when I got home I found that my GPS had died somewhere on the ride. Permanent malfunction: I lost the data for my awesome ride, and I also need a new GPS. Oh well…


  • Seize The Days

    Posted on by Don

    There was no concert tonight to go to, but except for that the last few days have been extraordinarily full: I got in a ride on Saturday and today (and did a “practice event” for BikeSmart Lehigh Valley on Saturday), got in some pretty decent practice sessions with the cello, and went to local concerts on Saturday and Sunday. I’d consider those days seized…


  • Day of the Munchies

    It’s not the “medically-induced” kind of munchies, but I have been hungry and eating all day. Bacon and eggs for breakfast, some leftover beef & beans & rice for lunch, chicken soup for dinner, and slices from a blueberry tart all day, plus candy. I just finished dinner, and I am hungry right now…

    I basically ate a slice of cake and a bratwurst yesterday, so maybe it’s just that I am running on empty. Yesterday was the big CAT 25th Anniversary celebration, and in the morning we were busy helping to put it together: Anne made the giant cake and some iced tea, we took things over to the Library around 1:00, spent some time setting things up, and the event itself started, with the cutting of the cake and the obligatory speeches, at 3:00. (Since this was also CAT’s annual meeting, there were also things like treasurer’s reports and such.) We even got to see a short film, made about CAT maybe 10-15 years ago. There were volunteer awards, and more speeches and more cake, and then it was time to clean up and go. A few of us got a little party going afterward, outside at the Sun Inn: Main Street was bustling, the day was cooling but still warm, and it was really pleasant to sit outside with friends at a beer garden — that was where I got that brat. A pleasant day, and it felt good to see all the evidence of CAT doing as well as it is has been lately.

    Today was colder again, and rainy in the morning, and we’ve just been hanging out. I’ve been kneading my “trail amenities” database, trying to get it into a more professional, normalized form, and (now that I got through the log-jam that was The War of the Gods) I’ve been thoroughly enjoying Foundryside.


  • Interim Report

    I have the first part of my new Python project (reading and analyzing data from my Garmin): it can now extract (or calculate) distance, time, moving time, maximum speed, average speed, average moving speed, maximum and average heart rates, time in each heart rate zone, and calories for the overall ride and each lap, as well as a linestring of the path taken, and starting points for each lap. For now I only store some of these in my database, but I may add them later — that’s a database task. Here is the output for a ride where I hit the “lap” button a lot:

    Processing /home/don/Desktop/temp_stuff/zippy_towpath.fit
    
    Overall Ride Stats:
    Start Time: 2019-03-15 18:32:22
    Distance: 25.48 mi
    Elapsed Time: 2:01:10   Average Speed: 12.62 mph
    Moving Time: 2:01:08   Moving Average Speed 12.62 mph
    Maximum Speed: 28.62 mph
    Avg Heart Rate: 143    Max Heart Rate: 160
    Calories: 977
    Time in zones: ['0:00:00', '0:02:29', '0:53:39', '1:02:17', '0:00:00']
    Estimated MET calories (dirt road): 975
    Estimated MET calories (generic MTB): 1429
    
    Lap 1 Stats:
    Start Time: 2019-03-15 18:32:22
    Distance: 2.55 mi
    Elapsed Time: 0:10:14   Average Speed: 14.96 mph
    Moving Time: 0:10:13   Moving Average Speed 14.98 mph
    Maximum Speed: 28.62 mph
    Avg Heart Rate: 121    Max Heart Rate: 149
    Calories: 78
    Time in zones: ['0:00:00', '0:02:29', '0:03:09', '0:01:49', '0:00:00']
    Estimated MET calories (dirt road): 82
    Estimated MET calories (generic MTB): 120
    
    Lap 2 Stats:
    Start Time: 2019-03-15 18:42:36
    Distance: 3.55 mi
    Elapsed Time: 0:14:22   Average Speed: 14.84 mph
    Moving Time: 0:14:22   Moving Average Speed 14.84 mph
    Maximum Speed: 18.94 mph
    Avg Heart Rate: 156    Max Heart Rate: 160
    Calories: 160
    Time in zones: ['0:00:00', '0:00:00', '0:00:00', '0:14:22', '0:00:00']
    Estimated MET calories (dirt road): 116
    Estimated MET calories (generic MTB): 169
    
    Lap 3 Stats:
    Start Time: 2019-03-15 18:56:58
    Distance: 0.40 mi
    Elapsed Time: 0:01:51   Average Speed: 13.05 mph
    Moving Time: 0:01:51   Moving Average Speed 13.01 mph
    Maximum Speed: 15.24 mph
    Avg Heart Rate: 149    Max Heart Rate: 156
    Calories: 19
    Time in zones: ['0:00:00', '0:00:00', '0:00:00', '0:01:51', '0:00:00']
    Estimated MET calories (dirt road): 15
    Estimated MET calories (generic MTB): 22
    
    Lap 4 Stats:
    Start Time: 2019-03-15 18:58:49
    Distance: 3.89 mi
    Elapsed Time: 0:17:07   Average Speed: 13.65 mph
    Moving Time: 0:17:07   Moving Average Speed 13.64 mph
    Maximum Speed: 18.08 mph
    Avg Heart Rate: 145    Max Heart Rate: 153
    Calories: 172
    Time in zones: ['0:00:00', '0:00:00', '0:03:21', '0:13:46', '0:00:00']
    Estimated MET calories (dirt road): 138
    Estimated MET calories (generic MTB): 202
    
    Lap 5 Stats:
    Start Time: 2019-03-15 19:15:56
    Distance: 2.33 mi
    Elapsed Time: 0:10:21   Average Speed: 13.50 mph
    Moving Time: 0:10:21   Moving Average Speed 13.52 mph
    Maximum Speed: 18.29 mph
    Avg Heart Rate: 139    Max Heart Rate: 147
    Calories: 83
    Time in zones: ['0:00:00', '0:00:00', '0:08:44', '0:01:37', '0:00:00']
    Estimated MET calories (dirt road): 83
    Estimated MET calories (generic MTB): 122
    
    Lap 6 Stats:
    Start Time: 2019-03-15 19:26:17
    Distance: 5.73 mi
    Elapsed Time: 0:28:15   Average Speed: 12.17 mph
    Moving Time: 0:28:16   Moving Average Speed 12.16 mph
    Maximum Speed: 22.55 mph
    Avg Heart Rate: 142    Max Heart Rate: 152
    Calories: 196
    Time in zones: ['0:00:00', '0:00:00', '0:19:47', '0:08:29', '0:00:00']
    Estimated MET calories (dirt road): 227
    Estimated MET calories (generic MTB): 333
    
    Lap 7 Stats:
    Start Time: 2019-03-15 19:54:33
    Distance: 6.32 mi
    Elapsed Time: 0:32:54   Average Speed: 11.53 mph
    Moving Time: 0:32:55   Moving Average Speed 11.52 mph
    Maximum Speed: 14.50 mph
    Avg Heart Rate: 143    Max Heart Rate: 150
    Calories: 230
    Time in zones: ['0:00:00', '0:00:00', '0:16:08', '0:16:47', '0:00:00']
    Estimated MET calories (dirt road): 265
    Estimated MET calories (generic MTB): 388
    
    Lap 8 Stats:
    Start Time: 2019-03-15 20:27:28
    Distance: 0.70 mi
    Elapsed Time: 0:06:05   Average Speed: 6.94 mph
    Moving Time: 0:06:03   Moving Average Speed 6.99 mph
    Maximum Speed: 12.39 mph
    Avg Heart Rate: 146    Max Heart Rate: 158
    Calories: 39
    Time in zones: ['0:00:00', '0:00:00', '0:02:30', '0:03:36', '0:00:00']
    Estimated MET calories (dirt road): 49
    Estimated MET calories (generic MTB): 71
    Done
    

    There’s a little room for improvement — rounding errors cause a few problems with moving vs total times in some laps, for instance — but this is what I’m looking for. My next question is: do I want this to be a standalone program, with its own GUI and everything, or do I want to build a web interface?


  • Playing Catch-up: Reading

    I haven’t posted much lately about what I’m reading. That may be because my recent reading list has not been especially interesting, but there were a few gems in there:

    • Pastoralia by George Saunders: I got this while we were in Vermont, but I had to put it down for a bit, it was just too intense and disturbing. It’s from about 2000 and is basically a bunch of short stories, one of them more like a novella, that start out in the stressed-out mundane but then take a turn into surrealism or horror. Really good, very intense; not for reading just before bed.
    • Do Androids Dream of Electric Sheep? by Phillip K. Dick: Another vacation purchase, but I finished it while we were away. A fast read, and the inspiration for “Blade Runner” (though it was very, and surprisingly different), this was the story of yet another dystopia, and though parts seemed hokey and dated, the story stuck with me.
    • The War of the Gods by Poul Anderson: Not a gem. I got this at the library and am almost done, and I can’t wait for it to be finished. It’s supposed to be a retelling of some Norse saga, but it manages to be incredibly tedious. The book is also inconsistent: it drags out, for pages on pages, with some things that should have been covered in a paragraph, then cuts some crucial scenes, down to a sentence or two, that would have been been better served by a few pages of elaboration. I’m now down to about 30 pages and will finish, but it’ll be a chore.
    • Foundryside by Robert Jackson Bennet: I’m just starting with this one, and it seems OK so far though it reads like YA literature. At least it’s not a chore…


  • Playing Catch-up: Some Rides

    Last week was a pretty good week for me: I managed over 100 miles total on the bike, and got in rides with Doug and also with Anne.

    • I did a towpath “semi hot lap” ride on Monday.
    • Wednesday I rode to the Museum and back, and then met Doug for another towpath ride.
    • Saturday was another towpath ride, my first Trail Patrol ride of the year.
    • Anne and I did a nice ride north of town, visiting Housenick Park and then riding out to Georgetown Road.

    I also started using my HRM again, and some of those rides were done as training, or rather “training,” rides. This week has been cold (and rainy yesterday), so there’s been no riding, and I don’t think I’ll have the same miles. But spring is definitely here.


  • Fun With Maps

    A friend sent me a video how-to to build a 3d map the other day, and while I thought it was really cool I didn’t want to use the software in the video. I have some pretty good stuff already, I thought, and tried to find a way to do it with either GRASS or QGIS. GRASS was a bit of a bust: I really hate the interface they use for 3d, and couldn’t find much on how to drape one layer over another — it used to be easy!

    QGIS wasn’t much better, but then I am a few versions behind. There is a plugin, however, which enabled me to make a 3D map website. So here’s mine:

    Old School Bethlehem in 3D

    I used the USGS topographic map from 1894, and “draped” it over the DEM I made for the Lehigh Valley cycle routing project (which DEM unfortunately has height in feet rather than meters, so the hill heights scale a bit big). The view in the picture is of Bethlehem and environs, with South Mountain and Lehigh Mountain on the left, and the Camel Hump, back when it was still Quaker Hill, in the upper right. Click the image and it’ll take you to the map website.

    I noticed, when playing with that topo map, that for things like roads it doesn’t align everywhere with current maps. The map was provided with a CRS by USGS, but I suspect it was guesswork: there is no projection or datum information on the map itself. (The corners do line up exactly.) This may be because of surveying inaccuracies, back then or even for modern maps — I’m mostly using OpenStreetMap, after all — or it could be that the roads themselves were moved or straightened over the years, or they guessed wrong with the CSR. I thought it interesting then, that on the 3D map the hills and contour lines line up as well as they do: the surveyors knew where the hills were, at the very least.


  • Spring Sprang Sprung

    It was a perfect springlike day Monday, so I hopped on the Iguana to do a little OpenStreetMapping — there was a note on the website saying that a Moravian spiritual retreat just outside of town had been closed, and I thought if I could go there and confirm it on the ground, I’d go ahead and make the change when I got home. The former retreat was right next to a new park too, so I could also do a little exploring when I got there.

    My ride was pretty low-key: I was just out in street clothes and boots (and my helmet), something I’d been doing lately for casual riding; I was also inspired to keep it simple by Bike Snob’s recent article… I tooled up Main Street to Macada, then Altonah, then made a right onto Santee Mill Road, which is basically as bucolic as the City of Bethlehem gets. I was looking for a road/path off Santee Mill to take me into the park, but never found it (I saw later it was smaller than a sidewalk and very easy to miss). No matter, I continued forward, back into civilization, and entered the park from the front. Just outside the park entrance was a house where the retreat would have been; the house had posts out front, from which there might once have hung shingles, and the shingles might once have said “Spiritual Retreat” or whatever, but the shingles were gone now and there was a big “Private” sign by the driveway. So Phase 1 of my exploration was complete…

    That left the park — officially, “The Janet Johnston Housenick & William D. Housenick Memorial Park” but apparently just called “Housenick Park” by normal people. This is a parcel of land donated by Janet Johnston Housenick, granddaughter of Archibald Johnston, the first mayor of the consolidated City of Bethlehem (he was also chief architect of that consolidation, and a high ranking executive at Bethlehem Steel — he was as Bethlehem as it gets). The land was once part of the Johnston farm/estate, and it includes the old Archibald Johnston Mansion. The park is fairly new and still under construction/renovation, but there are a bunch of new footpaths and old carriage roads, and I cruised around for about an hour, taking pictures.

    It’s hard to believe looking at it, but the estate only dates from the 1910’s or 1920’s — it looks typical of a farmstead from about 100 years earlier — and the house was built using Bethlehem Steel beams. There was a boat house and tennis courts (or the ruins of them), but there were also lime kilns and the remains of orchards, ornaments in a hobbyist’s historical reenactment of country-squire life.

    The ride home was uneventful, and pleasant though the day was getting breezy. I returned via Township Line Road, which eventually becomes Altonah, and basically retraced my steps from there. I went about 16 miles all told, and total ride time was just over 2 hours