Become a sponsor to Amos Wenger
Over the past twenty-odd years, I've had the privilege to work with a dozen programming languages on all three major desktop operating systems. I've worked on compilers, web services, single-page apps, game engines (and games!), implemented network protocols, file formats, patching algorithms, etc.
I just can't seem to stay in one place.Β But there's one constant: when a problem presents itself, IΒ commitΒ until I'm satisfied that it is properly understood and solved. And since I love sharing and teaching, it usually makes for a great story. Some of them end upΒ on my blog, the others asΒ Twitter threads.
I feel likeΒ it's important to demystify technologyΒ - to not hand-wave the scary parts away. To keep digging until you have at least a rough understanding of what is going on. Maths is so much more rewarding when you see the connection between all the different fields - and software is no different.
You can find examples of writing on my blog, for example the article aboutΒ Rust modules and files,Β declarative memory management, or the one aboutΒ efficient game updates. That last one was so fun to write! It was even translated to Japanese.
Researching complex subjects and explaining them simply is my favorite thing to do. So I'm going to do more of it. I'm looking for support so that I can blog more often, and more in-depth. To make entire series on a variety of subjects.Β I believe you can make anything interesting, no matter how mundane or scary it seems at first.
Current sponsors 205
Featured work
-
bearcove/loona
HTTP 1+2 in Rust, with io_uring & ktls
Rust 357 -
bearcove/rc-zip
ZIP format implementation in Rust, sans-io
Rust 271 -
bearcove/rubicon
rubicon enables a form of dynamic linking in Rust through cdylib crates and carefully-enforced invariants.
Rust 125 -
bearcove/merde
Data (de)serialization via declarative macros
Rust 104 -
bearcove/fopro
A caching forward HTTP/1+2 proxy
Rust 7