Posts by Year

2025

An Opinionated Programmer

Recently Lex Fridman posted a podcast episode of his discussion with DHH (Duration 6hr+). I have previously written about another such Fridman interview- tha...

Short Takes 2

In the short-takes posts I write about some concepts, phrases, models, ideas, whatever related to my work and life. As these are likely to be known to many, ...

GFS Paper

Here is my understanding about Google File System from reading the GFS paper. Some other references: MIT’s lecture video. I will use mostly text here- some o...

Back to Top ↑

2024

Skin In The Game

Recently I listened to audiobook version of Nassim Nicholas Taleb’s (NNT) book Skin In The Game. Here is a brief understanding.

Thoughts In Progress: 2

In the Thoughts-In-Progress posts, I write about ideas some of which I may not be fully convinced of yet. Or about which I have not made up my mind yet- this...

About Learning

Recently, I finished listening to the audiobook Make It Stick. The book is about techniques to use when learning. It was a recommendation from a youtube chan...

Cassandra Paper

Below are some notes from my reading of Facebook’s Cassandra paper.

Linearizability And Serializability

We see these two concepts often when there are concurrent reads and writes on shared objects and have some expectations from a well-behaved system. The syste...

ZooKeeper Paper

Here is my understanding about ZooKeeper from reading the ZooKeeper paper. Some other references: MIT’s lecture video and course notes.

Out Of Line

Here I plan to write some of my thoughts which are not in line- as of now- with the conventional accepted wisdom or thoughts. That doesn’t mean that I am not...

Quotes

In nature there are neither rewards nor punishments; there are consequences. As you sow, so shall you reap. Child is father of the ma...

Platforms

A little background: I read “Steve Yegge’s platform rant” when it was published. In that post published on Google plus and marked open to public, he talked a...

Consolidations And Monopolies

If I remember correctly, around 2009/10/11/12 I used to read anything related to technology I found on the net. Of course I did not know many authoritative s...

Short Takes 1

In the short-takes posts I write about some concepts, phrases, models, ideas, whatever related to my work and life. As these are likely to be known to many, ...

Thoughts In Progress: 1

In the Thoughts-In-Progress posts, I write about ideas some of which I may not be fully convinced of yet. Or about which I have not made up my mind yet- this...

Bookmarks

Here I plan to note down links, etc. which I found interesting/ planned to visit later. Some of these may be half-read. Tech/non-Tech I will keep on updating...

Back to Top ↑

2023

In The Grip Of An Idea

"The idea possessed her imagination and she took pleasure in it." - Margaret Mitchell in Gone With the Wind We should hold onto our ideas lightly. Put a lit...

Working Around Problems

"The significant problems we have cannot be solved at the same level of thinking with which we created them."- Einstein

Integration

Recently came across the post on Google SRE blog. Lessons Learned from Twenty Years of Site Reliability Engineering

Recommended Books For Programmers

This is another of those Recommended Books For A Programmer posts. Over the years I read a few programming related books. And some of those stayed with me. I...

Basic Economics

I find money and economics to be somewhat boring subjects. But these are very important. They make the world go round, so to say. So these are very important...

Two Phase Commit

An old topic. Some content/ notes from Foundations of Scalable Systems by Ian Gorton. Posting here for quick reference.

Idempotent operations

Here is some content about idempotent operations from the book Foundations of Scalable Systems by Ian Gorton

Time in Distributed Systems

Primarily we will talk about logical clocks in this post. But let’s first get physical clocks out of the way.

Cause and Effect

Does it happen to you? Learning a new thing confuses you during the process. The discomfort till you understand the new ideas, techniques- maybe understand j...

Mental Model- Death By A Thousand Cuts

Are you aware of this concept of ‘death by a thousand cuts’? For me it means somewhere between the two wiki entries related to it. One is about a torture tec...

Cognitive Biases

Over past few years, cognitive biases have been of passive interest/ fascination for me. Passive because I haven’t actually gone deliberately out of the way ...

Being reasonable

Recently changed job after about 5 years. The earlier job was becoming a bit of more managerial than technical.

Back to Top ↑

2022

Development Feedback Loops

An agile trainer once explained the importance of having in-process-checks like automated test suites. The point he was making was about how end of process c...

QR Code

Some recent reads about QR codes are pretty interesting.

Recently Read

May 2025 Recently Read: Recently I re-read three P. G. Wodehouse books. One was a Jeeves and Wooster novel and the other two were from the Blandings Castle s...

Learnings from Dynamo Paper

A while back I read the dynamo paper. Dynamo DB has now progressed beyond that paper. If interested: https://youtu.be/yvBR71D0nAQ

Visual Display Of Quantitative Information

A recent purchase. Visual Display Of Quantitative Information by Ed Tufte. I will start reading it soon. There is a big reading list queue. But will probably...

A Master Programmer

Recently Lex Fridman posted a podcast episode of his discussion with John Carmack (Duration 5hr+). Carmack is a legendary programmer. Known for his work on g...

Is TDD Dead- Discussion Revisited

I recently posted this year’s Stack Overflow Developer Survey 2022 Results on engineering channel of my project/ department. It has some 200+ members develop...

Dysfunctional

Here I will appear to be griping a bit so bear with me. A few problems as I see with the current way of working in my group (around 200 folks) are drafted be...

Ideas Without Contexts

As we grow, and start thinking on our own- sometimes from ground up- we notice that context matters a lot. I feel this is generally true in life as in softwa...

Concurrent vs Parallel

This is the most simplified version of the difference between the two concepts I have found. It is from Joe Armstrong’s blog. And if anyone knows the differe...

Bulkhead in Software Systems

From the book Release It! Second Edition In a ship, bulkheads are partitions that, when sealed, divide the ship into separate, watertight compartments. With...

Tail Recursion

Ok. Everyone knows what recursion and tail recursion is. Then why write this post? Well, I have copied the content below from Joe Armstrong’s thesis. And he ...

Back to Top ↑

2021

Summary: Joe Armstrong’s Thesis: Erlang

If my earlier post about Joe Armstrong’s Thesis was a long read, here is an attempt at a shorter version of my notes of Joe Armstrong’s thesis on Making reli...

Release It: Book by Michael Nygard

The book ‘Release It’ by Michael Nygard is targeted towards Architects, Designer, Programmers of distributed software systems. It has very practical advice. ...

Bylane Learning

Books (or any good content you consume) have beneficial side effect of teaching you a few add-on things. Things that you had not consciously aimed to learn f...

Takeaways from Joe Armstrong’s thesis

I recently finished reading Joe Armstrong’s thesis. Making reliable distributed systems in the presence of software errors (2003). To quote: “The central pro...

Continuous Delivery

Continuous Delivery by Jez Humble and Dave Farley is now an old book. You probably already follow most of the practices it recommends.

Back to Top ↑

2020

Out of the tar pit

Paper: https://github.com/papers-we-love/papers-we-love/blob/master/design/out-of-the-tar-pit.pdf

Back to Top ↑

2019

Clean as you go

A very important thing when writing code or maintaining it is to go on deleting unnecessary pieces of code. Unused code starts becoming clutter and we should...

Libraries Vs Frameworks

If you ask even a junior developer, they will tell you that libraries should be preferred to frameworks.

Back to Top ↑

2017

Mental Models

I have known a few but while reading through a long list of mental models the post’s author finds repeatedly useful, I came to know that I use following mode...

Caching

Client-side caching: the client stores the cached result and refresh when it wants. Reduced network calls. Cache invalidation is difficult. For example, if y...

Exploring Bash And Terminal

Let me mention that probably because of Mac I have started appreciating unix. Unix was sort of arcane land for me. I used it only when required on projects. ...

A review of GoF Deign Patterns Book

Nowadays, in the world of functional programming, object oriented design patterns are probably not fashionable. But here is a short review of Design Patterns...

Back to Top ↑

2014

Is TDD Dead?

Is TDD dead? I don’t think so. Is TDD a replacement for good design? No, in that a bad or an inexperienced designer can come up with very bad system even th...

Back to Top ↑