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

  • HP ScanJet 3970 Lid Hinge Re-Repair

    As expected, that repair didn’t last very long at all; one hinge fractured along the same line as before. This time, however, we had a visit already in-plan, so I brought along my solvents and clamps.

    Perhaps you wondered how I could have been so remiss as to not brace those thin white flanges. One picture of the unbroken hinge in the “lid down” position is worth a thousand words:

    HP 3970 Scanjet - intact hinge
    HP 3970 Scanjet – intact hinge

    Need more? Here’s another thousand words from the other side:

    HP 3970 Scanjet - intact hinge pivot
    HP 3970 Scanjet – intact hinge pivot

    As the lid opens, the gray tab pivots toward the edge of the lid until it’s nearly parallel, at which point all of the force tries to yank those two flanges apart and then crack the tiny solid part at the pivot pin.

    Eventually, it succeeds. This is a view of the scanner base with the gray tab inserted in its slot, with the broken hinge in the “lid up” position:

    HP 3970 Scanjet - broken hinge pivot
    HP 3970 Scanjet – broken hinge pivot

    Clever design, no?

    I was unable to extract the broken fragment from the gray tab (actually, unwilling to apply more force, as I cracked part of the gray ring around the hinge pin), so this became an in situ repair. Once again, I applied solvent glue and squished the pieces together:

    HP 3970 Scanjet - glued hinge
    HP 3970 Scanjet – glued hinge

    And clamped it while we ate lunch:

    HP 3970 Scanjet - hinge clamping
    HP 3970 Scanjet – hinge clamping

    The brass rod applies the clamping force to the fractured part of the hinge through the pivot point. This isn’t the most stable clamp arrangement you’ve ever seen, but it worked well enough.

    I pushed the scanner back half a foot, so the lid now clunks against the wall just before the hinges reach their limit. Maybe they’ll survive until the next visit…

  • One Problem With Electronic Medical Records

    This seems innocent enough:

    Medical eRecord Security
    Medical eRecord Security

    Of course, that laptop:

    • Runs Windows
    • Has unused USB and Firewire ports
    • Has active WiFi networking
    • Doesn’t have a screensaver timeout
    • Was left alone with a patient
    • Is not locked

    I mentioned to my doctor that, if I were of malign intent, I would now have complete control of every PC on their network. That didn’t make much of an impression, as the same thing happened on my next visit.

    Of course, moving to electronic records makes a lot of sense, but if you think they’ll be any more secure than any other online personal information, you’re wrong.

  • Makergear M2: Out of Box Experience

    It didn’t take long to realize that Makergear doesn’t actually have any assembly instructions that convert an array of parts bags into a working M2 printer. The box contained a set of subassembly drawings, their internal BOM checklist, and an orange sheet with cautionary notes. So I figured I’d build enough subassemblies to reduce the clutter, then put them together into the chassis while working on Phil’s card table.

    Unfortunately, the BOM on each drawing may not match the drawing, the drawings don’t quite match what’s currently shipped, neither of those match the instructions on the website, the assembly videos / animations aren’t particularly useful (at least to me; I don’t need animated trajectories for nuts and bolts after the first one), not all hardware has a corresponding drawing, and nowhere will you find enough information to actually put the thing together on the first try. Makergear is obviously running as fast as they can, making improvements as they go, and, while the task isn’t impossible, if you’re not pretty good at mechanical assembly, building an M2 from scratch won’t be a pleasant experience.

    A thread on the Makergear Google Group suggests there’s an unofficial “Heathkit style” manual in the offing, which will be a major improvement over the status quo. The catch will be updating the instructions in pace with production improvements, while not losing previous owners along the way. The Google Group has pointers to some good build logs; I regret I can’t contribute anything of the same scale.

    Some assembly notes that don’t fit anywhere else…

    The chassis arrived with the Y axis slide, Z axis stage, and Z axis stepper motor preassembled and aligned in the chassis. Given that’s the part of the process requiring, by their own admission and video example, some finesse, I think they found it impossible for newbies lacking experience.

    CAUTION! If you must assemble the Z axis or modify it, you must remove all four screws from the stepper motor’s case to get it in or out of the chassis. Do not let the motor endcaps fall off or become misaligned, because that will demagnetize the rotor and drastically reduce the available torque. Perhaps wrapping some tape around the sides of the motor to secure the endcaps will prevent disaster. As I’ll describe later, the Z axis motor has barely enough torque for its job and any loss will render it useless.

    Use the shortest possible screws in the two huge rubber feet on the X+ side of the chassis, because the electronics case must fit flush to the chassis just above them. The recommended screws protrude too far through the chassis plate, which is perfectly fine on the X- side.

    Secure the electronics case to the chassis side using M3 screws, instead of the M4 screws that fit the threaded holes, with three M3 washers between the case and the chassis. Put Nylock nuts on the outside of the chassis. You’ll understand why when you get there.

    Tape the picture of the power supply plugs behind the electronics case where you won’t mislay it, because inadvertently swapping the power connectors will not go well.

    Believe it or not, that giant lump of wire on the end of the harness actually fits inside the electronics case. Take it slow and it’ll be all good.

    M2 Electronics Case on chassis
    M2 Electronics Case on chassis

    Cut a cardboard cover (I harvested a shoe box) to fit the build platform and clip it in place whenever you’re not actually building something. You will drop tools on that lovely glass platform…

    Makergear M2 3D Printer with cardboard protecting glass platform
    Makergear M2 3D Printer with cardboard protecting glass platform
  • Creeping Toward Metrication

    Spotted this in a Lowe’s sale circular:

    Granite Countertop - mixed units
    Granite Countertop – mixed units

    The thickness comes from the manufacturer and the area from the installer, so it all makes perfect sense…

    Besides, 3 cm sounds much fancier than 1-3/16 inch, doesn’t it?

  • Conficker vs. Library: The Rest of the Story

    Well, here’s how the story of picking up Conficker at the library played out:

    Yes, thank you so much! Everything you said was true. Apparently someone’s USB drive was infected and infected many computers here. We are very appreciative for your technological detective work. The head of IT was very incredulous because everything is deep frozen after it is shut down. But it was all true and I am very grateful

    The part about “many computers here” seems worrisome; they’re apparently not running any defensive software at all.

    ‘Nuff said…

  • Why Friends Don’t Let Friends Run Windows: Conficker

    Mary gave a gardening presentation at the local library, popping a 4 GB USB memory stick with the presentation into a library computer connected to the display projector. Back home, she deleted the presentations and was about to add more files, when she noticed something interesting:

    drwx------  4 ed   ed    4096 Dec 31  1969 ./
    drwxr-x---+ 3 root root  4096 Jan 31 19:21 ../
    -r--r--r--  1 ed   ed   59288 Mar 21  2009 autorun.inf
    drwx------  3 ed   ed    4096 Jan 30 19:31 RECYCLER/
    drwx------  4 ed   ed    4096 Jan 31 19:10 .Trash-1001/
    

    Ubuntu 12.10 automagically mounts FAT filesystems with the current user as owner and group. The .Trash-1001 directory is the Linux trash heap, but where did all that other stuff come from? The autorun.inf definitely looks Window-y, doesn’t it?

    Perforce, the library runs Windows, but that shouldn’t add files to a USB memory stick that just was plugged in and used for a read-only presentation, should it?

    Huh. You know where this is going…

    Let’s hand autorun.inf to VirusTotal for a second opinion. The first three results from their long list confirm my suspicion:

    Antivirus Result Update
    Agnitum INF.Conficker.F 20130131
    AhnLab-V3 Win32/Conficker.worm 20130131
    AntiVir Worm/Kido.IH.40 20130131

    The executable file containing the actual payload is, of course, buried in a subdirectory that might look more innocent on a Windows box:
    /RECYCLER/S-5-3-42-2819952290-8240758988-879315005-3665/

    It sports a randomized name to evade a really stupid malware detector:
    jwgkvsq.vmx

    Here’s what VirusTotal reports from some heavy hitters in the AV field:

    Kaspersky Net-Worm.Win32.Kido.ih 20130131
    Kingsoft Worm.Kido.ih.(kcloud) 20130131
    Malwarebytes Worm.Conficker 20130131
    McAfee W32/Conficker.worm 20130201
    McAfee-GW-Edition W32/Conficker.worm 20130131
    Microsoft Worm:Win32/Conficker.B 20130131

    The Wikipedia article gives the details. I suppose that PC got it from somebody else’s USB stick, but the library really should be running some defensive software; Conficker dates back to 2008, so it’s not new news these days.

    That kind of Windows Genuine Advantage makes up for all the hassles of running Linux, right there. Mary reported the problem to the library; we’ll never know the rest of the story.

    [Update: We got an update!]

  • Xubuntu 12.10 vs. Dual Monitors: Regression

    It used to be that using two monitors with two separate X sessions in Linux actually worked. Then they improved things so it stopped working out of the box, but you could force it to work with a bit of effort. Further improvements made the workarounds more difficult. Now, with Xubuntu 12.10, it seems impossible.

    This. Is. Not. Progress.

    Experimenting will require considerable restarting of the X server, which nowadays requires, by default, rebooting the box. In the Bad Old Days, you could hit Ctrl-Alt-Backspace to restart the X server (and, en passant, blow away all unsaved data in your session). My suggestions about re-enabling it no longer work and, worse, the suggestions there about:

    • Pressing Right-Alt + Sysreq + K
    • Enabling DontZap

    do not work, either. I’m no longer surprised by any of this.

    Fortunately, as suggested at the same spot, this works:

    • Create if missing: ~/.xprofile
    • Add: setxkbmap -option terminate:ctrl_alt_bksp
    • Make it executable: chmod u+x .xprofile

    But it’s per-user, so it works only while you’re logged in, which means you can’t restart X from the login screen. This is marginally OK.

    So. We begin.

    This box (an off-lease Dell Optiplex 780, Core 2 Duo E8400 3.0 GHz) now has a Jaton GeForce GT430 nVidia video card with two DVI outputs.

    In order to get decent performance, you must use the nVidia proprietary driver. Installing the nvidia-current package pulls in, as of this writing, 304. The nVidia driver now ignores the rotate option and the randrrotation option in xorg.conf. Adding the {Rotation=Left} meta-option to the portrait monitor or enabling Xinerama kills xrandr.

    Not having xrandr used to not be fatal, but now OpenSCAD (among others) requires xrandr to be both present and active. Any solution that doesn’t allow xrandr isn’t feasible.

    Despite notes suggesting that nVidia’s TwinView kills xrandr, it doesn’t (perversely, Xinerama should allow it and doesn’t; perhaps I misunderstand what’s going on). Add another line to .xprofile:
    xrandr --output DVI-I-3 --rotate left
    You discover which output to use by parsing the output of xrandr without any parameters:

    $ xrandr
    Screen 0: minimum 8 x 8, current 2650 x 1680, maximum 16384 x 16384
    DVI-I-0 disconnected (normal left inverted right x axis y axis)
    DVI-I-1 disconnected (normal left inverted right x axis y axis)
    DVI-I-2 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 367mm x 275mm
       1600x1200      60.0*+
       1280x1024      75.0     60.0
       1152x864       75.0
       1024x768       75.0     60.0
       800x600        75.0     60.3
       640x480        75.0     59.9
    DVI-I-3 connected 1050x1680+1600+0 left (normal left inverted right x axis y axis) 434mm x 270mm
       1680x1050      59.9*+
       1280x1024      75.0     60.0
       1152x864       75.0
       1024x768       75.0     60.0
       800x600        75.0     60.3
       640x480        75.0     59.9
    HDMI-0 disconnected (normal left inverted right x axis y axis)
    

    Why DVI-I-0 and DVI-I-1 are disconnected is not explained. There is an HDMI jack that I’m not using, so that one does make sense. The output shows the portrait monitor on DVI-I-3 as rotated.

    This is a single X session, so the two monitors show sections of a larger workspace. The cursor moves freely across the junction, it doesn’t vanish below the landscape montitor, and windows maximize properly to fill the single monitor they start in.

    This is not what I want, because I cannot independently flip the workspaces on the two monitors. It’s possible to force one of the windows on the portrait monitor to “always on top”, but that means I have only one program accessible on that monitor, which isn’t usually the case.

    This. Is. Not. Progress.

    But it seems to be as good as it gets these days…