File Server Down

Well that’s annoying. When I finally got to my computer last night (after cooking dinner, cleaning up, and running around looking for an HTC EVO phone), I found the fileserver was powered down.

Then I tried to power it up, and got no response at all.

So I guess my first errand this morning involves taking this extremely large and heavy carcass (it’s a 5U rackmount system; much longer than a normal tower) down off the shelf over my desk and over to General Nanosystems (where it came from).  My first guess would be power supply, though of course other things can produce the same symptoms.

(This thing contains all my regular working files as well as my archives. The files are on mirrored disks, and I have external hard drive backups that are pretty current, and external optical disk backups of the photos that are now a couple of years old. So even if the server were hit by a meteor I wouldn’t lose that much.)

Sliderules

I’ve regained possession of the sliderules I used in highschool, plus some others (all were my father’s).  And was testing out a new “light cube” for providing even illumination for photographing smaller objects.

So here is the Aristo Multilog; click through for another good linear, a good circular, and a very bad linear (free giveaway).

Aristo Multilog

Digital Photo Archiving

This came up in comments on TOP, and I realized I’d written enough that I wanted to make an article of it and keep it here where I could refer to it easily.

Craig Norris referred to this article about digital bit-rot that he had suffered, and that got me thinking about whether I’m covered against that sort of problem. He says he’s getting a stream of email from people who have had similar problems. I’ve never seen anything like that in my own collection—but I’m doing quite a few things to cover myself against such situations.

Here are things I’m doing to insure the integrity of my digital photo archive:

  • ECC RAM especially in my file server. This memory (and associated software in the OS) can detect up to two bit errors in a word, and correct up to one bit error in a word.
  • No overclocking. I’m not taking risks with data integrity on this system.
  • Storing the images on a ZFS filesystem.  ZFS keeps data block checksums independent of the hardware error protection, so it can detect more errors than just relying on the hardware.  (Also the data is mirrored on two disks).  (The ZFS checksums are larger than the hardware checksums, and so will detect more error cases.  No checksum system will detect all possible changes to a block  of data, though.)
  • Run weekly “scrubs”, where it reads all the blocks on the disks and verifies their checksums.  This means errors will be detected within a week, rather than waiting until the next time I look at an image.  This makes it more likely that I’ll have a valid backup somewhere.  (I have not yet detected any error on a scrub.) The early detection, and detection not depending on a human eye, are very valuable I think.

(I believe the BTRFS and NILFS filesystems for Linux also do block checksums.  ZFS is available in Linux and BSD ports, but none of these  are mainstream or considered production-ready in the Linux world (the original Solaris ZFS that I’m running is production-grade).  You could simulate block checksums with a fairly simple script and the md5sum utility, making a list of the MD5 checksums of all files in a directory and then checking it each week.)

  • For many of the older directories, I’ve run PAR2 to create redundant bits and checksums of the files in the directory (I choose about 15% overhead).  This gives me yet another way to detect and possibly fix errors.  I should really go through and do more of this.
  • Multiple backups on optical and magnetic media, including off-site copies.
  • Using high-quality optical media for backups (Kodak Gold Ultima, MAM Gold archival).
  • I have a program for analyzing the state of optical disks, which can tell how much error correction is going on to make it readable.  This should give me early warning before a disk becomes unreadable.  I need to run this again on some of my older samples.

You’ll notice I can’t achieve these things with white-box hardware and mainstream commercial software.  And that ongoing work is needed.  And that I’m behind on a couple of aspects.

I won’t say my digital photos are perfectly protected; I know they’re not. But I do think that I’m less likely to lose a year of my digital photos than I am of my film photos. A flood or fire in my house would be quite likely to do all the film in, while my digital photos would be fine (due to off-site backups).  (So would the scans I’ve made of film photos.)

Furthermore, I realized recently that I’ve been storing my film in plastic tubs, nearly air-tight, without any silica gel in there. I’m working to fix this, but that kind of oversight can be serious in a more humid climate. (If I lived in a more humid climate, I might have had enough bad experiences in the past that I wouldn’t make that kind of mistake!)

Anyway—the real lesson here is “archiving is hard”. Archiving with a multi-century lifespan in mind is especially hard.

Film, especially B&W film, tolerates benign neglect much more gracefully than digital data—it degrades slowly, and can often be restored to near-perfect condition (with considerable effort) after decades in an attic or garage, say.

Most people storing film are not doing it terribly “archivally”, though. Almost nobody is using temperature-controlled cold storage.  Most people store negatives in the materials they came back from the lab in, which includes plastics of uncertain quality and paper that’s almost certainly acidic.

Digital archives are rather ‘brittle’—they tend to seem perfect for a while, and then suddenly shatter when the error correction mechanism reaches its limits. But through copying and physical separation of copies, they can survive disasters that would totally destroy a film archive.

A digital archive requires constant attention; but it can store stuff perfectly for as long as it gets that attention. My digital archive gets that attention from me, and is unlikely to outlast me by as much as 50 years (though quite possibly individual pictures will live on online for a long time, like the Heinlein photo).

Bash Booleans

I keep getting these slightly wrong, and finally got annoyed enough to write a program which produces a cheatsheat.

In [] conditional expressions, presence counts rather than value.
if [ 0 ]: true
if [ 1 ]: true
if [ ]: false
if [ "" ]: false
if [ 'abc' ]: true

In [[]] conditional expressions, the same
if [[ 0 ]]: true
if [[ 1 ]]: true
if [[ ]]: illegal
if [[ "" ]]: false
if [[ 'abc' ]]: true

In (()) arithmetic expressions, numeric value counts
if (( )): false
if (( 0 )): false
if (( 1 )): true
if (( 3 == 3 )): true
if (( 1 && 1 )): true
if (( 1 && 0 )): false
if (( 1 || 1 )): true
if (( 0 || 1 )): true
if (( 0 || 0 )): false
if (( aaa )): false
if (( '' )): false

In straight if statements, program return values are used, NOT other things
But remember that 0 is true and 1 is false.
if true : true
if false: false
if 0: illegal (no program 0)
if 1: illegal (no program 1)
if true && true: true
if true && false: false
if false || true: true
if false || false: false

Mouse Feet

Bottom of tired mouse

My old Logitech MX610 left-handed work mouse (well, it’s mine, but I use it at work) had gone lame in one foot, and the others were wearing down and showing clear signs of moving around on their adhesive.  For that matter the top is getting somewhat worn too, but I don’t so much care about that.  The foot problems were making it drag more and pick up dist from the desk and generally be a pain.

Lame mouse with replacement feet

I thought about ways to improvise (and am glad I didn’t; it sounds like the thickness is more important than I thought, apparently the laser really works only over a fairly narrow range of distances).  But some Googling brought up various companies selling replacement mouse feet, generic or cut to fit specific mice.  I found that Slick Surf had them for my model, and ordered a set, which arrived yesterday.

New feet

So today I brought home the lame mouse, amputated the rest of the feet, and replaced them with high-tech plastics!  I won’t really know how it works until I get it back to work (I left the receiver there, so I can’t test it at home), but it does seem to slide around very nicely now.  Slick Surf’s website suggests that these will last longer than the original, and glide more easily, both due to being harder plastic. We shall see. The old feet were clearly somewhat worn down, and the center parts exposed were softer and less smooth.

Getting a bit beat up
Old and tired