<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: techaiwire</title>
    <description>The latest articles on DEV Community by techaiwire (@techaiwire).</description>
    <link>https://dev.to/techaiwire</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4114781%2F70285ce6-a546-43c0-ac5c-6d9b40cd574f.png</url>
      <title>DEV Community: techaiwire</title>
      <link>https://dev.to/techaiwire</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/techaiwire"/>
    <language>en</language>
    <item>
      <title>VS Code 1.136 adds Agent Merge to finish pull requests</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:17:25 +0000</pubDate>
      <link>https://dev.to/techaiwire/vs-code-1136-adds-agent-merge-to-finish-pull-requests-35j8</link>
      <guid>https://dev.to/techaiwire/vs-code-1136-adds-agent-merge-to-finish-pull-requests-35j8</guid>
      <description>&lt;p&gt;Visual Studio Code 1.136 adds a preview feature called Agent Merge. It hands an open pull request to an AI agent, which then answers review comments, fixes failing checks and resolves merge conflicts until the request is ready. Microsoft dated the release notes September 2, 2026.&lt;/p&gt;

&lt;p&gt;A pull request is a proposed code change waiting for review. Getting one merged often means a slow loop of comments, edits and re-run tests. Agent Merge aims at that loop, not at writing the code in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Agent Merge actually does
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://code.visualstudio.com/updates/v1_136" rel="noopener noreferrer"&gt;Microsoft's release notes&lt;/a&gt; describe the feature in one line. "Agent Merge helps you take a pull request across the finish line," they say. "It asks an agent to address review feedback, fix failed checks and merge conflicts, and rerun workflows."&lt;/p&gt;

&lt;p&gt;Four separate jobs sit inside that sentence.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Job&lt;/th&gt;
&lt;th&gt;What the agent does&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Review feedback&lt;/td&gt;
&lt;td&gt;Reads reviewer comments and edits the code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Failed checks&lt;/td&gt;
&lt;td&gt;Diagnoses a failing test or lint run and fixes it&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Merge conflicts&lt;/td&gt;
&lt;td&gt;Resolves conflicts against the target branch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Workflows&lt;/td&gt;
&lt;td&gt;Re-runs the checks, then repeats the cycle&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The agent does not merge anything by itself. Approval stays with a person. The release notes do not say which git hosting providers are supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to turn it on
&lt;/h2&gt;

&lt;p&gt;Agent Merge is off by default. Microsoft gates it behind a setting named &lt;code&gt;chat.agentMerge.enabled&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Switching that setting on does not start anything either. You still enable the feature one session at a time. There are three ways in: the Agent Merge button, the command "Enable Agent Merge for Active Session", or the Agents window.&lt;/p&gt;

&lt;p&gt;That per-session design is worth noticing. This is not a background service watching your repository and pushing commits.&lt;/p&gt;

&lt;h2&gt;
  
  
  The rest of the agent changes in 1.136
&lt;/h2&gt;

&lt;p&gt;Agent Merge arrives alongside several smaller changes to how sessions work.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Multi-root workspace support, marked experimental, for both Copilot and Claude agent sessions&lt;/li&gt;
&lt;li&gt;Workspace resolution that lets an agent identify a project by name&lt;/li&gt;
&lt;li&gt;A session hierarchy that shows related chats as children of a parent session&lt;/li&gt;
&lt;li&gt;Notifications when a session is waiting on your approval&lt;/li&gt;
&lt;li&gt;Readable breadcrumbs for files a session created&lt;/li&gt;
&lt;li&gt;A redesigned session input with the controls gathered in one place&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The chat surface changed too. The release adds experimental chat backgrounds, dictation controls for enterprise administrators, and screen reader improvements.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;The interesting shift here is not code generation. It is that the agent now operates your continuous integration and your pull request queue. Those are shared systems, and the blast radius is wider than an editor buffer.&lt;/p&gt;

&lt;p&gt;Watch the conflict resolution most closely. Of the four jobs, it is the one where a wrong answer still compiles and still passes tests. An agent can resolve a conflict by quietly dropping somebody else's change, and nothing downstream will complain. Read those diffs line by line, the way you would read a rebase you did not perform.&lt;/p&gt;

&lt;p&gt;Budget is the second thing to check. The loop reruns workflows until checks pass, so a flaky test becomes an agent retrying against a test that fails at random. If your CI bills by the minute, put a cap somewhere before you turn this on. A &lt;a href="https://github.com/duckdb/duckdb/discussions/25408" rel="noopener noreferrer"&gt;synthetic worked example&lt;/a&gt;, published by Telemetry's creator on DuckDB's discussion board, puts cost per accepted task at $0.75 when failed attempts count and $0.30 when they do not. We covered how &lt;a href="https://techaiwire.com/articles/github-copilot-code-review-azure-repos-billing/" rel="noopener noreferrer"&gt;GitHub started billing Copilot code review on Azure Repos&lt;/a&gt;, and the same question applies to anything that reruns pipelines on your behalf.&lt;/p&gt;

&lt;p&gt;Your real controls are unchanged, and they are not in this settings file. Branch protection rules, required reviewers and required status checks still decide what can land. The setting governs whether an agent may push more commits to the branch. It does not govern what your repository accepts.&lt;/p&gt;

&lt;p&gt;Treat the preview label seriously for now. Enable it on a branch you own, on a pull request that is already close to green, and read every commit it produces. Research on coding agents &lt;a href="https://techaiwire.com/articles/armature-coding-agents-tool-selection-study/" rel="noopener noreferrer"&gt;found they disagree about which tool to reach for&lt;/a&gt; far more often than their marketing suggests. An agent that is confident and wrong about a merge conflict is the failure mode to plan around.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/vs-code-1-136-agent-merge/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/github-copilot-code-review-azure-repos-billing/" rel="noopener noreferrer"&gt;GitHub Copilot code review comes to Azure Repos, billed per review&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/armature-coding-agents-tool-selection-study/" rel="noopener noreferrer"&gt;Claude Code, Codex, and Cursor agree on a tool only 42% of the time&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://code.visualstudio.com/updates/v1_136" rel="noopener noreferrer"&gt;Visual Studio Code September 2026 (version 1.136)&lt;/a&gt; - Visual Studio Code&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/microsoft/vscode/releases" rel="noopener noreferrer"&gt;vscode release 1.136.1&lt;/a&gt; - GitHub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>microsoft</category>
      <category>aicoding</category>
      <category>aiagents</category>
    </item>
    <item>
      <title>Kubernetes 1.37 promotes rootless mode to beta</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:14:33 +0000</pubDate>
      <link>https://dev.to/techaiwire/kubernetes-137-promotes-rootless-mode-to-beta-53e0</link>
      <guid>https://dev.to/techaiwire/kubernetes-137-promotes-rootless-mode-to-beta-53e0</guid>
      <description>&lt;p&gt;Kubernetes v1.37 promotes the KubeletInUserNamespace feature gate to beta. With it enabled, every node component can run as an ordinary user instead of root. Akihiro Suda of NTT announced the change on the &lt;a href="https://kubernetes.io/blog/2026/09/04/kubernetes-v1-37-rootless-beta/" rel="noopener noreferrer"&gt;Kubernetes blog&lt;/a&gt; on September 4, 2026. The v1.37.0 release itself landed on August 26, 2026.&lt;/p&gt;

&lt;p&gt;The point is damage control. If someone escapes a container, they land in an unprivileged account rather than as root on the machine.&lt;/p&gt;

&lt;h2&gt;
  
  
  What actually runs as non-root
&lt;/h2&gt;

&lt;p&gt;Suda lists four kinds of node component that the feature covers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the kubelet&lt;/li&gt;
&lt;li&gt;CRI and OCI container runtimes&lt;/li&gt;
&lt;li&gt;CNI networking plugins&lt;/li&gt;
&lt;li&gt;kube-proxy&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;All of them "can run as a non-root user on the host, using a Linux user namespace," he writes. "This technique is also known as rootless mode."&lt;/p&gt;

&lt;p&gt;A user namespace is a Linux kernel feature. It lets a process believe it is root inside its own little world, while the host still treats it as an ordinary user. The privileges are real inside the namespace and absent outside it.&lt;/p&gt;

&lt;p&gt;That is the whole security argument. Suda puts the motivation plainly: the node components have "historically had container-breakout vulnerabilities that could compromise full root privileges on the host." His post cites five of them.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CVE-2022-0811&lt;/li&gt;
&lt;li&gt;CVE-2023-27561&lt;/li&gt;
&lt;li&gt;CVE-2024-10220&lt;/li&gt;
&lt;li&gt;CVE-2025-31133&lt;/li&gt;
&lt;li&gt;CVE-2026-53488&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Under rootless mode, a break out of any of those reaches a normal user account. It does not reach host root.&lt;/p&gt;

&lt;h2&gt;
  
  
  The distinction people will get wrong
&lt;/h2&gt;

&lt;p&gt;There are two different user-namespace features in Kubernetes, and they are easy to confuse.&lt;/p&gt;

&lt;p&gt;Suda draws the line himself. Rootless mode "should not be confused with user namespaces for pods," he writes. That other feature is switched on with &lt;code&gt;hostUsers: false&lt;/code&gt; and the &lt;code&gt;UserNamespacesSupport&lt;/code&gt; feature gate. It has been generally available since v1.36. It "puts pods in user namespaces but still runs the node components as root."&lt;/p&gt;

&lt;p&gt;So one puts your workloads in a namespace. The other puts the machinery in one. They solve different halves of the same problem, and the post says they can be combined.&lt;/p&gt;

&lt;h2&gt;
  
  
  Seven years from experiment to beta
&lt;/h2&gt;

&lt;p&gt;This feature has moved slowly, and the dates say something about its difficulty.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stage&lt;/th&gt;
&lt;th&gt;When&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;First experiment&lt;/td&gt;
&lt;td&gt;2018&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Alpha, as KEP-2033&lt;/td&gt;
&lt;td&gt;v1.22, in 2021&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Beta&lt;/td&gt;
&lt;td&gt;v1.37, in 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Five years passed between alpha and beta. Running the kubelet without root touches container runtimes, networking plugins and cgroup management all at once, and each of those had to grow its own support.&lt;/p&gt;

&lt;p&gt;A KEP is a Kubernetes Enhancement Proposal, the written design document a change like this has to pass through. It is the same shape of process that &lt;a href="https://techaiwire.com/articles/gnome-rfc-process-proposal/" rel="noopener noreferrer"&gt;GNOME is now drafting for itself&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;Check who runs your kubelet before you plan anything. If you use a managed service such as EKS, GKE or AKS, you do not control that process, and this feature is not yours to switch on. It matters most to people running their own nodes, and to anyone building a test cluster or an edge deployment.&lt;/p&gt;

&lt;p&gt;Read the announcement for the requirements before you try it. Rootless mode leans on specific kernel behavior, container runtime versions and cgroup delegation, and Suda's post is where those specifics live. Do not assume your current node image qualifies.&lt;/p&gt;

&lt;p&gt;Treat beta as beta. In Kubernetes that means the API shape is fairly settled but the operational edges are not, and feature gates can still change defaults between releases. Run it somewhere you can afford to lose.&lt;/p&gt;

&lt;p&gt;The useful takeaway holds even if you never enable it. Ask what a container escape actually reaches on your nodes today. For most clusters the honest answer is host root, and that answer is now a choice rather than a given.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/kubernetes-1-37-rootless-mode-beta/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/gnome-rfc-process-proposal/" rel="noopener noreferrer"&gt;GNOME drafts an RFC process for big technical decisions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://kubernetes.io/blog/2026/09/04/kubernetes-v1-37-rootless-beta/" rel="noopener noreferrer"&gt;Kubernetes v1.37: KubeletInUserNamespace (aka Rootless mode) Graduates to Beta&lt;/a&gt; - Kubernetes Blog&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.37.md" rel="noopener noreferrer"&gt;CHANGELOG-1.37.md&lt;/a&gt; - GitHub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>infrastructure</category>
      <category>security</category>
      <category>linux</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Go 1.27 adds generic methods and a faster encoding/json</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:11:42 +0000</pubDate>
      <link>https://dev.to/techaiwire/go-127-adds-generic-methods-and-a-faster-encodingjson-4d2h</link>
      <guid>https://dev.to/techaiwire/go-127-adds-generic-methods-and-a-faster-encodingjson-4d2h</guid>
      <description>&lt;p&gt;Go 1.27 was released on August 19, 2026, and it changes the language itself. Methods can now declare their own type parameters, which Go has refused since generics arrived. Nicholas Husin announced the release &lt;a href="https://go.dev/blog/go1.27" rel="noopener noreferrer"&gt;on the Go blog&lt;/a&gt; for the Go team.&lt;/p&gt;

&lt;p&gt;Two other changes will reach more programs than the language work does. The standard JSON package now runs on a new engine, and the runtime can tell you which goroutines have leaked.&lt;/p&gt;

&lt;h2&gt;
  
  
  Generic methods, and their one limit
&lt;/h2&gt;

&lt;p&gt;Before this release, a type could be generic but its methods could not add type parameters of their own. Authors wrote one method per concrete type instead.&lt;/p&gt;

&lt;p&gt;The release notes point at &lt;code&gt;math/rand/v2.Rand&lt;/code&gt; as the example. Its method now reads &lt;code&gt;(*Rand) N[Int intType](Int) Int&lt;/code&gt;. One method covers every integer type.&lt;/p&gt;

&lt;p&gt;There is a firm restriction. Interface methods may not declare type parameters, so a generic method cannot implement an interface method. That boundary is deliberate and it is not a temporary gap.&lt;/p&gt;

&lt;p&gt;Two smaller language changes ship alongside it. A key in a struct literal "may now be any valid field selector for the struct type," which lets you set nested and embedded fields directly. And function type inference "has been generalized to apply in all assignment contexts", including composite literals, conversions and channel sends.&lt;/p&gt;

&lt;h2&gt;
  
  
  encoding/json now runs on v2
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;encoding/json&lt;/code&gt; package is now backed by a v2 implementation. The v1 API stays, and the release notes are explicit that it is not deprecated. No migration is required.&lt;/p&gt;

&lt;p&gt;The defaults did get stricter, and this is where working code can break. The v2 engine rejects invalid UTF-8 inside JSON strings. It also rejects duplicate names in a JSON object. Both used to pass.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Change&lt;/th&gt;
&lt;th&gt;Effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Invalid UTF-8 in strings&lt;/td&gt;
&lt;td&gt;Now rejected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Duplicate object keys&lt;/td&gt;
&lt;td&gt;Now rejected&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Unmarshal speed&lt;/td&gt;
&lt;td&gt;Significantly faster&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Marshal speed&lt;/td&gt;
&lt;td&gt;About the same&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;format&lt;/code&gt; and &lt;code&gt;unknown&lt;/code&gt; tags&lt;/td&gt;
&lt;td&gt;Removed in v2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;inline&lt;/code&gt; tag option&lt;/td&gt;
&lt;td&gt;Renamed to &lt;code&gt;embed&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;If something breaks, &lt;code&gt;GOEXPERIMENT=nojsonv2&lt;/code&gt; restores the old implementation at build time. Treat that as a deadline, not a fix. The release notes say the opt-out is expected to be removed in a future release.&lt;/p&gt;

&lt;p&gt;Two new packages come with it: &lt;code&gt;encoding/json/v2&lt;/code&gt;, which takes variadic options, and &lt;code&gt;encoding/json/jsontext&lt;/code&gt; for working at the token level.&lt;/p&gt;

&lt;h2&gt;
  
  
  Leak profiles, allocation and post-quantum signatures
&lt;/h2&gt;

&lt;p&gt;The goroutine leak profile is now generally available in &lt;code&gt;runtime/pprof&lt;/code&gt;, after being experimental in Go 1.26. A leaked goroutine is "a goroutine blocked on some concurrency primitive (channels, sync.Mutex, sync.Cond, etc) that cannot possibly become unblocked".&lt;/p&gt;

&lt;p&gt;The runtime finds them using the garbage collector. If a blocked goroutine waits on something no runnable goroutine can still reach, it can never wake. Read it at &lt;code&gt;/debug/pprof/goroutineleak&lt;/code&gt;. It has a stated blind spot: leaks on primitives reachable through global variables can be missed.&lt;/p&gt;

&lt;p&gt;Allocation got cheaper. The compiler now calls size-specialized allocation routines, cutting the cost of allocations under 80 bytes by up to 30%. The release notes put the whole-program gain at roughly 1% for allocation-heavy code, and the binary grows by about 60 KB.&lt;/p&gt;

&lt;p&gt;For security teams, &lt;code&gt;crypto/mldsa&lt;/code&gt; implements ML-DSA, the post-quantum signature scheme in FIPS 204. TLS 1.3 gains the MLDSA44, MLDSA65 and MLDSA87 signature schemes, and x509 handles the keys.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;Read the removals before you upgrade, because that is where the breakage is. Go 1.27 now requires macOS 13 Ventura or later. It drops support for the bzr version control system, so modules hosted on bzr can no longer be fetched.&lt;/p&gt;

&lt;p&gt;Several GODEBUG escape hatches are gone, and one of them changes behavior. With &lt;code&gt;asynctimerchan&lt;/code&gt; removed, channels created by package &lt;code&gt;time&lt;/code&gt; are always unbuffered now. If you wrote code around the buffered behavior, that code is running on a different contract.&lt;/p&gt;

&lt;p&gt;The JSON change deserves a staging run rather than a reading. Stricter parsing fails on data you already accept, and duplicate keys in particular tend to arrive from other people's systems, not your own tests. Point the new build at real production payloads before you ship it.&lt;/p&gt;

&lt;p&gt;Turn on the leak profile even if nothing looks wrong. It is free, it is now stable, and a permanently blocked goroutine holds its stack and everything the stack references. That class of bug rarely shows up as an error, only as memory that never comes back.&lt;/p&gt;

&lt;p&gt;One last check for anyone doing clever things with function values. The compiler generates simpler names for closures now, so tests that assert on symbol names may need updating. Code that compares function pointers for equality was always incorrect, and this release exposes it more often.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://go.dev/blog/go1.27" rel="noopener noreferrer"&gt;Go 1.27 is released&lt;/a&gt; - The Go Blog&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://go.dev/doc/go1.27" rel="noopener noreferrer"&gt;Go 1.27 Release Notes&lt;/a&gt; - go.dev&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>compilers</category>
      <category>opensource</category>
      <category>security</category>
    </item>
    <item>
      <title>Asahi Linux now officially supports M3 series Macs</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:08:49 +0000</pubDate>
      <link>https://dev.to/techaiwire/asahi-linux-now-officially-supports-m3-series-macs-e9c</link>
      <guid>https://dev.to/techaiwire/asahi-linux-now-officially-supports-m3-series-macs-e9c</guid>
      <description>&lt;p&gt;Asahi Linux runs on M3 Macs now, and the project says so out loud. "Asahi Linux now officially supports Macs with an M3 series SoC," the project wrote on September 6, 2026, in &lt;a href="https://asahilinux.org/2026/09/m2-episode-1/" rel="noopener noreferrer"&gt;a post by James Calligeros&lt;/a&gt;. Support covers the M3, M3 Pro and M3 Max, and it is merged into the installer rather than sitting on a branch.&lt;/p&gt;

&lt;p&gt;Asahi Linux is the project that ports Linux to Apple's own chips. Apple publishes no documentation for that hardware, so every driver here was written by reverse engineering.&lt;/p&gt;

&lt;h2&gt;
  
  
  What works on M3 today
&lt;/h2&gt;

&lt;p&gt;The headline claim is continuity. Almost everything supported on the M1 and M2 machines "just works" on M3, according to the announcement.&lt;/p&gt;

&lt;p&gt;That list is not small.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Hardware&lt;/th&gt;
&lt;th&gt;Status on M3&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Wi-Fi and Bluetooth&lt;/td&gt;
&lt;td&gt;Working&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;USB 3, at 10 Gb/s&lt;/td&gt;
&lt;td&gt;Working&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Webcam&lt;/td&gt;
&lt;td&gt;Working&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal microphones&lt;/td&gt;
&lt;td&gt;Working&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;AV1 video decode, hardware accelerated&lt;/td&gt;
&lt;td&gt;Working&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Hardware AV1 decoding matters more than it sounds. Without it, playing a modern video stream falls to the CPU, which drains a battery fast on a laptop.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does not work yet
&lt;/h2&gt;

&lt;p&gt;Three gaps are worth knowing before you wipe a disk.&lt;/p&gt;

&lt;p&gt;Sleep does not work. The announcement blames limitations in the firmware framebuffer, which is the simple display path the machine boots with. A laptop that cannot sleep is a laptop you shut down every time you close the lid.&lt;/p&gt;

&lt;p&gt;HDMI output is disabled on the MacBooks that have a port. Turning it on waits for full support of the display coprocessor Apple uses, which the project calls DCP.&lt;/p&gt;

&lt;p&gt;Graphics are the third gap, and Calligeros is blunt about it. "Do not expect performant or power-efficient 3D acceleration right now," he wrote. The desktop draws, but games and GPU work do not belong here yet.&lt;/p&gt;

&lt;p&gt;One machine is excluded entirely. The Mac Studio with an M3 Ultra is not supported.&lt;/p&gt;

&lt;h2&gt;
  
  
  Installing it right now
&lt;/h2&gt;

&lt;p&gt;You can install today, but through expert mode, which is the path that assumes you already know what you are doing.&lt;/p&gt;

&lt;p&gt;The standard installer is expected to accept M3 machines before the Fedora Linux 45 beta, which the project puts a couple of weeks out.&lt;/p&gt;

&lt;p&gt;There is a gap between the announcement and the documentation, and it is worth checking before you start. The &lt;a href="https://asahilinux.org/fedora/" rel="noopener noreferrer"&gt;Fedora Asahi Remix page&lt;/a&gt; still describes the distribution as based on Fedora Linux 44, and its device support list still names only the M1 and M2 families. The blog post is ahead of the docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;If you have an M3 Mac you were keeping on macOS for lack of options, that calculation just changed, with caveats. A dual-boot machine is now realistic for terminal work, builds and containers. It is not realistic for anything needing the GPU or a closed lid.&lt;/p&gt;

&lt;p&gt;If you maintain a package or a distribution, this widens the Apple Silicon test surface again. Working USB 3, Wi-Fi and cameras, but no sleep and no fast 3D, is an unusual configuration. It will find bugs in code that assumes a normal laptop.&lt;/p&gt;

&lt;p&gt;If you are shopping, note which machine is missing. The M3 Ultra Mac Studio is exactly the box someone would buy for &lt;a href="https://techaiwire.com/articles/apple-mac-mini-m6-mac-studio-m5-ultra-local-ai/" rel="noopener noreferrer"&gt;running large models locally&lt;/a&gt;, and it is the one configuration this release does not cover.&lt;/p&gt;

&lt;p&gt;And if you are planning to install, wait for the standard installer unless you are comfortable in expert mode. Two weeks is a short time to wait for a path that does not require you to understand partition layout on Apple hardware.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/apple-mac-mini-m6-mac-studio-m5-ultra-local-ai/" rel="noopener noreferrer"&gt;New Mac mini and Mac Studio put more memory bandwidth behind local AI&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://asahilinux.org/2026/09/m2-episode-1/" rel="noopener noreferrer"&gt;M2: Episode 1 (or, Asahi Linux on M3)&lt;/a&gt; - Asahi Linux&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://asahilinux.org/fedora/" rel="noopener noreferrer"&gt;Fedora Asahi Remix&lt;/a&gt; - Asahi Linux&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>linux</category>
      <category>apple</category>
      <category>opensource</category>
      <category>hardware</category>
    </item>
    <item>
      <title>GPT-6 Astra scores 95% on one robot task, 10% on another</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 04:05:57 +0000</pubDate>
      <link>https://dev.to/techaiwire/gpt-6-astra-scores-95-on-one-robot-task-10-on-another-aa2</link>
      <guid>https://dev.to/techaiwire/gpt-6-astra-scores-95-on-one-robot-task-10-on-another-aa2</guid>
      <description>&lt;p&gt;Robocurve has run OpenAI's GPT-6 Astra and Anthropic's Claude Fable 5.1 against physical robot arms, and the results split sharply by task. Astra completed the easy task 19 times out of 20. On the harder task it managed 2 out of 20, exactly matching Fable 5.1. Robocurve published &lt;a href="https://openai.robocurve.org/gpt-6-astra/" rel="noopener noreferrer"&gt;the Astra results&lt;/a&gt; on September 4, 2026, and &lt;a href="https://anthropic.robocurve.org/fable-5.1/" rel="noopener noreferrer"&gt;the Fable 5.1 results&lt;/a&gt; the day before.&lt;/p&gt;

&lt;p&gt;Robocurve is an independent evaluator, not either lab. It describes itself as a Public Benefit Corporation and says it is backed by Y Combinator.&lt;/p&gt;

&lt;h2&gt;
  
  
  The two tasks and the numbers
&lt;/h2&gt;

&lt;p&gt;Both models drove the same rig: bimanual I2RT YAM arms, six degrees of freedom each, parallel-jaw grippers, three camera views. Each model ran 20 trials per task, scored by human graders on a five-point stage scale.&lt;/p&gt;

&lt;p&gt;The first task was picking a red block into a bowl. The second was placing a blue puzzle piece into a matching groove.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;Block task&lt;/th&gt;
&lt;th&gt;Puzzle task&lt;/th&gt;
&lt;th&gt;Cost per run, block&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GPT-6 Astra&lt;/td&gt;
&lt;td&gt;19/20&lt;/td&gt;
&lt;td&gt;2/20&lt;/td&gt;
&lt;td&gt;$0.94&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Fable 5.1&lt;/td&gt;
&lt;td&gt;8/20&lt;/td&gt;
&lt;td&gt;2/20&lt;/td&gt;
&lt;td&gt;$2.12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Claude Fable 5&lt;/td&gt;
&lt;td&gt;1/20&lt;/td&gt;
&lt;td&gt;0/20&lt;/td&gt;
&lt;td&gt;$2.69&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Astra was also quicker. It averaged 2.5 minutes per run on the block task, against 6.8 minutes for Fable 5.1 and 8.2 minutes for Fable 5.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the gap disappears
&lt;/h2&gt;

&lt;p&gt;The block numbers look decisive. The puzzle numbers are the interesting ones.&lt;/p&gt;

&lt;p&gt;On the puzzle task both current models landed on 2 out of 20. A 95% score and a 40% score collapsed into the same 10%. Whatever separates the models on the easy task stops mattering once the task requires fitting a shape into a slot.&lt;/p&gt;

&lt;p&gt;That is a familiar shape. We covered how Astra &lt;a href="https://techaiwire.com/articles/gpt-6-astra-arc-agi-3-benchmark-harness-gap/" rel="noopener noreferrer"&gt;scores 99.9% or 62.7% on ARC-AGI-3 depending on the harness&lt;/a&gt;, and this is the same lesson arriving through a different door. A single headline percentage tells you about the task as much as the model.&lt;/p&gt;

&lt;p&gt;Robocurve's Fable 5.1 write-up makes its own narrow claim rather than a broad one. Fable 5.1 "reached later stages of both tasks than Fable 5, completed each task more often, and produced fewer output tokens doing it."&lt;/p&gt;

&lt;h2&gt;
  
  
  The harness is open source
&lt;/h2&gt;

&lt;p&gt;The evaluation framework, called inspect-robots, is &lt;a href="https://github.com/robocurve/inspect-robots" rel="noopener noreferrer"&gt;on GitHub&lt;/a&gt; under the MIT licence. That matters more than any single score.&lt;/p&gt;

&lt;p&gt;The repository holds the task definitions and the scoring code, not just the results. Models plug in through a defined interface, and the framework checks the action space, the observation space and the control rate before a run starts. Each run is recorded with its resolved config, the git revision and package versions.&lt;/p&gt;

&lt;p&gt;So the numbers can be re-run and disputed, which is not true of most model comparisons.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;Read the per-task numbers, never the average. If Robocurve had reported one blended figure across both tasks, Astra would look roughly twice as capable as Fable 5.1. On the task that is actually hard, they are identical.&lt;/p&gt;

&lt;p&gt;If you are costing an agent that touches the physical world, the cost column deserves as much attention as the success column. Astra ran the block task at $0.94 against $2.12, so it was cheaper and better there. Fable 5.1 &lt;a href="https://techaiwire.com/articles/claude-fable-5-1-mythos-5-1-cache-price-cut/" rel="noopener noreferrer"&gt;cut cache read prices sharply this month&lt;/a&gt;, which is the kind of change that moves these figures between one evaluation and the next.&lt;/p&gt;

&lt;p&gt;If you are building your own evaluation, clone the harness before writing one. It already handles the parts people get wrong: validating that a policy and an embodiment agree on the action space, and pinning the exact revision a result came from.&lt;/p&gt;

&lt;p&gt;And treat 20 trials as what it is. It is enough to separate 19 from 8. It is not enough to separate 2 from 2.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/gpt-6-astra-robot-arm-benchmark-robocurve/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/gpt-6-astra-arc-agi-3-benchmark-harness-gap/" rel="noopener noreferrer"&gt;GPT-6 Astra scores 99.9% or 62.7% on ARC-AGI-3, depending how you ask&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/claude-fable-5-1-mythos-5-1-cache-price-cut/" rel="noopener noreferrer"&gt;Claude Fable 5.1 cuts cache reads 75% and keeps token prices flat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://openai.robocurve.org/gpt-6-astra/" rel="noopener noreferrer"&gt;GPT-6 Astra&lt;/a&gt; - Robocurve&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://anthropic.robocurve.org/fable-5.1/" rel="noopener noreferrer"&gt;Claude Fable 5.1&lt;/a&gt; - Robocurve&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/robocurve/inspect-robots" rel="noopener noreferrer"&gt;robocurve/inspect-robots&lt;/a&gt; - GitHub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>benchmarks</category>
      <category>openai</category>
      <category>anthropic</category>
      <category>robotics</category>
    </item>
    <item>
      <title>A tampered strip binary can backdoor all of NixOS</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:31:54 +0000</pubDate>
      <link>https://dev.to/techaiwire/a-tampered-strip-binary-can-backdoor-all-of-nixos-5h5k</link>
      <guid>https://dev.to/techaiwire/a-tampered-strip-binary-can-backdoor-all-of-nixos-5h5k</guid>
      <description>&lt;p&gt;The trusting-trust attack has always been described as a compiler problem. &lt;a href="https://arxiv.org/abs/2607.24888" rel="noopener noreferrer"&gt;A paper on arXiv&lt;/a&gt; shows it is not. Five researchers built a complete version of the attack around GNU strip, a build tool that never reads or writes source code. They used it to backdoor nearly every binary in a NixOS graphical installer.&lt;/p&gt;

&lt;p&gt;The authors are Julien Malka, Aman Sharma, Martin Monperrus, Stefano Zacchiroli and Théo Zimmermann. The paper went up on July 27, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the original attack was
&lt;/h2&gt;

&lt;p&gt;Ken Thompson described the idea in 1984. You tamper with a compiler so it inserts a backdoor into the programs it builds. You also teach it to recognise when it is compiling itself, and to put the same tampering into the new compiler.&lt;/p&gt;

&lt;p&gt;After that the malicious source code can be deleted. The backdoor keeps reproducing through every rebuild, and reading the compiler's source tells you nothing.&lt;/p&gt;

&lt;p&gt;The defence community treated this as a compiler-specific threat. That assumption is what the paper attacks.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why strip changes the picture
&lt;/h2&gt;

&lt;p&gt;GNU strip removes debug symbols from compiled files. It never sees source code. It only rewrites finished ELF binaries, which is the standard executable format on Linux.&lt;/p&gt;

&lt;p&gt;The researchers put one tampered strip into the NixOS binary seed, the small set of prebuilt binaries a distribution starts from before it can build anything itself. From there the payload copies itself into each new generation of strip.&lt;/p&gt;

&lt;p&gt;It then survives into the final standard environment, after the original seed has left the dependency graph entirely. The tampered starting point is gone, and the backdoor remains.&lt;/p&gt;

&lt;p&gt;They ran it on a real nixpkgs revision, &lt;code&gt;fef9403a3e4d&lt;/code&gt;, with GNU binutils 2.44 on x86_64. The build completed without failures and produced a working graphical installer with almost every binary in it backdoored.&lt;/p&gt;

&lt;h2&gt;
  
  
  The defences that do not catch it
&lt;/h2&gt;

&lt;p&gt;This is the part worth reading closely, because the standard answers fail in specific ways.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Defence&lt;/th&gt;
&lt;th&gt;Why it misses this&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Diverse double-compiling&lt;/td&gt;
&lt;td&gt;The attack "sits on both sides of the comparison and cancels out"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reproducible builds&lt;/td&gt;
&lt;td&gt;Rebuilding with the same seed reproduces the implant bit for bit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Bootstrappable builds&lt;/td&gt;
&lt;td&gt;Helps only in proportion to how small the binary seed is&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Diverse double-compiling rebuilds a compiler with a second, independent compiler and checks the results agree. The authors note it "then checks that the two results agree", which is exactly the check a payload present in both paths passes.&lt;/p&gt;

&lt;p&gt;Reproducible builds aim to "make every build produce bit-for-bit identical output", with an independent rebuilder confirming a binary matches its source. Identical output is not the same as clean output.&lt;/p&gt;

&lt;p&gt;The paper does point at something that helps. "The full-source bootstrap in GNU Guix reduces the binary seed to a few hundred bytes and rebuilds the whole toolchain from auditable source above it," the authors write. A smaller seed means less unauditable material for an implant to hide in.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;Stop treating the trusted computing base as the compiler. Any binary in your bootstrap that transforms other binaries is in scope, and that includes strip, linkers, archivers and installers. Most threat models never listed them.&lt;/p&gt;

&lt;p&gt;If you rely on reproducible builds for assurance, understand precisely what they prove. They prove your build is deterministic. They do not prove your inputs were clean, and this attack is deliberately deterministic.&lt;/p&gt;

&lt;p&gt;If you run NixOS in production, note what has and has not happened. The attack was demonstrated on a real revision by researchers, with a &lt;a href="https://figshare.com/s/6a4e5b24127c5fd687e0" rel="noopener noreferrer"&gt;replication package&lt;/a&gt; published. There is no public response from the NixOS project, and no evidence anyone has done this outside the lab.&lt;/p&gt;

&lt;p&gt;The practical lever is seed size. Guix's few hundred bytes is a different order of risk from a conventional binary seed. Ask for that number when someone tells you their distribution is bootstrappable. Open-source governance has been busy this year, from &lt;a href="https://techaiwire.com/articles/debian-votes-allow-ai-assisted-contributions/" rel="noopener noreferrer"&gt;Debian's vote on AI-assisted contributions&lt;/a&gt; to the &lt;a href="https://techaiwire.com/articles/nixpkgs-core-team-disbands/" rel="noopener noreferrer"&gt;Nixpkgs core team disbanding&lt;/a&gt;. This is a reminder that the build pipeline needs attention too.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/debian-votes-allow-ai-assisted-contributions/" rel="noopener noreferrer"&gt;Debian votes to allow AI-assisted contributions, with conditions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/nixpkgs-core-team-disbands/" rel="noopener noreferrer"&gt;Nixpkgs core team disbands after ten months, citing burnout&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://arxiv.org/abs/2607.24888" rel="noopener noreferrer"&gt;Trusting-Trust Attack against an Entire Linux Distribution (via the strip utility)&lt;/a&gt; - arXiv&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://figshare.com/s/6a4e5b24127c5fd687e0" rel="noopener noreferrer"&gt;Replication Package&lt;/a&gt; - figshare&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>linux</category>
      <category>opensource</category>
      <category>compilers</category>
    </item>
    <item>
      <title>Debian Code Search drops its last cgo dependency</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:29:02 +0000</pubDate>
      <link>https://dev.to/techaiwire/debian-code-search-drops-its-last-cgo-dependency-2ifi</link>
      <guid>https://dev.to/techaiwire/debian-code-search-drops-its-last-cgo-dependency-2ifi</guid>
      <description>&lt;p&gt;Debian Code Search now runs without any C code. Michael Stapelberg replaced a seven-year-old C compression library with a pure Go version built on Go's experimental SIMD package, and reports it matches the C original for speed. "I deleted the last cgo dependency in Debian Code Search," he wrote &lt;a href="https://michael.stapelberg.ch/posts/2026-09-06-dcs-fast-turbopfor-go-simd/" rel="noopener noreferrer"&gt;on his blog&lt;/a&gt; on September 6, 2026.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://codesearch.debian.net/" rel="noopener noreferrer"&gt;Debian Code Search&lt;/a&gt; is the service that lets anyone search 130 GiB of source code across every Debian package. It has been running since 2012.&lt;/p&gt;

&lt;h2&gt;
  
  
  What TurboPFor does and why C was there
&lt;/h2&gt;

&lt;p&gt;The library in question is TurboPFor. It is an integer compression format, used inside an inverted index to store lists of document IDs compactly.&lt;/p&gt;

&lt;p&gt;That job is unglamorous and performance-critical. A code search engine spends much of its time decoding those ID lists, so the decoder sets the speed of every query.&lt;/p&gt;

&lt;p&gt;Go can call C, through a bridge called cgo. It works, but it costs. Every call crosses a boundary, cross-compiling gets harder, and the build now needs a C toolchain as well as a Go one. Stapelberg had carried that trade for seven years because the C version was faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Go rewrite achieved
&lt;/h2&gt;

&lt;p&gt;The rewrite leans on &lt;code&gt;simd/archsimd&lt;/code&gt;, an experimental package that arrived in Go 1.26. SIMD stands for single instruction, multiple data: one CPU instruction operating on a batch of values at once instead of one at a time.&lt;/p&gt;

&lt;p&gt;Two figures from the post stand out. Positional popcount encoding, a bit-counting step in the format, ran about twice as fast with the SIMD path. Full blocks decoded roughly three times faster than the plain scalar Go version.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Measure&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Positional popcount encoding&lt;/td&gt;
&lt;td&gt;About 2x faster with SIMD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Full-block throughput&lt;/td&gt;
&lt;td&gt;About 3x faster than scalar Go&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Against the original C library&lt;/td&gt;
&lt;td&gt;Parity, encoder and decoder&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;cgo dependencies remaining&lt;/td&gt;
&lt;td&gt;Zero&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Parity is the important word. The Go version does not beat C. It draws with it, which is enough to make the C dependency not worth keeping.&lt;/p&gt;

&lt;h2&gt;
  
  
  The catch: it is still an experiment
&lt;/h2&gt;

&lt;p&gt;This does not work out of the box. The package is gated behind a build flag. Stapelberg quotes the requirement directly. "Go 1.26 introduces a new experimental &lt;code&gt;simd/archsimd&lt;/code&gt; package," he writes, "which can be enabled by setting the environment variable &lt;code&gt;GOEXPERIMENT=simd&lt;/code&gt; at build time."&lt;/p&gt;

&lt;p&gt;An experimental package can change shape between releases, and the API here is deliberately architecture-specific rather than portable. We covered &lt;a href="https://techaiwire.com/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Go 1.27 adding a portable &lt;code&gt;simd&lt;/code&gt; package&lt;/a&gt; alongside the architecture-specific one, which is the direction this is heading, but neither is stable yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;The transferable result is that the cgo escape hatch is narrowing. Plenty of Go projects keep a C dependency for one hot loop, and accept a harder build in exchange. If SIMD in Go can reach parity with hand-written C on integer compression, that trade is worth re-examining in your own code.&lt;/p&gt;

&lt;p&gt;Check what you are actually paying for cgo before you start. It is not only speed. It is cross-compilation, build toolchains in CI, static linking, and the debugging that follows a crash across the boundary. Stapelberg's win is a simpler build as much as a faster one.&lt;/p&gt;

&lt;p&gt;Do not put &lt;code&gt;GOEXPERIMENT=simd&lt;/code&gt; into a production build yet. Experimental means the package can move, and an architecture-specific API means your code is not portable by default. Prototype with it, measure your own numbers, and keep the C path until the API settles.&lt;/p&gt;

&lt;p&gt;If you want the implementation rather than the summary, the Go port is published separately as &lt;a href="https://github.com/stapelberg/goturbopfor" rel="noopener noreferrer"&gt;&lt;code&gt;goturbopfor&lt;/code&gt;&lt;/a&gt;. The service it feeds is open source under the Debian organisation. Reading a real SIMD kernel written in Go is currently a short list, and this is on it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/debian-code-search-go-simd-turbopfor/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/go-1-27-generic-methods-json-v2/" rel="noopener noreferrer"&gt;Go 1.27 adds generic methods and a faster encoding/json&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://michael.stapelberg.ch/posts/2026-09-06-dcs-fast-turbopfor-go-simd/" rel="noopener noreferrer"&gt;Debian Code Search: Fast TurboPFor with Go SIMD&lt;/a&gt; - Michael Stapelberg&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://codesearch.debian.net/" rel="noopener noreferrer"&gt;Debian Code Search&lt;/a&gt; - Debian&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/stapelberg/goturbopfor" rel="noopener noreferrer"&gt;stapelberg/goturbopfor&lt;/a&gt; - GitHub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>debian</category>
      <category>compilers</category>
      <category>linux</category>
    </item>
    <item>
      <title>LLVM debates building ClangIR by default</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:26:10 +0000</pubDate>
      <link>https://dev.to/techaiwire/llvm-debates-building-clangir-by-default-1dn6</link>
      <guid>https://dev.to/techaiwire/llvm-debates-building-clangir-by-default-1dn6</guid>
      <description>&lt;p&gt;LLVM developers are debating whether Clang should compile ClangIR into every build. Erich Keane posted an RFC titled "Enable ClangIR Build By Default" on the &lt;a href="https://discourse.llvm.org/t/rfc-enable-clangir-build-by-default/91730" rel="noopener noreferrer"&gt;LLVM Discourse forum&lt;/a&gt; on September 6, 2026. It had drawn 34 replies by the time &lt;a href="https://www.phoronix.com/news/ClangIR-Build-Default-Maybe" rel="noopener noreferrer"&gt;Phoronix reported it&lt;/a&gt; the same day.&lt;/p&gt;

&lt;p&gt;The proposal is narrower than the headline suggests. Building it in is not the same as using it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is actually being proposed
&lt;/h2&gt;

&lt;p&gt;ClangIR is a new intermediate representation for Clang. An intermediate representation is the form a compiler holds your code in between parsing it and emitting machine instructions.&lt;/p&gt;

&lt;p&gt;Clang already has one, LLVM IR. ClangIR sits higher up, closer to the source language, and is built on MLIR. Sitting higher means it can keep information that LLVM IR throws away, such as which C++ construct a piece of code came from.&lt;/p&gt;

&lt;p&gt;The code is already upstream. It is simply not part of the default build configuration, so most people compiling Clang from source do not get it.&lt;/p&gt;

&lt;p&gt;The RFC would change that one thing. Code generation would still go through the existing path unless you pass &lt;code&gt;-fclangir&lt;/code&gt; explicitly. Nobody gets ClangIR by accident.&lt;/p&gt;

&lt;h2&gt;
  
  
  The objections
&lt;/h2&gt;

&lt;p&gt;Three concerns dominate the thread, and none is about whether ClangIR is good work.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Concern&lt;/th&gt;
&lt;th&gt;The problem&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Build time&lt;/td&gt;
&lt;td&gt;Some estimates put build times more than doubling&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platform gaps&lt;/td&gt;
&lt;td&gt;Microsoft and Windows targets are not supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;CI cost&lt;/td&gt;
&lt;td&gt;Every test machine pays the longer build, on every run&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The build-time figure is the one doing the damage. Adding MLIR as a default Clang dependency pulls in a large body of code that everyone compiling Clang would then compile too, including people who will never pass the flag.&lt;/p&gt;

&lt;p&gt;That cost is not evenly shared. A distribution maintainer building Clang once absorbs it easily. A contributor rebuilding locally, or a CI fleet rebuilding on every pull request, absorbs it repeatedly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why anyone wants it on
&lt;/h2&gt;

&lt;p&gt;The case for building it in is adoption. A feature nobody compiles is a feature nobody tests. Keeping ClangIR out of the default build means bugs surface only for the small group who opt in, and only after the code has already landed.&lt;/p&gt;

&lt;p&gt;Turning it on by default makes it a normal part of the tree. Breakage shows up in ordinary CI rather than in a specialised bot, which is how a project stops an experimental component from quietly rotting.&lt;/p&gt;

&lt;p&gt;Nothing has been decided. It is an RFC with an active thread, and the discussion is about cost rather than direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;If you build Clang from source, watch this thread rather than the outcome. Your build times are the thing being traded away, and the estimates in the thread are estimates. Measuring your own build with MLIR included is a better input to your planning than a number from a forum post.&lt;/p&gt;

&lt;p&gt;If you run CI that compiles LLVM, cost this now. A doubling applied to every pull request is a budget line, not an inconvenience, and it arrives on whatever release first carries the change.&lt;/p&gt;

&lt;p&gt;If you work on Windows toolchains, the platform gap is your cue to speak up. The RFC names the absence of Microsoft target support as a blocker, and RFC threads are where that gets weighted. Open-source projects have been formalising exactly this kind of decision lately, from &lt;a href="https://techaiwire.com/articles/gnome-rfc-process-proposal/" rel="noopener noreferrer"&gt;GNOME drafting an RFC process&lt;/a&gt; to &lt;a href="https://techaiwire.com/articles/debian-votes-allow-ai-assisted-contributions/" rel="noopener noreferrer"&gt;Debian voting on AI-assisted contributions&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;And if you just use Clang from a package manager, this changes nothing yet. You would get a slightly larger compiler binary and an extra flag you can ignore.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/clangir-build-by-default-llvm-rfc/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/gnome-rfc-process-proposal/" rel="noopener noreferrer"&gt;GNOME drafts an RFC process for big technical decisions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/debian-votes-allow-ai-assisted-contributions/" rel="noopener noreferrer"&gt;Debian votes to allow AI-assisted contributions, with conditions&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.phoronix.com/news/ClangIR-Build-Default-Maybe" rel="noopener noreferrer"&gt;LLVM Developers Discuss Enabling ClangIR Build By Default&lt;/a&gt; - Phoronix&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://discourse.llvm.org/t/rfc-enable-clangir-build-by-default/91730" rel="noopener noreferrer"&gt;RFC: Enable ClangIR Build By Default&lt;/a&gt; - LLVM Discourse&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>compilers</category>
      <category>opensource</category>
      <category>llm</category>
    </item>
    <item>
      <title>TryNix runs any Nix package in a browser tab</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:23:18 +0000</pubDate>
      <link>https://dev.to/techaiwire/trynix-runs-any-nix-package-in-a-browser-tab-12i1</link>
      <guid>https://dev.to/techaiwire/trynix-runs-any-nix-package-in-a-browser-tab-12i1</guid>
      <description>&lt;p&gt;You can now run any package from the entire history of nixpkgs without installing anything. Farid Zakaria &lt;a href="https://fzakaria.com/2026/09/04/any-nix-package-live-in-your-browser" rel="noopener noreferrer"&gt;published TryNix&lt;/a&gt; on September 4, 2026. It boots a Linux kernel compiled to WebAssembly inside a browser tab, then runs the package you asked for.&lt;/p&gt;

&lt;p&gt;"You can browse the complete history of nixpkgs, over 310,083 package versions, and run any of them in a Linux machine that boots in your tab," Zakaria wrote.&lt;/p&gt;

&lt;p&gt;Nixpkgs is the package collection behind Nix and NixOS. Its defining property is that every version ever published stays addressable, which is what makes a claim like this possible.&lt;/p&gt;

&lt;h2&gt;
  
  
  How it actually works
&lt;/h2&gt;

&lt;p&gt;The pieces are all existing technology, assembled unusually.&lt;/p&gt;

&lt;p&gt;A Linux kernel compiled to WebAssembly through QEMU-WASM provides the machine. Ghostty, a terminal emulator, provides the interface. An in-memory Nix store holds the package closure, which is the package plus everything it depends on.&lt;/p&gt;

&lt;p&gt;The packages themselves come over plain HTTP from Nix binary caches. That part has one requirement, and Zakaria states it plainly: "The only requirement is that the cache is served with &lt;code&gt;access-control-allow-origin: *&lt;/code&gt;."&lt;/p&gt;

&lt;p&gt;That header is the whole trick. Nix caches are already public HTTP file servers, so with permissive cross-origin headers a browser can fetch from them directly, with no server in between.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it costs to start
&lt;/h2&gt;

&lt;p&gt;Cold starts are seconds, not minutes.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Package&lt;/th&gt;
&lt;th&gt;First visit&lt;/th&gt;
&lt;th&gt;Return visit&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;hello&lt;/td&gt;
&lt;td&gt;4.2s&lt;/td&gt;
&lt;td&gt;1.5s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ripgrep&lt;/td&gt;
&lt;td&gt;4.3s&lt;/td&gt;
&lt;td&gt;1.7s&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;python3&lt;/td&gt;
&lt;td&gt;7.5s&lt;/td&gt;
&lt;td&gt;3.5s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The gap between the two columns is browser caching doing its job. A second run of the same package skips most of the download.&lt;/p&gt;

&lt;h2&gt;
  
  
  The limits are real
&lt;/h2&gt;

&lt;p&gt;Three constraints decide whether this fits your use.&lt;/p&gt;

&lt;p&gt;Closure size caps out around 1.5GB, against a hard WebAssembly ceiling of 4GB. Large toolchains and anything dragging in a big language runtime will not fit.&lt;/p&gt;

&lt;p&gt;There is a serial console and nothing else, per &lt;a href="https://github.com/fzakaria/trynix" rel="noopener noreferrer"&gt;the repository&lt;/a&gt;. No graphical applications, no windowing, no browser inside the browser.&lt;/p&gt;

&lt;p&gt;And everything is translated from x86-64 to WebAssembly at runtime, which adds latency. This is a place to try a tool, not to benchmark one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;The immediate use is reproduction. Zakaria puts it as a slogan worth stealing: "Works on my machine" is a URL now for reproduction. A bug report that includes a link booting the exact package version is a different quality of bug report from one that includes a version string.&lt;/p&gt;

&lt;p&gt;For anyone maintaining docs or a teaching repo, this removes the worst step in every tutorial. "Install Nix first" loses readers. A link does not.&lt;/p&gt;

&lt;p&gt;Check your own binary cache headers if you want this to work against your packages. The cross-origin header is the requirement, and most private caches will not have it set. That is a one-line change and a security decision worth making deliberately, since it opens the cache to any origin.&lt;/p&gt;

&lt;p&gt;Do not plan around it for heavy work. Between the 1.5GB closure ceiling and the translation overhead, this is a demonstration surface, not a development environment. The Nix ecosystem has had a rough few months. The &lt;a href="https://techaiwire.com/articles/nixpkgs-core-team-disbands/" rel="noopener noreferrer"&gt;Nixpkgs core team disbanded&lt;/a&gt;, and a &lt;a href="https://techaiwire.com/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;paper backdoored the NixOS bootstrap through strip&lt;/a&gt;. A project making the good part of Nix easier to show is welcome timing.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/trynix-nix-packages-in-browser-wasm/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/nixpkgs-core-team-disbands/" rel="noopener noreferrer"&gt;Nixpkgs core team disbands after ten months, citing burnout&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/trusting-trust-attack-strip-nixos/" rel="noopener noreferrer"&gt;A tampered strip binary can backdoor all of NixOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://fzakaria.com/2026/09/04/any-nix-package-live-in-your-browser" rel="noopener noreferrer"&gt;Any Nix package, live in your browser&lt;/a&gt; - Farid Zakaria&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/fzakaria/trynix" rel="noopener noreferrer"&gt;fzakaria/trynix&lt;/a&gt; - GitHub&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>linux</category>
      <category>browsers</category>
    </item>
    <item>
      <title>NetBSD 11 adds 64-bit RISC-V and a 10ms microVM kernel</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:09:53 +0000</pubDate>
      <link>https://dev.to/techaiwire/netbsd-11-adds-64-bit-risc-v-and-a-10ms-microvm-kernel-h5b</link>
      <guid>https://dev.to/techaiwire/netbsd-11-adds-64-bit-risc-v-and-a-10ms-microvm-kernel-h5b</guid>
      <description>&lt;p&gt;NetBSD 11.0 is out, and it is the first stable version of the system that runs on 64-bit RISC-V chips. The project &lt;a href="https://www.netbsd.org/releases/formal-11/NetBSD-11.0.html" rel="noopener noreferrer"&gt;announced the release&lt;/a&gt; on July 30, 2026. That matters for two reasons. An open chip architecture gains a mature Unix, and a new kernel option boots a virtual machine in about 10 milliseconds.&lt;/p&gt;

&lt;p&gt;NetBSD is a free Unix-like operating system, which means it behaves like Unix without using Unix code. The project's stated goal is portability: running one system on many kinds of machine. Version 11.0 is its nineteenth major release.&lt;/p&gt;

&lt;p&gt;The project posted the news to its blog on August 1, 2026. "The NetBSD project is pleased to (finally) announce the 11.0 release!" the post said. The word in brackets is the project's own.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 64-bit RISC-V milestone
&lt;/h2&gt;

&lt;p&gt;RISC-V is an open instruction set, which is the basic vocabulary a processor understands. Anyone can design a chip around it without paying a license fee. That is why it attracts hardware startups, universities and researchers.&lt;/p&gt;

&lt;p&gt;Version 11.0 is, in the release notes' words, "the first stable release to include support for 64-bit RISC-V platforms." The first boards supported are built on StarFive's JH71XX chips. Those are the VisionFive 2 and the PINE64 STAR64, both small single-board computers. &lt;a href="https://www.phoronix.com/news/NetBSD-11.0" rel="noopener noreferrer"&gt;Phoronix listed the same two boards&lt;/a&gt; in its report on August 1, 2026.&lt;/p&gt;

&lt;p&gt;The release also adds preliminary support for Qualcomm Snapdragon X Elite devices. Preliminary means the system starts but the work is unfinished. Asahi Linux took a similar step for Apple hardware last week, when it &lt;a href="https://techaiwire.com/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;added official M3 Mac support&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  A kernel built for fast boots
&lt;/h2&gt;

&lt;p&gt;NetBSD 11.0 ships a new kernel for x86 and amd64 machines called MICROVM. Its purpose is what the release notes describe as "extremely fast virtual machine boot." The figure the project gives is "about 10 ms."&lt;/p&gt;

&lt;p&gt;A virtual machine is a whole simulated computer, so it normally takes seconds to start. Cutting that to milliseconds puts it near the speed of a container, which shares the host kernel instead of booting its own. The trade-off matters because a virtual machine isolates code far more strictly than a container does.&lt;/p&gt;

&lt;h2&gt;
  
  
  What else changed
&lt;/h2&gt;

&lt;p&gt;The rest of the release is spread across the firewall, the Linux compatibility layer and the standards the system targets.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Area&lt;/th&gt;
&lt;th&gt;Change in NetBSD 11.0&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;npf firewall&lt;/td&gt;
&lt;td&gt;Adds "layer 2 and user/group filtering"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Linux compatibility&lt;/td&gt;
&lt;td&gt;compat_linux(8) gains epoll, POSIX message queues and statx&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Standards&lt;/td&gt;
&lt;td&gt;Better "compliance with POSIX.1-2024 and C23 programming interface standards"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Platforms&lt;/td&gt;
&lt;td&gt;Over 60 supported&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The bundled developer tools also moved up.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;Version in 11.0&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GCC&lt;/td&gt;
&lt;td&gt;12.5.0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;OpenSSL&lt;/td&gt;
&lt;td&gt;3.5.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GDB&lt;/td&gt;
&lt;td&gt;15.1&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;SSH&lt;/td&gt;
&lt;td&gt;10.3&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Phoronix also reported SIMD-accelerated optimizations in the release. SIMD lets one instruction act on several pieces of data at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  Putting it on a 2012 laptop
&lt;/h2&gt;

&lt;p&gt;Five weeks after the release, a developer published a full manual install. The post, &lt;a href="https://meanmicio.org/2026/09/06/netbsd-11-from-scratch/" rel="noopener noreferrer"&gt;"NetBSD 11 from scratch"&lt;/a&gt;, appeared on September 6, 2026. It uses a 2012 HP Pavilion with an Intel Core i7, 3.79 GB of memory and a 900 GB disk.&lt;/p&gt;

&lt;p&gt;The guide sets up full disk encryption with CGD, NetBSD's cryptographic disk driver. It uses the adiantum cipher and derives the key with pkcs5_pbkdf2/sha1. The root partition is 50 GB.&lt;/p&gt;

&lt;p&gt;The author gives one non-technical reason for the choice: NetBSD's stance against putting generative AI into the project.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;The MICROVM kernel is the piece worth testing first. If you build sandboxes, CI runners or per-request isolation, a 10 ms boot brings a real virtual machine close to container startup times. Measure it on your own workload before you trust the number, because boot time is only one part of total latency.&lt;/p&gt;

&lt;p&gt;If you target RISC-V, NetBSD is now a second mature option beside Linux. A VisionFive 2 or STAR64 board is the cheapest way to try it. Check the drivers you need first, since first-generation support usually covers the basics only.&lt;/p&gt;

&lt;p&gt;The compat_linux additions matter if you run Linux binaries on NetBSD. epoll and statx are common in modern server software, so a tool that failed before may work now. Test it rather than assume it.&lt;/p&gt;

&lt;p&gt;The C23 and POSIX.1-2024 work also makes NetBSD a useful portability check. Building your C code there tends to expose assumptions that Linux and glibc quietly forgive.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/netbsd-11-riscv-microvm-kernel/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/asahi-linux-m3-official-support/" rel="noopener noreferrer"&gt;Asahi Linux now officially supports M3 series Macs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.netbsd.org/releases/formal-11/NetBSD-11.0.html" rel="noopener noreferrer"&gt;Announcing NetBSD 11.0 (July 30, 2026)&lt;/a&gt; - NetBSD&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.phoronix.com/news/NetBSD-11.0" rel="noopener noreferrer"&gt;NetBSD 11.0 Released With RISC-V Support, Enhanced Linux System Call Compatibility&lt;/a&gt; - Phoronix&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://meanmicio.org/2026/09/06/netbsd-11-from-scratch/" rel="noopener noreferrer"&gt;NetBSD 11 from scratch&lt;/a&gt; - MeanMicio&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>opensource</category>
      <category>hardware</category>
      <category>netbsd</category>
      <category>riscv</category>
    </item>
    <item>
      <title>AMD Zen 6 makes Linux's SafeRET mitigation unnecessary</title>
      <dc:creator>techaiwire</dc:creator>
      <pubDate>Tue, 08 Sep 2026 03:09:50 +0000</pubDate>
      <link>https://dev.to/techaiwire/amd-zen-6-makes-linuxs-saferet-mitigation-unnecessary-4a59</link>
      <guid>https://dev.to/techaiwire/amd-zen-6-makes-linuxs-saferet-mitigation-unnecessary-4a59</guid>
      <description>&lt;p&gt;AMD's next generation of processors will let Linux stop applying one of its speculation defenses. A kernel patch titled &lt;a href="https://kernel.googlesource.com/pub/scm/linux/kernel/git/tip/tip/+/ae1d2082d93bc04604dc08e9b7f9cdba5e0c28e6" rel="noopener noreferrer"&gt;"x86/bugs: Adapt SRSO mitigation to Zen6"&lt;/a&gt; landed in the tip tree on September 1, 2026. It matters because the chip now does in hardware what the kernel had been doing in software, and software mitigations run on every affected machine.&lt;/p&gt;

&lt;p&gt;The patch was written by Borislav Petkov, a kernel engineer at AMD. He authored it on August 21, 2026 and committed it himself on September 1, 2026.&lt;/p&gt;

&lt;h2&gt;
  
  
  The attack being defended against
&lt;/h2&gt;

&lt;p&gt;Modern processors guess what code will run next, which is called speculation. The guess keeps the chip busy instead of waiting. When the guess is wrong, the work is thrown away.&lt;/p&gt;

&lt;p&gt;The problem is that the discarded work leaves traces. An attacker who can steer those guesses may get the processor to briefly touch data it should not, then read the traces to infer it. SRSO, short for Speculative Return Stack Overflow, is one such flaw. It targets the predictions the chip makes about where a function returns to. &lt;a href="https://www.phoronix.com/news/Linux-Preps-AMD-BTB-CTX" rel="noopener noreferrer"&gt;Phoronix reports&lt;/a&gt; that SRSO affected the Zen 1 through Zen 4 generations.&lt;/p&gt;

&lt;p&gt;Linux answered SRSO with a software mitigation called SafeRET. That is the piece Zen 6 makes unnecessary.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Zen 6 changes in hardware
&lt;/h2&gt;

&lt;p&gt;The branch target buffer is a small cache where the processor keeps its guesses about where a jump in the code will land. If one program's entries can influence another's, those guesses become an attack surface.&lt;/p&gt;

&lt;p&gt;Zen 6 separates them. "Zen6 has BTB protection which isolates the different contexts (user/kernel, guest/host) from one another," the commit message says. Phoronix calls the feature BTB CTX isolation, short for branch target buffer context isolation.&lt;/p&gt;

&lt;p&gt;Two boundaries are covered by that description. One is between a normal program and the kernel. The other is between a virtual machine guest and the host running it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the patch actually does
&lt;/h2&gt;

&lt;p&gt;The change is small and touches three files in the x86 code.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Detail&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Commit&lt;/td&gt;
&lt;td&gt;"x86/bugs: Adapt SRSO mitigation to Zen6"&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Author&lt;/td&gt;
&lt;td&gt;Borislav Petkov (AMD)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Written&lt;/td&gt;
&lt;td&gt;August 21, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Committed to tip&lt;/td&gt;
&lt;td&gt;September 1, 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Files changed&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Target kernel&lt;/td&gt;
&lt;td&gt;Linux 7.4, with 7.3 possible as a fix, per Phoronix&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The three files are &lt;code&gt;arch/x86/include/asm/cpufeatures.h&lt;/code&gt;, &lt;code&gt;arch/x86/kernel/cpu/bugs.c&lt;/code&gt; and &lt;code&gt;arch/x86/kernel/cpu/scattered.c&lt;/code&gt;. The kernel detects the new hardware behavior and then reports the situation through a new mitigation string.&lt;/p&gt;

&lt;h2&gt;
  
  
  What software still has to handle
&lt;/h2&gt;

&lt;p&gt;The hardware protection does not cover everything, and the commit is explicit about the gap.&lt;/p&gt;

&lt;p&gt;User-to-user and guest-to-guest attacks are still not handled by the chip. Those are cases where two programs at the same privilege level, or two virtual machines, attack each other. For those, the kernel keeps relying on the Spectre v2 mitigation settings to issue an IBPB on a context switch.&lt;/p&gt;

&lt;p&gt;IBPB stands for Indirect Branch Predictor Barrier. It tells the processor to discard its accumulated branch guesses, which stops one workload's predictions from carrying into the next.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for developers
&lt;/h2&gt;

&lt;p&gt;Do not read this as "Zen 6 ends speculation mitigations." It removes one specific software fix at two specific boundaries, and it leaves same-privilege isolation to software. If you run untrusted code from different tenants on one host, your Spectre v2 configuration still matters as much as it did.&lt;/p&gt;

&lt;p&gt;Check what your kernel reports rather than assuming. The patch adds a new mitigation string. Once you are on a kernel carrying this change, the state your machine is actually in shows up in the kernel's own reporting.&lt;/p&gt;

&lt;p&gt;If you track mitigation overhead in your benchmarks, plan to re-baseline. Comparisons taken on Zen 4 with SafeRET active will not describe a Zen 6 machine without it, so old numbers should not be carried forward.&lt;/p&gt;

&lt;p&gt;There is also no hardware to test against yet. These sources give no ship date for Zen 6 processors, so treat this as the kernel getting ready rather than a change you can measure this quarter. Kernel protection defaults move in both directions, and it is worth remembering the cost side: Microsoft is &lt;a href="https://techaiwire.com/articles/windows-11-memory-integrity-default-october-2026/" rel="noopener noreferrer"&gt;switching on Windows 11's memory integrity by default&lt;/a&gt; from October 13.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This article was first published on &lt;a href="https://techaiwire.com/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;Tech AI Wire&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Also available in
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://techaiwire.com/de/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;Deutsch&lt;/a&gt; · &lt;a href="https://techaiwire.com/ja/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;日本語&lt;/a&gt; · &lt;a href="https://techaiwire.com/fr/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;Français&lt;/a&gt; · &lt;a href="https://techaiwire.com/es/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;Español&lt;/a&gt; · &lt;a href="https://techaiwire.com/pt/articles/amd-zen-6-linux-saferet-srso-mitigation/" rel="noopener noreferrer"&gt;Português&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Related on Tech AI Wire
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://techaiwire.com/articles/windows-11-memory-integrity-default-october-2026/" rel="noopener noreferrer"&gt;Windows 11 turns on memory integrity by default from October 13&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.phoronix.com/news/Linux-Preps-AMD-BTB-CTX" rel="noopener noreferrer"&gt;Linux Preps For New AMD Zen 6 BTB CTX Isolation Security Feature&lt;/a&gt; - Phoronix&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://kernel.googlesource.com/pub/scm/linux/kernel/git/tip/tip/+/ae1d2082d93bc04604dc08e9b7f9cdba5e0c28e6" rel="noopener noreferrer"&gt;x86/bugs: Adapt SRSO mitigation to Zen6&lt;/a&gt; - kernel.googlesource.com&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>security</category>
      <category>linux</category>
      <category>hardware</category>
      <category>amd</category>
    </item>
  </channel>
</rss>
