Articles
My articles
Here's some articles that I've written on topics that come up often in discussion.
Progressive Web Applications
There is no single definition of a PWA. The web tradition has always been to offer functionality in a progressive and layered approach. Let's peel back these layers, and see what makes a PWA. 5 September 2022
Sharing state and behaviour in render trees
Two components sitting in a render tree. S-H-A-R-I-N-G. First come values, then comes behaviour. 18 July 2022
The multiverse of frontend development (SydCSS July 2022)
You can't beat the laws of physics, but in the multiverse of software development, you can travel to another universe with a completely different set of laws. You can walk on red, and deliver a 10× improvement to your site in virtually all metrics. 14 July 2022
video
Auto saving forms in the browser
Web performance conversations are often geared towards how fast content can be delivered from server to client, but writing data back to the server can be important too. 4 July 2022
Optimising webapps for high read density
Nearly all webapps deliver content from server to browser. Users interact with this content to gain whatever value they need. Let's optimise for this. 26 April 2022
TCP Protocols in Web Applications
Reliable data transfer over the internet happen over TCP. But as application developers, this layer of communication is often abstracted away. Let's remind ourselves of it, and understand its performance implications. 16 November 2021
Reinventing the browser with Javascript
Single Page Applications are often bloated with code that essentially reinvents the browser. Let's investigate these duplicate functionality, and consider lightweight alternatives that lean more into the browser. 9 October 2021
Reactive Frontend Patterns
User interfaces are tree structures, with nested components. Describing this is easy, but describing reactive change for highly interactive frontends is hard. 5 September 2021
Design by Numbers
Many good design axioms have mathematical roots, but can good design be born of mathematical relationships? Take a non-designer's approach to designing this very site's styling. 14 July 2021
Building Webapps Without Reinventing The Browser
We're writing more code now than ever, it seems ironic that to add performance we also add code. Shouldn't it be the other way around? 5 July 2021
Other articles
And here's some articles that others have either beaten me to write about, or that I have learnt from and agreed with wholeheartedly. There's no need for me to repeat them, so I'll just point you in that direction.
- Maybe you don't need that SPA 12 May 2020 by Michael Rawlings
- SQL Queries Don't Start With SELECT 3 October 2019 by Julia Evans
- SQL Keys in Depth 1 January 2018 by Joe 'begriffs' Nelson
- Should I Or Should I Not Use ORM? 11 August 2016 by Mithun Sasidharan
- A Taxonomy of Tech Debt 10 April 2016 by Bill Clark
- The Majestic Monolith 29 February 2016 by David Heinemeier Hansson
- Why is Vertical Rhythm an Important Typography Practice? 24 February 2016 by Zell Liew
- The Benefits of Microcaching with NGINX 18 December 2015 by Owen Garrett
- The 'Test Window' Methodology for Conversion Optimization Testing 8 September 2015 by Keith Hagen
- What Every Programmer Should Know About Memory 21 November 2007 by Ulrich Drepper
- What Every Computer Scientist Should Know About Floating Point Arithmetic 1 March 1991 by David Goldberg