Simon Willison's Weblog
- Author
- Simon Willison
- Public lists
-
Featured
- Fetched
Making XML human-readable without XSLT
Making XML human-readable without XSLT
In response to the recent discourse about XSLT support in browsers, Jake Archibald shares a new-to-me alternative trick for making an XML document readable in a browser: adding the following element near the top of the XML:<script
xmlns="http://www.w3.org/1999/xhtml"
src="script.js" defer="" />
That script.js will then be executed by the browser, and can swap out the XML with HTML by creating new elements using the correct namespace:
const htmlEl = document.createElementNS(
'http://www.w3.org/1999/xhtml',
'html',
);
document.documentElement.replaceWith(htmlEl);
// Now populate the new DOM
Tags: browsers, javascript, rss, xml, xslt, jake-archibald
Rich Pixels
Here's the key trick - it renders Unicode ▄ (U+2584, "lower half block") characters after setting a foreground and background color for the two pixels it needs to display.
I got GPT-5 to vibe code up a show_image.py terminal command which resizes the provided image to fit the width and height of the current terminal and displays it using Rich Pixels. That script is here, you can run it with uv like this:
uv run http://tools.simonwillison.net/python/show_image.py \
image.jpg
Here's what I got when I ran it against my V&A East Storehouse photo from this post:
Tags: ascii-art, cli, python, ai, generative-ai, llms, uv, vibe-coding, gpt-5, rich
August 2025 newsletter
I just sent out my August 2025 sponsors-only newsletter summarizing the past month in LLMs and my other work. Topics included GPT-5, gpt-oss, image editing models (Qwen-Image-Edit and Gemini Nano Banana), other significant model releases and the tools I'm using at the moment.
If you'd like a preview of the newsletter, here's the July 2025 edition I sent out a month ago.
New sponsors get access to the full archive. If you start sponsoring for $10/month or more right now you'll get instant access to the August edition in my simonw-private/monthly GitHub repository.
If you've already read all 85 posts I wrote in August the newsletter acts mainly as a recap, but I've had positive feedback from people who prefer to get the monthly edited highlights over reading the firehose that is my blog!
Tags: newsletter
Introducing gpt-realtime
Cloudflare Radar: AI Insights
Claude Opus 4.1 and Opus 4 degraded quality
Quoting Benj Edwards
LLMs are intelligence without agency—what we might call "vox sine persona": voice without person. Not the voice of someone, not even the collective voice of many someones, but a voice emanating from no one at all.
Tags: benj-edwards, ai-personality, generative-ai, ai, llms
Talk Python: Celebrating Django's 20th Birthday With Its Creators
Talk Python: Celebrating Django's 20th Birthday With Its Creators
I recorded this podcast episode recently to celebrate Django's 20th birthday with Adrian Holovaty, Will Vincent, Jeff Triplet, and Thibaud Colas.We didn’t know that it was a web framework. We thought it was a tool for building local newspaper websites. [...]
Django’s original tagline was ‘Web development on journalism deadlines’. That’s always been my favorite description of the project.
Tags: adrian-holovaty, django, python, podcast-appearances
The perils of vibe coding
Lossy encyclopedia
Python: The Documentary
Tags: computer-history, guido-van-rossum, python, youtube
V&A East Storehouse and Operation Mincemeat in London
Quoting Bruce Schneier
We simply don’t know to defend against these attacks. We have zero agentic AI systems that are secure against these attacks. Any AI that is working in an adversarial environment—and by this I mean that it may encounter untrusted training data or input—is vulnerable to prompt injection. It’s an existential problem that, near as I can tell, most people developing these technologies are just pretending isn’t there.
Tags: prompt-injection, security, generative-ai, bruce-schneier, ai, llms, ai-agents
Piloting Claude for Chrome
Will Smith’s concert crowds are real, but AI is blurring the lines
Will Smith’s concert crowds are real, but AI is blurring the lines
Great piece from Andy Baio demonstrating quite how convoluted the usage ethics and backlash against generative AI has become.Will Smith has been accused of using AI to misleadingly inflate the audience sizes of his recent tour. It looks like the audiences were real, but the combined usage of static-image-to-video models by his team with YouTube's ugly new compression experiments gave the resulting footage an uncanny valley effect that lead to widespread doubts over the veracity of the content.
Tags: andy-baio, ai, generative-ai, ai-ethics
Agentic Browser Security: Indirect Prompt Injection in Perplexity Comet
Static Sites with Python, uv, Caddy, and Docker
Spatial Joins in DuckDB
too many model context protocol servers and LLM allocations on the dance floor
Quoting The Bluesky Team
DeepSeek 3.1
ChatGPT release notes: Project-only memory
Quoting potatolicious
Quoting Matt Garman
I was at a leadership group and people were telling me "We think that with AI we can replace all of our junior people in our company." I was like, "That's the dumbest thing I've ever heard. They're probably the least expensive employees you have, they're the most leaned into your AI tools, and how's that going to work when you go 10 years in the future and you have no one that has built up or learned anything?
— Matt Garman, CEO, Amazon Web Services
Tags: ai-ethics, careers, generative-ai, aws, ai
Quoting Mustafa Suleyman
Quoting u/AssafMalkiIL
what’s the point of vibe coding if at the end of the day i still gotta pay a dev to look at the code anyway. sure it feels kinda cool while i’m typing, like i’m in some flow state or whatever, but when stuff breaks it’s just dead weight. i cant vibe my way through debugging, i cant ship anything that actually matters, and then i’m back to square one pulling out my wallet for someone who actually knows what they’re doing.
— u/AssafMalkiIL, on r/vibecoding
Tags: reddit, vibe-coding, ai, generative-ai
AWS in 2025: The Stuff You Think You Know That’s Now Wrong
David Ho on BlueSky: A pelican tried to eat my bike
David Ho on BlueSky: A pelican tried to eat my bike
David Ho caught video footage of one of the pelicans in St James's Park expressing deep curiosity in his bicycle.I think it wants to ride it.
Tags: pelican-riding-a-bicycle