Best of C ProgrammingDecember 2025

  1. 1
    Article
    Avatar of otqajuf6zdm9hfrwtlr9nIsaac de Andrade·24w

    The Lost Art of Programming Offline

    Programming without internet access reveals gaps in knowledge and forces reliance on local resources like man pages, system header files, and existing code. This constraint-based approach helps identify mastered domains versus weak areas, makes learning more efficient and personal, and strengthens fundamental skills by eliminating dependency on Stack Overflow, documentation sites, and AI assistants.

  2. 2
    Article
    Avatar of itsfossIt's Foss·23w

    The Tor Project is Now Rewritten in Rust Instead of C

    Arti 1.8.0, the Rust rewrite of Tor, introduces circuit timeout improvements that replace predictable timing patterns with randomized intervals to reduce fingerprinting risks. The release includes an experimental command for migrating onion service client authorization keys from C-based Tor to Arti's keystore, plus enhancements to routing architecture and protocol implementation. The rewrite addresses memory safety vulnerabilities inherent in the original C codebase, including buffer overflows and use-after-free bugs.

  3. 3
    Article
    Avatar of yruvff6ibftylbjx9dzvtDenis Bolkovskis·25w

    Infinite energy!

  4. 4
    Article
    Avatar of hnHacker News·22w

    sebastienros/comptime: Comptime brings meta-programming capabilities to C#, enabling compile-time code generation and evaluation.

    Comptime is a .NET source generator that executes methods at compile time and serializes their results into C# code. By marking methods with the `[Comptime]` attribute, developers can shift expensive computations from runtime to build time, improving application performance. It supports primitive types, collections, method parameters with constant expressions, and generic methods. The tool uses C# interceptors to replace method calls with pre-computed values, requiring .NET 8.0+ and C# 12+. Methods must be static, classes must be partial, and return types must be immutable.