All the stuff I've written on this site
Pinpoint Bugs with Git Bisect
Find the exact commit that caused a bug using a less known git command.
3 min read
A more inclusive complement to TypeScript's Exclude helper type - only include the parts of a union type that are assignable to another type
Get access to the current fullscreen element, and controls to enter, exit, and toggle fullscreen.
A tiny wrapper around document.startViewTransition that respects users' prefers-reduced-motion preferences
Create a promise that you manually resolve or reject at any time!
Write your own Promise.all()
Work your way up to the super useful Promise.all() function!
7 min read
A better way to handle multiple elements with the same event handlers
5 min read
FormData - My 2nd Favourite Web API
The FormData API lets you easily access the values of inputs inside a form.
7 min read
Over-Engineering a Website (September 2022)
How I discovered the secrets of the TMNT stack, built this website and procrastinated uni course work for 2 years.
15 min read
A useful function to print out the value of something with an optional message
Tailwind CSS Hocus Plugin
A plugin for lazy people like me who use the same styles for hover and focus states
Stop Vercel GitHub Comments
Stop Vercel's bot from commenting on PRs and commits (and the associated emails)
Save state to localStorage and sync it between hook instances, tabs and windows!
Toggle and set a boolean piece of state with a slightly better interface than straight useState
Save state to localStorage with an interface almost identical to useState
32 posts total