Home
About Sam Sam's head

Popular Posts

Node.js can run TypeScript

Rejoyce through a combination of command-line flags

AWS Amplify Is A Grift

Something something Amplify is bad

Observing rendered DOM nodes

Observe DOM appearance, size and and rendering position on a page.

Baldur's Gate 3 Character Choice

Explaining the confusing way in which BG3 plays

Understanding Load Events on the Web

We use the load and DOMContentLoaded events in our scripts, but do you understand why?

Kuto, a reverse JS bundler

Cut your JavaScript down to size…I guess? ✂️

Recent Posts

Post-Request/Response Apps

We've collectively forgotten how to write ✨ servers ✨.

CJS Equivalency

Some musings on CJS vs ESM and how to support old code

December Tech Vibe Check

What's been up in Sam's tech life at the end of 2023

Opinions On Sydney Rail Transport

I'm funemployed now so have too much time to think about these things

AbortController for expiry

The AbortController can be flipped on its head for memoized/cached values. Learn how.

Practical Python Modules

Python modules suck—here's some guidance if you've used Node.

Focus Management in 2022 📺

I spoke about <dialog> and inert! Watch it, plus read an addendum. 👀

Event-Driven JavaScript Development

You should be building objects that emit their own events in JS. Learn how!