(my thoughts and summary on the first paper I read this month as part of my endeavor to read ten research papers in June)

Paper: Early Detection of Configuration Errors to Reduce Failure Damage

This paper introduces readers to PCHECK, a tool the researchers designed to check configuration values used by programs. The goal of PCHECK is to check configuration values at system initialization time, and fail fast if any errors in these configuration values are detected. PCHECK accomplishes this by emulating application code that uses configuration values, and also ensures that this emulation does not cause any internal or external side effects.

The authors motivate the design of PCHECK by observing that most software systems do not check configuration value at system initialization time. Configuration values are typically checked right before they are used. This is a problem because an incorrect configuration value might cause the entire software system to fail, long after the system has started. This is especially problematic when a configuration error causes a fault tolerance or system resiliency component to fail; such components are typically instantiated only under exceptional circumstances, hence the configuration values used by these components might not be checked for correctness at overall system start up time.

PCHECK works by generating checkers that are run at system initialization time. These checkers emulate configuration value usage in the actual system code. PCHECK captures all the context (global variables, local dependent variables, etc.) required to emulate these usages. PCHECK checkers are side effect free and work by creating copies of all the system variables so as to not modify any state. PCHECK handles system calls, libc function calls, core Java library function calls, etc. by providing what they term a “check utility”, which is essentially a mock function that doesn’t mutate external state but validates the function call arguments. Other external dependencies that might arise while using a configuration value, such as reading/writing to an external file, sending/receiving data from the network, etc. are dealt with in a similar fashion; external files are checked for metadata (while the paper does not explicitly say what these metadata checks are, I’m assuming they are something along the lines of “Does this file exist?”, “Do I have the permissions to read/write to this file?”, etc.) and network addresses are checked for reachability. Configuration issues are detected by the PCHECK checkers by checking for the presence of Exceptions, errno values, and signs by the program (for example the program terminating with an exit(1)) that something went wrong while running the emulated configuration value usage code.


I realized that I’ve been (for various reasons) doing a terrible job at reading research papers for the past 2-3 months. In order to fix that and make up for lost time I’m setting an ambitious goal for June 2017 – I’ll read (and maybe write about) about ten research papers over the course of the month. Here are the papers I will be reading (I found a majority of the papers by going through my backlog of unread The Morning Paper posts and picking papers that intrigued me):

  1. WiscKey: Separating Keys from Values in SSD-conscious Storage
  2. Polaris: Faster Page Loads Using Fine-grained Dependency Tracking
  3. Efficient Memory Disaggregation with Infiniswap
  4. CORFU: A distributed shared log
  5. vCorfu: A Cloud-Scale Object Store on a Shared Log
  6. Redundancy Does Not Imply Fault Tolerance: Analysis of Distributed Storage Reactions to Single Errors and Corruptions
  7. Early Detection of Configuration Errors to Reduce Failure Damage
  8. MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing
  9. Replex: A Scalable, Highly Available Multi-Index Data Store
  10. Hints for Computer System Design


Here are my fitness goals for 2017, in no particular order:

  • Bench press 1.5 times my body weight: This works out to be around 225-232 lb. I can currently do 3-5 reps at 205 lb. My goal for 2017 is to get to a 225-232 lb 1RM.
  • Workout at least 5 times a week.
  • Consistently squat 2 times my body weight: (by consistently I mean each time I’m squatting at the gym) This works out to be 300-310 lb. While I have done 1 rep at 315 lb in the past, my current squat weights are in the 225-275 lb range.
  • Start deadlifting.
  • Focus on parts of my body that (I feel) need to be improved upon: namely my shoulders, my abs, my pectoral muscles, and my calf muscles.


I’d been toying with the idea of buying a seven string guitar for some time now. Most of the bands I listen to (TesseracT, Periphery, Skyharbor, etc.) all use seven string guitars, and it would be awesome to be able to play some of their songs. Plus I feel reasonably comfortable playing a six string guitar. Minus solos. So last week I walked into Guitar Center and bought a Jackson seven string guitar.

I’m super happy with my new guitar – it sounds incredible, is very comfortable to play, and it looks beautiful.

I’ve currently tuned the seven string to BEADEAD so I can play songs from Polaris by TesseracT. I found a guitar transcription for the entire album and am very slowly working through Messenger and Tourniquet. TesseracT songs are quite challenging to play on the guitar, but the feeling of playing songs by your favorite band is sublime.

IMG_0260 (1)
My old Gibson Les Paul on the left, and my new Jackson seven string on the right.

Quotes: Q1 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 books that I read in Q1 2017:

Everything that happens doesn’t mean something else. – The Sunset Limited

She had heard it said that humans are supposed only to use about a tenth of their brains, and that no one was very clear what the other nine tenths were for, but she had certainly never heard it suggested that they were using for storing penguins. – The Long Dark Tea-Time of the Soul

Dirk hardly liked to think. – The Long Dark Tea-Time of the Soul

She found him exactly where he was not supposed to be. – The Long Dark Tea-Time of the Soul

No private detective looks like a private detective. That’s one of the first rules of private detection. – The Long Dark Tea-Time of the Soul

I may not have gone where I intended to go, but I think I have ended up where I needed to be. – The Long Dark Tea-Time of the Soul

It was his subconscious which told him this – that infuriating part of a person’s brain which never responds to interrogation, merely gives little meaningful nudges and then sits humming quietly to itself, saying nothing. – The Long Dark Tea-Time of the Soul

The music stopped abruptly, with the air of having delivered exactly five cents worth of joy. – Player Piano

“Tell me about today.” “Nothing about today. One more, like all the rest.” – Player Piano

The two were inseparable, though their personalities met at almost no point. Together, they made an approximately whole man. – Player Piano

Yeah, it’s tough – like anything else. Tough to be the best. – Player Piano

The television cameras dollied and panned around him like curious, friendly dinosaurs, sniffing and peering. – Player Piano

I do know that it’s far easier to ask questions than to answer them. – Player Piano

“I want a stronger word than happy.” – Player Piano

The truth can never be spoken without someone getting hurt, John. – Player Piano

Jimmy, I.Q. isn’t everything. Some of the unhappiest people in this world are the smartest ones. – Player Piano

Here you are at a crossroads, my boy. You’re lucky. Not many crossroads left for people. Nothing but one-way streets with cliffs on both sides. – Player Piano

We’ll rediscover the two greatest wonders of the world, the human mind and hand. – Player Piano


(“vitae” means “life” in Latin)

What I said “Bye!” to in 2016

  • God/Religion: I became an atheist in 2016.
  • The fear of awkward conversations: One consequence of wearing your heart on your sleeve and always wanting to be open and honest with the people in your life is that it can lead to awkward, scary conversations. I used to be a bit afraid of them. However, I had so many of these talks (for better or for worse) over the course of 2016 that I can now have these conversations WITHOUT avoiding eye contact with the person I’m talking to.
  • My old job: I left LinkedIn in 2016.
  • ~3 inches on my waistline: I went from 30-31 inches at the beginning of 2016 to 28 inches as of December 2016. I’m still a bit amazed by this, because I wasn’t explicitly trying to lose weight.
  •  One of my best friends: One of my best friends moved back to India after being in the Bay Area for ~3 years. It was really sad to see him go, because I was so used to him being a part of my life here, and being able to hang out with him easily. In this digital day and age distance is a not a barrier between friends and we still message each other almost everyday, but I’ll miss all the adventures we had together when he was physically here.
  • Expectations: (still trying to decide how I feel about this) Towards the end of 2016 I realized that life is better when you have no expectations from anything or anyone. That way you’re always surprised when good things happen to you, because they’re always unexpected.

What I said “Hello!” to in 2016

  • A new most favorite person: 247cae00bedc4032b015212c1c72e800cf7b6dc2e4a41886d77bdceed4de6ee6
  • A new job: I joined Uber in 2016.
  • More respect, admiration, and love for my family and friends.
  • Running: 2016 was the year I started running seriously. While I’m not quite ready to say I love running just yet, I will say that I do enjoy it quite a bit.
  • Incredible books, albums, concerts, and research papers.
  • Emotions and Feelings: I experienced a wide array of emotions and feelings over 2016, some of which I never felt before. Looking back I think 2016 was the year I grew the most at an emotional level. I learned things about myself that I did not know.
  • A sense of style: I put in effort (and money) into dressing well and generally improving my stylistic sensibilities. I think on average I look better now than I did in pervious years. What do you think?
  • Improved writing skills: Apart from writing a lot (or trying to do so) on this blog, I also wrote a small book (~10000 words) in 2016, and a speech for my best friend’s engagement ceremony.
  • A Kindle: I bought a Kindle Voyage towards the end of 2016 and I adore it! While I still love physical books, my Kindle is now firmly entrenched in my life.
  • A nose piercing!