{% set meta={"title": "Projects", "desc": "List of projects I have made"} %} {% extends "/_base.html" %} {% block content %}

complexpr

Complexpr is a toy programming language with an interpreter written in Rust. It is dynamically typed, with native support for rational and complex numbers, lists and maps, and first-class functions. It features pipeline operators (similar to Elixir's |>) to express nested function calls more cleanly.

Quectocraft

Quectocraft is an extensible, ultra-minimalist implementation of a Minecraft server. By doing away with most features of the vanilla server (such as world generation and interaction) it can run without consuming many system resources. It is written primarily in Rust, but can load simple plugins written in Lua to add chat features and commands.

RSS Bundler

RSS Bundler is a tool that bundles multiple RSS feeds into one. At a fixed interval it fetches content from the configured feeds, merges them together, and stores and serves the result. RSS Bundler is written in Rust.

Complex grapher

Complex grapher allows you to functions using domain coloring. Functions are written in a custom expression language and compiled to GLSL. WebGL is then used to generate a color for each pixel. Complex grapher also has support for iterating functions, allowing you to generate fractals such as the Mandelbrot and Julia sets.

zzcxz visualizer

zzcxz visualizer displays a force-directed graph of zzcxz, a collaborative interactive fiction project. It is written in JavaScript and uses D3.js.

sysh

sysh is a shell that allows users to run Linux syscalls directly. It supports the entire set of x86_64 syscalls, as well as several other commands to manage memory, manipulate data, and perform arithmetic. sysh is written in C, using Python to automatically generate some code.

Musidl

Musidl is a Bash script that downloads music using yt-dlp and automatically add ID3v2 tags based on Youtube Music metadata.

Maze maker

Generate random mazes based on a variety of parameters. Written in JavaScript using p5.js.

Unit converter

Convert between various different units, including commonly-used ones as well as unusual or archaic ones.

Fraction base converter

Convert a fraction to its positional notation in an arbitrary base.

number

Make number go up.

Pixel circle

Create pixelated circles with a specified radius.

Stars

Generate stars.

{% endblock %}