This repository contains most of my open source and source-available code.
For my GPL-compatible free software, check out my GPL-compatible software repository.
https://github.com/jfhbrook/anisotropy
This project contains my masters thesis. It is licensed under the Community Research and Academic Programming License v0 Beta 0.
A bash script, using copr-cli
and yq
, to implement an infrastructure-as-code
pattern similar to kubectl apply
. It is licensed MIT.
https://github.com/jfhbrook/dosapp
A small application for installing and running DOS applications in DOSBox. It's written in go. License is MIT.
The heos
folder contains a simple CLI wrapper that connects to Denon HEOS
devices over Telnet. For further documentation, run ./heos/bin/heos -h
.
License is MIT.
A collection of scripts I use to glue my Linux desktop and general CLI experience together. Available under a MPL v2.0 license.
https://github.com/jfhbrook/matanuska
Matanuska is an ongoing project to implement my own programming language, in the BASIC family. It's currently written in TypeScript. Matanuska is a major undertaking, and still needs a lot of work! It's licensed under the MPL v2.0.
https://github.com/jfhbrook/crafting-interpreters
As part of this project, I worked through
Crafting Interpreters by Robert Nystrom.
It includes my implementation of clox
, as well as a port of jlox
to
TypeScript.
old memes is an old-school Node.js anti-framework built around the good parts of flatiron, a selection of classic substack libraries and the few worthwhile things I personally wrote between roughly 2009 and 2016 - with a targeted dash of modern conveniences. It's a big project, so see its README for more details.
https://github.com/jfhbrook/hoarders
One of my old modules includes hoarders
, Node.JS's most complete "utility
grab bag."
omsxctl
is a small rust CLI for controlling openmsx over its socket interface.
It can be useful if you're doing retro MSX game development.
These are files I've written for OpenSCAD. So far, these are available under a MPL v2.0 license.
This folder contains files for configuring and building COPR packages.
https://github.com/jfhbrook/homebrew-joshiverse
I also have some homebrew packages in a separate repository.
https://github.com/jfhbrook/plusdeck
I own a Plus Deck 2c PC Cassette Deck, which is a casette player in a 5.25" drive bay form factor with rs-232 serial controls. This project contains library code for interacting with its serial interface over Python, including a Jupyter interface. It's licensed MIT.
These are projects I've done for political organizations. For more information, see its README.
https://github.com/jfhbrook/pyee
This is a loose port of the Node.js EventEmitter with special support for coroutines and concurrent programming. It is licensed under an MIT license.
https://github.com/jfhbrook/resume
This is my resume! This repository contains a .pdf and .docxPDFs version of my standard 2-page resume.
https://github.com/jfhbrook/templates
A small collection of cookiecutter templates, MIT-licensed. These include templates for Python, Flask, TypeScript, Nest.js, and PowerShell.
This is a module that makes autoawait work in IPython using Twisted. It is licened under a BSD 3-clause license with additional restrictions. See the included NOTICE file for details.
For more information, read the blog post on dev.to.