After a nearly year-long break from working on Bluejay, I finally got back to working on the Lisp compiler. The big news is that I finally got the garbage collector fully working. One of the cool parts of the GC is that it works with both C and Lisp functions sharing stack space — so […]

I needed a RISC-V reference for a project (perhaps porting Bluejay to RISC-V???) and couldn’t find a good, searchable one online. I found some great documentation written by ~icefox on sourcehut, and made a little web page to show all the data with a search box. Hopefully somebody finds it useful 🙂 The web page […]

Github’s most recent shenanigans with Github Copilot essentially laundering GPL code (read more here) have made me finally decide to give up the service for most of my code. This is something I maybe should have done back when Microsoft bought Github, but better late than never. From now on I will be hosting all […]

Around Christmas I found myself wanting to do some good old Assembly programming, but didn’t really want to work on debugging Bluejay. Instead, I decided to write a little Forth system in 8086 assembly. This turned out to be a great deal more fun than I had anticipated, and it really made me appreciate how […]

Most of MS DOS’s API is accessed through one interrupt: INT 21h, with various flags in the AL register. This page should act as a useful reference to most of the useful API calls. The following abridged list of DOS int 21h function codes is derived from one created by Barry Wilks, which has in […]

A REFAL Interpreter

REFAL (Recursive Functions Algorithmic Language) was designed by Valentin F. Turchin at the Moscow Institute of Physics and Technology in 1966, with the first implementation completed in 1968. The language was designed for artificial intelligence, natural language processing, and more natural construction of recursive algorithms (Turchin, 1989). REFAL pioneered the concept of pattern matching as […]

6 Months of Bluejay

Nearly six months ago now I started working on a kernel that I called Bluejay. I didn’t have much of a goal from the get-go beyond wanting to do a bit of OS development, but after a few weeks of work I started to get an idea of where I wanted to go with the […]

Tiny QDF Parser

I wanted to write a parser for a key-value text based data format recently. Something similar to JSON and KeyValues, but easier to write than JSON, and with more features than KeyValues (mainly arrays). The format looks like this: Ozxy and I have named this the Quick Data Format, or QDF. We had a little […]