๐ฆ Collection of hopefully useful, semi-organised links as a reference from my time with Rust.
Also see my ASM Reading List
Happy to accept PRs for any other useful links!
removed while re-shuffling the page
Table of contents generated with markdown-toc ๐
The Book and other useful reference material.
๐ฅ The Book, โน๏ธ Rust By Example, ๐ std lib,
๐ The Rust Book / Nightly
Rust Cookbook - Collection of useful Rust code examples
Rust by Example (RBE) - Collection of runnable examples that illustrate various Rust concepts and standard libraries
LogRocket Blog: How to write CRaP Rust code (Correct, Readable and Performant)
Optimizing a Rust Codebase
From 46s to 5s - Optimizing a 350 Line Raytracer in Rust
Acheiving warp speed with Rust
"What The Hardware Does" is not What Your Program Does
๐ฅ Scott Meyers: Cpu Caches and Why You Care
Branch prediction - Why is processing a sorted array faster than processing an unsorted array?
Where should I start if I want to squeeze out as much performance as I can from my rust code?
Top-Down performance analysis methodology
go-perfbook - Largely applicable to any language
LLVM reference && Godbolt Compiler Explorer
Performance Tuning In Rust Using Benchmarking And Perf
The Embedded Rust Book - Optimizations: The speed size tradeoff
Cheap tricks for high-performance Rust
How to Write Fast Rust Code (
https://www.youtube.com/results?search_query=mike+acton
๐ฅ Learning Rust: Memory, Ownership and Borrowing
What is ownership? - Learn about how memory is managed through ownership From Microsoft's "Take your First Steps with Rust"
Memory & Lifetimes Visual Representation
LogRocket Blog - Understanding lifetimes in Rust
Carl Lerche - Reducing tail latencies with automatic cooperative task yielding
Alice Ryhl - Async: What is blocking?
SO Question - What is the difference between then
, and_then
and or_else
in Rust futures?
Futures Explained in 200 Lines of Rust
Idiomatic Rust Tips - Coming from Java / C - the Rust Language Cheat Sheet has a lot of useful references
Thinking In Rust Part 1: Types
Writing Concise and Elegant Rust Code
Rust's Built-in Traits, the When, How & Why
Hacker News - Assorted Thoughts on Zig and Rust / Article
Hacker News - I can't keep up with idiomatic Rust / Article
Learning Rust by solving all 189 problems from the โCracking the Coding Interviewโ book
Object-Oriented Programming in Rust
So you want to write object oriented Rust
These Modern Programming Languages Will Make You Suffer
Foreign function interface (FFI) - Rust Design Patterns
๐ฅ Is It Time to Rewrite the Operating System in Rust?
The Rust Programming Language in the words of its practitioners
My Key Learnings after 30,000 LOC in Rust
I want off Mr. Golang's Wild Ride
Mutable Arguments Considered Harmful
Developing in Rust using Visual Studio Code https://dev.to/thiagomg/developing-in-rust-using-visual-studio-code-4kkl
Debugging Rust in VSCode - A 2020 guide for debugging Rust with Visual Studio Code. https://jason-williams.co.uk/debugging-rust-in-vscode
๐ฌ Stack Overflow - What is the difference between iter and into_iter? / ๐ Link
๐ฌ Stack Overflow - Rust package with both a library and a binary?
Are we observable yet? An introduction to Rust telemetry
https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html
Everything you need to know about cross compiling Rust programs
Fearless Concurrency with Rust
Rust Programming Language Tutorials
https://learning-rust.github.io/
https://carols10cents.github.io/rust-conversion-reference/
Rust Omnibus (FFI) How to use Rust code in other languages
The Little Book of Rust Macros
Software Projects. Code Samples. Software Links
Rust - Rethinking Systems Programming
Modeling graphs in Rust using vector indices
๐ Podcast https://newrustacean.com/ / https://newrustacean.com/show_notes/index.html
Rust Tidbits: What is a lang item?
https://hackr.io/tutorials/learn-rust
TODO Organise crates by functional areas - use this space to provide useful links relating to great crates, not just linking to the crate.
https://alinex.gitlab.io/rust/crates/actix/
https://docs.rs/actix/0.11.1/actix/fut/future/trait.ActorFuture.html
https://www.reddit.com/r/actix/comments/cgmsqm/struggling_with_async_message_results/
https://www.reddit.com/r/actix/comments/dl1gy4/communication_between_two_actors/
https://actix.rs/docs/testing/
https://www.zupzup.org/rust-webapp/index.html
https://mattgathu.github.io/2020/04/16/actix-web-error-handling.html
Are we observable yet? An introduction to Rust telemetry https://www.amarjanica.com/mocking-actix-actor-without-getting-a-gray-hair/index.html
https://actix.rs/docs/websockets/
https://docs.rs/actix-broker/0.4.0/actix_broker/
Actix - actor framework in Rust https://actix.rs/book/actix/sec-1-getting-started.html
A runtime for writing reliable network applications without compromising speed. https://docs.rs/tokio/1.4.0/tokio/
https://tokio.rs/tokio/tutorial
https://github.com/linebender/druid
https://github.com/tauri-apps/tauri
https://www.boringcactus.com/2020/08/21/survey-of-rust-gui-libraries.html
https://serde.rs/attr-default.html
https://github.com/rayon-rs/rayon
https://crates.io/crates/raqote
https://crates.io/crates/async-trait
Anyhow - Flexible concrete Error type built on std::error::Error https://lib.rs/crates/anyhow
imageproc https://docs.rs/imageproc/0.22.0/imageproc/
smoltcp-rs/smoltcp - a smol tcp/ip stack https://github.com/smoltcp-rs/smoltcp
https://github.com/routerify/routerify
matthieu-m/ghost-collections - Safe collections written in stable Rust, based on GhostCell and StaticRc https://github.com/matthieu-m/ghost-collections
slotmap https://docs.rs/slotmap/1.0.3/slotmap/
๐ฅ Doug Milford's Rust series
๐ฅ Easy Rust playlist
Rust for OOP - Series Introduction
Introduction to the Rust language, standard library and ecosystem
Learning Rust With Entirely Too Many Linked Lists
Rust Programming Language Tutorial โ How to Build a To-Do List App
All the resources you need to give yourself a world class computer science education
https://www.ralfj.de/projects/rust-101/main.html
Want to learn Rust but don't know where to start?
A Complete Resource for Rust Beginners
Ferrous Systems' Teaching Material
๐ฅ YouTube - Overview of the Rust Programming Language
https://knowitlabs.no/rust-2020-testing-4ab3d80112ba
I have some JSON with a ton of test cases, how do I use that in Rust?
https://github.com/bheisler/criterion.rs
https://bheisler.github.io/criterion.rs/book/index.html
http://www.serpentine.com/criterion/tutorial.html
https://github.com/ctjhoa/rust-learning
https://github.com/kud1ing/awesome-rust / https://project-awesome.org/rust-unofficial/awesome-rust
๐ List of Rust books
Not Rust specific, but: A public list of APIs
https://llogiq.github.io/2016/02/28/java-rust.html
https://gist.github.com/Kimundi/8391398
https://overexact.com/rust-for-professionals/
https://leshow.github.io/post/rust_for_java_devs/
https://beachape.com/blog/2017/05/24/rust-from-scala/
https://lucumr.pocoo.org/2015/5/27/rust-for-pythonistas/
https://renoth.medium.com/understanding-rust-as-a-c-developer-69ee8ca76fd6
Useful / interesting files, mirrored here lest they move or vanish.
PDF "Is Rust Used Safely by Software Developers"
PDF "Safe Systems Programming in Rust"
PDF "What Every Programmer Should Know About Memory"
PDF Packt "Learning Rust" Free eBook
PDF "Idiomatic Rust - Writing concise and elegant Rust code"
PDF "Rust Container Cheat Sheet"
List of "Are we ... yet" sites on Moz wiki
... ๐พ https://arewegameyet.rs/
... ๐ธ๏ธ https://arewewebyet.org/
... ๐ฑ๏ธ https://areweguiyet.com/
Nicholas Nethercote - personal site https://nnethercote.github.io/ and Moz blog https://blog.mozilla.org/nnethercote/category/performance/
Alice Ryhl โ Personal website
A collection of notable Rust blog posts
A computer scientist working in open source towards a more hopeful future
Steve Klabnik's personal website
The Rust Programming Language Blog
Everything below here is uncategorised, dumped for later review
The Register: Microsoft unveils Rust for Windows v0.9, with 'full consumption support' for the Windows API. https://go.theregister.com/feed/www.theregister.com/2021/05/10/rust_for_windows/
Preparations - Workbook for Embedded Workshops https://embedded-trainings.ferrous-systems.com/
rust-embedded/cross โZero setupโ cross compilation and โcross testingโ of Rust crates - rust-embedded/cross https://github.com/rust-embedded/cross
๐ฒ Zero To Production In Rust - (Forward)
r/rust - swash font crate: now with docs and a demo https://www.reddit.com/r/rust/comments/n42r54/swash_font_crate_now_with_docs_and_a_demo/
r/statemachines - A proposal for a state machine pattern for Rust https://www.reddit.com/r/statemachines/comments/n2sjy8/a_proposal_for_a_state_machine_pattern_for_rust/ https://frame-lang.org/
r/rust - Minimal graphics crate for Rust https://www.reddit.com/r/rust/comments/mzhk18/minimal_graphics_crate_for_rust/
- Miniquad is a very minimal but very cross platform rendering library https://github.com/not-fl3/miniquad
- Good Web Game is a minimal game engine build on Miniquad https://github.com/not-fl3/good-web-game
- If you want less minimal, more features, ggez might be the right thing for you https://github.com/ggez/ggez
- https://github.com/parasyte/pixels
- https://github.com/emoon/rust_minifb
TODO: consider adding https://outline.com/ as an option for sites with no https.