Software Projects
I've written a few small projects that I've released and have semi-maintained. Some of these are from my PhD, while others are work related, or projects I've just written out of interest. All are currently hosted on GitHub.
While the projects listed here are written in a range of languages, my main programming languages are Java and JavaScript.
- Rusty Systems is an L-System library I wrote in Rust to explore the language. The library itself is usable, although incomplete. It also has a command-line tool that can run simple L-System grammars using an SVG-output interpretation (in other words, it can create SVG files from L-System grammars). Licensed under the MIT license.
- brandseyer2 is an R library that wraps the DataEQ API, providing a convenient interface for analysing and visualising a client's account data in R. It's licensed under the MIT license.
- CL-HEAP provides various implementations of heap data structures (a binary heap and a Fibonacci heap) as well as an efficient priority queue. The Fibonacci heap has interesting run time constraints, with many operations occurring in constant or amortised constant time, making it a potentially good choice for implementing algorithms such as Dijkstra's shortest path and Prim's minimum spanning tree algorithms. The project is licensed under the GPLv3, and written in Common Lisp.
- L-MATH is a Common Lisp library for simple linear algebra in geometric applications. Vector and matrix classes are available, as are linear interpolation functions and various operations related to creating rotation matrices. It also has some spline support (Hermite and Bezier curves, B-Splines and Catmull-Rom splines). The code is licensed under the GPLv3, with the Classpath linking exception.