Tag Archives: reading

Vacation Reading: The History of Computing

Sitting poolside with Gödel, Escher, Bach
Vacation reading

There are certain sub-genres that appeal to me more than others. Baseball history is one example. The Apollo space program is another. In each of these sub-genres I’ve read more than my fair share of books. Another sub-genre I enjoy that I have recently been revisiting is the history of computing.

Perhaps because I grew up with computers I find a particular fascination in them, and their impact on society. I am particularly fascinated by their evolution from the early time-sharing systems, to what we carry in our pockets today. I recently read (and re-read) several books in this sub-genre. I re-read Steven Levy’s great history of computing, Hackers. I read James Gleick’s The Information which was all about information theory. I re-read Walter Isaacson’s The Innovators.

Several of these books refer to Douglas R. Hofstadter, and in particular, his book Gödel, Escher, Bach. It got me curious about the book, which won the Pulitzer prize for general nonfiction in 1979. After several friends gave the book high marks, I decided I should give it a try. It is tangentially related to computing in that it discusses artificial intelligence and completeness.

It turns out the book is not available as an audiobook or an e-book. I ordered a paperback copy. It so happens that I am on vacation for the next ten days or so and decided that reading this book would be good poolside reading. (I enjoy when people come up and ask me what I am reading. I show them the book and the often ask what it is about. It will be interesting how to explain this one.)

Not long ago I wrote about hard books to understand. Gödel, Escher, Bach came up in the discussion of that post. Last night, I got through the 20-page preface to the 20th anniversary edition of the book. The first half of that introduction tried to explain the book, and I found that I was at the limits of my comprehension. I read some passages over and over and when I finally thought I understood what Hofstadeter what saying, I would encourage myself in the margins, like this:

An annotated page from my copy of Gödel, Escher, Bach
Encouraging my understanding in GEB

It will be interesting to see whether I will be able to make much sense of this book at all.

I am also particularly interested in the history of Unix, and until recently, hadn’t come across a good, succinct history of the operating system. A recent search, however, turned up Unix: A History and a Memoir by none other than Unix creator Brian Kernighan. When I get bogged down in GEB, I can turn to Kernighan for some relief.

Finally, I always have an audiobook queued up for those times when I am walking, driving, exercising, or not somewhere that I can sit and read. In keeping with the history of computing theme, I’ve got Nicholas Carr’s The Shallows queued up.

Eventually, this sub-genre phase will pass and I’ll move onto other things. I imagine that the butterfly’s wings will flap rapidly around GEB in particular.

Hard Books to Understand

I have just finished James Gleick’s fascinating book The Information on the history of information theory. It is a rare milestone book for me in that it is one of three books that have really pushed my ability to comprehend complex subjects to the limits.

I say one of three books. I went through through the list of books I’ve read since 1996 to be sure. There are only three books (including Gleick’s) out of about 1,070 so far that I immediately recognize to be in this category.

The first of these was Consilience by Edward O. Wilson–a book that was recommended to me over 21 years before I finally got to it. The book deals with the theory of how all subjects are interrelated. At least, I think that it what it was about. Maybe it was more about taxonomy, or meta-taxonomy. It was a tough read.

Not long after that, I am upon an even more difficult read, indeed, one that I consider the most difficult book to comprehend that I have read. This was The Origin of Consciousness in the Breakdown of the Bicameral Mind by Julian Jaynes. I was turned onto this book by Robert J. Sawyer, who has mentioned it frequently as an influence upon his own writing. Indeed, a few months after I finished it, I saw Rob at a convention and told him how difficult I thought that book was.

Jaynes’ book is a theory that consciousness as we think of it arose much later than people thought–indeed, he argues that it is relatively recent construct, going back to ancient times, but not before. This was difficult to comprehend (my own consciousness was not really up to the task, I guess) but it was a fascinating argument (if I understood it correctly).

Gleick’s The Information has now made this elite list. Of the three, it was the most comprehensible, but I had to strain to understand it. I had to pause, and re-read passages, and visualize the concepts, and really think about them before I felt like I had a grasp on them.

Do you see the pattern? All three books are about theories of information. I find this fascinating, since, as a developer, I work with practical information theory every day. I find reading about it endlessly interesting, and yet, it is an incredibly difficult subject for me to understand. My theory is that the more abstract, the more difficult a subject is to comprehend. I’ve read math books (A Tour of the Calculus by David Berlinski and essays on mathematical subjects like When Einstein Walked with Gödel by Jim Holt) that have been fairly abstract and yet comprehensible. But information theory is so abstract that I find it exceedingly difficult to understand. Of course, the delight in reading about this stuff is in large part coming away with a better understand of it.

I’ll add one honorable mention to this short list: How the Mind Works by Steven Pinker. The book was recommended to me a few decades ago by one of the smartest people I’ve ever met. When I finally got around to reading it, I found it to be a challenge. But not quite as much as these other three. When I scanned my list, I hesitated on this one, but finally decided that it didn’t quite make the cut.

I’m kind of fascinated by the concept of books that are challenging to read–from a comprehension standpoint. Are there books that you’ve found to be challenging? I’d be interested to know what they are. Drop you suggestions in the comments.

1,000 Audio Books

On Saturday, I obtained my 1,000th audio book from Audible. It was Alan Lightman’s The Accidental Universe. On the one hand, for someone who once wrote here that audio books were not his thing, this is pretty remarkable. On the other hand, as a bibliophile, this is just an example of catching up.

I picked up my first audio book on February 12, 2013 so it took me about 8 years and 1 month to manage to collect 1,000 of them. I did a little math. There are 2,951 days between the day I acquired my first audio book and yesterday when I got my most recent one. That means I’ve added one audio book to my collection about every 3 days or so over the course of the last 8 years.

I’ve got a little over 1,000 books on the bookshelves in my office, and about 500 e-books in my Kindle library. That means I now have almost as many audio books as I have physical books on my book shelves.

Keep in mind that I haven’t yet read 1,000 of them. Many of them I pick up during Audible sales and when they have special deals, knowing that I won’t read them now but will get to them eventually. I’d estimate that I’ve read about 60% of what I have in my library.

Audio books have undeniably helped me read more than I might otherwise have had time to read from the printed page alone. The chart below, which I maintain in a notebook along with the list of all of the books I’ve read illustrates this pretty well. The dotted line down the page represents the time at which I began listening to audio books. You can see how the slopes of the other lines change after crossing that boundary. Of course, not every book I’ve read since has been an audio book, but the majority have.

Handwritten charts of my reading since 1996
Books per year and cumulative book count

These days, especially for nonfiction, I often get the e-book along with the audio book. This allows me to keep notes and highlights as I read. When I am not engaged in another activity, I’ll follow along in the e-book, marking passages and making notes, which eventually get transferred into Obsidian.

Today I’ll finish one audio book–The Code Breaker by Walter Isaacson. I keep the audio books that I want to listen to next downloaded on my phone just in case I find myself somewhere with no Internet access. There are currently 7 downloaded books, not counting The Code Breaker. They are:

  • The Accidental Universe: The World You Thought You Knew by Alan Lightman
  • A Sense of the Mysterious: Science and the Human Spirit by Alan Lightman
  • The Shallows: What the Internet is Doing to Our Brains by Nicholas Carr
  • The Unreasonable Virtual of Fly Fishing by Mark Kurlansky
  • The Mosquito Coast by Paul Theroux
  • Roughing It by Mark Twain
  • The Innocents Abroad by Mark Twain

Here’s to the next thousand!

9 Things to Like About LATER by Stephen King

Stephen King’s new book, Later came out on Tuesday, and by the time I closed my eyes Tuesday evening I had finished it. It was a great book and I figured I’d list some spoiler-free things I liked about the book in case any one else was thinking of giving it a try.

My Hard Case Crime trade paper editions of Later and Joyland by Stephen King
My Hard Case Crime trade paper editions of Later and Joyland by Stephen King
  1. It was as short novel. Well, short for Stephen King. It weighed in at 248 pages. That’s on par with the other Hard Case Crime novels King has published, like Joyland and The Colorado Kid. I think it is actually shorter than The Langoliers or The Mist.
  2. The main character’s name is Jamie. How could I not like a book with a main character that is my namesake. In fact, this isn’t the first SK book I’ve read with a lead named Jamie. His novel Revival also features a lead named Jamie.
  3. The premise of the book is a kid who can see dead people–and King acknowledges the Bruce Willis character in The Sixth Sense early on. King explores avenues (dark corridors?) that went unexplored by the film.
  4. The story is told as a story being written by the main character, similar to 11/22/63.
  5. Readers who enjoyed It might like this one.
  6. I liked Jamie’s voice in the novel. When I can manage to write a story, it is the voice that it always the most important thing for me to find to get started.
  7. A house in the book is called the Marsden house. People who’ve read ‘Salem’s Lot might enjoy that coincidence. Or is it a coincidence?
  8. The book really was a page-turner for me, one that I couldn’t put down. Joyland is an understated mystery and that’s one of the things I liked about it. This one is a blood-pumping horror story.
  9. In many ways, the story, and Jamie, reminded me of Robert Silverberg’s Dying Inside and its protagonist, David Selig.

When I started this list, I thought about making it 19 things to like about Later, but l decided to keep my whimsy in check. This really was a great read, and while it was short, and over quickly, I’m glad at least that Stephen King has another novel coming out later this year, Billy Summers. I only have 150 more days to wait for it.

A Journey Back to the Beginning of My Reading List

My copy of From Earth to Heaven by Isaac Asimov

I started keeping a list of books I read back in January 1996, over twenty-five years ago. As of today, there are 1,063 books on the list. I have a simple rule for how a book gets on the list: I have to finish it. If I re-read a book, which I occasionally do, it gets on the list a second (or third) time with a new number. I do re-read books sometimes, although not as often as I used to. Of the 1,063 book on the list, there are about 888 unique titles, meaning that over the course of 25 years, 175 of those 1,063 books were re-reads.

One book I had never re-read was the book that started it all, book #1 on the list, From Earth to Heaven by Isaac Asimov. Until now, that is. On Sunday I finished a book and had a small gap to fill on Monday. I didn’t want to start a lengthy book because today, the new Stephen King book, Later comes out and I’m eager to read it. So I needed something relatively short, and as I had been reading collections of essays, I figured I’d stick with the theme. I’d go back to the beginning and re-read that first book on the list.

More than 25 years, and 1,062 books intervened between the two readings, but it was a pleasure to read. From Earth to Heaven is a collection of 17 of Isaac Asimov’s science essays that used to appear monthly in The Magazine of Fantasy and Science Fiction–a series that continued for over thirty years and spanned 399 essays. These essays were collected in books in batches of 17. I eventually read all of them, and when I wrote, more than 10 years ago, that almost everything I learned about science I learned from Isaac Asimov, it was to these essays that I was specifically referring.

One of the nice things about these collections is that they are eclectic. You jump from one area of science to another. They are colloquial in tone, amusing, and educational. They also fill in many of the historical gaps that there just isn’t time for in high school and college science classes.

This particular collection covers essays that appeared February 1965 and June 1966. You can imagine, then, that some of the science was dated, but even this has its useful qualities. It is a great example of how science works, that it is progressive, builds upon itself, and is self-correcting: when new information comes to light, it is incorporated into the body of knowledge. Some of these essays refer to neutrinos and gravity waves, neither of which had been detected at the time the essays were written. Still, they provide the historical context for the subsequent discoveries.

The last time I’d read Asimov’s nonfiction was back in the spring of 2005, so I was a bit nervous approaching it more than 15 years later. Would his style hold up to what I remembered, or would it seem dated compared to more contemporary writers of science. Almost at once, my fears were allayed. Asimov’s colloquial style in these essays were just as how I remembered them, as if he was sitting across a restaurant table from me, talking directly to me about a variety of scientific topics.

It didn’t take me long to finish the book, but it was a lot of fun to read, and I’m glad I decided to go back to that book. It reminded me how much I enjoyed those essay collections. They are all still there on my shelves, read for the re-read whensoever the desire take me. That is a comforting feeling.

A Weekend Traveling the World

I spent the weekend traveling the world, an event I had been training for my entire life. That training was inspired by–although I didn’t know it at the time–a talk with my mom when I was 5 or 6 years old, about the value of books. “Books can take you anywhere,” I remember her telling me. I seemed always to interpret things she told me literally, so there I was, youngster just beginning to read, and discovering just how book could take me places.

I quickly began to develop my imagination, realizing that this was the boarding pass required to turn pages of words in experiences. I drew a lot, I read more and more, I began to write my own stories. The earliest story I remember writing was for a social studies project in 3rd grade. Around that time I grew interested in airplanes and flying. I had no access to planes, but access to The Student Pilot’s Flight Manual and from that, I learned to draw control panels and would use those drawing to pretend I was flying a plane here and there.

The more I wrote, the more I read, the more my imagination improved. It was a painfully slow process day-to-day, but exercising it as I did, year in and year out, seemed to hone my imagination in to something I had more and more control over. I wrote more stories, I began submitting them, and eventually, even began to sell them. I greatly expanded the focus of my reading–from what was initially mostly science and science fiction to everything and anything that could interest me. I’ve often thought it interesting that, when reading an essay about quantum mechanics, I visualize what is being described as if I could actually see it. When reading about the death of a star by supernova, I am there, hovering at the outskirts of that unfortunate solar system to witness the event.

Stories pull me in, and the world melts away. It is a wonderful talent to have, although it has its darker side. I often envision what-if scenarios, and that same imagination makes them often feel too real for comfort.

We like getting out as family. We like road trips, both long and short, and in years past, our weekends would often be full of exploring nearby places (sometimes to the point where I needed a weekend off, just to relax). We’d drive down to Florida a few times a years, stopping a places along the way. We’d drive up to Maine in the summers doing the same. For a year now, we’ve been mostly stuck at home like everyone else, and then need to get out has been growing, even in me, someone perfectly content to stay in. It is an irony we are all currently experiencing that I am desperate to travel and cannot.

Which is how I came to Paul Theroux’s The Great Railway Bazaar on Saturday morning. I enjoy travel books, but hadn’t read anything by Theroux and so first thing Saturday, after building a fire in the fireplace, I sat with the book and traveled (mostly by train) from London through the Mid-East, and into India, and then up to Japan, and across the Trans-Siberian Railroad arriving, early Sunday morning, back in London.

This was the event that I had been training for all these years since my mom first put the idea in my head that books could take me anywhere. I back in time and across and across large swaths of the world in little over a day, sitting on my couch, in front of a fire, with temperatures in the teens outside. I didn’t feel like reading. It felt like traveling, it felt like I was there. I could see it, smell it, taste it, hear it. It was wonderful.

I finished The Great Railway Bazarr this morning, and decided I needed more, so now I am making my way Theroux’s 3 collections of essays (starting with the most recent one). The weekend may be coming to an end, but my travels, it seems, are just beginning.

Mount To-Be-Read and the Danger of the Doubling Charm

There is a scene in one of the Harry Potter films where Harry and his friends end up in a treasure vault which has been boobie-trapped with a “Gemino Curse,” a variant of the Doubling Charm. Each thing touched, instantly doubles. Touch those things and they double. This continues without end. I have sympathy for Harry in that scene. I know the feeling. Each book I read spawns more books to read. And those books spawn more books. This continues in an endless doubling, tripling, quadrupling that has been growing increasingly doubtful of my ability to read every book ever written.

At various times, my to-be-read list can have anywhere from dozens to scores of books on it, each one of which is a butterfly’s flap to who knows how many other books to read.

This was illustrated to me in a stark way this afternoon, after I began playing around with the Mind-Map plug-in to Obsidian, my new favorite text editor. I was trying to see how my reading had progressed–and how Mount To-Be-Read had grown–since the weekend, just a few days ago.

I picked the New York Times Book Review as my starting point. (The Washington Post and a few other lists may have been involved as well.) From this I started listing out the books that interested me and that I ultimately read. From there, I began listing books I came across in those books that interested me and that I either noted on my list, or read. From there… well, you get the picture.

This formed a simple outline in my text file, and with a few keystrokes, I’d turned it into a mind-map:

A mind-map of recent reading.

Since Sunday, I’ve read 3 of the books on the mind-map (Probable Impossibilities by Alan Lightman, In Praise of Wasting Time also by Alan Lightman, and When Einstein Walked with Godel by Jim Holt). I’ve also nearly finished (as in I will finish it this evening.) The three books that I have finished spawned eight other books that have since been added to the mountain that is my to-be-read list. If we go with 2.67 new books per book I read, those eight newly added books will spawn 21 more books to add. Those 21 books will spawn 56 additional books.

You get the idea. I’m reminded of poor Ali Sard, in Dr. Seuss’s Did I Ever Tell You How Lucky You Are?. Ali is the one who had to mow grass in his uncle’s back yard, quick-growing grass:

The faster he mows it, the faster he grows it.

The faster I read, the more I fall behind.

How I Capture Reading Notes in Obsidian

In addition to automating my daily notes with Obsidian, it quickly became clear to me that Obsidian‘s note-linking capabilities would allow me to capture my reading notes in Obsidian in a really useful way. Moreover, because of Obsidian’s powerful linking capability, it occurred to me that my Obsidian vault could serve as a database for my reading. To describe how I managed to do this (so far) in a step-by-step manner will required a little history first.

A Brief History of My Reading List

I began keeping a list of every book I finished reading back on January 1, 1996. Although I am no longer certain of why I started keeping the list (was it part of a New Year’s resolution?) I am fairly certain that I was influenced by an early reading list I found on the Internet, Eric W. Leuliette’s “What I Have Read Since 1974“.

As a developer (even back then), I decided I would build an elaborate relational database to store my reading list. Over the years, it went through many iterations, and forms. When time became short, I moved the list out of the database and into Excel, or Google Sheets. Finally, several years ago, I settled on a plain text file using Markdown format, and that is how I’ve kept my list ever since.

But I’ve been bothered by shortcomings on this list. There are redundancies I don’t like about it. I have no easy way of referring to books or authors separate from the list. There are things I’d like to automate about it but that the format makes tricky.

A Brief History of My Reading Notes

With all of the reading I do, I have trouble remembering important details of what I read about. So I started keeping notes on my reading. This evolved out of how I kept notes on my reading back in college, and has continued to evolve over the decades since. It was in college that I first decided it was okay for me to write in my books. After all, if I was spending so much money on them, I might as well make them my own, right?

These days, I highlight books, writing margins, and with e-books, I highlight and make short notes on my Kindle devices and apps. But I still have no good way of aggregating these notes into useful groups, categories, and certainly no way of readily searching them.

As I started using Obsidian, and began to see how I could better organize my books and reading lists in its vault structure, I began to get a hint of ways that I might start to link my reading notes back to the books they are associated with, my reading, and other notes.

Enter Zettelkasten

I’d never heard of Zettelkasten before I started using Obsidian. Zettelkasten was originally invented as a way to link paper notes together to be able to easily create connections (links) between then. While it was workable on paper, such a process could be greatly improved with hypertext tools, and it so happens that Obsidian’s note-linking capability is idea for this.

One important idea from Zettelkasten is that a note should contain a single thought or piece of information (say, a passage highlighted in a book). That note is given a unique identifier. In addition to the passage, one would add their own thoughts to the note, and perhaps further link that note to other notes and ideas that are related to it. Zettelkasten has its own unique numbering system for “naming” the notes. Obsidian has a plug-in for creating a “Zettelkasten number” for this purpose that is based on the date/time the note is created. I wasn’t particularly fond of that identifier because it duplicates information already contained in the note itself. After all, the note is just a file in the file system, and has its own create and modified date/times as part of the file. A good identifier does’t embed real data. It’s just an identifier.

I also struggled a bit to figure out how this would work for my reading notes. I originally imagined that if I had a note for each book I read, I could simply add my highlights and annotations to that note. Zettelkasten, however, suggested that rather than adding that highlight to the book note, I’d create a separate note for just the highlight or annotation, and then link it to the book note–as well any other notes it might make sense to link it to. This took a while for me to process, and I thought about it a lot as I built out my reading library in Obsidian.

My Obsidian Library

So how did I decided to structure my reading notes in Obsidian? I’ll try to go through the step-by-step process I have for putting this all together, in case someone is interested in reproducing this.

Step 1: Establishing the structure

I decided that because of Obsidian’s great linking capability, I could use the file system itself as a relational database. In deciding this, I further decided that there were 3 main “objects” I wanted to be able to capture at a kind of atomic level. That is, three things that make up the structure of my reading library:

  1. Things I read, e.g., books, articles, stories, etc.
  2. Authors: the people who write the things in #1.
  3. My notes as they relate to #1 and #2.

From this, I established the following structure of folders in within my Obsidian vault:

My folder structure for Reading notes in Obsidian.
  • Commonplace Book contains all of my reading notes.
  • Library contains all of the “atomic” notes that make up my reading library:
    • Authors: a single note for each unique author in my library
    • Articles: a single note for each unique article (often not tied to a book) in my library.
    • Book: a single note for each unique book in my library
    • Essays: a single note for each unique essay in my library; these are often related to books.
    • Stories: a single note for each unique story in my library.

Step 2: Deciding what goes into a note

Once I had my structure, I had to decide what goes into a note of each type. What is it I want to know about authors, books, stories, etc.? This was fairly easy for me as I’ve been thinking about it for a long time (years, actually). I had in mind an idea that I could write an API that uses these files as a database to query them and produce results. With that in mind, I decided to start by keeping things simple, knowing that I could add detail as needed going forward.

For authors, I wanted just some basic information. Here is a typical author note, in this case, for Alan Lightman, whose new book I read earlier this week:

A sample author note for Alan Lightman.

The backlinks section is generated automatically by a script that I have that runs nightly. I know that I could just click on the “Linked mentions” in Obsidian to see all of the backlinks, but I wanted the related books on the note as a reference in case I access the file outside of Obsidian.

For books (or essays, stories, articles), I also kept things simple. A typical book (or essay, or article, or story) looks like this:

A sample title note for In Praise of Wasting Time

Note that in both authors and books there are links back and forth between the files. The book file refers to the author. The author file has link references back to the books. Moreover, you’ll note that in the book, there is an “Annotations” section with a list of links. These are auto-generated links to my notes and highlights for the book. I’ll have more to say on these shortly, but the important thing is that each note and highlight is a separate file (in the Zettelkasten vain) and is included with the book as a “transclusion” link, meaning that when I view the note in preview mode, it “includes” the links files as part of the note, like this:

Title note in preview mode with transcluded annotations visible.

Step 3. Populating the database

Once I had the structure I wanted, I needed to populate my database. I was fortunate in this regard on 2 counts: (1) I happened to recently create a SQLite database of my books, and (2) I can write code relatively easily. I wrote a script that crawled my book database, and from it, creating the notes for books and authors in Obsidian. This turned out to be a surprisingly simple exercise. (The Python script was 130 lines.)

My digital commonplace book

I first learned of commonplace books reading a biography of Thomas Jefferson (in this case, it was Williard Sterne Randall’s Thomas Jefferson: A Life.) Jefferson (and others in his time) would copy passages from their reading into a book. This helped with memorization, but it also provided a resource where they could add notes and observations. I’ve always liked this concept, and I decided that Obsidian would finally allow me to put it into action in a way I’d envisioned.

It is trivial to create a note and add it to the note containing the book to which it is related. But what if the note ultimately relates to more than one thing? Reading about Zettelkaten provided me with insights into how I might handle this. The naming convention in Zettelkasten (and the way it is implemented in Obsidian) bothered me. Neither made much sense. How do you search for things with essentially coded filenames?

I was in the shower when I finally had a breakthrough insight on this. I’m not searching for a filename, I’m searching for file content. If each annotation and highlight I can link it to as many notes as makes sense. Furthermore, I can add tags to each note. The name of the file doesn’t matter. What matter is how it links to other notes, and that all files are searchable.

I still didn’t like the file-naming scheme for Zettelkasten in Obsidian, which essentially uses a datetime stamp down to the current second. So a file might be named: 20210215084456. Given that one is not likely to create two of these notes within the same second, it guarantees uniqueness. But from a database perspective, identifiers like these are not supposed to embed any information. They should be strictly identifiers. Moreover, the with the date embedded in the note title, I would be duplicating information that already exists in the file properties.

I decided instead to use a Guid, or what is sometimes called a UUID. This is another form of a unique identifier that doesn’t embed information, just produces a unique code. (For those tech-savvy folks reading this, I used Python’s UUID4 which doesn’t use the MAC address as part of the identifier.)

When I have a new note or highlight for a book, it goes into my Commonplace Book folder in Obsidian. These notes also have a specific structure. A typical one looks like this:

A typical note, Zettelkasten style.

Each annotation begins with a Source that links back to the source for that annotation. It may or may not have tags associated with it. That is followed by the body of the annotation, which may be a highlighted passage. Finally, there are my own notes related to the specific passage. In the above example, my notes also link to another book, making this particular annotation related to more than one note. That is, a link has been created between Creativity, Inc by Ed Catmull and Amy Wallace, and On Writing by Stephen King.

Automating my annotations

Over the weekend, I got a start on automating these annotations. I wrote a Python script that reads a CSV files exported from Kindle, and creates a unique note for each annotation in the file, relating it back to the source book in my Library. My process is roughly this (I say roughly because this is still new):

  1. When I finish reading a book, I export the annotations from my Kindle, which sends me an email. That email has a CSV attachment which I save in a folder.
  2. A script runs, and processes and CSV files I have in the folder, creating the notes and links.
  3. The script, outputs a list resulting annotations for each file. I copy this and paste it into the “Annotations” section of the source book or article. That makes it easy to view the annotations inline when previewing the note. An example of the output from the script looks like this:
Output from my annotation import script.

Toward an API for my books and annotations

I am able to do the above automation because I have a standardized structure to my books and author notes. That standardization allowed me to write an API for my book library. From this API I can, for instance, check to see if a title exists in my library already. I can grab information about a book or author and then use it in some way. The API typically returns data in JSON format. For instance, if I call the function biblio.search_by_title("Beyond"), I get a JSON formatted return containing the following:

[
   {
      "title":"_Beyond Band of Brothers: The War Memoirs of Major Dick Winters_",
      "link":"[[Beyond Band of Brothers (334)]]",
      "type":"book",
      "authors":[
         {
            "author":"Winters, Richard",
            "authorFirstLast":"Richard Winters",
            "authorLink":"[[Winters, Richard]]",
            "gender":"None"
         }
      ],
      "source":"",
      "date":""
   },
   {
      "title":"_Beyond Apollo_",
      "link":"[[Beyond Apollo (58)]]",
      "type":"book",
      "authors":[
         {
            "author":"Malzberg, Barry N",
            "authorFirstLast":"Barry N Malzberg",
            "authorLink":"[[Malzberg, Barry N]]",
            "gender":"m",
            "alternateNames":[
               {
                  "name":"Barry, Mike",
                  "nameLink":"[[Barry, Mike]]"
               }
            ]
         }
      ],
      "source":"",
      "date":""
   },
   {
      "title":"_Beyond the Blue Event Horizon_",
      "link":"[[Beyond the Blue Event Horizon (259)]]",
      "type":"book",
      "authors":[
         {
            "author":"Pohl, Frederik",
            "authorFirstLast":"Frederik Pohl",
            "authorLink":"[[Pohl, Frederik]]",
            "gender":"None"
         }
      ],
      "source":"",
      "date":""
   }
]

The results so far

I’ve linked all of this together using my master reading list note. This note contains a list of everything I have read since 1996 and serves as a kind of index to my reading:

A sample from my reading list index note.

A big part of the way Obsidian works is that it can show you the relationships between your notes. While I am still working on importing all of the notes I have in my Kindle, I can already see a a network of relationships when I view the graph of my Obsidian vault:

A graph of the relationships between all of my notes.

Most of my notes are book and reading-related at this point. That big dot in the center is the master reading list illustrated above. If I highlight it, this is what I see:

Sample of a highlighted node on the graph.

From there, you can see other nodes and relationships that have started to form. For instance, if I hover over one of the Alan Lightman books I finished yesterday, In Praise of Wasting Time, you can see a little network of links coming off that book:

Some of those links point to annotation files. Another points back to the note for Alan Lightman. And a few of the annotation links point to seemingly unrelated notes.

Here is another example. One of the big nodes is for John W. Campbell, editor of Astounding Science Fiction in the late 1930s through his head in the early 1970s. I read many of those old issue when I was taking my Vacation in the Golden Age of Science Fiction. So Campbell shows up a lot on my master reading list:

Highlighting an author node on the graph.

You can see that Campbell is linked to all of the issues of Astounding that I have read. I have started to bring my notes in for those issues. If we look at the July 1939 issue, for instance, you can see this is related to all of the stories and articles and authors in that issue:

Currently, the notes for each story are part of the story note, but I plan on breaking those out into their own Zettelkasten-style notes as I’ve done for my other notes and annotations.

Conclusions

Keep in mind, that this is all being done with plain text files, something that I like because the format is compatible virtually anywhere. This could be done as easily on a Windows machine as a Mac. It could be done easily on a Linux machine. The openness and longevity of plain text (which has been around for fifty years now) is a big part of what I like about this system.

The linking that Obsidian provides from within its application makes all of this useful. But once established, those links are just as useful outside Obsidian with a little coding–as I’ve done with my API for books and authors. And this API is extensible. This week, I plan to add capability for the API to return any annotations when returning a “book” object. So in addition to what is returned by the JSON format illustrated above, that will soon contain a node for annotations related to that book.

Mostly, I am satisfied that I now have a simple way of keeping my reading notes in a useful form. These are easily searchable, they are easily linked. I can continue to capture highlights and brief notes as a I read. The import function allows a nice step to expand on my annotations as I review them after they’ve been pulled into Obsidian.

It did take me some time to get the infrastructure in place, but now that it is there, I am able to focus on reading, notes, and let the system organize them for me.

So Many Books, So Little Time

There are so many books to read, it sometimes seems hopeless. What’s more, since November my reading has slowed to its lowest ebb in 4 years. I blame it on Brandon Sanderson. I started reading The Way of Kings in mid-November. By the end of November, I finished Words of Radiance. The entire month of December was dedicated to Oathbringer. Somehow, this threw of my pacing and I have quite recovered. Where I’d ordinarily be reading 10-15 books per month, I’m reading four.

I’m almost done reading the biography of Walt Disney that I’ve been slowly making my way through, and I’ve decided that once that book is finished, I’m going to get back into my groove. It often helps me to have a plan of what I’d like to read. The anticipation, like that of a trip, is half the fun. So here are 10 of the books I’m hoping will get me out of these reading doldrums and getting back on pace for my reading goals for 2021:

Here’s hoping I can get back on track. There’s a lot of books out there to read, and the list is only getting longer. As always, the Butterfly Effect of Reading makes this list somewhat fluid.

Upcoming Reading: January 2021

I spent much of December reading the first 3 books of Brandon Sanderson’s Stormlight Archives series. Early this month, I started on the 4th book, but gave up mainly because I needed a break. For those not aware of the series, it is a fantasy series, and each book is over 1,000 pages long. That’s about 3 times the length of your average book. I wanted a break from fantasy anyway, and to get back to nonfiction, so I started reading Barack Obama’s memoir A Promised Land. So far, I’m enjoying it.

Earlier today I was thinking about what I want to read next. This is often an effort in futility for me because of the Butterfly Effect of Reading, but I went through various lists that I keep. Here, for your amusing, is the list that I came up with. These, book, in no particular order, are the books that I want to read now. We’ll see how many I get through before the butterfly flaps its wings.

  • Field Notes from an Unintentional Birder by Julia Zarankin. Attracted by “Field Notes.” I’m not a birder, but I have been fascinated by birders ever since reading “Mr. Forbush’s Friends” by E. B. White in The New Yorker.
  • Creativity, Inc. by Ed Catmull and Amy Wallace. This book came up in several books I read late last spring.
  • An Honest President: The Life and Presidencies of Grover Cleveland by H. Paul Jerffers. I went to Cleveland High School in Reseda, California, and it would be nice to know a little more about the person for whom the school is named.
  • Personal Memoirs of Ulysses S. Grant by Ulysses S. Grant (with Mark Twain in the cheering section). This book has been on my list for a while.
  • Rogue Heroes: The History of the S.A.S. by Ben Macintyre. I thought Macinytre’s book The Spy and the Traitor: The Greatest Espionage Story of the Cold War was outstanding, so I figured I’d try something else he’s written.
  • My World — and Welcome to It by James Thurber. Thurber was contemporary and friend of E. B. White. I feel like I should read some of his writing.
  • Vactionland by John Hodgeman. It’s about Maine.
  • If I Die in a Combat Zone by Tim O’Brien. I read O’Brien’s The Things They Carried back in 2014 and it was outstanding.
  • Mad at the World: A Life of John Steinbeck by William Souder. I love Steinbeck’s writing. Looking forward to learning more about the writer.
  • The Man Who Ran Washington: The Life and Times of James A. Baker III by Peter Baker and Susan Glasser. This has been sitting in my ready to read list for a while, and I just haven’t gotten around to it.
  • The Presidents vs. the Press by Harold Holzer. Every president, with the possible exception of George Washington, complained about the press.
  • Land by Simon Winchester. I’m a big Winchester fan, and this new book of his comes out on Tuesday.

Have any recommendations? Let me know in the comments.

25 Years of Reading

This almost passed unnoticed, but when I was updating my master list of books I’ve read the other day, filling in the counts for December 2020, I realized that I have been keeping my list now for a full 25 years.

I took this data and put some totals together to look through:

A few observations:

  • Wow, I’ve read 1,049 books over the last quarter century. That’s not too far shy of the goal that I originally set for myself back in 1996 of one book per week. (1,300 books over 25 years, so I got 80% of the way there.)
  • I started using audiobooks in February 2013, and it is clear that from that point on, my reading picked up. I broke the 25 years down into 5-year segments and the two largest segments make up the most recent decade: 193 books between 2011-2015; 419 books between 2016-2020.
  • The longest I’ve gone without finishing a book appears to be the last 4 months of 2007, when I apparently finished nothing.
  • The last time I failed to finish at least one book in a month was way back in January 2015. (Although, I came close in December 2020 because I spent most of that month reading Brandon Sanderson’s massive Words of Radiance.)
  • When I started keeping my list, it was to track my goal of reading 1 book per week–something that I failed to achieve for the first 17 years of my list. I finally hit (and exceeded) that mark for the first time in 2013.
  • The most books I’ve read in one year is 130, back in 2018.
  • The most books I’ve read in one month was 19 books back in May 2020.
  • July appears to be the month I do the least amount of reading–or finish the fewest number of books. (I’ve read 72 books over the last 25 Julys).
  • November appears to be the month when I manage to finish the most books (I’ve read 107 books over the last 25 Novembers)
  • Seasonally, I read more in the colder months, less in the warmer months.

As you can see from the first image above, my notebook is already setup to track the numbers for the next 25 years.

One thing I plan to do this year is put together a new site for my reading list. I’ve been hosting it on Github for several years now, but I want something a little flashier, searchable, and easier to navigate. I’ll let you know when (and if) I get that completed.

(P.S.: This post is the first written on my new Mac mini.)

My Annotated List of Books I Didn’t Finish Reading in 2020

If I have one hard and fast rule about reading, it’s that a book does not get on my list of books I’ve read if I didn’t read the entire thing. If I read half, it doesn’t go on my list. If I read all but the last few pages, it still doesn’t go on my list. I’ve never done a good job of tracking how many books I don’t finish reading in a year, since they never get on my list. In 2020, I made a deliberate effort to track these. Here are the 17 books that I started reading in 2020, but failed to finish for one reason or another.

  1. John Quincy Adams’s Diaries. I dipped into this off and on throughout the year, but didn’t finish the whole thing.
  2. Strange Harvests: The Hidden Histories of Seven Natural Objects by Edward Posnett. My sister recommended this, and I started it early in the year, but felt it wasn’t what I wanted to listen to on the 2-day road-trip we were making on our way home from Florida.
  3. Something Wicked This Way Comes by Ray Bradbury. I first read this back in the fall of 1996 (it is book #30 on my list of books I’ve read since 1996). I decided to re-read it because I remember it being so good. I got halfway through before I gave up. It’s not that it wasn’t as good as I remembered it; it’s more that I am a different person now than I was then.
  4. John Adams by Page Smith. I picked up this 2-volume biography of Adams for a few bucks at a church book sale. I love reading about Adams, his life and times, and I made it maybe a quarter of the way through the first volume before other things grabbed my attention. (See: The Butterfly Effect of Reading).
  5. Reader Come Home: The Reading Brain in a Digital World by Maryanne Wolf. Steven Levy’s Facebook: The Inside Story came out right at the time I started reading this. I paused to read Levy’s book, promising to get back to this one eventually.
  6. A New Kind of Science by Stephen Wolfram. I was deep into a Mathematica phase in the spring of 2020. So I started this book–a copy of which I first bought when it first came out–but then, as now, I didn’t get very far into it before giving up.
  7. An Elementary Introduction to the Wolfram Language by Stephen Wolfram. Programming is a big part of what I do for a living. I never RTFM, but in this case, I made an exception. It turned out that I picked things up quickly enough that I found I didn’t need to finish the book.
  8. The Summer Game by Roger Angell. I was missing baseball in the spring. I think reading The Summer Game was too painful with baseball on hiatus at the time.
  9. Our Game: An American Baseball History by Charles C. Alexander. Ditto.
  10. The Long Sunset by Jack McDevitt. Sometimes, I really want to read a book, but I’m in a nonfiction mood and the book in front of me is fiction, or vice-versa. This was a case of the former.
  11. Ballpark: Baseball in the American City by Paul Goldberger. See nos. 8 and 9.
  12. The Journal of Henry David Thoreau: 1837-1861. Like Adams’s diaries, I dipped into this one now and then throughout the year, but never read the whole thing.
  13. The History of the Decline and Fall of the Roman Empire by Edward Gibbon. This is my Charlie Brown football. Gibbon holds it out to me every year, and ever year I take running kick at it, and he pulls it away at the last second. Part of the problem is it is so long, I think of all of the other books I won’t get to read, but that seems like a weak excuse, considering that something like 7 of the books I did finish in 2020 were over a 1,000 pages each.
  14. Science and Civilisation in China: Volume 1 by Joseph Needham. I have a fascination with lifelong projects–the Durant’s Story of Civilization; Dumas Malone’s Jefferson biography. I managed to get ahold of the first 5 volumes of Needham’s magnum opus in 2020, and I found what I read fascinating, but it was slow reading for me, to ensure full comprehension. I think I got halfway through the first volume before giving up.
  15. The Two Towers by J.R.R. Tolkien. In October the kids and I did a Lord of the Rings movie marathon. After it was over, I wanted more, so I decided to re-read the books. I read The Fellowship of the Ring, but that seemed to sate me. I got bogged down in The Two Towers and moved on to something else.
  16. American Lion: Andrew Jackson in the White House by Jon Meacham. I enjoy Meacham’s books and this one had been on my list ever since visiting the Hermitage in 2017. I started it, but got distracted by other things. No fault of the book. I plan on coming back to it at some point.
  17. Chickens, Gin, and a Maine Friendship: The Correspondence of E.B. White and Edmund Ware Smith. I started reading this while on vacation in a remote part of Maine in November. I hadn’t finished by the time our vacation was over, and it felt weird reading this book and not being in Maine, so I never finished it.

In every case, the failure to finish was no fault of the author or the book, but of my rapidly changing attention when I read (seriously, see the Butterfly Effect of Reading), or because the book was too painful to finish given the circumstances (like the baseball books). I wish I could say I’ll do better in the future, but that would be a lie. I’d guess that I fail to finish between 15-20 books a year on average. Some I have eventually come back to and finished. Others, well, I’ll get to them eventually.