Blog posts: Rust

I write about Rust things routinely. Here they all are.


U+: pretty Unicode code point literals for Rust

Stop worrying about whether char literal syntax uses '\u{1234}', "\u1234", \x1E\x88\xB4 or something else, and use the True Unicode Syntax of U+1234!




A fun little piece of Rust artwork.


Tween: a middleware library experiment

Web frameworks normally have the concept of middleware; we’ve tried developing fancy fully type-safe middleware in Rust before, but not very successfully. I finally got it to work. Tween is the experimental result.


Rust ownership, the hard way

In order to truly understand Rust, one needs to understand its crucial differentiating feature: ownership. Let’s go through it in detail the hard way.

Quick tip: the #[cfg_attr] attribute

The #[cfg_attr] attribute is a really handy way of reducing code duplication in some situations.


Why your first FizzBuzz implementation may not work

An exploration into some initially surprising but great parts of Rust (though you still may not like them).

Teepee design: the HTTP method

Now we come to the Method type. While there are a few improvements to be made, this is one of the things that probably can’t be significantly improved on over rust-http.

Teepee design: header representation

Header representation is a critical matter to Teepee’s design: it is uncompromisingly strongly typed, but there must be tradeoffs. After trying quite a few different schemes at length, I have settled upon quite a novel scheme which I believe to optimally balance all considerations.

Teepee design: Status-Line, take two

My first look at the Status-Line kept largely to what rust-http had done; some great discussion came up and a conceptual flaw in my models was revealed. Now I present some better options.

Teepee design: a careful look at the HTTP/1.1 Status-Line

rust-http has a nice Status enum which provides good, strong typing of statuses, but alas, it is not without its issues. Let’s take a look at the Status-Line as it is defined.

Introducing Teepee: the next step for rust-http

rust-http was but an experiment, an essay in the craft. Here, at last, is the real thing: the Teepee project, a properly engineered HTTP toolkit.


A broad vision for the Rust docs stack

A presentation that I made to the San Fransisco Bay Area Rust meetup about the implementation side of Rust docs, and what I think should be used.