Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.
The Mighty Wappinger Creek runs low after months with very little rain and we saw more of the rocky streambed than any time in recent memory:
Wappinger Creek – streambed at Red Oaks Mill – 2016-09-23
Much of the deteriorated Red Oaks Mill Dam stands high and dry:
Wappinger Creek – Red Oaks Mill Dam – 2016-09-23
Just upstream from the bridge, you can see how water carves potholes into the rock:
This slideshow requires JavaScript.
Back in the day, my parents took us to see the far more impressive Susquehanna River potholes (*) near Harrisburg. They range from finger-size pits up to craters large enough to comfortably hold an adult. I’m sure one of their photo albums, now tucked in our closet, contains similar pictures of those holes.
Searching for red oaks mill dam will turn up previous posts and pictures for comparison.
(*) Exploration of the pages linked there will show how, with sufficient mental effort, one can force-fit a non-erosion-based explanation of eroded potholes to match a pre-conceived timeline and narrative. Your opinion of that narrative and the effort required to fit evidence into it may differ from mine.
I found this antique on eBay for (somewhat) under HP’s 1980-era $35 price:
HP 09872-60066 Digitizing Sight – overview
The prevailing price for HP 09872-60066 Digitizing Sights seems to be $100 and upwards, with outliers in both directions, so I just couldn’t pass it up.
Anyhow, the fiber optic pipe still works just like it did, back in the day:
HP 09872-60066 Digitizing Sight – text target
The small dot in the middle is actually a paint-filled indentation on the bottom surface:
HP 09872-60066 Digitizing Sight – bottom detail
With the bottom flat on the target, the relayed image is in perfect focus:
HP 09872-60066 Digitizing Sight – top detail
The bezel recesses the top surface by 25 mil to protect the imaging plane.
OK, it’s a gadget gloat; I have absolutely no intention of ever chucking a piece of paper in the plotter and digitizing any points.
This critter has been ravaging the broccoli plants in Mary’s Vassar Farms plot:
Grasshopper – Broccoli at Vassar Farms garden
Nothing to do but eat, excrete, and procreate in the warm sun:
Grasshopper – Broccoli at Vassar Farms garden – overview
Life is good!
She can’t bring herself to mash it, as she does with the myriad other critters having no redeeming virtues. Grasshoppers, it seems, have good PR agents.
A hawk, perhaps an immature Red-Tailed, landed on a branch outside the kitchen window while we were eating lunch.
After a minute or so, a squirrel ran up the maple and began taunting (?) the hawk:
Immature Red-Tail Hawk vs. Squirrel – approach
The hawk obviously had no clue what’s going on inside that critter’s little brain:
Immature Red-Tail Hawk vs. Squirrel – faceoff
The squirrel alternated between inching out on the branch, closer each time, and dashing back to the tree trunk, for maybe ten minutes. It eventually reached the rightmost patch of lichen, a foot from the hawk, without suffering any damage, after which it ran down the tree and away. We have no explanation.
Taken with the DSC-H5 near the end of the adventure; it took me a while to deploy the camera. The first picture looks diagonally upward from the kitchen, through three layers of 1950-era glass. The second comes from the back door, zoomed about 10x, with no tele-adapter. Obviously, good color correction didn’t happen here…
For reasons that should be obvious by now, I review the helmet camera video from (some of) our bike rides and extract snapshots of interesting events. VLC auto-names the snapshots along these lines:
-rw-rw-r-- 1 ed ed 4.0M 2016-09-16 16:15 vlcsnap-2016-09-16-16h15m43s49.png
-rw-rw-r-- 1 ed ed 3.2M 2016-09-16 16:15 vlcsnap-2016-09-16-16h15m59s181.png
-rw-rw-r-- 1 ed ed 2.7M 2016-09-16 16:18 vlcsnap-2016-09-16-16h18m58s125.png
-rw-rw-r-- 1 ed ed 3.7M 2016-09-16 18:40 vlcsnap-2016-09-16-18h40m22s7.png
-rw-rw-r-- 1 ed ed 3.5M 2016-09-16 18:40 vlcsnap-2016-09-16-18h40m58s132.png
-rw-rw-r-- 1 ed ed 3.5M 2016-09-16 18:41 vlcsnap-2016-09-16-18h41m29s181.png
-rw-rw-r-- 1 ed ed 3.9M 2016-09-16 18:41 vlcsnap-2016-09-16-18h41m42s60.png
-rw-rw-r-- 1 ed ed 3.8M 2016-09-16 18:41 vlcsnap-2016-09-16-18h41m54s146.png
-rw-rw-r-- 1 ed ed 3.8M 2016-09-16 18:42 vlcsnap-2016-09-16-18h42m22s206.png
-rw-rw-r-- 1 ed ed 3.7M 2016-09-16 18:42 vlcsnap-2016-09-16-18h42m38s58.png
The gap in the timestamp after the first three files reveals a random errand.
First, convert to JPG format, place the results in another directory and, en passant, mash them to a reasonable size:
mkdir /some-useful-directory/Road\ Repair/"Rt 82 and CR 29"
for f in vlcsnap-2016-09-16* ; do convert $f -density 300 -define jpeg:extent=200KB /some-useful-directory/Road\ Repair/"Rt 82 and CR 29"/${f%%.*}.jpg ; done
cd /some-useful-directory/Road\ Repair/"Rt 82 and CR 29"
Replace the first part of the VLC-generated names with relevant identification:
-rw-rw-r-- 1 ed ed 193K 2016-09-19 11:36 CR 29 - 2016-09-16-18h40m22s7.jpg
-rw-rw-r-- 1 ed ed 192K 2016-09-19 11:36 CR 29 - 2016-09-16-18h40m58s132.jpg
-rw-rw-r-- 1 ed ed 193K 2016-09-19 11:36 CR 29 - 2016-09-16-18h41m29s181.jpg
-rw-rw-r-- 1 ed ed 193K 2016-09-19 11:36 CR 29 - 2016-09-16-18h41m42s60.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 11:36 CR 29 - 2016-09-16-18h41m54s146.jpg
-rw-rw-r-- 1 ed ed 196K 2016-09-19 11:36 CR 29 - 2016-09-16-18h42m22s206.jpg
-rw-rw-r-- 1 ed ed 196K 2016-09-19 11:36 CR 29 - 2016-09-16-18h42m38s58.jpg
-rw-rw-r-- 1 ed ed 195K 2016-09-19 11:36 Rt 82 - 2016-09-16-16h15m43s49.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 11:36 Rt 82 - 2016-09-16-16h15m59s181.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 11:36 Rt 82 - 2016-09-16-16h18m58s125.jpg
These bursts of Perl regex line noise replace the snapshot timestamp on those files with an ascending sequence number, with separate sequences for each group:
i=1 ; for f in CR* ; do rename -v "s/-1[68]h..m..s\d{1,3}/ - $(( i++ ))/" "$f" ; done
i=1 ; for f in Rt* ; do rename -v "s/-1[68]h..m..s\d{1,3}/ - $(( i++ ))/" "$f" ; done
And then the files make sense:
-rw-rw-r-- 1 ed ed 193K 2016-09-19 13:51 CR 29 - 2016-09-16 - 1.jpg
-rw-rw-r-- 1 ed ed 192K 2016-09-19 13:51 CR 29 - 2016-09-16 - 2.jpg
-rw-rw-r-- 1 ed ed 193K 2016-09-19 13:51 CR 29 - 2016-09-16 - 3.jpg
-rw-rw-r-- 1 ed ed 193K 2016-09-19 13:51 CR 29 - 2016-09-16 - 4.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 13:51 CR 29 - 2016-09-16 - 5.jpg
-rw-rw-r-- 1 ed ed 196K 2016-09-19 13:51 CR 29 - 2016-09-16 - 6.jpg
-rw-rw-r-- 1 ed ed 196K 2016-09-19 13:51 CR 29 - 2016-09-16 - 7.jpg
-rw-rw-r-- 1 ed ed 195K 2016-09-19 13:51 Rt 82 - 2016-09-16 - 1.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 13:51 Rt 82 - 2016-09-16 - 2.jpg
-rw-rw-r-- 1 ed ed 194K 2016-09-19 13:51 Rt 82 - 2016-09-16 - 3.jpg
The hard part, this time around, involved figuring a regex for the timestamp. The trick was to specify a single digit for the milliseconds part, with a repetition count allowing for one-to-three digits.
The double quotes around the rename search parameter allows the shell to expand the $(( i++ )) gibberish. The double quotes around the file name keep the blank-separated parts together.
At some point I must figure out how to produce leading-zero-filled sequence numbers, which will probably involve a printf.
The ride covered some roads with “2 to 4 foot” shoulders, which seems overly optimistic:
Rt 82 – 2016-09-16 – 3
NYSDOT and DCDPW both believe a homeopathic strip of asphalt will cover faults in the travel lane and don’t care that the right side of the strip puts an abrupt ledge along the middle of the minimal and fissured shoulder:
Another Walkway Over the Hudson Moonwalk provided a good view of the Poughkeepsie waterfront:
City of Poughkeepsie Waterfront – night view
The railroad station’s parking garage produces the big mass of sodium light in the middle and (I think) the bleached church on the far left has mercury vapor floodlights.
The smaller spots of cold-white LED lighting scattered here-and-there will gradually expand and, in five years or so, take over the entire vista …