RSSAmplifier

Blog

Shesh's blog

sheshbabu.comRSS feed ↗58 posts

Latest posts

The Case of the Crashing Checkout Flows: My Strangest Debugging Story

The year was 2015, and I had just joined RedMart. I was very impressed by the importance RedMart placed on addressing customer fee

Swiss Cheese Model of Software Reliability

Software surrounds us. It’s in the planes we fly and the cars we drive. It handles our finances, helps us learn, and keeps us connected.

Zero-Downtime Postgres Credentials Rotation with Node.js

In enterprise environments, it’s common to store database credentials in a vault like AWS Secrets Manager. These credentials are usually

Implementing SAML SSO in Node.js with Microsoft Entra ID

Authenticate with Microsoft Entra ID (Azure Active Directory) using Node.js, Express and Passport

Refreshing OAuth Access Tokens using Axios Interceptors

HTTP Clients like Axios , <a href="https://www.pytho

FastAPI without ORM: Testing with asyncpg

In our last two posts, we explored how to set

System Design for Entity Resolution

Entity Resolution (also known as Record Linkage, Data Fusion, Deduplication etc) is the process of identifying the same real-world entiti

Demystifying Postgres Schema Migrations: Building it from Scratch

Database schema migrations are rarely taught in universities, and if you’re a self-taught developer, migrations are not something you wou

FastAPI without ORM: Getting started with asyncpg

Let’s start with a simple FastAPI example: <span class="token comment" sp

How Big Things Get Done

If you’ve been in the industry for more than a few years, you might have seen at least one big project that failed badly - maybe it went

Graph Retrieval using Postgres Recursive CTEs

Using Postgres as an alternative to graph databases for storing and retrieving graphs

Remove PDF password protection using qpdf and AppleScript

For removing password protection from PDFs, I prefer using qpdf

Killing long running queries in Postgres

Finding and terminating long running queries in Postgres

Implementing React-like Composition using Go&#39;s html/template

Compose and render frontend components using Go's standard library

What Every Programmer Should Know About Load Testing

Load testing is very important to prevent reputational or revenue loss. However, most developers struggle to write load tests. Even if th

Taurus: Writing JMeter Load Tests As Code

JMeter is one of the oldest and widely

Analyzing Slow Python Code using cProfile

Python is widely considered to be a slow language. However it’s slow only when compared to other fast languages. I’d argue it’s a perfect

Thoughts on the Future of Software Development

My optimistic take on the future of Software Development in the age of AI.

System-wide text summarization using Ollama and AppleScript

Local LLMs like Mistral, Llama etc allow us to run ChatGPT like large language models locally inside our computers. Since all the process

Entity Resolution Challenges

Entity Resolution (also known as Record Linkage, Deduplication etc) is the process of identifying the same entity (person, company, produ

Alerting: Expectation vs Reality

Let’s say you’ve a moderately complex system that your team has been working on for the past couple of years. It works well and the users

Exploring Singapore’s OneMap API

Lot of people use Google Maps on a regular basis, however when it comes to programmatic access, using Google Maps API can get quite expen

Structured JSON Logging using FastAPI

Let’s start with a simple FastAPI example: <span class="token comment" sp

Why use Azure OpenAI when you have OpenAI?

In addition to the ChatGPT application, OpenAI has also released AP

A Gentle Introduction to LLMs for Product Teams

There has been explosive growth in Generative AI and LLMs (Large Language Models) in the past few months. Not only we are seeing the laun

Detecting Clusters in Graphs using NetworkX

Clusters of all connected nodes inside a graph is commonly known as “connected components”

Generating Unique Pairs in Python

Let’s say we’ve a list of entities, this can be anything like people names, company names, etc from which we’d like to generate unique pa

Loading Amplitude Events Data into Pandas DataFrame

Amplitude allows you to export the events data from their platform using their Export API. Let’s see how we can get that exported data loaded into a Pandas dataframe.

Make your backend more reliable using Nginx caching proxy

Most of us are familiar with Nginx - it’s a very popular Web Server and Reverse Proxy. But do you know that you can also use it as a Cach

Single Page Applications using Rust

Easy to follow guide to building SPAs using Rust, WebAssembly and Yew

Beginner&#39;s guide to Error Handling in Rust

Easy to follow guide using practical examples

Clear explanation of Rust’s module system

Easy to understand explanation using visual aids and practical examples

Rust for JavaScript Developers - Pattern Matching and Enums

Part 4 covers pattern matching, destructuring, and enums

Rust for JavaScript Developers - Functions and Control Flow

Part 3 covers functions, closures, if-else, while, for..in, range and iterators

Rust for JavaScript Developers - Variables and Data Types

Rust for JavaScript Developers - Variables and Data Types

Rust for JavaScript Developers - Tooling Ecosystem Overview

Rust for JavaScript Developers - Tooling Ecosystem Overview

Automatic PageView Tracking using React Router

Automatic PageView Tracking using React Router

Publishing an npx command to npm

Publishing an npx command to npm

Running Express over HTTPS in localhost

Running Express over HTTPS in localhost

Visual explanation of SAML authentication

High level explanation of the SAML authentication protocol for beginners

Blocking usage of the any type in TypeScript codebases

Blocking usage of the any type in TypeScript codebases

How to prevent code reviews from slowing down your team

How to prevent code reviews from slowing down your team

Ways to manage config in frontend and their tradeoffs

Ways to manage config in frontend and their tradeoffs

Minimal Viable Search using Postgres

Minimal Viable Search using Postgres

Career advice for new developers

Career advice for new developers

Organizing HTTP requests using the API module pattern

Improve readability and testability by abstracting the HTTP code from the UI or business code

How we use Storybook for documentation and code reviews

How we use Storybook for documentation and code reviews

RedMart’s experience with PWA

RedMart’s experience with PWA

Packaging Node.js code into cross platform executables

Cross compile Node.js code into static binaries for easier distribution

Tips for using ESLint in a legacy codebase

Tips for using ESLint in a legacy codebase