It's been maybe 6 years since I've written my first line of Rust, and in this time I've learned quite a few things about it.
In fact, my last startup was built on it, and we built an entire ecosystem-agnostic distributed, incremental build system with Rust that really pushed what I knew about the language.
So I figured I'd start a blog for Rust where I can share some of the things I've learned over these years. Focusing primarily on how to ship things fast, but on occasion about how to use the language to help you scale codebases, how to help onboard other people, and how to start your own things. That sort of thing: practical advice really.
I still write Rust on a daily basis, so some of these topics will be coming straight out of my day-to-day, and some others will be more retrospective.
For example, recently I've been building an edge-database in Rust called Pacha, and as an example app I figured I'd build a little publishing platform, which runs on Cloudflare workers. All Rust.
So a few topics you can expect to read about here are:
- How to use traits for Great Good and how many projects use them
- How to implement custom Serde formats
- When and how to split your project into modules
- How to deal with imports
- When and how to use declarative macros to solve your boilerplate (hint: complex constructors and in tests its 🧑🍳👌)
- How to make sure your builds don't suck – hah oh god this one was very annoying to realize and fix in retrospective
- How to build web apps with workers and htmx
- When to async vs when to just use a thread pool
- How to deal with WebAssembly performance problems
- Tracing, and what makes sense to do about it
- How to structure command line applications with clap and structop
- How to make binary parser with bincode
- How to make text parsers with LALRPOP, Logos, recursive descent
- How to structure your programming language frontend
And honestly I'm gonna stop myself from listing more things but trust me there's plenty of stuff to talk about and to learn together as well/
Can't wait to share more of this with you! ✨
If you wanna see anything covered, holler at me: @leostera