Writing

Some posts, grouped by topic. See all posts, listed chronologically.

Programming

Rreverrse Debugging
rr is the debugger that is is almost too good to be true.

Rust

What does Rust’s “unsafe” mean?
Exploring Rust’s escape hatch for writing low-level code that the type system cannot guarantee to be safe.
Little libraries
On focused libraries in Rust.

Closures

Finding Closure in Rust
Closures are powerful and flexible, building on traits, generics and ownership.
Defaulting to Thread Safety: Closures and Concurrency
Certain trait tricks can be used to model properties of aggregate types, which makes closures and concurrent APIs interact well.

Concurrency/Parallelism

Some notes on Send and Sync
The Send and Sync traits in Rust are cool, here are two edge-ish cases.
Defaulting to Thread Safety: Closures and Concurrency
Certain trait tricks can be used to model properties of aggregate types, which makes closures and concurrent APIs interact well.

SIMD

What is SIMD?
An introduction to SIMD (single-instruction multiple-data).
SIMD in Rust
The state of SIMD in Rust, and an introduction to the improvements I have made.

Trait objects

Peeking inside Trait Objects
An introduction to the low-level details of trait objects.
The Sized Trait
A short summary of the Sized trait and dynamically sized types.
Object Safety
An overview of so-called “object safety”, and why it is necessary for trait objects.
Where Self Meets Sized: Revisting Object Safety
where Self: Sized now offers new flexibility for writing object-safe traits.

Infrastructure/tooling

Rust infrastructure can be your infrastructure
Homu and highfive were created for rust-lang, but you can easily benefit too.
Helping Travis catch the rustc train
Manually configuring Travis CI to handle the Rust release trains and upload documentation is annoying. Getting a script to do it is far less annoying.
Travis on the train, part 2
travis-cargo got some improvements, including support for recording test coverage via coveralls.io.
travis-cargo 0.1.3: –no-sudo
More improvements to travis-cargo, specifically, recording test coverage without requiring sudo.