You are currently viewing all posts tagged with books.

The best place to spend a rainy day reading in San Francisco is the UCSF Kalmanovitz Library on Parnassus.

The library is open to the public. You want the Lange Room at the back of the fifth floor. The Lange Room has half a dozen or so comfortable leather chairs, and large windows looking north across Golden Gate Park and the Presidio to the spires of the Golden Gate Bridge. If it was clear, you’d see the Marin Headlands, but if it was clear you’d be reading outside. The room is almost always empty.

It provides all the ingredients necessary for taking full advantage of a rainy day: a comfortable chair, plentiful natural light, good views, a book, and an environment that discourages human interaction.

I prefer a steel steed over flesh.

But otherwise I agree with the sentiment expressed by Al-Mutanabbi (translated by Gertrude Bell):

The finest place in the world is the back of a swift horse,

And the best of good companions is a book.

Hawk Hill

Destruction and Creation

After John Boyd revolutionized aerial combat and aeronautical engineering with his Energy-Manuverability Theory he embarked on a study of the nature of creativity. Boyd’s goal was to understand why he, a curious fighter pilot, was the first to discover E-M Theory. The result was Destruction and Creation. As one of the only pieces of writing Boyd ever published, it provides insight into his mind and offers hints of Boyd’s later work – both his best known (the OODA Loop) and his most important (Patterns of Conflict).

Destruction and Creation is freely available as a PDF, which is useful for printing but not for reading or manipulating. It is included as an appendix in Robert Coram’s Boyd biography, which is available in digital format, but is poorly formatted. I converted the article into Markdown-flavored plain text, with a BibTeX bibliography, suitable for processing via Pandoc. It is available on GitHub.

It should go without saying that I've sanitized my e-reader.

Trying to inject advertising into the reading experience is sick and sacrilegious. A privacy sticker from N-O-D-E covers the logo on the back of my Kindle, while a piece of tape sanitizes the front. Between this and my offline, DRM-free method of using the device, I enjoy the Kindle without the corporate mindshare.

Kindle at Lunch

Currently reading Bleeding Edge by Thomas Pynchon.

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.