~/opensource

Open Source

Libraries, plugins, and tools I maintain or contribute to in the open.

I spend a fair amount of time building and maintaining open-source Java projects. Most of them started from a personal itch (run Java on a Pi, render Lottie animations in JavaFX, control DMX lights from code) and grew from there. Here is a short tour of the ones I am most involved with.

Pi4J

Pi4J is the friendly Java I/O library for the Raspberry Pi. It wraps GPIO, SPI, I2C, PWM, and other interfaces behind a clean, idiomatic Java API, so reading a sensor or driving an LED stays familiar to anyone who already knows the language. I am the lead maintainer of the V4 rewrite and write a lot of the documentation, examples, and tutorials around the project.

Lottie4J

Lottie4J brings Lottie animations to JavaFX without a WebView. The library parses the Lottie JSON (and dotLottie ZIP) format and renders the animation natively on the JavaFX scene graph. The goal is to make it easy to drop the same Lottie animations you use on the web or mobile into a desktop Java application.

DMX512 for Java

DMX512 is a Java library for controlling DMX512 lighting fixtures, the protocol used in stage and theatre lighting. It supports USB-to-DMX controllers and works with JavaFX for building visual control interfaces. Useful if you ever wanted to drive a stage rig from a Raspberry Pi.

Recent Projects Organizer (JetBrains plugin)

Recent Projects Organizer is an IntelliJ IDEA plugin (and works in the other JetBrains IDEs) that lets you group, sort, and clean up the “Recent Projects” list. A small tool, but if you juggle a lot of repositories it removes a daily friction.

Lemonsqueezy Java client

Lemonsqueezy is a Java client for the Lemon Squeezy payments and licensing API. Built it to handle book and software sales for my own projects, then opened it up so other Java developers can integrate Lemon Squeezy without rolling their own HTTP wrapper.

MelodyMatrix sources

MelodyMatrix is a JavaFX desktop application exploring music, MIDI, and dockable UIs. The source code of the viewer components is open, so anyone curious about what is possible with JavaFX rendering, can read along and contribute.