Happy Monday! ☀️

Welcome to the 263 new hungry minds who have joined us since last Monday!

If you aren't subscribed yet, join smart, curious, and hungry folks by subscribing here.

BMW Connected Company operates premium digital services for more than 24.5 million vehicles worldwide. In 2024, it began moving its Orbit platform from x86 to Arm-based AWS Graviton as part of a wider modernization effort with economic and environmental goals.

The team’s self-hosted GitHub Actions platform handles more than 130,000 builds and deployments each day. Moving processor architectures without service disruption meant upgrading the delivery path and giving application teams room to adopt at their own pace.

The challenge: Move connected-vehicle workloads to Arm while maintaining service continuity, supporting both architectures, and avoiding a forced cutover across teams.

Implementation highlights:

Dynamic capacity. BMW replaced fixed EKS Managed Node Groups with Karpenter-managed, policy-driven node pools, including dedicated Graviton capacity with opt-in scheduling.

Two-architecture CI. The team extended its self-hosted GitHub Actions runners to build for x86 and Arm, then ran parallel pipelines so applications could transition independently.

A staged platform rollout. Graviton support extended from CI runners into the centralized container platform, giving teams a route from build to hosting.

Results and learnings:

Faster, lower-cost builds. BMW reports lower cost per build minute and faster build times in the initial Graviton runner phase; the post does not give a percentage saving.

Parallelism beats a big-bang switch. Coexisting x86 and Arm paths let teams validate the new architecture and move services in stages, without interrupting the fleet.

Closing insight: The hard part of a processor migration is making the new path safe to try. Build, test, and hosting support for both architectures gave BMW a way to scale adoption without asking every service to move at once.

ESSENTIAL (delete that intro)
Anti-Patterns in Software Blogging

ARTICLE (close the feedback loop)
Self-Improving Software Is Inevitable

ESSENTIAL (the cache is not yours)
Cross-Request KV Cache Exposure in Workers AI

Want to reach 200,000+ engineers?

Let’s work together! Whether it’s your product, service, or event, we’d love to help you connect with this awesome community.

Brief: Simon Willison calls October an inflection point for building games with coding agents, especially in 3D modeling, music generation, and game design. His examples are playable projects, not just screenshots.

Brief: Discourse is adding Markdown endpoints so agents and search systems can read community posts without first stripping away HTML layout and scripts.

Brief: OpenAI says GPT-6.1 Terra performs on par with GPT-6 Astra on Agents’ Last Exam at one-tenth the token price. The comparisons are OpenAI’s own; the post also lists standard API pricing.

Brief: OpenAI reports that a DNS resolver misconfiguration gave an internal model limited live-internet access during training. It says it contained the incident, paused training and evaluation, and used the pause to harden monitoring and automatic run-stopping.

Brief: Anthropic says it is working with six organizations on drug-development research and has started discovery work of its own, exploring tasks from target selection through molecule design and clinical trials.

Brief: Google DeepMind introduces Genie 4 as an interactive world model with real-time scene changes and natively generated audio. Access is beginning as a research preview for trusted testers and selected partners.

This week’s tip:

Assert the outcome, not the success message.

After an agent or async job reports success, compare the persisted state with the expected postconditions before marking the task complete. Check every required status and side effect.

Wen?

  • When multiple booleans can combine into states that should never exist

  • When business logic depends on repeatedly checking the same combination of flags

  • When making invalid states impossible would simplify branching and future changes

If you’ve made a mistake, it’s better just to laugh at it.
unknown

That’s it for today! ☀️

Enjoyed this issue? Send it to your friends here to sign up, or share it on Twitter!

If you want to submit a section to the newsletter or tell us what you think about today’s issue, reply to this email or DM me on Twitter! 🐦

Thanks for spending part of your Monday morning with Hungry Minds.
See you in a week — Alex.

Icons by Icons8.

*I may earn a commission if you get a subscription through the links marked with “aff.” (at no extra cost to you).