Friday, 28 June 2024
I found a neat technique to convert an EventTarget into an async iterable for easier use
Sunday, 9 June 2024
Trying something different, I thought I'd document learning a few phrases Für Elise on the Piano
Friday, 23 February 2024
One bored day I decided to make it as easy as possible to open a Terminal on my Mac. Here’s what I did.
Monday, 8 January 2024
Documenting a library I haven't even created, and probably won't.
Saturday, 2 December 2023
Quickly get started with WebC in an Eleventy website.
Saturday, 12 August 2023
Turns out its pretty easy to create a reverse proxy with Deno, here's how.
Sunday, 21 May 2023
Using Eleventy, you can create a website that hosts an ical feed that people can subscribe to in their calendars of choice.
Wednesday, 3 May 2023
How to embed JSDoc comments from an API into an Eleventy site to referecnce it rather than duplicate it.
Wednesday, 8 March 2023
My app got published!
Saturday, 18 February 2023
I had a quick idea to add "edit on GitHub" similar to how github.com uses the "." shortcut to open github.dev
Monday, 13 February 2023
I've been thinking about all the JavaScript I've written and deployed recently
Saturday, 28 January 2023
Last year we rebuilt our lab's co-operative coffee system and I didn't use any frameworks
Saturday, 7 January 2023
Using "pointer" events and setPointerCapture in JavaScript you can create drag interactions with quite little JavaScript.
Friday, 25 November 2022
Playing around with ESP32s has led to some interesting automations to make the whole process easier.
Saturday, 5 November 2022
ES Modules are the future, now you can use them in TypeScript and publish them on NPM with subpaths.
Wednesday, 2 February 2022
I recently added monitoring and alerting to my Kubernetes stack to discover and respond to failures faster. It took me way too long so here's what I did and learned along the way.
Sunday, 12 September 2021
Custom errors are a powerful tool in JavaScript. Here's how to create them with modern ES classes and static methods.
Sunday, 25 July 2021
I've been playing a lot with Nova recently, here's my experiences and best practices for creating Nove extensions with TypeScript.
Sunday, 27 June 2021
How to add JavaScript and bundle it together for an Eleventy project plus integration with the development server for automatic reloading.
Tuesday, 25 May 2021
How to add Sass/Scss to an Eleventy project and integrate it with the development server for automatic reloading.
Sunday, 28 February 2021
How to quickly and concisly convert a JavaScript Array into a Map to enable efficient lookups.
Monday, 16 November 2020
I had a Node.js app that I wanted to run when my Raspberry Pi Zero started up in a minimal manor.
Here's how I created a systemd service to do it.
Saturday, 25 July 2020
I finally did it, I found a use for JavaScript's generator functions, wrote one and now its deployed!
Friday, 10 April 2020
I've been working on my GitOps for a while now and wanted to document it all in one place.
Saturday, 28 March 2020
One of my most used bashrc commands, docker-run-once-interactively or d1
Saturday, 21 March 2020
I keep needing these commands when doing pi things, so I thought I'd put them here in one place
Saturday, 22 February 2020
Sometimes you just want to fake a raspberry pi's mac address to appear as something else on the network. This is how to do that.
Thursday, 13 February 2020
I added a command to make adding commands easier.
Monday, 3 February 2020
I've been playing around with Pis while on University Pi's recently so I want to document this non-simple process.
Monday, 27 January 2020
I added a new alias to my repertoire to make running npm commands more usable.
Monday, 20 January 2020
When you need a Raspberry Pi to just display a webpage, you don't really need an entire operating system and window manager. This was my solution.
Sunday, 12 January 2020
I wanted to do some lightweight javascript recently and didn't want to use a massive framework. Creating all my DOM elements manually was laborious and ugly so I setup jsx to do it for me.