Datasette Apps: Host custom HTML applications inside Datasette
Today we launched a new plugin for Datasette, datasette-apps, with this launch announcement post on the Datasette project blog. That post has the what, but I’m going to expand on …
Today we launched a new plugin for Datasette, datasette-apps, with this launch announcement post on the Datasette project blog. That post has the what, but I’m going to expand on …
Every time I hear someone complaining about how much CSS sucks, I have one question: Did you ever learn CSS? The words want to burst out of my lips but I stay silent and keep to myself. When I was muc
The HP C2089A “PostScript Cartridge Plus”, a 1991 add-on for the LaserJet II/III, adds PostScript Level 2 support through Adobe’s own reference interpreter (version 2010.118) on a 2 MB ROM. Thirty-five years on, that ROM is still a current PostScript implementation: it renders the language correc…
Notes about creative coding on the Web.
A couple of years ago, I started serving my blog posts as plain text. Add .txt to the end of any URl and get a deliciously lo-fi, UTF-8, mono[chrome|space] alternative. Here's this post in plain text - https://shkspr.mobi/blog/2025/12/a-small-collection-of-text-only-websites.txt Obviously a webpage without links is…
Digital identities and what they mean for the web have become a hot topic of discussion in the last few years.They have also brought many controversies: age verification laws and what they mean for online anonymity, Wikipedia potentially having to verify the identify of its users in the UK, the reliance on official…
So a good while ago I added a fun curl version of my site, meant for viewing in the terminal. Try running these commands!
As Web standards have moved on, a particular 1990s library of GIFs has been hard to effectively archive and was at risk of being lost forever. So I swooped in, wrote some hacky code, and now a few thousand low-res images have been saved for posterity. Hurrah, I guess?
After using the same few image formats for 20+ years, I’m now on the WebP bandwagon. That isn’t something I thought I’d ever say. Now I’m wondering how soon it’ll be before I can use a couple more.
A parallax effect built entirely in CSS with scroll-driven animations, no scroll listeners required.
Riley J. Shaw is a programmer and designer. Rooted in repair and craft, he creates transparent, remixable tools for a sustainable and accessible future.
I spent too much time looking at too many colo(u)rs to try and optimise them for csskit. Here are some interesting findings.
(I don't plan on doing lots more of these Windows UI blog posts. I just happened to come across this and found it interesting. Besides, it's super hot where I live and I can't do anything meaningful anyway, so here we go.)
Learning how htmx works by building one from scratch.
When to reach for a well-known URI — and the traps that catch most protocol designers.
An ersatz CSS tutorial for people who need to style a web page, but aren't web developers. I am a wrong person to write this kind of thing, as I have neither the time, nor experience. I'd much rather read a book about this. Alas, I had to learn all this stuff from trawling MDN, so perhaps it is valuable to document…
Friends, this post has been in the making for maybe, 20 years.
Personal Notes
Everyone with knowledge agrees that Atom is technically superior to RSS. Everything should have switched to it twenty years ago. All feed readers support Atom just fine ( except in podcasts , for no good reason).
Hi! Long time no see, huh? :) It’s been three years since my last State of the Windows article, which was about the inconsistencies in the Windows 11 user experience. Since then, Microsoft (a…
I once overrode my own website blocker for 444 minutes. After that I stopped relying on willpower and started making the internet boring: app deletions, LeechBlock, grayscale mode, and a custom userscript.
Nitter gets a cease & desist from X while the atproto makes the Internet more open.
The truly No JavaScript web component.
In the world of technology, “forever” means about 5 years. It’s humbling to think that the 1992 JPEG image standard is still going strong despite being more than 5 “forevers” old. Why has it been so successful? This article presents the key ideas behind JPEG in plain language and includes an interactive JPEG…
DrupalCon Rotterdam 2026 DriesNote presentation.
An AI assistant that builds reactive UIs mid-conversation — forms, streaming data, callbacks — using markdown code fences and a mount() UI primitive.
How to use a file index to mount a tar.gz archive directly into the Emscripten virtual filesystem without extracting it