Zig 0.15.1
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
Topics /
The most popular blog posts about software engineering on Hacker News. 1,747 posts.
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
A deep dive into how JavaScript source maps work under the hood, with examples showing how all the pieces fit together.
Notes on using the Z3 constraint solver with the Clang Static Analyzer
Transducer: Composition, Abstraction, Performance
How S2 uses deterministic simulation testing for async Rust to find distributed-systems bugs before they reach production.
The craft of programming is almost universally concerned with different types of data and operations/algorithms that act on this data [1] . Therefore, it's hardly surprising that designing abstractions for data types and operations has been on the mind of software engineers and programming-language designers since…
Half a century ago, the puzzling phrase "special register groups" started showing up in definitions of "CPU", and it is still there. In this...
When your CI pipelines are slow, you can only optimize so much. Bottlenecks in CPU, Network, Memory, and Disk I/O can all contribute to slow CI pipelines. Let's take a look at how disk I/O can be a bottleneck in GitHub Actions.
Concept Motivation Imagine an open world RPG where your actions affect the price of goods, the markets reacting to anything the player may do (burn down wheat fields, cost of food increases; kill the merchants, prices differentiate between cities; sell the many swords you’ve collected on your adventures, tank the…
In 2024 we announced our fourth Ada/SPARK Crate Of The Year Awards. We see the Alire source package manager as a game changer for Ada/SPARK, so we want to…
2025-10-05
tree, not three
Reverse Engineering Reality
This is a post about multiplying polynomials, convolution sums and the connection between them.
First part of a series of articles about writing a .NET Garbage Collector in C# using NativeAOT. This part sets the expectations and setups the project, dealing with the first difficulties.
Forgejo v13.0 was released on 16 October 2025. You will find a short selection of the changes it introduces below and a complete list in the release notes .
Last summer, I published Raven , an independent implementation of the Uxn CPU and Varavara ordinator . In short, this is a fictional computer designed for cross-platform portability: programs targetting it can be run on any platform that implements the specification.
One of the first types we learn about is the boolean. It's pretty natural to use, because boolean logic underpins much of modern computing. And yet, it's one of the types we should probably be using a lot less of. In almost every single instance when you use a boolean, it should be something else.
Why we moved the ComfyDeploy dashboard from Next.js to React with TanStack Router and Rspack: build time fell from 3 minutes to 18 seconds.
Personal blog of Omar Abid
Best of both worlds: Building an AI gatekeeper that knows exactly which tests to run for your code changes
At hackArcana, we deliver professional educational content authored by world-class experts in programming, binary analysis, and cybersecurity.
A lesson in X11, networking, and design.
Usually I write about solutions to problems I’ve worked out, but I’ve found myself increasingly becoming interesting in where solutions come from. Maybe it’s because I’ve been reading Boorstin’s excellent The Discoverers , which I’d strongly recommend.
In Lorena's latest instalment, learn about the foundations of Elixir's power and reliability with the Erlang Virtual Machine (BEAM).
TLDR; Starting from Linux kernel version 6.9 on x86_64, there’s a new config option CONFIG_X86_FRED enabled and it adds 16 bytes to the starting point of a task’s kernel stack area, so you’ll need to account for this extra padding in your “raw” kernel stack & pt_regs lookup code. Update: It turns out that there’s a…
Every AI tool has its strengths and weaknesses, and the only way to discover what they are is by using them.
An deep dive into a pathological case.
In a real world benchmark, the default musl allocator caused a 7x slowdown compared to other allocators. I recommend all Rust projects immediately swap to a different allocator in a musl environment.
prompt engineering is nothing but an attempt to reverse-engineer a non-deterministic black box for which any of the parameters below are unknown: - training set - weights - constraints on the model - layers between you and the model that transform both your input and the model's output that can change at any time …