Get JSX to recognise your custom element in React or PreactHow to use Typescript’s Module Augmentation to make your custom element usable in JSX code.Oct 10, 2023Oct 10, 2023
Fly a spaceship in BabylonJS — Part 3 — fly the spaceship!In Part 3, we’re going to read the player input and move the spaceship!Jul 31, 2023Jul 31, 2023
Fly a spaceship in BabylonJS — Part 2 — adding a starfieldIn Part 2, we’ll use a BabylonJS ParticleSystem to add stars to our scene.Jul 17, 2023Jul 17, 2023
Fly a spaceship in BabylonJS — Part 1 — the SceneIn this series of articles, I’m going to teach you how to create and fly a spaceship in BabylonJS.Jul 3, 2023Jul 3, 2023
Chrome devtools on devtools on devtoolsDid you know you can open the devtools in Chrome for the Chrome devtools? Strap yourself in, it’s about to get WYLD (stallyns 🎸)Jun 30, 2023Jun 30, 2023
Prevent edge-swipe gestures in your HTML game… but only in Safari :(If you user swipes too close to the edge of the screen on a mobile device, the browser might kill your game!Jun 23, 2023Jun 23, 2023
Type narrowing Array.filter() in Typescript using type predicatesIn TypeScript, use type narrowing on your Array.filter() callback to avoid the need to typecast the result.May 25, 2023May 25, 2023
A custom “deep partial match on any item in an array” matcher for Jest.How to write a custom matcher in Jest to assert that a partial object is found in an array.May 13, 2023May 13, 2023
Don’t run Apache in an interactive terminal, or doRunning Apache (aka httpd) in a terminal might lead to unexpected termination due to SIGWINCH, but you can work around it.Feb 8, 2023Feb 8, 2023
Run PGAdmin in a Docker ContainerPGAdmin hasn’t been released for ARM machines yet, but we can run it from the official PGAdmin Docker image on our shiny new Mac M1 and M2.Dec 13, 2022Dec 13, 2022