Bringing Rust To Mozilla Thunderbird | April 2024 Office Hours

  Рет қаралды 2,599

Mozilla Thunderbird

Mozilla Thunderbird

Күн бұрын

The three developers behind the effort to bring native Microsoft Exchange support to Thunderbird join us to discuss their adventures in Rust, and explain the long-term benefits and steep challenges associated with this project. (NOTE TO VIEWERS: This is a highly technical conversation.)
👀 COMPANION BLOG: Adventures In Rust | Bringing Exchange Support To Thunderbird blog.thunderbird.net/2024/04/...
🔗 NEED SUPPORT?
* Thunderbird Community Support: mzla.link/tbirdhelp
* Thunderbird SubReddit: / thunderbird
📥 Download Thunderbird: thunderbird.net
✅ Donate To Thunderbird: give.thunderbird.net
➡️ Thunderbird On Twitter: / mozthunderbird
➡️ Thunderbird On Mastodon: mastodon.online/@thunderbird
➡️ Thunderbird On LinkedIn: / thunderbird-email
CHAPTERS:
00:00 Quick Intro
00:57 Why Support Exchange in Thunderbird?
02:18 The complicated history of Thunderbird
05:36 Why we chose Rust
07:48 The problems we encountered
09:27 How we solved (some of) them
12:31 What's next?
13:56 Ikey's exploration and role
15:28 Why is this so important?
19:04 What are the wins for adopting Rust?
21:45 Why write our own serialization/de-serialization code instead of using SERDE?
25:03 Why support EWS and not Graph API?
31:31 What's the debugging story like?
38:10 C++ vs Rust compilation
41:25 When will calendar and address book support happen?
43:44 How can the community contribute?
47:59 Roland's Support Spotlight

Пікірлер: 24
@thunderbirdproject
@thunderbirdproject 19 күн бұрын
This companion blog has some links and resources you might appreciate: blog.thunderbird.net/2024/04/adventures-in-rust-bringing-exchange-support-to-thunderbird/
@StiekemeHenk
@StiekemeHenk 19 күн бұрын
The chapters are a great addition to this long format. Thanks!
@thunderbirdproject
@thunderbirdproject 16 күн бұрын
Glad you think so! I thought about chopping this up into segments like we did with the last Office Hours, but ultimately this was such a focused and technical conversation that it all belonged together.
@StiekemeHenk
@StiekemeHenk 19 күн бұрын
I really believe thunderbird is the very best mail client. But it's still very far from perfect. Some basic things like silent startup and staying in the tray should be built-in for example.
@thunderbirdproject
@thunderbirdproject 16 күн бұрын
Good feedback, thanks! Want to let you know we're actively working on Linux system tray support beginning next month.
@StiekemeHenk
@StiekemeHenk 15 күн бұрын
@@thunderbirdproject great work ❤️ thanks
@bluesquare23
@bluesquare23 18 күн бұрын
There is a category of people in the world known as _uber nerds_ . You are among this group.
@thunderbirdproject
@thunderbirdproject 16 күн бұрын
Thank you... we think? :D
@Meche697
@Meche697 16 күн бұрын
Bring Firebird changes. More stable than Thunderbird
@purpasmart_4831
@purpasmart_4831 18 күн бұрын
Switch to Golang.
@Heater-v1.0.0
@Heater-v1.0.0 16 күн бұрын
Why would they want to make a retrograde step?
@purpasmart_4831
@purpasmart_4831 15 күн бұрын
@@Heater-v1.0.0 Go has better syntax, faster compile times, and overall a faster production time to get a project done.
@Heater-v1.0.0
@Heater-v1.0.0 15 күн бұрын
@@purpasmart_4831 The beauty of syntax is in the eye of the beholder. Certainly compilation is slower in Rust. But typically one is not compiling ferociously all day, one writes code, the IDE highlights errors immediately as you type, an occasional "cargo check" ensures the thing builds. I don't find total time to production, from idea to designed, written, reviewed, tested, debugged, rolled out to be noticeably slower. Meanwhile one gains all the advantages Rust offers.
@alecaddd
@alecaddd 7 күн бұрын
@@purpasmart_4831 Every Rust developer can say the same thing about Go. It's all a matter of prospective and we chose what makes sense for us and what is logical for our expertise.
@branjosnow6244
@branjosnow6244 11 күн бұрын
Whatever they've done over the last few updates has just caused me to uninstall it. I'm just sick of it hanging the system. It's garbage now.
@alecaddd
@alecaddd 7 күн бұрын
It would be more helpful if you could report the bug and help us fix the issue you're experiencing. We're gaining users every month and our 20 million active users are using it without their system hanging.
@branjosnow6244
@branjosnow6244 7 күн бұрын
@@alecaddd last update, starts normal then immediately hangs, takes ages to download emails, (500mb connection) select any email to read, hangs for about 5 seconds per click before the email can be viewed. Didn't do that a few weeks ago. Nothing has changed in my system, no OS updates. And it's not my job to beta test things for ya. I use what works and discard what doesn't. Using Proton now.
@alecaddd
@alecaddd 6 күн бұрын
@@branjosnow6244 Having this report in bugzilla with some steps to reproduce would be much more helpful than a rant in a youtube comment. We're a small group of developers maintaining and shipping a free and open source application for million of users, and regardless if you like it or not, we need the help of those users in telling us when things are broken.
@user-vm9mu5ul1h
@user-vm9mu5ul1h 18 күн бұрын
Thunderbird has turned into an abysmal performance hog, lately. Why? Do we really need all this Rust?
@szaszm_
@szaszm_ 18 күн бұрын
If anything, replacing poorly maintained code with new Rust modules should help the team clean up the old code that they don't really understand, and that's probably adding a lot of the overhead and turning Thunderbird into a performance hog. I'm not involved with Thunderbird, but I'm doing C++ development, and learning Rust. Going with a stricter language can help future maintenance: if a change doesn't fit well into the original vision, it will more likely raise a compiler error, instead of silently working in a suboptimal way. C++ is fairly strict, but Rust is even stricter. Rust is also "zero overhead", so there is no inherent runtime cost of using the language, over hand-writing assembly, like C and C++, but unlike Java, C#, Python, JS, Go, etc.
@zacbackas
@zacbackas 18 күн бұрын
lmao what a funny thing to say
@NabekenProG87
@NabekenProG87 18 күн бұрын
Lately? As I understand this is gated behind a feature flag, so these changes could not have influenced your experience. I could only think of Rust code inside Firefox (on which Thunderbird is build) having any impact. But why do you think Rust code is slow? If anything C/C++/Rust are very close in performance, C beeing the fastest, but Firefox is mostly written in C++. The choice of language having any impact doesn't make any sense here
@Heater-v1.0.0
@Heater-v1.0.0 16 күн бұрын
You say that as if Rust would introduce a performance penalty. Which is not the case, Rust produces code that flys as well as C++. I think the reasons for adopting Rust were well spelled out in the discussion.
@alecaddd
@alecaddd 7 күн бұрын
Funny you say this since the version of Thunderbird you're running is not shipping Rust as everything is behind a flag and only available since version 126 alpha.
Google IO 2024 Full Breakdown: Google is RELEVANT Again!
27:35
Matthew Berman
Рет қаралды 39 М.
Dear GitHub, Why Did You Release This?
28:16
Theo - t3․gg
Рет қаралды 60 М.
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Рет қаралды 123 МЛН
I PEELED OFF THE CARDBOARD WATERMELON!#asmr
00:56
HAYATAKU はやたく
Рет қаралды 30 МЛН
НЕОБЫЧНЫЙ ЛЕДЕНЕЦ
00:49
Sveta Sollar
Рет қаралды 7 МЛН
Why do developers hate Rust?
8:20
Let's Get Rusty
Рет қаралды 88 М.
Thunderbird: a Free, Open Source, and Powerful Email Client
15:34
ADD-ONS | Thunderbird Community Office Hours
49:30
Mozilla Thunderbird
Рет қаралды 747
Google CEO Sundar Pichai and the Future of AI | The Circuit
24:02
Bloomberg Originals
Рет қаралды 1,5 МЛН
Thunderbird for Android: Should You Upgrade From K-9 Mail?
5:16
Mozilla Thunderbird
Рет қаралды 2,7 М.
Why JavaScript Devs are Switching to Rust in 2024
10:35
warpdotdev
Рет қаралды 239 М.
You Can Do WHAT With Your Email Client!?
7:55
Mozilla Thunderbird
Рет қаралды 21 М.
Don't Contribute to Open Source
9:55
Theo - t3․gg
Рет қаралды 211 М.
Unreasonably Easy Console Apps in Rust
1:54:16
Tsoding Daily
Рет қаралды 87 М.
INSANE OpenAI News: GPT-4o and your own AI partner
28:48
AI Search
Рет қаралды 305 М.
Самая важная функция в телефоне?
0:27
Опросный
Рет қаралды 216 М.
Наушники Ой🤣
0:26
Listen_pods
Рет қаралды 484 М.
Готовый миниПК от Intel (но от китайцев)
36:25
Ремонтяш
Рет қаралды 309 М.
Самый маленький Iphone в мире!📱(@ghoul.arena)
0:22
Взрывная История
Рет қаралды 1,3 МЛН
Вы поможете украсть ваш iPhone
0:56
Romancev768
Рет қаралды 541 М.
Пленка или защитное стекло: что лучше?
0:52
Слава 100пудово!
Рет қаралды 1,6 МЛН