Verifying a 32 GB USB Flash Memory Drive

This resembles the 32 GB Micro SD card checkout, with the exception that, for some unknown reason, the available space doesn’t match up with the actual space occupied by the file. It also turns out that rsync deletes the incomplete file, rather than leaving a stub, which makes perfect sense, but was still a bit disappointing after two hours.

I had two identical Sandisk Cruzer Fit Flash Drives, one of which appears here:

32 GB Sandisk USB Flash Drive
32 GB Sandisk USB Flash Drive

Those squares are an inch on a side, so it’s a bit larger than the Micro SD card. Adding a lanyard loop on the plastic cap or a string between cap and drive seems like a great idea, because that little thing is certain to get lost.

The snippets here represent a compendium of Things Done that happened over the course of two days; I didn’t save all the logs. The process started with the same 32 GB file of entropy I used for the Micro SD card:

df -B1 /mnt/part2
Filesystem       1B-blocks      Used   Available Use% Mounted on
/dev/sdc1      31512350720 180424704 31331926016   1% /mnt/part2
time rsync --progress /mnt/part/Testdata/Testdata.bin /mnt/part2
 31298191360  99%   14.18kB/s    0:39:38
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
rsync: write failed on "/mnt/part2/Testdata.bin": No space left on device (28)
rsync error: error in file IO (code 11) at receiver.c(322) [receiver=3.0.9]
rsync: connection unexpectedly closed (28 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(605) [sender=3.0.9]

real	126m20.505s
user	3m6.393s
sys	2m17.492s
time dd bs=8K count=20000000 if=/mnt/part/Testdata/Testdata.bin of=/mnt/part2/Test1.bin
dd: writing ‘/mnt/part2/Test1.bin’: No space left on device
3820963+0 records in
3820962+0 records out
31301320704 bytes (31 GB) copied, 7455.97 s, 4.2 MB/s

real	124m15.970s
user	0m1.607s
sys	1m17.546s
truncate -s 31301320704 /mnt/part/Testdata/Testdata.bin
ll /mnt/part/Testdata/Testdata.bin
-rw-r--r-- 1 ed ed 31301320704 Dec 24 18:13 /mnt/part/Testdata/Testdata.bin
time diff /mnt/part/Testdata/Testdata.bin /mnt/part3/Test1.bin 

real	26m37.081s
user	0m4.400s
sys	0m52.723s

Notice that the write speed runs around 4 MB/s, which is a lot slower than you might expect from a USB 2.0 device; as with a hard drive, the interface doesn’t limit the throughput! The read speed, on the other paw, trots along at about 20 MB/s.

One of these will go to Mary’s folks as an online daily backup device; their PC will soon run a version of the rsnapshot scripts that back up our basement file server. It’s not off-site backup and it’s not proof against catastrophic hardware failure, but it should be good enough.

Planetary Gear Bearing

Most of the things I design don’t have moving parts, so I printed emmitt’s Gear Bearing as a fondletoy:

Planetary Gear Bearing
Planetary Gear Bearing

Setting the clearance to 0.5 produced a free fit with absolutely no cleanup or run-in required; the center hole is a sliding fit for a 6 mm hex wrench.

I should do another one with knurling around the outside…

The picture has strongly desaturated reds, which reveals the top surface a bit more clearly.

Xubuntu: Unpacking winmail.dat Files

Mary’s compadres sometimes send her pictures of garden vegetables and quilting projects. Those pictures usually pass through Microsoft Outlook (or its ilk) and emerge in winmail.dat files that aren’t particularly useful in a Linux context. That page gives a good overview of the problem and how to resolve it; I’m just documenting the process here, so I can find it again.

Start by installing both tnef and convmv. I think the latter isn’t needed in our situation, because most folks use flat ASCII file names that come through just fine.

Save the attachment in, say /tmp and unleash tnef on it:

cd /tmp
tnef --file=winmail.dat

That unpacks all the attachments into /tmp, where one may have one’s way with them.

It’s not worth my effort to bolt that into the email programs and then maintain that mess across updates, so we’ll do it by hand as needed.

Microsoft certainly had a good reason for inventing Yet Another Encapsulation Format, although I wonder why good old ZIP wouldn’t have worked nearly as well…

Emergency Eye Wash Station: Watch Out!

Spotted this in a greenhouse:

Cluttered emergency eye wash station
Cluttered emergency eye wash station

Just like fire extinguishers and bike helmets, you never know when you’ll need to use this thing in a hurry… then it’s too late to clean out all the crap that accumulates on any flat (or concave) spot.

Not that I’m completely innocent, of course.

The DSC-H5 had been outdoors for a few hours, hiking with us at 25 °F, so the lens fogged instantly when we walked through the greenhouse door.

Optiplex 980 PCI Card Clamp Cover Repair

The new-to-me Optiplex 980 has a tool-free clamp securing the PCI card brackets to the chassis, with a nice plastic dress cover that really finishes off that side of the case. Alas, it’s secured by five small heat-staked plastic pegs that I managed to shear off as part of a finger fumble that you’ll recognize when it happens to you and which I need not further discuss:

Optiplex 980 PCI Clamp Cover - disassembled
Optiplex 980 PCI Clamp Cover – disassembled

So I drilled two slightly undersized holes for the tiniest screws in the Little Box o’ Tiny Screws:

Optiplex 980 PCI Clamp Cover - drilling
Optiplex 980 PCI Clamp Cover – drilling

The two end plates sticking up are the only square parts of the cover, so that thing is actually clamped by the right-side plate and sheer will power. I ran the drill down 3 mm from the top of the post at the slowest manual jog speed from the Joggy Thing and I did not break through the top and did not hit that lathe bit under the cover.

The screw threads and a dab of epoxy hold them in place:

Optiplex 980 PCI Clamp Cover - tiny screws
Optiplex 980 PCI Clamp Cover – tiny screws

I’d like to say the finished repair looked like this:

Optiplex 980 PCI Clamp Cover - in place
Optiplex 980 PCI Clamp Cover – in place

But, alas, the eagle-eyed reader will note that the screws are gone, replaced by two dabs of clear acrylic caulk; those faint threads and epoxy were no match for the snap of that latching lever and the slight distortion caused by the spring fingers applying force to the brackets.

Ah, well, it’s close enough…

Gauge Block Set Oiling

Ray’s Rule of Precision:

Measure with a micrometer. Mark with chalk. Cut with an axe.

While pondering the problem of having the Sherline’s Z-axis anti-backlash nut unscrew at the top of its travel, I excavated the gauge block set and measured the gap between it and the bearing preload nut:

Sherline Z-axis leadscrew nut - gauge block
Sherline Z-axis leadscrew nut – gauge block

Turns out that it’s 0.1340 inches, determined by bracketing the sliver above that 0.1300 block with feeler gauges. I don’t believe that last zero, either, as the Basement Shop was about 10 °F below the block’s 68 °F calibration temperature.  [grin]

The actual size of that gap makes absolutely no difference whatsoever, but fooling around with the gauge blocks gave me an excuse to renew my acquaintance with them and, en passant, massage some oil over their long-neglected bodies:

Gauge block set
Gauge block set

I used La Perle Clock Oil, which isn’t Official Gauge Block Oil, but doesn’t go bad on the shelf. Verily, this bottle may be the last of its kind, as it’s no longer available from any of the usual sources; it appears I bought it back in 2000.

The blocks are in good shape, probably because they don’t often see the light. FWIW, I have experimentally determined that my body oil doesn’t etch fingerprints into steel.

The block set, which is similar to a current box o’ blocks from Enco, claims “Workshop Grade”, but the ±0.00050 inch = 1.27 μm tolerance shown in the top row of the labels is much worse than even grade B’s sub-micron tolerance. That newer box claims “Economy” accuracy with the same spec, so I suppose somebody kvetched about mis-using the terms.

Ah, well, they’re far better than any measurements I’ve needed in a while and entirely suitable for verifying my other instruments.