After 24+ hours of traveling I’m back in San Francisco! The long journey gave me a lot of time to think. And read. And sleep (I think my superpower is falling asleep on airplanes).
Here are some of the things I read:
I poured over the “Fiction & Poetry” section of The New York Times’ 100 Notable Books of 2015. Here are the ones that caught my fancy:
- Fortune Smiles
- The Beautiful Bureaucrat
- A Little Life
Goodreads recently announced their list of the best books of 2015. I used their list from 2014 to determine what I wanted to read over the course of 2015, and this morning on the bus ride to work I used their latest list to plan (part of) what I want to read in 2016.
Here is the list I’ve come up with so far:
- The Girl on the Train
- The Nightingale
- Trigger Warning: Short Fictions and Disturbances
(work and social engagements made it hard to post the past two days.)
I finished Immortality this afternoon on the bus ride back from work. I’m still trying to decide what I think of it. I will say that it is one of the most unique books I’ve read — the writing and narrative structure is very different, and honestly, not what I was expecting. Overall though, I still enjoyed it.
Next book — An Anthropologist on Mars.
At the beginning of the year I published a post outlining what some of my goals for the year were. In the spirit of being transparent, here is the progress I made on them over the course of July –
- 0 hours of volunteering.
- A tiny bit of shyness. I think.
- Finished the third chapter of the Rust book.
- 3 books read — Galapagos (loved it), Breakfast of Champions (my least favorite Vonnegut book so far), and Batman: Arkham Asylum – A Serious House on Serious Earth (dark and disturbing. The art work is breathtaking).
- One paper read (I failed at my goal to get this number up)
- 3 posts in July.
- 5 consecutive muscle ups! I was quite surprised by this number. And when I say “consecutive” what I really mean is “do one, then take a break for 45 seconds”.
I reached Vadodara on the 23rd and was hit with jet lag that lasted about three days.
I’d bought Mira Jacob’s The Sleepwalker’s Guide to Dancing with the hope that it would last me a majority of my visit to India. I read ~100 pages of the book while in the U.S. On my first night in Vadodara I woke up around 3.30am (because of the afore mentioned jet lag) and finished the remaining ~400 pages in four hours. This is an incredible book, and I can see why it was a nominee for Goodreads’ Best Fiction books of 2014. Simply put, I loved it. And yes, I did appreciate the irony of the title given my battle with temporary-time-difference-induced sleeplessness.
With my reading plans in shambles (OK not completely in shambles since I am not yet done with Borges’ Labyrinths which is also amazing) I decided to work on one of my 2014 goals and read some research papers.
Here is what I read:
- Scaling Memcache at Facebook – This paper talks about how Facebook leveraged memcached to build a distributed key-value store. I thought the usage of UDP for making
get requests and flow control mechanisms to combat incast was particularly interesting. Overall this is a very good paper and I would highly recommend it to anyone interested in distributed systems and system architecture. My favorite line in the paper? “Simplicity is vital.” (section 9).
- MultiQueues: Simpler, Faster, and Better Relaxed Concurrent Priority Queues – this paper introduces MultiQueues, a concurrent priority queue with relaxed semantics, i.e. you are not always guaranteed to get a globally minimal item from the data structure. Most of the papers I read are systems papers, so it was refreshing to read a paper that dealt more with data structures. MultiQueues are conceptually quite simple and their performance (as shown in section 6 of the paper) is impressive.
- You’re Doing It Wrong – this article introduces a B-heap, which is a VM page-friendly implementation of a binary heap. Kamp writes really well, and this article is a joy to read. My main takeaway from this article was the reminder that one should also consider I/O and memory access patterns while analyzing algorithms. This idea was introduced to me in CS-232 at UIUC and it is something that I always try to keep in mind while looking at an algorithm or trying to improve performance.
Oh, and here is the dog!