Feed

C++

C++ news covering modern standards, performance optimization, game engines, and systems programming. Our digest curates RAII patterns, template metaprogramming, and memory safety discussions from developer communities.

Articles from the last 30 days

Clean-room implementation of Half-Life 2 on the Quake 1 engine
01Tuesday, February 10, 2026

Clean-room implementation of Half-Life 2 on the Quake 1 engine

Rad-Therapy II is an ambitious open-source project designed to port Valve Corporation's Half-Life 2 (2004) into the Quake engine ecosystem, specifically utilizing FTEQW and the Nuclide SDK. Although the game is not currently playable from start to finish, it supports various multiplayer modes like deathmatch. The project requires original assets from Half-Life 2 and Half-Life 2: Deathmatch to function lawfully. Technically, the repository manages game logic, GLSL shaders, and plugins necessary for the engine to interpret Source engine data files. Licensed under the ISC License, the project represents a significant intersection between the legacy QuakeWorld community and modern game asset reverse-engineering.

Sources:Hacker News398 pts
Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU
02Wednesday, February 18, 2026

Show HN: Llama 3.1 70B on a single RTX 3090 via NVMe-to-GPU bypassing the CPU

A high-efficiency C++/CUDA inference engine for Llama models, optimized for running 70B parameters on consumer GPUs like the RTX 3090. It features 3-tier adaptive caching, NVMe direct I/O for bypassing the CPU, and layer skipping via cosine similarity. The engine achieves significant speedups through double-buffered streaming and self-speculative decoding without external dependencies.

Sources:Hacker News329 pts
om
03Wednesday, February 25, 2026

om

Om is a concatenative, prefix-notation programming language developed as a header-only C++ library. Utilizing a unique panmorphic type system where all data are operands, it focuses on efficiency, recursion, and native extensibility. The project is open-source under the Eclipse Public License, supporting Unicode and modern C++ development standards.

Sources:Hacker News279 pts
Ladybird: Closing this as we are no longer pursuing Swift adoption
04Wednesday, February 18, 2026

Ladybird: Closing this as we are no longer pursuing Swift adoption

This document outlines critical issues preventing Swift 6.0 from exiting its experimental state within the Ladybird project. Key challenges include LLVM backport requirements, C++ interoperability bugs regarding Optional types and libstdc++ compatibility, and CMake integration hurdles. The list also tracks frontend crashes and memory management questions regarding Swift's integration with custom garbage-collected environments.

Sources:Hacker News256 pts
I write games in C (yes, C)
05Saturday, February 7, 2026

I write games in C (yes, C)

In this personal reflection on software development, the author explains their unconventional choice of using vanilla C for independent game development. Despite the dominance of C++, C#, and modern engines, the author prioritizes reliability, long-term availability, and extreme simplicity. They argue that C offers unmatched portability across operating systems and consoles while maintaining high performance and exceptionally fast compilation speeds, which is crucial for maintaining developer focus. The author critiques C++ for its overwhelming complexity and slow build times, and rejects OOP-heavy languages like Java and C# due to their rigid data-code coupling. While acknowledging that C is 'a sharp knife' that requires careful handling, the author concludes that its stability and extensive tooling make it the most sustainable choice for their creative workflow, ensuring their games remain playable and maintainable for decades to come without being tethered to fleeting technologies like Flash.

Sources:Hacker News227 pts
YouTube as Storage
06Saturday, February 14, 2026

YouTube as Storage

This project enables storing files on YouTube by encoding them into lossless MKV videos using FFV1. It features both a CLI and a Qt6 GUI, supports XChaCha20-Poly1305 encryption via libsodium, and utilizes Wirehair fountain codes for redundancy. The C++23 implementation provides batch processing and high-resolution 4K encoding for data recovery.

Sources:Hacker News186 pts
Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript
07Thursday, February 19, 2026

Electrobun v1: Build fast, tiny, and cross-platform desktop apps with TypeScript

The creator of Electrobun reflects on a two-year journey building a cross-platform desktop framework using TypeScript and Bun. Designed as a lightweight, fast alternative to Electron and Tauri, it features automated updates, process isolation, and cross-platform support for macOS, Windows, and Ubuntu, overcoming common challenges in desktop app distribution and performance.

Sources:Hacker News112 pts
Canvas_ity: A tiny, single-header <canvas>-like 2D rasterizer for C++
08Saturday, February 21, 2026

Canvas_ity: A tiny, single-header <canvas>-like 2D rasterizer for C++

This single-header C++ library provides high-quality, immediate-mode 2D vector graphics rasterization based on the HTML5 2D canvas specification. It emphasizes rendering quality, ease of use, and a compact footprint over raw speed. Supporting features like gamma-correct blending and bicubic resampling, it remains highly portable with no dependencies beyond the standard C++ library.

Sources:Hacker News110 pts
Building Your Own Efficient uint128 in C++
09Sunday, February 1, 2026

Building Your Own Efficient uint128 in C++

This technical guide details the implementation of a custom, fixed-width uint128 data type in C++ using two 64-bit limbs. The author emphasizes performance and predictability over abstraction, demonstrating how to use x64 hardware intrinsics like _addcarry_u64, _subborrow_u64, and _mulx_u64 to match the efficiency of builtin compiler types. By mapping directly to processor instructions such as ADC and SBB, the implementation achieves optimal assembly output. The post highlights the advantages of fixed-width arithmetic over dynamic big-integer libraries for performance-critical applications like geometry and numerics, where memory traffic and branching must be minimized. It also provides a foundation for extending these patterns to even larger widths, such as 256-bit or 512-bit integers, while maintaining high-performance execution.

Sources:Hacker News101 pts
How a single typo led to RCE in Firefox
10Tuesday, February 17, 2026

How a single typo led to RCE in Firefox

A technical analysis of a vulnerability in Firefox's SpiderMonkey Wasm component caused by a single-character typo. The bug occurred during a refactoring of Wasm GC array metadata, allowing researchers to achieve arbitrary memory read/write and code execution within the renderer process via a Use-After-Free exploit. The issue was patched in Firefox 149 Nightly.

Sources:Lobsters49 pts