Keith Cirkel
banner
keithamus.social
Keith Cirkel
@keithamus.social
Software Cyber Shepherd.

Web platform engineer. Participant: WHATWG, CSSWG, ARIAWG, OpenUICG, WebComponents CG

Website: https://keithcirkel.co.uk/
GitHub: https://github.com/keithamus
Mastodon: https://indieweb.social/@keithamus
github.com/csskit/csski... I think this is the list of all possible properties across the three major browsers.

(PRs welcome if I missed any!)
github.com
February 4, 2026 at 8:16 AM
It seems like you're making an assumption that MCP will go beyond locally executed environments and I've certainly not seen evidence of that happening.

It's a bit like containers: the promise was far more abstract but reality is 99.999% of usecases are a wrapper around a CLI tool or server.
February 2, 2026 at 12:37 PM
Some Monday watching to get your brain juices flowing for the week: www.keithcirkel.co.uk/bad-at-css/

I spoke & wrote about how bad I am at CSS, and showed some truly awful things you can do with the language.

Huge thanks to @nn1.dev for giving me the opportunity!

www.youtube.com/watch?v=cJno...
Bad At Css
I am bad at CSS.
www.keithcirkel.co.uk
February 2, 2026 at 12:33 PM
What I am saying is that almost everything that fits the MCP model could be written as a CLI tool instead, because then it's not hidden behind an interface too clunky for a human to use. It is an unnecessary invention.

Consider "GitHub MCP Server" vs "gh cli". One of them is useful for both.
February 2, 2026 at 11:08 AM
I just wish the genuine innovations in MCP (e.g. browser devtools MCPs) would wake up to this.

I really like the idea of a devtools MCP! Just give me it as a cli, because _I'd_ find it really useful for writing bash scripts that use it.
February 2, 2026 at 10:32 AM
Ahh yes the `while true; do`.
February 2, 2026 at 10:30 AM
I think you're likely right
February 2, 2026 at 10:30 AM
The command line also allows this hiding secrets. ssh with ssh-agent for example can allow users to log into ssh sessions without the key ever being read per command.

Command line also allows adding extra layers. You can pipe outputs through different programs.
February 2, 2026 at 10:29 AM
MCP exposes a bunch of tools to AI, while standardising the calling convention. Do you know what also does that? The command line.
February 2, 2026 at 10:26 AM
Now I know enough about AI to grok what MCP is, it irritates me because fundamentally:

Make a cli tool instead! Then a human can use it too.

It’s not stateless? That’s what unix sockets are for!

Once again we’re reinventing stuff from the 70s and making it worse.
February 1, 2026 at 7:27 PM
Reposted by Keith Cirkel
Take me down to the Parallax city where the far moves slow and the near moves quickly
February 1, 2026 at 3:40 PM
If you have a legitimate reason you can email support@npm and they may be able to unlock publishing of a specific package, especially if you're the maintainer of related names (e.g. if you publish `foo` and wanted `foo-x` but it got blocked, they can unlock it).
January 26, 2026 at 7:19 PM
Reposted by Keith Cirkel
London is officially the best city in the world for food.

That's going to rile the sceptics who have one joke.

www.cntraveller.com/article/lond...
London is officially the best city in the world for food in 2026, according to Tripadvisor
Our capital trumped beloved gourmand hotspots including Hong Kong, Paris and Bangkok
www.cntraveller.com
January 22, 2026 at 3:18 PM
I *think* the patches *just* landed. bugzilla.mozilla.org/show_bug.cgi... so if the build goes green it'll be in Firefox Nightly in ~15hrs.
2006964 - Implement tree-scoped anchor lookup
ASSIGNED (jjalkanen) in Core - Layout: Positioned. Last updated 2026-01-21.
bugzilla.mozilla.org
January 21, 2026 at 6:09 PM
Obligatory:
January 17, 2026 at 10:29 AM
Reposted by Keith Cirkel
CSS anchor positioning is newly baseline! This opens the door for lots of new creative CSS.

It's a huge feature, but here are the basics.
January 13, 2026 at 4:09 PM
Reposted by Keith Cirkel
Firefox 147 just landed & it's pretty huge in terms of web features:

🎉 CSS anchor positioning
🎉 The navigation API
🎉 View transition types
🎉 Brotli support in Compression/DecompressionStream
🎉 CSS module imports

And more!

https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Releases/147
Firefox 147 release notes for developers (Beta) - Mozilla | MDN
This article provides information about the changes in Firefox 147 that affect developers. Firefox 147 is the current Beta version of Firefox and ships on January 13, 2026.
developer.mozilla.org
January 13, 2026 at 2:03 PM
Reposted by Keith Cirkel
The speaker line up for #SotB26 is announced.
@bram.us
@cassiecodes.bsky.social
@kitation.co.uk
Fiona Safari
@jason-williams.co.uk
@mikehall314.bsky.social
@zachleat.com

It will be a full day of very interesting sessions and we can’t wait to see you all there!
2026.stateofthebrowser.com/speakers/
Speakers | State of the Browser
Here is the announced list of speakers for 2026's conference.
2026.stateofthebrowser.com
January 12, 2026 at 11:26 AM
Reposted by Keith Cirkel
I've seen a number of people request a way to imperatively link a form control and a label via a property such as .forElement on the label. Can you send me your concrete use cases if you're one of these people?
January 9, 2026 at 12:32 PM
Reposted by Keith Cirkel
Been deep in some browser & standards contributions lately and feeling renewed love for this idea that when companies need a certain feature, they can build it one-off, or they can propose (and prototype) a way to build it into browsers for everybody. Latter’s more approachable than many think!
January 7, 2026 at 10:43 PM
Reposted by Keith Cirkel
Gecko: Intent to Prototype: "Customizable Select"
Gecko: Intent to Prototype: "Customizable Select"
Gecko: Intent to Prototype: "Customizable Select"
groups.google.com
January 6, 2026 at 2:36 PM
Reposted by Keith Cirkel
Tickets for #SotB26 are on sale - Get yours now!
When?
Saturday 28 February 2026, 09:30 - 17:00 GMT.
Where?
The Barbican Centre, London.
Ticket types:
In-person, Online, Diversity In-person and Online.

*Diversity ticket applications end Thursday 26 February 2026.
2026.stateofthebrowser.com/tickets/
Tickets | State of the Browser
More information and buying options for tickets.
2026.stateofthebrowser.com
January 6, 2026 at 12:42 PM
Reposted by Keith Cirkel
We have a diversity scheme for State of the Browser. This is for Students, people new to our industry, people from under-represented groups, unemployed, or anyone who feels they fit (we don't ask for proof we just trust people)

2026.stateofthebrowser.com/tickets/#div...

Please share
Tickets | State of the Browser
More information and buying options for tickets.
2026.stateofthebrowser.com
December 30, 2025 at 2:25 PM
A rough prototype, but it's working! `[email protected]` now has a linter language! you can define "rule sheets" with a css-like syntax, then run them against your actual stylesheets and it'll lint your css in a split second!

Run `csskit tree` to see how to select nodes.

`npm i csskit@latest` ;)
December 30, 2025 at 7:42 PM