like a prayer
Wednesday, September 18 2019
I think we're entering prime roadkill season, though perhaps it won't be so bad because of the abundance of acorns falling from the oaks, meaning squirrels will be less tempted to eat crushed acorns from the road surface. This morning, though, I saw two freshly-killed animals within 100 feet of each other on 9G near the Middle Road intersection. One was a skunk with an especially-wide white dorsal stripe and the other was a raccoon.
At work, I made great progress on my Angular-based generic reporting system. Today for the first time, I successfully ran a report from a generically-rendered parametric form (similar to how such reports worked in the Mercy For Animals reporting system in their proprietary Contact Management System). As with the MFA CMS, this system rendered the form from a JSON description, though that JSON had to be stored in the file system, since the presence or absence of specific SQL tables cannot be relied upon. (Indeed, it might make sense to make use of something like file-based SQLite storage. Such storage will be essential if I want to be able to record the history of reports run.)
Towards the end of my workday, the Head Honcho asked me to investigate a problem with code I'd written slightly more than a year ago, right after first being hired. The code was a quick and dirty pair of scripts that managed to convert a Sybase database into a Microsoft SQL database. I'd spent a couple days on it and then moved on to something else. When I revisited the code today, I saw that it had been replicated into a bunch of directories and had become an essential part of the automatic processing of data. Of course, since this had all been done by a sharp but inexperienced developer who has since left the company, I wasn't particularly happy with how it had been implemented. It's common here to clone whole databases and file systems for use by other customers in cases where it would be better to serve data and run code from a centralized, common location. Without doing this, you soon have a propagation of different versions, a Cambrian Explosion of code.
As I was driving home this afternoon, everything was going great until I reached the end of Middle Road, where I would normally bust a right onto 9G (the place where I'd seen the dead skunk and raccoon this morning). I couldn't bust such a right, because 9G was completely blocked by slow-moving cars, and the only thing that could be causing such a backup would be something happening on the Kingston-Rhinecliff Bridge two and a half miles away. For some reason I thought I could do better if I drove down to Rhinebeck and tried to get to the bridge via Mt. Rutsen Road and River Road. While headed in that direction, I stopped at Williams Lumber to look for large (that is, thirty gallon) plastic rectangular containers that could be used for cisterns. (I need to replace the one in the brownhouse, which is still leaking after several attempts to fix it.) Fortunately, Williams (unlike Agway) had a good selection of cheap rectangular plastic containers, and they seemed more rugged than the ten year old container that was now leaking.
When I tried driving to Route 199 (that is, the highway crossing the Hudson) via Mt. Rutsen, I (unsurprisingly) came upon the rear end of a slowly-crawling line of cars just south of the Mt. Rutsen/River Road intersection (which forms a Y). Knowing that there are traffic reports on 98.5 the Cat, I switched from playing music (in this case, Epica) to the radio. But the 98.5 traffic report was worthless; as always, all the highway conditions it reported on were moving without delays. Either they only report good traffic conditions (how useful would that be?) or they recently decided to narrow their reporting coverage and no longer provide information about the Kingston-Rhinecliff Bridge. So I fired up Waze, which I'd installed on my phone when Gretchen and I were in Costa Rica. Waze would've been great had my cellular service (and even the GPS) not been acting up.
It turned out that the slowdown on the bridge was being caused by the installation of Jersey barriers. A four-foot-wide lane pedestrian lane is being installed on the south side of the bridge, something that had been underway since early this morning, and all that commotion was enough to cause traffic to back up. Tomorrow I think I will be leaving work early to avoid all this crap. And I'll be checking traffic conditions first. [Doing a Google Search for "traffic conditions" is really all one needs to do!]
I never usually have to deal with traffic congestion in my daily commute, so I made myself a new drinking rule: if my drive takes more than a half hour longer than it should, I get to drink. So back at the house, I drank a beer and then carried a cocktail into the forest to drink as I made some twilight improvements to my stone wall.
After a bath, I returned to my LoRa project, trying to implement the system as described in a YouTube video I found that had been made by a wireless enthusiast who draws attention to his Swiss accent. His video starts out slow but then, like an object falling into a black hole, accelerates to the point where you have to pause the video and then pause and rewind the video. But inevitably I ran into problems with the Arduino libraries. I seemed to have a version issue somewhere between hal.h and lmic.h. The upshot of all this: For me, LoRa communication is still working about as effectively as Christian intercessional prayer.
Ramona just after rolling in some fecal matter. I had to wash her off before taking her back into the office.
Ramona in a field between my workplace and a development of McMansions. Click for a wider view.
Ramona in the field directly behind my workplace.
For linking purposes this article's URL is:feedback
previous | next