Projects Index is a index that contains a list of almost all projects for which I have ever worked on. Major categories are highlighted from chapter titles.
Research Projects
I end up doing a lot of research these days, and so have isolated that to a different, academic homepage.
For a list of my recent research, please head to my academic homepage. For concision they are NOT repeated here.
Large-Scale Endeavors
Condution
An open-source task management app. Website.
Motivation: I got really tired with most other to-do apps after swapping them out over and over again, until I got fed up and built one with some friends.
- Role: Co-Founder, Lead Developer.
- Technologies: React, Ionic, Firebase, Typescript, Swift, PostgreSQL
- Key facts: 10,000+ users, 8-person team, featured in the Bay Area almanac, praised by Asana’s head of developer relations for “open-source advocacy”
Simon
Augmenting the functionality of large-language-models with Elastic. Repository.
Motivation: LLMs have become more and more prominent, and frameworks like ReAct is finally mature enough to produce coherent, well reasoned responses.
- Role: Author
- Technologies: Huggingface, GPT-3.5, ElasticSearch
CMU batchalign
A pipeline for the automated preparation of annotated CHAT transcripts from raw audio. Repository.
Motivation: my work over the summer.
- Role: Author
- Technologies: Torch, Huggingface, NLTK, CLAN, computational linguistics
- Key facts: work developed with and maintained under Prof. Brian MacWhinney at CMU’s psycolinguistics department.
SSI Polar Rover
We are sending a Rover to Antarctica! Controller Repository, Guidance and Nav Repository.
Motivation: rovers are cool, and we can do lots of search and planning with it.
- Role: Team Lead
- Technologies: PX4, Search and Planning (Classic AI), Kalman Filters, Embedded Systems, Teensy Microcontroller
- Key facts: work sponsored by Stanford research and are on track to be tested in Antarctica in Summer 2025
AIBridge
A bootcamp for non-CS students in data science. Website
Motivation:
- Role: Co-Founder, Lecturer
- Technologies: Python, ScyPy, Scikit-learn, Pandas
- Key facts: worked with Prof. Xin Liu at UC Davis to develop an introductary one-week bootcamp in ML. We piloted the program this summer at Davis to an in-person group of 20 PhD students in food science sponsored by AIFS.
Full-Stack Projects
tractotato
CommonLisp macroset for time tracking. Repo.
Motivation: I wanted to learn CommonLisp macros syntax after reading the Land of Lisp book.
- Role: author
- Technologies: CommonLisp
Scratchathon Portal
Portal to submit projects for a scratch hackathon I hosted. Repo.
Motivation: my friends McGuy and fuelvin, both content creators on Scratch on YouTube, put together a Scratch hackathon summer of 2020. This is the submission portal.
- Role: author
- Technologies: React, Vercel, Firebase
syzygy
Library rethinking to-do list dating to be more flexible and powerful. Repo.
Motivation: a friend and I wanted to innovate beyond the scope of Condution to see how we can abstract away a to-do list system to its bare minimum.
- Role: co-founder, co-author
- Technologies: Rust
positron
Library for building lightweight native apps using web tech. Repo.
Motivation: I wanted to re-make electron to be more lightweight using Suckless’ Surf browser concept.
- Role: author
- Technologies: C++, GTK
MODAP
A R&D team for fireline safety during emergency fires. Repository.
Motivation: a friend approached me with an opportunity to help our local community, especially with the increased influx of fires.
- Role: Team Lead
- Technologies: Rust, Torch, ARM, electronics (i2C, UART, messaging protocols, etc.)
- Key facts: coordinated 5 engineers in developing new technology, supported by Dr. Robert G. Gann, Deputy Director, Center of Excellence for Advanced Technology Aerial Firefighting at the state of Colorado as well as Captain Mason of CalFire
OS/Driver Development
Broadcom Wifi/Bluetooth 4377 Chip Linux Driver
A driver patchset to support cutting-edge Broadcom 4377 Wifi/Bluetooth chips. Repo.
Motivation: I needed to be able to use Wifi on my laptop while running Arch Linux.
- Role: author
- Technologies: C, (small amounts of) Assembly
- Key facts: integrated into the t2linux pipeline used to make WiFi possible on Linux for most MacBooks released after 2018
Distributed Algorithms and Parallel Computing
coveather
An encrypted, anonymized system for protected health information verification. Preprint, Repo, and internal note.
Motivation: I wanted to be able to make vaccine passports more feasible because the current COVID testing/vaccine verification scheme is really bad.
- Role: author
- Technologies: Clojure,
core.async
concurrency, Monte-Carlo simulations, blockchain, PGP - Key facts: project won first place at the California STEM Fair, and got special recognition from the Yale Science and Engineering assoc. Total award $3000.
multischedule
A multiple-asynchronous scheduling and delegation algorithm. Repo.
Motivation: (didn’t even come close to getting there) I wanted to create a way to solve or simplify debugging loop overrun problems in robotics codebases.
- Role: author
- Technologies: Clojure,
core.async
concurrency
rotifer
A work-in-progress distributed algorithm for taproot. Repo.
Motivation: I wanted to make taproot even more distributed if possible.
- Role: author
- Technologies: Clojure, XML, UDP, ICE
simian
Exploring OT/CRDT and collaborative text editing for taproot. Repo.
Motivation: I wanted to learn about how apps like Google Docs work, and explore Operational Transformation/CRDT, in hopes of putting it into taproot.
- Role: author
- Technologies: Clojure, OT, CRDT
aron
A distributed multi-dimensional optimization tool. Repo.
Motivation: Nueva’s course scheduling was quite a mess, and I wanted to help. It is a very complex problem and this project is in the freezer at the moment.
- Role: author
- Technologies: CommonLisp
mitte
Motivation: a friend and I wanted to explore UDP.
- Role: co-author
- Technologies: Rust, UDP, ICE (connection)
Cryptography and security
See also: coveather.
jrainbow
An implementation of a MD5 rainbow table. Repo, Crate.
Motivation: I wanted to understand how Rainbow Tables worked.
- Role: author
- Technologies: Rust, MD5
Note-taking Systems and \(\LaTeX\) improvements
taproot
A shared zettlekasten of notes and learning resources put together by some friends and I. there has been a few iterations. Current Repo, Current Site, Legacy Site, Even More Legacy Site.
Motivation: I started writing nice \(\LaTeX\) PDFs of my homework, and some friends wanted to have access to it. Later when I mentioned it, another friend had a similar need; so we asked many people to pool our notes and work together to share.
- Role: co-founder, co-lead, developer
- Technologies: Next.JS, XeLaTeX, GNU Make, Firn, Hugo, Emacs Org, Org-Publish, Markdown
blag
The zettlekasten you are currently in! My currently maintained personal knowledgebase. Repo, Site.
Motivation: I wanted to experiment with more advanced note-taking techniques after developing taproot, and it ended up superseeding the note-taking abilities of taproot.
- Role: author
- Technologies: Next.js, Emacs Org, Hugo
gdoc.el
A utility to enable GNU Emacs to edit Google Doc documents based on the gdrive
utility. Repo.
Motivation: I wanted to edit Google Docs in Emacs!
- Role: author
- Technologies: GNU Emacs, elisp
interesting
Things that my friends and I find interesting, chucked on the web and builds itself. Repo, Site. No longer maintained.
Motivation: many text channels were too clogged with stuff my friend group found interesting, so I wanted to take initiative to collect them.
- Role: co-founder, author
- Technologies: Next.js, Vercel, remark, CommonMark Markdown
Public Configurations
borg
Automatically configure terminals. Repo.
Motivation: I needed a way to copy my system terminal config onto a system quickly.
- Role: author
- Technologies: Bash, Zsh, OhMyZsh
.config
A group of sane configuration files. Repo.
Motivation: some Redditors asked for my Config, and I thought I’d share it to benefit the community; also for personal backup.
- Role: author, maintainer
- Technologies: Unix administration, Perl, Ruby, LISP
.emacs.d
Simple, powerful, and semantic GNU Emacs configuration for personal use. Repo.
Motivation: I wanted to track my progress in developing a working Emacs config.
- Role: author, maintainer
- Technologies: GNU Emacs, elisp