(This post is a summary of two papers I have recently read. Papir is the Norwegian word for paper)

Real-Time Twitter Recommendation: Online Motif Detection in Large Dynamic Graphs is a paper that was presented at VLDB 2016. It combines two of my favorite topics, distributed systems and graph theory, into a short (2 pages!) paper. It presents a simplified version of the algorithm that Twitter uses to detect motifs in real-time in a user’s social graph, which is then used to generate recommendations for the user. One thing I liked about this paper is that it presents naive solutions to the problem at hand before diving into the elegant solution that Twitter uses. The paper then presents their solution to the problem, and explains how it works at Twitter scale by graph partitioning, pruning, and offline data structure generation.

Design patterns for container-based distributed systems is a paper by Google that talks about software design patterns that are emerging from software systems that are built around containers. Software like Docker and CoreOS has made working with containers easier, and more and more companies are moving towards a container based ecosystem. Google was one of the first companies to use containers, and this paper contains design and architecture patterns that they have observed in their container based systems. The design patterns presented are grouped under three main categories of which I enjoyed reading about “Multi-node application patterns” the most. This sections deals with design patterns in distributed systems, where each node holds multiple related containers (called “pods” in the paper). It was interesting to read about how distributed system problems like leader election, scatter-gather, etc. can be dealt with language agnostic containers rather than by language specific libraries. I loved this line from the end of the paper, which made me think of containers in an entirely new light:

In all cases, containers provide many of the same benefits as objects in object-oriented systems, such as making it easy to divide implementation among multiple teams and to reuse components in new contexts. In addition, they provide some benefits unique to distributed systems, such as enabling components to be upgraded independently, to be written in a mixture of languages, and for the system a whole to degrade gracefully.


Quotes: August Edition

I wrote a blog post talking about how I write down lines from books I’m reading. Here are some lines that I loved from the book that I read in August:

It’s tough to live with people stuck in the past, isn’t it? — Harry Potter and the Cursed Child

The truth is a beautiful and terrible thing, and should therefore be treated with great caution. — Harry Potter and the Cursed Child

I exist to serve. — Harry Potter and the Cursed Child

Thank you for being my light in the darkness. — Harry Potter and the Cursed Child

Goal Tracking: August Edition

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 August –

  1. 65%-75% self availability over the course of the month.
  2. Volunteered for 0 hours  :(
  3. An embarrassing amount of procrastination.
  4. August 2016 was, by far, the most honest and open I’ve ever been in my life. The experiences I’ve had during this month have helped me grow a lot and certain moments are most definitely imprinted on the fabric of my mind.
  5. Made zero progress on learning Rust.
  6. I only managed to read one book in August — Harry Potter and the Cursed Child (a good, but NOT great, book).
  7. I read 2 research papers — Real-Time Twitter Recommendation: Online Motif Detection in Large Dynamic Graphs and High-Availability at Massive Scale: Building Google’s Data Infrastructure for Ads (I LOVED this paper. I will be writing a post about it soon).
  8. I wrote 5 posts.
  9. I learned to play 2-3 songs on the guitar.
    (Note to self — I need to learn more non-metal songs. Any time someone asks me to play a song the interaction is always along the lines of:
    “Oh cool! Why don’t you play something?”
    “Sure, but you probably haven’t heard the song.”
    Yes, almost none of my friends listen to metal music)

  10. (a) (goal achieved)
    (b) (goal achieved)
    (c) (goal achieved)
    (d) (goal achieved)
    (e) (goal achieved)


I’ve been tracking all the artists I’ve seen live since 2013, and a few weeks ago (at my third Outside Lands festival) this tally reached 100.

The first artist I saw live was Chevelle at the Fillmore in San Francisco, CA on July 8th 2014. I remember standing on the fringes of the mosh pit and being extremely scared that I would be sucked in (I didn’t). I also remember being amazed by how good the band sounded live, and how talented each and every member was. Needless to say I had a fantastic time — I was blown away by the whole experience, and by the time Chevelle came back on stage for their encore I’d already decided that I would try and see as many concerts as possible.

It’s really hard to pick a favorite show of the 100+ I’ve seen. A top 5 list (in no particular order) would probably feature Tame Impala (at Coachella 2016), AC/DC, Metallica, TesseracT, Deafheaven. Not only do Tame Impala sound sublime live (I’m so excited to see them again on September 3rd), but the lights and videos they use during their live sets elevate their music to another level. AC/DC and Metallica hold huge sentimental value for me since they were the bands I grew up listening to, and seeing them live was an emotional experience. TesseracT is my (current) favorite band and the first progressive metal band I enjoyed listening to, and they were awesome live (very excited to see them again with Gojira on October 7th). Plus I got to meet the band before the show which was very cool! Deafheaven was easily the most intense show I’ve been to. Though given the type of music they play this is to be expected.

The bands I’ve seen the most times live are Tennis and Mastodon. The last time I saw Mastodon was when they played the night before my 25th birthday. It was a great birthday gift (yes, I do know it was a day early).

The Chevelle show ignited a love for live music within me that still shines brightly today.


I got to see Haitus Kaiyote at Outside Lands 2016 last weekend. They were one of the best bands I’ve seen live so far. Seeing them live gave me a newfound love and appreciation for their music and I’ve been listening to their songs all of last week. Not only is their music beautiful, but the pictures they paint with their lyrics are gorgeous as well, and some of them seem to appeal to my current state of mind.


Quotes: July Edition

I wrote a blog post talking about how I write down lines from books I’m reading. Here are some lines that I loved from books that I read in July:

We are what we pretend to be, so we must be careful about what we pretend to be. — Mother Night

No one has mastered the art of life. Everyone is just stumbling in the dark. — Here

It pays to be obvious, especially if you have a reputation for subtlety. — Foundation

To succeed, planning alone is insufficient. One must improvise as well. — Foundation

Memories sting when they come suddenly. — Foundation

Goal Tracking: July Edition

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 –

  1. Was there for everyone who needed me for most of the month.
  2. Volunteered for 0 hours.
  3. Quite a bit of procrastination.
  4. Honest and open. As always.
  5. Made some good progress on learning Rust! I wrote about it here and here.
  6. I read four books over the course of July: Mother Night (another amazing book by Kurt Vonnegut), Here (I LOVED the artwork in this graphic novel. I wish it had a better story though), DC/Dark Horse: Aliens (an action-packed, fun read), and Foundation (This is the first Asimov book I’ve read and I loved it! It was quite unlike any other sci-fi book I’ve ever read, and I can’t wait to read the rest of the books in this classic series).
  7. I read 2 research papers: Disruptor and COST. I’ll be writing about them soon.
  8. I wrote 8 posts.
  9. I learned to play at least one song on the guitar. Minus the solo.
  10. (a) (goal achieved)
    (b) (goal achieved)
    (c) (goal achieved)
    (d) I ran the first half of the SF Marathon!
    (e) (goal achieved)


I’ve found myself listening to electronic music more often these days. I’ve found that it makes for quite good coding music. And writing music too.

Here’s a subset of what I’ve been listening to:

  • Jake Bowen is the guitarist for Periphery (one of my favorite bands; I have VIP tickets to see them in August). He also makes amazing electronic music.

  • Tycho. He’s from San Francisco!

  • It’s hard to classify the genre of music The Algorithm plays. All I know is that I really like it.

  • Com Truise made a single with Deftones (another favorite band of mine; I’m very excited to see them in August)