You are currently viewing all posts in the general category.

The rain has begun, and I'm treating myself to new tires with fresh tread.

I first began to use the Schwalbe Marathon Supremes six years ago. Since then I have tried a few other tires, but within a couple months I invariably end up coming back to the Marathon Supremes. They ride well, only get maybe one or two flats per year, and I appreciate the visibility of the reflective sidewall. I tend to replace them after somewhere around a year of use – I think the set I removed today were in service for 15 months. I don’t track miles, so I don’t know what sort of distance the tires get me, but it’s up there. They aren’t cheap, but they’re worth it for the contribution they make to my everyday mobility.

Maintenance Day

Archiving Bookmarks

I signed-up for Pinboard in 2014. It provides everything I need from a bookmarking service, which is mostly, you know, bookmarking. I pay for the archival account, meaning that Pinboard downloads a copy of everything I bookmark and provides me with full-text search. I find this useful and well worth the $25 yearly fee, but Pinboard’s archive is only part of the solution. I also need an offline copy of my bookmarks.

Pinboard provides an API that makes it easy to acquire a list of bookmarks. I have a small shell script which pulls down a JSON-formatted list of my bookmarks and adds the file to git-annex. This is controlled via a systemd service and timer, which wraps the script in backitup to ensure daily dumps. The systemd timer itself is controlled by nmtrust, so that it only runs when I am connected to a trusted network.

This provides data portability, ensuring that I could import my tagged URLs to another bookmarking service if I ever found something better than Pinboard (unlikely, competing with Pinboard is futile). But I also want a locally archived copy of the pages themselves, which Pinboard does not offer through the API. I carry very much about being able to work offline. The usefulness of a computer is directly propertional to the amount of data that is accessible without a network connection.

To address this I use bookmark-archiver, a Python script which reads URLs from a variety of input files, including Pinboard’s JSON dumps. It archives each URL via wget, generates a screenshot and PDF via headless Chromium, and submits the URL to the Internet Archive (with WARC hopefully on the way). It will then generate an HTML index page, allowing the archives to be easily browsed. When I want to browse the archive, I simply change into the directory and use python -m http.server to serve the bookmarks at localhost:8000. Once downloaded locally, the archives are of course backed up, via the usual suspects like borg and cryptshot.

The archiver is configured via environment variables. I configure my preferences and point the program at the Pinboard JSON dump in my annex via a shell script (creatively also named bookmark-archiver). This wrapper script is called by the previous script which dumps the JSON from Pinboard.

The result of all of this is that every day I get a fresh dump of all my bookmarks, each URL is archived locally in multiple formats, and the archive enters into my normal backup queue. Link rot may defeat the Supreme Court, but between this and my automated repository tracking I have a pretty good system for backing up useful pieces of other people’s data.

I try to structure my life to optimize sleep.

Piotr Wozniak, the author of spaced repetition software SuperMemo, has a lengthy treatise on sleep, based on his long running research regarding memory and learning. His disk and RAM metaphor is a useful way to think about the relationship between knowledge and sleep.

A metaphor can help understand the role of sleep and why alarm clocks are bad. We can compare the brain and its NREM-REM sleep cycles to an ordinary PC. During the day, while learning and experiencing new things, you store your new data in RAM memory. During the night, while first in NREM, you write the data down to the hard disk. During REM, which follows NREM in the night, you do the disk defragmentation, i.e. you organize data, sort them, build new connections, etc. Overnight, you repeat the write-and-defragment cycle until all RAM data is neatly written to the disk (for long-term use), and your RAM is clear and ready for a new day of learning. Upon waking up, you reboot the computer. If you reboot early with the use of an alarm clock, you often leave your disk fragmented. Your data access is slow, and your thinking is confused. Even worse, some of the data may not even get written to the disk. It is as if you have never stored it in RAM in the first place. In conclusion, if you use an alarm clock, you endanger your data.

The Atlantic uses the opening scene of Blade Runner 2049 as inspiration for an exploration of the near-future rural countryside.

The author weaves together scenes of death and catastrophe with iconic imagery of humanity’s attempts to keep the dystopia at bay: fields of heliostat mirrors, a green wall across the breadth of the Sahara, cloud-seeding chambers high in the Himalaya, and Almería’s tapestry of plastic greenhouses.

With climate change, humans are beginning to appreciate that cities are not separate from the environment. They are environments. We should also recognize that the rural is, at least in part, man-made. Cities approaching the changes already in motion with a sense of the Earth as a biological network, rather than adopting psychological siege positions, will be essential for survival. Technology and engineering will need to be deployed in what is currently regarded as wilderness. In turn, what seems rural will have to be deployed in cities: rooftop and vertical gardens, wetland buffer zones, greenery as a sponge for rising waters, and towers that channel polluted air into greenhouses…

via Sentiers

Vanity Covers

One of the things I vainly enjoy about e-books is that I can choose my favorite covers and apply them to whichever edition of the book I happen to have. The cover of a book sets its mood, and browsing through these covers in the Calibre grid offers remembered fragments of the worlds within.

For Joseph Conrad’s Heart of Darkness I use the Vintage Classics cover, slightly modified.

For Trevanian’s Shibumi I use the French Gallmeister cover.

For Douglas Adams’ Hitchhiker’s series I use illustrations by Wayne Dorrington (unfortunately missing the last two).

For Uncle Bill’s Sprawl trilogy I use covers that were previously used by Editora Aleph for the Brazilian editions.

For Gibson’s Bridge and Blue Ant trilogies I use the Penguin covers.

For Burning Chrome I use Daniel Brown’s fractal cover for Gollancz.

I don’t recall where I acquired the cover for my omnibus The Lord of the Rings.

Sometimes the editions I purchase come with enjoyable covers. I have a few of William Scott Wilson’s translations of historical Japanese works, and I find the covers used for his books by Shambala Publications aesthetically pleasing.

Book Scanning

As previously mentioned, I like e-books. Unfortunately many books are still only available as dead trees. Fortunately, the internet provides book scanning services.

These services will professionally scan a book and run the images through an OCR program. The output is usually a PDF. This is a poor format for something like a novel, where you want the text to be able to dynamically reformat itself and flow across pages, but it remains a good choice for technical and reference books, where the layout of the page tends to be fixed around things like tables and graphs.

A couple years ago I tried two book scanning services: Custom Book Scanning and 1DollarScan. Both offer destructive book scanning services, meaning they cut the spine off of the book to ensure a well orientated scan. The output from both services was similar, but since that first trial I’ve come back to Custom Book Scanning rather than 1DollarScan. I appreciate that they perform the scan at 1200 dpi, which is higher than necessary for text but can be useful for documents that include photographs. In addition to the customary PDF, they also include a Microsoft Word document, and will provide e-book formats such as EPUB and MOBI for additional cost.

In my experience the OCR performed on these scans is completely adequate for searchability, which is my main requirement for the scans to be useful. It is not good enough to output something in EPUB or MOBI. Don’t expect to run pdftotext on the document and extract anything that does not require heavy editing by a human, but you’ll certainly be able to point pdfgrep at the file and get useful output.

As an example, here is a PDF extract of the first few pages of Botany in a Day by Thomas J Elpel (7MB). It demonstrates the sort of output one can expect from these services. The full book, with all of its figures and color drawings is 155MB. Botany in a Day is also exemplary of the type of book I find it worthwhile to scan. It’s a book I first read years ago and will probably never read again cover-to-cover, but it has remained on my bookshelf for over a decade because it is an occasionally useful reference. It is worth keeping around, and a digital copy makes it even more valuable: it can be searched, and easily carried with no space or weight penalty.

So far I have not actually sent any of my books in to be scanned. Instead, I’ve purchase new – that is to say, new to me – copies of the books online and have them shipped directly to the scanner. Used books in like-new condition can generally be found fairly cheaply. In the case of reference books, this has often let me upgrade to a newer edition than the one that I previously owned (such was the case with Botany in a Day). But mostly this is just so that I get a clean scan, without worrying about any notes or dog-eared pages that I may have in my old copies. After I receive the PDF, I give away my old hard copy.

Scanning has allowed me to reduce my physical book collection more than would otherwise be possible. I still own books that have yet to be published digitally and that don’t lend themselves to scanning – I am patiently waiting for whatever luddite owns the publishing rights to AB Guthrie Jr to produce digital versions of his books, as I have no expectation that OCR would be able to deal with the mountain man slang – but I’m glad to have these services available.

On E-Books

The Kindle Paperwhite has been my primary medium for consuming books since the beginning of 2014. E Ink is a great display technology that I wish was more wide spread, but beyond the fact that the Kindle (and I assume other e-readers) makes for a pleasant reading experience, the real value in electronic books is storage.

At its peak my physical collection was somewhere north of 200 books. As I mentioned years ago I took inspiration from Gary Snyder’s character in The Dharma Bums and stored my books in milk crates, which stack like a bookcase for normal use and kept the collection pre-boxed for moving. But that many books still take up space, and are still annoying to move. And in some regards they are fragile – redundant data storage is expensive in meatspace.

My digital library currently sits at 572 books and 13 gigabytes (the size skyrocketed after I began to archive a few comics). I could not justify that many physical books in my life. I still have a collection of dead trees, but I’m down to 3 milk crates. I store my digital library in git-annex, allowing me to redundantly replicate my collection across the globe, as well as keep copies in cold storage. I also burn yearly optical backups of the library to M-DISC. The library is managed with Calibre.

When I first bought the Kindle it required internet access to associate with my Amazon account. Ever since then, it has been in airplane mode. I spun up a temporary wireless network for the setup that I then deleted after the process was complete, ensuring that even if Amazon’s airplane mode was untrustworthy, the device would not be able to phone home. The advantages of giving the Kindle internet access seem minute, and are far outweighed by the disadvantage of having to trust Amazon.

If I purchase a book from Amazon, I select the “Download & Transfer via USB” option. This results in a crippled AZW file. I am under the radical delusion that I should own what I purchase, so I import that file into Calibre using the DeDRM_tools plugin. This strips any DRM, making the book ready to be consumed and archived. Books are transferred between my computer and the Kindle via USB, which Calibre makes simple.

When I acquire books through other channels, my preferred format is always EPUB: an open format that is simply a zip archive of HTML files. Calibre’s built-in conversion tools are quite good, giving me confidence that any e-book format I import into the library will be readable at any point in the future, but my preference is to store data in formats that are open, accessible, and understandable. The closer one gets to well-formatted plain text, the closer one gets to god.

While the Kindle excels at the linear reading of novels, I’ve also come to appreciate digital copies of reference books and technical manuals. Often the first reading of these types of books involves lots of flipping back and forth, which is easier in the dead tree variant, but after that first reading the searchability of the digital copy is far more useful for reference. The physical size of these types of books also makes them even more difficult to carry and store than other books, all but guaranteeing you won’t have access to them when you need to reference them. Digital books solve that problem.

I’m confident in my ability to securely store digital data. Whenever I import a book into my library, I know that I now have permanent access to that knowledge for the rest of my life, regardless of environmental disaster, the whims of publishing houses, or the size of my living quarters.

Last month I mountain biked Cotopaxi.

I mounted the saddle at 15,000 feet. Thin air for pushing pedals – everything feels like uphill, until it is, then it feels like something worse – but I like to think it might have prepared me somewhat for the oxygen deprivation of my recent respirator trials. Integrating some sort of hypoxic training into a PT regime may be worth considering.

Cotopaxi