The Smell of Molten Projects in the Morning

Ed Nisley's Blog: Shop notes, electronics, firmware, machinery, 3D printing, laser cuttery, and curiosities. Contents: 100% human thinking, 0% AI slop.

Tag: Rants

And kvetching, too

  • Software Testing, Lack Thereof

    Software Testing, Lack Thereof

    Not what you want to see when trying to extract a month’s worth of data from your blood pressure meter:

    Omron - Bluetooth sync error message
    Omron – Bluetooth sync error message

    Perhaps the format string should be $1$s or %1%s, not a mixture?

    It’s typical for Omron to issue two updates in quick succession after months of no activity, so programming by successive approximation may be a thing.

  • You Can Still Tell It’s Spam

    You Can Still Tell It’s Spam

    The Comment form you’ll see down below says:

    Spam comments get trashed, so don’t bother. Comment moderation may cause a delay.

    My apologies to real people, but this junk would appear without that little speedbump:

    Spam comments
    Spam comments

    The IP addresses map to Singapore and China, for whatever that’s worth.

    Obligatory XKCD:

    The game is on …

  • AI Content Detection: “Highly Authentic Human Writing”

    AI Content Detection: “Highly Authentic Human Writing”

    Just for fun, I handed the text of a recent post to one of the myriad AI detectors:

    AI generation score: 12%

    This text reads as highly authentic human writing, likely from a personal blog or DIY/home repair journal. The author demonstrates a genuine personal voice throughout, with specific technical details that feel lived-in rather than generic. Phrases like ‘sad bent wreckage on their stems’ and ‘yet another nonstandard standard size’ carry real personality and mild frustration that feels genuinely human. The writing has a casual, matter-of-fact tone typical of someone documenting their own project for an audience of fellow hobbyists.

    Yeah, that’s about right.

    Of course, an AI analyzed my text and generated the response, so I tossed its response back into the hopper:

    AI generation score: 72%

    This text has several hallmarks of AI-generated content, particularly in its analytical, evaluative framing. It reads like an AI detector’s own output — a meta-analysis of writing rather than original creative or personal content. The language is polished and structured in a way that feels templated: it moves systematically through observations (voice, tone, specific phrases, audience) in a formulaic progression typical of AI summarization tasks. Phrases like ‘feel lived-in rather than generic’ and ‘carry real personality and mild frustration’ are the kind of hedged, evaluative language AI systems use when describing human qualities they’re trying to identify or simulate.

    However, we know real humans sometimes steal content from other authors, so I ran the same text through one of the myriad plagiarism detectors:

    Plagiarism Check
    Plagiarism Check

    Guilty as charged: my text always exactly matches what you’ll find at softsolder.com. I have no idea where the “83% Match” for the first paragraph came from.

    Remember: you read it here first …

  • Amazon Unit Pricing: Go Ask Alexa

    Amazon Unit Pricing: Go Ask Alexa

    I long ago learned to never trust Amazon’s unit pricing (or, for that matter, their recommendations), so this came as no surprise:

    Amazon unit pricing - hose per ounce
    Amazon unit pricing – hose per ounce

    OK, you generally don’t buy hoses “by the ounce”, but “per fluid ounce” may not mean what you think it means:

    Amazon unit pricing - cups per ounce
    Amazon unit pricing – cups per ounce

    Pricing items individually should be simple, if you know what a single item is:

    Amazon unit pricing - batteries per each
    Amazon unit pricing – batteries per each

    Even knowing the number of items and the overall price isn’t enough for Amazon to get it right:

    Amazon unit pricing - just plain wrong
    Amazon unit pricing – just plain wrong

    Amazon now has a “shopping assistant”, so I asked Alexa why the unit prices were incorrect. After some back-and-forth providing details Alexa should have known from the context, this seemingly plausible sequence of words emerged:

    Amazon unit pricing - ask Alexa
    Amazon unit pricing – ask Alexa

    Amazon apparently stopped commingling knockoff crap with brand-name products under the same SKU earlier this year, a change driven by major brands refusing to have anything to do with Amazon’s “supply chain”, but the probability of my one-by-one reports producing any discernible improvement seems low.

  • Credit Union App: User Tracking

    Credit Union App: User Tracking

    Two years ago I installed the DuckDuckGo browser on my phone and activated its app tracker blocking, which is basically a fake VPN swatting known tracker destinations out of the bitstream.

    Somewhat to my surprise, the credit union’s app attempted to send my personally identifiable bits to a destination seemingly unrelated to any banking needs:

    HVCU App Tracking - 20240525
    HVCU App Tracking – 20240525

    So I called up the credit union and asked:

    • Why was their app sending that information to a third party?
    • How do I disable that tracking, because I do not want those companies to know every time I use the app?
    • Why did they think this was a good idea?

    Over the course of the next few weeks and many follow-up calls, I was told:

    • I must be mistaken, there is no tracking
    • My information is correct, but the credit union doesn’t have a relationship with that company
    • They do have a relationship, but the app doesn’t send any of my information to that company
    • They only send the information if I am responding to a survey
    • The app does send my information even without my responding to a survey, but in accord with their privacy policy
    • OK, the credit union’s privacy policy doesn’t specifically describe their app, but the companies behind the app have privacy policies at various links
    • Even though the documents at those links describe the general sharing arrangement between each company and the credit union, I am not authorized to see the specific agreements related to my information
    • I can opt out of the tracking by setting an option in my account profile
    • OK, that option doesn’t exist, but when I disable the app’s access to my location, the tracking will cease

    The intensity of the tracking attempts continued, even after disabling location sharing and not opening the app on any given day:

    HVCU App Tracking - 20240605 - A
    HVCU App Tracking – 20240605 – A
    HVCU App Tracking - 20240605 - B
    HVCU App Tracking – 20240605 – B

    Eventually, I was told, in no uncertain terms:

    • If I don’t want to be tracked, I should not use the app
    • This will be their final discussion of the subject

    They never did answer any of my original questions.

    As I get very few checks in the mail, I have had little occasion to fire up the app since then.

    The tracking continues apace, albeit with a different cast of characters:

    HVCU App Tracking - 20260609 - A
    HVCU App Tracking – 20260609 – A
    HVCU App Tracking - 20260609 - B
    HVCU App Tracking – 20260609 – B

    You might think “The Trade Desk” has something to do with financial trading. You would be wrong.

    I expect commercial banks to be even worse, so there’s nothing to be done.

    Apart, of course, from blocking app tracking attempts with DuckDuckGo, using Firefox (with uBlock Origin) rather than Chrome, and running Pi-Hole on a Raspberry Pi for the home network. I admit my faith is touching.

  • Raymond Avenue: Bikes In Lane

    Raymond Avenue: Bikes In Lane

    The sign makes it fairly clear what NYS DOT intended, even if they don’t dogfood their designs:

    Raymond Avenue vs pickup - bikes in lane sign
    Raymond Avenue vs pickup – bikes in lane sign

    We ride to the left of the fog line for good reason:

    Raymond Avenue vs pickup - drain grate
    Raymond Avenue vs pickup – drain grate

    Those are nominally “bike safe” drain grates, but some of the joints between the catch box and the grate can snag a bike tire, so they’re best avoided. Bonus: not all the drain grates are bike safe, so making a mistake will be costly.

    The lane has enough clearance for passing cars, presuming you don’t flinch at the wrong moment:

    Raymond Avenue vs pickup - lane clearance
    Raymond Avenue vs pickup – lane clearance

    That same DOT engineer told me the correct way for cars to pass is to drive up on the sloped curb onto the median. Some drivers do that, but further down Raymond they would collide with various obstructions.

    Not flinching is difficult to do when there’s a horn blaring immediately behind you:

    Raymond Avenue vs pickup - overhanging load
    Raymond Avenue vs pickup – overhanging load

    I wonder if the mattress was on its way to the dump.

    We’ve begun exiting at Chapel Gate and riding through campus:

    Raymond Avenue vs pickup - Chapel Gate
    Raymond Avenue vs pickup – Chapel Gate

    Which is exactly what the DOT engineer who designed Raymond suggested we do. Why a state agency can recommend riding on private property to get off a nominally standards-compliant state road remains a puzzle, but, hey, I’m no longer a Registered Professional Engineer.

    IMO, the man needs a bigger pickup:

    Raymond Avenue vs pickup - not enough truck
    Raymond Avenue vs pickup – not enough truck

    Just another day riding on NYS DOT roads, where bicycling is always an uninterrupted delight.

    Searching for Raymond will produce more examples of NYS DOT’s design prowess.

  • USB Micro-B Connector: FAIL

    USB Micro-B Connector: FAIL

    While setting up a Raspberry Pi camera, I had occasion to pull out its USB power cable, whereupon grabbing the camera while unscrewing it from the tripod felt unusually sharp:

    Micro-B USB - RPi jack
    Micro-B USB – RPi jack

    It seems the wall wart’s USB Micro-B connector pulled apart:

    Micro-B USB connector - disembowled
    Micro-B USB connector – disembowled

    Somewhat to my surprise, it was a CanaKit 5 V 2.5 A wall wart, definitely not the cheapest piece of junk ever made by the hand of man. On the other paw, it’s been around for quite a while, so …

    Even I will agree that’s not a repairable failure, so I planned to splice in a Micro-B connector from a volunteer chosen from the Box o’ USB Micro-B Cables:

    Micro-B USB connector - tiny wires
    Micro-B USB connector – tiny wires

    Nice color code in there, eh?

    Each of those conductors appears to be made up of nine springy copper-colored 0.06 mm strands, somewhat smaller than 40 AWG: not what you want on the business end of a 2.5 A wall wart. I had previously measured the cable’s overall resistance with a surprisingly useful Treedix USB Cable Tester and it was on the very high end of the charge-only cable collection.

    So I soldered a female USB-A breakout from the Drawer o’ USB Breakouts to the wall wart’s wires, snapped a 3D printed case around it, got a good (0.26 Ω) A-to-Micro-B cable from the Box o’ USB Adapters, and moved on.

    Ya gotta have stuff, but that was absurd.