Planet Me

May 01, 2026

Phoronix

AMD Posts HDMI 2.1 FRL Patches For Their AMDGPU Linux Driver

It's not complete HDMI 2.1 support but to much surprise hitting the mailing list today were official patches from AMD for implementing HDMI Fixed Rate Link "FRL" support for their kernel graphics driver. HDMI FRL as part of HDMI 2.1+ allows for higher bandwidth to support higher refresh rates and resolutions...

by Michael Larabel at May 01, 2026 02:44 PM

Linux Support Coming For The ASUS ROG RAIKIRI II: A $160 High-End Gaming Controller

The ASUS ROG RAIKIRI II is a recently-launched wireless gaming controller for both PC and Xbox gaming. This is a premium controller priced at $160 USD and has been receiving positive reviews under Windows while now it will soon be seeing mainline Linux support...

by Michael Larabel at May 01, 2026 01:12 PM

Intel Making More GPU Driver Improvements For Crescent Island With Linux 7.2

Intel's upcoming Crescent Island product as a reminder is a new inference-optimized Xe3P graphics card with 160GB of vRAM and targeting enterprise AI workloads. Intel's open-source Linux graphics driver engineers continue to be very busy enabling the driver support for Crescent Island as well as making broader Xe3P improvements...

by Michael Larabel at May 01, 2026 10:29 AM

Mesa Developers Consider Branching Off Some Older GPU Drivers - Including AMD R300/R600

Mike Blumenkrantz of Valve's Linux graphics team has ignited a discussion over potentially shifting some of Mesa's older GPU drivers into a new legacy Git branch in order to better support the more modern OpenGL and Vulkan drivers without having to worry about breaking the legacy drivers and to allow for better cleaning of the Mesa codebase. Among the drivers that could be impacted are the ATI/AMD R300 and R600 drivers and many smaller drivers...

by Michael Larabel at May 01, 2026 10:17 AM

Linux 7.0 Release, Age Verification Laws, Ryzen 9 9950X3D2 & Other April Happenings

A lot happened in the Linux and open-source world during the month of April. Ubuntu 26.04 LTS and Fedora 44 shipped, a lot of news around age attestation/verification laws, the Linux 7.0 kernel was released, Linux 7.1 is bringing many exciting changes as well as removing of old hardware drivers, the Ryzen 9 9950X3D2 Dual Edition CPU was released, we began testing the Intel Arc Pro B70 "BMG-G31", and much more software and hardware content that made the month interesting. Last month on Phoronix were 303 original news articles and 16 Linux hardware reviews / multi-page featured benchmark articles...

by Michael Larabel at May 01, 2026 09:56 AM

The Daily WTF

Error'd: Parametric Projection

Roger C. gets on second base with an unforced error. "Not only is the content too large, the error message informing us of this is also too large to fit the visible space. A layered, double WTF."

782b1790d9d549d6a8acf4045669d7a6

"AWS Spellcheck Fail!" alerts Peter "If only someone at AWS knew the correct paramters to activate the spellcheck."

ee85e87fd7cb4cc2ac3038cb9f97ccf8

"How long is too long for a job to be open? " wonders Lincoln K. "I didn't even know LinkedIn existed 61 years ago, let alone was accepting postings... Though only 81 applicants in that time is hardly an impressive turn-out." For a "Vice President Operations and Quality Control", no less.

1c3d4b06a37e4119b62dc39bad29b9a3

An anonymous Richard reports "This came through my door. On a card that, in order to get to my door, had my full address printed on it, including my ."

9df5e07d210846f08dc925105f19b64b

Oenophile Abroad Michael R. shares "My Macbook broke after being "exposed" to red wine. As a German in London it pleases me so see that the repair shop offers this time granularity."

a9f634b888de4927babb91d7d2920579

[Advertisement] Keep all your packages and Docker containers in one place, scan for vulnerabilities, and control who can access different feeds. ProGet installs in minutes and has a powerful free version with a lot of great features that you can upgrade when ready.Learn more.

by Lyle Seaman at May 01, 2026 06:30 AM

Phoronix

Linux 7.2 To Set Default DRM Scheduler Priority To "Fair", New AIE4 Hardware In AMDXDNA

Even while the Linux 7.1 merge window was still ongoing this month, the initial "drm-misc-next" pull request to DRM-Next was sent out for beginning to queue new feature material toward the Linux 7.2 kernel coming this summer...

by Michael Larabel at May 01, 2026 12:26 AM

April 30, 2026

ISO C++

GCC 16.1 released: C++26 reflection / contracts / safety hardening, C++20 by default, and more!

GCC 16.1 has been released! Lots of good C++26 material including reflection and contracts.

GCC 16 Release Series: Changes, New Features, and Fixes

From the announcement:

  • C++20 by default: [...] N.B. C++20 modules support is still experimental and must be enabled by -fmodules.
  • Improved experimental C++20 modules support:
    • New command line option --compile-std-module that conveniently builds the <bits/stdc++.h> header unit and the std and std.compat modules before compiling any source files explicitly specified on the command line.
    • Whenever the <bits/stdc++.h> header unit has been built, GCC now transparently translates an #include of any importable standard library header into an import of <bits/stdc++.h>.
    • Many reported bugs have been fixed, thanks to Nathaniel Shead.
    • [...]

Runtime Library (libstdc++)

  • [...]
  • Improved experimental support for [...]
    • std::mdspan, thanks to Luc Grosheintz.
    • [...]
    • std::simd.
    • std::inplace_vector.
    • [...]

by Blog Staff at April 30, 2026 10:36 PM

Phoronix

Shotcut 26.4 Released With Timeline Improvements, Vulkan Accelerated Speech-To-Text

Shotcut 26.4.30 shipped today as the latest and greatest version of this open-source, cross-platform video editor...

by Michael Larabel at April 30, 2026 09:29 PM

Linux Mint To Begin Publishing HWE ISOs For Better Hardware Support

Due to Linux Mint moving to a longer development cycle with their next release not due until December, Linux Mint developers have decided to begin regularly publishing hardware enablement "HWE" ISOs with newer Linux kernel versions to provide better support for new hardware...

by Michael Larabel at April 30, 2026 04:53 PM

CachyOS Linux Performance Leading Over Ubuntu 26.04 LTS, Fedora Workstation 44

It's not too entirely surprising given the aggressive stance that the CachyOS Linux distribution has taken on out-of-the-box performance, but for those curious, it continues largely leading over the newly-released Ubuntu 26.04 LTS and Fedora Workstation 44 distributions for the leading performance on modern hardware.

by Michael Larabel at April 30, 2026 03:45 PM

AerynOS Updated With Linux 7.0, Gaming Optimized Kernel Flavor

AerynOS, the Linux distribution formerly known as Serpent OS, is out with a new monthly ISO refresh and details on other recent improvements to this original, from-scratch Linux distribution...

by Michael Larabel at April 30, 2026 02:57 PM

Linux 7.1-rc1 Showing Off Some Wins On AMD Ryzen Threadripper

My initial testing of the Linux 7.1 development kernel on various systems in the lab continues going well. Aside from one main regression in a synthetic micro-benchmark appearing on multiple systems, not seeing much in the way of Linux 7.1 performance concerns thus far and seeing some nice performance gains in select workloads...

by Michael Larabel at April 30, 2026 12:23 PM

GCC 16.1 Released With AMD Zen 6 Support, Algol 68 & Many C++ Improvements

GCC 16.1 is now available as the first stable release of GCC 16 as this year's major open-source GNU compiler feature release...

by Michael Larabel at April 30, 2026 10:37 AM

3mdeb Gets More Bits Of AMD openSIL & Coreboot Working On Ryzen AM5 Motherboard

There are two exciting initiatives taking place simultaneously by the 3mdeb consulting firm: the open-source developers are working on an open-source firmware stack for a Gigabyte EPYC server motherboard and they are also working on a similar Coreboot + AMD openSIL port to a Ryzen AM5 consumer motherboard, the MSI PRO B850-P WiFi. While not yet ready for end-users, 3mdeb published their latest blog post to highlight their latest milestone achieved with the openSIL + Coreboot bring-up on the MSI PRO B850-P motherboard...

by Michael Larabel at April 30, 2026 10:28 AM

AMD Posts Newest Linux Patches To Accelerate Page Migration For Better Performance

Posted to the Linux kernel mailing list this week was the newest revision of a patch series originally started in early 2025 by a NVIDIA engineer for accelerating page migration. Now being worked on by AMD engineers, this accelerated page migration via batch copies and hardware offloading continues to show promising results...

by Michael Larabel at April 30, 2026 10:12 AM

Servo Browser Engine Seeing Progress On FreeBSD Support

Following the recent Servo 0.1 release, the Servo project has published their latest monthly status report to highlight recent development efforts around this modern open-source browser engine...

by Michael Larabel at April 30, 2026 09:52 AM

CPPC v4 Support Being Worked On NVIDIA For The Linux ACPI Driver

Last year with the ACPI 6.6 specification release came revised Collaborative Processor Performance Control (CPPC) support for enhancing the capabilities around this standard for OS management of the performance of CPU cores using an abstract performance scale. That CPPC v4 support is now being worked on for the acpi_cppc Linux driver by NVIDIA engineers...

by Michael Larabel at April 30, 2026 09:45 AM

The Daily WTF

CodeSOD: Cancel Catch

"This WTF is in Matlab" almost feels like cheating. At one place I worked, somebody's job was struggling through a mountain of Matlab code and porting it into C. "This Matlab code looks like it was written by an alien," also doesn't really get much traction- all Matlab code looks like it was written by an alien. This falls into the realm of "Researchers use Matlab, researchers may be very smart about their domain, but generally don't know the first thing about writing maintainable code, because that's not their job."

But let's take a look at some MatLab Carl W found:

    try
        if (~isempty(fieldnames(bigStruct)) && isfield(bigStruct,'pathName'))
            [FileName, PathName] = uigetfile(bigStruct.pathName);
        else
            [FileName, PathName] = uigetfile(lastPath); %lastPath holds previous path
        end
    catch
        bigStruct = struct;
    end

The uigetfile function opens a file dialog box. When the user selects a file, FileName holds the filename, PathName holds the containing path. If the user doesn't select a valid file, or clicks "Cancel", both of those variables get set to 0. It's then up to the caller to check the return value and decide what happens next.

Which is not what happens here, obviously. The developer responsible seems to believe that it maybe throws an exception? And they can just catch it? Carl's best guess is that this is a "weird" way to catch the cancel button. But it does mean that FileName and PathName get set to 0, and those zeros propagate until something finally tries to open those files, at which point everything blows up and the user doesn't know why.

[Advertisement] Plan Your .NET 9 Migration with Confidence
Your journey to .NET 9 is more than just one decision.Avoid migration migraines with the advice in this free guide. Download Free Guide Now!

by Remy Porter at April 30, 2026 06:30 AM

April 29, 2026

Phoronix

The Intel Lunar Lake CPU Performance Gains On Linux Over The Past Year

Recently I ran benchmarks looking at the Xe2 graphics performance gains on Intel Lunar Lake over the past year with what's shipped by Ubuntu and comparing against our original tests of the Lenovo ThinkPad X1 Carbon Gen 13 Aura Edition. With those Lunar Lake iGPU benchmarks out of the way, here is a look at how the Lunar Lake CPU performance has evolved on Linux since April 2025.

by Michael Larabel at April 29, 2026 05:30 PM

Linux's sched_ext Sees A Bunch Of Bug Fixes Following Increased AI Code Review

Just days after the Linux 7.1-rc1 kernel release, the Linux kernel's extensible scheduler class "sched_ext" is seeing a lot of bug fixes. Many of these bug fixes aren't just from the Linux 7.1 merge window but a number date back many kernel cycles. This uptick in bug fixes for sched_ext is coming due to increased AI code review...

by Michael Larabel at April 29, 2026 03:47 PM

OpenCL Introducing Cooperative Matrix Extensions For Machine Learning

Back in 2023 the Vulkan API introduced its initial Cooperative Matrix extension and necessary SPIR-V integration for helping with machine learning / AI inferencing use. Since then the cooperative matrix support has continued to be built upon for helping Vulkan in AI/ML areas. Now the OpenCL API is also introducing similar cooperative matrix extensions...

by Michael Larabel at April 29, 2026 03:13 PM

Rust-Written Zed 1.0 Code Editor Released

Zed, the cross platform, open-source text/code editor written by the developers behind the Atom editor, has finally reached version 1.0...

by Michael Larabel at April 29, 2026 03:02 PM

ISO C++

BeCPP Symposium 2026 - Lieven de Cock - Type Punning, the joke is on you, pun intended

BeCPP Symposium 2026 (organized by BeCPP): Now on YouTube!

Lieven de Cock - Type Punning, the joke is on you, pun intended

Abstract:

Many codebases contain several spots of type punning, and unfortunately a whole lot of those are incorrect and undefined behavior. While many current versions of compilers seem to do the correct thing, they might no longer do that tomorrow. Safety considerations wants to reduce/eliminate UB.
It might be worthwhile to inspect your reinterpret_cast constructs, most probably they are wrong. In this talk we will inspect what is wrong about those, we will learn about alignment, strict aliasing, object lifetime. 3 areas which might flag a red card on our type punning constructions.
Luckily the language evolved and gave us more tools to do it correctly, things like memcpy, memmove, bit_cast, start_lifetime_as, launder. It does however remain a dark corner and a dangerous territory to wander in. Because let's face it, zero copy is something we love in C++, and those bytes that came from the network, really are an array of integers, array of coordinates, ... Compiler, trust me, I know what I am doing. Am I?

About the Speaker:

Lieven is a passionate software developer, architect, team lead, manager, coach, with 30 years of experience. He is passionate about C++, software craftsmanship, and clean code. His career started in the text-to-speech domain and then moved to video recognition technology for  traffic environments. During the last 15 years he is active in the satellite communication industry. Lieven also contributes to several open source projects and is the lead developer of the open source IDE Code::Blocks. He is also the lead coach of the Coderdojo division in Ghent, Belgium where he lives. A major focus is on sharing knowledge on C++, coaching people to grow in C++, and maintaining and raising the bar on quality.

 

by Marc Gregoire at April 29, 2026 01:40 PM

Phoronix

Hygon C86-4G CPU Support Added To The GCC 17 Compiler

Merged today to the GCC Git compiler codebase, which will be for GCC 17 rather than the imminent GCC 16.1 stable release, is adding support for the Chinese-manufactured Hygon C86-4G-M4 / C86-4G-M6 / C86-4G-M7 series x86_64 processors...

by Michael Larabel at April 29, 2026 01:14 PM

Libcamera 0.7.1 Released With Improved Software ISP

Libcamera 0.7.1 released on Tuesday as the newest feature release for this open-source library for camera image signal processors (ISPs) that has grown of importance for the likes of Raspberry Pi and Chrome OS and modern desktop Linux distributions with modern laptop hardware like recent Intel Core (Ultra) laptops...

by Michael Larabel at April 29, 2026 10:30 AM

Wayland Developers Target June For Weston 16 Release

Weston 16.0 could ship by the end of June with good color management and HDR support along with other new features for this reference Wayland compositor...

by Michael Larabel at April 29, 2026 10:17 AM

Devuan Developer Working On Reviving GTK2 With Modern Fixes

A Devuan developer, the Linux distribution that provides a Debian-based operating system without dependence on systemd, is working on "gtk2-ng" for providing modern fixes and improvements to the old GTK2 toolkit...

by Michael Larabel at April 29, 2026 10:05 AM

The Daily WTF

A Whale of a Problem

From our Anonymous submitter:

Our company creates graphs to visualize data. We have many small fish customers, but we have one whale who uses our product that is 90% of company revenue. (WTF number 1.)

So if he is not happy, it's all-hands-on deck-mode.

He complained that our APIs and charts are loading slowly for him. For 3 weeks, we've tried a TON of optimizations, including WTF 2: spinning up a special server he alone can hit.

Today, we found out that he's always complaining when he's in his car, driving from home to the office. But since he "totally has the best wifi money can buy," that isn't worth investigating.

WTF 3: thinking wifi and data are always 100% reliable in a car driving around.

Humpback whale breaching in Ballena Marine National Park

Our submitter highlights one of the major pitfalls of the so-called whale client: if they're a bad client, you're in for an extra-bad time.

As I lean harder into freelancing, I'm learning to scan the waters ahead of me for potential whales. My goal is to build up multiple small, diverse income streams, because I've had my own dangerous encounters with whales in the past.

At one employer of mine, there was Facebook, who acted as if they were our new owners rather than a new customer. They'd already produced flashy marketing videos of the sorts of solutions they planned to implement with our software, showing people delighted with the results. In meetings, these things were talked up as amazing game-changers. Meanwhile, I found all the things Facebook wanted to do horribly creepy and invasive.

Even worse, Facebook began dictating how our award-winning technical support should change to accommodate their whims, up to and including having a dedicated toady—er, support rep—who did nothing but field Facebook-related tickets, similar to a technical account manager (TAM).

That was the last straw for me. I left that company before I was forced to deal with any of Facebook's crap.

My second whale sighting occurred at a startup that'd landed Porsche, far and away their biggest client ever. All of a sudden, our timeline for adding new features and fixing bugs became Porsche's honey-do list. All of a sudden, the platform frequently crashed and became unusable for everyone because it couldn't handle the amount of traffic Porsche (and their clients) hurled at it.

On the other hand, there were several times in that startup's existence when a big wad of promised funding failed to materialize. Porsche kept the business afloat and literally kept my lights on.

I find it less than ideal to be at any company's mercy. I want a world that would neither spawn whales nor millions of startups named Sploink, Dink, and Twangle that promise to bring the power of AI to your dinner fork.

Have your own epic whaling adventures? Share with us in the comments!

[Advertisement] Utilize BuildMaster to release your software with confidence, at the pace your business demands. Download today!

by Ellis Morning at April 29, 2026 06:30 AM

XKCD

Phoronix

AMD Introducing New Linux Driver For Their Halo Box: For Its RGB LED Light Bar

AMD CEO Lisa Su back at CES 2026 showed off the Ryzen AI Halo box as a mini PC built around their excellent Strix Halo SoC. The Ryzen AI halo box is to serve as an AI development platform to compete with the likes of NVIDIA's DGX Spark and Dell GB10. This week is the first time I am seeing new Linux driver activity specifically referencing this exciting AMD "Halo Box" system...

by Michael Larabel at April 29, 2026 12:49 AM

Valve Updates GameNetworkingSockets After Nearly Four Year Hiatus

Back in 2018, Valve open-sourced their Steam networking sockets library as a basic network transport layer for games. This library is used by games from Counter-Strike to Dota 2 and since its public open-source drop has been picked up elsewhere. Finally after going nearly four years without a new version, GameNetworkingSockets v1.5 dropped today...

by Michael Larabel at April 29, 2026 12:22 AM

April 28, 2026

ISO C++

Glaze 7.2 - C++26 Reflection | YAML, CBOR, MessagePack, TOML and more

Glaze is a high-performance C++23 serialization library with compile-time reflection. It has grown to support many more formats and features, and in v7.2.0 C++26 Reflection support has been merged!

Glaze 7.2 - C++26 Reflection | YAML, CBOR, MessagePack, TOML and more

From the article:

Glaze now supports C++26 reflection with experimental GCC and Clang compilers. GCC 16 will soon be released with this support. When enabled, Glaze replaces the traditional __PRETTY_FUNCTION__ parsing and structured binding tricks with proper compile-time reflection primitives (std::meta).

The API doesn't change at all. You just get much more powerful automatic reflection that still works with Glaze overrides! Glaze was designed with automatic reflection in mind and still lets you customize reflection metadata using glz::meta on top of what std::meta provides via defaults.

by Blog Staff at April 28, 2026 10:25 PM

Phoronix

IBM Updates Linux Patches For Introducing ARM64 KVM Virtualization On s390

At the start of April was the peculiar announcement of IBM collaborating with Arm on "dual architecture" hardware. The initial fruits of that collaboration at least are Linux kernel patches for enabling ARM64 virtualization acceleration on IBM Z servers. As we approach the end of the month, IBM has now posted a second iteration of those patches for enabling AArch64 software to run on IBM s390 via the Kernel-based Virtual Machine (KVM)...

by Michael Larabel at April 28, 2026 04:54 PM

Ubuntu 26.04 LTS Leads Over Windows 11 In Creator Workstation Performance

The past few weeks I have been testing out the new HP Z6 G5 A workstation desktop PC. It's a beast in being powered by the AMD Ryzen Threadripper PRO 9975WX, eight channels of DDR5-5600 memory, and paired with a NVIDIA RTX PRO 6000 Max-Q workstation graphics card. The full review on the HP Z6 G5 A workstation will be published on Phoronix in the next week or so but given the timing and that it shipped with WIndows 11 Pro, here is a look at how Windows 11 Pro is competing against the newly-released Ubuntu 26.04 LTS in creator/workstation workloads.

by Michael Larabel at April 28, 2026 03:00 PM

AMD's Lemonade SDK 10.3 Now 10x Smaller By Getting Rid Of Electron

Lemonade as the open-source local AI server backed by AMD and supported across AMD CPUs / GPUs / NPUs on Windows and Linux is out with a big update...

by Michael Larabel at April 28, 2026 02:35 PM

Sovereign Tech Agency Launches New Initiative To Help Open Standards

Germany's Sovereign Tech Agency (Sovereign Tech Fund) has provided critical financial resources to open-source software projects and maintainers the past several years. This has proven to be an incredible effort and today they announced their newest initiative as the Sovereign Tech Standards...

by Michael Larabel at April 28, 2026 01:35 PM

GCC 16's Improved Error Messages, Experimental HTML Output

GCC 16.1 as the first stable version of the GCC 16 compiler is releasing as soon as later this week if all goes well. Among the many improvements in this year's open-source compiler update are continued enhancements to the error messages as well as having an experimental HTML output option for messages...

by Michael Larabel at April 28, 2026 01:13 PM

Fedora 44 Released For Living On The Leading-Edge Of Linux Innovations

Fedora 44 is officially released for providing the very latest Linux innovations with GNOME 50 being the default desktop of Fedora Workstation 44, an improved KDE experience with Plasma 6.6 complete with the Plasma Log-in Manager, and other up-to-date software packages...

by Michael Larabel at April 28, 2026 12:31 PM

Proton 11.0 Beta 2 Updates VKD3D-Proton

Following the release of Proton 11.0 Beta 1 from two weeks ago that updated against Wine 11.0, this heart to Valve's Steam Play is now out with a second beta release...

by Michael Larabel at April 28, 2026 11:00 AM

Ubuntu's "AI Kill Switch" Is Achieved By Removing Snaps, Initially Opt-In

Following yesterday's polarizing news of Canonical to begin shipping AI features in Ubuntu Linux over the course of the next year, Jon Seager as the VP of Engineering at Canonical has now provided some clarifications around their AI plans...

by Michael Larabel at April 28, 2026 10:25 AM

AMDXDNA Driver Preps Hardware Scheduler Time Quantum For Ryzen AI Multi-User Fairness

The AMDXDNA accelerator driver for Ryzen AI NPUs is preparing a new feature called hardware scheduler time quantum for ensuring fairness between multiple users/contexts wanting to leverage this neural processing unit for AI workloads...

by Michael Larabel at April 28, 2026 10:06 AM

7-Zip 26.01 Now Allows Making Use Of Huge Pages On Linux For Faster Compression

7-Zip 26.01 was released on Monday and making this release significant are huge pages support on Linux and some users may be interested in the new options around the path generation mode for the output directory when extracting archives...

by Michael Larabel at April 28, 2026 09:55 AM

WayVNC 0.10 Released For Advancing This Leading VNC Server For Wayland

WayVNC 0.10 is out today as the newest feature release for this VNC server that works with Wayland compositors leveraging the wlroots library...

by Michael Larabel at April 28, 2026 09:43 AM

The Daily WTF

CodeSOD: Lint Brush Off

A few years back, C# added the concept of "primary constructors". Instead of declaring the storage for class members and then initializing them in the constructor, you can annotate the class itself with the required fields, and C# automatically generates a constructor for you. It's all very TypeScript and very Microsoft, and certainly cuts down on some boilerplate.

Esben B's team isn't really using them in many places, but they are using a linter which is opinionated about them. So this in-line constructor causes the linter to complain:

    public DocumentNetworkController(ILookupClient service)

The linter wants you to switch this to a primary constructor. Esben didn't want to do that, and didn't want to change the global linter configuration, and so added a pragma to disable that particular warning:

#pragma warning disable IDE0290 // Use primary constructor
    public DocumentNetworkController(ILookupClient service)
#pragma warning restore IDE0290

The linter didn't like this. It threw a new warning: that this suppression wasn't needed. Which was news to Esben, as clearly the suppression was needed if you wanted to make the warnings go away. The obvious solution was to disable the warning that you didn't need to disable the warning:

#pragma warning disable IDE0079, IDE0290 // Use primary constructor
    public DocumentNetworkController(ILookupClient service)
#pragma warning restore IDE0290, IDE0079

Except this doesn't work. These pragmas take effect on the next line, which means you can't disable IDE0079 on the same line as IDE0290 and expect it to work. Which means the final version of the code looked like this:

#pragma warning disable IDE0079 // Disable warning about not needed supression
#pragma warning disable IDE0290 // Use primary constructor
    public DocumentNetworkController(ILookupClient service)
#pragma warning restore IDE0290, IDE0079

Esben writes:

So the nice recommendation to use a primary ctor ended up with 3 lines of annoying boilerplate code. Good times \o/

While yes, this is frustrating, I will say there's an element of "when the table saw keeps taking fingers off, that may be more of a you problem." I don't know the details, so I can't say, "just change the linter config or adopt its recommendation" and claim that the problem goes away, but when the tool hurts you, it's a definite sign of one of two things: it's either the wrong tool, or you're using it wrong.

[Advertisement] ProGet’s got you covered with security and access controls on your NuGet feeds. Learn more.

by Remy Porter at April 28, 2026 06:30 AM

Phoronix

Red Hat's Stratis Storage 3.9 Released With Online Encryption/Decryption/Reencryption

It's crazy to realize it has been ten years already since Red Hat abandoned their Btrfs plans for Red Hat Enterprise Linux and dropped it, which was a technology preview feature since RHEL6. In its place Red Hat engineers began developing Stratis for next-gen Linux storage with ZFS/Btrfs-like features but instead building atop XFS, LUKS, Device Mapper, and Clevis. After a while since the last major release, Stratis Storage 3.9 released today...

by Michael Larabel at April 28, 2026 12:21 AM

April 27, 2026

ISO C++

CppCon 2025 The Wonderful World of Designing a USB Stack Using Modern C++ -- Madeline Schneider

usbstack-schneider.pngRegistration is now open for CppCon 2026! The conference starts on September 12 and will be held in person in Aurora, CO. To whet your appetite for this year’s conference, we’re posting videos of some of the top-rated talks from last year's conference. Here’s another CppCon talk video we hope you will enjoy – and why not register today for CppCon 2026!

The Wonderful World of Designing a USB Stack Using Modern C++

by Madeline Schneider

Summary of the talk:

Have you ever wondered how to design a library to abstract and manage complex communication protocols like USB? Have you ever wondered which parts of a protocol need to be hardware abstractions and which parts are hardware agnostic? Well you’re in luck, my mentor and I have designed a USB stack from the ground up in modern C++! We found that the public offerings did not meet our needs. Our requirements are:

  • Resource efficient
  • Portable
  • Modular
  • Convenient to use
  • Distributable via single pre-built binary using conan
  • Without allocations after initialization

In this talk you’ll learn the basics of how USB works at the lowest level from a software perspective. You’ll learn why malleability and freedom are so important for USB device development and how C++ makes such a library design easy to implement. Embark with me on a deep-dive into shaping a library where complexity runs wild. This talk will have lessons on library and API design in situations where the degrees of freedom are vast and all parts must magically fit together. By the end, you’ll carry away practical patterns for taming vast design spaces—skills that apply to any ambitious library, far beyond USB.

by Blog Staff at April 27, 2026 09:25 PM

Phoronix

RADV Vulkan Driver Adds Memory Protection Using AMD Trusted Memory Zone

The newest Mesa Radeon Vulkan driver "RADV" feature enabled by AMD engineers is protected memory support using the Trusted Memory Zone (TMZ) support on newer GPUs...

by Michael Larabel at April 27, 2026 07:33 PM

Valve Confirms Steam Controller Release Date, $99 Price

Valve just announced that their new Steam Controller will be going on sale on 4 May. Pricing in the US is at $99 USD...

by Michael Larabel at April 27, 2026 05:33 PM

Intel Core Ultra 5 250K Plus Provides Exceptional Value For Linux Users

After looking at the new Intel Core Ultra 7 270K Plus processor earlier this month with its nice performance evolution for Arrow Lake on Linux, today we are looking at the other new Intel desktop CPU offering: the Core Ultra 5 250K Plus that retails for just $219 USD.

by Michael Larabel at April 27, 2026 03:06 PM

With Linux 7.1 The Mainline Kernel Now Supports Real-Time "RT" On ARM

The Linux 7.1 mainline kernel will allow building a real-time "PREEMPT_RT" kernel for the ARM architecture with no longer needing any out-of-tree patches...

by Michael Larabel at April 27, 2026 01:27 PM

XWayland 24.1.11 Brings Crash Fixes

Red Hat's Olivier Fourdan announced today the availability of XWayland 24.1.11 that brings a few bug/regression fixes...

by Michael Larabel at April 27, 2026 12:59 PM

Ubuntu Linux Will Begin Landing AI Features Throughout The Next Year

Now that Ubuntu 26.04 LTS has shipped, Canonical is opening up on their next major focus for Ubuntu development: lots of AI features...

by Michael Larabel at April 27, 2026 10:30 AM

Linux 7.1 Adds SoC Slider Support To x86_energy_perf_policy Utility

One of the last feature pulls merged by Linus Torvalds prior to tagging Linux 7.1-rc1 this weekend were some power utility updates for those tools living within the kernel source tree...

by Michael Larabel at April 27, 2026 10:27 AM

AMD VPE 2.0 Support Merged For Mesa 26.2

Merged overnight to the latest Mesa graphics driver development code is enabling the VPE 2.0 engine to be found with future AMD Radeon GPUs...

by Michael Larabel at April 27, 2026 10:10 AM

The Daily WTF

CodeSOD: The JSON Template

We rip on PHP a lot, but I am willing to admit that the language and ecosystem have evolved over the years. What started as an ugly templating language is now just an ugly regular language.

But what happens when you still really want to do things with templates? Allison has inherited a Python-based, WSGI application which rejects any sort of formal routing or basic web development best practices. Their way of routing requests is simply long chains of "if condition then invokeA elif otherCondition then invokeB". Sometimes, those conditions will directly set the MIME type on the HTTP response.

They do use a templating library called Mako for generating their responses. They use it for their HTML responses, obviously. They also use it for their JSON responses, generating code like this:

{
    "success": true,
    "items": {
        %for item in items_available.keys():
        "${item}": ${items_available[item]}${',' if not loop.last else ''} 
        %endfor
        }   
}

The %for and matching %endfor mark the Python code off, which generates JSON via string-munging, complete with the check to make sure we're not on the last iteration of the loop.

Like so much bad code, this offers a degree of fractal wrongness. Instead of iterating over the keys and fetching the items inside the loop, you could iterate for key,value in items_available.items()- and according to the Mako docs, that for is just a regular Python for loop. That we're just outputting the contents of the dictionary is itself potentially a problem- sure, if we know the types of the dictionary, we'll know that whatever it is can be output in the body of a JSON document, but do we really think this code is using type annotations? I don't. And for a RESTful web service, I'm always going to feel weird about using a success field when ideally the HTTP status code could convey most of that information (and yes, I know there are reasons to still put status in the body, I just hate it).

Of course, the real issue is just: Python's built in JSON serialization is actually pretty advanced. And performant! You don't need any of this, you could just do something like:

return json.dumps({"success": true, "items": items_available})

No templates. No formatting. No worries about how the data gets represented. Well, still worries, because JSON serialier will throw exceptions if it doesn't know what to do with a type. But then at least you get that exception on the server side and aren't sending the client a malformed document.

In any case, this is a good demonstration that you can write bad PHP in any language.

[Advertisement] Keep all your packages and Docker containers in one place, scan for vulnerabilities, and control who can access different feeds. ProGet installs in minutes and has a powerful free version with a lot of great features that you can upgrade when ready.Learn more.

by Remy Porter at April 27, 2026 06:30 AM

XKCD

Phoronix

D7VK v1.8 Continues Improving Legacy Direct3D Atop The Vulkan API

D7VK as what began as an implementation of the Direct3D 7 API on top of the Vulkan API, based off DXVK as part of Steam Play (Proton) for D3D8 through D3D11 support, continues enhancing its legacy D3D API support that over time has stretched now from D3D7 to D3D3...

by Michael Larabel at April 27, 2026 04:00 AM

April 26, 2026

Phoronix

Linux 7.1-rc1 Released With New NTFS Driver, FRED By Default & Much More

The Linux 7.1-rc1 kernel was just released for concluding the Linux 7.1 merge window. A lot of new features are in tow for this next kernel version that will then be out as stable in mid-June...

by Michael Larabel at April 26, 2026 09:37 PM

CachyOS Introduces New Default GUI Package Manager, Kyber For NVMe I/O Scheduler

The April 2026 ISO refresh of the Arch Linux based CachyOS is now available with a variety of refinements, new hardware support, and other polishing...

by Michael Larabel at April 26, 2026 04:50 PM