I've found a hand strap to be a useful addition to my e-reader.

I bought the TFY Security Hand Strap for my Kindle Paperwhite 18 months ago. It makes holding the e-reader for long periods of time much more pleasant – especially when reading in bed and holding the device up above my head. No pinch grip required. It doesn’t add noticeable bulk or weight to the Kindle, and I can ignore it completely when I’m not using it. Originally I went looking for some kind of case with a cover that could be folded into a more ergonomic shape to hold, but when this strap appeared in my search results I realized it was a simpler solution to the problem. The strap could probably be made with a wire hanger and some elastic webbing.

Kindle Handstrap at Lunch

Sawyer Squeeze

I’m a satisfied user of the Sawyer Squeeze. My first Sawyer water filter was the Mini Squeeze, which had a terrible flow rate that made it a piece of garbage. If I were buying a new filter today I’d look at the Micro Squeeze, which is supposed to combine the performance of the standard Squeeze with the size and weight of the Mini. For the time being, I am content with my standard Squeeze.

I use a CNOC Vecto 2L for a dirty bag. It’s heavier than the Sawyer pouches or a 2L Evernew Bottle, but I appreciate both the durability and the ease with which it can be filled. It makes it easy to collect water from small trickles through a rock face, and I feel comfortable throwing it around if I’ve climbed up some place to collect water and need both hands to get back down.

I prefer to carry clean water rather than sucking straight on the filter. My preferred drinking vessel for this system is a recycled Smartwater 23.7 oz bottle. The one with the sport lid. It holds an acceptable amount of water, is decently durable for the weight, has threads which are compatible with the Sawyer, and fits easily into a Hill People Gear 3” Bottle Holster.

If I don’t want to squeeze the water through, this setup can easily be suspended to make a gravity filtration system. I carry a Sawyer Cleaning Coupling to attach the bottle to the output of the filter. The bottle will fill in a couple minutes in this setup. Occasionally, when the bottle gets about half full, the flow of water will diminish due to pressure buildup in the bottle. Unscrewing the bottle slightly is enough to burp the excess air out of the bottle and allow the water to continue to flow.

CNOC, Sawyer Squeeze, Smartwater

I always carry my vintage MSR 2L DromLite, primarily as storage for additional clean water. I’m unlikely to use it during the day, but having it allows me to camp away from a water source without any stress. With the DromLite, Smartwater bottle, and CNOC Vecto I can carry just under 3 liters of clean water and an additional 2 liters of dirty water. That’s plenty for drinking, washing, and cooking between water holes.

To integrate the DromLite into the Sawyer filter, I purchased a Sawyer Hydration In-Line Adapter and dug out an old MSR Hydration Kit that I had stopped using. I cut the MSR hose so that I was left with the piece that screws onto the DromLite lid and about 10” of hose. Then I jammed half of the Sawyer adapter into the open end of the hose. Now I have a small, lightweight accessory that I can pull out whenever I want to use the DromLite as part of a gravity system.

CNOC, Sawyer Squeeze, DromLite

The Squeeze does need to be backflushed every now and then. It comes with a syringe for this, but I never carry it.

The Smartwater bottle threads directly onto the input of the filter, allowing me to backflush with that, but doing so is pretty annoying. It’s hard to get enough pressure by squeezing the hard plastic bottle. However, I can also use the cleaning coupling and my hacked together MSR adapter to backflush via the DromLite, and that works great. I can push a full 2 liters at high pressure through the filter element. This takes minimal effort to accomplish (the hardest part is remembering to perform the backflush before you’re out of clean water), and keeps the filter running like new.

I still carry Aquamira chlorine dioxide on some trips. My decision is dependent on the type of trip and the expected water sources, but I find myself leaning towards the Sawyer Squeeze more often than not.

CNOC, Sawyer Squeeze, DromLite

The Squeeze runs about $35 to $41 depending on which package you go with. Given it’s versatility and the claimed unlimited life of the filter element, it’s pretty easy for me to justify that expense.

Virginia Tech rates bike helmets.

The CPSC standard is of limited practicality. It seeks only to test if a helmet can prevent a skull fracture from a direct impact on the top of the head. It was refreshing to find Virginia Tech’s helmet ratings, backed by a test methodology that actually seems to appropriately model reality. I was pleased to see that my Smith Overtake scored 4/5. The Overtake is four years old and still in fine shape, but whenever it comes time to replace it I’ll use these ratings to make a purchase decision.

Hospital corners are the key to liberating your mind from the tyranny of fitted sheets.

Flat sheets with folded corners are functional mattress covers, and make every flat sheet you own twice as useful as it was before. I believe elastic-bound, fitted sheets are just a conspiracy created by the bedding industry to get us to spend more money.

I published the repository for my mobile weather solution.

Find it at geoweather. I’ve added support for Windy, but otherwise it is the same as it was back in January.

I source my linen from recovering communist states in the remnants of the Soviet Union.

Linen is my preferred material for bedding and towels (except for travel towels, where I still prefer synthetic). When purchased through normal channels, it can be prohibitively expensive. I cut out the middlemen and acquire linen directly from Eastern European makers on Esty, where it is much more affordable. My duvet cover is from Belarus. My sheets and pillow cases also hail from Belarus. My preferred towels are from Lithuania.

Oster Classic 76

I started buzzing my hair in 2009 after six years of long hair.

Haircut

In the first few years I went through a couple different pair of clippers. They were all cheap, consumer-level models that eventually crapped out. I tried a model that had a shape which claimed to be more ergonomic for self-cutting, but it ended up offering no practical advantage.

At the start of 2015 I bit the bullet and purchased the Oster Classic 76. I had heard great things about this brand and model since I first started looking at clippers, but couldn’t justify the price until I had spent more than their worth on other clippers that failed. The Oster Classic 76 is built like a tank. Oster has been building electric clippers in the US since 1928, and it shows in their product. They also build their products to be serviceable. Unlike cheaper clippers, these can be stripped down to their individual parts and repaired.

As with any other pair of clippers plastic comb sets are available. But one of the things I appreciate about the Oster is that you can also purchase metal blades of the preferred length. I cut my hair to 3/8”, so when I bought the clippers I also purchased the 76918-146 replacement blade. I think this offers a better cut than a short blade with a plastic comb.

I’ve been using this setup for four and a half years and have no complaints. Given my limited and personal use, I expect it should last the rest of my life.

Optical Backups of Financial Archives

Every year I burn an optical archive of my financial documents, similar to how (and why) I create optical backups of photos. I schedule this financial archive for the spring, after the previous year’s taxes have been submitted and accepted. Taskwarrior solves the problem of remembering to complete the archive.

$ task add project:finance due:2019-04-30 recur:yearly wait:due-4weeks "burn optical financial archive with parity"

The archive includes two git-annex repositories.

The first is my ledger repository. Ledger is the double-entry accounting system I began using in 2012 to record the movement of every penny that crosses one of my bank accounts (small cash transactions, less than about $20, are usually-but-not-always except from being recorded). In addition to the plain-text ledger files, this repository also holds PDF or JPG images of receipts.

The second repository holds my tax information. Each tax year gets a ctmg container which contains any documents used to complete my tax returns, the returns themselves, and any notifications of those returns being accepted.

The yearly optical archive that I create holds the entirety of these two repositories – not just the information from the previous year – so really each disc only needs to have a shelf life of 12 months. Keeping the older discs around just provides redundancy for prior years.

Creating the Archive

The process of creating the archive is very similar to the process I outlined six years ago for the photo archives.

The two repositories, combined, are about 2GB (most of that is the directory of receipts from the ledger repository). I burn these to a 25GB BD-R disc, so file size is not a concern. I’ll tar them, but skip any compression, which would just add extra complexity for no gain.

$ mkdir ~/tmp/archive
$ cd ~/library
$ tar cvf ~/tmp/archive/ledger.tar ledger
$ tar cvf ~/tmp/archive/tax.tar tax

The ledger archive will get signed and encrypted with my PGP key. The contents of the tax repository are already encrypted, so I’ll skip encryption and just sign the archive. I like using detached signatures for this.

$ cd ~/tmp/archive
$ gpg -e -r peter@havenaut.net -o ledger.tar.gpg ledger.tar
$ gpg -bo ledger.tar.gpg.sig ledger.tar.gpg
$ gpg -bo tax.tar.sig tax.tar
$ rm ledger.tar

Previously, when creating optical photo archives, I used DVDisaster to create the disc image with parity. DVDisaster no longer exists. The code can still be found, and the program still works, but nobody is developing it and it doesn’t even an official web presence. This makes me uncomfortable for a tool that is part of my long-term archiving plans. As a result, I’ve moved back to using Parchive for parity. Parchive also does not have much in the way of active development around it, but it is still maintained, has been around for a long period of time, is still used by a wide community, and will probably continue to exist as long as people share files on less-than-perfectly-reliable mediums.

As previously mentioned, I’m not worried about the storage space for these files, so I tell par2create to create PAR2 files with 30% redundancy. I suppose I could go even higher, but 30% seems like a good number. By default this process will be allowed to use 16MB of memory, which is cute, but RAM is cheap and I usually have enough to spare so I’ll give it permission to use up to 8GB.

$ par2create -r30 -m8000 recovery.par2 *

Next I’ll use hashdeep to generate message digests for all the files in the archive.

$ hashdeep * > hashes

At this point all the file processing is completed. I’ll put a blank disc in my burner (a Pioneer BDR-XD05B) and burn the directory using growisofs.

$ growisofs -Z /dev/sr0 -V "Finances 2019" -r *

Verification

The final step is to verify the disc. I have a few options on this front. These are the same steps I’d take years down the road if I actually needed to recover data from the archive.

I can use the previous hashes to find any files that do not match, which is a quick way to identify bit rot.

$ hashdeep -x -k hashes *.{gpg,tar,sig,par2}

I can check the integrity of the PGP signatures.

$ gpg --verify tax.tar.gpg{.sig,}
$ gpg --verify tax.tar{.sig,}

I can use the PAR2 files to verify the original data files.

$ par2 verify recovery.par2