Tag
Article discusses Zig's std.Io.Threaded, an implementation of Zig's Io interface that uses blocking syscalls and supports cancellation via signals, contrasting concurrency and parallelism.
The article discusses the recent proposal for memory safety in Zig via Fil-C, compares Fil-C's definition of memory safety with Rust's, and argues that memory safety is a spectrum with practical definitions, using a concrete example where Fil-C is still unsafe.
A developer writes a lightweight GTK4-based ssh-askpass utility in Zig to avoid pulling in X11 or KDE dependencies on their hardened Gentoo system, using hand-written GTK4 bindings.
A devlog explaining the double-fork technique for creating robust POSIX daemons, covering forks, sessions, and controlling terminals in the context of building zmx in Zig.
A blog post reveals a memory over-allocation bug in Zig's std.Io.Writer.Allocating due to the `drain` function incorrectly reserving space for the splat parameter on every data slice, causing unexpected memory growth.
A blog post walks through building an overengineered calculator that compiles arithmetic expressions to native machine code using Zig and the QBE compiler backend, demonstrating tokenization, parsing, and code generation.
Manganin is a new Git forge written in Zig that reimagines source code management with a trust-based vouch tree and a self-hosting design that avoids vendor lock-in.
Richard Feldman compares dependency graphs of different programming language websites and games, pointing out that most dependency choices are cultural norms rather than technical necessities.
A Zig core team member explains the internals and usage of Zig's incremental compilation, which allows rebuilds in milliseconds by recompiling only changed code and patching it into the binary.
A tool that packages existing C/C++ projects for use with the Zig build system, enabling easier integration.
The article critiques memory safety absolutism in programming language debates, arguing that new approaches like Fil-C have trade-offs and that dismissing Rust as unsafe ignores practical benefits.
Zig by Example is a hands-on introduction to the Zig programming language, featuring annotated example programs for version 0.16.
Buz is a fork of the Bun JavaScript runtime that uses modern Zig, achieving sub-1 second incremental builds.
Isaac Van Doren reflects on the unexpected success of his 'Software Should Work' conference in Columbia, Missouri, noting the highly engaged audience, positive energy, and a direct impact on Zig's development with Andrew Kelley opening an issue for Fil-C inspired compilation mode.
Discusses two approaches to parallelizing compilation: multi-process (single-threaded compiler with build system spawning multiple instances) and in-process multi-threading (used by Rust and Zig). Compares trade-offs for language design.
Ziggity is a terminal UI for Git, inspired by lazygit, written in Zig. It provides a keyboard-driven interface for staging, committing, branching, rebasing, and inspecting history.
This article discusses a fundamental memory safety challenge involving tagged unions where a pointer to one variant is used after the union is overwritten with a different variant, leading to type confusion. The author also argues that buffer overflows are the most exploitable memory error and could have been mitigated with better array syntax.
This article explains how to design high-performance parsers by focusing on memory layout and data-oriented design, using the example of the Yuku JavaScript/TypeScript parser written in Zig.
The article critiques Anthropic's narrative that AI will replace software engineering, discusses the controversy surrounding Bun's rewrite from Zig to Rust, and praises Zig creator Andrew Kelley's blunt response to the migration's justification.
A tweet references a recap of the recent Zig/Bun drama.