Thumbnail for {{ page.title }}

How can you support me?

All of the articles, videos, and open source contributions that are made here are funded directly by individuals and companies through donations.

  • Ko-fi is based in the UK
  • GitHub Sponsors is based in the US, pays through Stripe
  • Patreon has the highest fees, but it’s here too out of convenience.

The “Silver” tier gives you advance access to articles and videos, one week before they’re made available to everyone else. Every piece of content ends up publicly available eventually — I consider my work a public service.

For those who cannot afford to pitch in financially, you can still help:

I’m extremely lucky to be able to contribute to the Rust ecosystem as an independent, and can only do it through the support of people like you.

Thank you so much for your continued support, I owe y’all everything.

(JavaScript is required to see this. Or maybe my stuff broke)

Here's another article just for you:

A dynamic linker murder mystery

I write a ton of articles about rust. And in those articles, the main focus is about writing Rust code that compiles. Once it compiles, well, we’re basically in the clear! Especially if it compiles to a single executable, that’s made up entirely of Rust code.

That works great for short tutorials, or one-off explorations.

Unfortunately, “in the real world”, our code often has to share the stage with other code. And Rust is great at that. Compiling Go code to a static library, for example, is relatively finnicky. It insists on being built with GCC (and no other compiler), and linked with GNU ld (and no other linker).