Kashav Madan

Some past projects and work:

Mozilla work

gecko-dev
A log of patches that landed into Firefox. Alt link. (C++, JavaScript, Python)
bugs
Some of my Firefox test cases, scripts, bugs, and patches.
mozsearch (searchfox.org)
Made some contributions to the open source Firefox code search website. (Rust)
rr debugger
I occassionally tinkered and contributed to the source code of the rr record and replay debugger. (Rust)

Go

fsql
A CLI tool to search for files using a SQL syntax.
go-serve-static
A tool to quickly build and serve static sites through the browser.
go-airdrop
A CLI tool for cross platform AirDrop file sharing functionality.
go-dead-link-detector
A CLI tool to find dead links in source files.
go-url-shortener
A URL shortener that uses GitHub Pages as a backend. It uses `http-equiv=“refresh”` for redirecting.

JavaScript

Chrome Extension: Picture-in-Picture
A Chrome extension to enable a float-on-top view for any HTML element of the webpage with the DocumentPictureInPicture API.
Identicon
An experiment to reverse engineer GitHub's avatar generation algorithm.
NBA.js
Node.js module for interfacing with the NBA.com RESTful API. Built by reverse engineering NBA.com web requests.
Cobalt
RESTful APIs and scrapers for public data from around the University of Toronto.
Show Me a Movie
A CLI to live stream movies via peerflix.
Brampton Transit API
RESTful API and scraper for Brampton Transit bus times.
uofthacksiv, uofthacksv, uofthacksvi
Three years of UofTHacks websites and scripts.

Mobile (Android, iOS, React Native)

Chapsule
React Native app for event organization and media sharing. Firebase backend.
rsms
Android app to stream SMS over a WebSocket server.
Drop-In
React Native app for viewing ongoing lectures at any time from around campus.
NBA app
React Native app that display real time data from various NBA.com APIs.

Python

uoft-scrapers
Web scrapers for public data from around the UofT campus.
Many scripts, scrapers, bots, and APIs.

Rust

clang-decl-type-stats
A simple clang module for analzying declaration types in C/C++ source code.
quickwit-oss/tantivy
Worked on this full-text search engine library as part of my employment at Airtable.

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 graduate Compilers course assignment. (CSC488)
ext2
For an OS assignment. We implemented various commands from scratch for the ext2 filesystem: cp, ln, mkdir, rm, restore. (CSC369)
Distributed KV Store
A simple distributed key-value store - for a graduate OS course assignment. (CSC469)
sqlite
Sqlite interface written in Python for a graduate Databases courses. (CSC443)

General

nestedparens.com
Tech blog for esoteric software bugs.
kashav.ca
Personal website.
kshvmdn.github.io
Many previous iterations of my personal websites.

(Last updated mid 2024.)