Olivia 🦀
@iolivia.me
👩💻 staff eng
🦀 post a lot about rust and rust gamedev
✍️ wrote https://sokoban.iolivia.me
🔥 blog at https://iolivia.me
🧵 weekly #rustlang threads every Thursday - subscribe here https://forms.gle/Tcm7cAkLt4NF9ZCZ9
🦀 post a lot about rust and rust gamedev
✍️ wrote https://sokoban.iolivia.me
🔥 blog at https://iolivia.me
🧵 weekly #rustlang threads every Thursday - subscribe here https://forms.gle/Tcm7cAkLt4NF9ZCZ9
Pinned
Olivia 🦀
@iolivia.me
· Jan 12
Hey all 👋
This year I'll try to stick to Thread Thursdays, which is every Thursday I'll post a thread about #rustlang fundamentals 🦀
My goal is to help you learn 1% more Rust each Thursday, so follow me if you'd like to read them 🦋
Here are some of the best threads so far 🧵👇
This year I'll try to stick to Thread Thursdays, which is every Thursday I'll post a thread about #rustlang fundamentals 🦀
My goal is to help you learn 1% more Rust each Thursday, so follow me if you'd like to read them 🦋
Here are some of the best threads so far 🧵👇
⛔ Error handling in #rustlang with anyhow and thiserror
Error handling in Rust can be a complex topic, especially since a lot of the patterns are different from other languages.
Let's explore some basic options and then go deeper into using anyhow and thiserror crates
🧵👇
Error handling in Rust can be a complex topic, especially since a lot of the patterns are different from other languages.
Let's explore some basic options and then go deeper into using anyhow and thiserror crates
🧵👇
October 30, 2025 at 8:05 AM
⛔ Error handling in #rustlang with anyhow and thiserror
Error handling in Rust can be a complex topic, especially since a lot of the patterns are different from other languages.
Let's explore some basic options and then go deeper into using anyhow and thiserror crates
🧵👇
Error handling in Rust can be a complex topic, especially since a lot of the patterns are different from other languages.
Let's explore some basic options and then go deeper into using anyhow and thiserror crates
🧵👇
Thursday Thread Preview
⛔ Error handling in #rustlang with anyhow and thiserror
👉 In this thread, I’ll break down how to handle errors cleanly and how/when to use Result vs anyhow vs thiserror
Stay tuned, coming out Thursday on 🦋 and 📤
⛔ Error handling in #rustlang with anyhow and thiserror
👉 In this thread, I’ll break down how to handle errors cleanly and how/when to use Result vs anyhow vs thiserror
Stay tuned, coming out Thursday on 🦋 and 📤
October 27, 2025 at 8:19 AM
Thursday Thread Preview
⛔ Error handling in #rustlang with anyhow and thiserror
👉 In this thread, I’ll break down how to handle errors cleanly and how/when to use Result vs anyhow vs thiserror
Stay tuned, coming out Thursday on 🦋 and 📤
⛔ Error handling in #rustlang with anyhow and thiserror
👉 In this thread, I’ll break down how to handle errors cleanly and how/when to use Result vs anyhow vs thiserror
Stay tuned, coming out Thursday on 🦋 and 📤
#rustlang Thursday Threads recap
Organising larger projects w workspaces
bsky.app/profile/ioli...
Memory layout
bsky.app/profile/ioli...
Panics
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email 🦋 🦀
forms.gle/vY6zXE21Dkwa...
Organising larger projects w workspaces
bsky.app/profile/ioli...
Memory layout
bsky.app/profile/ioli...
Panics
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email 🦋 🦀
forms.gle/vY6zXE21Dkwa...
October 26, 2025 at 7:09 AM
#rustlang Thursday Threads recap
Organising larger projects w workspaces
bsky.app/profile/ioli...
Memory layout
bsky.app/profile/ioli...
Panics
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email 🦋 🦀
forms.gle/vY6zXE21Dkwa...
Organising larger projects w workspaces
bsky.app/profile/ioli...
Memory layout
bsky.app/profile/ioli...
Panics
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email 🦋 🦀
forms.gle/vY6zXE21Dkwa...
📁 File IO in #rustlang
File system handling is a core building block of using a language effectively, and Rust makes it pretty ergonomic with the std::fs module.
Let's take a look at how to use File IO APIs in Rust with a real-world example: a grade manager for students and courses 🧵👇
File system handling is a core building block of using a language effectively, and Rust makes it pretty ergonomic with the std::fs module.
Let's take a look at how to use File IO APIs in Rust with a real-world example: a grade manager for students and courses 🧵👇
October 10, 2025 at 9:17 AM
📁 File IO in #rustlang
File system handling is a core building block of using a language effectively, and Rust makes it pretty ergonomic with the std::fs module.
Let's take a look at how to use File IO APIs in Rust with a real-world example: a grade manager for students and courses 🧵👇
File system handling is a core building block of using a language effectively, and Rust makes it pretty ergonomic with the std::fs module.
Let's take a look at how to use File IO APIs in Rust with a real-world example: a grade manager for students and courses 🧵👇
🎢 Understanding VecDeque in #rustlang
We've looked at Vec and HashMap in previous threads, but what about queue usecases?
Let's build a waitlist functionality for our university database and figure out how to use VecDeque
🧵👇
We've looked at Vec and HashMap in previous threads, but what about queue usecases?
Let's build a waitlist functionality for our university database and figure out how to use VecDeque
🧵👇
October 2, 2025 at 7:05 AM
🎢 Understanding VecDeque in #rustlang
We've looked at Vec and HashMap in previous threads, but what about queue usecases?
Let's build a waitlist functionality for our university database and figure out how to use VecDeque
🧵👇
We've looked at Vec and HashMap in previous threads, but what about queue usecases?
Let's build a waitlist functionality for our university database and figure out how to use VecDeque
🧵👇
No threads today but I’ll be back next week!
September 25, 2025 at 7:26 PM
No threads today but I’ll be back next week!
#rustlang Thursday Threads recap
Pattern Matching
bsky.app/profile/ioli...
State Machines
bsky.app/profile/ioli...
Panic
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email forms.gle/vY6zXE21Dkwa... 🦋 🦀
Pattern Matching
bsky.app/profile/ioli...
State Machines
bsky.app/profile/ioli...
Panic
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email forms.gle/vY6zXE21Dkwa... 🦋 🦀
September 20, 2025 at 8:26 AM
#rustlang Thursday Threads recap
Pattern Matching
bsky.app/profile/ioli...
State Machines
bsky.app/profile/ioli...
Panic
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email forms.gle/vY6zXE21Dkwa... 🦋 🦀
Pattern Matching
bsky.app/profile/ioli...
State Machines
bsky.app/profile/ioli...
Panic
bsky.app/profile/ioli...
👉 Subscribe to receive these threads over email forms.gle/vY6zXE21Dkwa... 🦋 🦀
🔒 Visibility in #rustlang
As projects grow, there's more and more code to organise and maintain. Visibility rules help you create clean APIs, prevent accidental misuse of internal code, and make refactoring safer by clearly defining public interfaces.
Let's learn more about it 🧵👇
As projects grow, there's more and more code to organise and maintain. Visibility rules help you create clean APIs, prevent accidental misuse of internal code, and make refactoring safer by clearly defining public interfaces.
Let's learn more about it 🧵👇
September 18, 2025 at 7:05 AM
🔒 Visibility in #rustlang
As projects grow, there's more and more code to organise and maintain. Visibility rules help you create clean APIs, prevent accidental misuse of internal code, and make refactoring safer by clearly defining public interfaces.
Let's learn more about it 🧵👇
As projects grow, there's more and more code to organise and maintain. Visibility rules help you create clean APIs, prevent accidental misuse of internal code, and make refactoring safer by clearly defining public interfaces.
Let's learn more about it 🧵👇
No thread this week, a bit busy but should be back next week!
September 12, 2025 at 6:53 AM
No thread this week, a bit busy but should be back next week!
😱 Panic in #rustlang
What is a panic in Rust, how should you handle it when it happens and when should you use it intentionally in your code?
Let's explore panic in more detail 🧵👇
What is a panic in Rust, how should you handle it when it happens and when should you use it intentionally in your code?
Let's explore panic in more detail 🧵👇
September 4, 2025 at 7:05 AM
😱 Panic in #rustlang
What is a panic in Rust, how should you handle it when it happens and when should you use it intentionally in your code?
Let's explore panic in more detail 🧵👇
What is a panic in Rust, how should you handle it when it happens and when should you use it intentionally in your code?
Let's explore panic in more detail 🧵👇
🧇 Pattern matching in #rustlang
Pattern matching like match, if let and while let are powerful control flow constructs in Rust that allow you to compare a value against a series of patterns and execute code based on which pattern matches.
Do you know all the matching tricks?
Let's find out 🧵👇
Pattern matching like match, if let and while let are powerful control flow constructs in Rust that allow you to compare a value against a series of patterns and execute code based on which pattern matches.
Do you know all the matching tricks?
Let's find out 🧵👇
August 28, 2025 at 7:05 AM
🧇 Pattern matching in #rustlang
Pattern matching like match, if let and while let are powerful control flow constructs in Rust that allow you to compare a value against a series of patterns and execute code based on which pattern matches.
Do you know all the matching tricks?
Let's find out 🧵👇
Pattern matching like match, if let and while let are powerful control flow constructs in Rust that allow you to compare a value against a series of patterns and execute code based on which pattern matches.
Do you know all the matching tricks?
Let's find out 🧵👇
🎓 State Machines in #rustlang
Ever wondered how to model something that changes over time like a student’s journey from an applicant to a graduate safely in Rust? How do you stop a student from graduating before they even apply?
Let’s explore how to model state machines 🧵👇
Ever wondered how to model something that changes over time like a student’s journey from an applicant to a graduate safely in Rust? How do you stop a student from graduating before they even apply?
Let’s explore how to model state machines 🧵👇
August 21, 2025 at 7:05 AM
🎓 State Machines in #rustlang
Ever wondered how to model something that changes over time like a student’s journey from an applicant to a graduate safely in Rust? How do you stop a student from graduating before they even apply?
Let’s explore how to model state machines 🧵👇
Ever wondered how to model something that changes over time like a student’s journey from an applicant to a graduate safely in Rust? How do you stop a student from graduating before they even apply?
Let’s explore how to model state machines 🧵👇
📤 #rustlang newsletter email will be sent on Sunday/Monday for the last thread, I'm away for a few days and I haven't yet automated it, stay tuned!
August 15, 2025 at 7:28 AM
📤 #rustlang newsletter email will be sent on Sunday/Monday for the last thread, I'm away for a few days and I haven't yet automated it, stay tuned!
🎡 Memory layout in #rustlang
Have you ever wondered how Rust manages memory layout and how structs you create are actually laid out? This is very important in memory constrained usecases, but also useful to know in general.
Let's take a look at some examples and optimisations 🧵👇
Have you ever wondered how Rust manages memory layout and how structs you create are actually laid out? This is very important in memory constrained usecases, but also useful to know in general.
Let's take a look at some examples and optimisations 🧵👇
August 14, 2025 at 7:05 AM
🎡 Memory layout in #rustlang
Have you ever wondered how Rust manages memory layout and how structs you create are actually laid out? This is very important in memory constrained usecases, but also useful to know in general.
Let's take a look at some examples and optimisations 🧵👇
Have you ever wondered how Rust manages memory layout and how structs you create are actually laid out? This is very important in memory constrained usecases, but also useful to know in general.
Let's take a look at some examples and optimisations 🧵👇
🦀 Recap of recent #rustlang threads:
Procedural Macros bsky.app/profile/ioli...
Organizing Larger Projects
bsky.app/profile/ioli...
Writing a simple CLI
bsky.app/profile/ioli...
Any and downcasting
bsky.app/profile/ioli...
👉 Subscribe to the email newsletter: forms.gle/cF4Y61JNJ5kJ...
Procedural Macros bsky.app/profile/ioli...
Organizing Larger Projects
bsky.app/profile/ioli...
Writing a simple CLI
bsky.app/profile/ioli...
Any and downcasting
bsky.app/profile/ioli...
👉 Subscribe to the email newsletter: forms.gle/cF4Y61JNJ5kJ...
Rust Threads Newsletter
Get bite-size Rust Threads about fundamental concepts and practical usage right in your inbox every Thursday.
Checkout this for a sample of previous threads:
https://bsky.app/profile/iolivia.me/post/...
forms.gle
August 10, 2025 at 6:00 AM
🦀 Recap of recent #rustlang threads:
Procedural Macros bsky.app/profile/ioli...
Organizing Larger Projects
bsky.app/profile/ioli...
Writing a simple CLI
bsky.app/profile/ioli...
Any and downcasting
bsky.app/profile/ioli...
👉 Subscribe to the email newsletter: forms.gle/cF4Y61JNJ5kJ...
Procedural Macros bsky.app/profile/ioli...
Organizing Larger Projects
bsky.app/profile/ioli...
Writing a simple CLI
bsky.app/profile/ioli...
Any and downcasting
bsky.app/profile/ioli...
👉 Subscribe to the email newsletter: forms.gle/cF4Y61JNJ5kJ...
#rustlang threads newsletter just being sent, in case you missed this! 📥
🏒 Any and downcasting in #rustlang
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇
August 8, 2025 at 7:09 AM
#rustlang threads newsletter just being sent, in case you missed this! 📥
🏒 Any and downcasting in #rustlang
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇
August 7, 2025 at 8:26 AM
🏒 Any and downcasting in #rustlang
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇
Have you ever run into the Any trait browsing library code and didn't know what it was for? Or have you found yourself needing to interpret a trait object at runtime into a concrete type?
Let's learn about Any and downcasting 🧵👇