https://lists.x.org/archives/xorg-devel/2024-February/thread...
https://lists.x.org/archives/xorg-devel/2024-February/059137...
Huge block of code just sitting around for 16 years completely unused.
Isn’t it true that Thunderbird sixteen years later still lacks complete and first-class maildir support?
Several of his MRs ended up becoming out of date and full of merge conflicts because of other work that was being done, and it just seemed like a waste of time to me.
Someone downthread posted a link where Linus Torvalds himself excoriates this guy for posting anti-vaxxer nonsense to the lkml. That... really takes the cake.
I don't know.. maybe they're actually rising to this "challenge."
Although, I've never understood why the presence of Wayland means X.Org needs to disappear. To me it seems part of our modern churlish desktop software cult that is perennially annoyed that their new systems, while slightly more visually appealing, have actually removed more useful features than they have added and fail to be a compelling upgrade on their own.
So, instead of making anything better, they focus on destroying what already exists.
[1] https://www.fileformat.info/info/unicode/char/1D54F/index.ht...
Or if on mobile, it is well worth it to look up adblock options for the browser you use.
The story doesn't tell if he paid himself to do that.
It doesn't, except for a few annoying facts:
* Most of the people who maintained X.org are sick and tired of it, have moved on to Wayland (or completely unrelated) work.
* No one has stepped up to work on the non-XWayland parts of X.org to the level that's needed to describe it as more than just in maintenance mode.
* Popular GUI toolkits seem to be moving on. GTK, for example, still accepts bug fixes for the X11 backend, but they aren't really working on it. I expect at whatever point maintaining the X11 backend and keeping it up with core changes becomes too big a burden, they'll drop it entirely. I don't know what Qt's stance is, but I wouldn't be surprised if momentum has or will move more toward their Wayland backend.
The end result here is that X.org eventually will be the less-stable, less-featureful platform. It's going to take a while to get to that point (Wayland clearly still has a ways to go), but it feels inevitable, unless some interested parties decide to step up to maintain the non-XWayland parts of X.org and the X11 backends of the popular GUI toolkits.
Same. I'm on Wayland right now and I already know the next installation will run X11. Nothing against Wayland but so far all functional differences I noticed were things that don't work anymore.
I don't expect everything to work exactly the way it was previously, but nonexistent alternatives for X11 tools are a dealbreaker for me.
Things that are just ingrained in my daily use being inconsistent or broken ever so slightly just become intolerable even after a few days of tweaking and tracking down 5 year old bug reports with no action.
I might have a better time using one of the big 2 DEs but (using KDE on a Surface Pro with Wayland has been fine) but i3/Sway are my preferred WMs and I'm not giving them up.
Maybe in another 2 years.
Because it takes time, money, and effort to keep it around. Literally everyone who knows anything about the Linux graphics stack agrees that Wayland is the superior approach. So rather than maintain one code path for a superior graphics stack that actually enables a competitive desktop environment and another code path for yesteryear's graphics stack that only caters to a bunch of old grognards who fear change, the project maintainers just said fuck the grognards, the wasted effort supporting them is holding the Linux desktop back. The situation has gotten so bad that the Asahi Linux kernel's video driver attempts to detect if it's being accessed by an X server and refuses to work if it is; Wayland is the ONLY supported path by the Asahi project.
Sorry, X11 has got to die -- because the grognards have supplied nothing but endless whining about the Wayland situation instead of putting in the work necessary to keep it alive. You want to keep it around for your niche use case? Maintain it yourself, or hire someone else to. Just don't expect support from the major distributions, GUI tool kits, or application projects -- or kernel drivers.
If you want to volunteer, then maybe it doesn't need to go away.
The situation on Linux is already pretty bad w.r.t. having to install multiple big frameworks, with some apps assuming Gnome and others KDE. Imagine GTK chose to move to Wayland, but Qt chose to stick to X - you would probably end up with 4 different combos on many systems to support all expectations.
Yeah, that is why in my code i don't bother with Wayland and just stick with X11 :-P (though things largely work on Wayland via XWayland, aside from a few things like some code i wrote that resets the mouse cursor position manually to allow for scrolling/panning/rotating without being limited by where the cursor is - well, under Wayland this limitation will exist, but it is a minor one).
Would Guix be an answer ?
I just never understood this use case.
A major advantage is that it allows all of the mail tools you might use to operate on the same working copy of your inbox, saving a lot of time synchronizing things. This was a lot more important historically when a typical Unix user would probably have a few different tools they used for mail, like a full-on TUI mailbox viewer and a couple of CLI tools.
I don't find it very compelling that Thunderbird needs to add this functionality, because that's a pretty old-fashioned way of running mail that you probably won't see outside of technical universities and other institutions with a very "traditional" approach to their systems. That's the use-case, though, and I do see that if you are in an environment where your mail is already present in your home directory, or you use multiple mail clients, it would be annoying that Thunderbird can't operate this way when a lot of its contemporaries can.
It's practically more of an issue, though, because Thunderbird kind of supports it, it's just incomplete. That makes it feel less like a feature Thunderbird doesn't have and more like a bug.
IMO this is a superior way.
IMAP just kludges, and you end up with situations like I have, where thunderbird frequently reports that one mailbox is 'locked' because thunderbird crashed while accessing it several years ago and who knows how to get gmail to forget about imap 'locks'.
That's a lockfile left over on the local filesystem. That's caused by Thunderbird having two threads open on the same folder (i.e. you ran 'update all folders' and then 'compact folders' and they're overlapping)
If you open TB, let it sit for a while, then do file>offline>sync now - then let it complete - make sure all the folders are selected for local download (if this is applicable or viable for your use case)
then wait a while
then do 'compact folders'
it shouldn't happen again
You might also want to go into the 'account settings' and turn 'maximum number of server connections to cache' down to 2 - some IMAP servers get really bothered if you open too many connections to them. It's meant to autoadjust but it doesn't always. 2 lets you have one connection always open to the inbox for push mail and one available for working on other folders.
Often times, when I do work with them to get their changes merged, I’m tempted to make similar changes myself, rather than workshop pull requests for days and weeks. Not because I think the changes are even worthwhile to incorporate, but because it’s less painful than the back and forth to get their changes up to snuff - but “stealing their idea” is socially awkward for its own reasons.
There’s also sometimes a bias towards merging unless you find a problem, so it can feel really antagonistic. Strangers on the internet become your task masters to an extent.
The common reactions I see to not wanting these kind of contributions are “You’re looking a gift horse in the mouth!” Or “It would go more smoothly if you spent more time unwillingly being a Manager for strangers on the internet” or “You’re gate keeping.” To an extent I suppose all these things are true. But, that doesn’t mean it’s the wrong decision. It can be frustrating to experience and difficult to explain if you haven’t been in the position.
Anyway, it’s nice to hear someone else articulate my experience. It makes me feel less crazy. So I wanted to partially return the favor and say also that you may not be crazy.
It's legitimate, of course (if you don't have time you don't have time), but that would make me worry about the project's future.
Frankly, the dude is involved in cleaning up X.org code that is otherwise verging on unmaintainable. The appropriate response is a shrug and a "thanks". Backbiting is generally the wrong approach to attempted OSS contributions. If you have problems with his PRs go bring them up with him.
There are two reports in this thread of the contributor here derailing a conversation with something irrelevant. Another report is of him providing low benefit/high noise patches. If you start reading the mailing list posts linked up thread, his contributions to X.org seem to be veering in this direction too: the most recent idea is to... replace include guards with #pragma once. He was called out for this by the X.org maintainers (see https://lists.x.org/archives/xorg-devel/2024-February/059159...).
> Looking at this particular thing, what problem are you trying to solve? The existing header files already have the protection in place where it matters. And I don't expect why software that's mostly just in maintenance mode would see a lot of new header files being added.
Quite a few of his changes seemed to me to have the motivation of "I like it better this way and think you should adopt my sense of taste". If you expressed interest in becoming a maintainer of one of our not-so-well-maintained components, then sure, go nuts. But changing a bunch of stuff to your style in code that I have to continue to maintain? No thanks.
It wasn't all like this; one MR I recall changed the names of a bunch of constants so they'd be consistent with each other and what they were for (e.g. prefixing things in a certain way depending on if they were configuration key names, default values, etc.). That I do think was useful. Unfortunately I think that particular MR ended up not working out, because he never talked to me about his ideas in the first place, and I had a branch I'd been working on for a few weeks that, when merged, made his work full of merge conflicts and ultimately not as necessary anymore. And that was part of the issue: if he would have discussed the changes with me beforehand, I would have said "sure, that sounds useful, but you might want to wait a week or so until I merge this feature branch, which is going to change a lot of the code you're going to touch". But... nope, he wanted to lone-ranger it.
Guy was a pain on the mailing list (and occasionally on IRC, too), nagging for code reviews and merges, against a team of part-time volunteers. He'd open many merge requests in a short time span, most of them changing a fair bit of code, some doing some mid-sized refactoring. Very rarely would he discuss his changes with the maintainers before making them.
And when someone disagreed with his approach, he'd get testy and push his point of view harder. Not a team player, not someone I'd ever want to work with, whether on a volunteer open source project or in a professional paid work setting.
> The appropriate response is a shrug and a "thanks".
Not if the contributions (and interactions with the contributor) create a lot of make-work for the maintainers where the benefit is unclear or known to be fairly low. I'm certainly not going to thank someone for creating more work for me that doesn't need to be done.
> If you have problems with his PRs go bring them up with him.
The problems were mostly "this doesn't need to be done, and you're changing the code from something I already know to something I don't, and I'm the one who has to navigate and maintain it, so this will be a net negative to me". And yet... the MRs kept coming.
I'm not going to claim the existing code is the best code in the world; some of my parts were written by me 15-20 years ago when I was fairly junior, and it could use some improvement. But going in and changing things without first talking to a maintainer is not the way to do it.
Don't get me wrong, some MRs ended up getting merged. Some of the maintainers did think that some of them were useful. But it felt like sorting through all of it to figure out what was actually useful, was more effort than it was worth.
> Maybe don't criticize without knowing the full situation, eh? Your uninformed, holier-than-thou attempt at dressing me down isn't particularly useful.
My key complaint, you'll note, is that you aren't providing any details of the full situation and those that you are providing are uncharitable takes. I mean, you're being nasty to the dude and your complaint seems to be he isn't a senior dev. Fair enough. If you only want to review PRs by senior devs, warn the fellow then block him [0]. Don't go with public shaming as a strategy; HN is a big forum forum, the dude isn't here and he's presumably working under his real name.
If you want to be mean because he's done something go ahead. But unless you're going to say he's actually done something bad, I'm going to note you're being mean without a complaint and that is poor form.
> And when someone disagreed with his approach, he'd get testy and push his point of view harder.
I can't pass that by without noting some irony, given the comment it is in context of.
Software devs are known for this.
[0] I speak loosely. Mr Lots of PRs could be anyone for all I know.
Yeah, that was underselling it a little, it took over an hour to download all 60,000 emails.
Time will tell as to whether it happens again, but regardless, thanks for the pointers.
I'd run that 'offline->download/sync' every week or so. It'll automatically sync every folder you open, but running that syncs them all, and if you're an organisation fiend like me you have like 100 folders.
In addition you can take a manual backup of your email now by just zipping up the thunderbird profile folder. Always useful.
And sure, maybe that will change someday, and interest will fade, and the project will end up unmaintained. That'd be a shame, but that's fine. Doesn't invalidate or make useless what we're doing now, and doesn't mean our users need to make any big plans to change their workflows.
Take random project and go to github insights/contributions tab to see for yourself.
(I suspect that wasn't always the case. Especially over NFS or so?)
Still, if you have over 100k emails, mbox will be slow to parse for obvious reasons as it has to parse every line with often having mboxes as huge as 500MB if not more. Your FS and VFS layers will do a far better task on reading the first lines of thousands of files. In such case your mail client will parse the headers to generate the inbox layout in a much faster way.
You're replying to a post where I just provided more details! Regardless, everything everyone posts here is their opinion, and I'm entitled to mine. You don't have to take my word for it, you can be skeptical, you can think I'm an asshole and a blowhard... that's all fine, and is your prerogative.
> I mean, you're being nasty to the dude and your complaint seems to be he isn't a senior dev. Fair enough.
Seems like it's not "fair enough", since you seem to take such exception with my point of view. I don't think he's not a senior dev -- or rather, I think he's a fairly senior programmer, but isn't so senior in the sense of how he works with other developers. That's a skillset that unfortunately some people don't learn as quickly as they learn to code.
> Don't go with public shaming as a strategy; HN is a big forum forum, the dude isn't here and he's presumably working under his real name.
I don't have a "strategy" here; I'm merely responding to the topic in the thread at hand. If you don't find my point of view valuable, fine, downvote it (or flag it, if you think it's particularly egregious), and move on. If you think it's crass of me to air my opinion of someone else on HN, that's fine too, but I'm still permitted to share that opinion if I feel like it.
> If you want to be mean because he's done something go ahead. But unless you're going to say he's actually done something bad, I'm going to note you're being mean without a complaint and that is poor form.
I don't really see myself as being mean; you claim I haven't said what he's done, and yet you've just replied to a post where I've given more detail into what I believe he did wrong. If you're going to choose to ignore it, or decide it's not "enough" based on whatever rubric you've chosen, then I'm not really sure what to tell you.
> > And when someone disagreed with his approach, he'd get testy and push his point of view harder.
> I can't pass that by without noting some irony, given the comment it is in context of.
> Software devs are known for this.
Hah! Fair point. I think the difference here is that he was an outsider, poking into an established project, trying to push his views on others, when those views were not agreed with. And then continued to push them after being told they weren't agreed with.
Well; yeah. I think what you've said is what you have - you got a bad vibe on the fellow, found him annoying but aren't in a position to back the sense up with anything specific. No actual situations were problematic enough to point at and a code contribution eventually got merged. You're listing a bunch of things where the charitable take is "this sounds pretty normal". The dude wrote a lot of code without talking to the maintainer first; he thought what he was doing was a good idea and the maintainers got a bit exasperated interacting with him. Nothing there justifies the mean comment, I'd suggest most people have done that somewhere at some point. Random unnecessary rewrites is literally how I get to know new codebases, although I usually delete them rather than trying to get them merged but if they were technical improvements I could see myself giving it a shot.
Given your response to a relatively mild dose of feedback on backbiting; I think you probably can figure out why I see the comment as mean. I haven't impugned your motives or questioned your technical competence and you jumped pretty quickly to seeing an "uninformed, holier-than-thou attempt at dressing me down". Maybe this dude is the next Hans Reiser, but even then if you're going to go at some random contributor's reputation it'd be fair to have some specifics. Dates, links and examples that showcase abnormal behaviour to a bar where it needs to be shared.
> ...you can think I'm an asshole and a blowhard...
You might be expecting people to read a bit too much into comments? As far as I know we've exchanged 3; that isn't enough to get a great clear read on someone outside the topic at hand. Let the records record that I'm not seeing obvious personality tells in your comments. We're all in it together.
> If you don't find my point of view valuable, fine, downvote it
Fun fact; I practically don't downvote things. And the last comment I flagged was in 2022. Either something gets ignored or I post a comment. Downvotes are too ambiguous a signal.
This I think highlights the key disconnect here. From this statement alone, it is clear to me that you have respect for maintainers' time (for lack of better terminology). This will tend to clearly come across in proposing patches or other interactions, even though it can be difficult to pin it down as something other than vibes.
No, you don't. You store in your metadata database what the offset of the message in the mbox file is. If you don't have such a metadata database, then you're going to be very slow no matter what the storage is.
Mbox it's just a literal
cat mail/*.msgs >> mbox
setup.
Reading will be slow, and file locking will be hell.
Unix should've switched to maildir long ago. Since 1999 storage and inodes are not a problem any more.
In other words, use mbox with an application that doesn't have its own message metadata database and you get problems. But if you're designing your own email client in the 21st century, then you're going to want to build your own message metadata database.
I mean, I studied Comp Sci at university in 1997 and we were given IMAP credentials
You can use Maildir with IMAP. mbsync will do it fine. Dito with SMTP and msmtp.