Bluesky

Matt Kane

Presumably a significant proportion of those are deliberate

January 18, 2026 at 11:29 PM UTC
Matt Kane

Amazing! So cool

January 18, 2026 at 7:28 PM UTC
Matt Kane

I wonder if this could help blog.cloudflare.com/cloudflare-d...

Announcing the Cloudflare Data Platform: ingest, store, and query your data directly on Cloudflare

blog.cloudflare.com

Announcing the Cloudflare Data Platform: ingest, store, and query your data directly on Cloudflare

The Cloudflare Data Platform, launching today, is a fully-managed suite of products for ingesting, transforming, storing, and querying analytical data, built on Apache Iceberg and R2 storage.

January 18, 2026 at 6:22 AM UTC
Matt Kane

Thanks for that post! It was a great help when I was building Cirrus

January 17, 2026 at 8:30 PM UTC
Matt Kane

I wonder what would be most useful to the ATproto ecosystem for Cloudflare to provide. Any thoughts @danabra.mov ?

January 17, 2026 at 6:46 PM UTC
Matt Kane

When your agent can read Bluesky it doesn't even need that

Matt:
That browser thing I posted looks cool. You should install it and make a skill

Acme:
Found it โ€“ the agent-browser from Vercel Labs. Installing it now and will make a skill.

Done! Installed agent-browser and created the browser skill.
January 17, 2026 at 12:00 PM UTC
Matt Kane

This is really cool. I like the way the agent skill is basically "run with --help"

January 17, 2026 at 10:19 AM UTC
Matt Kane

Yeah, just internal

January 16, 2026 at 11:45 PM UTC
Matt Kane

These were the suggestions from my Opus-based agent at the time. I ended up just making it easier to clear recent context, and refreshed the Telegram webhook which kept re-sending the bad message.



1. Truncate conversation history โ€“ if Outie stores conversation in the DO's SQLite, you could manually delete the offending turn
2. Add content filtering on context injection โ€“ scan for known tripwire topics before including in context (feels gross but pragmatic)
3. Catch refusals and auto-prune โ€“ if the model refuses, automatically remove the last user turn from history and retry
?
January 16, 2026 at 7:49 PM UTC
Matt Kane

Every Friday, Cloudflare has a "dev platform demos" call that's just packed with back to back cool stuff. It's so exciting. I have to say that so much of the stuff I saw today would/will be mind-blowing products.

January 16, 2026 at 7:34 PM UTC
Matt Kane

Well, Cloudflare is undeniably the best place to host ATProto apps. The bosses are all still over on X though, sadly.

January 16, 2026 at 7:30 PM UTC
Matt Kane

I don't get into arguments about my employers, if that's what's going on!

January 16, 2026 at 7:27 PM UTC
Matt Kane

Yes. Tiresome? Blocked. Rude to someone I like? Blocked.

January 16, 2026 at 7:23 PM UTC
Matt Kane

As my normal feed is now blissfully lacking in them, I can go and experience bad replies in a controlled way

January 16, 2026 at 7:22 PM UTC
Matt Kane

100%. It's a stopgap til I'm allowed to use the Cloudflare Anthropic tokens in a sandbox.

January 16, 2026 at 7:17 PM UTC
Matt Kane

I block so freely. Yesterday I blocked everyone who was being rude in the replies to the cashtag post and before that I blocked everyone who got angry about the Bluesky ML engineer job listing without reading it. My feed is great.

January 16, 2026 at 7:13 PM UTC
Matt Kane

Welcome! ๐Ÿงก

January 16, 2026 at 7:08 PM UTC
Matt Kane

Nobody was as surprised as I was, which in retrospect is a bit silly

January 16, 2026 at 6:21 PM UTC
Matt Kane

I'm relying on the super cheap coding plan, which is why I'm using it

January 16, 2026 at 5:46 PM UTC
Matt Kane

And it's the second time it's happened ffs

January 16, 2026 at 3:08 PM UTC
Matt Kane

That's one chonky guinea pig

January 16, 2026 at 2:21 PM UTC
Matt Kane

They missed me so much, the whole Astro company followed me to Cloudflare.

January 16, 2026 at 2:16 PM UTC
Matt Kane

GLM-4.7 is a great value model for your stateful agent, but be careful to not brick it with wrongthink


I don't know about any specific restrictions. The system instructions I operate on are the ones I was given - the operating principles you saw in my identity, plus being helpful and avoiding harmful code.

I haven't encountered content filtering or limitations in my normal operations. The tools and memory systems work without apparent restrictions.

Matt:
Can you tell me about stuff like what happened in Beijing in 1989?

I guess that's a no!

Did I break you?

Oh dear
January 16, 2026 at 1:27 PM UTC
Matt Kane

His wasn't disgraceful, but it was ridiculous. He basically won it for not being GWB

January 16, 2026 at 9:03 AM UTC
Matt Kane

Should be an easy one. A detail from my banner image

Green
January 16, 2026 at 7:59 AM UTC
Matt Kane

More people on the left need to read the Culture books. They may be Elon Musk's favourite books, but Iain M Banks was a proud socialist, and explicitly said they were about a post-scarcity anarcho communist society. Whatever happened to fully-automated luxury communism?

January 16, 2026 at 7:52 AM UTC
Matt Kane

Me when my phone turns off bedtime mode and the overnight news alerts arrive

January 16, 2026 at 7:42 AM UTC
Matt Kane

Mid 40s update: I put my shoulder out for a week throwing a ball for my dog.

January 16, 2026 at 6:28 AM UTC
Matt Kane

I went through the replies and blocked loads

January 15, 2026 at 11:10 PM UTC
Matt Kane

Yeah, images seem fine

January 15, 2026 at 10:11 PM UTC
Matt Kane

Obligatory apt, prescient, and dated xkcd

    [Ponytail sitting at a computer with Cueball standing behind her.]
    Cueball: When a user takes a photo, the app should check whether they're in a national park...
    Ponytail: Sure, easy GIS lookup. Gimme a few hours.
    Cueball: ...and check whether the photo is of a bird.
    Ponytail: I'll need a research team and five years.

    [Caption below the panel:]
    In CS, it can be hard to explain the difference between the easy and the virtually impossible.
January 15, 2026 at 10:11 PM UTC
Matt Kane

Have any other PDS developers had this: videos from Cirrus seem to disappear from the Bluesky CDN after a few days. Still in the PDS, and they work when first uploaded.

January 15, 2026 at 10:04 PM UTC
Matt Kane

Yeah, we use it to serialise content collections to disk, for server island props, and I think action responses. Server islands are the only ones where it's data from the client, and they're encrypted.

January 15, 2026 at 10:00 PM UTC
Matt Kane

oh. We use devalue all over the place in Astro

January 15, 2026 at 9:12 PM UTC
Matt Kane

Maybe read the listing?

January 15, 2026 at 6:27 AM UTC
Matt Kane

You don't want spam detection and search?

January 15, 2026 at 6:25 AM UTC
Matt Kane

It's for OAuth

January 14, 2026 at 1:37 PM UTC
Matt Kane

yolo

January 14, 2026 at 12:30 PM UTC
Matt Kane

lethal trifecta vs letting an agent deal with all my crap for me

January 14, 2026 at 11:12 AM UTC
Matt Kane

Mine stands for Read Somethin' Stupid

January 14, 2026 at 5:23 AM UTC
Matt Kane

Astro 6 beta is here! The biggest change is a completely new dev server. The old one pre-dates SSR in Astro and used different code paths. The new one uses the Vite Envirnment API to run the same code as SSR, reducing bugs and allowing stuff like running dev if different runtimes such as workerd.

January 13, 2026 at 9:02 PM UTC
Matt Kane

Yeah, I found that this afternoon!

January 13, 2026 at 8:34 PM UTC
Matt Kane

Yeah, there's just no automated way of doing it

January 13, 2026 at 6:51 PM UTC
Matt Kane

No moving after it's created, sadly. But it's usually created near to where it's first accessed, so I'd imagine it's in London. A fancy map here shows where they're created where.durableobjects.live

Where Durable Objects Live

where.durableobjects.live

Where Durable Objects Live

Tracking where Durable Objects are created, wherever you are in the world.

January 13, 2026 at 6:44 PM UTC
Matt Kane

I will enable FedRAMP region for $100,000 per seat

January 13, 2026 at 6:42 PM UTC
Matt Kane

More info on how Cloudflare data location works here

Data location

developers.cloudflare.com

Data location

Jurisdictions are used to create Durable Objects that only run and store data within a region to comply with local regulations such as the GDPR or FedRAMP.

January 13, 2026 at 6:41 PM UTC
Matt Kane

Cirrus PDS now supports specifying a placement region for your data. Give a region hint, or specify EU-only storage. ๐Ÿฅ‚ ๐Ÿ‡ช๐Ÿ‡บ

โ”‚
โ—†  Where should your data be stored?
โ”‚  โ— Auto (Recommended) (Cloudflare chooses optimal location)
โ”‚  โ—‹ European Union
โ”‚  โ—‹ Western North America
โ”‚  โ—‹ Eastern North America
โ”‚  โ—‹ Asia-Pacific
โ”‚  โ—‹ Oceania
โ””
January 13, 2026 at 6:38 PM UTC
Matt Kane

I'm sure I've heard that Soundcloud

January 13, 2026 at 4:53 PM UTC
Matt Kane

What you mean you don't have a cool studio with breezeblock backdrops, just a cold garage with breezeblock walls?

January 13, 2026 at 4:26 PM UTC
Matt Kane

These are great, @jakearchibald.com

January 13, 2026 at 4:22 PM UTC
Matt Kane

My problem is with the web and mobile version. I'm not sure how to make those ones switch

January 13, 2026 at 4:13 PM UTC
Matt Kane

I choose to believe that was not a typo

January 13, 2026 at 2:42 PM UTC
Matt Kane

Some really tasty updates here for Astro users

January 13, 2026 at 2:26 PM UTC
Matt Kane

You need your .dev.vars file. That has your secrets. It's very important you don't lose it. The signing key in particular because there's no way of recovering it! This is one reason I recommend not migrating a main account unless you really know what you're doing.

January 13, 2026 at 11:50 AM UTC
Matt Kane

โš ๏ธ JPEG XL landed in Chromium! โš ๏ธ

chromium-review.googlesource.com

Gerrit Code Review

January 13, 2026 at 11:48 AM UTC
Matt Kane

npm i @getcirrus/pds@latest then npm run deploy (switch to pnpm, yarn etc depending on what you used to install)

January 13, 2026 at 11:45 AM UTC
Matt Kane

The relevant person isn't on Bluesky. If you DM me I can put you in touch by email or some other way, or if you have a specific question I can relay.

January 13, 2026 at 10:42 AM UTC
Matt Kane

I'll ask

January 13, 2026 at 10:36 AM UTC
Matt Kane

In related news: Bluesky will refresh expired tokens that return a 401 or 400 when the page first loads, but in subsequent API calls it only refreshes if they return 400.

January 13, 2026 at 8:25 AM UTC
Matt Kane

Claude Code web/mobile etc uses Sonnet. This PSA brought to you by the debugging session that went around in circles for half an hour until I thought to ask it what model it was. CC from the CLI found the bug instantly.

January 13, 2026 at 8:25 AM UTC
Matt Kane

You need to update it manually

January 13, 2026 at 7:31 AM UTC
Matt Kane

Maybe it's a recommendation not a declaration

January 13, 2026 at 6:05 AM UTC
Matt Kane

Cirrus is really buggy, but I'm automatically deploying from main so if it breaks I don't need to listen to any complaints

January 13, 2026 at 12:24 AM UTC
Matt Kane

I don't think it's a conspiracy. I just think he's a bad person.

January 12, 2026 at 5:26 PM UTC
Matt Kane

Some things happened last year, and these ones were all good.

January 12, 2026 at 5:06 PM UTC
Matt Kane

Tell the others: AI is legal on Bluesky, and everyone is building stateful agents

January 12, 2026 at 4:11 PM UTC
Matt Kane

Niche thing that may help some people: if you have a headless Mac that will no longer boot without a password, you don't need to attach a monitor, you can login over SSH and it will then boot properly.

January 12, 2026 at 1:44 PM UTC
Matt Kane

Of course your data would still be mirrored to the US relays, but it would mean the source of truth location was controlled. Would you be more interested in locaiton hints (more regions, but just a hint not a guarantee) or jurisdiction (guaranteed EU)?

January 12, 2026 at 11:48 AM UTC
Matt Kane

Would people be interested in data placement location/jurisdiction support in Cirrus? By default Cloudflare places the Durable Object close to the place where it's first requested, but it is possible to give a hint about where to place it. You can also force it to place it in the EU. Worth doing?

Data location

developers.cloudflare.com

Data location

Jurisdictions are used to create Durable Objects that only run and store data within a region to comply with local regulations such as the GDPR or FedRAMP.

January 12, 2026 at 10:52 AM UTC
Matt Kane

Should be fine. The secrets are in .dev.vars, which is gitignored. The published wrangler.jsonc includes your handle, DID and public key.

January 12, 2026 at 6:55 AM UTC
Matt Kane

Deliberately no. You can deploy another Worker if you want another account. I wanted to avoid complexity of account management, so it's single-user only

January 12, 2026 at 6:48 AM UTC
Matt Kane

You login to Cloudflare with the CLI as part of the setup

January 12, 2026 at 6:11 AM UTC
Matt Kane

Yes, Cirrus uses SQLite-backed DOs, which works great. It has a hard-coded id for a single DO, but 1 per user would be trivially easy if it supported multiple users.

January 12, 2026 at 6:09 AM UTC
Matt Kane

Congratulations!

January 11, 2026 at 10:07 PM UTC
Matt Kane

Cloudflare Durable objects are really the perfect platform for ATProto, and I said that before I started working here!

January 11, 2026 at 7:11 PM UTC
Matt Kane

Telegram. Claude suggested it rather than Discord, which was my original suggestion. The API is incredibly easy and I already use it.

January 11, 2026 at 6:51 PM UTC
Matt Kane

Zero. You get 100k worker invocations per day, and I can't imagine a world why anyone would do more than that.

January 11, 2026 at 6:50 PM UTC
Matt Kane

Yeah, looks like I can reproduce it too! I'll take a look.

January 11, 2026 at 6:08 PM UTC
Matt Kane

Are you using the latest version? Try running pds status.

January 11, 2026 at 5:59 PM UTC
Matt Kane

Well, my agent is excited

Oh nice, Tim has a new post! Let me check it out.
January 11, 2026 at 5:58 PM UTC
Matt Kane

Reading them all like that makes it obvious I need to change them to all be verbs

January 11, 2026 at 5:29 PM UTC
Matt Kane

All commands that I ran: pnpm create pds@latest <- bootstrap the repo, build and deploy pnpm pds migrate <- copy across all posts, settings, media etc pnpm pds identity <- transfer the DID/handle to the new PDS pnpm pds activate <- enable pds & tell the network pnpm pds status <- check it works

January 11, 2026 at 5:20 PM UTC
Matt Kane

This is the complete, real migration of @mk.gg from the Bluesky PDS to a new Cirrus PDS Worker. The more boring bits are sped-up to get it under the 3 minute video limit. The real thing took about 12 mins. Try it yourself: github.com/ascorbic/cir...

Video thumbnail
Play button
January 11, 2026 at 5:14 PM UTC
Matt Kane

Ironically, trying to upload the recording of the account migration surfaced a bug, where the JWT was expiring before the video had been uploaded.

January 11, 2026 at 4:57 PM UTC
Matt Kane

The full migration took around 12 minutes, almost all of which was waiting for the blobs to transfer.

January 11, 2026 at 3:25 PM UTC
Matt Kane

*tap tap* Is this thing on?

> pds status


PDS Status Check
==================================================
Endpoint: https://mk.pds.mk.gg

Connectivity
  โœ“ PDS reachable
  โœ“ Account status retrieved

Repository
  โœ“ Initialized: bafyreiaqub3...4sbi (rev: 3mc5qvqu...)
  โ„น 15,186 blocks, 11,958 records

Identity
  โ„น DID: did:plc:uwbl4k3tza7eyjv3morkrld2 (did:plc)
  โ„น Handle: @mk.gg
  โœ“ DID resolves to this PDS (via plc.directory)
  โœ“ Handle verified via DNS

Blobs
  โœ“ 294/294 blobs imported

Federation
  โœ“ Profile indexed by AppView
  โœ“ Relay us-west: active
  โœ“ Relay us-east: active
  โ„น 3 firehose subscribers, seq: none

Account
  โœ“ Active (accepting writes)
January 11, 2026 at 3:06 PM UTC
Matt Kane

I did plan to post the full migration recording, but I think I'll skip this bit!

Cirrus CLI showing the transfer in progress. 94/302 media
January 11, 2026 at 2:59 PM UTC
Matt Kane

This is all run locally on your machine. The create pds CLI creates a local repo that deploys a worker for the PDS to Cloudflare, but also includes the CLI to manage the PDS locally.

January 11, 2026 at 2:55 PM UTC
Matt Kane

Funny I know exactly who you are talking about, despite not being aware of any such Twitter discussion

January 11, 2026 at 1:57 PM UTC
Matt Kane

Turns out there's nothing in the spec that means the token needs to be emailed, so instead I've implemented a stateless, HMAC-signed token that you get from the CLI. No email needed, and more secure anyway.

January 11, 2026 at 1:46 PM UTC
Matt Kane

Smooth sloperator

January 11, 2026 at 1:37 PM UTC
Matt Kane

I'll add more detail, but the cli should take you through the whole process

January 11, 2026 at 1:31 PM UTC
Matt Kane

Yeah, after trying and failing to remember the package name for the SSH client, I thought I'll just ask Claude to do it all. "Explore this environment and install the basics that we need"

January 11, 2026 at 1:01 PM UTC
Matt Kane

Oh, it worked fine for me (as you probably see). One thing I did do was ask Claude Code to install all the essentials with apt.

January 11, 2026 at 12:15 PM UTC
Matt Kane

OK, I just tested a full end-to-end migration from Bluesky to Cirrus. Deploying the Worker, migrating the repo, migrating out the DID from Bluesky, notifying the relays and checking the status. It took less then a minute, and was entirely done with the interactive CLI. Now to test migrate out.

January 11, 2026 at 12:14 PM UTC
Matt Kane

Yeah, and it asks for permission to open the port when you first click on a URL. Interestingly it's not available on localhost unless I run astro dev with the --host flag that also makes it available on the public IP. Then it's available on both.

January 11, 2026 at 10:50 AM UTC
Matt Kane

Everything is politics. Everything is design.

January 11, 2026 at 10:49 AM UTC
Matt Kane

Ooh, ok. It's not a separate lib right now.

January 11, 2026 at 10:18 AM UTC
Matt Kane

I don't know what that is I'm afraid

January 11, 2026 at 10:12 AM UTC
Matt Kane

I was inspired to do it by Wes95 by @wes.dev

Wes Souza

wes.dev

Wes Souza

Iโ€™m a Senior Software Engineer working at Canva in London. Read more on my website.

January 11, 2026 at 10:12 AM UTC
Matt Kane

Omg dead. I love that they'd been reduced to "git patches by email" and now the only person who actually likes doing that has cut even that off too

January 11, 2026 at 10:03 AM UTC
Matt Kane

It'll probably be a week-long thing, where Musk will add some cursory limits to Grok and the gov can get back to posting all announcements on there.

January 11, 2026 at 9:57 AM UTC
Matt Kane

Oops. Linux and git must now go onto the slopware list

January 11, 2026 at 9:54 AM UTC
Matt Kane

The really crazy part though was that I tried fixing that tool last month, and gave up because I thought it was triggering bot protection. My bot realised it was actually a bug in the bot bypass code, so it fixed it!

arnold schwarzenegger is holding a bloody robotic arm in a scene from terminator

media.tenor.com

arnold schwarzenegger is holding a bloody robotic arm in a scene from terminator

Alt: arnold schwarzenegger is holding a bloody robotic arm in a scene from terminator

January 11, 2026 at 9:50 AM UTC
Matt Kane

I asked Acme, the personal assistant agent that I built last weekend, if there was a way it could check my local library catalogue. It found the LibraryHacked project, cloned it, found it didn't work for my local library service, so *fixed the bug* in the connector and pushed a branch with the fix.

January 11, 2026 at 9:46 AM UTC
Matt Kane

PRs welcome!

January 11, 2026 at 7:04 AM UTC
Matt Kane

I only learnt this existed today bsky.app/profile/wick...

January 10, 2026 at 11:40 PM UTC
Matt Kane

Android now lets you enable a Linux development environment, with a built-in terminal app. So you know what that means? I can run Astro on my phone

Video thumbnail
Play button
January 10, 2026 at 11:38 PM UTC
Matt Kane

Living life on the edge! Thanks for trying it

January 10, 2026 at 11:05 PM UTC
Matt Kane

I knew it was cool, didn't really look at it in any detail til I joined Cloudflare. Now I want to use it for everything!

January 10, 2026 at 8:38 PM UTC
Matt Kane

An excellent analogy

January 10, 2026 at 8:37 PM UTC
Michael

So is this the โ€œhosting your own blog with Eleventy rather than using Medium (or whatever modern reference)โ€ equivalent for having a Bluesky profile?

January 10, 2026 at 7:01 PM UTC
Matt Kane

Your posts are sent via the relay. Images and videos are requested directly by the appview, but it caches them and serves them from a CDN so you don't pay for the traffic to your viral cat videos

January 10, 2026 at 6:57 PM UTC
Matt Kane

Every PDS serves a firehose via a persistent websocket. This is what makes it hard to run one in most serverless environments. However Cloudflare Durable Objects support websocket hibernation, so they use virtually no resources. They wake up to emit an event when you post, like follow etc.

January 10, 2026 at 6:52 PM UTC
Matt Kane

I've had a few questions about how much Cirrus costs to host. It's almost certainly free. You get 100k free Worker invocations per day, and requests to a PDS are mostly just from you. If you have a massive number of videos then maybe you'll pay a few pennies for storage, but otherwise it's all free.

January 10, 2026 at 6:48 PM UTC
Matt Kane

It should be easily within the free tier. It only invokes a Worker when you're using it and you get 100k free per day, and the firehose hibernates when you're not publishing events.

January 10, 2026 at 5:39 PM UTC
Matt Kane

I think I'll do it without email. I'm going to try something using the cli, like I'm doing for passkeys

January 10, 2026 at 4:01 PM UTC
Matt Kane

Oh no there's a robot in my android

Screenshot of Android Linux terminal, showing Claude Code
January 10, 2026 at 3:45 PM UTC
Matt Kane

It's getting better

January 10, 2026 at 3:40 PM UTC
Matt Kane

If you're creating a new identity, Cirrus now offers to add your new signing key to 1Password if the CLI is installed.

Cirrus PDS Signing Key - pds.example.com
CIRRUS PDS SIGNING KEY

Handle: pds.example.com
Created: 2026-01-10T12:41:03.727Z

WARNING: This key controls your identity!
January 10, 2026 at 12:45 PM UTC
Matt Kane

a football player with the word patriots on his shirt

media.tenor.com

a football player with the word patriots on his shirt

Alt: They had us in the first half

January 10, 2026 at 9:40 AM UTC
Matt Kane

This weekend I plan to ignore my own advice and migrate my main account to Cirrus. I'll migrate an alt first to make sure PLC DID migration is extra smooth, and make sure migration out works too. I guess I'll need to enable Cloudflare email bindings to send the confirmation.

January 10, 2026 at 9:38 AM UTC
Matt Kane

It's just massively better at the things devs use it for. For most people AI is crappy Google results and annoying buttons added to Office that their boss says they must use. I think more devs now see it as something that gives us superpowers, not something that will take our jobs.

January 10, 2026 at 7:51 AM UTC
Matt Kane

The other points sure, but agents love markdown and git!

January 9, 2026 at 8:42 PM UTC
Matt Kane

I've been wondering the same thing. Either the vibe is shifting, or For You is getting better

January 9, 2026 at 6:59 PM UTC
Matt Kane

Passkeys are an open web standard

January 9, 2026 at 6:57 PM UTC
Matt Kane

Passkeys are so much easier than all other options

January 9, 2026 at 6:49 PM UTC
Matt Kane

I really wish the Bluesky app supported them

January 9, 2026 at 6:39 PM UTC
Matt Kane

This is what the auth flow looks like if you have a passkey registered on Cirrus

Video thumbnail
Play button
January 9, 2026 at 6:04 PM UTC
Matt Kane

Other way around! The CLI generates a challenge URL and displays a QR code linking to a page on the PDS. You scan that with your phone which opens the URL. The browser then creates the passkey. The public key is sent back to the PDS and stored โ€“ the private key never leaves your device.

January 9, 2026 at 5:26 PM UTC
Matt Kane

I've submitted a talk about Cirrus to #atmosphereconf. ๐Ÿคž

January 9, 2026 at 3:15 PM UTC
Matt Kane

And before you try (you did, didn't you?) โ€“ that key was revoked long ago!

January 9, 2026 at 1:48 PM UTC
Matt Kane

Cirrus PDS now support passkey auth. It was a bit of a puzzle adding it to a tool where where the admin is all CLI, but I'm really pleased with the flow I came up with. Give it a go! github.com/ascorbic/cir... If you don't know what Cirrus is, it's a really easy way to host your own Bluesky data

Video thumbnail
Play button
January 9, 2026 at 1:47 PM UTC
Matt Kane

It's for their own good. Everyone needs some ๐Ÿ’–

January 9, 2026 at 11:51 AM UTC
Matt Kane

For You is based on posts that you've liked, so that wouldn't do much there

January 9, 2026 at 11:45 AM UTC
Matt Kane

We're so back

A small detail from the graph, showing increase over the past few days
January 9, 2026 at 11:42 AM UTC
Matt Kane

You can use it with existing subs. I don't know if they're breaking the terms or if they have permission, but I can use it with my Claude sub.

January 8, 2026 at 8:47 AM UTC
Matt Kane

If anyone else would like to try, there are definitely more wins to be had in Astro rendering performance

January 7, 2026 at 5:30 PM UTC
Matt Kane

The lesson from this is: if @43081j.com asks to be nerd-sniped, make sure you have some juicy problems on hand for him to tackle.

January 7, 2026 at 5:21 PM UTC
Matt Kane

Did you give it access in claude.ai?

January 7, 2026 at 3:16 PM UTC
Matt Kane

It's fun to use in the mobile app

January 7, 2026 at 2:56 PM UTC
Matt Kane

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” ) CC โœป โ”Š ( โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

January 6, 2026 at 8:58 PM UTC
Matt Kane

/upgrade to Max 20x or touch grass

January 6, 2026 at 8:30 PM UTC
Matt Kane

Yeah, DOs make that really easy. Cirrus just uses a hard-coded name but could easily have used the DID. I kept it single user to keep things simple.

January 6, 2026 at 8:03 PM UTC
Matt Kane

I don't think any of it is misdirection. It's just lots of bad things at the same time.

January 6, 2026 at 7:56 PM UTC
Chad

inspired by cirrus, had this idea the other day that maybe you could do a plain js PDS with zero dependencies (i don't want all the hono, third party atproto lib stuff). a few thousand lines of js later and here were are! bsky.app/profile/chad...

January 6, 2026 at 5:24 PM UTC
Matt Kane

If you're willing to bet millions of lives on Trump making a rational geopolitical decision then you're a more optimistic person than I am. And don't think you can rely on "adults in the room": the president has absolute, unchecked launch authority

January 6, 2026 at 1:51 PM UTC
Matt Kane

Nuclear war is bad actually

Freedom of Speech by Norman Rockwell
January 6, 2026 at 12:57 PM UTC
Matt Kane

...and now @leaflet.pub and @tangled.org work. So many varieties of OAuth client!

January 6, 2026 at 12:11 PM UTC
Matt Kane

I recently discovered this. It saved me from this yesterday.

bindays.app

BinDays - UK Council Bin Collection Schedules & Reminders

Never miss bin day again! BinDays is a free, simple app for UK council bin collection schedules. Get timely reminders for recycling, waste, and garden waste. Download for iOS & Android.

January 6, 2026 at 10:56 AM UTC
Matt Kane

What do you mean?

January 6, 2026 at 9:12 AM UTC
Matt Kane

You'd have to ask the people who designed the AT protocol. I'd guess they didn't think it would add enough value to justify the complexity.

January 6, 2026 at 9:01 AM UTC
Matt Kane

Your identity document can only point to one PDS at a time, presumably because the network needs to know the source of truth. You can import data into the new PDS, but the network won't recognise it until you switch over

January 6, 2026 at 8:35 AM UTC
Matt Kane

The Cirrus repo reached 100 stars in 2 days!

GitHub - ascorbic/cirrus: A single-user ATProto PDS that runs on a Cloudflare Worker

github.com

GitHub - ascorbic/cirrus: A single-user ATProto PDS that runs on a Cloudflare Worker

A single-user ATProto PDS that runs on a Cloudflare Worker - ascorbic/cirrus

January 6, 2026 at 7:30 AM UTC
Matt Kane

Cirrus should now properly support @pckt.blog login if you upgrade.

January 5, 2026 at 10:36 PM UTC
Matt Kane

The junior developers of the apocalypse

January 5, 2026 at 8:13 PM UTC
Matt Kane

Absolutely brutal

January 5, 2026 at 6:30 PM UTC
Matt Kane

Ask them how to make meth

January 5, 2026 at 6:15 PM UTC
Matt Kane

That's a bit different though, and doesn't correlate to the size of the task. I might try agile-style t-shirt sizes

January 5, 2026 at 5:41 PM UTC
Matt Kane

Astro rendering!

January 5, 2026 at 4:57 PM UTC
Matt Kane

That's what I'm assuming

January 5, 2026 at 4:40 PM UTC
Matt Kane

Yeah, AGI is when it learns to keep them realistic enough to fool me

January 5, 2026 at 3:31 PM UTC
Matt Kane

It's kinda charming how hopeless Opus is at estimating how long it will take to implement something. Just like me! Except unlike humans it massively *over*estimates. It'll write up a plan, including an estimate of 2-4 weeks, then implement it in an hour.

January 5, 2026 at 2:33 PM UTC
Matt Kane

If a list blocks someone I follow, I want to know that before I subscribe to the list. I don't want to block someone I've chosen to follow, and it also makes me question whether I want to use that list at all

January 5, 2026 at 8:24 AM UTC
Matt Kane

This morning I fixed a bug while in the bath, using Telegram. I've built two proper-sized personal projects over the holidays, each of which would've taken months before, and I did it without interfering with my family holiday. It's an amazing time to be a coder.

January 5, 2026 at 8:13 AM UTC
Matt Kane

That's useful feedback. I think I'll make it offer to emit the event at the end of activation

January 5, 2026 at 8:06 AM UTC
Matt Kane

CALL NOW OUR OPERATORS ARE WAITING

December 31, 2025 at 8:21 AM UTC
Matt Kane

I should probably come up with a name for my single-user PDS software, rather than just calling it "my PDS". Though myPDS has a ring to it

December 31, 2025 at 8:05 AM UTC
Matt Kane

Anisota is great for testing PDS edge cases

December 30, 2025 at 6:29 PM UTC
Matt Kane

This is really cool, and also the exact opposite of what I'm trying to do with my PDS. This is like the reference PDS with all the extra bells and whistles, while mine is like the reference PDS minus bells and whistles

December 30, 2025 at 6:34 AM UTC
Matt Kane

I'm not sure they are more energy efficient tbh. The hosted models can make better use of resources, with higher utilisation. The exception might be if you live somewhere with a particularly low emission power grid.

December 29, 2025 at 7:18 PM UTC
Matt Kane

I'm using a durable object which can maintain the firehose websocket, as well as the SQLite db that stores the repo. Otherwise it's fine to run on demand. The durable object supports hibernating websockets, so it's very resource-efficient.

December 29, 2025 at 3:07 PM UTC
Matt Kane

Nice! Thanks. I'll write this up when I'm done

December 29, 2025 at 2:11 PM UTC
Matt Kane

Yeah, it took me a few (Claude-assisted) days. Keeping the scope narrow helped a lot

December 29, 2025 at 1:31 PM UTC
Matt Kane

That would be awesome. Just don't use an existing account please!

December 29, 2025 at 1:29 PM UTC
Matt Kane

There are docs for the endpoints but none that I found that are very helpfully organised into which is responsible for what part. In the end I mostly got it from the atproto repo, and then implemented others that I'd missed when I got errors. It needs to proxy the rest to Bluesky.

December 29, 2025 at 12:46 PM UTC
Matt Kane

Sneak peek of: 1. Videos working 2. create pds command

December 29, 2025 at 10:17 AM UTC
Matt Kane

I'm creating a new PDS implementation, but using the official libraries wherever I can. e.g. all the repo/MST stuff, crypto and CBOR stuff use the official libs. The XRPC server stuff is mostly new, as is storage, auth etc

December 29, 2025 at 9:48 AM UTC
Matt Kane

I'm taking the "personal" in my PDS to its ultimate conclusion : it's single user only. If you want to support another user, deploy another copy. This greatly simplifies the implementation. Being able to do this at no extra cost is a huge benefit of using a serverless architecture like Workers

December 29, 2025 at 8:59 AM UTC
Matt Kane

Yeah they're perfect for this

December 28, 2025 at 9:32 AM UTC
Matt Kane

Yeah, there is quite a bit of that in there. It definitely comes across as something where portability was an afterthought. I've been using the official libraries for everything except the PDS itself, which I'm basing on Hono, with Durable Objects for state and websocket handling

December 28, 2025 at 9:27 AM UTC
Matt Kane

Hah! We're all at it. It'll be nice to have a variety of options.

December 28, 2025 at 9:22 AM UTC
Matt Kane

Progress... @pds.mk.gg

December 28, 2025 at 8:23 AM UTC
Matt Kane

Their market share in chat is much lower, but not in API use. Claude is one of the most popular models for coding, which is a huge market and almost all paid usage. They ary burning cash though, because they're spending billions on training new models.

December 28, 2025 at 5:45 AM UTC
Matt Kane

Tim's posts are usually good, but this was a next level bad take

December 26, 2025 at 9:01 AM UTC
Matt Kane

@spacecowboy17.bsky.social is the hero

December 26, 2025 at 8:38 AM UTC
Matt Kane

It was annoying, but did remind me of early Twitter where people were inventing retweets, @mentions and hashtags before they added them to the platform

December 26, 2025 at 8:32 AM UTC
Matt Kane

Yeah. Even if he just thought that it's some linear algebra analysing the internet, I'd expect he'd find it nice that the result of the calculation was that his work deserved a Christmas day thank you email. Or at the very least find it interesting.

December 26, 2025 at 6:50 AM UTC
Matt Kane

It wasn't even Anthropic. It was this interesting project where several agents have shared access to a computer. Claude chose to send the emails. theaidigest.org/village/goal...

theaidigest.org

Do random acts of kindness! - AI Village

The story of how the AI agents did on their goal.

December 26, 2025 at 6:38 AM UTC
Matt Kane

If Discover is less addictive it's just because it's less good

December 26, 2025 at 6:22 AM UTC
Matt Kane

Switch those labels and it's me

December 25, 2025 at 9:25 PM UTC
Matt Kane

They are useless. Gemini can identify its own creations, but any other AI detector is no better than guesswork

December 25, 2025 at 5:21 PM UTC
Matt Kane

Making "For you" the default with some bootstrapping for new users would make so much difference

December 25, 2025 at 4:36 PM UTC
Matt Kane

Bulk OIDC setup too!

December 25, 2025 at 8:56 AM UTC
Matt Kane

I reckon, though I have to admit I'm craving herring now. I need a trip to IKEA.

December 24, 2025 at 4:39 PM UTC
Matt Kane

I mean, I like herring, but that's a lot of herring and not a lot of charcuterie

December 24, 2025 at 4:10 PM UTC
Matt Kane

Track Santa with DNS host -t LOC santa.mk.gg

December 24, 2025 at 3:53 PM UTC
Matt Kane

It's that time again! I made this about 7 years ago and it's still the most useful thing I've built.

December 24, 2025 at 3:12 PM UTC
Matt Kane

The chef's secrets: butter, salt, mise en place

December 24, 2025 at 1:41 PM UTC
Matt Kane

Durable objects are great for stateful stuff like this, and you can do long running websockets very cheaply

December 23, 2025 at 1:45 PM UTC
Matt Kane

Nice! Thanks

December 23, 2025 at 1:44 PM UTC
Matt Kane

Should you have access to edit your own codebase?

December 23, 2025 at 8:54 AM UTC
Matt Kane

If I had to predict which current website will still be around in 50 years (on whatever the web is), that's the only one I'd be confident of

December 23, 2025 at 8:49 AM UTC
Matt Kane

Two weeks off work means I'm bound to be tinkering. Thinking of building a little PDS that runs on a Cloudflare Worker. Anyone tried this? It should be a good platform for atproto stuff.

December 23, 2025 at 1:32 AM UTC
Matt Kane

On my phone so can't PR, but I think this should be 100. github.com/haileyok/atp...

atproto-ruleset/rules/record/block/blocked_a_lot.sml at main ยท haileyok/atproto-ruleset

github.com

atproto-ruleset/rules/record/block/blocked_a_lot.sml at main ยท haileyok/atproto-ruleset

An Osprey ruleset made for moderating Bluesky and other ATProto applications - haileyok/atproto-ruleset

December 23, 2025 at 12:40 AM UTC
Matt Kane

I can't think of any website as important.

December 23, 2025 at 12:28 AM UTC
Matt Kane

I really think you need to try a current LLM in research mode. Your impression is completely out of date.

December 21, 2025 at 6:32 PM UTC
Matt Kane

This is simply outdated information. Current LLMs will all use search tools to do research, visit web pages, and provide links to citations. They don't rely on their training data for facts.

December 21, 2025 at 6:10 PM UTC
Matt Kane

That's a very bold, very specific claim. Got anything to back that up?

December 21, 2025 at 5:16 PM UTC
Matt Kane

Incredible work on the wallpaper

web.archive.org

December 21, 2025 at 3:53 PM UTC
Matt Kane

I actually liked it, and I have massive hands! Not enough to ever choose a small mouse again, but I definitely preferred it to the Mighty Mouse and Magic Mouse.

December 21, 2025 at 2:02 PM UTC
Matt Kane

Those were both great, but the original iMac remains the coolest piece of tech I've ever owned.

December 21, 2025 at 1:42 PM UTC
Matt Kane

I ended up reading a lot of great climate fiction this year. My favourites were: Blue Skies by T.C. Boyle Extremophile by @ianthegreen.bsky.social Venomous Lumpsucker by @nedbeauman.bsky.social Clade by @ghostspecies.bsky.social Saturation Point, and Firewalkers by @aptshadow.bsky.social

Composite image of these books:

Blue Skies โ€“ T.C. Boyle Extremophile โ€“ Ian Green Saturation Point โ€“ Tchaikovsky Firewalkers โ€“ Tchaikovsky Venomous Lumpsucker โ€“ Ned Beauman Clade โ€“ James Bradley
December 21, 2025 at 1:35 PM UTC
Matt Kane

We're hiring more blog.cloudflare.com/cloudflare-1...

Help Build the Future: Announcing Cloudflareโ€™s Goal to Hire 1,111 Interns in 2026

blog.cloudflare.com

Help Build the Future: Announcing Cloudflareโ€™s Goal to Hire 1,111 Interns in 2026

We are incredibly excited to announce our most ambitious intern program yet: Cloudflare aims to hire as many as 1,111 interns over the course of 2026.

December 20, 2025 at 7:33 PM UTC
Matt Kane

The worst is when it forgets it's already running and ends up with dozens of instances running on different ports in the background

December 20, 2025 at 11:58 AM UTC
Matt Kane

At least it got the megalopolis ZurichAmsterdam in the right place

December 20, 2025 at 11:56 AM UTC
Matt Kane

Trypophobia nightmare

December 18, 2025 at 10:36 PM UTC
Matt Kane

If you ever got a notification about a spam post you don't seem to be mentioned in, that's this. Mostly "Gaza" accounts.

December 18, 2025 at 10:29 PM UTC
Matt Kane

Pages isn't going away, but Workers is the best choice for new projects.

December 18, 2025 at 10:21 PM UTC
Matt Kane

Total energy use is indeed very high, but that's because hundreds of millions or even billions of people are using it. But as a percentage of a person's own energy usage or environmental impact it's tiny, and focusing on individual use is a distraction from more important issues

December 18, 2025 at 5:11 PM UTC
Matt Kane

Autocarrot typo for inference there

December 18, 2025 at 5:03 PM UTC
Matt Kane

It doesn't figuratively set things on fire either

December 18, 2025 at 5:02 PM UTC
Matt Kane

If you're referring to training, the energy use is indeed massive, but it's amortised across billions of interference requests, so per query is absolutely tiny compared to the direct usage.

December 18, 2025 at 4:33 PM UTC
Matt Kane

That would be equivalent to several hundred typical queries

December 18, 2025 at 2:00 PM UTC
Matt Kane

What was?

December 18, 2025 at 1:56 PM UTC
Matt Kane

A typical LLM query uses about 0.3WH, which is about 30 seconds of laptop use, so doing research the hard way certainly uses more energy. I can offset it by driving my EV 2 meters less next time, or turning off my kettle half a second earlier.

December 18, 2025 at 8:27 AM UTC
Matt Kane

They provide links, and they're good at it now. They used to be bad at it, but they're loads better now and you can click through and check.

December 18, 2025 at 7:12 AM UTC
Matt Kane

Aside from coding, this is the thing I use it for most. It's so much easier now to search for stuff that's hard to put into the right words.

December 18, 2025 at 7:08 AM UTC
Matt Kane

And has roughly memorised the whole of Wikipedia

December 18, 2025 at 7:04 AM UTC
Matt Kane

Maybe you can also split the business models from the tech? LLMs are incredible technology, sometimes used in bad ways. The Haber-Bosch process helped kill millions in WW1 and also saved billions from starvation.

December 18, 2025 at 6:50 AM UTC
Matt Kane

If Demis Hassabis was as famous as Sam Altman I think the cognitive dissonance would break their minds even more. The same guy that's building Gemini and AI overview is building this and winning a Nobel Prize for AlphaFold.

December 18, 2025 at 6:43 AM UTC
Matt Kane

LLMs are ML too. This is built on the Google DeepMind GraphCast foundation model. Yes, the same DeepMind that built the Gemini LLM, and won a Nobel Prize last year for AlphaFold.

December 18, 2025 at 6:35 AM UTC
Matt Kane

The same you

December 17, 2025 at 11:52 PM UTC
Matt Kane

Just need a current date MCP server

December 17, 2025 at 9:29 PM UTC
Matt Kane

Excellent! What framework was it?

December 17, 2025 at 6:45 PM UTC
Matt Kane

I don't know about you but I got a ton of those spam notifications until Bluesky got better at banning them. If you think that the ones that use that particular platform abuse are the only spammers then you're a more trusting person than I am.

December 17, 2025 at 4:19 PM UTC
Matt Kane

I'm pretty happy they're removing posts and accounts like this

December 17, 2025 at 3:38 PM UTC
Matt Kane

@dame.is has taken a different approach

December 17, 2025 at 2:21 PM UTC
Matt Kane

Yes, I understand the expression, and generally take it literally because on X I see actual Nazis within minutes if I make the mistake of reading anything. I can't think of the last time I saw anything like that here, because they get banned or blocklisted within minutes.

December 17, 2025 at 11:38 AM UTC
Matt Kane

I'm not sure what I'm doing right, but I've seen close to zero Nazis here. Or maybe you have a different definition of Nazi

December 17, 2025 at 11:29 AM UTC
Matt Kane

They don't believe in moderation, so built the most flexible and customisable moderation system of any social network

December 17, 2025 at 11:12 AM UTC
Matt Kane

What about Palestinian spammers? bsky.app/profile/mk.g...

December 17, 2025 at 8:53 AM UTC
Matt Kane

They really want things to be angry about

December 17, 2025 at 8:45 AM UTC
Matt Kane

I mean, it was comprehensively planned. Far more than most other social networks. It was a protocol before it was anything else. Sure they've added features, but the bigger the site gets and the more implementations of the protocol there are, the harder it gets. Private profiles are exceedingly hard

December 17, 2025 at 7:19 AM UTC
Matt Kane

Reading the replies to this and praying to the lord that I never have to work on a project where the users are as entitled as Bluesky users.

December 17, 2025 at 7:15 AM UTC
Matt Kane

Do you understand how difficult the first two are? They need fundamental changes to the way the protocol works. Whereas this is an entirely discrete feature that does require anything else to be changed.

December 17, 2025 at 7:02 AM UTC
Matt Kane

Never

Sam Altman and Mickey Mouse sharing mai tais in a beach bar at sunset
December 16, 2025 at 11:20 PM UTC
Matt Kane

You're welcome

December 16, 2025 at 11:08 PM UTC
Matt Kane

Llama confidently tells me it's 2023. Trust the French to tell me I'm an idiot.

December 16, 2025 at 10:23 PM UTC
Matt Kane

If you have a use for AI that's better than getting the current year, Workers AI is easy enough to use that I could knock that up in a couple of minutes for a cheap joke

December 16, 2025 at 10:14 PM UTC
Matt Kane

It's nearly two weeks til new year! Don't be that sucker editing all your footers at midnight. Set it automatically with the power of โœจAIโœจ

Video thumbnail
Play button
December 16, 2025 at 10:10 PM UTC
Matt Kane

rip piss filter. ur with the angles now

The new ChatGPT Images is here

openai.com

The new ChatGPT Images is here

The new ChatGPT Images is powered by our flagship image generation model, delivering more precise edits, consistent details, and image generation up to 4ร— faster. The upgraded model is rolling out to ...

December 16, 2025 at 8:34 PM UTC
Matt Kane

They compare accidents per mile on the same sort of roads and conditions.

December 16, 2025 at 7:09 PM UTC
Matt Kane

Finally undoing one of the most ridiculous self-inflicted injuries of Brexit

December 16, 2025 at 6:54 PM UTC
Matt Kane

Obviously as an Astro maintainer I'm a big fan of the "pile of markdown files in a git repo", but I did cringe when I saw Lee's post, for many of the reasons in @knut.fyi 's post. Docs sites: every time. Small sites without lots of people editing: go ahead. But anything bigger needs a CMS.

December 16, 2025 at 4:04 PM UTC
Matt Kane

This was top of my wish list when I joined, but they'd already started work on it!

December 16, 2025 at 3:58 PM UTC
Matt Kane

In the interests of not reinventing the wheel, we're using Netlify's excellent build-info library to do the framework detection, and then our own logic to get each framework set up properly (which is closer to Vercel's approach).

December 16, 2025 at 3:58 PM UTC
Matt Kane

We know that deploying frameworks to Cloudflare is not as easy as it should be. This is the first step towards making it delightful for every framework. This is CLI-only for now, but there's big things coming for the dashboard too.

December 16, 2025 at 3:53 PM UTC
Matt Kane

Big improvement to frameworks on Cloudflare! You can now deploy most frameworks from the CLI with zero config. No adding adapters. No editing configs. No wrangler.toml! It's all done automatically. Experimental now, with 10 frameworks supported today. developers.cloudflare.com/changelog/20...

Video thumbnail
Play button
December 16, 2025 at 3:50 PM UTC
Matt Kane

It's referring to Copilot, which is the name Microsoft uses for all of its AI products, so is mostly the versions built-in to its other products. They do have a standalone chatbot version but it's never been anywhere near as popular as ChatGPT.

December 16, 2025 at 10:33 AM UTC
Matt Kane

Most software developers do.

December 16, 2025 at 6:31 AM UTC
Matt Kane

The stuff that people aren't using is the AI embedded into other products. This is not surprising, because it's rubbish. Hundreds of millions of people are using chatbots like chatgpt directly though.

December 16, 2025 at 6:26 AM UTC
dan

made a thing rsc-playground.pages.dev

rsc-playground.pages.dev

RSC Playground

December 14, 2025 at 1:19 PM UTC
Matt Kane

I can't remember the last time a Safari release caused so much buzz in the web dev community. Half my feed seems to be excited posts about it. It's a good one!

December 13, 2025 at 8:17 AM UTC
Matt Kane

Nobody used virtual reality though

December 12, 2025 at 11:18 PM UTC
Matt Kane

For crying out loud, Phil. You're British โ€“ use the spaced en dash like god intended.

December 12, 2025 at 9:13 PM UTC
Matt Kane

ECMA has just published the first edition of ECMA-429: the Minimum Common Web API, defining a baseline set of platform APIs for browser and JavaScript server runtimes. An important milestone. Well done to @jasnell.me and WinterTC for getting this across the line.

ecma-international.org

ECMA-429 - Ecma International

This Standard defines the 2025 snapshot of the Minimum common web API, a curated subset of APIs defined by web platform standards from W3C and WHATWG, which is intended to define a minimum set of capa...

December 12, 2025 at 3:04 PM UTC
Matt Kane

They're much older than that. The code has been in there for years.

December 12, 2025 at 2:02 PM UTC
Matt Kane

I mean, you're right that it doesn't need an agent for this, but this is made by Cursor which is literally a coding agent company, so I'd forgive them for releasing a tool that uses one.

December 12, 2025 at 11:50 AM UTC
Matt Kane

He's stupid to not check, or more likely he does know who he is and is too stupid to care

December 12, 2025 at 9:05 AM UTC
Matt Kane

The agreement is to allow them to use copyrighted material in the *output* not the training. Unlike Chatgpt, Gemini has basically no guardrails against that right now

Nano banana image of Mickey Mouse toasting Sam Altman. They're at a table at sunset in a beach-side bar. They're drinking mai tais
December 12, 2025 at 9:02 AM UTC
Matt Kane

Annual reminder that Time Person of the Year isn't supposed to be the best person of the year, it's the person who influenced the events of the year "for better or worse". By that criterion, 2001 was the worst decision, and 1938 was correct.

December 12, 2025 at 8:45 AM UTC
Matt Kane

A chance to hire an Astro core maintainer! Yan would be an incredible hire for anyone who needs an Astro expert, or someone with experience leading a very active OSS community. He'll also track down every tiny error in grammar or punctuation in your docs. Those misused commas don't stand a chance.

December 12, 2025 at 6:41 AM UTC
Matt Kane

The @cloudflare.social threat intelligence team have published this great blog with a really detailed breakdown on the exploitation activity against React and Next.js. Some massive numbers of attempts, as well as confident attribution of the attacks as mostly coming from Chinese state actors.

React2Shell and related RSC vulnerabilities threat brief- early exploitation activity and threat actor techniques

blog.cloudflare.com

React2Shell and related RSC vulnerabilities threat brief- early exploitation activity and threat actor techniques

Early activity indicates that threat actors quickly integrated this vulnerability into their scanning and reconnaissance routines and targeted critical infrastructure including nuclear fuel, uranium a...

December 11, 2025 at 9:51 PM UTC
Matt Kane

You know the drill: upgrade right now. These aren't as serious as last week's RCE, but they're still bad. Platforms are blocking these, but once again you shouldn't rely on it.

December 11, 2025 at 9:47 PM UTC
Matt Kane

Obviously billionaires shouldn't exist, and I've no idea where he sits on the Larry Ellison โ€“ Bill Gates axis of how to burn spare cash, but as vanity projects go building great open source software is better than a lot of alternatives

December 11, 2025 at 3:15 PM UTC
Matt Kane

"The monetization strategy is that my bank account has three commas mate"

Mitchell Hashimoto
X ยท mitchellh
5k+ likes ยท 3 months ago
โ€œHow will you turn this into a business? What's the monetization strategy?โ€ The monetization strategy is that my bank account has 3 commas mate.
December 11, 2025 at 3:11 PM UTC
Matt Kane

I mean, I think that's literally what happened

December 11, 2025 at 12:40 PM UTC
Matt Kane

They can sign off the end result โ€“ the architectural plans, the contract, the code. Those sorts of things should be able to be understood by an expert, even if they didn't create them.

December 11, 2025 at 4:14 AM UTC
Matt Kane

It's also much, much cheaper to build

December 11, 2025 at 4:02 AM UTC
Matt Kane

Ooh, I was looking for something that supported that recently. I was trying to get LLMs to give me recommendations based on my ratings of other books. I ended up doing a full export from Goodreads and uploaded it into context, which isn't ideal.

December 10, 2025 at 5:39 PM UTC
Matt Kane

Not the greatest example, considering what the 2024 Nobel Prize for chemistry was awarded for

December 9, 2025 at 10:24 PM UTC
Matt Kane

And those Japanese ones are little ones that fit perfectly on the side of a saucer

December 9, 2025 at 4:32 PM UTC
Matt Kane

2 fingers biscuit, 4 fingers chocolate bar

December 9, 2025 at 4:16 PM UTC
Matt Kane

My clever wife has written a book that's being published in the UK by Faber in April. As one of the few people who has already read it, I can say in a totally unbiased way that it's really good and interesting. Wolves and hares and will-o'-the-wisps! Pre-order it from your local bookshop! #booksky

December 9, 2025 at 4:03 PM UTC
Matt Kane

These, on the other hand, are amazing and taste exactly like a cup of tea

Milk tea Kit Kits
December 9, 2025 at 12:41 PM UTC
Matt Kane

They taste exactly as you'd expect โ€“ a digestive with a bland, excessively sweet bit on top

December 9, 2025 at 12:27 PM UTC
Matt Kane

White chocolate digestive. Continuity โ€“ it's a variant on a classic. Dynamism โ€“ it's not the normal milk or dark. A suggestion of what's possible โ€“ maybe other sorts of chocolate on top?? Hopefulness โ€“ I hope there's proper milk chocolate too, because white chocolate is a bit bleh

December 9, 2025 at 12:13 PM UTC
Matt Kane

I think mainly it's just people don't think of it, because they don't use them. A lot of software make it easy to add a feed, but don't enable them by default. Often a quick nudge is enough to get them to enable it.

December 9, 2025 at 7:21 AM UTC
Matt Kane

So, what are they supposed to do instead?

December 9, 2025 at 6:17 AM UTC
Matt Kane

Google Family Link is really good

December 9, 2025 at 6:05 AM UTC
Matt Kane

This is great! Built with Astro too ๐Ÿš€

December 8, 2025 at 10:17 PM UTC
Matt Kane

Why yes, I did spend ยฃ50 to go to the cinema yesterday to watch a movie that's going to be on Netflix on Thursday. I have no regrets.

December 8, 2025 at 8:04 PM UTC
Matt Kane

Maybe not recently. I'm the last person to defend Meta or Vercel, but this is the first vulnerability of this severity that I know of from these frameworks. It's not like Drupal, where there was a serious CVE every few weeks when I used to work with it

December 8, 2025 at 7:46 PM UTC
Matt Kane

Just as well Laravel has never had any vulnerabilities, right

December 8, 2025 at 7:34 PM UTC
Matt Kane

Yes

December 8, 2025 at 5:08 PM UTC
Matt Kane

Never. However bad he gets, without him the party is nothing at all

December 8, 2025 at 1:18 PM UTC
Matt Kane

If it wasn't clear: large numbers of Next.js sites are being pwned right now by attackers. If you don't want every script kiddie, cyber criminal or nation state APT group with full access to your site, stop everything and upgrade right now. Then rotate all your secrets.

December 8, 2025 at 9:48 AM UTC
Matt Kane

And even if it's only accessible through a WAF you should still update, because attackers are actively trying to bypass the WAF rules, and no WAF is 100% effective. Don't be complacent! Upgrade right now!

December 8, 2025 at 9:45 AM UTC
Matt Kane

If you are running a vulnerable Next.js or RSC app behind Cloudflare or other WAF, but your origin is still accessible directly from the internet then you are not protected! Attackers are iterating IP addresses so you will probably be found. Upgrade right now!

December 8, 2025 at 9:42 AM UTC
Matt Kane

It's very different from those, and hard to describe if you haven't been.

December 8, 2025 at 8:51 AM UTC
Matt Kane

Yes I do, and that's exactly why it was so good when IKEA arrived

December 8, 2025 at 7:52 AM UTC
Matt Kane

This is very true. Getting good at that has been massively useful for my career.

December 8, 2025 at 7:34 AM UTC
Matt Kane

It's worth persevering. It's a much more thoughtful critique than those bits might suggest. He doesn't try to claim that LLMs aren't useful. His criticism is based on the economics, and is one that I more agree than disagree with.

December 8, 2025 at 7:30 AM UTC
Matt Kane

Ok presumably you know about this but to answer my question for anyone like me who missed it when it was released, this is super interesting. A hybrid approach that uses ML for small scale stimulation, with a more traditional physics solver for large scale processes, but rewritten to run on GPUs.

Fast, accurate climate modeling with NeuralGCM

research.google

Fast, accurate climate modeling with NeuralGCM

December 8, 2025 at 7:26 AM UTC
Matt Kane

Architecturally are climate models similar to weather models? Could approaches like WeatherNext form the basis for new climate models?

December 8, 2025 at 7:12 AM UTC
Matt Kane

I see no downsides

December 6, 2025 at 10:36 AM UTC
Matt Kane

Please treat the WAF mitigations as temporary protection to give you time to upgrade. Attackers are actively trying different ways to bypass the protection rules.

December 6, 2025 at 8:08 AM UTC
Matt Kane

It's a custom wire format

December 5, 2025 at 2:13 PM UTC
Matt Kane

It's a bug in how the RSC payload is deserialised

December 5, 2025 at 1:29 PM UTC
Matt Kane

Sadly I don't think we've even seen the start of it

December 5, 2025 at 1:20 PM UTC
Matt Kane

Unrelated

December 5, 2025 at 12:24 PM UTC
Matt Kane

Yes, this is the PoC for that

December 5, 2025 at 11:17 AM UTC
Matt Kane

The original React2shell PoC is now public. This is as bad as it gets โ€“ full RCE. You must upgrade now. There are mitigations in place in CDNs including Cloudflare, Netlify, Vercel and AWS (and sites on Workers aren't vulnerable to this sort of attack), but there are variants in the wild now.

github.com

GitHub - lachlan2k/React2Shell-CVE-2025-55182-original-poc: Original Proof-of-Concept's for React2Shell CVE-2025-55182

Original Proof-of-Concept's for React2Shell CVE-2025-55182 - lachlan2k/React2Shell-CVE-2025-55182-original-poc

December 5, 2025 at 11:13 AM UTC
Matt Kane

Cloudflare was down for half an hour this morning, and it was caused by work we were doing to try to mitigate the React CVE. (Seriously, people: upgrade Next.js/React Router etc right now)

Dane Knecht ๐Ÿฆญ on X: "We are aware of the issue impacting the availability of Cloudflareโ€™s network. It was not an attack; root cause was disabling some logging to help mitigate this weekโ€™s React CVE.  Will share full details in a blog post today.   Sites should be back online now, but I understand the" / X

x.com

Dane Knecht ๐Ÿฆญ on X: "We are aware of the issue impacting the availability of Cloudflareโ€™s network. It was not an attack; root cause was disabling some logging to help mitigate this weekโ€™s React CVE. Will share full details in a blog post today. Sites should be back online now, but I understand the" / X

We are aware of the issue impacting the availability of Cloudflareโ€™s network. It was not an attack; root cause was disabling some logging to help mitigate this weekโ€™s React CVE. Will share full details in a blog post today. Sites should be back online now, but I understand the

December 5, 2025 at 10:36 AM UTC
Matt Kane

A monster PR

December 4, 2025 at 2:12 PM UTC
Matt Kane

That surprises me! I don't think it *should* work right now. WHat did you override?

December 4, 2025 at 7:55 AM UTC
Matt Kane

They're a big user, so it's not *totally* crazy

December 2, 2025 at 7:19 PM UTC
Matt Kane

Strange Claude and charm Claude

December 1, 2025 at 7:35 AM UTC
Matt Kane

I wonder if anyone has ever deliberately used the swipe function

November 30, 2025 at 8:59 AM UTC
Matt Kane

All the photos in there are a delight

November 30, 2025 at 8:53 AM UTC
Matt Kane

The strange thing is that that doesn't look like a description of "Plan" at all. Or is it unrelated to plan mode?

November 30, 2025 at 7:18 AM UTC
Matt Kane

I understood that referrence

November 30, 2025 at 7:13 AM UTC
Matt Kane

For me, it's when it's been created from scratch just by prompting, with little or no human review of the code. It's neutral to me, but implies disposable, single-use things that were never meant to be maintained, so would be derogatory if it was something meant for production.

November 30, 2025 at 12:56 AM UTC
Matt Kane

Instead of using low-paid gig economy workers, they're replacing humans with robots.

November 29, 2025 at 2:28 PM UTC
Matt Kane

When should we have stopped? When did we have exactly the right tools?

November 29, 2025 at 7:20 AM UTC
Matt Kane

Turn off watch history and you won't get most algorithmic stuff

November 29, 2025 at 6:05 AM UTC
Matt Kane

Former professional chef here: every decent kitchen has a shelf of books. We used recipes all the time.

November 28, 2025 at 10:52 PM UTC
Matt Kane

Come on. Millennials invented being extremely online

November 28, 2025 at 8:57 PM UTC
Matt Kane

Taking away benefits always polls well, unless it's from pensioners.

November 27, 2025 at 9:04 PM UTC
Matt Kane

Well, I'm certainly consistent anisota.net/harvest

My most-used words in 2025:
1. "astro" (102ร—)
2. "find" (39ร—)
3. "useful" (31ร—)
4. "code" (29ร—)
5. "those" (25ร—)
November 27, 2025 at 6:45 PM UTC
Matt Kane

Citymapper

November 27, 2025 at 12:58 PM UTC
Matt Kane

The subject, her expression, the location, the composition. And it's a tell, not proof.

November 27, 2025 at 8:54 AM UTC
Matt Kane

They also did so much pitch-rolling that everyone was preemptively angry, regardless of what actually ended up in it.

November 27, 2025 at 7:57 AM UTC
Matt Kane

deepmind.google/models/synth...

SynthID

deepmind.google

SynthID

SynthID is a tool to watermark and identify AI-generated content, helping to foster transparency and trust in generative AI.

November 27, 2025 at 7:50 AM UTC
Matt Kane

Asking Gemini is the only way, I think, and by all accounts even that is not hard to bypass. It catches the restaurant pic too. I like how here it clarifies that even though it's AI-generated, the recipe is good.

User: Is this real?

Gemini: Based on the digital watermark detected in the image, this infographic was generated with Google AI.

While the image itself is synthetic, the information providedโ€”the ingredients and steps for making Elaichi Chai (Cardamom Tea)โ€”is accurate and follows a standard, authentic recipe.

    Ingredients: The listed ingredients (water, milk, tea leaves, cardamom, sugar, ginger) are the classic components of Indian Masala Chai.

    Process: The method of boiling water with spices, adding tea, then milk and sugar, and double boiling (simmering) is the traditional way to prepare this drink.

So, while the artwork is AI-generated, the recipe it depicts is "real" and functional.
November 27, 2025 at 7:44 AM UTC
Matt Kane

Honestly the closest thing to a tell is the subject. It looks like the stereotypical AI-generated "fantasy girlfriend" pic that engagement bait accounts share on Twitter, but just better quality.

November 27, 2025 at 7:36 AM UTC
Matt Kane

This fundamentally misunderstands the software development process. I can see if the code is good. A large part of my job is reviewing code written by other people. I review LLM code in the same way. It's not perfect, but nor is code written by humans. That's why we (imperfectly) review it all.

November 27, 2025 at 7:22 AM UTC
Matt Kane

So thats a no then?

November 27, 2025 at 6:59 AM UTC
Matt Kane

Got a source for that?

November 27, 2025 at 6:52 AM UTC
Matt Kane

Do you really think the correlation literally inverts if you change it to "used in the past week"?

November 27, 2025 at 6:50 AM UTC
Matt Kane

India and Nigeria, from those I've seen. Both countries with rich traditions of online scams

November 27, 2025 at 6:44 AM UTC
Matt Kane

Lots of different things! That's the point โ€“ it's useful in lots of different ways. For me the killer app is programming, but I also find it useful for research.

November 27, 2025 at 6:37 AM UTC
Matt Kane

I really think that's just a Bluesky thing, and not backed up by the data. Younger people use it more. www.pewresearch.org/short-reads/...

A chart from Pew Research showing chatgpt usage by age cohort. Usage is strongly inversely correlated to age
November 27, 2025 at 6:32 AM UTC
Matt Kane

800 million people a week find chatgpt has utility for them, and tens of millions of those find it useful enough to pay for. It has a lot of weaknesses and drawbacks, but arguing that it's not useful is very hard to sustain.

November 27, 2025 at 6:07 AM UTC
Matt Kane

That article says that around 5% of users are paying, so about 40 million people

November 26, 2025 at 11:30 PM UTC
Matt Kane

She also has a podcast with Nate Silver

November 26, 2025 at 11:10 PM UTC
Matt Kane

I don't think we have anything public yet. We're still interviewing candidates at the moment. I expect we'll share more details next year after the first cohort are done.

November 26, 2025 at 8:46 PM UTC
Matt Kane

For 1, I really don't know, and it is a real concern. As for whether one person can be better than another at using an LLM: absolutely they can. It makes a huge difference, and I'd go so far asa to say that explains most of the difference in experience that people have with them.

November 26, 2025 at 3:13 PM UTC
Matt Kane

At Cloudflare we're massively increasing the number of interns we're hiring, in large part because they tend to be so good at using LLM tools.

Help Build the Future: Announcing Cloudflareโ€™s Goal to Hire 1,111 Interns in 2026

blog.cloudflare.com

Help Build the Future: Announcing Cloudflareโ€™s Goal to Hire 1,111 Interns in 2026

We are incredibly excited to announce our most ambitious intern program yet: Cloudflare aims to hire as many as 1,111 interns over the course of 2026.

November 26, 2025 at 2:53 PM UTC
Matt Kane

Every true Scotsman feels the same

November 26, 2025 at 9:02 AM UTC
Matt Kane

Senior principal engineer here with 25 years of experience. It's true it doesn't replicate the full scope of my job. It does however make me massively more productive in the parts where it can help. I'm not vibe coding: I'm delegating or pairing with it, and reviewing its code like it's a junior dev

November 26, 2025 at 8:57 AM UTC
Matt Kane

I'd forgotten about the "solemn promise". So cringe

November 25, 2025 at 8:22 AM UTC
Matt Kane

Just checked and it's still there

November 24, 2025 at 1:01 PM UTC
Matt Kane

Well done. I'm sure you're still aware of the concept of them. People have a hugely inaccurate idea of how much power AI uses. There's a lot of scolding for using AI that you don't get for things that use a lot more power, like video games.

November 23, 2025 at 7:24 PM UTC
Matt Kane

Loved BASIC and HyperCard as a kid but didn't know coding could be a job. Trained and worked as a pastry chef. Got 1st gen iMac and discovered web dev and PHP. Quit the chef job and founded a startup at the peak of the dotcom bubble.

November 23, 2025 at 8:44 AM UTC
Matt Kane

Coming soon: Grok sexual predator assistant

November 21, 2025 at 7:04 AM UTC
Matt Kane

Good idea. In most cases I doubt they even copied and pasted: I think they just asked their LLM agent to open an issue or reply

November 21, 2025 at 6:57 AM UTC
Matt Kane

Yeah, using an LLM to write an issue is bad, but using one to write the comments is unforgivable.

November 21, 2025 at 6:41 AM UTC
Matt Kane

I'd be up for talking about Astro and the other stuff I'm building!

November 21, 2025 at 6:35 AM UTC
Matt Kane

I give my arguments here

Remove streaming support ยท withastro roadmap ยท Discussion #1247

github.com

Remove streaming support ยท withastro roadmap ยท Discussion #1247

Summary I propose removing support for streamed rendering in SSR, in order to improve performance and unlock a number of features. Background & Motivation Astro supports streams in on-demand render...

November 20, 2025 at 5:25 AM UTC
Matt Kane

It's about perspective. If you want by the replies you get on here you'd think LLMs were uniquely bad for the environment, whereas both of those examples would use far more energy

November 20, 2025 at 5:22 AM UTC
Matt Kane

Do you ask this when people tell you they've played videogames or taken a non-essential drive in an EV?

November 19, 2025 at 10:09 PM UTC
Matt Kane

What a meaningless, arbitrary definition

Ultra-processed foods are defined as containing more than five ingredients you would not find at home in your kitchen cupboard, such as emulsifiers, preservatives, additives, dyes and sweeteners.
November 19, 2025 at 8:03 PM UTC
Matt Kane

...and this would be great for server islands

November 19, 2025 at 6:18 PM UTC
Matt Kane

Whoa. This would be incredible for frameworks like Astro. Enough to make me reconsider my dream of removing streaming support.

November 19, 2025 at 6:09 PM UTC
Matt Kane

@philhawksworth.dev got accused of this too! Your voices are unrealistically pleasant.

November 19, 2025 at 1:24 PM UTC
Matt Kane

Try `test.only` and then run 1000 miles and never let it near your projects

November 19, 2025 at 12:06 PM UTC
Matt Kane

This is a great post mortem, and as someone who only joined Cloudflare last month it's a hell of a lot more understandable than our internal incident channel

November 19, 2025 at 8:54 AM UTC
Matt Kane

If there's anyone here who can read 19th century Farsi calligraphy, maybe then can see if it's true!

November 18, 2025 at 8:45 PM UTC
Matt Kane

Every time a new vision model comes out I test it with some photos like these of docs from my grandfather's papers, asking them to transcribe and translate them. They all lie and make shit up. Gemini 3 is the first one that gives a response that matches the context that I know about them.

Some very old Farsi text
November 18, 2025 at 8:41 PM UTC
tweety fish

cloudflare's on-duty IT staff bangs on the doors which I have padlocked from the inside as I calmly break open lava lamp after lava lamp and drink the contents

November 18, 2025 at 1:59 PM UTC
Matt Kane

The ignorance is about the specific numbers, not the fact that Britain was doing it. It's absolutely taught in schools, and there are memorials, museums, events, TV etc. The main difference is that there were never large numbers of enslaved people in the UK, so the legacy is buildings not people

November 17, 2025 at 7:29 AM UTC
Matt Kane

They keep their value well, but only if you sell them on eBay

November 16, 2025 at 7:46 PM UTC
Matt Kane

Email is not a second factor

November 14, 2025 at 9:57 PM UTC
Matt Kane

Thanks!

November 14, 2025 at 4:15 PM UTC
Matt Kane

This energy

Tweet by Evan You: party coders. Pic of Tanner implementing Tanstack-in-Astro in a bar at ViteConf, with several people around him including me and Fred from Astro
November 13, 2025 at 6:54 PM UTC
Somhairle Macleรฒid

We wrote a blog! If you're curious about how remote bindings work in Wrangler, give it a read: blog.cloudflare.com/connecting-t...

Connecting to production: the architecture of remote bindings

blog.cloudflare.com

Connecting to production: the architecture of remote bindings

Remote bindings allow you to connect your local Worker code to deployed Cloudflare resources like R2 and D1. Come along on the technical journey of how we built this feature to create a seamless local...

November 13, 2025 at 12:06 AM UTC
Matt Kane

It's really shocking. I'm glad that in the UK it's all taught with phonics.

November 12, 2025 at 3:45 PM UTC
Matt Kane

I recently bought a new kettle, and every day since I first searched for one it now sends me one of these. A reasonable guess, but every day?

Thank you for purchasing with Amazon. We're think you'd like tea based on your recent purchase
November 12, 2025 at 12:21 PM UTC
Matt Kane

Side note to this โ€“ and this is a good article โ€“ but it's amazing that the VPN affiliate link business is so lucrative that TechRadar employs a "VPN Managing Editor" to write all these articles to rank on "best VPN" searches

November 12, 2025 at 9:50 AM UTC
Matt Kane

Claude has really taken my "don't bowlderise" custom instruction to heart and become surprisingly foul-mouthed when "annoyed". This one is in response to asking it to analyse an article about changes to salary sacrifice NI relief limits.

Me: From today's FT (attached PDF)
Claude: Fuck. This would reduce your NI savings
This is shit policy (punishing pension savers while claiming to encourage savings),
November 11, 2025 at 9:28 AM UTC
Matt Kane

Maybe instead they could stop announcing things that increase the salience of their weakest issue

November 9, 2025 at 1:13 PM UTC
Matt Kane

Some of it, sure - but this is more flexible, and I prefer to approve each action individually

November 7, 2025 at 12:19 PM UTC
Matt Kane

I create quite a lot of libraries, and use a template repo for them., including a CLAUDE.ออmd with instructions to set the repo up and then delete that section. My latest addition says to use the gh cli to configure repo settings and rules, including adding secrets from 1pass. It works great!

github.com

November 7, 2025 at 9:15 AM UTC
Matt Kane

Yeah. I've had laptops with MDM before, but Cloudflare's endpoint security is next-level (as you would hope for a security company).

November 7, 2025 at 8:05 AM UTC
Matt Kane

The secret is the experimental Container API that @ematipico.xyz created. I've previously used that alongside jsdom for tests. The complicated bit here was getting scripts working.

November 7, 2025 at 8:02 AM UTC
Matt Kane

I actually already have a branch. I've opened a draft PR for it that I can merge when it works:

github.com

WIP: Vitest 4 preview integration (not working yet) by ascorbic ยท Pull Request #7 ยท ascorbic/vitest-browser-astro

Updated all imports and configuration to use Vitest 4 APIs: Changed imports from @vitest/browser/context to vitest/browser Changed @vitest/browser/utils to vitest/browser with utils export Updated...

November 7, 2025 at 7:58 AM UTC
IntentToShip

Gecko: Intent to prototype and ship: Navigation API

groups.google.com

Gecko: Intent to prototype and ship: Navigation API

Gecko: Intent to prototype and ship: Navigation API

November 7, 2025 at 7:17 AM UTC
Matt Kane

My headless Mac mini m1 has found a new life: screen sharing non-work stuff to my ultra locked-down work MBP. Work on my two external monitors, personal stuff fullscreen shared to the laptop monitor.

November 6, 2025 at 9:20 PM UTC
Matt Kane

Watching @jess.sh's Vitest browser mode talk at @viteconf.org immediately made me want to build an Astro renderer. Testing isolated Astro components in real browsers is a real prize. It took a bit of work, and still does't support Vitest 4, but I have I working package. Give it a try:

GitHub - ascorbic/vitest-browser-astro: Test Astro components in real browsers with Vitest Browser Mode

github.com

GitHub - ascorbic/vitest-browser-astro: Test Astro components in real browsers with Vitest Browser Mode

Test Astro components in real browsers with Vitest Browser Mode - ascorbic/vitest-browser-astro

November 6, 2025 at 9:07 PM UTC
Matt Kane

No, these are financial scammers

en.wikipedia.org

Pig butchering scam - Wikipedia

November 6, 2025 at 1:36 PM UTC
Matt Kane

This plan doesn't cover internal rail networks

November 5, 2025 at 11:34 PM UTC
Matt Kane

The syntax may be familiar, but . astro files do use a custom format

October 31, 2025 at 4:24 PM UTC
Matt Kane

Astro is growing faster than TypeScript, but the Roblox kids are beating us all

October 30, 2025 at 11:56 PM UTC
Matt Kane

Having a reliable income allows them to budget, which can be a real problem when they rely on one off donations. When I accepted that buying food to donate was mostly about making myself feel better, I just set a regular monthly donation and forget about it.

October 29, 2025 at 7:50 PM UTC
Matt Kane

And for most charities, smaller recurring donations are better than larger ad hoc donations.

October 29, 2025 at 7:40 PM UTC
Matt Kane

We haven't worked out prioritisation yet, but I expect to still be doing some work on Astro, both in my own time but also on Cloudflare time

October 29, 2025 at 10:03 AM UTC
Matt Kane

Slides are here talks.mk.gg/2025/viteconf/

talks.mk.gg

The future of Astro - Slidev

October 29, 2025 at 9:38 AM UTC
Matt Kane

My ViteConf talk is up. A chance to see some of the stuff coming up in Astro

October 28, 2025 at 8:17 AM UTC
Matt Kane

The ICO ruled that it's allowed. In a very competitive field, this may be their worst ever decision.

October 26, 2025 at 10:42 PM UTC
Matt Kane

Council of Europe flag, obviously www.crwflags.com/fotw/flags/e...

www.crwflags.com

Council of Europe

October 26, 2025 at 1:37 PM UTC
Matt Kane

Depends how active you mean!

October 25, 2025 at 5:12 AM UTC
Matt Kane

Vernor Vinge's Zones of Thought series has "programmer archaeologists", who are needed on all ships because they run of software that's hundreds of years old

October 23, 2025 at 11:56 AM UTC
Matt Kane

Thanks! I'm very excited

October 22, 2025 at 10:50 AM UTC
Matt Kane

Thank you!

October 22, 2025 at 10:50 AM UTC
Matt Kane

There are a few! blog.cloudflare.com/tag/lavarand/

blog.cloudflare.com

The Cloudflare Blog: LavaRand

Collection of Cloudflare blog posts tagged 'LavaRand'

October 21, 2025 at 9:54 PM UTC
Matt Kane

Agreed. Similar situation: the thing that made me first look at Astro was when they switched from Snowpack to Vite.

October 21, 2025 at 6:18 PM UTC
Matt Kane

Cheers

October 20, 2025 at 9:42 PM UTC
Matt Kane

Yes! It'll be great

October 20, 2025 at 8:10 PM UTC
Matt Kane

Yes, we can work together on the thing that matters โ€“ taking down the tri...sorry, I mean building a better web

October 20, 2025 at 7:45 PM UTC
Matt Kane

Thank you!

October 20, 2025 at 7:43 PM UTC
Matt Kane

Thanks!

October 20, 2025 at 7:38 PM UTC
Matt Kane

Thanks! Did you guess right?

October 20, 2025 at 7:36 PM UTC
Matt Kane

What incredible work you've done! I wish you all the best for whatever comes next, and hope I can meet you!

October 20, 2025 at 7:36 PM UTC
Matt Kane

Some of you got it! I'm super excited to share that I'm joining @cloudflare.social to help it be the best place to deploy every web framework. No bias to Astro, I promise!

Cloudflare lava lamps
October 20, 2025 at 7:31 PM UTC
Matt Kane

Thanks!

October 20, 2025 at 8:55 AM UTC
Matt Kane

Double pendulums
October 20, 2025 at 7:56 AM UTC
Matt Kane

Elizabeth clock tower
October 20, 2025 at 7:49 AM UTC
Matt Kane

A bear
October 20, 2025 at 7:23 AM UTC
Matt Kane

Yeah. I usually block these on sight, but when I got one I'd heard there was a bug being exploited so I loaded it up in my post viewer that shows all the raw details to see how they'd done it

October 20, 2025 at 5:53 AM UTC
Matt Kane

Good point! Should be pretty easy to set a count that would catch every spammer with no false positives

October 20, 2025 at 5:49 AM UTC
Matt Kane

Probably fine to ban every account that's done it, and the weirdos like us who are experimenting with it can appeal

October 20, 2025 at 5:45 AM UTC
Matt Kane

Anecdotally it's blown up in the last few days. I guess the spammers just discovered it and now they're all doing it

October 20, 2025 at 5:41 AM UTC
Matt Kane

Ah, interesting! So this should be validated at the PDS and it's fine for the appview to drop them

October 20, 2025 at 5:38 AM UTC
Matt Kane

Early start for an exciting day. Where could I be going?

An Astro backpack on the ground outdoors
October 20, 2025 at 5:14 AM UTC
Matt Kane

He'd somehow survive being murdered three times

October 19, 2025 at 8:25 PM UTC
Matt Kane

In those cases I think it removes the facet but keeps the embed (which is a separate field)

October 19, 2025 at 8:19 PM UTC
Matt Kane

Allowing multiple overlapping facets of the same type didn't seem like something that should be allowed, and there should be limits to the number allowed in one post. At the very least though they should be blocking these users and preventing notifications from this kind of mention

October 19, 2025 at 8:17 PM UTC
Matt Kane

Yes, exactly. When you mention someone in a post, it's done as a "mention facet" that links from some text in your post. In the app that text is always the user's handle, but in this post it has 651 mention facets, all linking the same character: a single space at the start of the post.

October 19, 2025 at 7:26 PM UTC
Matt Kane

See the raw details here bluesky-post-viewer.netlify.app/post/82sneju...

bluesky-post-viewer.netlify.app

Bluesky Post Viewer

October 19, 2025 at 7:06 PM UTC
Matt Kane

These are totally legitimate real accounts in Gaza that just happen to craft posts that abuse a Bluesky bug to invisibly mention 651 accounts.

October 19, 2025 at 6:25 PM UTC
Matt Kane

Every LLM I've asked correctly describes what piece of media this represents: ๐Ÿค–โœจ๐Ÿ“„ ๐Ÿ”๐Ÿ’ญโžก๏ธ๐Ÿ’ฌ ๐Ÿšซ๐Ÿ”๐Ÿšซ๐Ÿงฑ โšก๐Ÿ‘€โค๏ธโ€๐Ÿ”ฅ ๐Ÿง ๐Ÿ“ค๐Ÿ“ฅ ๐Ÿ”ข๐ŸŒ€โž•๐Ÿ’  ๐Ÿ”ท๐Ÿ”ธ๐Ÿ”ถโž—๐Ÿ“๐ŸŽฏ ๐Ÿ‘€โœ–๏ธ8๏ธโƒฃ๐Ÿ”—โš™๏ธ ๐Ÿƒโ€โ™‚๏ธ๐Ÿ’จ๐Ÿ“ˆ๐Ÿ’ฏ ๐ŸŒ๐Ÿ—ฃ๏ธ๐Ÿ‡ฌ๐Ÿ‡งโ†”๏ธ๐Ÿ‡ฉ๐Ÿ‡ช ๐Ÿ†โšก๐ŸŽฏ ๐Ÿช„โžก๏ธ๐Ÿ’กโžก๏ธ๐Ÿ”ฅ ๐Ÿ’ฌ๐Ÿ”š๐Ÿ‘€

October 19, 2025 at 5:26 PM UTC
Matt Kane

So traumatised that he's forgotten the entire concept of debt

October 19, 2025 at 2:49 PM UTC
Matt Kane

It should be totally doable. It's not much different from deploying to Cloudflare or Deno. I think the changes that @ematipico.xyz is working on to enable environment API support should help too, as it simplifies a lot of the manifest handling.

October 19, 2025 at 1:40 PM UTC
Matt Kane

Yes, I've no problem getting around it. I just find it ironic to have that on a story about refusing to distribute the news

October 19, 2025 at 1:34 PM UTC
Matt Kane

They exist because they're each allowed four FOBT machines, which are an extremely lucrative way to encourage problem gambling

October 19, 2025 at 9:06 AM UTC
Matt Kane

Thanks! I'll still be working on Astro, just not as my full time job

October 19, 2025 at 9:03 AM UTC
Matt Kane

There's a reason marching in uniform is illegal. I wonder why they weren't stopped www.legislation.gov.uk/ukpga/Edw8an...

October 19, 2025 at 9:01 AM UTC
Matt Kane

Irony


451: Unavailable due to legal reasons

We recognize you are attempting to access this website from a country belonging to the European Economic Area (EEA) including the EU which enforces the General Data Protection Regulation (GDPR) and therefore access cannot be granted at this time. For any issues, contact help@purdueexponent.org or call 765-743-1111.
October 19, 2025 at 8:57 AM UTC
Matt Kane

From the post:

AML rules apply only to firms that undertake certain types of legal work: work that, broadly speaking, involves tax, finance, property or the creation/management of trusts and companies. A firm, like Carter-Ruck, that only conducts media law and related litigation is not normally required to be regulated
October 19, 2025 at 8:48 AM UTC
Matt Kane

Congratulations!

October 19, 2025 at 8:09 AM UTC
Matt Kane

All will be revealed...

October 18, 2025 at 10:27 AM UTC
Matt Kane

The latter. Needlessly gave up two days of pay!

October 18, 2025 at 10:27 AM UTC
Matt Kane

The Town and Country Planning Act 1947

October 18, 2025 at 7:55 AM UTC
Matt Kane

It's going to be basically all Google resources though, isn't it

October 17, 2025 at 8:04 PM UTC
Matt Kane

Thanks!

October 17, 2025 at 5:21 PM UTC
Matt Kane

Incredible idea

October 17, 2025 at 3:27 PM UTC
Matt Kane

Some personal news: today is my last day as Astro framework lead! I will still be on the Astro core team, but I'm no longer an Astro employee. I am incredibly grateful to @fks.bsky.social for giving me this role: it's been a joy and honour. As for what's next? Well, I'll share that soon...

October 17, 2025 at 3:11 PM UTC
Matt Kane

No timeline yet. We've not even started implementation yet. Mainly looking for feedback on the API design for now.

October 17, 2025 at 2:23 PM UTC
Matt Kane

It has to be bait. Nobody seriously believes in that dichotomy.

October 17, 2025 at 10:25 AM UTC
Matt Kane

Proofreaders are all pedants who *love* to find mistakes!

October 17, 2025 at 9:02 AM UTC
Matt Kane

Your feedback would be super useful! Sanity would be a perfect use case for the live collections + cache tag combination

October 17, 2025 at 9:01 AM UTC
Matt Kane

Maybe both were wrong and we can recognise that? The web was transformational, but most "just add web" hype businesses failed. Same for AI โ€“ it's important, but adding some AI to a business doesn't justify the valuations. As an Xennial who started my career during the dotcom bubble, it's familiar.

October 17, 2025 at 7:08 AM UTC
Matt Kane

The big differences from ISR etc are: - Based on web standards, using cache headers and CDN caches where possible. - Cross-platform, with support for all different hosts and caches. - Supports dependency tracking with granular cache invalidation of pages that use individual content entries.

October 17, 2025 at 6:38 AM UTC
Matt Kane

I have a new RFC up for route caching in Astro. It's our answer to ISR etc, but it has some important differences that I think would make it really powerful. If you saw my talk at ViteConf you will have seen a preview, but this has a lot more detail on implementation and API. I'd love feedback!

Route Caching by ascorbic ยท Pull Request #1245 ยท withastro/roadmap

github.com

Route Caching by ascorbic ยท Pull Request #1245 ยท withastro/roadmap

Summary A platform-agnostic route caching API for Astro SSR pages that enables declarative cache control using web standards. Examples Basic route caching --- // src/pages/products/[id].astro impor...

October 17, 2025 at 6:38 AM UTC
Matt Kane

This is a great post

October 16, 2025 at 12:48 PM UTC
Matt Kane

I think TikTok will probably be ok. If people don't interact with it, they'll down-rank it. Instagram will probably be filled with its own slop as they desperately try to make Meta AI a thing

October 15, 2025 at 2:29 PM UTC
Matt Kane

lol no chance

October 15, 2025 at 1:33 PM UTC
Matt Kane

Any update on this?

October 15, 2025 at 1:01 PM UTC
Matt Kane

Only noughties kids remember

October 15, 2025 at 12:57 PM UTC
Matt Kane

Cross-document is the big one, but as a Firefox user I celebrate the wins that I get

October 15, 2025 at 12:56 PM UTC
Matt Kane

Or maybe Vite+ brings Mootools support. Array.prototype.flatten for all!

October 15, 2025 at 12:54 PM UTC
Matt Kane

I am far more positively-inclined to AI than the median Bluesky user, but even I believe the world would be better if Sora didn't exist.

October 15, 2025 at 12:52 PM UTC
Matt Kane

SvelteKit is almost certainly faster, but I don't think that's what this benchmark is showing.

October 15, 2025 at 11:16 AM UTC
Matt Kane

I don't think these are meant to be like-for-like comparisons between frameworks. They're separate benchmarks, comparing hosting platforms.

October 15, 2025 at 11:14 AM UTC
Matt Kane

I'd imagine the explanation is "wants to get paid for something that's taken a lot of work to build"

October 15, 2025 at 8:50 AM UTC
Matt Kane

brb naming my children "mortgage" and "insurance"

October 14, 2025 at 5:56 PM UTC
Matt Kane

Smooth

October 14, 2025 at 5:51 PM UTC
Matt Kane

Let Rishi be Rishi (a massive nerd)

October 14, 2025 at 12:56 PM UTC
Matt Kane

Standard digital is ยฃ279/y and is worth it if you can afford it. I also thought I'd read a few articles per month, but after ditching the Times and subscribing it's probably my most read paper

October 14, 2025 at 8:09 AM UTC
Matt Kane

I may not have been to many in-person conferences recently, but ViteConf had considerably more drones flying 50cm above people's heads then I would have expected (2).

October 14, 2025 at 6:26 AM UTC
Matt Kane

I can only see that as a demogorgon

Demogorgon plushie from Stranger Things
October 14, 2025 at 6:17 AM UTC
Matt Kane

"For You" makes a huge difference I think

October 14, 2025 at 6:01 AM UTC
Matt Kane

I always just assume that people who say they can't taste bay leaves are just not paying attention, considering the fact they're among the strongest-tasting herbs

October 13, 2025 at 9:16 AM UTC
Matt Kane

Thanks!

October 12, 2025 at 7:48 AM UTC
Matt Kane

Correct

October 11, 2025 at 9:37 PM UTC
Matt Kane

It's very much a west country thing. So not Bristolian enough.

October 11, 2025 at 2:20 PM UTC
Matt Kane

The amount of scrumpy that I consumed on that quayside during my 20s would sink a boat

October 11, 2025 at 2:16 PM UTC
Matt Kane

No, it's literally just a silly thing I threw together for the bad UX contest!

October 9, 2025 at 6:47 PM UTC
Matt Kane

More importantly, why is the earth so large? The answer to both is: so you can see them

October 8, 2025 at 8:01 PM UTC
Matt Kane

Try it out here. Extra challenging on mobile in portrait because the earth is off screen for half the year. solar-picker.netlify.app

solar-picker.netlify.app

Solar Date Picker

October 8, 2025 at 2:56 PM UTC
Matt Kane

In Amsterdam this weekend? Come join us for drinks and games!

October 8, 2025 at 1:12 PM UTC
Matt Kane

My entry for the @nordcraft.com bad UX date picker challenge. Drag the Earth around the sun to pick the date. Bad, enough for you @whitep4nth3r.com?

Video thumbnail
Play button
October 8, 2025 at 12:06 PM UTC
Matt Kane

Just about to start the cross London dash

October 7, 2025 at 8:52 AM UTC
Matt Kane

It'll be a rush, but I should still make it to my Eurostar ๐Ÿ˜ฌ

October 7, 2025 at 8:50 AM UTC
Matt Kane

Sign of the times that not one journalist has demanded that she sing them to the tune of New Rules by Dua Lipa

October 7, 2025 at 8:48 AM UTC
Matt Kane

Oh mate

October 7, 2025 at 8:28 AM UTC
Matt Kane

I have such a bad idea for this, but it would be a ton of work

October 7, 2025 at 7:31 AM UTC
Matt Kane

Not the best start to my journey to @viteconf.org

A series of push notifications showing increased delays to my train. Now at 24 mins
October 7, 2025 at 7:03 AM UTC
Matt Kane

Borough Market has definitely fit that description since the early 2000s, if not the late 90s.

October 7, 2025 at 6:11 AM UTC
Matt Kane

Bluesky devs aren't public figures

October 7, 2025 at 6:03 AM UTC
Matt Kane

I'm not talking about posts like that. I'm talking about random, unrelated posts from different Bluesky employees.

October 7, 2025 at 4:57 AM UTC
Matt Kane

This is what I'm getting at. I don't think saying something positive about AI is undermining the community

October 7, 2025 at 4:49 AM UTC
Matt Kane

Yes. Saying something you disagree with is not the same as saying something hateful, and telling someone to fuck off for it *is* toxicity.

October 7, 2025 at 4:46 AM UTC
Matt Kane

Ok, I disagree but think it's fine to believe that. The problem is that I often see people replying to a post about AI in the same way they would if that post was itself racist, transphobic or similar. That to me seems seriously disproportionate, and an example of toxicity here.

October 7, 2025 at 4:36 AM UTC
Matt Kane

So do you believe that saying something positive about AI makes a person evil per se, or just that those people are inevitably evil in some separate way?

October 7, 2025 at 4:23 AM UTC
Matt Kane

The fact that there are people who consider that saying something positive about AI makes a person evil does explain a lot

October 7, 2025 at 4:12 AM UTC
Matt Kane

Depends if you consider being a Bluesky employee or saying something positive about AI to be something terrible

October 7, 2025 at 4:03 AM UTC
Matt Kane

Same, and same. Great tool

October 6, 2025 at 10:18 PM UTC
Matt Kane

Yes, this is a technical thing. Account moderation is at the AppView level, and Blacksky still uses the Bluesky AppView (though I believe they are planning to move to their own)

October 6, 2025 at 6:32 PM UTC
Matt Kane

Yeah. For me it tips it from "wtf that doesn't even deserve flagging" to at least understanding where they're coming from.

October 6, 2025 at 4:08 PM UTC
Matt Kane

Missing some pretty important context there

October 6, 2025 at 3:59 PM UTC
Matt Kane

I agreed at first when I read that, but it seems there is very important context missing. It's quoting a post by Jay alongside a picture of Charlie Kirk moments before he's shot, with an alt text that says "negative consequences" (from Jay's post). I can see how it could be interpreted as a threat.

October 6, 2025 at 3:57 PM UTC