Just me fanboying about my mentor, with the sole purpose of getting more page views on my sad blog when he becomes famous.
Designed by Freepik Sometimes when I tell my friends what we have built in a short span of time, I see there eyes going wide in disbelief. One candidate I was talking to about SquadRun thought we had 10–12 developers in the team, judging by what all we had built. But we are not a … Continue reading How we built an engineering culture of doing more with less
Hacks should be quick. And so should be the articles about them. Photo by Caspar Rubin on Unsplash Problem We needed to calculate medians, percentiles for some quantities for our own ETL system (note to self: write a post on this) grouped by certain fields. Some options we had: Extra: But Django says this will … Continue reading Hack Django ORM to calculate Median and Percentiles (Or make annotations great again!)
Tl;dr: Avoid joins on large tables and evaluate parts of queries beforehand to get 100–10,000x performance gains! As mentioned in a previous post, because of some of our tables growing in size, our queries started performing poorly which resulted in a performance hit to our most used APIs. It was time we revisit some of … Continue reading Blazingly fast querying on huge tables by avoiding joins
Short story of how we reduced the response time of some of our admin pages by 1000x. The Problem One of our tables grew to over 25 million rows. Which, while not a large number, makes the most frequent queries slow. A direct effect it had was on our Admin panel. The change_list form for … Continue reading Estimated counts for faster Django Admin change_list
What do you do when you are asked to create a notification system where the objects to be notified get added/removed at runtime? You stop giving a shit about them, and code for the interface.