NOW
(created on May 07, 2025)
May 10, 2025
Currently sitting in an empty dorm room, about to move out. Recently found out about Zdog! It seems like a super cool, lightweight 3D engine. I've been wanting to implement an STL renderer for a while; maybe I'll try it with Zdog.
Still haven't ported the site to a parser/SSG approach. I'll do that when I get home. I've been yak-shaving on getting this website down in size. It used to be ~4KB, but I wasn't able to get the default webfonts looking the way IBM Plex Sans did. I decided to switch to Manrope. Each .woff2 file is roughly 14KB over the wire - I still am doing a FOFT approach + preloading the necessary fonts. Unfortunately, that means the site is a lot heavier - roughly 38KB now. I'll try to work on this some more, but I really do like the way Manrope looks, and I've been struggling to precisely match webfonts. I'll shave that yak when I get there.
Speaking of fonts, while I was trying to match webfonts (see Arial :0) to ones I liked better (Manrope, Atkinson Hyperlegible, etc etc.), I found Monica Dinculescu's font-style-matcher to be super useful. It basically just allows you to tweak two fonts side by side based off of a few parameters (line spacing, letter spacing, word spacing, font weight, and font size) and inspect the diffs. Font similarity seems to be a problem that could be tackled with a good optimization algorithm. fontjoy.com uses vector similarity to pair good contrasting fonts. While I've looked at bitmap fonts (writing a PSF parser helped!), .woff/.ttf fonts are totally foreign to me. I think font match optimization could be an interesting problem! It'd definitely save me a lot of headaches.
May 07, 2025
I'm just about to wrap up with final exams! I'll be in Durham, NC over the summer interning at Fidelity, so I've been making a list of nature trails to go explore.
In other news, I've been working on porting my OS to Limine. Refactoring my framebuffer implementation has brought up a few greatly needed architectural fixes I had been putting off before :)
Currently:
- Reading through Database Internals by Alex Petrov
- Working on a shared-nothing k/v store. LSM trees with trie memtables seem interesting! I'm looking at fanf's qp-tries right now for pointers on space efficient prefix trees.