CheckSummer

May 2, 2020AppsBackupUtility

I'm planning to write about my file backup strategy in details, because I always enjoy reading about how other people manage their backups, and I'm surely not alone with this passion. But before I would do so, I released one of the utilities I developed and use in my backup workflow.

CheckSummer is a command line utility capable of creating a checksum file with the list of MD5 hashes for a chosen directory, optionally recursively for the whole structure, or it can validate the files listed in an existing checksum file, by comparing their current state to the previously created MD5 hash. By this I can spot if a file is missing or whether its contents changed. Since this is used in the context of creating backups, its main purpose to detect bit rot that might happen after a while. This is a possibility on hard disks, flash media or perhaps on incorrectly read optical discs – some bits flip and the file still has the original length, but its content is no longer valid. Images and video get artifacts, compressed files break, text files get modified. By checking the checksum of files, this can be detected and a previous, correct version of the file can be restored from backup.

The utility can be set up in its .config file to run in Automated mode (use the config value true) so it won't need any input parameters and it either creates a new checksum file with recursive file processing, or validates them using the checksum file, depending on whether the checksum.txt file exists in the target directory. And if there is no target directory specified, it processes the current directory, so in most cases I just have to type checksummer and the desired action happens.

Download it from the Apps page!

Platform: Windows (.Net Framework 4.8), mac OS / Linux (Mono)

Kindle eBook Preservation Without DRM

February 4, 2020BackupeBook

In the past few years I've become an avid reader again, after a long time of neglect. I standardized on eBooks from the Amazon Kindle store and used the Kindle app on various devices, until recently I got myself an eInk Kindle Oasis, the 2019 version. The previous Kindle devices just wouldn't cut it for me compared to an iPad Mini (I'd still vouch for that as the second best option), but this newest one has a pleasant form factor, page turn buttons, warm LED front light (a must have for me), it's comfortable to hold and has nice cover options with magnetic wake and sleep functionality. The battery life is very good, if you use it in airplane mode most of the time like I do. It isn't cheap but it's worth it for me, with removed ads which costs extra, but makes it all better. No more swiping up to read the current book; it's a cheap fix for a major annoyance.

As someone who's been in the IT world since the '90s, I'm a bit paranoid about backups, data preservation, file formats and storage in general. No need to store anything, it's all available on the internet! Just keep it in the cloud! All I can offer to those claims is a bittersweet smile. In this case with eBook stores, it's not unheard of that a publisher decides to take the ball home and previously purchased books become unavailable for further download. Or maybe they replace the old version with an inferior one. Or perhaps you choose to move your data into a completely different ecosystem.

Books in the Amazon Kindle store are DRM-protected, but luckily (currently) there are ways to get rid of the DRM and make it possible to move books from one device to another in the uncertain future, even when the books are no longer available for download.

Disclaimer

This tutorial requires having a Kindle eInk device and purchased books on your Amazon account. Technically it may be possible to use the Kindle for Mac/PC app instead of a device, but that may depend on older, specific versions of the app so I will leave it to others to figure it out. I also don't know how this would work with Kindle Fire tablets. The DeDRM FAQ may be able to answer these questions.

The currently used Kindle file format is called AZW3, but later on this may change to AZW4 or something, depending on Amazon's decisions. The then-latest versions of the software described below will likely be able to handle it using the same general method.

Prerequisites

Download your eBooks

Find the Manage Your Contents and Devices section on the Amazon website where the Content section will look something like this. Pick a book and in the Actions menu choose Download & transfer via USB. Then you'll have to choose your eBook device to download the file for. This is important, the DRM will be generated for the chosen device, based on its unique serial number.

The resulting file is in Amazon's DRM-protected AZW3 format, or in their legacy AZW format for MOBI files. eBook files can be obtained from the Kindle's file system too, but these days most of them are stored there as KFX, which is harder to work with using additional Calibre plugins, if you want to go down that route. I choose not to, partially because in the books Amazon sends to the device's library, the cover images are converted to grayscale. With this manual download method the cover images are preserved in their original color format.

Configure Calibre

Install Calibre, then go into Preferences and locate Advanced → Plugins. Click the Load plugin from file button and select the DeDRM Calibre plugin zip file. This will be added under File type plugins. Next, you need to configure it and enter the serial number of your Kindle eInk device, which will be used to decipher and remove the DRM protection from the book that is currently tied to the specific device.

After this, when you import a Kindle eBook file into Calibre, the DRM will be stripped by the DeDRM plugin automatically and you can open the book in the Viewer. If Calibre can't open the book and complains about DRM, the plugin either wasn't configured properly, or it can't handle the file you tried to import.

eBook management

The converted eBook files can be found in Calibre's library structure, categorized by author. AZW3 files remain in the same format, while the legacy AZW gets converted to MOBI by default, so it varies what file extension you need to look for. MOBI files can be converted to AZW3 for a consistent library. Beside format conversions, you can update the embedded cover art, meta data, and even the whole book can be edited if necessary.

I opt to store my eBook files myself, outside of the Calibre library structure, by keeping both the original and the DRM-free version of each. The unlocked books then can be transferred to the Kindle device via USB connection into the Documents/Downloads directory, or they can be emailed to the unique Kindle email address of the device, which will download it via WhisperSync. The Kindle device will find it, import it into its library and do the necessary indexing automatically. If down the road you decide to move the books to a different type of device, Calibre will likely be able to convert them to the required file format, or to a commonly used one like ePub.