All
use-svg-maker or creating SVGs with React, A Tutorial
November 2022
SVGs are XML descriptions of vector graphics. React is a highly efficient, supported way to create XML-ish stuff. Indeed while dynamic, it…
SwiftUI for Mini Desktop Apps: A Tutorial
August 2022
A little while ago I wrote about the state of SwiftUI. While I was generally skeptical of the technology as a general purpose/widely used…
On consistency
July 2022
When you talk about software development approaches you often find people advocate consistency, in a unsubstantiated way, the way people…
@FocusState, TextFields, TextEditor in SwiftUI 3.0
November 2021
I've recently been working with SwiftUI on a couple of projects. One major area of improvement in SwiftUI 3.0 (the Autumn 2021 release) is…
SwiftUI in late 2021
November 2021
I've been reviewing the state of declarative UI frameworks such as Flutter and React Native, now we get to the third (and final) one…
Flutter in late 2021
October 2021
It had been some time since I'd used Flutter and I wanted to take another look. I've mostly been working in React and React Native for the…
Generative Animated Videos with Remotion (and Solandra)
October 2021
Getting started Remotion is a React powered library for creating videos. Let's try it out with Solandra, a library for creating 2D graphics…
Flutter, an ideal framework for Algorithmic Art?
October 2021
Flutter is a cross platform framework for Apps. On most of its target platforms it uses a low level renderer called Skia to draw user…
React Native Setup in Late 2021
August 2021
React Native is a leading, cross-platform, declarative UI framework with hot reloading. If you want to make mobile apps, along with Flutter…
An Introduction to React Native Reanimated 2
August 2021
React Native Reanimated 2 is the main third party approach to animation for React Native. In version 1 a animation node graph approach was…
Valtio: A great state management solution for React
August 2021
Valtio is a fantastic and relatively new state management library for React. It is extraordinarily clear, concise and easy to use, yet…
Getting Started with Thermal Printing
June 2020
For a while I'd been interested in trying out retro thermal printing (see GameBoy Printer). You can print low quality printouts on cheap…
Getting Started with React Native in 2020
April 2020
I've been doing React Native for over 4 years. It is amazing how much it has improved, but also how much was there from the start. The React…
A concrete example of why Apple's documentation is terrible
December 2019
Apple's documentations is famously dreadful. In particular it is often missing or incomplete. No overview available gives you some numbers…
React-ish iOS Apps: A Tutorial
April 2019
Update 3/8/2019 Well WWDC and SwiftUI meant this article aged rather badly! Yes Marzipan (now Catalyst) was just a UIKit on the Mac, but…
Starting with Flutter (from React Native)
February 2019
At the end of 2018/start of 2019 I wanted to fill in my knowledge of modern UI approaches. I have worked with native iOS and Android and…
Getting Started with Functional Music Programming
February 2019
One of my 2019 goals is to learn Haskell, to do this I picked up Haskell School of Music which teaches Haskell by showing how it can be used…
Upgrading to Elm 0.19 in early 2019
February 2019
So I finally got round to updating this Elm App (for presentations) to Elm 0.19 (along with cutting out a bunch of features so it was better…
OpenJSCAD
July 2018
What follows is concise documentation for the core of OpenJSCAD (the official docs are a bit confusing as cover both V1 and 2 and include…
Creating a Watch
September 2017
A few months ago I created a watch. Two actually. In a few hours. That is amazing and something which has only just become possible. This…
A few big ideas
December 2016
Notes (August 2021) I wrote this a few years ago in preparation for a very open ended brief for a presentation, a better title than I had…
Elixir versus Javascript
August 2016
Notes (August 2021) I wrote this quite a few years ago. I think it was before I officially and briefly became a 'professional Elixir…
Better British Time
November 2013
Notes (August 2021) I wrote this in 2013, well before Brexit, but perhaps this could be updated for our new political climate. The…