Rust for Linux Drama Nears Endgame
Today’s Issue: Rust to Power the Mission to Land Blue Ghost on the Moon, Zlib-Rs Is Faster Than C, and Abusing Async/Await for “Coding Crimes”
Hello Rustaceans! 🦀
Welcome to another edition of Rust Bytes.
Big news: Rust for Linux just hit a crossroads—drama over or just beginning? We will discuss this unexpected twist.
In this issue, we will challenge you to implement a solution for the valid parentheses problem, spotlight an amazing Rust project, and share some incredible links of the week.
Here’s issue 56 for you!
THE MAIN THING
Rust for Linux Drama Nears Endgame
The Rust for Linux project has been an ambitious effort to add support for the Rust programming language to the Linux kernel.
Since its inception in 2020, it has been marked by both significant achievements and ongoing drama.
The past few weeks have been filled with tension between maintainers and contributors on both sides.
It all began with criticism from some maintainers and contributors regarding Rust's inclusion in the Linux kernel.
While Rust has been gaining traction and adoption in other areas, its integration into the Linux kernel has faced a different reception.
On August 2024, Wedson Almeida Filho resigned from his role in the project, citing frustration and sabotage by a select group of Linux core maintainers.
A few months later, on February 7th of this year, Hector Martin also stepped aside from the project. It all began when Christoph Hellwig sent this email.
“…The only reason Linux managed to survive so long is by not having internal boundaries, and adding another language complely breaks this. You might not like my answer, but I will do everything I can do to stop this. This is NOT because I hate Rust. While not my favourite language it's definitively one of the best new ones and I encourage people to use it for new projects where it fits. I do not want it anywhere near a huge C code base that I need to maintain.”
The statement drew significant attention from the community and maintainers alike.
Some speculated that it could be an attempt to sabotage the Rust for Linux (RFL) project in the kernel, while others argued it raised valid points for the RFL maintainers to consider.
A few days later, the conversation appeared to calm down, especially after Linus Torvalds stepped in and clarified that the Rust abstraction for the DMA mapping layer would likely be included and merged.
Following this announcement, Christoph Hellwig stepped down from his role as maintainer of the DMA-mapping project.
Although he hasn’t written or provided any public explanation (at the time of writing this), it’s reasonable to assume this decision reflects his unchanged stance on the matter.
Afterthought
I can’t help but admire the ambition behind bringing Rust into the Linux kernel, its promise of safer, cleaner code is hard to ignore.
Yet, Christoph Hellwig’s email hit a nerve that resonates with me: Linux has thrived for decades on a unified, battle-tested foundation, and introducing a new language risks fracturing that harmony.
Linus Torvalds stepping in to greenlight Rust’s DMA abstraction feels like a pragmatic middle ground.
Looking ahead, I’d guess Rust will carve out a niche in the kernel, maybe in isolated layers, but don’t expect a full takeover anytime soon.
Still, as Rust keeps winning fans elsewhere, the pressure to adapt might just soften Linux’s hard edges over time.
What do you think, should Linux embrace Rust wholeheartedly, or is this a risky endeavour?
Let me know what you think below.
RUST CHALLENGE 🦀
In the previous issue, we challenged you to implement a solution for the longest increasing subsequence.
A big thanks to everyone who took on the challenge. You can find our solution on Rust Playground.
Let's move on to this weeks challenge.
Valid Parentheses
You are given a string containing just the characters (
, )
, {
, }
, [
and ]
. Write a function is_valid
that checks if the string has valid parentheses.
A valid parentheses expression has every opening parenthesis with a corresponding closing parenthesis.
Example:
assert_eq!(is_valid("()[]{}".to_string()), true); // Valid
assert_eq!(is_valid("([)]".to_string()), false); // Invalid
assert_eq!(is_valid("{[()]}".to_string()), true); // Valid
assert_eq!(is_valid("((()".to_string()), false); // Invalid
Test your solution on Rust Playground. Once completed, please share your code on Twitter, or reply to this email.
PROJECT SPOTLIGHT 💡
Sniffnet
Sniffnet is a powerful, cross-platform application designed to help you comfortably monitor and analyze your internet traffic.
It provides a user-friendly graphical interface that simplifies network monitoring, allowing users to gain valuable insights into their online activities.
Whether you're troubleshooting connectivity issues, monitoring your bandwidth usage, or ensuring network security, Sniffnet provides the tools you need to keep your internet traffic under control.
Why Sniffnet Rocks:
Sniffnet works seamlessly across Windows, macOS, and Linux.
Comprehensive traffic insights to gain deep visibility into your network activity with overall statistics, real-time charts, and the ability to monitor specific connections.
You can export detailed network capture reports in PCAP format, which is the standard format for packet capturing and analysis, allowing you to share and analyze network traffic in detail.
Sniffnet can detect over 6000 network services, protocols, trojans, and worms, providing security insights into what’s happening on your network in real-time.
Sniffnet also supports multiple languages (12+ languages), allowing anyone to benefit from its powerful features.
This tool is an essential tool if you want to understand and manage your internet traffic, whether for personal use or for professional network administration.
Give it a spin and see what secrets your network is hiding.
You can find Sniffnet on GitHub.
AWESOME LINKS OF THE WEEK 🔗
The brilliant folks at Trifecta Tech Foundation just dropped zlib-rs v0.4.2, and let me tell you, their blog post: zlib-rs is faster than C, is giving major "we cracked the code" energy—literally.
Chris Rabotin, the author of Nyx Space tools, just blogged about “Nyx Space and Rust Power Firefly's Blue Ghost Lunar Landing”. Looks like Rust isn’t just for Earth anymore—it’s going out of this world.
Niko Matsakis' latest write-up on View Types Redux and Abstract Fields is a must-read for any Rustacean. Don’t miss it.
The Rust Nation UK 2025 conference talk recordings are now available. If, like me, you missed the conference, you've got the perfect binge-watch lineup for this week. [video]
Micah Wylde, CEO of Arroyo, just wrote about Fast columnar JSON decoding with arrow-rs.
Innes Anderson-Morrison penned an interesting article titled Socrates is a State Machine. It’s a wild ride through Rust’s async/await features — complete with a sprinkle of "coding crimes" and a cheeky nod to Python’s coroutine roots.
Preston Thorpe wrote about Calling Rust from cursed Go.
The nerds at Zama released TFHE-rs v1.0: Stable CPU Backend. TFHE-rs is a pure Rust implementation of the TFHE Scheme for Boolean and Integer Arithmetics Over Encrypted Data.
Frank Lyaruu has a cool tutorial on creating a USB game controller with the ESP32 and Rust. [video]
The RustWeek event organizers have announced the workshop dates and speaker lineup. Mark your calendars for Thursday, May 15th, at DUS Utrecht.
CodeCrafters: Become a Better Rust Engineer
CodeCrafters created amazing Rust courses that push your skills beyond the basics.
You’ll have fun building real-world projects from scratch, including Git, Redis, SQLite, Grep, BitTorrent, HTTP Server, an Interpreter, and DNS.
The courses are self-paced, so you can learn at your own speed.
If you’re itching to level up your Rust skills, these courses are perfect for you.
Here’s what makes CodeCrafters stand out:
Learn by building projects that challenge you beyond just implementing CRUD features.
Strengthen your fundamentals by working on awesome low-level projects.
Get really good at reading and writing idiomatic Rust code.
Join a community of talented engineers from MAANG companies and learn best practices from the pros.
Plus, take part in monthly contests for a chance to win exciting prizes.
Sign up now and start building your Rust expertise today. [affiliate]
SUPPORT RUST BYTES👋
You're Rust Bytes biggest fans, and we love to see it.
Here’s how you can help spread the word:
❤️ Recommend Rust Bytes to your friends.
🤳 Connect with us on our socials: X, Rustaceans Publication.
📨 Email us at rustaceanseditors@gmail.com with feedback or ideas.
☕️ Buy us a coffee to support our editors.
I’ve been listening to Afrobeat while working on this issue. Wishing you all the best this new month.
That's all for now, Rustaceans.
John & Elley.
I'm learning Rust, so these challenges have been super helpful.
I couldn't find the post on Twitter to share my code, so here it is.
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=55e70d0413a5ab5b871ece914e564b4e