I've been learning to code for the past three years, starting at 01Founders, a branch of the 01Edu family of coding bootcamps. I now have three years experience of Go, two and a half of JavaScript, and one of Rust. An asterisk after the title denotes a 01Founders project.
- almondala An online fractal explorer. (Wasm, TypeScript.)
- 0-shell* A simple shell.
- a-ray-tracer-darkly* My resonse to the 01Founders challenge called rt.
- holocron A program to encrypt and decrypt messages with a hybrid cryptosystem, combining a conventional key-exchange mechanism with one of the proposed post-quantum algorithms.
- filler* A bot to compete against another bot at a game called filler. (Docker.)
- smart-road* A rudimentary simulation of traffic at an intersection.
- thanatarchia A turn-based, historical strategy game. (TypeScript, React.)
- river-run A whimsical frontend portfolio.
- overreact* A simple frontend framework with virtual DOM, state management, event delegation, and routing.
- react-tarot A carousel of AI-generated tarot cards. (React.)
- ziggurats An exercise to help me learn about Canvas animations and MVC architecture, which also turned into an exploration of performance.
- spotify-scraper A program to scrape Spotify premium individual plan price data for all countries.
- mad* The Mad Bomber's Tea Party. We had to recreate the '80s classic Bomberman as a multiplayer browser game. Based on a single-player version by fellow students; see credits in game and in the README.
- retro-raiders* First JavaScript project for 01Founders: a classic arcade game for the browser.
- penumbra A task manager web app, written mostly in Go, using Go's HTML templates, with minimal JavaScript, and the DaisyUI CSS framework for styling.
- social-network* Group project to make a Facebook-style social media site using WebSockets, React, and SQLite. I was responsible for the serverside WebSocket code. Looking back on it now, I note that contribution is naively structured. It also fails to take full advantage of the duplex connection, having only one goroutine (thread) per connection, rather than a goroutine each to handle incoming and outgoing messages.
- lem-in* First significant 01Founders project. I enjoyed this one a lot. We had to find an optimal way to send ants through a maze. It taught me some graph traversal algorithms and the concept of maximum flow.
- push-swap* My attempt at this challenge to sort a list of numbers using two circular stacks with as few instructions as possible.
- stock-exchange-sim* A playfully named 01Founders optional about task scheduling heuristics.
- brainfuck An interpreter for the eponymous 'esoteric' programming language.