Intros

https://fasterthanli.me/articles/a-half-hour-to-learn-rust

https://corrode.dev/blog/flattening-rusts-learning-curve/

Courses

https://google.github.io/comprehensive-rust

101 - references, owned value and Arc atomic reference counts

https://fiberplane.com/blog/getting-past-ampersand-driven-development-in-rust

Rust for C++ developers

https://cel.cs.brown.edu/crp/

Dynamic dispatch / polymorphism

https://alschwalm.com/blog/static/2017/03/07/exploring-dynamic-dispatch-in-rust/

Lessons learned

https://matklad.github.io/2021/09/05/Rust100k.html

https://dystroy.org/blog/how-not-to-learn-rust/

Challenges with borrow checker and lifetimes

https://erikmcclure.com/blog/stop-making-me-memorize-borrow-checker/

Areas where it’s not the best choice

https://deadmoney.gg/news/articles/migrating-away-from-rust

Deep dive by implementing linked lists

https://rust-unofficial.github.io/too-many-lists/index.html

  • sweeping intro to the language
  • borrow checker, immutable / shared and mutable / unique references
  • Box, Rc, Arc, RefCell
  • iterators
  • generics

Idiomatic Rust

Method chaining

https://herecomesthemoon.net/2025/04/pipelining/

Structured errors

https://home.expurple.me/posts/why-use-structured-errors-in-rust-applications/

Concurrency

https://github.com/alexpusch/rust-magic-patterns/blob/master/visual-journey-through-async-rust/Readme.md

  • Tokio async
  • Concurrency and parallelism
  • spawn blocking

https://marabos.nl/atomics/basics.html

  • Threads, thread builder, scoped
  • Dhared ownership
  • Reference counting
  • Borrowing and data races

Testing

Fuzzing

https://da-data.blogspot.com/2020/05/speeding-up-fuzzing-rust-with-shared.html

Performance

Starting with an excellent book:

https://nnethercote.github.io/perf-book/

Optimization of slow builds

https://www.feldera.com/blog/cutting-down-rust-compile-times-from-30-to-2-minutes-with-one-thousand-crates

  • single core compilation
  • many smaller crates

Profiling

https://gendignoux.com/blog/2024/11/18/rust-rayon-optimized.html#time-based-profiling-with-perf

https://gendignoux.com/blog/2024/11/18/rust-rayon-optimized.html#advanced-perf-usage

Optimizations

http://pkolaczk.github.io/server-slower-than-a-laptop/

  • cargo flamegraph
  • multicore and cost of Arc
  • read-only data in cache vs frequently updated

https://willcrichton.net/notes/k-corrset/

  • Use Rust’s compiler optimizations.
  • Hash numbers instead of strings.
  • Use (indexed) vectors instead of hashmaps.
  • Use bit-sets for efficient membership tests.
  • Use SIMD for efficient bit-sets.
  • Use multi-threading to split the work over many cores.
  • Use batching to avoid a bottleneck at work distribution.

https://wiredream.com/llm-optimizing-digit-diff/

  • Parallelize with Rayon
  • Assisted by LLM

Statistical benchmarking

https://github.com/bheisler/criterion.rs

Rust without RAII, for fun?

https://matklad.github.io/2022/10/06/hard-mode-rust.html

  • pre-allocation instead of RAII
  • parallelism with Rayon and thread pools
  • simple memory allocator
  • bounding volume hierarchy, BVH

Tools

Visual time-travelling debugger

https://firedbg.sea-ql.org/

Visualize lifetimes

https://github.com/cordx56/rustowl

Miri

To detect unsafe code that fails to uphold its safety requirements

https://github.com/rust-lang/miri

Interesting / popular crates

UI

egui - immediate-mode UI

https://github.com/emilk/egui#integrations

Software Dev Rust