My favorite album of 2014: The Amanuensis by Monuments

Of all the albums I listened to in 2014, The Amanuensis by Monuments is definitely by favorite. The powerful, soaring vocals, excellent bass and drum work, and FANTASTIC guitar riffs make this an absolute joy to listen to. My favorite track from the record is probably Horcrux.

I’m quite disappointed I missed seeing them (and Animals As Leaders and Devin Townsend Project) in December. I had tickets but was feeling a bit unwell the day of the concert and didn’t want to risk my upcoming vacation plans.

Goal Tracking: February 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 February –

  1. No volunteering.
  2. Decent progress in eliminating shyness.
  3. No progress made on learning Rust or Erlang.
  4. 1 book read – All the Light We Cannot See by Anthony Doerr. An incredibly sad and beautiful book.
  5. 1 paper read – Read-Copy Update.

  6. 5 blog posts.
  7. Zero muscle ups.

2015 goal achieved – contributing to an open source project

This week I managed to achieve one of my goals for 2015 – contributing to an open source project.

The project I contributed to was a command line interface to GitHub Gist. I found this project on the trending Python repositories page and decided to check it out (pun intended).

I think this was a great first project to contribute to. The code base was relatively small and extremely well organized and structured. The author also had a list of issues that needed addressing that made it very easy for someone to jump in and contribute to the project. I found an issue I felt I would be able to resolve, and after some back and forth with the author, my pull request for the issue was merged.

Things I learned –

This was a fantastic experience, and I can’t wait to find the next project to contribute to!

Paper: Read-Copy Update

With multicore machines now the norm, writing code that scales and performs well in multithreaded scenarios is becoming extremely important. I was thus delighted to discover the paper on Read-Copy Update – a technique to implement data structures with no locking on reads. Modifications (writes or deletes) still use some sort of locking mechanism, but the idea is that the ratio of reads to modifications is so large that by eliminating the overheads of synchronization on the read path we improve the performance of our code significantly.

This paper is extremely well written with lots of code samples. I specifically liked section 7 that compared read-copy update with other locking algorithms. Section 3 is also great because it allows one to answer the question “Can I use read-copy update for my data structure and its expected access pattern?”

Read-copy update is a simple (at least in terms of the general idea; the actual code implementation is tricky) and elegant solution for building high performance concurrent data structures (for certain usage patterns). It is definitely a topic I will be exploring further in the future.

New goal for 2015 – contribute to an open source project

Every year I decide that I will contribute to an open source project but somehow it always falls under the radar. This year I’m going to make a more determined push (pun very much intended) to make at least a small contribution to one of the many open source projects out there. GitHub Showcases is an excellent feature that should hopefully help me in this endeavor.

EDIT – By “contribute to an open source project” I meant something that I don’t work on during my job. So projects like Rest.li and the Rest.li API Hub don’t count 🙂 It has to be something I do in my free time.

Goal Tracking: January 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 January –

  1. No volunteering.
  2. I think I’ve made some progress in the “being less shy” department. It is also harder than I thought it would be!
  3. No progress has been made on learning Rust or Erlang.
  4. 1 book read – Colorless Tsukuru Tazaki and His Years of Pilgrimage by Haruki Murakami.
  5. 2 papers read – The Tail at Scale and Immutability Changes Everything.
  6. 5 blog posts.
  7. Zero muscle ups 😦

The beginning

I was reading an essay by Paul Graham the other day and one line in it stood out to me –

Few people know so early or so certainly what they want to work on.

This got me thinking about what got me interested in programming and computer science when I was growing up.

As I kid I was always interested in computers and I remember reading Digit cover to cover each month. My first foray into programming was when my mother enrolled me in a class to learn basic C and C++. I rebelled initially, before even attending a single session of the class – “I don’t want to learn programming! That’s not cool at all.” I decided to attend at least one session though as I didn’t want to hurt her feelings. And I’m so glad I did that.

I think the phrase “love at first sight” accurately describes what I felt upon looking at my first program (a simple “Hello, World!” in C if my memory serves me right). The feeling was incredible and I knew almost right away that I had found my calling in life.

Thanks mom.