Programming without ego
5/17/2025 Reflections on building things for fun
Once, when I was in highschool, I was convinced that I wanted to become a writer, a great writer of fiction. Art, you know, none of this low-brow pulp fiction full of excitement and action. I wanted to plumb the depths of the human soul with my fiction, like Dostoevsky, or Faulkner, or perhaps Steinbeck. I was so concerned with producing Art (the capital "A" here is important), that I struggled…
Writing an Async Runtime in Rust
4/23/2023 Learning async Rust in depth by building a simple runtime from scratch
If you've used Rust to build anything for the web (or anything that needs to talk to something else over a network), more than likely you've encountered `async` / `await` syntax. You've probably had to install an async runtime (more than likely `tokio` ). Most of the time, things like `tokio` do a pretty good job of staying out of your way; you slap a `[tokio::main]` on top of your `main`…
Testing Node.js APIs with Microtest
9/10/2022 Microtest 2.0 is a utility library for integration testing Node.js applications
Microtest was born from the desire to test my Node.js APIs the same way that they would be consumed by clients: by making real HTTP requests to a real server. I believe that tests are most effective when they most closely resemble the way the software will ultimately be used, and for an API, that means over HTTP. At the same time, however, I wanted to still be able to use the tooling (such as…