Quoting John Gruber
The real goldmine isn’t that Apple gets a cut of every App Store transaction. It’s that Apple’s platforms have the best apps, and users who are drawn to the best apps are thus drawn to the iPhone, Mac, and iPad. That edge is waning. Not because software on other platforms is getting better, but because third-party software on iPhone, Mac, and iPad is regressing to the mean, to some extent, because fewer developers feel motivated — artistically, financially, or both — to create well-crafted…
Gemini 3.1 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…
Gemini 3.1 Flash TTS
Tool: Gemini 3.1 Flash TTS See my notes on Google's new Gemini 3.1 Flash TTS text-to-speech model. Tags: gemini, google
Quoting Kyle Kingsbury
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…
🎬 SymfonyLive Paris 2026 : les replays sont en ligne !
🎉Bonne nouvelle ! Les replays de SymfonyLive Paris 2026 sont maintenant disponibles en ligne ! Vous avez manqué une conférence ? Vous souhaitez revoir votre talk préféré ? Vous pouvez désormais accéder à l’ensemble des sessions et replonger dans deux jours…
Claude Code, Codex and Agentic Coding #7: Auto Mode
As we all try to figure out what Mythos means for us down the line, the world of practical agentic coding continues, with the latest array of upgrades.
SymfonyLive Berlin 2026: "Simultaneous editing: Easy mode with Symfony UX"
We’re excited to announce that SymfonyLive Berlin 2026 will take place April 23–24, 2026 at CineStar CUBIX Alexanderplatz, right in the heart of Berlin, directly on Alexanderplatz and easily accessible by public transport. 🎤 New talk announcement!…
AI Is Writing Our Code Faster Than We Can Verify It
This is the third article in a series on agentic engineering and AI-driven development. Read part one here, part two here, part three here, and look for the next article on April 23 on O’Reilly Radar. Here’s the dirty secret of the AI coding revolution: most experienced developers still don’t really trust the code the AI writes for […]
The Great CSS Expansion
A comprehensive look at how new CSS features are replacing JavaScript libraries. Anchor positioning, the Popover API, scroll-driven animations, view transitions, customizable selects, and more. The article estimates around 322 kB of JavaScript that can potentially be replaced by native CSS. Read more
datasette-ports 0.3
Release: datasette-ports 0.3 A small update for my tool for helping me figure out what all of the Datasette instances on my laptop are up to. Show working directory derived from each PID Show the full path to each database file Output now looks like this: http://127.0.0.1:8007/ - v1.0a26 Directory: /Users/simon/dev/blog Databases: simonwillisonblog: /Users/simon/dev/blog/simonwillisonblog.db Plugins: datasette-llm datasette-secrets http://127.0.0.1:8001/ - v1.0a26 Directory:…
Zig 0.16.0 release notes: "Juicy Main"
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 { ///…
datasette PR #2689: Replace token-based CSRF with Sec-Fetch-Site header protection
datasette 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…
10 Must-use Slash Commands in Claude Code
...explained with exact prompts and usage!
Aucun résultat
Essayez avec d'autres termes de recherche.