Skip to content

spieswl/personal-reading-log

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

personal-reading-log

Another effort to do more self-quantification (and self-reflection): This helps me keep track of books and academic papers I have read.

In the interest of keeping a more detailed list of the stuff I've been reading, I started working on some tools that I could use to create a comprehensive register of my latest reads. I opted to build up a self-contained repo for holding such a register, which aligns more closely with my desires for portability and simplicity, instead of creating yet another account on GoodReads or some other website. This work is my ongoing effort to record and present my reading log.

Tracking Academic Papers

Overview

(REWORK IN PROGRESS)

Tracking Books

Overview

This part of personal-reading-log has three components: The first is books/reading_log.yaml; a continuously updated log of what books I have read, when I read them, the genre a particular book falls under, and some other details that I'll figure out how to deal with later (page count, among other things). The log should be easy to parse for humans and computers alike and is formatted as a YAML file. The second is a Python script, books/generate_stats.py, that parses the reading log and generates a chart showing completed readings for a given calendar year. The third is a folder with images containing covers of each of the books listed in the log; I wanted something more visually appealing than just text on a graph, so I have small, local copies of book cover preview images that I overlay on the reading chart. This last piece is optional, the script can still generate output without the covers folder.

I discovered a couple neat things about myself when I started cataloguing my completed reads: 1) recording what I've read provides a constant push to keep reading, and 2) my memories of the essential content of these books are stronger. I hope that both of these discoveries will be big contributors to my goal of reading more. Unfortunately, the first discovery turns into a melancholy reminder of how much I used to be reading when life forces a change in priorities, but this can also be a great driver to get back into reading itself.

Feel free to copy this repository and replace the contents of the book_reading_log with your own data. Check the Script Usage section for more detailed operational notes on generating reading metrics. Check the Getting New Book Covers section for the workflow I use to add new book covers, if so inclined.

Script Usage

NOTE: The generation script parses book_reading_log.yaml, which is assumed to be in the current working directory, for data. If no books are shown as either started or finished in the given year, default or otherwise, an empty chart will be generated. Books that are started but not finished in the given year will show as being read up to December 31st. Books that are not started but finished in the given year will show as starting up from January 1st.

This command generates a reading log visualization for the current year (based on system time):

$ generate_book_stats.py

This command will generate a reading log visualization for the specified year:

$ generate_book_stats.py -y {YEAR}

Getting New Book Covers

This is just how I do this. I found the cover images I can get from particular listings on Barnes & Noble's website are of the highest quality. Finding the specific listing that pairs with the book I possess (hardcover, revision counter, usually based on the ISBN-13) is the most tricky aspect of this. Some more automation here would be nice, since having to hunt down particular assets can be mindnumbing.

  1. Search the Barnes & Noble website for a particular book's ISBN-13.
  2. Go to that book's listing and isolate (through right-click or whatever option menu, use "View Image" or "Open Image in New Tab") the cover image.
  • If the image is hosted in .webp format, save as a webp to the local machine, reopen, and save as a new jpg.
  1. Resize the image to have a width of 260 pixels, maintaining the aspect ratio.
  2. Save the image to ./books/covers.
  3. Change the filename to the isbn value for the matching book entry from the YAML reading log.

About

This helps me keep track of books and academic papers I've read.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published