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.

Category: Home Ec

Things around the home & hearth

  • Bird Box Entrance Reducers: Round 2

    One of the bird box entrance reducers I installed nigh onto a decade ago is still on duty, although downy woodpeckers definitely want a larger hole:

    Bird Box - gray PVC pipe reducer - woodpecker damage
    Bird Box – gray PVC pipe reducer – woodpecker damage

    Another reducer had gone missing over the years, so I made one from a length of PVC pipe:

    Bird Box - PVC pipe reducer - shaping
    Bird Box – PVC pipe reducer – shaping

    It started as 1-½ PVC pipe, 1-⅞ inch actual OD and should fit into a 1-½ hole, so I measured 1.5 × 3.15 around the circumference, bandsawed out the excess, draped it over a 1-½ Forstner bit, toasted it with a heat gun, and squashed it so it’s just a little bit bigger than the (enlarged!) hole in the box.

    Now the entrance is 1-¼ (-ish), just like it should be:

    Bird Box - PVC pipe reducer - installed
    Bird Box – PVC pipe reducer – installed

    The bird box in the front yard has been attracting starlings, in addition to serving as a hawk perch:

    New Coopers Hawks - bird box takeoff whoops
    New Coopers Hawks – bird box takeoff whoops

    The oblong hole required advanced manufacturing techniques:

    Oval Entrance Reducer
    Oval Entrance Reducer

    The front face should be too slick for larger birds and the little ones will zip right into the hole:

    Bird Box - 3D printed entrance reducer
    Bird Box – 3D printed entrance reducer

    The two starlings who’d been evaluating the box seem to have moved on; we doubt they’re now homeless.

    The OpenSCAD source code as a GitHub Gist:

    // Bird Box – oval entrance reducer
    // Ed Nisley KE4ZNU 2020-02-12
    //- Extrusion parameters must match reality!
    // Print with 3 shells and 3 solid layers
    ThreadThick = 0.25;
    ThreadWidth = 0.40;
    HoleWindage = 0.2;
    function IntegerMultiple(Size,Unit) = Unit * ceil(Size / Unit);
    Protrusion = 0.1; // make holes end cleanly
    inch = 25.4;
    //———————-
    // Dimensions
    EntranceID = 1.25 * inch;
    BoxHole = [1.5,2.25] * inch;
    BoxWall = 0.75 * inch;
    HoleOC = BoxHole.y – BoxHole.x;
    FlangeWidth = 5.0;
    FlangeThick = 5*ThreadThick;
    $fn = 12*4;
    //——————-
    // Build it
    difference() {
    union() {
    linear_extrude(height=BoxWall + FlangeThick)
    hull()
    for (j=[-1,1])
    translate([0,j*HoleOC/2])
    circle(d=BoxHole.x);
    linear_extrude(height=FlangeThick)
    hull()
    for (j=[-1,1])
    translate([0,j*HoleOC/2])
    circle(d=BoxHole.x + 2*FlangeWidth);
    }
    translate([0,0,-Protrusion])
    cylinder(d=EntranceID,h=2*BoxWall);
    }

  • Hiatus

    Between the ACM presentation, an upcoming Digital Machinist column, and homeowner stuff “not relevant here”, I’ll be posting intermittently for a week or so.

    Logo - Isolated 0D3
    Logo – Isolated 0D3

    Algorithmic Artifacts will be getting more attention!

  • High-Impact Driving

    We spotted this near our usual parking spot during a recent grocery trip:

    Adams crash - stone wall
    Adams crash – stone wall

    The bush was pretty well uprooted, suggesting the vehicle stopped atop the bush after demolishing the wall.

    Wondering how it got there, I looked across the parking lot:

    Adams crash - reverse view
    Adams crash – reverse view

    Yes, that’s a dead lamp post. The impact dislodged its concrete base by about four inches:

    Adams crash - lamp pole detail
    Adams crash – lamp pole detail

    The greenery came from another eviscerated bush:

    Adams crash - bush debris
    Adams crash – bush debris

    I expected to see tire gouges in the grass, but … nope.

    The bush got a haircut, although the right half seems undamaged:

    Adams crash - bush detail
    Adams crash – bush detail

    The boulder won its disagreement with the vehicle, although there’s surprisingly little shattered plastic and other debris along the trail:

    Adams crash - boulder detail
    Adams crash – boulder detail

    The impact dislodged the boulder, which came to rest about four feet from its origin:

    Adams crash - overview
    Adams crash – overview

    The damage lies along a straight line from the middle of the Adams entrance intersection to the wall impact:

    Adams crash - trajectory
    Adams crash – trajectory

    There are no obvious skid marks, undercarriage scrapes, or gouges in the grass anywhere along the trajectory, suggesting the vehicle remained mostly airborne and ballistic during the whole event, and even the three (!) curbs involved have no marks.

    The nice lady at the Adams Customer Service counter didn’t know what happened and, as usual, the Poughkeepsie Journal (newspaper) has nothing to say.

    I did not check for a high-clearance pickup truck with tall tires and severe front-end damage in the body shop across the street, although one seems a likely suspect. Whatever the vehicle may have been, it was definitely traveling at the usual (tautological) “high rate of speed” …

  • Monthly Science: Weight

    As one might expect, the holiday season offers many suboptimal dietary choices and interferes with regular exercise:

    Weight Chart - 2020-01 - Ed
    Weight Chart – 2020-01 – Ed

    I re-origined the skin-fold measurement series for the 2020 chart to move it further from the weight series. The 2 mm jump is close to the repeatability limit, particularly as I’m now eyeballing the measurement site based on a nearby freckle, rather than depending on a fading Sharpie dot.

  • Subaru Forester Rear Wiper Disassembly

    You’re supposed to just rotate the wiper blade holder and have it pop out of the mount on the end of the arm:

    Subaru Forester - rear wiper blade mount
    Subaru Forester – rear wiper blade mount

    The blade holder has two opposed pegs fitting into those curved notches to the right of the hook for the holder’s pivot, with the intent of preventing it from rotating too far and sliding out. I was unwilling to apply sufficient force to disengage those pegs, as the penalty for breaking the wrong piece of plastic seemed very high. Apparently, the pegs should ride up over the slightly lower edge of their notch, bending the holder’s sides outward as they do.

    So I jammed a little screwdriver beside one of the pegs, managed to encourage it out of its notch, repeated the treatment on the other side, and the blade holder popped right out.

    The front wiper arms have J-hooks on their ends and disengage easily, at least after you realize the flat panel on the blade holder is actually a latch you’re suppose to pull up-and-out to release the hook. This goes more easily when assisted with the aforementioned small screwdriver.

    The blades were in good shape after five years, mostly because the Forester spends most of its time in the garage. A trio of silicone wipers should last the rest of its life, with the OEM wipers tucked into the spare tire well Just In Case.

    Back in the day, one could replace just the blades, not the entire holder, but I suppose this is progress.

  • Schwab / Symantec VIP Access vs. Yubikey

    A Yubikey 5 NFC turns out to be perfectly compatible with any website using Symantec’s (no longer available) hardware key and VIP Access (definitely a misnomer) app to generate TOTP access codes, because the sites use bog-standard TOTP. The only difficulty comes from Symantec’s proprietary protocol creating the token linking an ID with a secret value to generate the TOTP codes, which is how they monetize an open standard.

    Fortunately, Cyrozap reverse-engineered the Symantec protocol, dlenski mechanized it with a Python script, and it works perfectly:

    python3 -m venv symkey-env
    source symkey-env/bin/activate
    pip3 install https://github.com/dlenski/python-vipaccess/archive/HEAD.zip
    vipaccess provision -t SYMC
    deactivate

    That spits out a file containing the ID and secret, from which you create a QR code for the Yubikey Authenticator app:

    qrencode -t UTF8 'otpauth://totp/VIP%20Access:SYMCidnumbers?secret=longsecretgibberish&issuer=Symantec&algorithm=SHA1&digits=6'

    Fire up the app, wave the Yubikey behind the phone, scan the QR code, wave the Yubikey again to store it, sign in to the Schwab site, turn on 2FA, enter the ID & current TOTP value from the Yubikey Authenticator, and It Just Works™.

    Of course, you can kiss Schwab’s tech support goodbye, because you’re on your own. If you ever lose the Yubikey, make sure you know the answers to your allegedly secret questions.

    Equally of course, you’re downloading and running random shit from the Intertubes, but …

    Now, if only all my financial institutions would get with the program.

  • Needle Case Repair

    A needle case emerged from the bottom of a drawer in need of repair:

    Needle Case - unglued
    Needle Case – unglued

    The original joint used solvent glue and I suppose I could refresh it with acetone, but two blobs of hot melt glue seemed easier and, IMO, more durable.

    In any event, it’s once more ready for use:

    Needle Case - repaired
    Needle Case – repaired

    Hooray for another zero-dollar repair, although you can see why nobody else does them these days.