How to Use SVN on the Command Line for WordPress Plugin Development
In this tutorial I'll run through the main SVN commands I use the keep my WordPress plugins updated. In a...
In this tutorial I'll run through the main SVN commands I use the keep my WordPress plugins updated. In a...
In part two of this blog series, we'll expand on our initial example with some musical directions and...
In this short post I'll share how I configured Ubuntu 24.04 LTS for music production, and why I chose this...
In this blog series, we're exploring the musical markup language that is MusicXML and how to get started using...
Eleventy is an elegant static site generator that I've become a little obsessed with lately. It's light, fast,...
Plug time! Apress have just released my book Generative Art with JavaScript and SVG. It's something I've been...
Here you'll find all the CodePen examples accompanying my book Generative Art with JavaScript and SVG,...
In this quick tutorial, we'll cover how to launch an AppImage file like you would a normal desktop application...
This post first appeared on ul.ie. In this article, we’ll look at the role of colour perception in web...
This article first appeared on ul.ie. Whether you’re an AI advocate or AI adversary, there’s no doubt that, as...
Is AI-generated art a kind of generative art? Is it art at all? From the perspective of someone practising...
I’m a big fan of the ParcelJS bundler.* It’s simpler and offers much more out-of-the-box functionality than...
The oscilloscope is what you might call the archetypal audio visualiser, portraying sound in its most...
This is a question I gave quite a lot of thought before embarking on my Canvas API tutorials, so I'll try to...
Update 2025: this was originally to be a series but later developed into a book on Generative Art and SVG....
When I first discovered the benefits SASS (Synatically Awesome Style Sheets) could bring over plain old CSS, I...
This is part 4 in a series on the Canvas API. Up to this Point So far, we've covered how the Canvas API came...
This is part 3 in a series on the Canvas API. Resolution In part 1 of this series I mentioned that the...
This is part 2 in a series on the Canvas API. Boilerplate First, create a folder and call it something like...
What is the Canvas API? The Canvas API, or the ‘HTML5 Canvas’, allows for the creation of dynamic, interactive...
Over the weekend I released my third plugin, TrimPress. As the name (hopefully) suggests, its aim is to trim...
Today I released version 1.0.0 of Guillotheme, a plugin that chops the front-end (i.e. the head) right off...
My WordPress plugin for the Windy.com widget was updated today, adding the following features and changes:...