Zig is a new, independently developed low-level programming language. It’s a modern reimagining of C that attempts to retain C’s performance while embracing improvements from the last 30 years of tooling and language design. Zig makes calling into C code easier than any other language I’ve used. Zig also treats unit testing as a first-class feature, which the C language certainly does not. These two properties of Zig create an interesting opportunity: Zig allows you to add unit tests to...| mtlynch.io
Zig is a new, independently developed low-level programming language. It’s a modern reimagining of C that attempts to retain all of C’s performance benefits while also taking advantage of improvements in tooling and language design from the last 30 years. Because Zig is designed to replace C, one of the first-class features is that you can call into C libraries from a Zig application. I couldn’t find any simple examples demonstrating Zig’s C interop functionality, so I decided to writ...| mtlynch.io
Nix is a broad product with a steep learning curve. It’s capable of everything from installing a single package to managing every file and application on your OS. One useful thing you can do with Nix, even as a complete beginner, is manage your dev environments. Nix lets me have multiple projects on the same system that each have their own independent view of what dependencies are available. I can have one legacy project running Python 2.| mtlynch.io
Nix flakes is an experimental feature of the Nix package manager. Flakes was introduced with Nix 2.4 on 2021-11-01 (see release notes).| nixos.wiki