Rust Resources

AKA my Rust bookmarks in the cloud...

I've been exploring the Rust ecosystem for a while now, and I have come across a lot of things that might be useful, even if they're not so well known. This is my collection of off-the-beaten-track Rust-related websites, books, and articles, which I humbly submit to the reader for perusal. I hope they may be of some use.

Markdown Books

I love the mdbook format, and this little book is a collection of books itself. They're mostly unofficial, and unlike the official documentation are mostly dedicated to niche applications.

Unofficial Rust Books - The Little Book of Rust Books

One of my favorites is this one, on optimizing Rust code in a sane and effective manner.

Title Page - The Rust Performance Book

Effective Rust is also a must-read, and the printed version is probably worth it!

Effective Rust
A collection of specific ways to improve your use of Rust

Google's Comprehensive Rust is an md-book style teaching resource for getting a small team of devs up to speed in Rust, and is used by their C++ developers transitioning to Rust.

Welcome to Comprehensive Rust 🦀 - Comprehensive Rust 🦀

Rust Design Patterns is about common solutions to recurring problems in Rust, such as the builder pattern. If you're worried about the idiomatic way to write something, this may have what you're looking for.

Introduction - Rust Design Patterns
A catalogue of Rust design patterns, anti-patterns and idioms

Cheat-sheets

The best cheat-sheet I know of is the one at cheats.rs.

Rust Language Cheat Sheet

Operating Systems

Phillip Oppermann has an excellent blog series on writing an operating system in Rust, which has step-by-step walkthroughs and more.

Writing an OS in Rust
This blog series creates a small operating system in the Rust programming language. Each post is a small tutorial and includes all needed code.

Additionally, Luc Lenôtre is working on the Maestro UNIX-like kernel, which has currently implemented about 30% of the Linux syscalls, and is being actively improved. The repo is here...

GitHub - llenotre/maestro: Unix-like kernel written in Rust
Unix-like kernel written in Rust. Contribute to llenotre/maestro development by creating an account on GitHub.

Algorithms

If you need to learn about a mathematical or scientific algorithm, then the Arcane Algorithm Archive is a great place to start. By default, it displays programs in Julia, but you can switch to Rust by clicking the language selector in the top left.

Algorithm Archive · Arcane Algorithm Archive

NIST has this old data structures and algorithms dictionary, which, while not specifically related to Rust, is a great resource, and might prove helpful to someone.

Dictionary of Algorithms and Data Structures
Definitions of algorithms, data structures, and classical Computer Science problems. Some entries have links to implementations and more information.

Compilers & Parsers

If you're interested in writing a compiler or interpreter (which is something I want to do, but haven't had the time for) then I found a few epic resources. One of the quintessential pieces on the topic is this plain-text website by Jack Crenshaw, written in the late 80s and early 90s.

Let’s Build a Compiler

Dr. Brian Callahan wrote a compiler in C for the PL/0 language, which was originally created by Niklaus Wirth, the inventor of Pascal and many other important pieces of technology. He walks through the entire process in his blog, starting with this post.

Brian Robert Callahan