I'm a software developer. I enjoy creating software a lot - so much so that I spend my free time doing it, too. I intend to write about some of my projects here. I really enjoy learning things, so I tend to pick projects around topics that I don't know very well, and I learn as I go. As such, most of my posts will probably be reports on what I'm doing, and what I've learned.
I'm interested in computer graphics - particularly ray tracing - and operating system development. I'm also interested in meditation, movies, and sometimes video games - so I might write about that stuff sometimes, too.
Feel free to email me! (My email is an image in attempt to dodge spam. I'm not sure how effective this is, but I made an attempt at least.)
Here's a list of my personal projects. They all work to some extent, although none of them are feature-complete. (Which would be nearly impossible anyway, since there's an OS, programming languages - potentially very large projects.)
ray tracing using CUDA (also can be compiled for just CPU). This is my current project. Much of the code is structured after Ray Tracing in One Weekend , and there is also inspiration from pbrt-v4. It contains all of the features of the first Ray Tracing Weekend book (spheres, plus some materials), plus CUDA support, Bounding Volume Hierarchies, triangles, meshes.
This project is very much work-in-progress, and the code could probably use some straightening up and refactoring.
a toy operating system kernel I work on from time to time for learning and hobby purposes. It's nothing fancy - no GUI or anything - but it features a higher-half kernel, a custom toolchain, very basic networking (TCP, DHCP, an rtl8139 driver), basic userspace processes and context switching (although single-threaded), rudimentary FAT16 support. It was named alloy because I originally started it in Rust, but switched to C for various reasons - maybe I'll write about it sometime.
A toy interpreted programming language written in Rust.
A toy compiler from a small subset of C to WebAssembly. Written in TypeScript.
A plugin for doing Salesforce development using atom.io. atom is no longer maintained, and I don't work on Salesforce any more, but this was my first project! I wanted to be able to use a more modern editor than the options at the time (I think Eclipse was the main option at the time), so I made a plugin that allowed me to work on Salesforce files on my machine, upload them, and also create Salesforce deployments. I used it daily back then!