/
Compiler says no!
-
The elements of Rust error handling
August 25, 2024
Basics of error handling in Rust are well explored, but above are degrees of freedom not examined often enough.
-
Wasm for the impatient
August 4, 2024
Wasm is a virtual machine-based binary code and module format, available as compilation target for many other languages. This article contains a succinct description from the ground up.
-
Build, don't call
July 24, 2024
Replace complicated function calls with builders to make your and your reviewer’s life easier.
-
Wrapping SQLite's UTF-8 strings using Rust's FFI
October 5, 2023
Wrapping raw pointers to UTF-8 encoded text from SQLite allows offloading a lot of safety checks to the Rust compiler, but requires a lot of detailed insights into the workings of both SQLite and memory allocation.
-
Safely opening (and closing) an SQLite database
September 9, 2023
Wrapping a C library in Rust beyond the pure FFI interface is straightforward, but has a surprising amounts of details to consider.
-
About things
September 8, 2023
A short summary of what these pages are about.
-
Owning Your Invariants
June 13, 2023
Don’t just leverage the type checker for correctness of business logic, the borrow checker can help, too.
-
Quick static site deployment
May 6, 2023
A combination of
hugo
and nix
can be used to have an automated site deployment for free in under 40 lines of code.
-
Tracing for the impatient
March 14, 2021
Tracing is a flexible improvement over the traditional log crate, with great features and an
async
footgun.
-
Kubernetes and nsswitch.conf in nix containers
January 15, 2021
Those who do not know about
nsswitch.conf
are going to have a bad time.
-
Nix based continuous integration
August 2, 2020
Keep build logic out of your CI configuration to be able run it on your devs machines.
-
Containerless development environments
July 28, 2020
nix-shell
actually delivers stable build environments in a much better way than a development Docker container can.
-
The second best build system
July 24, 2020
Your
Makefile
is likely a glorified shell script - create a much simpler build.sh
instead!