Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
163036 stories
·
33 followers

How to Go from AI Power User to AI Leader

1 Share
From: AIDailyBrief
Duration: 35:43
Views: 2,113

As AI becomes central to work, a new leadership opportunity is emerging for those who can help others use it effectively. In this Operator's Cut, NLW and Nufar explore how AI power users can become leaders on their teams, the skills that distinguish great AI champions, and how companies can build programs that turn individual expertise into real business value.

The AI Daily Brief helps you understand the most important news and discussions in AI.
Subscribe to the podcast version of The AI Daily Brief wherever you listen: https://pod.link/1680633614
Get it ad free at http://patreon.com/aidailybrief
Learn more about the show https://aidailybrief.ai/

Read the whole story
alvinashcraft
27 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

375: AWS Finally Automates the Blame Game

1 Share

Welcome to episode 375 of The Cloud Pod, where the forecast is always cloudy! Justin, Ryan, and Matt are in the studio this week, bringing you all the latest in cloud and AI news, including news from Terraform, DigitalOcean, and even Oracle! There’s a lot to cover, so let’s get started!

Titles we almost went with this week

  • AWS Hires an AI to Side-Eye Your Cloud
  • Terraform Plan, Terraform Apply, Terraform Cry
  • Well-Architected Agent Grades Your Cloud Sins
  • AWS Agent Checks Your Architecture Homework
  • AWS Agent Judges Your Architecture, Finds It Wanting
  • SQL Injection Finally Gets Interesting: Doom Edition
  • Aurora Breaks the Ice(berg) with Data Lake Queries
  • GKE’s CPU Boost Sprints So Your App Doesn’t Crawl
  • Cloudflare Bottles Lightning, Charges You for Storage
  • AWS Security Hub Stops Playing Whack-a-Mole
  • Oracle’s Fusion Claw Grabs For Agentic Dominance
  • Justin has flashbacks about Publisher

A big thanks to this week’s sponsors:

We’re sponsorless! Want to get your brand, company, or service in front of a very enthusiastic group of cloud news seekers? You’ve come to the right place! Send us an email or hit us up on our Slack channel for more info.

Follow Up

02:54Shut up and take our money: Amazon plows $1B+ into quashing datacenter dissent

  • The article headline references Amazon investing over 1 billion dollars related to datacenter community opposition, suggesting AWS is funding efforts to address or mitigate local pushback against new datacenter construction projects, though the full scope and mechanics of this spending are not detailed in the available text.
  • This fits a broader industry pattern where hyperscalers including AWS, Microsoft, and Google face increasing local resistance to datacenter buildouts due to concerns over power consumption, water usage, and land use, similar to the Oracle Wisconsin datacenter delay mentioned elsewhere in this roundup due to grid connection approval issues.
  • Listeners should consider the practical implications of datacenter community relations spending: faster project approvals could mean quicker capacity expansion for AWS regions, which directly affects availability zone rollouts and service launch timelines customers rely on.
  • The broader context of power and grid constraints appearing across multiple stories in this roundup, including Oracle’s delayed Wisconsin facility, points to energy infrastructure increasingly becoming a bottleneck for cloud provider expansion plans industry-wide.
  • Given the limited detail available, hosts may want to flag this as a story to revisit once more reporting details emerge on specific dollar allocations, which communities are affected, and whether this represents direct community investment, lobbying, legal spending, or incentive payments.

06:17 Justin – “I think the water consumption is really the one that I think a lot of environmentalists are jumping on, which, you know, Amazon claims this data center or some of their data centers are seventy-four percent meeting water positive targets, whatever that means. Because there’s no way to quantify what water positive means.”

Con’t Amazon’s $1B plan to combat data center backlash draws more backlash

  • Amazon pledged over $1 billion over five years to communities near its data centers for education, job training, energy affordability, and water infrastructure, with local communities deciding how to allocate funds.
  • The announcement comes as local protests have blocked over $130 billion in data center projects this year, suggesting the funding commitment responds to mounting community opposition.
  • AWS CEO Matt Garman framed data center moratoriums as a national security risk, arguing that slowing US data center growth could let China surpass American AI development.
  • Critics, including Stand.Earth note the commitments don’t address Amazon’s backing of a large gas power plant expected to become a significant source of US climate pollution, calling the funding announcement incomplete on environmental impact.
  • Amazon claims 75 percent of its data center projects already meet “water positive” targets ahead of a 2030 goal, though specifics on methodology and verification weren’t detailed in the announcement.

AI Is Going Great – or How ML Makes Money

08:58 DevDay 2026 Recap

OpenAI DevDay 2026 talking points:

  • OpenAI introduced Dots, always-on agents available on Pro and Business Premium plans that autonomously handle ongoing tasks and responsibilities, marking a shift toward persistent agent-based workflows rather than single-session interactions.
  • GPT-6.1 Sol launched as an upgrade with strong agentic coding and computer use performance, priced at one-fifth the input and output token costs of the standard tier, which gives developers more budget flexibility for complex workflows.
  • A new Ultrafast tier also offers up to 8x faster token generation in Codex, reaching 300 tokens per second.
  • The Agents API now supports computer use, multi-agent capabilities, and context compaction, and OpenAI partnered with Amazon so developers can build these agents natively in AWS through Bedrock Managed Agents, an interesting cross-cloud collaboration.
  • OpenAI opened ChatGPT as a developer platform with Plugin extensions, letting third parties build native experiences within ChatGPT’s interface across a reported 1.2 billion weekly users, alongside new collaboration features like Spaces, Pages, and shared team tasks.
  • OpenAI Private Intelligence adds Zero Data Retention and Private Safety Processing for enterprise customers, with a Private Inference preview combining confidential computing coming this fall, addressing data protection concerns for regulated industries adopting frontier AI models.

09:57 Justin – “Didn’t they already have zero data retention? I mean, that seems like one of the big enterprise things that was early on; everyone wanted it in their enterprise agreement. So the fact that they’re announcing this is new makes me a little nervous that they were lying before.”

14:48 Customize Claude Code with mods in TypeScript

  • Anthropic introduced mods for Claude Code, small TypeScript functions that can rewrite prompts, add UI elements, replace built-in features, or add new functionality; they go beyond existing hooks by allowing event rewriting and custom UI rendering.
  • Mods ship inside plugins and work across both the CLI and desktop app; users can write mods manually or ask Claude Code to generate and hot-reload them during a session.
  • Security is a key consideration since mods run unsandboxed with the same machine access as Claude Code itself; Anthropic recommends only installing mods from trusted sources, similar to any other code.
  • For Team and Enterprise plans, a built-in mod called sec-default loads first to restrict risky behaviors like overriding permission deny rules, and admins can manage plugin marketplaces or push their own mods via managed settings.
  • Anthropic is migrating built-in features, such as the /diff command, into the mods framework, allowing users to disable or replace default functionality, with plans to convert more core features over time to let users build a minimal, customized Claude Code setup.

15:29 Ryan – “And how do you know you’re gonna break whatever cloud experience you have? Because it’s the first thing I did when I tried to do browser rewrites using JavaScript.”

20:49 Our approach to EU text provenance rules

  • OpenAI is rolling out text watermarking called textGrain in response to EU AI Act requirements, adding an invisible statistical signal to word choices in generated text, with ChatGPT and Codex watermarking coming to EU users in the next few weeks and API customers globally able to opt in starting now, off by default.
  • Detection reliability varies significantly with text length and editing; the detector identified watermarks in about 80 percent of 200-token passages versus 95 percent of 400-token passages, and editing just 10 percent of words with synonyms dropped detection from 92 percent to 66 percent, with 25 percent edits reducing it to 17 percent.
  • OpenAI is limiting detector access to approved researchers and expert organizations through an application process rather than a public release, due to risks of false positives and false negatives; OpenAI plans to open-source the textGrain technology for others to build on.
  • OpenAI is explicit that watermark detection cannot determine human contribution, ownership, user identity, or content accuracy, and absence of a watermark does not prove human authorship, framing this as one layer alongside existing C2PA Content Credentials and SynthID watermarking for images and audio.
  • Benchmarks on OpenAI’s latest model, Astra, reportedly show no meaningful performance differences with watermarking enabled versus disabled, addressing a common concern about quality tradeoffs; the company is also coordinating with cloud partners to extend watermarking to model outputs delivered through their services.

24:19 Matt – “That’s a hundred percent what’s happening. People send me AI slop, I tell AI to decrypt it, and then I read it. And I’m like, how many tokens are getting used just by this? How many gallons of water have we consumed by this email thread? That could have been bullets.”

AWS

24:50 Amazon S3 Tables now support all Apache Iceberg V3 data types

  • S3 Tables now support the full Apache Iceberg V3 spec, adding deletion vectors, row lineage, and new data types including variant, nanosecond timestamps, geometry, and geography; this addresses common V2 pain points around compliance deletes, semi-structured JSON parsing, and geospatial data encoding.
  • Deletion vectors replace V2’s positional delete files with a compact binary format, so a compliance delete affecting 50,000 rows in a 2-billion-row table writes a single deletion vector file instead of thousands of small delete files, reducing compaction overhead and query latency.
  • Row lineage automatically adds _row_id and _last_updated_sequence_number fields, letting downstream pipelines query for changed rows by sequence number rather than scanning entire tables, which simplifies building incremental data pipelines.
  • Upgrades from V2 to V3 are atomic and don’t require rewriting data, but the migration is one-way since Iceberg doesn’t support downgrading; teams need Spark 4.0 or later engines (AWS Glue 6.0+ or Amazon EMR 8.1+) to use the new V3 data types, and these types only work with the Parquet file format.
  • This fits into AWS’s broader Iceberg strategy spanning EMR, Glue, and Redshift, with both S3 Tables and Glue Data Catalog supporting the Iceberg REST Catalog API for cross-engine interoperability.
  • The feature is available now in all S3 Tables-supported regions at no additional charge beyond standard S3 Tables pricing.

26:40 Amazon Aurora PostgreSQL now supports direct querying of Apache Iceberg and Parquet data in your data lake

  • Aurora PostgreSQL can now directly query Apache Iceberg and Parquet data in S3, S3 Tables, or AWS Glue Data Catalog without ETL pipelines, letting a single SQL query combine live operational data with historical data lake records.
  • The feature embeds DuckDB directly into Aurora PostgreSQL, following Amazon’s recent acquisition of DuckLabs; query processing happens within Aurora with no extra network hops, and DuckDB handles the analytical scan of lake data while Aurora manages operational data.
  • Setup requires Aurora PostgreSQL 17.11+ or 18.6+, an IAM role with AuroraAnalytics permissions, and the aurora_analytics extension; foreign tables are created with automatic schema inference from Parquet or Iceberg metadata, and IMPORT FOREIGN SCHEMA can bulk-create tables for an entire Glue database.
  • Cross-catalog querying is supported via Glue Data Catalog federation with IRC-compatible catalogs, allowing joins across multiple external catalogs in a single query without data movement or catalog replacement.
  • Available now in all commercial AWS regions and GovCloud (US) at no additional feature charge; customers pay only for incremental Aurora compute and standard S3 request costs for reading data lake files.
  • For low-latency needs, data can be materialized into native Aurora tables using CREATE TABLE AS SELECT or MERGE INTO.

27:03 Justin – “So basically this DuckDB sits inside of Postgres as a binary extension to allow Postgres to do magic with Apache Iceberg tables. So that’s what you’re hearing.”

28:44 Introducing the Dogwood Local Engine: temporal governance for agent actions

  • AWS released the Dogwood Local Engine, an open-source library (Apache 2.0) that enforces temporal governance policies for AI agent actions, letting developers restrict tool calls based on past events, outcomes, and timing, such as requiring passing tests within the last 15 minutes before allowing a git push.
  • The engine integrates as a library into an agent harness that intercepts tool calls, checks them against policies, and enforces allow/deny verdicts, while a Rust-based embedded key-value store (redb) handles durability so it survives crashes and restarts without losing event history.
  • A notable technical feature is support for dynamic policy updates mid-session, allowing users to tighten or loosen agent permissions without stopping the agent, though updated policies only apply to events occurring after the change rather than retroactively.
  • Performance benchmarks show that schema design matters significantly: fine-grained action definitions evaluate roughly 5 times faster than coarse-grained ones, and shorter temporal windows keep evaluation time constant, while a 24-hour window increases evaluation time to 6 milliseconds per decision at 12 hours, 300 times slower than a 15-minute window.
  • This addresses a growing concern as AI agents are given more autonomy to call tools, run code, and interact with external systems, giving developers a way to add guardrails around sequences of actions rather than just single-action permissions, available now on GitHub for teams building agentic systems.

29:57 Ryan – “I love this feature. I like anything where you can evaluate policy, and you can define policy and have that be a sensible outcome.”

33:36 Amazon CloudWatch Logs now automatically indexes frequently queried fields

  • CloudWatch Logs now auto-indexes fields used with equality and IN filters based on query history, removing the need to manually configure field indexes as usage patterns shift over time.
  • Auto-indexed fields don’t count against the existing 20-field-per-log-group limit and persist for 30 days, giving teams a rolling window of optimized query performance without manual tuning.
  • The indexing list adjusts dynamically as query patterns change, but teams can promote specific fields to a permanent field index policy via the console or API if they want guaranteed long-term indexing.
  • This addresses a common operational pain point: teams previously had to anticipate which fields to index, often requiring rework as logging and query needs evolved, especially across distributed teams.
  • The feature is available at no additional cost in all regions supporting CloudWatch Logs field indexing, making it a straightforward performance improvement for existing CloudWatch Logs Insights users with no migration required.

34:19 Justin – “This is a nice feature, like the fact that it’s free and I can now basically get long-term retention of specific patterns that I use all the time in my fill my indexes, that’s nice.”

36:56 AWS Well-Architected Agent is now available in preview

  • AWS Well-Architected Agent merges Trusted Advisor and the Well-Architected Tool into an AI-powered service that analyzes infrastructure across cost, security, performance, and reliability, then prioritizes recommendations based on defined business goals.
  • The agent reviews Terraform, CDK, and CloudFormation templates directly, identifying gaps against Well-Architected best practices and generating the specific IaC code changes needed to fix them.
  • Recommendations come with execution tools built in, including SSM runbooks, CLI scripts, and guided console walkthroughs, plus cross-pillar impact analysis so teams can see cost and performance tradeoffs before applying a change.
  • Preview is limited to three regions: US East N. Virginia, US East Ohio, and US West Oregon, though workloads from any commercial region can be onboarded; access requires an active AWS Support plan.
  • This signals AWS pushing AI agents into operational and architectural governance, a space previously handled by static checklists and manual reviews, raising questions about how pricing and support tiers will scale once the service exits preview.

38:08 Ryan – “I couldn’t like this more just because it’s replacing patterns that I think are insufficient. They’re absolutely required ’cause you have to go and review whether something’s well architected, and those processes were previously used to educate developer teams in a lot of cases on, you know, backup strategies, DR strategies, and ensure everything was in place. But I’m sure, because I’ve seen it, the questions get answered in such a way that it’s vague, and people assume that DR is actually in place and functional. And I think that this type of analysis by, you know, an AI agent is gonna really highlight some issues and discover things. So that’s, I think it’s great.”

Con’t. Announcing AWS Well-Architected Agent, an AI-powered intelligence to

optimize your cloud environment

  • AWS Well-Architected Agent is an AI-powered preview service that analyzes AWS environments against Well-Architected best practices across 65+ services, replacing manual audits with automated, context-aware recommendations tied to declared business goals like cost, security, performance, and resilience.
  • Recommendations come in three tiers: individual resource findings with dollar impact estimates, consolidated application-level findings, and architectural patterns with Infrastructure as Code changes, giving teams flexibility to remediate at the scale that makes sense for their situation.
  • Remediation options include console walkthroughs, updated IaC templates (Terraform, CloudFormation, CDK), or CLI commands, and the service supports pre-deployment architecture reviews by uploading IaC projects before resources are provisioned.
  • The service requires customer-managed IAM roles for read access to resource configs, metrics, and application topology, and it refreshes recommendations periodically after an initial 24-hour analysis window following profile creation.
  • Currently available in preview across three regions (US East N. Virginia, US East Ohio, US West Oregon) for workloads in any commercial region, and is delivered through AWS Support, requiring an active AWS Support plan to access.

43:38 AWS Security Hub introduces remediation plans to prioritize and fix security exposures

  • Security Hub remediation plans group related exposure findings by root cause, letting teams fix one misconfigured resource or overly permissive policy to resolve multiple findings simultaneously, rather than addressing each exposure separately.
  • Plans include prioritization labels (Critical, High, Medium, Low), impact assessments, and step-by-step fix instructions across AWS CLI, Terraform, CloudFormation, Python, and CDK, giving teams flexibility to remediate using their existing tooling.
  • Security Hub automatically ranks plans by risk reduction and surfaces the highest-impact fixes first, helping security teams prioritize limited remediation resources more effectively.
  • The API-accessible format lets AI agents consume remediation plans programmatically, enabling automated security-fix workflows rather than requiring manual intervention for every finding.
  • This feature is included at no additional cost under the Security Hub Essentials plan. It is available in all regions where Security Hub operates, lowering the barrier for existing customers to adopt consolidated remediation workflows.

GCP

45:52 Enabling end-to-end checksums in Cloud Storage

  • Google Cloud Storage SDKs now enable end-to-end checksumming by default, closing a gap where data could be corrupted by bit flips in-flight before server-side checksum validation occurred. Previously, developers had to implement client-side checksums manually.
  • The update covers both uploads and downloads, and extends to range reads via gRPC, which leverages built-in checksum verification so partial object downloads are also protected without losing chain-of-custody.
  • Technically, Google maintains checksum integrity across multiple transformation layers, encryption, chunking into shard files, and Reed-Solomon encoding in Colossus, using CRC concatenation properties to avoid expensive re-checksumming at each stage.
  • This is a free, backward-compatible improvement; customers just need to update to the latest SDK versions to get the protection automatically, with no API changes required for existing applications.
  • Relevant for any workload where silent data corruption is a concern, such as data lakes, backup and archival, media storage, or regulated industries with strict integrity requirements, since bit flips at Google’s operating scale happen routinely rather than theoretically.

46:11 Matt – “I don’t know how this wasn’t a requirement for them years ago given some of their customers.”

46:55 Spanner Omni, deploy-anywhere version of Spanner, is now GA

  • Spanner Omni, now generally available, lets customers run Google’s distributed SQL database on-premises, on other clouds, or locally, rather than exclusively on Google Cloud; it has seen over 2 million downloads since preview launch at Google Cloud Next ‘26.
  • The database combines SQL, graph, key-value, full-text search, and vector search in a single multi-model engine, with native support for KNN/ANN vector search and Spanner Graph for AI and agentic application workloads.
  • GA adds enterprise features needed for production: TLS encryption, audit logging, backup/restore, dedicated worker nodes for offloading background operations, and direct Google Cloud Customer Care support.
  • Licensing is split into two tiers: a free Developer Edition (90-day license, or perpetual for single-server deployments of 4 vCPUs or less, excluding backup and worker nodes) and a paid Commercial Edition using a vCPU-based annual subscription model, with discounted proof-of-concept pricing available.
  • Key tradeoffs versus fully managed Spanner include self-managed operations (upgrades, monitoring, maintenance), no Google-provided availability SLAs, and exclusion of Google Cloud-specific integrations like BigQuery, Knowledge Catalog, and Gemini Enterprise; Attio, an AI-native CRM company, cited Spanner Omni as enabling faster production deployment of agentic workflows across environments.

47:46 Ryan – “But is it a real database if it can’t do an installed plugin?”

48:50 Google Cloud CLI remote MCP server in preview

  • Google Cloud launched a remote MCP server for Cloud CLI in public preview, giving AI agents direct access to gcloud and bq commands without requiring local CLI installation or dependency management in agent environments.
  • The server exposes two tools, run_gcloud_command and run_bq_command, allowing agents to handle infrastructure management, incident diagnostics, BigQuery job monitoring, scheduled queries, and permissions control through natural language.
  • Security relies on zero ambient credentials, with authentication via Agent Identity, OAuth 2.0, and IAM; every command runs under the authenticated caller’s permissions, and org policy constraints are enforced on target resources.
  • Model Armor integration screens prompts and responses for risks like prompt injection, and audit logging captures caller identity and authorization decisions under cloudcli.googleapis.com/mcp without exposing sensitive payloads or PII.
  • No additional charge for using the MCP server itself; customers only pay for underlying GCP resources and data transfer; setup requires enabling the Cloud CLI Execution API and granting the roles/mcp.toolUser IAM role.

49:37 Ryan – “Plot twist: I love this. The reason I love this is because you want to run those agent executions inside of a sandbox environment, and you don’t want to have all that token and credential data pass through environment details, so it’s excluded. And now you finally have a way to safely execute against gcloud in either a remote agent execution or in a sandbox environment.”

51:51Data Agent Kit is now GA: Bring Google Data Cloud to any coding agent

  • Data Agent Kit is now generally available, offering free MCP tools and agent skills that connect coding agents like Claude Code, Codex, and Antigravity to over 15 Google Data Cloud services, giving agents live context on schemas, partitions, and job logs instead of relying on pasted-in assumptions.
  • GA adds support for BigQuery Graph, Bigtable, and Managed Service for Apache Spark, letting agents design Bigtable row keys, build property graphs with GQL, and run serverless Spark sessions against Iceberg tables with branching and time travel.
  • The federate-lakehouse-catalog skill connects to AWS Glue and Databricks Unity Catalog, allowing agents to query data across cloud providers without building separate ingestion pipelines first.
  • Security is handled through existing IAM permissions, with agents connecting as the user or an impersonated service account, so row- and column-level policies apply automatically; admins can further control access via Model Armor and VPC Service Controls.
  • There’s no additional cost for Data Agent Kit itself; customers only pay standard pricing for the underlying Google Cloud services used, and the skills are open source on GitHub for auditing or customization.
  • Setup takes under a minute via IDE extension (VS Code, Cursor, Antigravity) or CLI plugin, and it’s pre-installed in Cloud Shell and Cloud Workstations, lowering the barrier for teams to try agent-assisted data workflows.

52:33 Ryan – “I’m really enjoying sort of the proliferation of these dedicated skills and tools and the installation, just because I think it’s so much better than relying on the data that’s trained into the model whenever that was.”

55:30 Introducing Gemini 4 Argon

  • Gemini 4 Argon expands output token limits to 1M tokens, up from 64K, enabling the model to sustain long, multi-step reasoning in a single pass for complex software engineering and enterprise tasks.
  • It launches at $2 per million input tokens and $10 per million output tokens, with cached inputs priced 95% lower.
  • The model is rolling out initially through the Fairwind Program to trusted cyber defenders, with access expanding gradually to API customers and Google AI Ultra subscribers as guardrails are refined.
  • Google is also participating in the U.S. government’s voluntary pre-release model access process.
  • Internal use cases highlight concrete efficiency gains: Argon agents identified memory optimizations freeing over 300 TiB across Google data centers, and were used in large-scale C/C++ to Rust migrations, including a 2.7x speedup on libgav1’s video decoder while maintaining memory safety.
  • Argon leads several benchmarks relevant to enterprise adoption, including the Vals Index (finance, legal, tax, coding), Zapier’s AutomationBench (51.3%), and LVBench for long-video understanding (91.7%), suggesting applicability across knowledge work beyond coding.
  • For cybersecurity, Argon ties for first on CWE-bench v1 at 68% and is used by Wiz’s Scan for Good initiative, where it identified a critical healthcare software vulnerability that prior models missed. Trusted defenders will get access without cyber guardrails to use its full vulnerability discovery and patching capabilities.
  • Google outlines expanded safety measures ahead of broader release, including monitoring internal activations for misuse, defenses against indirect prompt injection attacks, and chain-of-thought monitoring to catch misalignment before execution.

56:09 Justin – “Thanks, Google, for announcing it but not letting us play with it.”

57:10 GKE CPU startup boost: Faster pod starts, lower costs

  • GKE CPU startup boost, now in preview, temporarily increases CPU allocation for pods during initialization and automatically scales back to baseline once the app is ready, addressing the common tradeoff between cold start latency and resource over-provisioning.
  • Google reports up to 2x faster application initialization for CPU-heavy startup workloads like Java/Spring Boot, Node.js, and Python/AI libraries (PyTorch, NumPy, LangChain), without requiring developers to permanently over-provision CPU requests for steady-state operation.
  • The feature relies on Kubernetes In-place Pod Resize (IPPR, KEP-1287), which graduated to GA in Kubernetes 1.35, allowing CPU requests to be adjusted on running pods without restarts, cache invalidation, or rescheduling overhead.
  • Configuration is handled through a startupBoost section in the VerticalPodAutoscaler manifest, supporting simple pod-level multipliers or granular per-container rules, useful for excluding sidecars like logging agents or service mesh proxies from the boost.
  • Available now on GKE Standard and Autopilot clusters running version 1.36.0-gke.4447000 or later, with VPA enabled by default on Autopilot; teams should pair this with tuned readiness probes and short cooldown durations to avoid HPA misreading startup spikes as sustained load.

Azure

58:36 SQL Server on Azure Local is now generally available

  • SQL Server on Azure Local is now generally available, supporting both connected and fully disconnected deployments for environments where cloud connectivity cannot be assumed, such as remote industrial sites or regulated sectors like defense and healthcare.
  • The disconnected mode, called Azure Local Disconnected Operations (ALDO), lets SQL Server keep running locally when external connectivity is restricted or unavailable, meeting sovereignty and operational continuity requirements.
  • Foundry Local on Azure Local, currently in preview, lets customers run AI inference on-premises alongside their SQL Server data, avoiding the need to move sensitive data to the cloud for AI workloads.
  • Licensing is flexible: connected deployments support existing licenses with Software Assurance or pay-as-you-go through Azure Arc, while disconnected deployments rely on Azure Hybrid Benefit, allowing customers to apply existing SQL Server investments.
  • Target customers include public sector, financial services, healthcare, manufacturing, and energy organizations that need local control due to latency, regulatory, or connectivity constraints, giving them a consistent Azure Arc management experience regardless of deployment model.

1:00:00 Justin – “If you had this use case before, you just use Real SQL, but now this is like, well, I don’t wanna buy Real SQL; I just wanna use the subscription that I normally have. This is what you’re getting now through Azure local.”

1:00:58 How Microsoft Circular Centers support the Azure cloud infrastructure lifecycle

  • Microsoft now operates eight Circular Centers globally, with new facilities in Newport, Wales, and Sydney, Australia, expanding coverage to North America, Europe, and Asia Pacific; a ninth center is planned for San Antonio, Texas.
  • These facilities handle decommissioned data center hardware and decide whether complete systems can be reused (labs, schools, resale to qualified buyers), components can be harvested as spare parts, or materials need recycling. Microsoft reports a 92% reuse and recycling rate for decommissioned servers and components last year.
  • Microsoft cites substantial efficiency gains since 2014: cores per rack have increased roughly 13-fold while power consumption for equivalent workloads has dropped about 90%, meaning more compute capacity from the same datacenter footprint and power budget.
  • The custom Azure Cobalt processor line ties into this lifecycle strategy, with Cobalt 200 delivering up to 50% higher performance than Cobalt 100 through co-designed silicon, networking, and storage.
  • Microsoft is applying automation and AI to the circular process itself, including robotic disassembly and autonomous material handling, to speed up component and material recovery at scale.

1:02:32 Matt – “It is nice to see that they’re upcycling.”

1:02:50 Microsoft Publisher will no longer be supported after October 2026

  • Microsoft Publisher reaches end of life in October 2026, with Microsoft 365 subscribers losing access to the app entirely while perpetual license holders (Office LTSC 2021, Office 2021) retain functionality but lose support.
  • Microsoft recommends migrating common Publisher use cases—templates, labels, calendars, business cards—to Word, PowerPoint, or Microsoft Create templates, signaling a consolidation of desktop publishing features into existing apps rather than a standalone replacement.
  • Users need to proactively convert existing pub files to PDF or Word before the deadline, as post-retirement files won’t open in Publisher for Microsoft 365 subscribers; Microsoft provides a PowerShell script for bulk conversion.
  • This is a file format and compatibility planning issue for any organization with legacy Publisher content in SharePoint or OneDrive; IT teams should run file searches for pub extensions now to scope the migration effort.
  • The move reflects a broader pattern of Microsoft retiring niche legacy desktop apps and consolidating functionality into core Microsoft 365 apps, reducing the product portfolio they need to maintain and support.

1:03:15 Justin – “Good Riddance! I hated this product. It was always a terrible tool.”

Oracle

1:05:44 Oracle Extends Fusion Agentic Applications with Introduction of Fusion Claw

  • Oracle Fusion Claw adds 25 new agentic applications covering finance, HR, supply chain, and sales use cases, bringing the total Agentic Applications portfolio to 75. The pitch is moving from AI that assists to AI that executes, though customers will want to see concrete results before buying into that framing.
  • The architecture splits work between frontier models (Gemini, OpenAI) for reasoning and deterministic enterprise computation for execution, which Oracle frames as an economic advantage by limiting expensive AI inference to only where judgment is needed. Whether this actually translates into meaningful cost savings versus competitors running similar hybrid approaches remains unproven.
  • Governance features like the Enterprise Operating Envelope, Outcome Trust Harness, and Outcome Receipts aim to ease enterprise concerns about autonomous execution by providing an audit trail for every agent action. This is a reasonable response to the trust gap that has slowed agentic AI adoption, but it also adds complexity that customers will need to configure and maintain.
  • The announcement is packed with quotes from Accenture, Deloitte, KPMG, and PwC, signaling Oracle is leaning heavily on systems integrators to drive adoption and justify the investment. That often means significant services spend on top of licensing to actually stand this up.
  • No pricing details were disclosed, so actual cost of running Claw-powered applications at scale versus existing Fusion Applications is unclear. Listeners should treat the “economic advantage” claims skeptically until real customer case studies with numbers emerge.

Emerging Clouds

1:07:52 AI Search is now generally available

  • Cloudflare’s AI Search is now GA after a year in preview, bundling Workers AI, Vectorize, R2, and Browser Rendering into a managed retrieval pipeline; billing starts November 1, 2026, with a free tier remaining on all Workers plans.
  • The major upgrade here is native multimodal retrieval: instead of just captioning images and searching the text, AI Search now embeds image pixels directly using Qwen3-VL-Embedding, preserving visual details like texture, layout, and color that captions tend to lose.
  • Matryoshka Representation Learning is used to keep these richer multimodal embeddings storage-efficient and fast to search, which matters for teams worried about cost and latency scaling with image-heavy datasets.
  • File size limits doubled to 10 MiB and OCR support was added for scanned PDFs, letting developers index documents that previously had no extractable text, billed separately as image processing ingestion tokens.
  • Pricing is based on three factors: ingestion tokens, storage size, and query volume (split between semantic and full-text queries), with the free tier now offering 1,000 of each query type rather than a shared pool, giving developers a predictable cost model before indexing.
  • Roadmap items worth noting include upcoming video and audio ingestion support and a refactored keyword search engine aimed at better scaling for large data stores.

1:08:04 Announcing Cloudflare K2: serverless event streams

  • Cloudflare K2 is a new serverless event streaming primitive, now in public beta, built to decouple event producers from consumers so slow or unavailable downstream services don’t cause dropped data.
  • Instead of using Apache Kafka, Cloudflare built K2 on top of its R2 object storage layer, offloading replication and durability guarantees to R2 rather than managing a traditional distributed log system across its edge network of 335+ cities.
  • The design tradeoff is higher produce latency, around 1 second at the 99th percentile, since writes are batched into segment files before being committed to object storage, rather than appended directly like a local disk-based log.
  • K2 fills a specific niche alongside Cloudflare Queues and Basin Pipelines: Queues handle individual work items with retries and dead-letter handling, while K2 is designed for high-throughput data movement, long-term retention, and fan-out to multiple independent consumers.
  • Public beta pricing is free, with initial limits of 10GB storage and 30 MB/s produced per stream, and the roadmap includes multi-GB/s throughput, Kafka client compatibility, and push-based consumers, suggesting Cloudflare intends this as a long-term alternative to self-managed Kafka clusters.

1:08:19 Cloudflare OS: your company’s agent workspace, managed for you

  • Cloudflare is introducing a fully managed version of Cloudflare OS, its agent workspace product, reducing the operational burden of self-hosting and configuring the open-source deployment for organizations that don’t want to manage it themselves.
  • Setup for the managed tier is simplified to a custom domain, Cloudflare Access policies, and an AI Gateway connection, with Cloudflare handling the underlying infrastructure and maintenance.
  • New integrations let agents work directly with GitHub repositories, including searching code, making edits, creating commits, and opening pull requests, expanding use cases beyond document and task automation into software development workflows.
  • Google Workspace integration has been expanded through a dedicated Gatekeeper Worker, allowing agents to read and draft Gmail messages and connect to Drive files, folders, or individual documents and sheets.
  • Export functionality now supports common business formats including Excel, CSV, PDF, Markdown, and HTML, with Word and PowerPoint support planned, addressing the practical need to move agent-generated work into formats other teams already use.
  • Want to join the waitlist? You can do that here.

1:08:34 Introducing Clef: our open-source decision models, and new RL fine-tuning platform

  • Cloudflare released Clef and Clef-flash, open-source decision models hosted on Workers AI, positioned as a faster alternative to Typesafe’s Jev for structured, non-text classification tasks in agentic workflows.
  • The models output bounded, typed probabilities rather than generated text, which Cloudflare says enables 2x latency savings compared to general LLMs like gpt-oss-120b in their internal threat intelligence domain classification tests (2.2s versus 4.7s).
  • Technical differentiators include a vision encoder for image classification (Jev is text-only), a 64k context window versus Jev’s 32k, and a non-autoregressive architecture built on a frozen Qwen backbone with low-rank adapters for parallel schema scoring.
  • Cloudflare is also launching a reinforcement learning fine-tuning service, starting with a hands-on, forward-deployed engineer team before moving to self-serve, letting customers adapt Clef using their own AI Gateway traffic data.
  • This ties into Cloudflare’s broader AI Platform strategy, combining AI Gateway, Workers AI, Containers, and a new Trainer component to support the full fine-tune-and-redeploy loop, reinforcing their positioning as infrastructure for agentic and decision-making workloads.

1:08:59 Introducing Cloudflare Traces: follow requests through our entire platform

  • Cloudflare Traces extends automatic tracing beyond Workers to the full request path, covering security rules, transformations, cache decisions, routing, and origin handling in a single timeline, requiring no additional setup once enabled.
  • The feature supports W3C traceparent headers for end-to-end context propagation, letting a single trace follow a request from upstream services through Cloudflare and on to origin or third-party systems, which is useful for distributed tracing across hybrid stacks.
  • Trace Rules allow teams to keep a low baseline sampling rate (e.g., 1%) while targeting 100% tracing for specific conditions like a customer hostname, IP, or debug header, helping control data volume and cost during targeted investigations.
  • Traces can be exported via OTLP to any compatible observability backend, aligning with Cloudflare’s broader OpenTelemetry commitment and allowing Cloudflare spans to sit alongside existing application telemetry.
  • Pricing shifts from a per-span/event model to one based on data ingestion and retention duration, with the new model applying to both Cloudflare Traces and Workers Tracing starting December 1, 2026.
  • The Cloudflare Observability MCP server lets coding agents query trace data directly, enabling automated comparison of failed versus successful requests and connecting findings back to source code for debugging.

1:11:31 Introducing Agent Droplets: everything an agent needs, one price, one bill

  • DigitalOcean is bundling agent infrastructure (compute, storage, inference, and access to 16,000+ tools) into a single monthly price called Agent Droplets, addressing the common pain point of piecing together separate vendors like Fly.io, AWS, Fireworks, and Anthropic with different billing units.
  • The core issue being solved is billing fragmentation: a typical agent stack today involves six vendors, six invoices, and multiple pricing units, making it difficult for teams to know what a single agent run actually costs.
  • Technical details worth noting: agents run in dedicated microVMs that start in seconds and resume from pause in about 300 milliseconds, with automatic pausing when idle to reduce cost; this is compatible with existing harnesses like Claude Code, Codex CLI, and OpenCode.
  • Pricing tiers include a free trial with $5 credit, Agent Droplet Pro (15% off), and Team (20% off), with discounts applying across all resource types rather than a single layer, unlike competitors like AWS AgentCore, which bill memory, gateway, and observability separately.
  • This reflects a broader trend of cloud providers trying to simplify costs for AI agent workloads, as usage-based billing across compute, tokens, and storage has become harder for smaller teams and individual developers to predict and reconcile.

After Show

1:12:39 Someone got Doom in an SQL database – Ars Technica

  • Developer Lukas Vogel rendered Doom using an SQL database, with about 1,300 lines of SQL across 89 common table expressions generating 35 full-color 640×480 frames per second in CedarDB.
  • The project converted Doom’s WAD files into relational tables of vertices, lines, and sectors, and replicated the game’s binary-space partition tree logic using a precomputed sort_key and ORDER BY statements for rendering.
  • This builds on the developer’s earlier DoomQL project, which produced only grayscale ASCII raycasting graphics, showing a clear jump in what’s achievable when pushing a database engine to handle real-time rendering tasks.
  • For cloud and database professionals, this illustrates how far SQL query engines can be stretched beyond typical transactional workloads, and helps you think about the limits and creative potential of existing data infrastructure.
  • The “Doom runs on anything” tradition continues with unrelated community efforts porting Doom to Neo Geo hardware, including one using a Raspberry Pi Pico 2 chip as a co-processor, highlighting the enduring appeal of testing hardware and software limits with a 1993 game.
  • https://umgamer.com/en-us/articles/the-10-most-absurd-places-that-people-ran-doom
  • https://canitrundoom.org/
  • Bravo! Now go outside.

Closing

And that is the week in the cloud! Visit our website, the home of the Cloud Pod, where you can join our newsletter, Slack team, send feedback, or ask questions at theCloudPod.net or tweet at us with the hashtag #theCloudPod





Download audio: https://episodes.castos.com/5e2d2c4b117f29-10227663/2659624/c1e-mq1qadw55ps3n9vm-xxx8rzo8tp01-awreup.mp3
Read the whole story
alvinashcraft
27 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

We Need a Hero...Link! | SyncUp Podcast - October 2026

1 Share

Hero Links are rolling out — and after a two-plus-year journey, we're taking you behind the scenes. Arvind Mishra and Stephen Rice sit down with... Stephen Rice (yes, really) to unpack the biggest change to OneDrive and Microsoft 365 sharing in years: one link per file, permissions you can change on the fly, and address bar sharing that finally just works.

We cover the three guiding principles — Simple, Smart, and Secure — with live demos of the new share dialog, the first run experience, per-file controls like blocking reshare and breaking folder inheritance, and the new admin controls. 

Plus: what's next, including the #1 piece of feedback we've gotten — Hero Link expiration — targeting early next year.

Recorded on set during filming for the OneDrive + Copilot event on October 20. Register: aka.ms/OneDriveEvent

📺 More OneDrive: aka.ms/OneDrive/blog · Office Hours (3rd Wednesday monthly): aka.ms/OneDrive/OfficeHours

🎧 All episodes: aka.ms/SyncUp · Questions: syncupquestions@microsoft.com · #SyncUp





Download audio: https://traffic.libsyn.com/clean/secure/syncup/SyncUp_Podcast_Oct_2026_v4_100926_DZ.mp3?dest-id=1486229
Read the whole story
alvinashcraft
27 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

MSVC Build Tools Version 14.52 Release Candidate Now Available

1 Share

We are pleased to announce the availability of the release candidate for Microsoft C++ (MSVC) Build Tools version 14.52. With this release, C++23 is ready for production use and available through the /std:c++23 compiler option; see below for details. This is the last MSVC v14.52 preview before it moves to stable status and full support. You can download it from the Visual Studio 2026 Insiders Channel. As this is the release candidate, it is now the default toolset installed with C++ workloads in this channel. To check if it’s installed simply make sure one or both of these components are checked in the installer:

  1. MSVC Build Tools for x64/x86 (Latest)
  2. MSVC Build Tools for ARM64/ARM64EC (Latest)

The version number printed by cl.exe and link.exe will be at least 14.52.37025 / 19.52.37025.

We appreciate any feedback that you may have. Please report any issues on Visual Studio Developer Community so we can address them by the time we move out of preview.

Version 14.52 is expected to go stable in November and will ship with the 18.12 release of Visual Studio (Stable Channel).

This post summarizes the work done by the MSVC team between the 14.51 and 14.52 releases. This encompasses changes across the compiler frontend, backend, linker, standard library, and related tools.

C++ standards conformance

  • C++23 language mode: Use /std:c++23 to select C++23 language rules. The existing /std:c++23preview spelling still works and is an alias for /std:c++23. The preview form is now deprecated and will be removed in a future update.
  • Immediate escalation: C++23 immediate escalation (P2564R3) lets eligible constexpr functions and lambdas become immediate when their use requires it. It is enabled in C++23 and later modes; C++20 builds can opt in with /Zc:immediateEscalation.
  • Unicode identifiers: C++23 and C23 modes recognize the mathematical compatibility identifier ranges from P3658R1.
  • Constexpr allocation in modules: Module interfaces can represent constexpr functions that contain new T[n] expressions.
  • Preprocessor behavior: _Pragma works in more macro-expansion cases and is supported under /E.
  • Constexpr cmath: Support for C++ compile-time cmath functions remains off-by-default under /std:c++23 and may be enabled via the /Zc:cmath switch. Please see https://devblogs.microsoft.com/cppblog/msvc-c23-constexpr-cmath-with-llvm-libc/ for additional details.

C++/CLI, C, and language tooling

  • /clr is now available in C++23 and later modes.
  • The opt-in /Zc:functionToObjectPtr switch rejects implicit conversions from function pointers to void*.
  • The compiler now accepts selected constexpr constructor-template instantiations involving virtual base classes. Constructing those virtual bases during constant evaluation remains unsupported, so this is limited to the declaration checks for a constexpr function.
  • In C code, C4815 and C4816 now warn when a structure is allocated without storage for its flexible array member or when a structure with a flexible array member is passed by value.
  • The Linux C++ IntelliSense parser maps C++20 and C++23 standard options to the corresponding language modes.
  • Argument-dependent lookup now handles more names that are not exported from a module, and nested template and module instantiation is less prone to failure.
  • Module serialization preserves class data members and template information more consistently. Type merging also works better when several modules share a header unit.
  • Header units preserve macro whitespace so stringized macros survive a round trip. Module processing also handles types first defined in the global module fragment more reliably.
  • Math intrinsics and math headers now work more consistently with modules and constant evaluation.
  • Caret diagnostics use less memory, and several diagnostics reproduce the original source expression more accurately.
  • Preprocessor diagnostics better identify malformed and nested constant expressions.
  • The compiler handles invalid type-trait inputs and malformed function-parameter scopes more consistently.
  • The compiler warns when overriding a deprecated non-pure virtual function.

Code generation and optimization

Inlining:

  • LTCG now considers which fields of a small return object the caller reads, so inlining can discard work that computes unused fields.
  • Whole-program optimization can favor an inline when doing so exposes parts of a local object and makes unused stores removable.
  • A large outlined loop body can now inline through a small wrapper called from a loop.
  • With PGO, small size-optimized virtual-call targets can be speculatively inlined when the profile, size, and growth limits allow it.
  • The inliner follows function-pointer values through aggregate assignments, preserving more indirect-call opportunities in template adapters.
  • Type-based devirtualization now works alongside profile-guided inlining. Hot/cold information also does more to prevent cold code from being pulled into hot callers.

Loop and scalar optimization:

  • The compiler can move more invariant loads out of loops after proving that each load executes on every iteration and remains safe across aliased pointers.
  • Equality-tested loops shed more loop-carried work, and strength reduction handles more wrapping integer induction expressions.
  • When three or more multiplications share a divisor, the optimizer can compute one reciprocal and reuse it instead of restoring repeated divisions.
  • Copy propagation through aliased fields is on by default and understands known-size memcpy and memset operations.
  • x64 conditional selection handles more nonzero constants and safe aliased operands.
  • Unsigned comparisons and induction-variable ranges now establish more nonzero, ordering, and non-overflow facts for later optimization.
  • Scalar conditional expressions gain more value-equivalence, incoming-value, multiply, and shift simplifications.
  • Calls use restrict arguments more precisely when determining memory interference, exposing more optimization around those calls.
  • The x86 optimizer performs more local and cross-block copy propagation.
  • The compiler recognizes more rotate idioms and dynamic bit-field extraction controls, and removes redundant POPCNT zero extension.
  • Small-aggregate optimization removes padding-only assignments, decomposes qualifying whole-struct loads, and forwards eligible loads through local memcpy operations.
  • Constant conversions can fold without /fp:fast when the transformation is otherwise valid.
  • Earlier loop-invariant motion and broader expression reassociation expose more work to later optimization.
  • Larger functions reuse more repeated expressions. Min/max expressions, mixed-signedness compare diamonds, and repeated vector-element extraction also simplify in more cases.
  • More indirect calls to noexcept functions become tail calls. Static constant arrays can also disappear when their storage is unnecessary.
  • Loop unswitching handles more nested-loop cases before vectorization, while straight-line vectorization handles more merged values.
  • Jump chains and induction variables simplify in more cases without losing useful predicates or signedness information.
  • The compiler emits less attribute data, scans exception regions fewer times, bounds pathological dead-use searches, and processes large chained function expressions in linear rather than quadratic time.

Vectorization:

  • On x64 and ARM64, the compiler vectorizes more code that selects values through branches.
  • Integer reductions such as sum += a[i] - b[i] can be reassociated into a form the loop vectorizer recognizes.
  • On x64 and ARM64, vector loads and stores reach copy propagation and scalar replacement earlier. Full-width vectors remain intact when splitting them would discard useful vector operations.
  • The vectorizer recognizes more adjacent-address patterns and is more willing to pack user-written SIMD values when the result can remain in a vector register.
  • A parameter-derived pointer advanced by a loop is recognized as non-aliasing a local array in more cases, avoiding an unnecessary runtime overlap check.
  • The loop vectorizer handles qualifying memory-only swaps and multi-stream copies, including std::swap on arrays of trivial types.
  • More loop-control expressions shared by a following conditional simplify after the loop.

ARM64

  • ARM64 now shares address calculations across related loads and stores, including array-of-structures loops based on function parameters. This removes repeated arithmetic and creates more opportunities for paired loads and stores.
  • Known NEON constants can be built without unnecessary data loads. Scalar loads, broadcasts, and lane inserts also fold into NEON load instructions in more cases.
  • The compiler combines more NEON construction and lane operations, removes unused lane inserts, and eliminates redundant mask comparisons.
  • The loop vectorizer now handles additional floor, ceil, trunc, and round operations.
  • Tail-call decisions are now made per call, so one ineligible call no longer blocks another eligible call in the same function.
  • ARM64 and ARM64EC inlining accounts for floating-point and vector register pressure. This preserves profitable native ARM64 inlines while avoiding excessive spills on restricted ARM64EC targets.
  • Native ARM64 SVE2 supports code generation and disassembly for lane-indexed svmullb and svmullt intrinsics. Execution requires SVE2-capable hardware.
  • LUTI2 and LUTI4 lookup-table support includes BF16 forms. Floating-point absolute minimum/maximum instructions and Common Short Sequence Compression operations are also supported. Each family requires the corresponding processor feature.
  • ARM64_FPMR names the FPMR register for _ReadStatusReg and _WriteStatusReg; armasm64 and the disassembler recognize the same name. Execution requires FEAT_FPMR hardware and OS permission.
  • Native ARM64 supports __preserve_none and [[msvc::musttail]], including specialized interpreter dispatch. The __preserve_none calling convention is C-only and is not supported on ARM64EC.
  • With /feature:sme, the compiler accepts SME attributes and ZA-state types on supported external declarations. Eligible scalar noexcept calls can perform the required streaming-mode transitions, including selected function-pointer, reference, whole-program, and Control Flow Guard cases. Streaming function definitions, ZA-bearing calls, unsupported pointer forms, and vector or aggregate arguments remain unsupported. ARM64EC is excluded.
  • The native ARM64 CRT supplies the AAPCS64 SME state-management routines for TPIDR2, ZA, and ZT0. Availability depends on processor and operating-system state support; ARM64EC is excluded.
  • On ARM64, the /Zc:cmath math runtime now supports the floating-point environment. This initial implementation reports math errors through floating-point exceptions rather than errno.
  • ARM64 stack layout can reuse slots for locals in mutually exclusive switch cases, greatly reducing the frame size of large switches.
  • Stateless SVE all-true predicates can move out of loops when the usual safety and profitability checks allow it.
  • Proven-dead switch edges are removed before switch expansion, exposing more control-flow and value optimizations.
  • Bitfield operations use narrower immediate forms where possible.
  • Register assignment preserves more adjacent load pairs and makes better spill/rematerialization choices for frequently used values.
  • Used-lane tracking now crosses more scalar floating-point operations, exposing dead vector work.
  • The compiler recognizes more vector permutations, per-lane rotations, and vector bit-clear immediate forms.
  • SVE comparisons and the MATCH/NMATCH/WHILE families reuse condition flags more effectively. NEON-to-SVE bridge moves, upper-lane float extraction, and by-element multiply addressing also produce shorter sequences.

x64 and x86

  • Speed-optimized x64 builds have more strategies for fixed-length memcmp. Eligible copies larger than 256 bytes use the runtime copy path instead of a large inline sequence.
  • x64 removes more redundant zero extensions before jump-table address calculations and lowers unsigned division by a constant power of two to a shift.
  • Constant f64x2 assignments can combine so a later vector operation folds to one 128-bit constant move.
  • 32-bit x86 builds can inline fmin, fmax, and copysign; ARM64 can inline copysign.
  • AVX2 and AVX-512 targets can build wider vectors from smaller register values without a memory round trip.
  • AVX-512 code generation uses suitable VEX moves for intrinsic operands and folds eligible single-use masked arithmetic followed by a blend into one merge-masked operation.
  • Builds using /feature:APX gain more arithmetic and conditional-selection forms, fewer redundant moves and comparisons, and APX-aware unrolling and strength-reduction decisions for scalar integer loops.
  • APX support now spans the ABI, assembler, disassembler, and debugging tools. R30 and R31 are nonvolatile, register assignment treats them as killed across setjmp, MASM and the disassembler handle eligible extended-register encodings, and DIA reads APX register context.
  • APX-enabled x64 code generation can fold eligible operands and makes better spill, recomputation, and fold choices.
  • Unwind V3 support now spans code generation, linking, ML64, DIA, and binary instrumentation. It covers chained runtime-function records, large prologs and epilogs, .PUSHFRAME/.POPFRAME, and stack walking. ML64 requires /unwindv3; compiler emission is on by default only for APX functions, and stack walking requires a V3-aware operating system and debugger.
  • x64 recognizes more condition-code-safe INC/DEC forms, including eligible atomic fetch-add sequences.
  • AVX2 intrinsic lowering removes unnecessary scalar-to-vector moves in qualifying _mm_set_sd and _mm256_set1_pd paths.
  • APX code generation includes more new-destination and memory-operand forms, shorter LEA replacements for eligible INC/DEC and SUB sequences, and broader shift, compare, conditional-compare, conditional-move, and constant-propagation support.
  • All-bits-set vector constants and functions containing paired register operations receive better code generation.
  • Shift-range analysis models the hardware shift-count mask, and adjacent two-element double stores combine more effectively.
  • Under /O1 and /Os, additional pre-allocation optimizations and size-aware instruction costs reduce code size.
  • RDPRU uses its required fixed-register constraints.

Standard Library

See the STL Changelog – MSVC Build Tools 14.52 for a complete list of all of the changes in this release, grouped by features, LWG issue resolutions, bug fixes, performance improvements, etc. Some highlights:

  • The STL is C++23 feature complete now that P0533R9 “constexpr For <cmath> And <cstdlib>” has been implemented.
    • This is initially supported for MSVC only, under /std:c++23 /Zc:cmath. We expect to make /std:c++23 imply /Zc:cmath in a future release, but it is currently opt-in. Clang and EDG support will be enabled when the necessary compiler machinery becomes available.
    • For more info, read MSVC C++23: constexpr cmath with LLVM Libc by Cody Miller (MSVC compiler front-end dev) and Bringing Correctly Rounded Math to Production with LLVM-libc by Michael Jones and Tue Ly (LLVM-libc maintainers at Google).
    • And under /std:c++latest /Zc:cmath, we’ve mostly implemented C++26 P1383R2 ‘s constexpr additions for <cmath>. (No <complex> changes yet.) A few functions are not yet implemented by LLVM-libc (see LLVM libc math status ) and accordingly are not yet constexpr. For double, the functions acosh, asinh, atanh, cosh, sinh, tanh, and erf are missing. For float and double, the functions erfc, lgamma, and tgamma are missing. (MSVC uses 64-bit long double, so we don’t need a third implementation of each function.) As soon as they become available, we’ll activate them as constexpr in future releases.
  • 19 LWG issue resolutions, which are bugfixes in the Standard.
  • Improved <regex> performance in several scenarios.
    • Special thanks to Julian Müller (@muellerj2 on GitHub) for this ongoing correctness and performance overhaul of <regex>.
  • Added ARM64 SVE vectorized implementations of several STL algorithms.
    • Also fixed regressions and improved performance in some of the ARM64/ARM64EC Neon vectorized implementations that were previously added.
    • Special thanks to Hari Limaye at Arm (@hazzlim on GitHub) for this ongoing vectorization work.

AddressSanitizer

  • Improved runtime performance by removing duplicated quarantine work
  • Use MSDIS (MSVC disassembler) as a fallback instruction-length decoder for interception, reducing “unrecognized instruction” failures. This is on by default and can be disabled via ASAN_OPTIONS=windows_use_msdis_decoder=false . To trace what instructions were intercepted by MSDIS instead of the manual instruction decoder, set verbosity=3 and search for logs prefixed with “MSDIS instruction decoder:”.
  • Runtime performance improvements including heap address caching, more efficient memory-mapped heap checks, and faster allocator flag assignments, resulting in significant performance gains across multiple runtime scenarios.

Build tools and diagnostics

  • The C++ frontend accepts more valid designated-initialization forms.
  • The C++ frontend accepts more deeply nested initializers, and the legacy preprocessor allows larger macro buffers.
  • Code Analysis SARIF output includes rule names, descriptions, and help links by default, plus tags where available.
  • LNK2022 and LNK4227 name the relevant metadata item. LNK4323 explains a missing ARM64EC/native object pair.
  • Incremental linking trims excess growth space from program-database files.
  • The disassembly library recognizes MIPS32 and MIPS64 Release 6 instructions and ARM64 matrix-state start/stop instructions.
  • /analyze:log:format:sarifandxml writes both Code Analysis log formats.
  • LNK4321 identifies duplicate C++ module exports while generating an import library.
  • C5089 identifies the experimental combination of /fsanitize=address with /clr, including /clr:netcore.
  • In C++, two new level-4 warnings diagnose implicit and explicit conversions between HRESULT/SCODE and bool-like types. They are off by default and do not apply to C.
  • The opt-in /PDB4GBSTREAMS option raises the size limit for the PDB global/public symbol-record stream to roughly 4 GiB. Other PDB streams retain their existing limits.
  • MASM and the disassembly library recognize the x86 int1/ICEBP instruction (0xF1).
  • LTCG emits C4744 when extern declarations disagree on type.
  • PE reproducibility improves because the image hash no longer includes the PDB age.
  • Tag-based Code Analysis warning groups simplify ruleset authoring.
  • Debugger clients can release a program-database file handle without discarding loaded data, allowing the file to be rebuilt sooner. Debug information also merges module and header-unit types more reliably.
  • Debug records can identify alternate object names, and type-record processing performs fewer allocations and improves throughput on large programs.
  • Linker and assembler diagnostics are clearer, and malformed object files, libraries, and module metadata are handled more defensively.

Community Tickets fixed

These public Developer Community tickets were fixed or completed during this development interval, including changes later serviced to MSVC 14.51.

Share your feedback

Thank you for the reports and reproductions that helped us investigate these issues. Please report problems on Developer Community , including a small reproducer, the compiler options, and the target architecture.

The post MSVC Build Tools Version 14.52 Release Candidate Now Available appeared first on C++ Team Blog.

Read the whole story
alvinashcraft
36 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

Microsoft and GitHub Keep Giving AI Agents More Power -- and More Restrictions

1 Share
Recent releases expand AI coding agents' capabilities while adding sandboxing, monitoring and enterprise controls that can restrict their autonomy and even their availability.
Read the whole story
alvinashcraft
36 minutes ago
reply
Pennsylvania, USA
Share this story
Delete

React for Vue Developers, Part 4: Forms, useFormStatus and useOptimistic

1 Share

React 19 for Vue 3 Developers, Part 4: Where in Vue you use v-model and ref or use a library, React leans on the plain HTML <form> and hooks.

In Part 3 of this series we met Actions, and we saw a form call one through the action prop. This time we stay in that world and go deeper. Forms are where a lot of React 19 finally clicks, so this is the fun part.

In Vue, you already have a comfortable setup for forms. You bind inputs with v-model, you track a loading ref by hand, and for anything extra you reach for a library like VeeValidate. React 19 takes a different route. It leans on the plain HTML <form> and gives you a few small hooks that remove most of the manual work.

None of these hooks is big on its own. Put together, though, they replace a lot of the form glue you write by hand in Vue, and that is the whole point. Let’s take a look.

React Basics for Vue Developers 4 - forms and actions, useFormStatus, useOptimistic
Image generated with AI

Controlled Inputs: The Manual v-model

The first thing every Vue developer misses on day one is v-model. React does not have it. There is no single attribute that both shows a value and updates it when the user types. You wire those two halves up yourself.

NameField.vue

<script setup>
import { ref } from 'vue'

const name = ref('')
</script>

<template>
  <input v-model="name" />
  <p>Hello, {{ name }}</p>
</template>

NameField.jsx

import { useState } from 'react'

function NameField() {
  const [name, setName] = useState('')

  return (
    <>
      <input value={name} onChange={(event) => setName(event.target.value)} />
      <p>Hello, {name}</p>
    </>
  )
}

Let’s break it down. In Vue, v-model does two jobs at once. It puts name into the input, and it writes the input back into name when you type. In React, you do both jobs by hand. value={name} shows the current value, and onChange runs on every keystroke and calls setName with the new text. You read the typed value from event.target.value.

An input wired up like this, where React owns the value through state, is called a controlled input. React controls what is in the box, not the browser. So v-model="name" becomes value={name} plus onChange, and that pair is something you will type a lot.

Notice this is more code than Vue for the simple case, and I won’t pretend otherwise. The upside comes later, because having the value in your own state makes validation, formatting and conditional logic very direct. You already have the value, so you just use it.

What about a form with five fields? In Vue you would add five v-model bindings and move on. A controlled approach in React means five pieces of state, one per field, each with its own value and onChange. That is a lot of wiring for a big form. It is the main reason the next pattern exists. When a form is really just “fill it in and submit,” you do not have to control every input at all.

Letting the Form Do the Work

Here is the part that surprised me coming from Vue. You do not always need controlled inputs. React 19 can read the values straight from the form when it submits, the way plain HTML always could.

Remember Actions from Part 3. When you pass a function to a form’s action prop, React calls it on submit and hands it the form’s FormData. That means you can skip the per-input state and just read the values at the end.

SignupForm.jsx

'use client'

import { useActionState } from 'react'

function SignupForm() {
  const [error, signupAction, isPending] = useActionState(
    async (previousState, formData) => {
      const email = formData.get('email')
      const response = await fetch('https://myapp.com/signup', {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ email }),
      })
      if (!response.ok) {
        return 'Something went wrong, please try again'
      }
      return null
    },
    null
  )

  return (
    <form action={signupAction}>
      <input name="email" type="email" />
      <button disabled={isPending}>Sign up</button>
      {error && <p>{error}</p>}
    </form>
  )
}

We met useActionState in Part 3, so here is the short recap. You give it your async action and a starting state. It gives you back three things:

  • The current state: I use it to hold an error message, or null when things went fine.
  • A wrapped action: The function you pass to the form’s action.
  • isPending: A boolean React sets to true while the action runs, then back to false.

Notice there is no ref for the email input. The input just has a name, and we read it with formData.get('email') when the form submits. There is also no isSubmitting flag that you flip by hand, and no try/finally. React tracks the pending state for you and clears it when the action settles.

Big disclaimer though. Uncontrolled inputs like this are great for simple submits, but the moment you need live validation as the user types, or you need to react to a value before submit, you will want controlled inputs again. Both styles are fine. Pick the one the app actually needs.

useFormStatus: Pending State Without Prop Drilling

Now, a common problem. You have a submit button, and you want it to show a spinner while the form is submitting. In the example above, that was easy because isPending lived right next to the button. But real forms get split into pieces. Your button often lives in its own small component, several layers down from the form.

In Vue, you would pass an isSubmitting prop down through each layer, or reach for provide and inject to skip the middle. React 19 gives you a hook made for exactly this. useFormStatus reads the status of the nearest <form> above it, with no props at all.

SubmitButton.jsx

'use client'

import { useFormStatus } from 'react-dom'

function SubmitButton() {
  const { pending } = useFormStatus()

  return (
    <button disabled={pending}>
      {pending ? 'Sending...' : 'Sign up'}
    </button>
  )
}

Let’s break it down. The button asks useFormStatus for the current form status and reads pending from it. When the parent form is submitting, pending is true, so the button disables itself and swaps its label. The button never receives a prop. It looks up the tree, finds the form it sits inside and reads the status from there.

There is one rule that trips people up, so read this twice. useFormStatus reports on the form it is inside of, not a form in the same component. So the button has to be rendered within the <form>, and it has to be its own component. If you called useFormStatus in the same component that renders the <form>, it would not see that form. Think of it like Vue’s inject. It only sees what an ancestor provides, so it has to sit below the form in the tree.

The hook comes from react-dom, not react, because it is tied to the DOM <form> element. That is an easy import to get wrong the first time.

useFormStatus gives you more than pending. It also returns:

  • pending: true while the form is submitting.
  • data: The FormData being sent, so a child can read what the user just submitted.
  • method and action: The HTTP method and the action function the form is using.

Most days, you only reach for pending. But data is handy when a nested component needs to show what is on its way to the server, like a preview of the comment someone just posted.

useOptimistic: Instant UI, Built In

The last hook is my favorite, and if you read my earlier article on Optimistic Updates with TanStack Query in Vue, the idea will feel familiar. An optimistic update shows the result right away, before the server confirms it. If the request fails, you roll back. It makes an app feel instant.

In the Vue TanStack piece, we did this through the query cache. We wrote the new value into the cache, kept a snapshot and rolled back on error. React 19 bakes the same idea into a hook called useOptimistic, and it does the rollback for you.

LikeButton.jsx

'use client'

import { useOptimistic } from 'react'

function LikeButton({ likes, likeAction }) {
  const [optimisticLikes, addOptimisticLike] = useOptimistic(
    likes,
    (current) => current + 1
  )

  const handleLike = async () => {
    addOptimisticLike()
    await likeAction()
  }

  return (
    <form action={handleLike}>
      <button>{optimisticLikes} likes</button>
    </form>
  )
}

Let’s break it down. useOptimistic takes the real value, here the likes count from the server and a function that says how to change it for the optimistic view. It gives you back two things:

  • optimisticLikes: The value to show. While an action is running, this is the optimistic version. The rest of the time it is the real value.
  • addOptimisticLike: The function you call to apply the optimistic change.

When the user clicks, we call addOptimisticLike() first, so the count jumps up right away. Then we await likeAction() to tell the server. Here is the nice part. If the action fails, React throws away the optimistic value and shows the real one again. You do not write the rollback yourself, which is the piece that was always fiddly in the manual Vue version.

One thing to keep in mind about success. The count only stays up if the real likes value updates too, usually because the action returns the fresh count or the data gets refetched. When the action finishes, useOptimistic lines back up with whatever the real value is at that point. So it is not a place to store state, it is a way to show the change early while the real value catches up.

The update function is worth a second look. It receives the current value, and if you pass a value into addOptimisticLike, it receives that too. So you are not stuck with “add one.” A very common shape is a list. You show a new comment in the list the moment the user hits send, then let the server catch up. The pattern is the same as the counter. You just describe how to add the item instead of how to bump a number.

Notice that this only works while an action is running. useOptimistic is built to pair with the Actions and forms we have been using all through this article, so it fits right into the same flow.

Where Validation Lives

One honest gap before we wrap up. Vue developers often lean on VeeValidate for validation, and React does not ship anything like that. React 19 gives you the form plumbing, the pending state and optimistic updates, but it does not give you a validation library. In React, you either check values inside your action and return errors, like we did above, or you bring in a library. The common one is React Hook Form, usually with a schema tool like Zod.

Checking inside the action is nicer than it sounds. You read the values from formData, run your checks and return an error when something is off. Then you show it, exactly like the error state we used in the signup form. For more than one field, return an object keyed by field name:

async (previousState, formData) => {
  const email = formData.get('email')
  if (!email.includes('@')) {
    return { email: 'That does not look like an email' }
  }
  // save the user here, then:
  return null
}

Now error holds that object, and each input can show its own message by reading something like error?.email next to it. It is manual work, but it is easy to follow, and for a login or signup form it is all you need.

For big forms with lots of rules, a library saves you from writing every check by hand. That is where React Hook Form and Zod come in. A Vue developer who has used VeeValidate with a schema will find the ideas familiar, even though the API looks different. We will line these up properly in the next part, so I will keep it short here. For now, just know that “which validation library” is a real question you answer on a React team.

Wrapping Up

Forms are where React 19 pays off. You give up v-model and wire inputs yourself with value and onChange, which is the controlled-input pattern. For simple submits you can skip that and let the form hand you its FormData through an Action.

useFormStatus lets a nested button read the form’s pending state with no props, as long as it sits inside the form. And useOptimistic gives you instant UI with automatic rollback, the same idea as the TanStack optimistic updates you may already know from Vue, now built into React.

For the details, the React docs on useFormStatus and useOptimistic are the best place to go, and they show more of the shapes each hook returns.

Next time, we finish the series with a full cheat sheet that lines up each Vue tool next to its React counterpart. It covers routing, state management, data fetching and validation, so you have one page to keep open on the job.

Happy submitting!


Want to build a beautifully designed, feature-rich form with ease? Check out the KendoReact Form component.

Read the whole story
alvinashcraft
36 minutes ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories