Applications
These are some of the native applications I've built.
Project | Description |
---|---|
Franz | A desktop client for Apache Kafka. |
neko.app | A tiny kitten follows your mouse cursor on macOS. |
Podcatcher | A podcast player for iOS. |
Remember | A keyboard-driven application for stashing away distractions for later. |
Websites and SaaS
These are some of the web applications I've built in my spare time.
Project | Description |
---|---|
Racksnaps | Daily snapshots of the official Racket package catalog. |
Task Queues | A list of message brokers and task queues across many programming languages and implementations. |
Libraries and Tools
This is the stuff I'm actively maintaining.
Project | Description |
---|---|
actor | Kill-Safe actors for Racket. |
avro | A Racket implementation of the Apache Avro serialization format. |
binfmt | A binary format parser-generator. |
chief | A Procfile runner for Racket. |
component | Dependency injection for Racket. |
crontab | Cron-like scheduling for Racket. |
cursive_re | Readable regular expressions for Python 3. |
dbg | A remote debugging/monitoring tool for Racket programs. |
define-query | Turn .sql files into virtual-statements in Racket. |
deta | A functional database mapper for Racket. |
dramatiq | A distributed task processing library for Python 3. |
dramatiq_dashboard | A monitoring UI for Dramatiq. |
dramatiq_sqs | An Amazon SQS broker for Dramatiq. |
forms | A web form validation library for Racket. |
geoip | Geolocation for Racket based on MaxMind's GeoIP databases. |
gui-easy | A declarative GUI library for Racket. |
http-easy | A high-level HTTP client for Racket. |
koyo | A web development toolkit for Racket. |
lz4 | A pure-Racket decompressor for LZ4 data. |
marionette | A Racket library that lets you control Firefox via the Marionette Protocol. |
messagepack | An implementation of the MessagePack serialization format for Racket. |
molten | A modern API framework for Python 3. |
monocle | Lenses for Racket. |
monotonic | Monotonic time for Racket. |
nemea | A little Racket web application for tracking website analytics. |
net-ip | Utilities for working with IP addresses and networks in Racket. |
noise | A Swift Package for embedding Racket inside applications. |
north | A database schema migration tool written in Racket. |
place-tcp-listener | A TCP listener that dispatches new connections to places. |
postmark | A Postmark client written in Racket. |
py-test.el | A Python test runner for Emacs. |
rackcheck | A property-based testing library for Racket with support for shrinking. |
racket-kafka | A Racket client for Apache Kafka. |
racket-lua | A Racket #lang implementation of Lua. |
racket-protocol-buffers | A Protocol Buffers implementation for Racket. |
racket-redis | Fast, idiomatic bindings to Redis for Racket. |
resource-pool | A generic resource pool for Racket. |
resource_pool | A generic resource pool for Python. |
review | A linter for Racket. |
sass | Bindings to libsass for Racket. |
sentry | A Sentry SDK for Racket. |
setup-racket | A GitHub Action for installing Racket. |
smtp-server | An SMTP server implementation for Racket. |
twilio | A Twilio client for Racket. |
wasm | A WASM VM written in Racket. |
watchdog_gevent | A gevent-based observer for watchdog. |
web-app-from-scratch | Supporting material for my "Web App From Scratch" blog series. |
Archive
These are libraries and tools that I am no longer actively maintaining. Most of these are perfectly usable and don't require maintenance, but if you use them and run into problems I won't help much beyond maybe giving you some pointers.
Project | Description |
---|---|
PyREPL | Run a Python interpreter inside Vim. |
RbREPL | Run a Ruby interpreter inside Vim. |
anom-go | An object mapper for the AppEngine Datastore in Go. |
anom | An object mapper for Cloud Datastore for Python 3. |
apistar_cors | CORS support for API Star apps. |
apistar_dramatiq | Dramatiq support for API Star apps. |
apistar_prometheus | Prometheus metrics for API Star apps. |
apistar_request_id | Request id generation and propagation for API Star. |
apistar_sentry | Sentry support for API Star apps. |
apistar_settings | A settings component for API Star apps. |
browser-connect | Live browser interaction for Vim. |
cedar-mode | Emacs mode for cedar. |
cedar | A web service definition format and code generator. |
crontab | A crontab spec parser for Scala. |
elm-ast | A parser for Elm in Elm. |
elm-combine | Parser combinators for Elm. |
elm-cookiecutter | A cookiecutter template for Elm apps. |
elm-datepicker | A reusable datepicker for Elm. |
elm-generate | Generators for Elm. |
elm-mode | An Elm mode for EMACS. |
elm-querystring | A library for working with querystrings in Elm. |
elm-route | A type-safe routing library for Elm. |
elm-time | A pure Elm date and time library. |
falcon_sugar | A little sugar for Falcon applications. |
fargate_scraper | A CLI tool that scrapes Fargate tasks to find Prometheus targets. |
ff | A fuzzy-finder for the terminal. |
firechannel | An almost-dropin replacement for the GAE channels API using Firebase. |
h2p | A Python interface to libwkhtmltox. |
heater | A Python heatmapping library. |
hugs | A library that maps SQL expressions to Python fuctions. |
ido-clever-match | An alternative matcher for Emacs ido-mode. |
markii | A development-mode error handler for Python web apps. |
modviz | A module dependency graph visualizer for Python. |
mold | A fast templating engine for Python. |
multiprom | A multiprocess-friendly Prometheus client for Python. |
pico | A minimal lisp interpreter written in Python. |
quicksilver | A fast file finder for VIM. |
tcopy | A tail-call optimizing decorator for Python. |
threadop | Adds a threading operator to Python. |
trio-redis | A trio-based Redis client for Python. |
yes.py | A fast implementation of yes in Python. |
zed | A toy text editor. |