Doug and I did a really nice ride yesterday, starting out on the Switchback outside Jim Thorpe, then doing a hike-a-bike up one of the descents and into the strip mine trails on top of Pisgah Mountain. My agenda was to look for and photograph some mountain laurel before the opportunity slipped away, since I was still mad at myself for not going at all last year; Doug I think was just up for a decent ride.
Mountain Laurel Blossoms
Neither of us had been in that particular neck of the woods in quite a few years, and though we started out with a vaguely-formed plan to check out “the Blue Ponds” — old quarries, hundreds of feet deep, that had filled with water and were now swimming holes, and I’d guess I hadn’t seen them in maybe 15 years — we eventually were just in “hey this trail looks cool let’s take it” mode. We saw some ponds, but not the ones we started out to find, but we were having too much fun to worry about it.
The Ridge Top
Eventually we stopped to look around and realized we were probably lost — everything looked so semi-familiar! Like we’d maybe been there, or someplace just like it, only a few minutes ago, or years, or decades… Actually we were kind of lost, but my GPS had maps that seemed accurate enough, and though we were far off from where we thought we were we could find our way back. We continued on.
That’s when the rain started, which fogged up my glasses and totally flummoxed my GPS unit’s touch screen; the going was a bit tougher but we were still making progress until we found some more cool trails, which really didn’t go the right way but were awesome… The sun came back out, we rode on, and eventually worked our way back to the Lungbuster and down to the lake. What a great day!
Doug and the Mountain Laurel
Clearing Skies
So anyway, that was our ride in words and pictures, here’s a map of what we did:
Open that map and you’ll find plenty more photos, which are connected (on the map) to the locations I took them.
I’ve been moving forward with the additional D&L access and amenities points for my project, but the trail sections south of Riegelsville are terra incognita, especially when it comes to trail access, so I relied on GIS to find access points: I split the road network into “trail” and “not trail” sections, and intersection points (that aren’t at bridges) made for pretty good access candidates; some closer map inspections verified a few obvious trailheads, and weeded out some things like private drives. A lot still needed to be verified via “ground truthing” though, and so the other day I went out for a ride, starting from Riegelsville, south along the towpath to Tinicum Park.
I had my candidate points loaded in my GPS so I could see on the map when I came upon one; I could add locations I’d missed, and delete false positives as I spotted them, and by the time I was done I should have a pretty good idea of how to get on and off the trail. This method worked really well, and the only real problems were judgement calls at what seemed like private access points. (Things are a little different in Bucks County, there are some wealthy homes between the trail and the river, with their own driveways and footbridges, and while some crossings are obviously marked “Private – No Trespassing,” others were maintained, and painted, as if they were park property.) Judgement calls, and I think I made the right calls, but for the most part it didn’t matter — all these these access points were too far from any amenities to be useful.
It was easy and pleasant work, and I took pictures on the way back:
The Promised Land!
All This Could Be Yours
Trailside Ferns and Flowers
The Delaware Canal
Gilbert Station in background.
Upstream of the power plant.
Turnaround Tree
One of these trees was my old turnaround point.
Total distance, out and back, was about 24 miles, and the ride took about two and a half hours. I have the new access points and amenities incorporated into my map.
It was a total fluke, I just happened to note it among several movie reviews on Vox, but The Vast of Night caught my eye the other day, and since it seemed like something we both would enjoy we watched it over the past two nights.
We were both riveted, leaning in (along with the main characters) as some old woman tells her creepy tale, bedazzled by incredible camera work, and totally sucked in to what might have just been conventional sci-fi if the story were told less skillfully. But it was told skillfully, almost hypnotically, and the real story was more about the characters and atmosphere than any “and then this happened next” plot, even though that part was pretty good too.
I suppose it’ll be in theaters eventually, but we saw it on Amazon Prime. See it there, or on the theater, or maybe at a drive-in for that full Fifties vibe, you’ll be glad you did.
I got in about an hour playing yesterday (not counting my Zoom lesson), and about another hour this morning, which are good things because cello sometimes to seems to sink to the bottom of the priority list, and the day moves along and suddenly it’s too late to play, or I’m too tired or other things are going on… So I have to make the time, preferably in the late morning when I’m fresher.
I’ve been making some pretty good strides lately though, working with some books of exercises (fingering positions, bowing), which have helped with my two “ambition” pieces: Miska Hauser’s “Berceuse,” and “Bouree” (I and II) from Bach’s Cello Suite in C Major. “Berceuse” is coming along, and I’m starting to feel I’ve mastered the piece, or at least I’m getting there, but “Bouree” is still a struggle. Yo-Yo Ma is doing a live show of all of Bach’s cello suites tomorrow, so I’m hoping for a bit of inspiration.
Meantime, I did a bit of cleanup on that new map — fixing some bugs and adding features, and changing the marker icons to more closely match the ones in my original QGIS project. I also did a bit of housekeeping here, adding a new menu item at the top for non-blog projects (like the map).
I put the D&L trail data online, formatted as a map/website that I hope could be useful to someone, as soon as I fix a few tweaks — and add the missing portion of trail. Meantime,
I got those new amenities into my D&L trail amenities database — it was a piece of cake, once the data was cleaned up. The whole process went smoothly, even the main database report (done through Jaspersoft Studio, which can be a pain in the neck to work with) digested the new information without any glitches.
But I couldn’t leave well enough alone after that: I decided to add the amenities between Allentown and Northampton where the trail is incomplete. My original feeling was that the trail would be too vague through here — where are the “access points,” the intersections between the trail and the wider world’s road network, if you’re riding on the roads and there is no specific trail? But I’ve been riding this section a bit more lately, since it’s not been inundated with users like other sections, and discovered that much of it is only “unfinished” in the sense that it’s not up to the specifications of the rest of the D&L; it’s perfectly rideable on a mountain bike, and actually more fun than the more polished sections. If you don’t mind riding the rougher stuff there’s not much trail missing, and the remaining road portions are remote enough that there’s no need to worry about nearby amenities.
So, I repeated the process for the incomplete section: identify trail access points, import amenities from OpenStreetMap (and then clean them up, by far the most laborious part) and finally tie access points to amenities using that routing distance matrix script. Again, it worked like a charm.
…and then I started thinking about what I might want for output. That Jasper Studios report is nice, but the current output is a PDF — ugh, not very net-friendly — and I thought it might be nicer to get a more straightforwardly data-oriented output, something I can massage and format as necessary in a browser, something like JSON. Unfortunately, though Jaspersoft can do JSON output, I couldn’t quite figure how to get it to do what I wanted. Postgresql, the database I’m using, has JSON capabilities of its own, and final-product-straight-from-the-database seems like a better approach, but I didn’t know much else about those capabilities, so I sat down over the past few days and doped it out. The learning curve was pretty steep, more like a brick wall, and my code is pretty convoluted but I did get it to work. Of course, this success is just a lead-in to another escalation: if I want a web page I now have to code out the rest of the stack.
We’ve been eating a lot of salad greens, and also turnip greens (that come with the turnips), and I turned to an old go-to recipe: pasta and tuna with wilted greens. I learned the “tuna in olive oil over pasta” thing from my work friend Vito, probably more than 20 years ago at this point, and over the years I modified the recipe to add spring greens. (I actually wrote up a vegetarian version — sans the tuna — for a recipe exchange once.) We had it with tuna one time this week, and another time I made it with smoked mussels. Both were excellent…
So we finished Devs (which, after all that buildup, ended on a disappointing note), and we just started Community, but I’m not really feeling it yet. I’m a reader and I don’t expect to be engrossed by any show for long, but even reading I’ve been struggling to find something I actually like right now. I picked up a few new sci-fi novels recently, but found most of them juvenile and annoying; re-reads of old favorites, in any genre, end up testing my patience…
Luckily, my streak ended with Hilary Mantel’s new The Mirror and the Light, the final book in her Thomas Cromwell trilogy. I’m about a hundred pages in, less than a quarter of the way through the book, and I’m totally engrossed. The story picks up just after the execution of Ann Boleyn, where the last book ended, and though I know how it all ends — after all, everyone in it has been dead, and buried in the history books, for centuries — it’s amazing to watch Cromwell’s virtuoso performance, like someone juggling on a high wire, trying to keep Henry VIII’s kingdom from imploding.
We’ve been watching our shows, and getting out when we can for walks and bike rides, but what else have we been up to?
Gardening
I did a bit of cleanup in the front, but we’ve been mostly working in the backyard, and most of the gardening so far has been food rather than ornamental: last week we ripped up the weeds in our old garden and worked in a bunch of compost. Anne had planted things like radishes a few weeks ago in a separate raised bed, which are coming up nicely, and with the old garden back in play we have three more beds starting to sprout.
We also have a bunch of day-lilies I planted a year or so ago — they were gifts from when Lorraine thinned her own garden — which I had given up for dead, but this year they came up strong and hardy, and look to be in good shape. So, I cleaned out the weeds that might choke them, and also put, in the same spot, a few potted herbs we had languishing in the kitchen. We’ve had a few freezes since then, so we’ll see how the herbs fare.
Here are a few photos from the backyard:
The older raised bed, with radishes and cooler weather crops just coming up.
The old garden beds, now prepped, planted and made new.
Day Lilies, dill and parsley along the fence.
The “native” part of the yard, with may apples and violets.
The Coffee Table
This was purely Anne’s project. We have a coffee table in the living room that I got from my parents when I moved out in 1990. It had originally been a gift from my Aunt Kathleen and Uncle Ed, and they probably gave it to my parents in the early 1970’s; family lore had it that it was made from “driftwood.” (I believe that it’s a merchant shipping “hatch cover” similar to the ones shown here.)
Anyway, the table’s surface has been getting worse over the years, and Anne, who often sits at the table and gets splinters, finally decided to do something about it. So, she took took the top off, planed and sanded it (much easier to say here, it took her days of hard work), then stained and sealed it (more days, more work), and then we put it all back together yesterday. It looks beautiful, better than it has in decades.
The old coffee table, sanded, stained and sealed.
Brewing
It turns out that the homebrew store is still open — you can order online, and (several days later) when your order is ready, you drive down and get it placed in your trunk. So that’s what we did last week, ordering the ingredients for two batches of beer. We picked up the ingredients on Saturday, and brewed the first batch — our Bell’s Two-Hearted Ale clone — yesterday. There really wasn’t much to say about the process, just the usual cooking and cleaning, but now we have several gallons bubbling away in the corner of the kitchen. It should be ready in about two weeks, and we’ll be making our next batch — our Rye IPA tomorrow morning. I documented some of the process:
Our water-heating setup for brewing.
The brewing setup in the backyard.
Our grain bill, waiting for the hot water.
This recipe calls for 75 minutes of boiling.
Hops get added at various times throughout the boil.
The brew is now ready to start fermenting.
Towpath Amenities
This is what’s actually been taking up most of my time and energy lately. I have a database of access points along the Lehigh Towpath, along with nearby “trail amenities” like bathrooms or restaurants, from an earlier project that has evolved over time. What I want to do now is expand it to include all access points and amenities along the entire D&L. I broke this up into three parts: the first part being everything north from Northampton to White Haven, where I would also develop (and document) the “work flows” a little better, then the second part would be the sections from Riegelsville south to Bristol. (The final task will be adding the undeveloped sections — from Allentown to Northampton, and from White Haven north — but I suspect that these areas will need a bit more re-conceptualizing first.)
My first steps were pretty easy: I used an OpenStreetMap search plugin in QGIS to get all the roads near the river, then did other queries to get all the nearby amenities I track that are known to OpenStreetMap — this time I kept copies of my actual queries so I can reproduce them. I combined all the amenities into one layer, then used some spatial queries (and a list of official trailheads) to find all the access points where the surrounding roads contact the trail. So far so good…
The next step would to identify all the amenities that are actually accessible via local roads, and this part wouldn’t be as easy. I wrote a script to do this when I did the original project, but that script is no longer compatible with the newer version of QGIS so I had to rewrite it. That (aside from typing errors) turned out to be more straightforward than I thought it would be, though it still took several days, especially tracking down and debugging those typos. Along the way I also made it more general, added improvements etc, and now it works really well.
I haven’t done the final step yet, which is to move the selected amenities over to my database, because I’m not yet happy with the quality of the new amenities data. “Garbage In, Garbage Out,” as the saying goes, and the OpenStreetMap amenities turned out have a lot of missing contact info, outdated info like closed restaurants, and amenities I know about that are just plain missing from the data. So I’ve been slogging through the list, searching Google Maps and Googling for contact information, to try to raise the data quality before I can add this stuff to the database. In the end, and especially because I eventually might want to update OSM, I think I’ll have to check it all out for myself on the ground. Someday.