Creator @datasetteproj, co-creator Django. PSF board. Hangs out with @natbat. He/Him. Mastodon: https://t.co/t0MrmnJW0K Bsky: https://t.co/OnWIyhX4CH
Activity on simonw/datasette
simonw commented on an issue in datasette
View on GitHubActivity on simonw/datasette
simonw closed an issue in datasette
View on GitHubThe example prompt for Google's new Gemini Flash TTS text-to-speed model is a lot https://simonwillison.net/2026/Apr/15/gemini-31-flash-tts/

Gemini 3.1 Flash TTS Google released Gemini 3.1 Flash TTS today, a new text-to-speech model that can be directed using prompts. It's presented via the standard Gemini API using gemini-3.1-flash-tts-preview as the model ID, but can only output audio files. The prompting guide is surprising, to say the least. Here's their example prompt to generate just a few short sentences of audio: # AUDIO PROFILE: Jaz R. ## "The Morning Hype" ## THE SCENE: The London Studio It is 10:00 PM in a glass-walled studio overlooking the moonlit London skyline, but inside, it is blindingly bright. The red "ON AIR" tally light is blazing. Jaz is standing up, not sitting, bouncing on the balls of their heels to the rhythm of a thumping backing track. Their hands fly across the faders on a massive mixing desk. It is a chaotic, caffeine-fueled cockpit designed to wake up an entire nation. ### DIRECTOR'S NOTES Style: * The "Vocal Smile": You must hear the grin in the audio. The soft palate is always rai...
I think we will see some people employed (though perhaps not explicitly) as meat shields: people who are accountable for ML systems under their supervision. The accountability may be purely internal, as when Meta hires human beings to review the decisions of automated moderation systems. It may be external, as when lawyers are penalized for submitting LLM lies to the court. It may involve formalized responsibility, like a Data Protection Officer. It may be convenient for a company to have third-party subcontractors, like Buscaglia, who can be thrown under the bus when the system as a whole misbehaves. — Kyle Kingsbury, The Future of Everything is Lies, I Guess: New Jobs Tags: ai-ethics, careers, ai, kyle-kingsbury
I'm certain this isn't the message they intended to present, but this comes across to me as a company saying "we no longer trust in our own ability to keep your data secure"
Open source is dead. That’s not a statement we ever thought we’d make. @calcom was built on open source. It shaped our product, our community, and our growth. But the world has changed faster than our principles could keep up. AI has fundamentally altered the security
View quoted postRT Simon Willison Re @pumfleet @calcom Did you see this piece by @dbreunig? He argues that the cost of locking down software through LLM analysis makes open source MORE valuable now: https://www.dbreunig.com/2026/04/14/cybersecurity-is-proof-of-work-now.html Original tweet: https://x.com/simonw/status/2044432963442823237
Zig 0.16.0 release notes: "Juicy Main" Zig has really good release notes - comprehensive, detailed, and with relevant usage examples for each of the new features. Of particular note in the newly released Zig 0.16.0 is what they are calling "Juicy Main" - a dependency injection feature for your program's main() function where accepting a process.Init parameter grants access to a struct of useful properties: const std = @import("std"); pub fn main(init: std.process.Init) !void { /// general purpose allocator for temporary heap allocations: const gpa = init.gpa; /// default Io implementation: const io = init.io; /// access to environment variables: std.log.info("{d} env vars", .{init.environ_map.count()}); /// access to CLI arguments const args = try init.minimal.args.toSlice( init.arena.allocator() ); } Via Lobste.rs Tags: zig
Activity on simonw/datasette
simonw contributed to simonw/datasette
View on GitHubdatasette PR #2689: Replace token-based CSRF with Sec-Fetch-Site header protection Datasette has long protected against CSRF attacks using CSRF tokens, implemented using my asgi-csrf Python library. These are something of a pain to work with - you need to scatter forms in templates with <input type="hidden" name="csrftoken" value="{{ csrftoken() }}"> lines and then selectively disable CSRF protection for APIs that are intended to be called from outside the browser. I've been following Filippo Valsorda's research here with interest, described in this detailed essay from August 2025 and shipped as part of Go 1.25 that same month. I've now landed the same change in Datasette. Here's the PR description - Claude Code did much of the work (across 10 commits, closely guided by me and cross-reviewed by GPT-5.4) but I've decided to start writing these PR descriptions by hand, partly to make them more concise and also as an exercise in keeping myself honest. New CSRF protection ...
Activity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubActivity on simonw/datasette
simonw commented on pull request simonw/datasette#2689
View on GitHubTrusted access for the next era of cyber defense OpenAI's answer to Claude Mythos appears to be a new model called GPT-5.4-Cyber: In preparation for increasingly more capable models from OpenAI over the next few months, we are fine-tuning our models specifically to enable defensive cybersecurity use cases, starting today with a variant of GPT‑5.4 trained to be cyber-permissive: GPT‑5.4‑Cyber. They're also extending a program they launched in February (which I had missed) called Trusted Access for Cyber, where users can verify their identity (via a photo of a government-issued ID processed by Persona) to gain "reduced friction" access to OpenAI's models for cybersecurity work. Honestly, this OpenAI announcement is difficult to follow. Unsurprisingly they don't mention Anthropic at all, but much of the piece emphasizes their many years of existing cybersecurity work and their goal to "democratize access" to these tools, hence the emphasis on that self-service verification flow...
Cybersecurity Looks Like Proof of Work Now The UK's AI Safety Institute recently published Our evaluation of Claude Mythos Preview’s cyber capabilities, their own independent analysis of Claude Mythos which backs up Anthropic's claims that it is exceptionally effective at identifying security vulnerabilities. Drew Breunig notes that AISI's report shows that the more tokens (and hence money) they spent the better the result they got, which leads to a strong economic incentive to spend as much as possible on security reviews: If Mythos continues to find exploits so long as you keep throwing money at it, security is reduced to a brutally simple equation: to harden a system you need to spend more tokens discovering exploits than attackers will spend exploiting them. An interesting result of this is that open source libraries become more valuable, since the tokens spent securing them can be shared across all of their users. This directly counters the idea that the low cost of vib...
Activity on simonw/datasette
simonw opened a pull request in datasette
View on GitHubActivity on repository
simonw pushed datasette-auth-tokens
View on GitHubActivity on simonw/datasette-auth-tokens
simonw opened a pull request in datasette-auth-tokens
View on GitHubActivity on simonw/research
simonw contributed to simonw/research
View on GitHubActivity on simonw/tools
simonw opened a pull request in tools
View on GitHubActivity on simonw/llm
simonw commented on an issue in llm
View on GitHubActivity on simonw/llm
simonw commented on an issue in llm
View on GitHubActivity on simonw/llm
simonw commented on an issue in llm
View on GitHubThe problem is that LLMs inherently lack the virtue of laziness. Work costs nothing to an LLM. LLMs do not feel a need to optimize for their own (or anyone's) future time, and will happily dump more and more onto a layercake of garbage. Left unchecked, LLMs will make systems larger, not better — appealing to perverse vanity metrics, perhaps, but at the cost of everything that matters. As such, LLMs highlight how essential our human laziness is: our finite time forces us to develop crisp abstractions in part because we don't want to waste our (human!) time on the consequences of clunky ones. — Bryan Cantrill, The peril of laziness lost Tags: bryan-cantrill, ai, llms, ai-assisted-programming, generative-ai
Activity on simonw/research
simonw opened a pull request in research
View on GitHubSQLite 3.53.0 SQLite 3.52.0 was withdrawn so this is a pretty big release with a whole lot of accumulated user-facing and internal improvements. Some that stood out to me: ALTER TABLE can now add and remove NOT NULL and CHECK constraints - I've previously used my own sqlite-utils transform() method for this. New json_array_insert() function and its jsonb equivalent. Significant improvements to CLI mode, including result formatting. The result formatting improvements come from a new library, the Query Results Formatter. I had Claude Code (on my phone) compile that to WebAssembly and build this playground interface for trying that out. Via Lobste.rs Tags: sql, sqlite
Activity on simonw/tools
simonw opened a pull request in tools
View on GitHubLenny posted another snippet from our 1 hour 40 minute podcast recording and it's about kākāpō parrots! Tags: kakapo
I think it's non-obvious to many people that the OpenAI voice mode runs on a much older, much weaker model - it feels like the AI that you can talk to should be the smartest AI but it really isn't. If you ask ChatGPT voice mode for its knowledge cutoff date it tells you April 2024 - it's a GPT-4o era model. (Thought inspired by this Karpathy tweet about the growing gap in understanding of AI capability based on the access points and domains people are using the models with.) Tags: andrej-karpathy, generative-ai, openai, chatgpt, ai, llms
I think it's non-obvious to many people that the OpenAI voice mode runs on a much older, much weaker model - it feels like the AI that you can talk to should be the smartest AI but it really isn't
Judging by my tl there is a growing gap in understanding of AI capability. The first issue I think is around recency and tier of use. I think a lot of people tried the free tier of ChatGPT somewhere last year and allowed it to inform their views on AI a little too much. This is
View quoted postActivity on simonw/simonwillisonblog
simonw contributed to simonw/simonwillisonblog
View on GitHubTool: GitHub Repo Size GitHub doesn't tell you the repo size in the UI, but it's available in the CORS-friendly API. Paste a repo into this tool to see the size, for example for simonw/datasette (8.1MB). Tags: cors, github
Activity on simonw/simonw
simonw opened a pull request in simonw
View on GitHubReleased simonw/datasette-gzip
simonw released 0.3 at simonw/datasette-gzip
Released simonw/asgi-gzip
simonw released 0.3 at simonw/asgi-gzip
Activity on simonw/asgi-gzip
simonw closed an issue in asgi-gzip
View on GitHubActivity on simonw/asgi-gzip
simonw commented on an issue in asgi-gzip
View on GitHubActivity on simonw/asgi-gzip
simonw closed an issue in asgi-gzip
View on GitHubActivity on repository
simonw pushed simonwillisonblog-backup
View on GitHubPelicans for Meta's new Muse Spark models - plus I did a bit of a deep dive into the Code Interpreter and fascinating "container.visual_grounding" tools in their http://meta.ai chat UI https://simonwillison.net/2026/Apr/8/muse-spark/

Meta announced Muse Spark today, their first model release since Llama 4 almost exactly a year ago. It's hosted, not open weights, and the API is currently "a private API preview to select users", but you can try it out today on meta.ai (Facebook or Instagram login required). Meta's self-reported benchmarks show it competitive with Opus 4.6, Gemini 3.1 Pro, and GPT 5.4 on selected benchmarks, though notably behind on Terminal-Bench 2.0. Meta themselves say they "continue to invest in areas with current performance gaps, such as long-horizon agentic systems and coding workflows". The model is exposed as two different modes on meta.ai - "Instant" and "Thinking". Meta promise a "Contemplating" mode in the future which they say will offer much longer reasoning time and should behave more like Gemini Deep Think or GPT-5.4 Pro. A couple of pelicans I prefer to run my pelican test via API to avoid being influenced by any invisible system prompts, but since that's not an option I r...
Activity on repository
simonw pushed datasette-turnstile
View on GitHubActivity on simonw/datasette.io
simonw commented on an issue in datasette.io
View on GitHub