You are currently viewing all posts tagged with books.

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

The Kindle is a terrible device for reading comics.

It’s the wrong size. The E Ink display is greyscale. Zooming and panning are disruptive. A tablet probably works great, but I don’t know – I’ve never owned one. I solved the problem a while back when I discovered that I could simply rotate my laptop’s display via xrandr.

$ xrandr --output eDP-1 --rotate right --pos 0x0

Adding an autorandr profile for this makes it easy to jump to portrait mode. This is useful for reading any long-form content on the X260. Typing (or mousing) on the rotated device is difficult, so I’ll sometimes plug in my external keyboard if I want to do more than just page through a document.

X260 Portrait Mode

This past summer a 13-year-old girl shattered my optimism for the future.

In June, The Atlantic published an article discussing the use of Instagram as a source of life advice by (pre-)teens. I do not understand insta-face-tweeting, but what struck me most was 13-year-old Sophie’s justification of her behaviour:

Teens say they’d basically do anything to avoid searching for answers to their problems outside of Instagram. Unlike threads, web pages don’t follow any standardized format, and teens say that navigating the open web, especially sites with ads and pop-ups, was a frustrating waste of time.

“The format is just a lot easier to read than stuff like Google,” says Sophie. “You can read longer things in little chunks. It’s not like reading this giant paragraph at once. No one wants to do that.”

Teens say that another benefit of threads is that you don’t have to waste time searching around – the information is delivered to you based on your interests and whom you follow – and that threads feel more trustworthy than search engines.

I’m not sure what sort of dystopic future we’re in for if we manage to raise a generation of people who are intimidated by a paragraph, but I suppose we’ll find out.

Reading Books

While I do not subscribe to Umberto Eco’s idea of the antilibrary – having too great a collection of unread books is a mental weight that I find uncomfortable – I do have a constant collection of books that I have acquired but have yet to consume.

As previously mentioned, I manage my e-book library with Calibre. Calibre allows the user to create custom metadata properties, which I’ve taken advantage of to add a simple boolean property called read. This allows me to track which books I have read, filter the library for those books that are unread, and easily queue up the next thing whenever I finish reading a book. It also allows me to know that my Calibre library averages around 20% unread.

I enjoy seeing lists of books that other people have read or are reading. In case anyone else feels that way, I’ve published a list of read books from my Calibre library. Generating this list is fairly simple.

First I ask Calibre to dump a CSV of my library, including the fields that are most useful, and filtering only for those books that I have marked as read.

$ calibredb catalog content/media/library/books.csv --fields=id,author_sort,title,isbn,identifiers,series,series_index,uuid --search="#read:yes"

The first character in this file is some sort of Unicode weirdness. I make sure this character and anything like it is stripped from the header row with sed.

$ LANG=C sed -i '1 s/[\d128-\d255]//g' content/media/library/books.csv

I want to display this list in a web page using DataTables, allowing users to perform simple sorting and searching. DataTables can read from a JSON source, so the easiest solution was to use csvkit to convert the output.

$ ~/.virtualenvs/csvkit/bin/csvjson -i 4 content/media/library/books.csv > content/media/library/books.json

The resulting output is processed by DataTables for display.

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.

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.