Shesh's blog
2023
Entity Resolution Challenges
Aug 02
Alerting: Expectation vs Reality
Jul 22
Exploring Singapore’s OneMap API
Jun 29
Structured JSON Logging using FastAPI
Jun 24
Why use Azure OpenAI when you have OpenAI?
Jun 22
A Gentle Introduction to LLMs for Product Teams
Jun 13
Detecting Clusters in Graphs using NetworkX
Mar 12
Generating Unique Pairs in Python
Mar 12
Loading Amplitude Events Data into Pandas DataFrame
Mar 12
2022
Make your backend more reliable using Nginx caching proxy
Jul 10
2020
Single Page Applications using Rust
Aug 11
Beginner's guide to Error Handling in Rust
Aug 02
Clear explanation of Rust’s module system
Jul 19
Rust for JavaScript Developers - Pattern Matching and Enums
Jul 12
Rust for JavaScript Developers - Functions and Control Flow
Jul 05
Rust for JavaScript Developers - Variables and Data Types
Jul 02
Rust for JavaScript Developers - Tooling Ecosystem Overview
Jun 28
Automatic PageView Tracking using React Router
Jun 20
Publishing an npx command to npm
Jun 19
Running Express over HTTPS in localhost
Jun 19
Visual explanation of SAML authentication
Jun 19
Blocking usage of the any type in TypeScript codebases
May 05
How to prevent code reviews from slowing down your team
May 03
Ways to manage config in frontend and their tradeoffs
May 01
2019
Minimal Viable Search using Postgres
Dec 01
Career advice for new developers
Nov 30
Organizing HTTP requests using the API module pattern
Aug 17
2018
How we use Storybook for documentation and code reviews
Nov 14
RedMart’s experience with PWA
Oct 25
Packaging Node.js code into cross platform executables
Mar 31
Tips for using ESLint in a legacy codebase
Feb 25
Measuring response times of Express route handlers
Jan 27
2017
Speed up your code reviews using ESLint and Prettier
Sep 07
Disabling Bunyan in tests
Jul 25
Unit testing Express route handlers
Jul 08
2016
Working with Fetch api
Sep 25
Using Optimizely with React
Jul 31
Guidelines to choose a JavaScript library
Jun 12
Writing maintainable tests using the data driven approach
Jun 07