RSSAmplifier

Blog

Abhi Agarwal

Software Engineer & Writer. Latest posts from my blog.

abhi.rodeoRSS feed ↗20 posts

Latest posts

A thousand dollar mistake

A tale about Git LFS, CircleCI, and Github billing

Vibe coding a better dark mode for this blog

Claude Opus 4.5 has a better sense of taste than I do

Prefetching on hover in pure Javascript

The best way to fake a fast website is to simplify anticipate what the user is doing.

Logging into Georgia Tech's VPN without using GlobalProtect

Using `openconnect` and `vpn-slice`, we can do better.

Handling nested models in FastAPI form models

Got a complex object you need to shove into a FastAPI form model? Here’s a clean way to do it.

Notes on React's Rendering Model

Why does react render the way it does?

Notes on React Memoization

What is react memoization, and how can we use it?

Using `just` to properly tag and isolate docker compose projects

You’re developing a dockerized application, so you have a docker compose stack. services : frontend : image : "frontend:develop" build : context : ./frontend backend : image : "backend:develop" build : context : ./backend This is pretty neat, but it does mean that all your images are built with the tag develop . Let’s say you switch to another branch, and you want to test the application there.…

iyse-6420

I took IYSE-6420, Bayesian Statistics in Fall of 2024. I liked it! I don’t really have much to say about it. Having a degree in economics, I’ve always held appreciation of Bayesian methods, and it was nice to see it used in an actual programming language and not Stata. Breezy, fun, and insanely informative — being able to model problems by simply describing what you have, and letting it sample a…

The only python interview question you will ever need

I’ve been thinking recently about Python API design (as one does, in their mid 20s). I’m someone who cares deeply writing performant code, so I often turn to threading, multiprocessing or asyncio when dealing with IO-bound work (which is the majority of python applications). I was looking at the API design for concurrent.futures.ProcessPoolExecutor/ThreadPoolExecutor.submit() , which looks…

Handling multiple git accounts

Imagine the scenario: you have multiple github accounts, one for personal stuff, one for school, one for work stuff. Managing this stuff becomes a nightmare, and I’m sure y’all can relate to pushing with the wrong email, frantically having to amend, then git config user.email . If you keep your separate “identities” separated via subfolder, there’s a nice solution. In your main .gitconfig : […

Pydantic models in SQLAlchemy

We have MongoDB at home

Global (database) dependencies in FastAPI, done right with lifespans

A deep dive into using ASGI lifespan to safely manage shared state in FastAPI, without falling back on globals.

James Harden: a half-hearted defense

Let me be clear: James Harden will be remembered. But I really don’t think he’s going to be remembered as he should. James Harden, for three straight months in 2019, averaged 40 points a game. He did this before the offensive explosion of the 2020s. Does anyone realize how bonkers that is? I don’t think we talk about it enough. For three seasons, he was pretty much the greatest offensive (regular…

Jamal Murray's game-winner against the Lakers, April 22nd, 2024

I’m a closeted fan of the Denver Nuggets. Nikola Jokic is my favorite player, ever, and I will confidently argue that he’s currently in the greatest offensive peak ever. I love Denver and Colorado broadly, it’s pretty much my ideal place to live. I hate the Lakers. I’m a Celtics fan, hating the Lakers is in my blood. People who act like sports is supposed to be some egalitarian kumbaya is a…

C++ doesn't have destructive moves.

RAII is not actually about

`basic_fstream` will sometimes fail. And it won't tell you.

I have a file that I’m streaming from a gRPC endpoint as stream of bytes (that could be of arbitrary size, but I aligned to 1024kb). I want to replicate those bytes on the filesystem. Easy enough, we have to open our file with std::ios::binary to indicate that we’re dealing with binary data, that we don’t want our file to treat any characters like they mean anything. I’ll give you a std::vector of…

cs-6200

My first class I took at Georgia Tech’s OMSCS program was cs-6200, or Graduate Introduction to Operating Systems ( GIOS ). I took it in Spring 2024 . This is my first formal CS class, ever. I took a couple in college but they were mostly fluff and designed around numerical applications of code. I took it alongside ml4t . I loved the class. It’s probably my favorite class I’ve taken in anything,…

cs-7674

My second class at OMSCS was cs-7674, Machine Learning for Trading ( ML4T ). I thought it was… alright? It’s mostly just Python stuff, of which I’m very familiar with. I took it alongside gios . It’s kind of like an introduction into data science techniques with a focus on ML. Now I’m not an ML person at all, my undergraduate background is in economics and math, but ML is just statistical models.…

How threading works in Python

A deep dive into the internals of threading in Python