Web

The web: websites and web businesses, CSS and HTML, hosting, and the history of this site.

Static site hosting with Sitehoster

A folder named after a domain becomes an HTTPS site on your own server.

24 October 2026

Maintaining a PHP framework for 25 years

From copy-pasted code in a web design company to a modular monolith, one version at a time.

7 October 2026

A globally standard stylesheet

One stylesheet for plain, standards compliant HTML, instead of a sea of divs and classes.

15 July 2026

HTML is all you need

Why plans and documentation written with AI work better as HTML than as Markdown.

15 February 2026

React 19: Improvements to Suspense (but still not a whole solution)

React 19 lets you hand Suspense a promise, but you still have to keep your promises.

12 December 2024

Taming React 2: mutable variables

Keeping a React value and its setter together in one variable, named with Mutable on the end, so components and hooks take one argument where they took two.

13 August 2024

Taming React 1: composable state with useStateField

React components that each work on part of a big state object, using a useState-style pair for any field instead of a reducer action for every change.

16 July 2024

Suspense for data fetching in React 18

What React Suspense does and how to use it without a framework.

5 April 2022

Angular best practices for large teams

Keeping a large Angular codebase small by having one right way to do everything.

20 October 2020

Automatic loading spinners in Angular

Locking any part of an Angular interface while its data loads, without a single loading flag.

20 October 2020

3D components in Angular with three.js

Write-up to come.

6 October 2020

SVG components in Angular

Components that are part of an SVG drawing, by attaching them to the group element.

15 July 2019

An RxJS primer

Treating everything that happens over time as a stream you can transform and combine.

16 October 2018

WebGL raytracer

WebGL is quite effective at raytracing simple scenes with a decent frame rate.

26 December 2010

iBuddy

A location-based social network.

1 June 2010

CubeLogix 3D website

A 3D website made in Flash 8 with ActionScript 2, where the logo breaks open and three navigation cubes come out through the hole.

4 March 2007

Zero-Now

Web design services.

1 January 2000