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

  • Rant: Software Testing

    I admit to having expectations, perhaps unreasonable expectations, about what should transpire after filing a bug report with a software project large enough to have a bug tracking system.

    • Acknowledge the report right away, lest it appear nobody cares.
    • Figure out what else you need to know; I give good bug report, but if you need more, ask now.
    • Triage, set, and meet a due date, lest your development process appear shambolic.
    • When we outsiders become the software testers, keep us in the loop.

    My experience shows that the larger and better-funded the organization, the less productive will be any given report: individual problems get lost in the noise. Firefox, Ubuntu, and the late OpenOffice serve as cautionary tales; their forums may help, but submitting a problem report doesn’t increase the likelihood of getting a timely fix.

    I cut one-horse open-source operations considerable slack, although they rarely need any. For example, a recent OpenSCAD problem produced turnaround time measured in hours, including a completely new source file cooked up by a bystander and the lead developer polishing it off a sleep cycle later. That was on Christmas Eve, from on vacation, in a low-bandwidth zone, evidently through an iDingus.

    Perhaps I’m more sensitive to software quality assurance than most folks, but for good reason.

    Quite some years ago, my esteemed wife earned an IBM Outstanding Technical Achievement Award for testing a major component of a major OS. They don’t hand those tchotchkes out lightly and rarely for anything other than development. She had skip-leveled(*) to her umpteenth-level manager: “IBM must not ship this product. It does not work. It is an embarrassment. I will not concur with any decision to ship.

    The thing eventually shipped, half a year behind schedule, after the developers produced code that passed her test suite and she signed off on the results. Word has it that blood ran ankle-deep in the corridors toward the end.

    If you should ever encounter someone in need of a software-testing team leader who doesn’t take crap from anybody, let me know. She’ll definitely require considerable inducement to drag her back into the field, away from her gardens and quilting…

    So, anyway, we know a bit about software testing and verification and QC in these parts.

    Selah.

    (*) Old-school IBM jargon for walking around several levels of obstructive management to meet with a Big Shot in the corner office. Might not happen in the New IBM, alas.

  • Comment Spam: Industrial Sabotoge?

    A new trend in the comment spam load that you don’t see involves a concerted attempt to post irrelevant comments with links to obviously junk websites. The URLs vary, but each site’s links cross-connect it with its peers in weird ways that recycle the few real pages of content (such as it is). However, every page of every website included a specific company’s contact information at the bottom, which is truly weird; usually junk websites have no identifying marks.

    Generally I ignore such crap, but after discarding several dozen such comments over the course of a week, I called the company’s phone number and, amazingly, spoke to an actual person. It’s impossible to determine honesty over the phone, but he certainly sounded like a real human who’s busy running a small company and who has no idea what’s going down.

    Perhaps his internet marketing company has gone mad?

    Perhaps unsurprisingly, that series of spam comments stopped immediately after I hung up the phone. I’ll never know the end of the story, even though we all know the motivation: money changes everything.

    The last time this sort of thing happened, I also talked to a pleasant voice who observed that it could well be an unscrupulous competitor (or a hired “internet marketing” company) trying to smear their good name. There’s no way to confirm or deny such a claim, of course.

    For what it’s worth, Akismet reports these statistics since Day Zero of this blog, back in December 2008:

    • 42,143 total spam
    • 1,982 total ham
    • 225 missed spam
    • 10 false positives
    • 99.47% accuracy rate

    It’s currently killing over 150 spam comments every day, leaving only a dozen or so for me to flush. The lure of easy money seems irresistible, so there’s no hope of a letup.

  • Credit Card Services: Payback

    If you have a landline telephone number, you’ve probably been robo-called by “Rachael” from “Credit Card Services” with an offer to lower your credit card rates. She gives you two options:

    • Press 1 to speak with a live operator
    • Press 3 (or, sometimes, 2) to prevent further calls

    I presume you’ve discovered that pressing 3 has no effect.

    Credit Card Services is obviously a scam:

    • We’re on the FTC Do-Not-Call Registry
    • We don’t have a pre-existing business relationship with CCS
    • They use a robo-dialer
    • Pressing 3 (or whatever) doesn’t discontinue the calls
    • Their caller ID is spoofed

    Rather than get mad, play along. CCS obviously preys on suckers willing to read off their credit card information to total strangers, so you can retaliate by stringing them along as far as possible, thus increasing their cost-per-sucker. Admittedly, their “agents” are (at best) minimum-wage slaves, which means you’re messing with their income stream, but after the first few months it becomes pretty obvious that the calls will never stop and you may as well roll with the punch.

    Suggested topics, all presented in a slow monotone with long pauses:

    • Making sure they’re not associated with any of your credit cards (they aren’t)
    • Understanding whether they’re offering a loan to pay off your cards (they lie)
    • Asking for a callback number in case the call gets dropped (it’ll be a junk number)

    They expect a minimum $4k account balance with the usual usurious credit card rates. Getting them to admit any of that requires carefully paced inquiry, because their script requires getting my balance before they devote any more time to me. I haven’t fed them any (totally bogus) numbers yet, but that may be the only way to get beyond the preliminaries.

    Topics I’ll investigate in upcoming calls:

    • Their current interest rate
    • The repayment schedule
    • What they hold as collateral
    • How’s the weather where they are (it’ll be terrible here, for sure)

    Thus far, I’ve discovered that any mention of these topics produces an instant disconnect:

    • Why pressing 3 does not discontinue further calls
    • Inquiring about their company mailing address
    • Asking to speak with a supervisor
    • Whether lying to strangers all day affects their personal relationships

    My record so far is 3:05 from picking up the phone, which includes the recorded message and a bit of hold music.

  • HP-48GX Calculator Disassembly: Case Rivets

    The keyboard on my trusty HP 48GX calculator finally deteriorated to the point of unusability, so I tore the thing apart following the useful instructions there. The warning about applying force to the rivets that hold the case halves together gives you not the faintest concept of how much force is actually required to pry the mumble thing apart at the battery compartment; I finally invoked force majeure with a chisel scraper

    HP-48GX case rivets
    HP-48GX case rivets

    I expected the calculator would not survive this operation and I wasn’t disappointed.

    An HP 50g is now in hand. Here in late 2011 I’d expect HP’s top-of-the-line RPN calculator to sport a crisp high-resolution display, but noooo the low-contrast 131×80 LCD seems teleported directly from the latter part of the last millennium. The manuals are PDFs, which is OK, but their content is far inferior to the HP 48GX manuals. In particular, the editing / proofreading is terrible. I infer that the HP calculator division can barely fog a mirror and is on advanced life support; HP’s diverting all their money to, uh, executive buyouts or some other non-productive purpose.

    The fact that HP sells new-manufacture HP 15C calculators doesn’t crank my tractor, even though I lived and died by one for many years. A one-line 7-segment display doesn’t cut it any more, even if the new machinery inside allegedly runs like a bat out of hell.

    My HP 16C, now, that one you’ll pry out of my cold, dead hands. At one point in the dim past, I’d programmed the Mandelbrot iteration into it to provide bit-for-bit verification of the 8051 firmware for the Mandelbrot Engine array processor I did for Circuit Cellar: slow, but perfect. That calculator has a low duty cycle these days, but when I need it, I need it bad.

  • GPS+Voice Interface for Wouxun KG-UV3D: Circuit Hackage

    Having had my old ICOM IC-Z1A HT stop working, most likely due to the innards finally shaking loose, I replaced it with a Wouxun KG-UV3D dual-band radio. Unfortunately, the interface box I designed to connect the Byonics TinyTrak 3+ GPS modem, the helmet earbud/mic, and the external battery pack to the Z-1A doesn’t work with the Wouxun. It’s all different:

    • Mechanical interface to the radio
    • Battery voltage
    • Power control
    • Mic level
    • PTT interface

    I modified the interface box from my bike thusly:

    GPS-HT Interface Circuit Mods for Wouxun
    GPS-HT Interface Circuit Mods for Wouxun

    Because the KG-UV3D uses the Kenwood HT interface with a single ground for mic, speaker, and PTT functions, there’s no need for galvanic isolation; all the optoisolators & the audio transformer will Go Away when I rebuild it.

    The plug connections:

    Wouxun KG-UV3D Mic & Speaker Jacks
    Tip Ring Shell
    3.5 mm +5 V Mic audio PTT
    2.5 mm Speaker audio Buttons Ground

    One distressing change: the IC-Z1A mic power was 3.5 V behind 400 Ω = 6 mA into an optoisolator LED, but the KG-UV3D puts 5 V behind 50 kΩ = 100 µA into a dead short. I think the voltage will suffice to drive a logic-gate MOSFET to switch the power through a PNP transistor, but, for the moment, I hotwired OK1 and “control” the interface power by unplugging the external battery. The radio runs from its own snap-on Li-Ion pack.

    The PTT now has a separate logic wire and is no longer multiplexed as a DC current on the audio line. The hack on OK2 was the easiest way to make that happen on the existing board, but the TT3 PTT Out line can  probably drive the PTT directly.

    I’m not happy with the audio levels; the KG-UV3D requires more mic gain (which change doesn’t appear in the mods) and more TT3 output. Having tediously calibrated the TT3 for the IC-Z1A, I’m not looking forward to doing that again. I still like using an analog multiplexer to switch the audio signal, though, because it doesn’t mix the machine noise with the voice transmissions.

    Bungied GPS Interface Box
    Bungied GPS Interface Box

    There being no way to mount the box on the radio and no way to control the interface power if I did, I simply lashed it to the side of the pack holding the radio behind the seat. Obviously, that can’t last forever…

    I think the KG-UV3D stuffs more RFI into the mic circuit, because that box is now in the only position that doesn’t result in weird voice audio dropouts. Given the precarious nature of the thing, though, I must look again after getting it in a box on the radio.

    Earth to amateur radio manufacturers: seen from out here, it’d be perfectly OK to standardize some of this stuff!

  • Toyota Sienna Bank 1 Oxygen Sensor: Replacement Thereof

    So there we were, on our way to the Dutchess County Fair when I noticed the Check Engine light glowing beyond my right hand on the dashboard. We decided to not stop at the fair, drove through Rhinebeck, and returned home without turning the engine off.

    The last time that light came on, my Shop Assistant and I were on our way to Cabin Fever in York PA one Friday afternoon in mid-January. The Mass Air Flow Sensor had just failed, rendering the car un-driveable: the engine ran so poorly we barely got off I-81 to drift into a parking lot. Although the local Toyota dealer was just across the road, I replaced that sensor on Monday morning in the Autozone parking lot, half a mile down the road, at 19 °F in a stiff wind with inadequate tools; said Toyota dealer being useless like tits on a bull during the entire weekend.

    After the obligatory research, I put the van up on jack stands, crawled underneath, and discovered that the Bank 1 Oxygen Sensor lies behind & below the transverse-and-rotated engine, directly above and front of the chassis cross-support strut, where it cannot be seen or touched from any position. That’s why there are no pictures: there was no room for a camera and nothing to see.

    I had to buy a 3/8 inch breaker bar, as the sensor position lacked clearance for a socket wrench, a U-joint, a T-handle, or a step-down adapter from my 1/2 breaker bar behind the special 22 mm Oxygen Sensor Socket. I eventually got the sensor loose and unscrewed it one painful eighth of a turn at a time, with the exhaust pipe preventing a full 1/4 turn, removing and reseating the breaker bar with my fingertips for every single one of those increments.

    I deleted all over Toyota’s censored for quite some time thereafter…

    It’s been a couple of weeks, the Check Engine light remains off, and I hereby declare victory.

  • Too Many Deer: Consequences

    Fawn eating kiwi leaves
    Fawn eating kiwi leaves

    The three pregnant does we’ve seen this season produced two pairs of twins and one set of triplets. That’s just for the does crossing our yard; we’ve seen many others around the area. The fawns are, of course, insufferably cute, but the deer have eaten everything growing on the forest floor, eaten all the tree leaves within reach, and are now working on vegetation that deer don’t normally eat.

    Such as, for example, Mary’s long-suffering kiwi plants by the garden and various distasteful flowers in front of the house.

    One doe maimed her starboard foreleg in an automobile collision; she was hobbling around for about a week before vanishing. Fawns, who don’t come out of the oven knowing that automobiles make fearsome predators, tend to die young; three of the seven have died on the road within walking distance of the house in the last two months.

    Dead fawn at Deer Crossing sign
    Dead fawn at Deer Crossing sign

    We recently heard a sharp bang! bang!  out front, shortly followed by a police car accelerating along the road. It turns out the officer dispatched this fawn with two shots below the left ear; I think they carry a special .22 caliber gun for this very purpose. No, the fawn wasn’t standing around waiting to be shot; it had just starred in Yet Another car-on-deer collision.

    This, according to the local deer huggers, is a much more desirable outcome than harvesting surplus deer and eating them. I haven’t noticed any deer huggers volunteering to pay for damages; that seems to be an externality to them.

    A billboard up the road demonstrates their total lack of comprehension: a pastoral scene showing a buck (with a full rack) nuzzling a fawn. Pop quiz: who wrote that book? Bonus: how much interest do actual bucks display in their offspring at any time?

    A previous rant on this subject is there.