Code
I have been writing computer programs professionally since 2009. Besides work, I have some side projects that I work on in my free time. Most of them are available on Github under open source licenses.
Active side projects
captrice: Captrice is a deliberate practice app for guitar players. It's built using Rust, Typescript, Vue.js, PostgreSQL and follows the local-first paradigm.
ape [Elisp] An experimental
"Monkey see, monkey do" approach to AI-assisted coding (or file
editing in general). Think of it as emacs's keyboard macros-like
functionality but AI-driven.
plectrum [Rust] A crate for
mapping lookup tables in an RDBMS db to Rust enums.
tapestry [Rust] A CLI
tool/framework for writing (postgre)SQL queries and (pgTAP) tests
using Jinja templates.
axy [Emacs Lisp] Emacs utility
for adhoc expansion of yasnippets.
clockwise [Rust] A
command-line tool that reads Emacs org-mode files and aggregates clock
entries, displaying total time spent within a specified date range.
dupenukem [Rust] A command
line file deduplication tool.
Older, unmaintained projects
pipdeptree [Python] I am
the original author of pipdeptree but I'm no longer the maintainer
1. It's a
command line utility to display the dependency tree of packages
installed in a virtualenv using pip. To some extent, it's inspired by
the lein deps :tree command of Clojure's
Leiningen.
sphinx-doc.el [Elisp]
(demo)
An emacs minor mode for Python to generate
sphinx style docstrings for functions and
methods from the formal parameters in their definitions.
Attercop[Clojure]
A webcrawler written in Clojure as a learning exercise to
understand the core.async library.
The Game of life
[Python,Clojure]
(demo)
Toy implementations of Conway's game of life that run in the
terminal. Includes utils to download and parse more than 400 patterns
from the game of life lexicon.
lookupy [Python]
Django QuerySet like interface to query simple Python collections.
nozzle [Python] An even more
quick and simple way to write unit tests using nose (highly
experimental).
jquery-sticky-buttons
[Javascript]
(demo)
A jQuery plugin to make buttons stick to the top of the page as
user scrolls down.
jinger [Python] 2 My attempt at
the one thing that any self respecting programmer is expected to write
at least once in their lifetime — A static site generator!
PHPDbMigrations
[PHP] South (Django) like, but minimalist db migrations for PHP and
MySQL applications. While the repo shows me as the sole contributer,
it involves a lot of work by my then co-worker Jimit
Modi when we were working together at
Kodeplay.
Ten-Chord-Workout
[Javascript]
(demo)
A browser based game in Javascript to practice remembering notes in
chords (music). The twist is that the scoring rules resemble that of
ten-pin bowling. Give it a try!
GuitarJs [Javascript]
(demo)
A small javascript library for guitar notes, scales, chords. The above
game of Ten-Chord-Workout is written using it.
Mines [Javascript] Minesweeper
in the browser using jQuery.
Footnotes
1. As of Sep 2022, I am no longer maintaining
pipdeptree. Bernát Gábor and the
tox-dev org have been kind enough to
adopt and maintain it. ↩
2. This site is not created using jinger. It's using pelican instead. ↩