Projects
I'm a big fan of learning by doing, so below you'll find a selection of side projects in varying languages that I've either built to learn or built to solve a problem.
More projects can be found on Github here.
-
LogTrap
A handler for Go's log/slog package that aims to save logging costs by buffering (debug, or info) logs in a ring buffer and only flushing them when an error (configurable) occurs. -
C based TFTP Server
A simple UDP-based TFTP implementation that achieves TCP-like reliability semantics but over UDP. This implementation was created following the RFC 1350 specification. A Go based version can be found here. -
Rust Based WebSocket Server
A Rust based web-socket server built from the ground up (including a custom HTTP Server) by following the WebSocket protocol (RFC6455). -
Go Based WebSocket Server
A Go based web-socket server built from the ground up by following the WebSocket protocol (RFC6455). -
2D Space Shooting game
Keen to learn TypeScript, I wrote this simple 2D based space shooting game. -
C# IL Viewer plugin for VS Code
To support viewing CIL (.NET's Common Intermediate Language) in VS Code I built this extension that compiles the tab's code in memory and extracts the CIL for viewing.