RSSAmplifier

Blog

Oitihjya Sen

Backend engineer and former lawyer writing about distributed systems, legaltech, and Indian policy.

otee.devRSS feed ↗10 posts

Latest posts

Don’t move back to the Writers’

The reported plan of the new BJP government in West Bengal to shift the state secretariat back to the Writers’ Building in BBD Bagh, from Nabanna, may be presented as a pragmatic step and a return to heritage. But it is actually a failure of imagination.

Personal Project, Public Outage: A Lesson in Incident Management

Recently, I experienced a minor outage on a personal VM instance hosted on Google Cloud Compute. While the stakes were low, the process of diagnosing and resolving the issue, and then ensuring it doesn’t happen again, was a learning experience that I’d like to share.

Ping-pong: Using multiple Kafka consumers to process events

In this post, I write about ping-pong - a project that aims at simulating how messages in a live chatroom (with multiple concurrent users) may get processed, using a Kafka messaging system.

Understanding: Log-Structured Merge Trees

In this post, I am listing down my understanding of Log-Structured Merge Trees (LSM Trees, in short), based on my reading of the first part of Chapter 3 of ‘Designing Data-Intensive Applications’ by Martin Kleppmann.

Transitioning from Heroku Free Tier to GCP + YugabyteDB

This post captures the list of steps I followed to migrate a HTTP service from a Heroku dyno to a Google Cloud Platform instance powered by YugabyteDB cluster as the database.

Understanding Tail Recursion

In this post, I try to explain how tail call optimization can be used to make recursive functions (of certain kind) more efficient.

Preventing Phantom Meetings Using Transactions and Serializable Isolation

In this post, I discuss how time-slot collisions in a meeting scheduling application can be resolved. First, I discuss the business logic of determining a ‘time-slot conflict’. Second, I explain why we need transactions to prevent scheduling of concurrent conflicting meetings. Finally, I do a deep-dive on the different levels of isolation provided by database systems, to better understand why…

Kicking Around Packets: Understanding How the Internet Works

In this post, I try to answer the question “What is the internet and how does it really work?”

Recurse Center: Week Three

This post is about my third week at the Recurse Center.

My First Clojure Backend Using Ring, Jetty and Compojure

In this post I discuss how I built my first web-app, RemindMe, using Clojure! The app is deployed here: https://remind.otee.dev