Void Star is one of my favorite novels of recent years.

I have at times described it as being as if China Miéville had written a book in the Bridge trilogy, with plot devices contributed by Neal Stephenson. Other times I’ve just described it as my favorite William Gibson novel this millenium. Both of which I think communicate the tone of the book and the high regard in which I hold it. With Void Star, Zachary Mason created a sort of ethereal cultural exploration, very Gibsonian in nature, and you won’t like it if you’re reading it for the plot.

The audiobook is also very good. I say this as someone who dislikes audiobooks. Neither audio books nor podcasts fit into my life, and I can count the number of audiobooks I have ever listened to on two hands. But the actors who perform the three main characters of Void Star – especially the woman who voices Irena, who I wish would perform Pattern Recognition – are all perfect in their roles and somehow manage to capture how I imagined the characters when I read the book, which is a thing that I think rarely happens in any adaptation of a book into a different medium. Zachary Mason imbues the prose of his novel with a sort of poetry and rhythm that the actors all capture perfectly. I read the book a second time months after listening to the audiobook and found myself reading it in their voice, emulating their pacing.

My Bogotas were confiscated in Bogotá.

I flew through El Dorado International Airport four times last month. On the final trip security was none too pleased when they spotted the Bogota Pi toolset in my pack. The normal Bogota Titans in my wallet were either missed or deemed not problematic. I found the experience ironic.

Bogota Pi & Friends

The Sparrows Mini Jim met with suspicion, but I just did my smile-nod-no-hablo-español routine and they put it back. One could make a convincing argument that Super Mica Shims are more appropriate for travel.

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.