Note: Open in Obsidian for best viewing experience.
[[Day 1]] - IDE, formatting, and compiling
[[Day 2]] - Debugger Configuration
[[Day 3]] ch 2 - Guessing Game
[[Day 4, 5, 6]] - Technical Readings
[[Day 7]] ch 3 - Variables and Primitives
[[Day 8]] ch 3 | ch 4 - Functions, Control Flow, and Ownership
[[Day 9]] ch 4 - References, Borrowing, and Slice Type
[[Day 10, 11]] ch 5 | ch 6 - Structs, Enums, and Pattern Matching
[[Day 12]] ch 7 | ch 8 - Crate and Vectors
[[Day 13]] ch 8 - Strings and Hashmaps
[[Day 14]] - Exercises
[[Day 15]] ch 9 | ch 10 - Error Handling, Generic Types, and Traits
[[Day 16]] ch10 - Lifetimes
[[Day 17]] ch 11 - Testing
[[Day 18]] ch 12 - Building a Command Line Program
[[Day 19]] ch 13 - Closures and Iterators
[[Day 20]] ch 14 - Cargo and Crate
[[Day 21]] ch 15 - Smart Pointers: Box<T>
and Rc<T>
[[Day 22]] ch 15 | ch 16 - Smart Pointers: RefCell<T>
Concurrency: Threads, and Message Passing
[[Day 23]] ch16 | ch 17 - Shared State, Sync / Send Traits, and Object Oriented Features (Trait Objects)
[[Day 24]] ch 17 - Blog example
[[Day 25]] ch 18 - Pattern Matching
[[Day 26]] ch 19 - Unsafe Rust
[[Day 27]] ch 19 - Advanced: Traits, Types, Functions and Closures. Also Macros
[[Day 28]] ch20
[[Day 29]] Appendix Notes
- RUST
- I'm going to go through The Rust Book in its entirety.
- Then I plan to move on to rustlings and see how challenging they are.
- There is also Rust by example that is probably worth running through.
- After that I should have enough of an understanding to be able to start combing through open source projects code bases (polkadot) and make some bug fixes.
- Then I want to attempt to write an implementation of the RAFT.
- At this point I should have enough of an understanding to start applying for jobs.
- Distributed Systems
- Starting from the beginning, read and note my way through these Foundational Distributed Systems Papers.
- Research and take notes on other consensus algorithms
- Blockchain
- Research and understand the technicals of Polkadot.
- Become an active member and contributor on the polkadot discord server
- Write a stellar sdk in Rust
- Chapter 4 String Slices as Parameters
- Chapter 10 Using Trait Bounds to Conditionally Implement Methods
- Chapter 17 Generics vs. Trait Objects and when to use them
- Go vs Rust
- Go vs Rust idioms
- Rust Pitfalls
- Install Rust
- Getting Started
- Cargo
- Learn Rust
- The Book
- Rustlings
- Rust by Example
- Rust Books
- Foundational Distributed Systems Papers
- 99% Fault Tolerence
- Async discussions
- Random Blog
- Sodium: A Functional Reactive Programming (FRP) library for Rust
- Signals: This is a Rust crate that provides zero-cost Signals which are built on top of the futures crate.
- Desync: A concurrency library for Rust that protects data by scheduling operations in order instead of locking and blocking threads. docs article
- Flo_binding: A library of types to help store state in interactive applications.