I was rushing through that last post, and though (in discussion with others) I noticed that New Years resolutions seem to have become a bit passé, I still like to think about where I am at this time of year, and where I want to be in the coming year. So here are some more, more realistic resolutions:
Ride More: It’s a bit surprising to me how much I fell off my cycling, especially considering how much I really like it. So, definitely I plan on riding more.
Ride MTB A Lot More: I’ve got time, and I have a great bike that barely sees any of the riding that it was meant for; I should be doing a lot more mountain biking. Meantime, the few times I got out this year (and last year) I had so much fun it was almost a religious experience. So OK, there will be a lot more mountain biking this year.
Start Every Morning With Yoga/Exercise: I started this morning. Again, I don’t know why I don’t do this more, it feels so good when I do it. Well, now it’s a resolution…
Get Serious About The Cello: I see a lot of fun happening that I could be a part of, but I take it up half-heartedly over and over again, never get past square zero, and then I drop it, losing whatever I might have gained. I think I might look into going back for lessons again, as well as just, you know, practicing…
Step Away From The Computer: Say what? Not really, but I think I can do with a lot less of that listless browsing that eats time and just makes me feel like I just wasted an afternoon watching television.
Blog More: I think I’d like to be able to say I write something every day. We’ll see how that goes, but I’ll make the attempt.
Anyway, that’s all I have for now. My next list will probably be “places I want to ride this year.” For now, I am off to do my belated annual New Year’s Day hike.
Happy New Year to all my readers! Not much revelry last night: we stayed in with Emmi and Kyle, baked some Chicago-style deep dish pizzas, and only braved the five degree outdoors to bang on a pot when the new year arrived. (They left for Durham this morning.) Unfortunately, our new year is starting on a somber note: we’re leaving in a few minutes to go to upstate New York, near Ringwood, for the wake of a friend’s brother. So no hike, no bike ride… Tomorrow will be our traditional New Year’s.
I’m just sitting here, working on a few chores, bills etc, and watching the chili cook itself in the crock pot. It should be ready tonight, but we’re not going to eat it until Thursday night, when Emmi & Kyle, and Ben, all arrive for our Christmas gathering. I am almost caught up with my Christmas shopping…
On Friday we went into Philly (by way of REI, where I finally got new boots), for a birthday lunch with Ben and his girlfriend Candace. We went into Port Richmond, a part if the city I’d never seen before, and apparently a heavily Polish neighborhood of long standing. Storefronts in Polish: funeral parlors, travel agents, even a BYO strip club (we joked that they played Polka stripper music), but most important: many Polish restaurants. Candace knew the area, and she knew of a place with “the best Polish food in town,” which is where we had our lunch. Much delicious, heavy food, then we went to the hipster coffee shop up the street before our trip home.
Saturday was rainy, so that “Christmas Lights” night ride did not happen, but we did get together with Liz H-D for our annual “fancy dress cocktails” at the Hotel Bethlehem. We also ran into Erin and Todd out with some of their friends, so the party went a bit later than expected…
Christmas Eve morning started a corresponding bit later than expected, but in the afternoon we went to Jeff and Crista’s farm for their annual bonfire, then we went with Anne’s mom to the Christmas pageant/service at the meeting house. That was followed by a rather subdued night out — a lot of places closed early — but we got our annual post-pageant Christmas Eve beer with Will & Martha and Peter and Anna, and Rick with Liz and Joey. Good to see everybody, and on the way home it started to snow.
Yesterday we laid low, with another late morning and another big breakfast, and an afternoon bike ride along the towpath north of Jim Thorpe. They got a bit more snow, maybe two inches or so, than the dusting we got back home. It was a bit of work in the snow, but the ride and the day were beautiful.
Another dusting last night, an easy shovel job but the neighborhood looks really pretty, especially on my walk this morning. Anne went early to deal with her office’s walkways, then met Debbie for breakfast at the new breakfast place on Main Street (the Flying Egg, go there it’s pretty nice). Anyway — after I got up, and shoveled here — I texted to see if she needed help; she replied that the job was done and I should come over and join them. Great start to the day, nice to see Debbie, and the point of my story was that it was beautiful out, with early-morning-rosy winter clouds, before it all morphed into a generic “sunny winter day,” which was nice in its own way but that early sky really was cool.
On the home front, we got our new oven yesterday. It looks pretty nice and stainless-steel modern, the range is a bit more aggressive than our old one and, most important, the oven keeps the correct temperature. Too bad the delivery came while I was trying to sleep in — not too early really, but before 9:00, and I was trying to catch up on my sleep after a rough few days…
I’ve had a bit of an eczema problem lately, and it really got crazy this week. We super-cleaned the house, I switched to baths instead of showers… and I broke down yesterday, went to my GP and got some prescription strength cortisone cream, as well as a Prednisone prescription. I’ve been warned about euphoria, mania etc as side effects, but nothing: I’ve basically been just putzing around the house today, though my skin is running through a fast-motion miracle cure so there’s that. I have an allergist appointment in the New Year, and I got a referral for a dermatologist from the GP. I’m going up in the attic soon to find the humidifier. Life goes on.
Meantime, the mapping — rather, the fixing of the mapping scale-up problems — continues. I had problems with getting the elevation changes, and had to eventually abandon a QGIS solution, and build my own PostGIS function to get the “chainages.” The term is apparently a holdover from ancient surveyor days, where they used chains to measure distances; what I needed was a shapefile of points, set every 10 meters along each road in the database, but the new file had to refer back to the road database in a certain way, and the QGIS plugin just wasn’t flexible enough for what I needed. (My solution worked like a charm.) The next step was to use SAGA and my elevation data to give each point an elevation, which since the new chainages were themselves now in the database rather than a standalone file, the process was its own struggle learning experience, but it’s done now. Next up is generating the ascent/descent data, which I might decide to do in PostGIS as well — my current, PyQGIS-based method is run-all-night-check-results-in-the-morning slow. Tomorrow, or this weekend…
Mapping: I had, and still have, a few technical issues to deal with, but the full Lehigh Valley database is now in PostGIS, along with elevation data — bogus elevation data, that’s one of my technical issues — and the demo map can now route with the new database. But it’s got the slows, it’s got the slooowws… With about 3200 road segments in the “toy database,” it could route in about 1-2 seconds, but the full-map version took about 6 seconds per routing task — and there may be multiple routing tasks in each route, from start point, to via point and then through subsequent via points, and finally to the endpoint. Unacceptable!
I did some searches online, and sure enough there are a lot of people complaining about pgRouting performance and looking to speed it up. The general consensus: there are a few things you can do, including tune your database, but the actual bottlenecks are the pgRouting algorithms. Some suggested using osm2po, another program that converts OpenStreetMap data for databases but can also do routing: tried it and it’s blindingly fast – d’oh! (Unfortunately, I didn’t see much there in the way of customized, dynamic cost functions, so I can’t see how to turn it into the the answer I’m looking for.) I tried a bunch f the Postgres/PostGIS performance-tuning tips anyway, and they did seem to help a little.
I eventually came across one potential solution: route only on a subset of the roads in the database, using a bounding box. For each pair of points to route between, I find the smallest rectangle that contains both, then expand it by 2000 meters in every direction (like a buffer zone); this is my bounding box, and the routing search is limited to the roads that touch or fall within that box. This seemed to do the trick: my routing times are back down to about 1-2 seconds.
Except near — wait for it — those confounded bridges. The valley is broken up by the Lehigh river, with occasional bridges, and if there are no bridges within the bounding box for a route that needs to cross the river, no route will be found. Meanwhile, when routing points are on a diagonal, the bounding boxes are fairly big, but routing points that run mainly east-west or north-south produce long, skinny bounding boxes. I found a few “dead zones” where routes couldn’t be found, especially east-west ones north of Northampton, routes with skinny bounding boxes where the bridges are a little sparser. My original bounding boxes were expanded by a buffer that was only 1000 meters; I went to 2000 meters in an attempt to alleviate the bridge problem. This didn’t solve it entirely, but it did help, and there was no real performance hit going from 1000 to 2000 meters. I’ll probably look at distances between bridges, and revise my buffer zone to be just bigger than say, half that distance.
Reading: I picked up Don DeLillo’s Underworld again, intending to just read the first part. I love the first chapter but never finished the book because I found the rest boring; now I am engrossed and don’t know what I was thinking back then.
Listening: WXPN has been playing “The 70’s, A-Z” this past week, every song they have in their library that was released in the Seventies, played in alphabetical order. We’ve been following along religiously, and it’s been fascinating and fun but they’re only up to “T,” and it gets wearing. Full disclosure: the radio is off right now…
The only time they weren’t playing the 70’s was for their Friday “Free at Noon” concert at the Word Cafe, which this week featured Russ’s band Cherry. So, we went down to Philly with Ray and Lorraine, where we met Frank and Patricia, and Ben, and Gabby, and we all watched the show and then went out to lunch with Russ at the White Dog Cafe. As always, we spent a few minutes at Penn Books before the ride home. All the talk in Philly, among us and overheard on the street, was about the upcoming snow on Saturday…
By the way, Saturday was Luminaria Night in Bethlehem, here is a photo of ours:
Just kicking back this morning, before going with Anne over to the Bike Co-op for the afternoon…
Reading: I just finished N.K. Jemisin’s debut novel, The Hundred Thousand Kingdoms. I took to it well enough at the beginning, but it actually became a chore to read: I put it down for a week, and read the last third in two sittings, closing the book with a sense of relief yesterday. Strange because I really liked her award-winning “Broken Earth” trilogy, and the style and voice were very similar; Anne said that maybe the author worked a few bugs out of her writing between her debut and the trilogy, and that may be so but I didn’t really see it. All I can say is that I really recommend the trilogy, but don’t feel the same about this one. I think it’s also first of two, but it’ll be a while before I read the sequel.
Two Hours Before The Mast: I did my usual Wednesday volunteering at the Canal Museum yesterday. The canal boat is now in dry-dock for the winter, and Scott E is trying to get as much maintenance done on it (especially things like painting) in the nicer weather as he can, so yesterday I helped prep the deck for staining. Mostly this meant sanding, and the sanding I did was mostly “trim work” with a small vibrating sander, near fixtures and in corners where the bigger unit couldn’t fit — I did this for about two hours until the little sander overheated and turned off. I thought of it as “swabbing the deck,” but showed remarkable restraint and did not talk like a pirate.
Mapping: The routing website is now essentially — well, not done done, but the functionality is pretty complete. It routes, with a few glitches (but I added error handling so it doesn’t just choke without apologizing), it modifies routes based on user preferences for hills and visible recommended streets, and it can export the route as GPX; the final steps for website usability are to add printing capabilities for the directions, and add some explanatory content. (Finishing the job means building the real database — and finding a place to put it online.) I’m pretty happy with how this came out so far, it’s actually fun to play with.
Listening: Not to eMusic, that’s for sure. I’ve used them for years to purchase music, and once they were both a good deal at a flat 49 cents a song (with no DRM: download it and it’s yours), and a good source for whatever I was looking for. Then in about 2010, they bought into some of the more mainstream catalogs, changing their price structure — more popular stuff became more expensive, some songs required you to buy the entire album — to accommodate the new sources. This actually drove away many of the better and more obscure labels, leaving eMusic no better than any other generic source, at least in terms of selection. Now the major labels are gone again (I think), and the catalogs are mostly things I don’t care about. So every month I pay $15, which gives me $17-$18 in credit to use or lose that month, and I hardly ever even check in anymore to see their new offerings — and whenever I go there to search for something specific, they don’t have it. It’s time to move on.
On the Home Front: We are busy researching ovens, in preparation for our new purchase.
So, flash back to several days ago: Anne was cooking things in the oven, and they were just going …wrong: bread was burning, cakes were coming out uneven, the oven was just acting funny. A quick check with the thermometer and she confirmed that the oven’s thermostat was malfunctioning, and a look inside the oven showed one side wasn’t even firing. Our oven was on the fritz.
Our oven was on the fritz, that is, three days or so before we hosted Thanksgiving. Maybe it’s just the thermostat, but the last time the repairman came out (to fix the thermostat if I remember correctly), he said we needed a new oven — if we even got a repairman out before the holiday we would probably not be able to get parts, much less a new oven, in time. A turkey, a ham, many side dishes and pies and cakes, and 17 guests coming — what to do?
Well, first we panicked, but then Anne did a bit of research and we decided to cook the turkey in the wood-fired outdoor oven — the wonky indoor one, with some supervision, would work well enough for the (pre-cooked) ham as well as those side dishes that couldn’t be repurposed to range-top cooking, and guests would bring plenty of their own food. The only real hit would be the extra work of starting and running the fire.
This mostly fell to me, and was a two day process. We got up early Wednesday and I got a fire going, and fed it periodically during the day while doing other prep chores. This fire was just a pre-heat to get some temperature into the core thermal ballast; all we cooked on Wednesday was the pizza we had for dinner. A little measurement told us the whole turkey, with a pan big enough to cook it, wouldn’t fit in the oven, so Anne split the bird in half as part of the prep, while I got the fire going again Thursday morning. At around 900 degrees we put the bird in to brown, then we put it back in again when the temperature was down around 500. It cooked in just under two hours, and it came out fabulous. Everything else was awesome too, and the whole day was a fun success.
The warm weather finally broke (again) with this recent rainy spell, let’s hope it lasts but for now it’s nice and cool…
While we were in Pittsburgh I kind of got fed up with my phone sending me messages about memory use — it wasn’t really all that close to full, but it was getting closer every day, for no reason I could see, and the messages were getting more ominous. I had already moved as many apps as I could to the external drive, my photos, music etc, there should have been very little on the internal drive at all, much less enough to cause problems. What gives?
I started looking through the folders on the drive, Googling their names and trying to find what was going wrong. Turns out (among other things) that my photos were being stored several times on my phone, over a thousand photos, each a few megabytes, and while my regular photo storage is on the external drive, the backups were filling the problematic internal one. Several minor changes to the settings, turning off “cloudagent” or whatever, and I recovered a huge chunk of storage space. I was so happy I deleted a bunch of apps I don’t use, freeing up another chunk. The best part? They’re staying freed up.
Meanwhile, back home on the laptop… my hard drive has two partitions: one large partition where my old system was, and another one that holds the root of my current system, which is smaller than the first partition but by no means small. Unfortunately, it was also constantly growing, and I was down to like 25 gigabytes — which sounds like a lot, but the disk is old and on the small side, and still it’s 350 gigs. I’m down to less than 10 percent usable space?
Once again, it was the cloud. I’ve been putting it off for a while, but I knew that the problem was my Dropbox folder, which was huge and growing (photo backups from my phone), and things would be a lot better if that folder was on the bigger, emptier partition. This required some work — the Dropbox preferences program wasn’t working correctly, so I had to fix that first, then the move itself took a while — but in the end, the move was a success, and I freed about 25G on my main partition.
That got me excited enough to look at what was on my auxiliary partition, maybe there was even more I could free up… I have my old system backed up on a network drive, but the old home folder (about 65G) was still there, and all the useful stuff had been moved over to the main partition already. I couldn’t bear to just erase it, so I moved it all over to the network drive (where there are now two full backups, but with two terabytes it’s a drop in the bucket) and now I have tons of free space — 190G of 350G total — on my drive.
We were out in Pittsburgh over the weekend; Anne and I went with Ben to her nephew Mike’s wedding. An awesome time (though exhausting), hanging and partying with Anne’s siblings and their kids. We drove up Friday morning, the wedding was Friday night, we went to Mattress Factory, an art museum, on Saturday, followed by a picnic at Anne’s brother Bill’s place, and drove home Sunday. Boom!