Ben Cottrell Articles


My Take on the Treaty Principles Bill

I'm not a keen proponent for the Treaty Principles bill, which has just passed it's first reading in parliament. From the outset, it's not clear to me what the ultimate intentions are for this bill. I will preface this article by stating that I'm not a lawyer, and I am …

ActivMovie Draft Format Spec

I'm fond of the former era of online gaming with Adobe Flash. I'm particularly curious about the format used during that time period, called Shockwave Flash, which was used to make interactive movies. I've drafted a specification for a format inspired by SWF here: https://docs.google.com/document/d …

Isso Now Working

In these days, user privacy is still too often overlooked, as this is something we trade for the wealth of social media. On here, I've decided to respect user privacy by choosing a commenting system which runs locally, and does not require PII information to function. I've chosen Isso, which …


My Experience with Desktop Graphics on Fedora 38

Journey from NixOS NixOS was great for trying out new software, being able to revert to previous system wide configurations in the form of generations, as well as isolating dependant packages and identifying them with the derivation as a hash. Unfortunately, I had to rely on other experts to provide …

Adventures in NixOS

Trying out NixOS has been an interesting experience, and breaks away from traditional GNU/Linux distributions that I am normally accustomed to. There's a great emphasis on a configurable system environment, with the ability to roll-back changes, and to mitigate dependency issues. I've also been able to properly use the …

Animated Rose Pattern CanvasKit Version

Here's another version utilizing Skia's CanvasKit, which provides the GPU rasterizer through a WASM module, I also added variance of the radius giving a tapered pen effect: // HSBA conversion taken from https://github.com/processing/p5.js/blob/main/src/color/color_conversion.js function hsbaToRGBA(hsba) { const hue = hsba[0 …

Animated Rose Pattern with p5js

// Looks like its tilting let io = 0; let myShader; function setup() { createCanvas(892, 578); frameRate(60); } function draw() { background(0); const PI = 3.14159; const PSI = 2 * PI; var r = max(width / 2, height / 2) / 1.61803 * 0.1; translate(width / 2, height / 2); var thetaSteps = 2500; colorMode(HSB); strokeWeight …

Overhauling Wordpress

After Wordpress breaking due to minor formatting issues, and the difficulty of trying to backup the content from wp_posts table, I've decided to take a lighter route with Pelican: if it's suitable for the Linux Kernel, I can be confident of better ease of use.