Written by Ganesh Iyer A software engineer building platforms for leveraging artificial intelligence in healthcare. Follow me on twitter


  1. March 15, 2021

    Building a real-time database in Golang that supports `GET`, `PUT` and is subscribed to other clients and syncs changes made by other clients. I start with a simple hash-map and then use redis pubsub, bitcask and event buffer to build a working solution

  2. January 14, 2021

    Problem Statement Given a two-dimensional list of integers graph representing an undirected graph as an adjacency list, return a two…

  3. January 03, 2021

    Solving binarysearch.io's collecting coin problem by formulating the recursive solution and then memoizing it and also implementing the top down dynamic programming solution.

  4. January 02, 2021

    We run a preorder depth-first search (DFS) on the root of a binary tree. At each node in this traversal, we output D dashes (where D is the depth of this node), then we output the value of this node.

  5. August 31, 2020

    Brendan Burns in his paper "Design Patterns for Container-Based Distributed Systems" lays out 3 single node patterns that are used in micro-services architecture. There is some documentation available with examples for implementing these patterns with Kubernetes. However, I couldn’t find a lot of examples with HashiCorp’s Nomad. My goal is to work through them with examples using Nomad as our job schedular.

  6. June 12, 2020

    The circuit breaker is a design pattern, used extensively in distributed systems to prevent cascading failures. In this post, we’ll go through the problem of cascading failures and go over how the circuit breaker pattern is used to prevent it.