Articles

Browse all AI articles. Use filters to narrow down results.

Showing 18861 to 18880 of 31017 entries.

Most Recent Articles

Techmeme
techtechmemeclaudeanthropicagent

Anthropic: Anthropic launches Claude Sonnet 5, saying it nears Opus 4.8 performance at lower prices and is substantially better than Sonnet 4.6 for agentic work  —  Claude Sonnet 5 is built to be the most agentic Sonnet model yet.  It can make plans, use tools like browsers and terminals …

TechCrunch
aiai agentsanthropicclaudesonnet 5techtechcrunchgeminiagentagentssafety

Anthropic’s Claude Sonnet 5 brings stronger agentic capabilities, lower pricing, and improved safety, positioning the model as a cheaper alternative to Opus, GPT-5.5, and Gemini Pro.

TechCrunch
aiappsstartupstcactiagentic apptechtechcrunchagentagents

Acti is betting the smartphone keyboard is the next home for AI assistants. The startup's new keyboard for iOS and Android works across apps and lets users create custom AI-powered shortcuts using natural language.

Product Hunt
startupproduct hunt

IvyForms

By Ben Lang

Discussion | Link

Techmeme
techtechmemeopenaianthropicgoogleinference

Stephanie Palazzolo / The Information: Source: OpenAI engineers earlier this month told some colleagues they had figured out a way to more than halve the cost of inference  —  We closely track efforts by Anthropic, Google and OpenAI to get access to more server chips to run their models.  But we don't talk enough about the work …

Simon Willison Weblog
aisimon willison weblogllmrag

The AI Compass

<p><strong><a href="https://bambamramfan.github.io/ai-compass/">The AI Compass</a></strong></p> This political compass style quiz <a href="https://bambamramfan.tumblr.com/post/820505178072580096/the-ai-compass">by bambamramfan</a> is pretty neat - answer 29 questions about AI and AI ethics to see which of the 30 archetypes you best fit.</p> <p>I'm impressed that my answers on my first time through the quiz categorized me as "The Garage Tinkerer", patron saint myself!</p> <p><img src="https://static.simonwillison.net/static/2026/garage-tinkerer.jpg" style="display: block; width: 100%; max-width: 400px; margin: 0 auto;" alt="Screenshot of a quiz result screen on a dark background. The top half shows a square scatter-plot quadrant chart with axes labeled GOOD (top), BAD (bottom), OVERHYPED (left of center) and TRANSFORMATIVE (right of center), filled with colored regions and scattered dots; a glowing white-ringed teal dot marks the user&#39;s position in the upper-right (good/transformative) area. Below, a card reads: &quot;YOU ARE...&quot; / &quot;The Garage Tinkerer&quot; / &quot;patron saint: Simon Willison&quot; / &quot;You&#39;re running local models, building little tools, and having a genuinely great time. You don&#39;t care about the discourse — you care about making the thing do cool stuff. The technology is interesting and everyone arguing about it would be happier if they just opened a terminal.&quot;"></p> <p>It's implemented as a single page React app using the <code>&lt;script type="text/babel"&gt;</code> trick to avoid the necessary build step. <a href="https://github.com/bambamramfan/ai-compass/blob/main/index.html">Here's the code</a>. <p><small></small>Via <a href="https://bsky.app/profile/erisianrite.com/post/3mphwpqgd4c2y">@erisianrite.com</a></small></p> <p>Tags: <a href="https://simonwillison.net/tags/ai">ai</a>, <a href="https://simonwillison.net/tags/generative-ai">generative-ai</a>, <a href="https://simonwillison.net/tags/llms">llms</a>, <a href="https://simonwillison.net/tags/ai-ethics">ai-ethics</a></p>

Product Hunt
startupproduct hunt

Clusy

By Eldar Hasanov

Discussion | Link

MIT Technology Review
biotechnology and healthbiotechroundtablessubscriber-only storiestechmit technology reviewpolicy

Listen to the session or watch below Billions of dollars are flooding into efforts to reverse aging as scientists explore ways to return cells to a younger state. But how far off are these experimental treatments? Will they really work? Watch a conversation exploring longevity’s new focus. Speakers: Mary Beth Griggs, science editor and Jessica…

NVIDIA Technical Blog
ainvidia technical blograggpunvidia

GPU-accelerated query engines are often constrained by memory and I/O bandwidth. NVIDIA hardware advances—including high bandwidth memory (HBM), NVIDIA... GPU-accelerated query engines are often constrained by memory and I/O bandwidth. NVIDIA hardware advances—including high bandwidth memory (HBM), NVIDIA NVLink-C2C, and dedicated decompression engines featured in NVIDIA GB200 NVL4—help remove these bottlenecks by increasing effective storage capacity, accelerating data movement between CPUs and GPUs, and speeding data access without consuming… Source

TechRepublic AI
appleartificial intelligencedeveloperhardwareinnovationmobilenewssmartphonestech industryai codingcoding agentscursordevelopersipadiphonesoftware developmentspacextechtechrepublic aiagentagents

Cursor launched a public beta for iPhone and iPad that lets paid subscribers run, monitor, and review AI coding agents on mobile devices. The post SpaceX’s Cursor: New iPhone App Brings AI Coding Agents to Mobile appeared first on TechRepublic.

Techmeme
techtechmemeclaudeanthropic

Rebecca Bellan / TechCrunch: Anthropic launches Claude Science, an AI workbench that uses existing Claude models like Opus 4.8 to integrate 60+ scientific databases and specialized toolkits  —  Anthropic introduced Claude Science on Tuesday, an AI workbench that gives scientists one environment to do computational research …

Datanami
featuresagentic aiai agentsapache icebergartificial intelligencecontext engineeringdata lakehousedatabricksenterprise softwarelarge language modelssnowflakedatadatanamiopenaiclaudeanthropicllmragagentagents

Earlier this year, a wave of new AI coding capabilities crystallized a shift that had been building for months: LLMs began to look capable of replacing – not just augmenting […] The post The Limits of LLMs: Why Context, Not Models, Determines Success appeared first on BigDATAwire.

Techmeme
techtechmeme

Josh Scott / BetaKit: Ottawa-based Dominion Dynamics, which is building software, sensors, and drones to autonomously monitor the Arctic, raised a CA$139M Series A led by Georgian  —  Six months after closing a major seed round, Ottawa-based defence tech company Dominion Dynamics has secured $139 million CAD …

Simon Willison Weblog
aisimon willison weblogllmagentagents

<p><a href="https://shot-scraper.datasette.io/en/stable/video.html">shot-scraper video</a> is a new command introduced in today's <a href="https://github.com/simonw/shot-scraper/releases/tag/1.10">shot-scraper 1.10</a> release which accepts a <code>storyboard.yml</code> file defining a routine to run against a web application and uses Playwright to record a video of that routine. I've written before about the importance of <a href="https://simonwillison.net/2026/Feb/10/showboat-and-rodney/#proving-code-actually-works">having coding agents produce demos</a> of their work; this is my latest attempt at enabling them to do that.</p> <p>Here's an example video created using <code>shot-scraper video</code>, exercising a <a href="https://github.com/simonw/datasette/pull/2813">still in development</a> feature adding the ability to create new tables in Datasette from pasted CSV, TSV or JSON data:</p> <div style="max-width: 100%; margin-bottom: 0.4em"> <video controls="controls" preload="none" aria-label="Video demo of the new CSV import for Datasette" poster="https://static.simonwillison.net/static/2026/datasette-bulk-insert-demo.jpg" loop="loop" style="width: 100%; height: auto;" muted="muted"> <source src="https://static.simonwillison.net/static/2026/datasette-bulk-insert-demo.mp4" type="video/mp4" /> </video> </div> <p>That video was created by running this command:</p> <div class="highlight highlight-source-shell"><pre>shot-scraper video datasette-bulk-insert-storyboard.yml \ --auth datasette-demo-auth.json --mp4</pre></div> <p>(That <code>--auth</code> JSON file <a href="https://gist.github.com/simonw/287b26aff53fcb72942b19f5b69d7e5c">contains a cookie</a>, as <a href="https://shot-scraper.datasette.io/en/stable/authentication.html">described here</a> in the documentation.)</p> <p>Here's the <code>datasette-bulk-insert-storyboard.yml</code> file:</p> <div class="highlight highlight-source-yaml"><pre><span class="pl-ent">output</span>: <span class="pl-s">/tmp/datasette-bulk-insert-demo.webm</span> <span class="pl-ent">server</span>: - <span class="pl-s">uv</span> - <span class="pl-s">--directory</span> - <span class="pl-s">/Users/simon/Dropbox/dev/datasette</span> - <span class="pl-s">run</span> - <span class="pl-s">datasette</span> - <span class="pl-s">-p</span> - <span class="pl-c1">6419</span> - <span class="pl-s">--root</span> - <span class="pl-s">--secret</span> - <span class="pl-s"><span class="pl-pds">"</span>1<span class="pl-pds">"</span></span> - <span class="pl-s">/tmp/demo.db</span> <span class="pl-ent">url</span>: <span class="pl-s">http://127.0.0.1:6419/demo/tasks</span> <span class="pl-ent">viewport</span>: <span class="pl-ent">width</span>: <span class="pl-c1">1280</span> <span class="pl-ent">height</span>: <span class="pl-c1">720</span> <span class="pl-ent">cursor</span>: <span class="pl-c1">true</span> <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">'</span>button[data-table-action="insert-row"]<span class="pl-pds">'</span></span> <span class="pl-ent">javascript</span>: <span class="pl-s">|</span> <span class="pl-s"> (() =&gt; {</span> <span class="pl-s"> let clipboardText = "";</span> <span class="pl-s"> Object.defineProperty(navigator, "clipboard", {</span> <span class="pl-s"> configurable: true,</span> <span class="pl-s"> get: () =&gt; ({</span> <span class="pl-s"> writeText: async (text) =&gt; {</span> <span class="pl-s"> clipboardText = String(text);</span> <span class="pl-s"> },</span> <span class="pl-s"> readText: async () =&gt; clipboardText,</span> <span class="pl-s"> }),</span> <span class="pl-s"> });</span> <span class="pl-s"> })();</span> <span class="pl-s"></span><span class="pl-ent">scenes</span>: - <span class="pl-ent">name</span>: <span class="pl-s">Bulk insert existing table rows</span> <span class="pl-ent">do</span>: - <span class="pl-ent">pause</span>: <span class="pl-c1">0.8</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">'</span>button[data-table-action="insert-row"]<span class="pl-pds">'</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>#row-edit-dialog[open]<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.5</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-bulk-insert<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-bulk-textarea<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.5</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-copy-template<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=Copied<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.8</span> - <span class="pl-ent">fill</span>: <span class="pl-ent">into</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-bulk-textarea<span class="pl-pds">"</span></span> <span class="pl-ent">text</span>: <span class="pl-s">|</span> <span class="pl-s"> title,owner,status,priority,notes</span> <span class="pl-s"> Prepare release video,Ana,doing,1,Recorded with shot-scraper</span> <span class="pl-s"> Check pasted CSV import,Ben,review,3,Previewed before inserting</span> <span class="pl-s"> Share the branch demo,Chen,queued,2,Bulk insert creates three rows</span> <span class="pl-s"></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.8</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-save<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=Previewing 3 rows.<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">1.2</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-save<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=3 rows inserted.<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">1.0</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.row-edit-cancel<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=Prepare release video<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">1.0</span> - <span class="pl-ent">name</span>: <span class="pl-s">Create a table from pasted CSV</span> <span class="pl-ent">open</span>: <span class="pl-s">http://127.0.0.1:6419/demo</span> <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">'</span>details.actions-menu-links summary<span class="pl-pds">'</span></span> <span class="pl-ent">do</span>: - <span class="pl-ent">pause</span>: <span class="pl-c1">0.8</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">'</span>details.actions-menu-links summary<span class="pl-pds">'</span></span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">'</span>button[data-database-action="create-table"]<span class="pl-pds">'</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>#table-create-dialog[open]<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.5</span> - <span class="pl-ent">fill</span>: <span class="pl-ent">into</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-table-name<span class="pl-pds">"</span></span> <span class="pl-ent">text</span>: <span class="pl-s"><span class="pl-pds">"</span>launch_metrics<span class="pl-pds">"</span></span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-from-data<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-data-textarea<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.5</span> - <span class="pl-ent">fill</span>: <span class="pl-ent">into</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-data-textarea<span class="pl-pds">"</span></span> <span class="pl-ent">text</span>: <span class="pl-s">|</span> <span class="pl-s"> metric_id,name,score,recorded_on</span> <span class="pl-s"> m001,Activation rate,87.5,2026-06-29</span> <span class="pl-s"> m002,Retention check,72.25,2026-06-30</span> <span class="pl-s"> m003,CSV import health,95,2026-07-01</span> <span class="pl-s"></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">0.8</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-save<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=Previewing 3 rows.<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">1.2</span> - <span class="pl-ent">click</span>: <span class="pl-s"><span class="pl-pds">"</span>.table-create-save<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for_url</span>: <span class="pl-s"><span class="pl-pds">"</span>**/demo/launch_metrics<span class="pl-pds">"</span></span> - <span class="pl-ent">wait_for</span>: <span class="pl-s"><span class="pl-pds">"</span>text=Activation rate<span class="pl-pds">"</span></span> - <span class="pl-ent">pause</span>: <span class="pl-c1">1.2</span></pre></div> <p>The <a href="https://shot-scraper.datasette.io/en/stable/video.html">video command documentation</a> includes simpler examples, but for the purpose of this post I thought I'd go with something more comprehensive.</p> <p>That demo YAML storyboard was constructed entirely by GPT-5.5 xhigh running in Codex Desktop, using the following prompt run inside my <code>~/dev/datasette</code> checkout of <a href="https://github.com/simonw/datasette/commits/b759ea548606bc9bf9a4bf0e33e2d57ead7e0ab8/">this branch</a>:</p> <blockquote> <p><code>Review the changes on this branch.</code></p> <p><code>cd to ~/dev/shot-scraper and run the command "uv run shot-scraper video --help"</code></p> <p><code>Now use that new video command to record a video demo of the new features from this branch, including running a "uv run datasette -p 6419 --root --secret 1 /tmp/demo.db" development server so you can record the video against a demo DB that you first create.</code></p> </blockquote> <p>Now that I've released the feature the prompt could say "<code>run uvx shot-scraper video --help</code>" instead and it should achieve the same result.</p> <p>I really like this pattern where the <code>--help</code> output for a command provides enough detail that a coding agent can use it - it works kind of like bundling a <code>SKILL.md</code> file directly inside the tool. I used the same pattern for <a href="https://simonwillison.net/2026/Feb/10/showboat-and-rodney/">showboat and rodney</a>.</p> <h4 id="how-i-built-this">How I built this</h4> <p><code>shot-scraper video</code> started as an experimental prototype. <code>shot-scraper</code> is built on top of <a href="https://playwright.dev/">Playwright</a>, and the key feature it needed was for Playwright to be able to record video of browser sessions with enough control to create the desired demo.</p> <p>I first tried this a few years ago and found that the Playwright-produced videos included additional chrome that was useful for debugging a test failure but unwanted for a product demo.</p> <p>They fixed that a while ago, but there were still some minor blockers. In particular I was getting <a href="https://github.com/simonw/shot-scraper/pull/194/changes/c2f3b3a52ba84f2adcf3ad6da4d39c2570328584#issuecomment-4724459369">a few white frames at the start of the videos</a>, since the recording mechanism kicked in before the first URL was loaded by the browser.</p> <p>Playwright 1.59 added a new <a href="https://playwright.dev/python/docs/api/class-screencast">screencast mechanism</a> providing much more finely grained control over video recording. This was very nearly what I needed, but the resulting videos were fixed at 800px wide.</p> <p>I found a <a href="https://github.com/microsoft/playwright/pull/41183">landed PR fixing that</a> but it wasn't yet in a release. Then yesterday they shipped it in <a href="https://github.com/microsoft/playwright-python/releases/tag/v1.61.0">playwright-python 1.61.0</a> and I was finally unblocked to finish implementing the feature!</p> <p>The code itself was all written by GPT-5.5 xhigh in Codex Desktop. I had it write the documentation as well which gave me a very useful frame for reviewing the design - much of the iteration on the feature came from reviewing that documentation, spotting things that were redundant, inconsistent or confusing, and requesting (or dictating) a better design.</p> <p>The YAML format itself was mostly defined by the coding agent. I had it <a href="https://github.com/simonw/shot-scraper/blob/1.10/shot_scraper/video.py#L24">use Pydantic</a> to both define and validate the format, partly to make the design easier to review.</p> <p>This is a great example of the kind of feature that I almost certainly wouldn't have taken on without coding agent support. I filed the <a href="https://github.com/simonw/shot-scraper/issues/142">original issue</a> in February 2024, and had difficulty finding the necessary time to solve this in amongst all of my other projects.</p> <p>Tags: <a href="https://simonwillison.net/tags/projects">projects</a>, <a href="https://simonwillison.net/tags/python">python</a>, <a href="https://simonwillison.net/tags/yaml">yaml</a>, <a href="https://simonwillison.net/tags/ai">ai</a>, <a href="https://simonwillison.net/tags/datasette">datasette</a>, <a href="https://simonwillison.net/tags/playwright">playwright</a>, <a href="https://simonwillison.net/tags/shot-scraper">shot-scraper</a>, <a href="https://simonwillison.net/tags/generative-ai">generative-ai</a>, <a href="https://simonwillison.net/tags/llms">llms</a>, <a href="https://simonwillison.net/tags/pydantic">pydantic</a>, <a href="https://simonwillison.net/tags/coding-agents">coding-agents</a>, <a href="https://simonwillison.net/tags/agentic-engineering">agentic-engineering</a></p>

Business Insider
newsbusiness insider

Serena Williams leaves a practice at Wimbledon 2026. Brian Inganga/AP Many A-list attendees have been spotted at Wimbledon wearing coveted watches. Serena Williams wore a pink Audemars Piguet watch, valued at more than $45,000. David Beckham sported a $5,350 Tudor Black Bay 58 in steel. Wimbledon is underway, and luxury watches seem to be as common in the stands as those bright green tennis balls on the court. The famed tennis tournament is being held between June 29 and July 12 at the All England Lawn Tennis and Croquet Club in London. Athletes like Serena Williams and Naomi Osaka are hitting the court to compete, and celebrities like David Beckham are supporting from the sidelines. Both players and attendees are sporting luxury timepieces that are catching a lot of attention. Here's the wrist candy we've spotted so far. Serena Williams arrived wearing a pink Audemars Piguet watch. Serena Williams leaves a practice at Wimbledon 2026. Brian Inganga/AP While leaving a practice session, Williams was photographed wearing the Royal Oak Offshore Selfwinding Chronograph timepiece. The $45,900 watch has a diamond-set bezel, a titanium case, 18-carat white-gold hands, and a pink bracelet. It perfectly matched the handle of her tennis racquet. David Beckham opted for a steel Tudor piece. David Beckham at Wimbledon 2026. John Walton - PA Images/Getty Images The soccer legend attended the first day of Wimbledon wearing a gray suit and a steel watch. The latter was the new Tudor Black Bay 58, which retails for $5,350. The silver piece has a black face beneath a domed dial and distinct rhodium-plated hands. Romeo Beckham one-upped his dad with a Patek Phillipe watch. Kim Turnball and Romeo Beckham at Wimbledon 2026. Karwai Tang/Getty Images The model attended with his girlfriend, Kim Turnball, and was photographed wearing the Nautilus 7118 watch from the Swiss brand. It retails for $68,268. Traditionally a women's watch, it has a rose-gold bracelet, a silver opaline dial with a wave pattern, and shining white hands. Alexander Ludwig sported a simple timepiece from Frédérique Constant. Niall Horan and Alexander Ludwig at Wimbledon 2026. Karwai Tang/Getty Images The "Vikings" actor sat beside musician Niall Horan and wore a Swiss watch on his left wrist. The Frédérique Constant piece (model FC-303MS4C24) is from the watchmaker's classic collection. It features a rectangular face in rose gold with a black leather band. It's no longer sold by the brand and is sold out by secondhand watch dealers. Read the original article on Business Insider