I've been programming for a little over a decade now, to a professional level for several years.
My professional experience is mostly in web dev, but I also have some Windows desktop application experience.
github.com/saxbophone/arby | arby is a C++ library implementing arbitrary-precision arithmetic, both at runtime and compile-time! It exposes convenient-to-use class types encapsulating the arithmetic, with operator overloading and standard stream support. |
github.com/saxbophone/hexago | hexago is a cross-platform screensaver written in C++. It draws pretty shrinking hexagons! It integrates with the screensaver frameworks of both macOS and Windows (with some Objective-C++ glue code for the former!) |
Cross-platform C++20 project template | This is a Github project template intended for cross-platform C++20 dev. It includes an extensive CMake project config with lots of warning options enabled, and Github Actions CI config for unit testing on Linux, macOS and Windows. I use it for all my stuff and other people seem to find it useful too. |
github.com/saxbophone/libsxbp | sxbp and its implementation library, libsxbp are a pair of C projects exploring unconventional barcodes and procedural image generation. They implement a novel barcode of my own design, where binary bits are encoded by guiding the line of a right-angled spiral left or right as prescribed by the input data. Unfortunately, producing a compact-enough spiral that does not waste lots of empty space in the image it produces is a very computationally expensive process for barcodes longer than about 20 bits, but it was a fun an interesting experiment and a good practice at writing a well-documented C API with callbacks and error-handling. |
github.com/saxbophone/unmoving | unmoving is a C++20 baremetal library providing more convenient support for fixed-point arithmetic as used on the PlayStation. Getting a cutting-edge version of G++ to cross-compile for the PlayStation and programming within the constraints of bare metal was a fun challenge! |
github.com/saxbophone/wondercard | Emulating the communications protocol used for PS1 memory cards in software |
github.com/saxbophone/tr-sort | Experimental sorting algorithm which attempts to calculate the rough position each element should be |
github.com/saxbophone/colour-distance | Web app for finding colours that are "n distance away from" a given colour, intended for interior design |
github.com/saxbophone/triangberg | Just for fun, animated geometrically-constructed fractal-like arrangements of triangles |
github.com/saxbophone/zench | C++ Z-machine interpreter, work in progress |
github.com/saxbophone/galley | Galois Field arithmetic using compile-time-generated lookup tables |
github.com/saxbophone/dengr | Partial reverse-engineering of the low-level data encoding of Compact Discs |
github.com/saxbophone/lzw-bit | Bit-by-bit LZW compression with redundant-code-elimination |