kashav madan

I’m a software engineer at CircleCI. I worked on the Firefox browser at Mozilla until 2021. Before that I studied computer science and math at the University of Toronto.

I play around with the web on https://nestedparens.com. It might have blog posts or redirect to something cool or do nothing at all. I don’t know. There might be an archive of old posts on the www2 subdomain.


Some things I’ve worked on:

Mozilla

gecko-dev
Patches and backouts. Also here.
bugs
Test cases, scripts, bugs, patches.

Go

foo
A dynamic static site generator. Can be used to clone, build, and view any checkout of a static site repository, all through the browser. WIP, see this issue if you’re curious.
fsql
A CLI to search for files using a SQL-inspired syntax. It got a lot of stars.
rdrp
A CLI to share files between machines on a local network, inspired by AirDrop.
ded
A CLI to find dead links in source files.
point
A URL shortener. It uses `http-equiv=“refresh”` with static sites hosted on GitHub Pages.

JavaScript

NBA.js
I monitored network requests for NBA.com web apps and built a Node library around the endpoints that I found.
Cobalt
Web APIs for public data from around the University of Toronto. Built with friends; read Qasim’s motivation for starting the project: https://qas.im/cobalt-and-the-case-for-open-data/.
uofthacks2017, uofthacksv, uofthacksvi (2016-2019)
Three years of UofTHacks websites and scripts. We built everything from scratch each year because of how fast JavaScript and React were changing.
Brampton Transit API
A scraper and web API for Brampton Transit bus times.
kshvmdn.github.io
Many, many, many iterations of my previous websites. Some interesting JavaScript in a few of these.

And many more hackathon-quality projects at github.com/kshvmdn.

Mobile

rsms
An Android app to stream SMS over WebSocket. Allowed me to text from my laptop while my phone was across the room.
Drop-In
I enjoyed sitting in on random lectures, so I made this to explore ongoing classes from around campus.
NBA Player Tracker
I built this to dogfood NBA.js. It displayed player stats, game data, news, etc.
Chapsule
A “startup” for event hubs to share photos and videos. We had built (and deleted) many iterations of this since high school. This was its final form. See also chapsule.com.

Python

sqlite
A spec-compliant sqlite client. It was kind of terrible, but it worked for basic SQL operations. For a grad school Databases course.
uoft-scrapers
A set of web scrapers for public data from around the University of Toronto. Included courses, textbooks, buildings, restaurants, gym schedules, etc. These served as the data source for Cobalt.

Many scripts, scrapers, and Leetcode solutions.

School / Assignments

uoft
I used a single repository for all of my assignments during my time at UofT. It has 532 commits; the first happened on October 1, 2015, and the last on April 5, 2019.
Lambda Calculus ↔ C ↔ x86 compiler (Racket)
For a Compilers assignment. Probably my favourite assignment and my favourite course.
ext2
For an OS assignment. We implemented various commands from scratch for the ext2 filesystem: cp, ln, mkdir, rm, restore.
Distributed KV Store
For an Advanced OS assignment. With an accompanying paper and graphs and everything. Basically a clone of Memcached (and just as good too, I promise).

(Last updated late 2021.)