oddly specific little puzzle tools
a week of porting puzzle tool scripts to web
Tiny virtual machines and a bloatware rant
In which I go through an LC-3 VM tutorial, explain a lot of computer words, read up on `uxn`, and complain about modern toolchains
More awful JS fun facts
on array comparison, and the JS version of dict.update()
Maximizing your time at Recurse Center, 2023 edition
With two full batches and a couple of mini-excursions to Recurse under my belt, I feel at ease summoning the spirit of RC any time. An updated summary of my hot tips for getting the most out of your RC batch.
Added a microblog to my blog
Jekyll-magic fun facts to spawn low-friction daily journal entries
Weird Javascript fun facts I stumbled over while building a Bezier curve editor
The joys of navigating proper encapsulation when your first-class functions have gone wild
Blog tag refactor: splitting 'tags' and 'tech tags'
I implemented another tag type on my blog to compartmentalize actual concepts from tech stacks
RC sp1'23: having a body and goals
6 weeks of debugging physical issues, within the accountability timebox of Recurse Center's core hours
Rust learnings from a simple temperature converter
Lazy static regexes, overflow checking, and praise for the Rust book
Why Kademlia uses XOR as a distance metric
An educational interlude into the bitwise workings of BitTorrent!
Brain hygiene, spring cleaning edition
Revisiting my executive function self-care tactics for accountability against the inevitability of distractibility
Red & green flags in software work culture
Tips on common patterns in industry, and how to evaluate them in an interview
Compact human-readable Spotify export
Save your music curation data in case Spotify ever deletes it or implodes!
Syntax highlighting my keymap quickref
What did I fill all four layers on my keyboard with, anyway?
R61 trackpoint keyboard mod, Part 2
Assembling, mounting, and E2E connection.
Bootloaders & QMK
Today I learned more about firmware than I ever planned to in my life. I hope this trivia saves someone else from firmware hell.
R61 trackpoint keyboard mod, Part 1
On a quest to reunite with my most beloved of peripherals.
ghostlines
A ghostly trace of your motion on a webcam. Now in real time!
Low-res webcam processing experiments
What can I say, I love old-school image compression.
Unbricking my Pro Micro
In which I bust my firmware and bootloader, cry, fix them, and break them again.
Pyodide - first impressions and basic profiling
A truly ergonomic onboarding experience for WebAssembly pre-packaged for scientific computing.
I dyed my keycaps
I was going for "steampunk lenovo" but accidentally got "chocolate strawberry" because my green PCB is visible. See full post for DIY writeup.
Downsizing my keymap from 6x3 to 5x3
Reducing my pinky load even further with a custom keymap.
crkbd life
Extolling the virtues of 40% split ergo keyboards for pinky pain management.
Brain hygiene
Collected life hacks from 8 weeks of running a support group for chronically distractible programmers.
Phonemic similarity exploration
A brief splash in a dataset of phonemic inventories in rare languages.
Ultralight / performant static web dev roundup
A quick roundup of some fast or lightweight web dev approaches I enjoy.
Breaking out a git repo subdirectory
For when your micro-projects get too big and need to move into their own repo!
Thawing from deep freeze
Post-2020 acclimation, writeups of some algorithmic warmups, and bash masochism.
RC Minimax
Getting the most out of my Recurse Center mini-batch, and prep I wish I had done.
Automated Jekyll blog tags
How I implemented tags for this blog theme (no, they did not come with it)
My first few days of exploring Clojure
Koans and functional elegance.
Clojure dev setup links
Handy resources I collected while setting up my Clojure env.