About Me

About the author:

Caleb Gardner's profile picture

Caleb Gardner

A nerd doing nerd things (TODO: Better description)

My Projects

Language Filter:

squashfs

Go: November 2020 - Today

Tech: Golang, Linux, Multi-threading, Bitwise Operations, Git

This is the only pure Go squashfs library available with full capabilities. When I first started working on the library I had very next to no knowledge of the squashfs format and in less then a month had a functional library. Since then I have continued supporting the library, adding features, making it comply with io/fs, and fixing any bugs that are found.

SWAssistant

Dart: December 2021 - Today

Java: November 2016 - January 2018

Tech: Flutter, Dart, Android, PWA, OAuth, Google Drive, RESTful APIs

This is my largest project and one of the oldest. SWAssistant is a character sheet app for the Star Wars TTRPG system and is published on the Google Play store with over 3500 active installs. It was one of the first apps I made when I taught myself Android programming and actively developed and supported the app for a year before life got in the way and I abandoned it for a few years. I ended up picking it back up and completely re-wrote the app in Flutter and have been actively supporting it ever since. It allows for users to sync their character sheets via Google Drive, and additionally uses my custom backend for crash reporting, user count, and sharing character sheets. Click here for more info.

Darkstorm Server

Go: September 2021 - Today

Tech: Golang, Backend, HTTP, RESTful APIs

This is the server that is hosting this webpage. It is setup to host files (obviously), but to also host web apps where paths are handled by the app's main index.html instead of trying to return a non-existant file. Additionally the server includes a RESTful API that my mobile apps make use of for user count and crash reports.

go-appimage

Go: December 2020 - Today

Tech: Golang, Linux, Bash, Git

Unlike the other projects on this page, this is not my project and instead a project I've contributed to. My initial contributions to this project was to implement my squashfs library, but have since fixed several bugs and even re-made the project's build system. All in all I've submitted nearly 20 PRs and am the second largest contributor to the project.

LinuxPA

Go: September 2016 - November 2020

Tech: Golang, GTK

This is my attempt at creating a PortableApps.com launcher that works with Linux. It uses GTK3 for the UI and is able to parse the PortableApps.com format for applications. It supports running Linux executables, AppImages, and Windows apps via Wine.

bbConvert

Go: April - September 2016

Tech: Golang

This is one of my first ever Golang projects. I made this library as part of a school project and it simply converts bbCode into HTML.

Custom Dice Roller

Dart: March 2023 - Today

Tech: Flutter, Dart, Android, OAuth, Google Drive, RESTful APIs

Custom Dice Roller (CDR) is a fairly simple app that allows users to create custom "dice", ranging from something very simple like a coin, to dice with multiple values per side. Then, when the user wants to roll the dice, they have the option of rolling it by itself, or use dice formula for more complex rolls with multiple types of dice. Click here for more info.