Peter C-S Projects

A command line tool for analysing HTTP archive (HAR) files, written in rust. Features tools for extracting URLs and sorting them in a domain tree, DNS auditing, checking against common blocklists (Mullvad, EasyPrivacy, AdGuard), and searching.

A raytracer written in Rust, following Ray Tracing in One Weekend(opens in new tab), with lots that I'd still like to add (see the README(opens in new tab)).

It currently differs from the book as lines are rendered in parallel for speed. My design allows for multiple different anti-aliasing techniques (though only two are implented right now, and I may rethink the code structure).

NOTE:

I built this because of the points in the note for craytrace below.

A very rudimentary raytracer written in C, follows Ray Tracing in One Weekend(opens in new tab) up until section 10.

NOTE:

I will likely return to this project after writing a raytracer in a different language, this project hit a wall as early design decisions didn't fully account for future additions. I'll probably rewrite it at some point, implementing metals, dielectrics, camera manipulation, and defocus blur.

Reminders for the terminal, written in C. Mostly complete, still need to implement recurring reminders and a way to create, delete, and modify reminders without manually modifying the .reminders file that stores reminders.

After being nerd-sniped by a by a tweet, I went about writing an interpreter for the esoteric programming language Brainfuck(opens in new tab). I decided to use C and currently it can be built with the Zig build system or GNU Make with GCC.

Memory is dynamically allocated, so if the data pointer attempts to move out of the currently allocated region of data, memory will be reallocated to accomodate.

After a while of no luck debugging, I finally fixed an issue that meant the interpreter was skipping past more ] instructions than it should have. So here's some cool programs running:

In an attempt to learn the Zig programming language, I decided to create a basic HTTP server.

It currently only crudely implements the GET method, but I've been able to locally host this website with it, which is all I really wanted.

Frontier is a small Rust command line tool for ease of reproducing installations. It is still WIP (on the back-burner), but currently supports generating a configuration file that lists all user installed packages which can then be installed using Frontier.