jimkang.com
Mild discomfort and long projects
August in brief
Turtles and an electrical party
Triangle wave
Ghosts and lists
Making a Firefox extension in 2025
Ukraine donations
Junior Calisthenics
Clearing the Neighbourhood
The Daily Sutra
The mystery of the Confucian Girl
Ultimate Bandcamp Fridays
A literal edge case
Obscura and the extrasonic part of music
Sleep Funnels
Bold marketing
CORS junk
Miscellaneous Findings X: Catching up somewhat
Get ahead of the misinformation game
Let's Have Fun Why Not
The Web Audio API's linearRampToValueAtTime doesn't work on playbackRate
Evil meditation
Eight small things
Remind me in 10,000 years
Miscellaneous Findings IX: Pure Data and JUCE
ROBOT VOICE HOWTO
Miscellaneous Findings VIII: Modulation
Music for the Twelve
Rappin' at ya
Automating the removal of terrible mouth sounds from podcasts
Miscellaneous Findings VII: Quirks
Miscellaneous Findings VI: Commands, Pi
Art as a service
The web actually breathing usability into old tools
Civilized Bandcamp file unzipping
D&D with a kid
Miscellaneous Findings V: Internet
Miscellaneous Findings IV: Web odds and ends
Things Fall Apart and King of the Hill
The Spirits of the Founding Fathers
Autocorrelation
Take home tests
Making sure a Firefox add-on is safe
Svelte impressions
Miscellaneous Findings III: Unix text tricks
Ecce World
Too many ssh-agents and the keychain
Miscellaneous Findings II
Miscellaneous Findings I
Small Findings
Cat paintings
A long email about a lot of unfinished business
Russell's Paradox
Running your own email server (so you can have an automated mailing list)
Weasley debugging
How to make a tl;dr control
Platform-free bots
Weird, but worth it
Organizational failure at a garage
How a bot (may) get caught in a (possible) Twitter hellban
Freezable children
Simple inertial scrolling
2014, Aspect B
2014, Aspect A
Awaiting the Final Moment
The mysteries of north North Cambridge
Much Blue
Pink Overlord
Rendering faster by hiding DOM elements instead of removing them
Sunday Moseying
Between 480,000 and 960,000
How quadtrees work
Writing Chrome Extensions and bookmarklets that mess with the DOM