I’m getting fed up about all those articles “rust x something: the future?”, “I rewrote <cli tool> in rust it’s now memory safe”. I get the rust safeties and all, but that doesn’t automatically make everything great, right ? You can still write shit code in any language that can RM -rf all your disk, or let security gaps here and there without intending to.
It does make stuff great. Even Microsoft is trying out Rust in their shit operating system because apparently 30% of all CVEs are related to, you guessed it, memory issues. And Rust will most likely solve them all. Even the Linux kernel has Rust code in it now. If Rust was not of importance, why would the Linux kernel get rusty? Especially Linus Torvalds is very strict about these things. Sure, bad code rewritten in Rust does not make it any better than it originally was. Plus you get C-like speed with good syntax and memory safety, what more could you ask for?
Yes security issues will remain a problem no matter what language was used. You are talking about the possibility of a logic flaw being there, whereas rust ‘just’ prevents memory corruption.
Which is the more common security issue? Memory corruption by a mile. That’s why many are excited by the rust rewrite
So you’re right it isn’t literally everything, but I’m not sure what would be. What would make you not fed up about it?
The Evolution email client is pretty great, and FairEmail for Android.
K-9 mail is better
K-9 mail is eventually going to become Thunderbird for Android, just for anyone who didn’t know.
Different people, different taste.
I love FairEmail because of its “millions” of settings and the privacy features, for an example if you press a link, you’ll get a popup with options (for an example, what app you want to open the link with). And if the link contains trackers, FairEmail will remove these by default and saying “tracking parameters removed” with yellow text in bold.
K-9 Mail feels incomplete in comparison. Have you tried FairEmail?
The fairmail F-droid version was broken last time I used it
Use the Github release for gmail
And when was “last time”? :) I have been using F-Droid for FairEmail since I tried the email client for the first time few years ago and I have never got any issues. Just updated FairEmail while writing this comment. Works just fine :)
K-9 mail is what I originally used, but it isn’t supported or being developed any more. There were some weird issues that I can’t remember now that caused me to switch to FairEmail.
K-9 mail… isn’t supported or being developed any more.
That’s not true. They make frequent-enough releases, they post monthly progress reports, and they are actually going to become Thunderbird’s Android version.
Having said that, I almost switched to FairEmail because K-9 lacked support for some sort of authentication measure (which I no longer need), but that wasn’t because K-9 stopped development.
They must have started again. It was a dead project when I switched to FairEmail. I’m glad to hear it, because it’s a good program.
As a Thunderbird user and Rust fan, I approve this integration. However I want to mention that Thunderbird is good as it is and actually don’t think new features are needed. Only compatibility with other software or protocols could be better (which the Rust integration aims to improve). And to be honest, a way to disable some of the feature bloat would be preferable too, as I don’t use lot of the additional stuff (but I make use of the RSS Feed reader).
JMAP support would make a huge difference to expand the only open/free (as in speech) competition Exchange has.
Agreed. Self hosting email with JMAP support has become easier with Stalwart. More email clients with JMAP support would be nice.
What’s JMAP?
Please correct me if I’m wrong, but doesn’t this allow one to represent virtually any resource as a mail inbox/outbox with access through a generic mail app?
I’m working with a specialized healthcare company right now, and this looks like a way to represent patient treatments data as an intuitive timeline of messages. With a local offline cache in case of outages. Security of local workstations is a weak point of course, but when is it not…
Yes, but that is always possible with most protocols, including imap.
Take a look a FUSE and you will see all the creative things people have done with filesystems. Or DNS, lots of fun things have been done with that also.
Thunderbird still uses mbox. Maildir is incomplete and experimental.
I really wish we could use maildir.
Yes it was shocking to learn about the file format. I reverse engineered the stuff that I need to know and its a complex mess of noodle soup (later found a description of it, but its not fully documented by Mozilla either). I am surprised that Thunderbird still uses this ancient and inefficient format.
Thunderbird is my kind of bird
Integrate with GTK and Qt first
Not a single screenshot was provided.
Who cares ? What matters is the features and how fast the app is. Not what language was used to achieve that.
Rust is wildly fast. Learning that it is being used for a program is good to know if you care about speed. If you read the article, it even addresses your exact critiques:
Moreover, Rust has demonstrated superior performance compared to JavaScript add-ons, resulting in a quicker and more responsive Thunderbird. Furthermore, the integration of Rust into Thunderbird will be facilitated by the fact that it is already utilized in Firefox, enabling Thunderbird to leverage existing infrastructure for testing and continuous integration.
So not only with thunderbird be faster because Rust is faster than JavaScript, but it eliminates 3rd party addons by being native which also further increases speed. Lastly, development time for new features and improvements is faster because they can now use using the mature tooling that Mozilla has for Rust.
So yeah, good to know its using Rust now.
I wrote a simple commandline program in Rust to read mailbox file from Thunderbird and to output count of unread mails. The speed is insanity! Measuring the execution time with command
time CMD
outputs execution time of total0m0,001s
! While also providing all the features and checks from Rust (plus Clippy with pedantic options enabled), so I am confident it is not a buggy mess. I would need at least 10 years of professional experience in C to have this feeling of confidence.The improvement here is switching from interpreted to compiled. It could have been C, Zig, Odin, or even C++ (but thank Satan it isn’t C++)
I’m not sure I understand why people like Rust over C, although I don’t have that much experience in enterprise coding. I’m generally distrustful of languages without a standardized specification, and I don’t really like that Rust has been added to the Linux Kernel. Torvalds giving in to public opinion isn’t something I thought I’d live to see…
I get the segmentation fault thing, but to be blunt, that sounds like a skill issue more than an actual computer science problem.
Maybe if things were less rushed and quality control was regarded more highly, we wouldn’t have such insanities as an email client (or an anything client) written in JavaScript in the first place.
Rust is likely going to suffer the same problem as JS, where people indirectly include 6,000 crates and end up with 30 critical CVEs in their email client that they can’t even fix because the affected crate was abandoned 5 years ago…
This “skills issue” thing just sounds so stupid in my ears. I am sick of reading it.
So, I am choosing a language that I hope will ensure fast, secure, and sophisticated code for my project. It has to do this for code I write, my team writes, and all future maintainers and contributors will write as well. If I choose a language that makes it easy to write unstable, fragile, and insecure code then “the skills issue” applies more to my lack of capability as an architect than it does the coders that come after me.
Stop saying, “well ya, it is super easy to make these mistakes in this language but that would never happen if you are as awesome as I am” and thinking that sounds like an intelligent argument for your language choice. There are better options. Consider them.
Obviously it’s a skill issue but don’t you ever make mistakes? If Rust prevents some bugs and makes you more productive, what is not to like? It’s a new language and takes time to learn but the benefits seem to outweigh the downsides now and certainly in the long run (compared to C at least).
Maybe Torvalds didn’t give in to public opinion but made an informed choice?
The crates are a bit of a problem and I think Rust is a bit overhyped for high-level problems (it still requires manual memory management after all) but those are not principal roadblockers, especially in the kernel.
I’m not sure I understand why people like Rust over C, although I don’t have that much experience in enterprise coding.
I’d actually say that Rust is more popular in open-source projects. The reason people like it is because it’s WAY safer than C or C++ while being literally just as fast if not faster. I’m still in the process of learning it though so I can’t speak to your other points.
It is worth mentioning that the White House recommends Rust over C/C++ due to its very notable safety advantage over classic languages.
Somehow it sounds quite weird that the white house has such a recommendation. NIST, or the NSA? That would be easier to understand because they deal with code and algorithms but the white house?
I don’t know, I’m not american, I just read the news about it.
A few hours later I have read it too, possibly the same website. Still weird.
Any bug is a skill issue. There’s literally 0.001% of programmers who are dealing with computer science problems and they are all compiler writers
Why does every mention of Rust have to spawn these comments?
The story right after this one for me is how KeepassXC is porting to Qt6. I bet nobody has knee-jerk responded to that story bitching about the fact that they mentioned Qt. It is just the anti-Rust zealots that do this.
This article talks about the problems they were trying to solve, the tools they chose, and how those tools solve those problems. What is wrong with that?
Are you offering up informed commentary countering why you would have made different choices and why?
You do not need to attack every mention of a technology just because it threatens your historical preferences.
I honestly don’t understand the love for Thunderbird… Tried it for a few months, loved it entirely until I discovered it was fucking losing days worth of emails
Lost, as in, nowhere to be found, no search or manual browse would find them, no way of restoring them. Had to go into OWA to see the missing emails
Then apparently I found out it’s a known bug
I’m sorry but I would trade every bell and whistle for an email client that does not fucking lose your email
I wonder if that’s been fixed yet. You’d think so…
Gmail has a bad habit of losing my emails anyway. Maybe yours too if you ever used Google Inbox.
I migrated my main account to Inbox and it was honestly the best email experience I’ve had. Unfortunately, the forced migration following its collapse left my Gmail riddled with problems.
Granted, it’s not losing days worth of email. It just occasionally attempts to automatically categorize emails into categories that don’t exist, removing them from my inbox and leaving them in a weird uncategorized limbo space. Once there, I have to search for them specifically before they will show up anywhere.
The worst part is, it is so inconsistent that I have no clue when to expect it. I have missed major bills this way.
I have a coworker who is also an Inbox refugee. He is the only other person I’ve met with identical Gmail issues.
Victim of the Inbox move myself… Same as it happens with Thunderbird, I started noticing something amiss when searching for emails I was certain I had were coming back empty
At first I thought my memory was not as good as I expected… But then realized what was going on
How many people still use an email client? Genuine question.
I use either my phone or a web interface.
- offline access and archival
- use with multiple providers
- seamless integration with contacts and calendar of any provider
- better keyboard shortcuts
- multiple windows
- end2end encryption via PGP keys, can use same keys as the rest of the system
- more lightweight on system resources
- themes, I guess?
And your Phone is not using a Client?
Of course it is, but I clearly meant a desktop client.
I only recently start using it after also being a browser email user all my life.
Kinda wondering what took me so long Thunderbird is great! don’t have to relearn questionable Ui between different email providers or re-login to check two mailboxes on the same provider.
Only annoying thing is not supporting ProtonMail out of the box.
Only annoying thing is not supporting ProtonMail out of the box.
That’s Protons fault, they’re the ones that decided to ignore all the open and standard e-mail, contacts and calendar protocols out there and built their custom-everything stack to keep you vendor-locked into their interfaces.
That annoying thing is more on Protonmail though and I don’t mean that as a negative, just more difficult to connect when the provider wants to keep things secure.
In the meantime, Evolution has had EWS support for years… no Rust involved.