2026-8-1
Now coming into this project, I have some basic knowledge of Rust but no real experience. I know some concepts like ownership and borrowing, but I’ve heard there’s a lot more, like macros for example.
Reading through the macros documentation has kinda confused me though, so I’m counting on an actual project to teach me the real applications of these. And for ownership and borrowing, I’ll just let the compiler teach me the rules.
Got some basic setup code working. The project builds and runs, plus it loads a basic counter in the terminal.
It’s just a ratatui template created with some AI help. Through each step of the way, I read and reviewed the code and learned Rust, asking AI for help whenever I ran into Rust syntax I didn’t really understand.
Today I learned: Rust closures.
They’re pretty familiar to me as they’re quite similar to Java, JS, and Python lambdas.
terminal.draw(|frame| self.draw(frame))?;
Now I am aware that they probably operate pretty differently and closures follow ownership and borrowing rules, but I use them similarly to lambdas. If the compiler doesn’t complain, then I’m probably doing it correctly. The project isn’t complicated enough for me to worry about design decisions yet I think.
Total time spent today: ~1.5 hours
I’m not really tracking my time too closely though, so this is just a very rough estimate.