Privacy Policy

👋 This page was last updated ~3 years ago. Just so you know.

Analytics are measured with Umami, a privacy-respecting solution.

Visting a website means your IP address is sent to several systems. We make no effort to retain it anywhere.

Donors (see Terms and Conditions) have their Patreon/GitHub display name appear in the “thanks” section of some articles, unless they opt out of it (only GitHub lets you mark a donation as “private”).

Cancelling donation makes the name disappear (automatically) from those credits.

You can e-mail [email protected] if you have questions.

Did you know I also make videos? Check them out on PeerTube and also YouTube!

Here's another article just for you:

Thumbnail for Catching up with async Rust

Catching up with async Rust

In December 2023, a minor miracle happened: async fn in traits shipped.

As of Rust 1.39, we already had free-standing async functions:

pub async fn read_hosts() -> eyre::Result<Vec<u8>> { // etc. }

…and async functions in impl blocks:

impl HostReader { pub async fn read_hosts(&self) -> eyre::Result<Vec<u8>>