• caslib

    Wanting to learn more about how computers do math, I took it upon myself to create a calculator with some algebra capabilities completely from scratch.

    I challenged myself to not use any computation code that wasn't my own, including the C standard library.

    After having to learn a bunch of new mathematical and computational concepts to get this to work, I have enough for a demo. Also, I wrote this to be able to be put on a microcontroller, so I'm currently working on a circuit board to make this thing into something physical.

    This is my largest project to date, and I am rather proud of it.

    Demo Repository

    Showcase of the demo's UI

    Hidden steps for root-finding

    The project running on a microcontroller board

  • lifpdf

    I greatly enjoy speed skating. However, there was a two-day competition by my home club where I suffered a minor concussion on the first day. Due to this, I volunteered the second day rather than skate. Here, I was often hanging around the electronic timing equipment, watching them work. There was one person who was generating PDFs and printing them in a rather slow fashion. I thought I could make it better.

    Here's my app that streamlines the process. It was my first project trying out a GUI library called Slint, and I did enjoy using it. It allows to first selected a RaceResult output LIF file, shows a preview, and generates a PDF based on the results.

    A user can then either save it to disk or print it using a native dialog.

    Repository

    UI of the app (anonymized names)

    Sample output PDF from the app (anonymized names)

  • 8-bit Computer

    After learning how computers work, I set about trying to make my own in VHDL. This language is used for describing the structure of microchips, so I figured it would be great for this digital hardware design.

    I rolled my own set of 16 instructions, and an assembler for them in Python. I've written a few simple programs for this computer, including one to calculate the Nth Fibonacci number.

    This project was a lot of fun. It cemented the basic principles of computer hardware into my brain, and it has helped me write better software too.

    Repository

    Block diagram of the computer

  • lscoltui

    I was trying to change the colours displayed by the 'ls' command in my terminal. After finding out the environment variable to configure it was annoying to do so, I began looking for a TUI tool to help me out. To my shock, I couldn't find one. Then I made my own.

    After posting this online upon completion, I was pleasantly surprised by the positive reception this tool got. It was nice to see something that I made be appreciated by those who it helped.

    Repository

    Screenshot of the tool

  • codelist

    This is the oldest of my projects on the list, and certainly the least technically impressive too. However, this is the first project that I ended up publishing to the wider world, so it occupies a special place for me.

    It's a super simple CLI utility that lists out directory contents in a format helpful for programming projects. It's got nearly 8000 downloads on crates.io as of writing this, though granted some of those may be automated indexing engines.

    Repository

    Screenshot of the tool

  • Fractal Clock

    I made this in an afternoon because I was bored. It looks nice.

    Demo Repository

    Embedded Demo