Tim McNamara
@timclicks.dev
Trainer and consultant on the Rust programming language. Author of Rust in Action. Team climate. Walkable neighbourhoods are nice, actually.
Signal: @timclicks.01
Signal: @timclicks.01
It looks as though Apple is adding WSL to macOS. Perhaps 2026 is the year of the Linux desktop? apple.github.io/containeriz...
November 11, 2025 at 8:23 PM
It looks as though Apple is adding WSL to macOS. Perhaps 2026 is the year of the Linux desktop? apple.github.io/containeriz...
Rust has a few known code patterns that cause undefined behavior in Rust which have their lint level set to warning, rather than error.
(Links to references at the end of the thread)
(Links to references at the end of the thread)
November 9, 2025 at 11:34 PM
Rust has a few known code patterns that cause undefined behavior in Rust which have their lint level set to warning, rather than error.
(Links to references at the end of the thread)
(Links to references at the end of the thread)
Raw pointers have a "guaranteed_eq" method that's even more guaranteed than the Eq trait.
November 7, 2025 at 12:31 AM
Raw pointers have a "guaranteed_eq" method that's even more guaranteed than the Eq trait.
Why do computer scientists use the word "atomic" in phrases such as "atomic operation" and "atomic type"?
November 4, 2025 at 11:26 PM
Why do computer scientists use the word "atomic" in phrases such as "atomic operation" and "atomic type"?
To understand what that that means, take a look at this code:
if 1 > -7 {
println!("🍎");
} else {
println!("🍐");
}
The compiler can deduce that one is greater negative seven, so it doesn't need to compile the "else" side. The whole conditional can be eliminated.
if 1 > -7 {
println!("🍎");
} else {
println!("🍐");
}
The compiler can deduce that one is greater negative seven, so it doesn't need to compile the "else" side. The whole conditional can be eliminated.
November 4, 2025 at 1:17 AM
To understand what that that means, take a look at this code:
if 1 > -7 {
println!("🍎");
} else {
println!("🍐");
}
The compiler can deduce that one is greater negative seven, so it doesn't need to compile the "else" side. The whole conditional can be eliminated.
if 1 > -7 {
println!("🍎");
} else {
println!("🍐");
}
The compiler can deduce that one is greater negative seven, so it doesn't need to compile the "else" side. The whole conditional can be eliminated.
Let's start with some code. For slightly esoteric reasons about how computers are built, the may_overflow function is only allowed to be called with numbers between -2,147,483,648 (approx. -2.1 billion) and 0 inclusive.
November 4, 2025 at 1:17 AM
Let's start with some code. For slightly esoteric reasons about how computers are built, the may_overflow function is only allowed to be called with numbers between -2,147,483,648 (approx. -2.1 billion) and 0 inclusive.
Today, I've been spending too much time wondering about what the safety comment in this example should be. play.rust-lang.org/?version=st...
October 30, 2025 at 4:30 AM
Today, I've been spending too much time wondering about what the safety comment in this example should be. play.rust-lang.org/?version=st...
In case you were curious, the situation was resolved by discretely adding support to the upstream package:
a
a
October 30, 2025 at 12:00 AM
In case you were curious, the situation was resolved by discretely adding support to the upstream package:
a
a
So, why are they re-implementing a mature software package anyway?
The main reason is portability. It's almost easier to build Rust programs for multiple operating systems than to port a large C codebase that's platform-specific.
The main reason is portability. It's almost easier to build Rust programs for multiple operating systems than to port a large C codebase that's platform-specific.
October 30, 2025 at 12:00 AM
So, why are they re-implementing a mature software package anyway?
The main reason is portability. It's almost easier to build Rust programs for multiple operating systems than to port a large C codebase that's platform-specific.
The main reason is portability. It's almost easier to build Rust programs for multiple operating systems than to port a large C codebase that's platform-specific.
If you visit the uutils/coreutils-tracking project on Github, you'll actually discover that they automatically test conformance over time and publish results automatically. It's improving, but far from perfect.
October 30, 2025 at 12:00 AM
If you visit the uutils/coreutils-tracking project on Github, you'll actually discover that they automatically test conformance over time and publish results automatically. It's improving, but far from perfect.
Importantly - uutils makes no claims that it's ready to be used at this scale (yet)
The test coverage page in the documentation linked to from the README makes it clear that there are gaps in the test compatibility.
The test coverage page in the documentation linked to from the README makes it clear that there are gaps in the test compatibility.
October 30, 2025 at 12:00 AM
Importantly - uutils makes no claims that it's ready to be used at this scale (yet)
The test coverage page in the documentation linked to from the README makes it clear that there are gaps in the test compatibility.
The test coverage page in the documentation linked to from the README makes it clear that there are gaps in the test compatibility.
Did you hear that Rust broke Ubuntu updates?
That's right, or at least that's what it seems like at first look. A component added to Ubuntu that's written in Rust was broken, and that prevented automatic updates.
That's right, or at least that's what it seems like at first look. A component added to Ubuntu that's written in Rust was broken, and that prevented automatic updates.
October 30, 2025 at 12:00 AM
Did you hear that Rust broke Ubuntu updates?
That's right, or at least that's what it seems like at first look. A component added to Ubuntu that's written in Rust was broken, and that prevented automatic updates.
That's right, or at least that's what it seems like at first look. A component added to Ubuntu that's written in Rust was broken, and that prevented automatic updates.
Woah Windows. You really have changed.
October 28, 2025 at 11:59 PM
Woah Windows. You really have changed.
Pointers are quite hard.
October 6, 2025 at 11:32 PM
Pointers are quite hard.
Why must I be like this?
October 2, 2025 at 11:25 PM
Why must I be like this?
When a bot with 100k followers drops into your mentions, I suppose it's only fair to respond politely,,
September 9, 2025 at 2:35 AM
When a bot with 100k followers drops into your mentions, I suppose it's only fair to respond politely,,
There are so many people who need to be thanked repeatedly, but these two women are really what lifted us from very good to excellent. Thank you Tash and Amber - incredible.
August 31, 2025 at 11:39 PM
There are so many people who need to be thanked repeatedly, but these two women are really what lifted us from very good to excellent. Thank you Tash and Amber - incredible.
But wait .. there's more (It's also nice to see that our night tour was mentioned - WHERE WE SAW LIVE KIWI)
August 31, 2025 at 11:39 PM
But wait .. there's more (It's also nice to see that our night tour was mentioned - WHERE WE SAW LIVE KIWI)
Here's Mikey (the creator of the glowing LED cube)
August 31, 2025 at 11:39 PM
Here's Mikey (the creator of the glowing LED cube)
People are saying so many nice things. It's really quite hard to take in.
August 31, 2025 at 11:39 PM
People are saying so many nice things. It's really quite hard to take in.
I created some new banner art for Rust Forge this morning. What do you think?
August 12, 2025 at 12:56 AM
I created some new banner art for Rust Forge this morning. What do you think?
Rust Forge is a tech conference for stable, secure and energy efficient computing (& I'm totally down for it)
August 11, 2025 at 5:38 AM
Rust Forge is a tech conference for stable, secure and energy efficient computing (& I'm totally down for it)
Maybe the Rust compiler could incorporate a teaching mode that would allow emoji identifiers like 🫠:
August 7, 2025 at 4:49 AM
Maybe the Rust compiler could incorporate a teaching mode that would allow emoji identifiers like 🫠:
So, Trump's added a USD 250 "visa integrity fee" for visitor visas among others..
...you know, you don't need to go to the USA to go to an amazing Rust conference this year. You've got options.
...you know, you don't need to go to the USA to go to an amazing Rust conference this year. You've got options.
July 21, 2025 at 3:03 AM
So, Trump's added a USD 250 "visa integrity fee" for visitor visas among others..
...you know, you don't need to go to the USA to go to an amazing Rust conference this year. You've got options.
...you know, you don't need to go to the USA to go to an amazing Rust conference this year. You've got options.
4. BE ACTIVE IN THE DISCORD SERVER
Make it easier for people to remember you by participating in discussions online. There are hundreds of people already there.
It's pretty easy to find. Open up the Rust Forge website and there's a button right there. Look for the word "Discord".
Make it easier for people to remember you by participating in discussions online. There are hundreds of people already there.
It's pretty easy to find. Open up the Rust Forge website and there's a button right there. Look for the word "Discord".
July 21, 2025 at 1:50 AM
4. BE ACTIVE IN THE DISCORD SERVER
Make it easier for people to remember you by participating in discussions online. There are hundreds of people already there.
It's pretty easy to find. Open up the Rust Forge website and there's a button right there. Look for the word "Discord".
Make it easier for people to remember you by participating in discussions online. There are hundreds of people already there.
It's pretty easy to find. Open up the Rust Forge website and there's a button right there. Look for the word "Discord".