Planet Me

December 08, 2025

Phoronix

Linux 6.19's Hung Task & System Lockup Detectors Can Provide Greater Insight

Beginning with the Linux 6.19 kernel, the hung task detector and system lock-up detector are now optionally able to provide greater insight into the issues by dumping additional system information. The new lockup_sys_info and hung_task_sys_info sysctl knobs were merged over as part of the pull requests managed by Andrew Morton...

by Michael Larabel at December 08, 2025 09:00 PM

Live Update Orchestrator "LUO" Merged For Linux 6.19

Google engineers for the past number of months have been working on the Live Update Orchestrator as a new way of applying live Linux kernel updates. The Live Update Orchestrator "LUO" builds atop the Kexec Handover "KHO" functionality already within the kernel. Google has since been deplyoing LUO in their production environments for faster security updates to kernels, especially when involving VMs. LUO is now upstream in Linux 6.19...

by Michael Larabel at December 08, 2025 08:17 PM

Meson 1.10 Build System Adds OS/2 Support, Experimental C++ "import std"

Meson 1.10 is out today as the newest feature release for this popular cross-platform build system...

by Michael Larabel at December 08, 2025 06:22 PM

Firefox 146 Now Available With Native Fractional Scaling On Wayland

The Mozilla Firefox 146.0 release binaries are now available with a very exciting improvement for Linux users relying on Wayland...

by Michael Larabel at December 08, 2025 04:24 PM

Intel Arc B580 vs. AMD Radeon RX 9000 vs. NVIDIA RTX 50 Series For Llama.cpp Vulkan Performance

Recently there were Phoronix benchmarks looking at the Intel Battlemage GPU compute performance since last year when the Arc B580 graphics card launched as well as the OpenGL and Vulkan graphics performance for the B580 on Linux since launch. There was much progress on the open-source Intel Linux graphics drivers at large this year but especially for Battlemage. Following that a Phoronix Premium reader asked about seeing some fresh Llama.cpp AI benchmarks with its Vulkan back-end now for the Arc B580 compared to competing AMD and NVIDIA graphics cards. Here are those benchmarks as requested.

by Michael Larabel at December 08, 2025 03:50 PM

Early Benchmarks Of Linux 6.19 Git Raising Some Concerns

While just half-way through the Linux 6.19 merge window, over the weekend I began running some benchmarks of the current Linux 6.19 Git state compared to Linux 6.18 LTS stable. There are some minor performance improvements to note in a few of the tests on the first system I tested but also some regressions at this very early pre-RC1 state of the Linux 6.19 kernel...

by Michael Larabel at December 08, 2025 02:50 PM

AMD Working On Push-Based Load Balancing For Linux To Further Enhance Performance

One of the new Linux engineering initiatives out of AMD is working to further enhance Linux performance on today's large core count systems by introducing push-based load balancing...

by Michael Larabel at December 08, 2025 02:27 PM

Several Logitech Devices Seeing New/Improved Support With Linux 6.19

All of the Human Interface Devices (HID) subsystem updates were merged a few days ago for the ongoing Linux 6.19 kernel merge window. Standing out this cycle on the HID side are seeing new/improved support for several Logitech devices...

by Michael Larabel at December 08, 2025 11:43 AM

Linux I3C Gains "HDR" Support For Faster Data Transfers

I2C in Linux 6.19 brought support for Rust-written I2C drivers. The newer I3C "Improved Inter-Integrated Circuit" interface changes have now been merged and the big feature there is HDR support. Not to be confused with the more common High Dynamic Range acronym usage for HDR, HDR in the I3C context is for the "High Data Rate" mode for facilitating faster data transfers...

by Michael Larabel at December 08, 2025 11:27 AM

Arm MPAM Driver Upstreamed To The Linux 6.19 Kernel

The ARM64 code changes were merged last week into the in-development Linux 6.19 kernel. The most notable of the ARM64 architecture changes this cycle is landing the Arm MPAM driver for Arm's Memory System Resource Partitioning and Monitoring...

by Michael Larabel at December 08, 2025 11:12 AM

The Daily WTF

CodeSOD: The Magic Array

Betsy writes:

I found this snippet recently in a 20-year-old RPG program.

Ah, yes, twenty years ago, RPG, that means this was written in the 1970s. What? No. That can't be right? That's how long ago?

Joking about my mortality aside, in the early oughts, most of the work around RPG was in keeping old mainframe systems from falling over. That entirely new code was being written, that new projects were being started twenty years ago is not a surprise, but it's unusual enough to be remarkable. That said, the last release of RPG was in 2020, so it clearly keeps on keeping on.

In any case, this developer, we'll call them "Stephen", needed to create an array containing the numbers 12 through 16.

Let's take a peek at the code.

     D RowFld          S              3  0 DIM(5) 
     D X               S              3  0
     D Y               S              3  0

     C                   EVAL      X = 12
     C                   FOR       Y = 1 TO %Elem(RowFld)
     C                   EVAL      RowFld(y) = X
     C                   EVAL      X = X + 1
     C                   ENDFOR   

The first three lines create some variables: RowFld, which is an array containing 5 elements, and will hold our offsets. X and Y are going to hold our numeric values.

We set X equal to 12, then we start a for loop from 1 to the length of our RowFld. We set the element at that index equal to X, then increment X.

The code is awkward, but is not exactly the WTF here. This particular program displays a file and a subfile, and these values are used to position the cursor inside that subfile. The array is never iterated over, the array is never modified, the array would 100% be better managed as a set of constants, if you didn't want to have magic numbers littering your code. More than that, the location of the subfile on the screen has never changed. And let's be fair, this didn't get rid of magic numbers, it just made them one through five, instead of 12 through 16, as the indexes in the array are just as arbitrary.

In other words, there's no point to this. Even if the specific version of RPG didn't have constants variables that you handle like constants would be fine (my checks on the documentation seem to imply that CONST first appeared in version RPG IV 7.2, which makes it look like circa 2016).

But there's one more bit of weirdness here. Stephen had several years of experience with RPG, and all of that experience was from the "free-format" era of RPG. You see, way back in 2001, RPG finally freed itself from its dependency on punchcards, and started allowing you to write code as just strings of text, without requiring certain things to exist in certain columns. This was a generally positive enhancement, and Betsy's team immediately adopted it, as did everyone running the latest versions of RPG. All new development was done using the "free-format" style, so they could write code like normal people. They even had a conversion tool which would do some simple string manipulation to convert legacy RPG programs into the modern style, and had basically abandoned the legacy style without looking back.

Except for Stephen, who insisted on the column oriented format. Who protested when anyone tried to modify their code to modernize it at all. "Oh, we used free-format at my last job," Stephen said when pressed, "but it's confusing and columns are just cleaner and more readable."

Eventually, someone else wrote a program that absorbed all the functionality in Stephen's program. Stephen kept plugging away at it for a few years afterwards, because a handful of users also refused to migrate to the new tool. But eventually they left the company for one reason or another, and Stephen found himself without users for his work, and left with them.

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

by Remy Porter at December 08, 2025 06:30 AM

Phoronix

Iced 0.14 Released For Popular Rust Cross-Platform GUI Library

Released today is a new version of Iced, the popular cross-platform GUI library for the Rust programming language. Iced is notably used by the COSMIC desktop environment and a growing variety of different Rust apps...

by Michael Larabel at December 08, 2025 01:14 AM

December 07, 2025

Phoronix

Linux GPIB Drivers Declared Stable - 53 Years After HP Introduced The Bus

Merged to the mainline Linux kernel last year was GPIB drivers in the kernel's "staging" area. GPIB is the General Purpose Interface Bus launched by HP back in 1972 for lab equipment and more. After a year of cleaning up the code in the kernel's staging area, for Linux 6.19 the GPIB drivers have been promoted out of the staging area and into the Linux kernel proper. The Linux kernel now has stable driver support for this 8 Mbyte/s parallel bus that was introduced 53 years ago...

by Michael Larabel at December 07, 2025 07:47 PM

Linux 6.19 Delivers Working USB3 Support For Apple Silicon Devices

Merged last night for the Linux 6.19 kernel merge window were all of the USB and Thunderbolt driver changes. Standing out this cycle is Apple Silicon devices like the M1 Macs now having working USB3 support on the mainline Linux kernel...

by Michael Larabel at December 07, 2025 12:00 PM

NVIDIA Plumbs DMA-BUF Support For VFIO PCI Devices In Linux 6.19

In addition to NVIDIA improving peer-to-peer (P2P) DMA for block devices in Linux 6.19, NVIDIA also led an effort providing DMA-BUF support for VFIO PCI devices for opening up some interesting new cases moving forward. As part of the VFIO pull request this new functionality has landed for Linux 6.19...

by Michael Larabel at December 07, 2025 11:31 AM

Using AI To Modernize The Ubuntu Error Tracker Produced Some Code That Was "Plain Wrong"

A week ago I wrote about AI being used to help modernize Ubuntu's Error Tracker. Microsoft GitHub Copilot was tasked to help adapt its Cassandra database usage to modern standards. It's worked in some areas but even for a rather straight forward task, some of the generated functions ended up being "plain wrong" according to the developer involved...

by Michael Larabel at December 07, 2025 11:18 AM

Rust Drivers In Linux 6.19 Will Now Support... Module Parameters

On top of the Rust driver core changes and other Rust code for Linux 6.19, the modules infrastructure for this new kernel version is also bringing some new code. Surprisingly, it's taken until now for Rust kernel modules/drivers to support module parameters as is common practice for passing different options when booting the kernel or manually loading kernel drivers with extra non-default options...

by Michael Larabel at December 07, 2025 11:02 AM

Linux 6.19 Adds New Console Font To Better Handle Modern Laptops With HiDPI Displays

Sent in for the Linux 6.19 merge window when it comes to the frame-buffer device "FBDEV" subsystem are just a set of "fixes" for FBDEV drivers and code clean-ups. But it does also include a new console font option for better supporting modern laptops with high density displays...

by Michael Larabel at December 07, 2025 01:25 AM

December 06, 2025

Phoronix

Microsoft's RAMDAX Driver Merged For Linux 6.19 To Carve Out RAM As NVDIMM Devices

The Non-Volatile Memory Device (NVDIMM) subsystem updates were merged today for the in-development Linux 6.19 kernel. Most notable this cycle for the NVDIMM code is a new open-source driver addition courtesy of Microsoft...

by Michael Larabel at December 06, 2025 09:00 PM

AMD Starts Enabling Zen 6 "znver6" Compiler Support In GCC

Making for a bit more exciting weekend is that minutes ago AMD has posted their first patch for enabling Zen 6 processor support within the GNU Compiler Collection (GCC) for -march=znver6 targeting...

by Michael Larabel at December 06, 2025 07:11 PM

Mesa 26.0 Bringing Support For 64K x 64K Textures With AMD RDNA4 GPUs

The latest improvement to the RadeonSI Gallium3D driver by prominent AMD Mesa developer Marek Olšák is enabling support for up to 64K x 64K textures with RDNA4 GPUs...

by Michael Larabel at December 06, 2025 05:15 PM

Tenstorrent Blackhole Support & Other New RISC-V + ARM64 Hardware In Linux 6.19

The set of six branches containing SoC and platform updates/additions for the Linux 6.19 kernel have been merged for enabling a lot of new RISC-V and ARM 64-bit hardware as well as enhancing some existing SoCs/platforms...

by Michael Larabel at December 06, 2025 01:13 PM

FEX 2512 Released With More Improvements For Gaming On ARM64 Linux

FEX 2512 is out today as the newest monthly update for this software that enables running x86/x86_64 Linux binaries on ARM64 Linux, including the likes of Wine and Valve's Steam Play (Proton) for being able to run Windows games on 64-bit ARM Linux devices...

by Michael Larabel at December 06, 2025 11:45 AM

Flowblade Video Editor May Go Wayland-Only As Part Of GTK4 Port

Flowblade 2.24 released today as the newest version of this open-source, non-linear video editing application. Flowblade 2.24 brings a number of refinements while also interesting is their commentary concerning the future with Wayland and GTK4 porting...

by Michael Larabel at December 06, 2025 11:25 AM

Solaris 11.4 SRU 87 Released With New Security Features, GCC 15

For anyone still relying on Solaris in production or just nostalgic Solaris users from the grand Sun Microsystems days, Solaris 11.4 SRU 87 was released by Oracle this week as one of the heavier stable release updates in recent memory...

by Michael Larabel at December 06, 2025 11:12 AM

Linux 6.19 Brings Many Driver Core Changes For Rust, Housekeeping CPUs Exposed

Beyond the main set of Rust changes to land in Linux 6.19 earlier this week, as we near the end of the first week of two for the Linux 6.19 merge window... More Rust changes. This time around the driver core updates for the kernel bring a number of Rust changes...

by Michael Larabel at December 06, 2025 10:56 AM

KDE Plasma 6.6 Supporting Per-DRM-Plane Color Pipelines, More Hardware Quirks/Fixes

It was a busy start of December for KDE Plasma developers in working out several hardware fixes for the current Plasma 6.5 series while also working on new Plasma 6.6 features like the per-DRM-plane color pipelines...

by Michael Larabel at December 06, 2025 10:39 AM

An Intel Fellow & Prominent Linux Performance Engineer Resigns From Intel

There have been many Intel Linux/open-source software engineers to leave the company over the past year among other setbacks for their Linux/open-source initiatives. Announced this Friday night is one of their highest profile departures of the year as it pertains to their Linux efforts...

by Michael Larabel at December 06, 2025 01:25 AM

December 05, 2025

ISO C++

C++ Enum Class and Error Codes -- Mathieu Ropert

Me.jpgC++11 gave us enum class and while it’s great to have scoped enums I don’t find it great for error handling. Let’s talk about why.

C++ Enum Class and Error Codes

by Mathieu Ropert

From the article:

Most of my readers, I hope, have been able to use C++11 for a while now (if not hello, I’m sorry the world has changed to become this weird during your 14 years sleep). With it came a small change that allowed for better scoping of names without resorting to weird quirks: enum class. The idea is simple: owing to C, enum values in C++ belong to the class or namespace they are declared in but if we add the class keyword to the declaration they know become their own scope instead of leaking to their parent.

This was a simple quality of life change in the compiler to address a weakness in the language that folks usually worked around by either adding long prefix to the enum values (C style) or wrapping them within structs or classes (C++98/03 style). And with it came the incentive to migrate C era error code enums to scoped enums. But there’s a catch.

 

by Blog Staff at December 05, 2025 10:34 PM

Phoronix

Wine 11.0-rc1 Released With TWAINDSM 64-bit Module For Scanners

As anticipated the first release candidate of Wine 11.0 is now available in working toward the annual stable release in January...

by Michael Larabel at December 05, 2025 09:18 PM

Linux Still Dealing With Quirky Firewire Devices As We Enter 2026

For Linux 6.19 as what will be the first stable kernel release of 2026, the IEEE-1394 Firewire stack continues dealing with device quirks and improving support for different Firewire-connected devices. In 2026 is also when the Linux Firewire maintainer plans to begin recommending users migrate away from the IEEE-1394 bus followed by closing the Linux Firewire efforts in 2029...

by Michael Larabel at December 05, 2025 09:09 PM

NVIDIA Improves Block Layer Peer-To-Peer DMA In Linux 6.19

The IO_uring and block subsystem changes have been merged for the Linux 6.19 merge window with a few improvements worth highlighting this cycle...

by Michael Larabel at December 05, 2025 06:26 PM

Jolla Trying Again To Develop A New Sailfish OS Linux Smartphone

Finnish company Jolla started out 14 years ago where Nokia left off with MeeGo and developed Sailfish OS as a new Linux smartphone platform. Jolla released their first smartphone in 2013 after crowdfunding but ultimately the Sailfish OS focus the past number of years now has been offering their software stack for use on other smartphone devices. But now it seems they are trying again with a new crowd-funded smartphone...

by Michael Larabel at December 05, 2025 04:51 PM

AMD EPYC 7773X "Milan-X" Performance & Power Nearly Four Years Later

Nearly four years have passed since AMD launched their EPYC Milan-X processors with 3D V-Cache. When recently rearranging some servers in the lab and realizing the four year anniversary was coming up in March, curiosity got the best of me in wondering where the Linux performance and energy efficiency on Milan-X is now with the latest Linux software stack compared to the numbers when Milan-X launched back in March 2022.

by Michael Larabel at December 05, 2025 03:20 PM

Intel Updates Cache Aware Scheduling For Linux With Better NUMA Balancing

Intel engineer Tim Chen has sent out a second version of the proposed Cache Aware Scheduling patches for the Linux kernel to enhance the CPU performance of modern processors sporting multiple cache domains...

by Michael Larabel at December 05, 2025 02:38 PM

Venus Vulkan Driver Lands Mesh Shader Support In Mesa 26.0

Venus is the VirtIO-GPU driver that allows for Vulkan support within guest virtual machines permitting sufficient host driver support and other requirements in place with hypervisors like CrosVM and QEMU. The Venus driver now supports Vulkan's mesh shader capabilities and in turn advances the DXVK-Proton support for Linux gaming within VMs...

by Michael Larabel at December 05, 2025 02:03 PM

Intel Graphics Score A Big Win With Linux 6.19: Color Management & Xe VFIO Driver Merged

On top of enabling Xe3P graphics for Nova Lake and Crescent Island plus other changes like CASF adaptive sharpening for Lunar Lake and newer, another set of Intel kernel graphics driver updates were merged overnight as a big win for the open-source Intel graphics stack on Linux...

by Michael Larabel at December 05, 2025 01:15 PM

Linux NTFS3 Driver Will Now Support Timestamps Prior To 1970

While NTFSPLUS continues to be developed as a new and modern NTFS open-source driver for Linux systems, at the moment NTFS3 from Paragon Software remains the most capable NTFS file-system driver within the mainline kernel. For the Linux 6.19 merge window a variety of fixes have landed for this driver...

by Michael Larabel at December 05, 2025 11:13 AM

Intel Nova Lake Audio Support Merged For Linux 6.19

The sound subsystem updates were merged on Thursday for enabling a variety of new audio hardware with the Linux 6.19. Among the hardware standing out is getting Intel Nova Lake audio support in order...

by Michael Larabel at December 05, 2025 10:57 AM

The Daily WTF

Error'd: A Horse With No Name

Scared Stanley stammered "I'm afraid of how to explain to the tax authority that I received $NaN."

1

 

Our anonymous friend Anon E. Mous wrote "I went to look up some employee benefits stuff up and ... This isn't a good sign."

0

 

Regular Michael R. is not actually operating under an alias, but this (allegedly scamming?) site doesn't know.

2

 

Graham F. gloated "I'm glad my child 's school have followed our naming convention for their form groups as well!"

3

 

Adam R. is taking his anonymous children on a roadtrip to look for America. "I'm planning a trip to St. Louis. While trying to buy tickets for the Gateway Arch, I noticed that their ticketing website apparently doesn't know how to define adults or children (or any of the other categories of tickets, for that matter)."

4

 

[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 Lyle Seaman at December 05, 2025 06:30 AM

XKCD

Phoronix

Linux 6.19 GPU Driver Features: Color Pipeline API, Intel Xe3P, AMDGPU For GCN 1.0/1.1

The big set of kernel graphics driver features were merged today for the Linux 6.19 kernel. As usual there is a lot of new feature work on the AMD Radeon, Intel, and NVIDIA graphics drivers plus the smaller Arm/embedded graphics like now having initial Qualcomm Gen8 GPU support. Plus the growing number of accelerator "accel" drivers for NPUs / AI accelerators...

by Michael Larabel at December 05, 2025 01:23 AM

December 04, 2025

Phoronix

Graviton5 Announced With Up To 192 Cores Per Chip, 5x Larger Cache

Amazon AWS today announced Graviton5 as their newest-generation ARM64 server processor for their EC2 cloud. Graviton5 is being promoted as offering 25% higher performance over existing Graviton4 processors...

by Michael Larabel at December 04, 2025 11:44 PM

NVIDIA Releases CUDA 13.1 With New "CUDA Tile" Programming Model

NVIDIA just released CUDA 13.1 for what they claim is "the largest and most comprehensive update to the CUDA platform since it was invented two decades ago." The most notable addition with the CUDA 13.1 release is CUDA Tile as a new tile-based programming model...

by Michael Larabel at December 04, 2025 10:44 PM

Linux 6.19 Brings Temperature Monitoring For The Steam Deck APU, Apple Silicon SMC

The many hardware monitoring (HWMON) subsystem updates were merged today for Linux 6.19 that is predominantly around delivering new hardware support...

by Michael Larabel at December 04, 2025 09:33 PM

Bcachefs Ready With Its Reconcile Feature As Biggest Change In Two Years

The out-of-tree Bcachefs file-system is ready with its reconcile feature, which previously was known as "rebalance_v2", and what lead developer Kent Overstreet calls the biggest feature to this copy-on-write file-system in the last two years...

by Michael Larabel at December 04, 2025 06:48 PM

FreeBSD 15.0 Benchmarks Versus FreeBSD 14.3 On AMD EPYC

This week brought the official release of FreeBSD 15.0 as the latest major update to this BSD operating system. In being eager to test out this new FreeBSD release, for this first round of FreeBSD 15.0 benchmarking is seeing how it compares to the former FreeBSD 14.3 release on a Supermicro + AMD EPYC Turin server.

by Michael Larabel at December 04, 2025 05:20 PM

Rust-Written Redox OS Sees Initial Wayland Port

Developers behind Redox OS, the original open-source operating system written from scratch in the Rust programming language, have ported Wayland to it with initially getting the Smallvil Wayland compositor up and running along with the Smithay framework and the Wayland version of the GTK toolkit...

by Michael Larabel at December 04, 2025 04:28 PM

Former Intel Open-Source Project SVT-VP9 Sees First Update In 5 Years

The open-source SVT-VP9 project started by Intel as a high performance VP9 video encoder has seen its first new release in five years...

by Michael Larabel at December 04, 2025 04:04 PM

Printk Improvement For Linux 6.19 Can Significantly Speed-Up Boot Times For Some Systems

The Linux kernel's printk code for logging kernel messages has some useful improvements with the Linux 6.19 kernel...

by Michael Larabel at December 04, 2025 03:50 PM

Linux 6.19 Fixes A Thundering Herd Problem For Big NUMA Servers

The "timers/core" pull requests for updating Linux kernel timer-related code doesn't tend to be too interesting each kernel cycle, but this time around for Linux 6.19 it is for addressing a problem HPE discovered on big NUMA servers...

by Michael Larabel at December 04, 2025 01:11 PM

Zlib-rs 0.5.3 Expands AVX-512 Usage For Faster Performance

The Trifecta Tech Foundation today released zlib-rs 0.5.3 as the newest version of this Zlib implementation written in the Rust programming language for better memory safety. Zlib-rs is advertised as "a safer Zlib" for use by both C and Rust projects while delivering competitive performance to the C-based zlib-ng...

by Michael Larabel at December 04, 2025 11:20 AM

Linux 6.19 Will Allow Enforcing IPE Security Checks On Indirectly Executed Scripts

Linux's Integrity Policy Enforcement "IPE" module is gaining a useful addition with the in-development Linux 6.19 kernel...

by Michael Larabel at December 04, 2025 11:07 AM

Mesa 25.3.1 Released With Initial Set Of Fixes, Mesa 25.2 Comes To An End

Mesa 25.3.1 was released overnight as the first point release of the Mesa 25.3 series. The Mesa point releases are typically bi-weekly but this one dragged out to nearly three weeks. In turn this also marks an end to the Mesa 25.2 series...

by Michael Larabel at December 04, 2025 10:54 AM

EXT4 Optimizes Online Defragmentation, Improves Performance & Larger Block Sizes

The merged EXT4 changes for Linux 6.19 bring some of the most prominent feature changes in recent times for this mature and widely-used Linux file-system...

by Michael Larabel at December 04, 2025 10:42 AM

The Daily WTF

CodeSOD: Pawn Pawn in in Game Game of of Life Life

It feels like ages ago, when document databases like Mongo were all the rage. That isn't to say that they haven't stuck around and don't deliver value, but gone is the faddish "RDBMSes are dead, bro." The "advantage" they offer is that they turn data management problems into serialization problems.

And that's where today's anonymous submission takes us. Our submitter has a long list of bugs around managing lists of usernames. These bugs largely exist because the contract developer who wrote the code didn't write anything, and instead "vibe coded too close to the sun", according to our submitter.

Here's the offending C# code:

   [JsonPropertyName("invitedTraders")]
   [BsonElement("invitedTraders")]
   [BsonIgnoreIfNull]
   public InvitedTradersV2? InvitedTraders { get; set; }

   [JsonPropertyName("invitedTradersV2")]
   [BsonElement("invitedTradersV2")]
   [BsonIgnoreIfNull]
   public List<string>? InvitedTradersV2 { get; set; }

Let's start with the type InvitedTradersV2. This type contains a list of strings which represent usernames. The field InvitedTradersV2 is a list of strings which represent usernames. Half of our submitter's bugs exist simply because these two lists get out of sync- they should contain the same data, but without someone enforcing that correctly, problems accrue.

This is made more frustrating by the MongoDB attribute, BsonIgnoreIfNull, which simply means that the serialized object won't contain the key if the value is null. But that means the consuming application doesn't know which key it should check.

For the final bonus fun, note the use of JsonPropertyName. This comes from the built-in class library, which tells .NET how to serialize the object to JSON. The problem here is that this application doesn't use the built-in serializer, and instead uses Newtonsoft.JSON, a popular third-party library for solving the problem. While Newtonsoft does recognize some built-in attributes for serialization, JsonPropertyName is not among them. This means that property does nothing in this example, aside from add some confusion to the code base.

I suspect the developer responsible, if they even read this code, decided that the duplicated data was okay, because isn't that just a normal consequence of denormalization? And document databases are all about denormalization. It makes your queries faster, bro. Just one more shard, bro.

[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 December 04, 2025 06:30 AM

Phoronix

ReactOS Lands Improvements For Its USB Stack - Fixing Various Blue Screens of Death

ReactOS as the open-source operating system aiming to be an "open-source Windows" by striving for binary compatibility with Windows programs and device drivers is now slightly better with its USB support...

by Michael Larabel at December 04, 2025 01:31 AM

Linux 6.19 Goes Ahead And Enables Microsoft C Extensions Support

Last month I reported on Linux 6.19 looking to enable Microsoft C Extensions support throughout the Linux kernel with setting the -fms-extensions compiler option to allow Microsoft C Extensions when building the kernel. Linus Torvalds today merged that support without objections...

by Michael Larabel at December 04, 2025 01:14 AM

December 03, 2025

ISO C++

Trip report: Budapest C++ - Breaking & Building C++ -- Sandor Dargo

c++meetup_1022.jpegThe Budapest C++ Meetup was a great reminder of how strong and curious our local community is. Each talk approached the language from a different angle — Jonathan Müller from the perspective of performance, mine from design and type safety, and Marcell Juhász from security — yet all shared the same core message: understand what C++ gives you and use it wisely.

Trip report: Budapest C++ - Breaking & Building C++

by Sandor Dargo

From the article:

More than a hundred people registered, and the room quickly filled up with local developers eager to hear three technical talks. The atmosphere was lively and welcoming — it showed the strength of the C++ community in Budapest. In 2027, even WG21 might come to Hungary!

The evening began with Jonathan Müller’s talk, Cache-Friendly C++, followed by my own session on Strongly Typed Containers. Finally, Marcell Juhász closed the event with an insightful and hands-on presentation on Hacking and Securing C++.

by Blog Staff at December 03, 2025 10:31 PM