Skip to content
View saxbophone's full-sized avatar
🏳️‍⚧️
🏳️‍⚧️

Highlights

  • Pro

Block or report saxbophone

Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
saxbophone/README.md

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.

Projects I am particularly proud of:

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!

Other fun stuff

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

Pinned Loading

  1. CPP20-Cross-Platform-Template CPP20-Cross-Platform-Template Public template

    A template for a cross-platform C++20 project including CMake, unit-testing with Catch, cross-platform CI with Travis-CI/Github Actions and cross-platform release builds using Github Actions.

    CMake 21 3

  2. arby arby Public

    Arbitrary precision arithmetic in C++, even at compile-time

    C++ 8 1

  3. unmoving unmoving Public

    More convenient fixed-point arithmetic for the Sony PlayStation

    C++ 6

  4. dengr dengr Public

    Disc ENGRaver for Compact Discs

    C++ 5

  5. pid pid Public

    A fairly minimal PID controller implementation in C. Structured as an Arduino library but can build standalone.

    C 199 77

  6. libsxbp libsxbp Public

    Experimental generation of 2D spiralling lines based on input binary data - Library

    C 7 1