That's precisely what is wrong with the state of the UI for Linux. Instead of boring, long research into user habits, finger memory, and productivity, resulting in boring standards like IBM CUA or Apple HIG, we got a bunch of opinionated engineers who think that people using computers fall into two categories: wizards, who are happy to spend their life tinkering with config files and making various pieces work together - and a bunch of losers not worth developing software for...
(Until Microsoft had actively started fracking it up, sometime around Windows Vista) just like a Roman citizen landing up in any town of the Empire, one would be able to effectively and consistently navigate around, using both keyboard and mouse across most Windows applications. Everything worked in a boring, predictable way. Everything used standard API that provided the whole spectrum of UI capabilities.
With Linux, unfortunately, this was never considered ideal and instead we have a zoo of different paradigms and technologies (plus intense politicking of UI development). Which means, when something happens to work as expected without excessive ServerFault/ChatGPT trawling and config/gconf/dbus wizardry, it feels like a sheer delight and an exception rather than a rule.
As someone who shipped my fair share of critical production features, I find this plan raising my eyebrows somewhat. Disabling a feature AND simultaneously removing the codebase for that feature almost never ends well. There will always be some use cases that people haven't thought of.
In serious projects (read, your career is at stake) a much better strategy is to first make the feature unavailable by normal means while still allowing a workaround (in this case, for example, PLM could remove X11 option from the menu but still allow X11 sessions when some magic environment variable is set.) That would give people an easy way to get the old functionality if something is critically impaired for them. And only then, once we are confident that no massive unforeseen issue has surfaced, can the codebase be removed.
> a much better strategy is to first make the feature unavailable by normal means
They started doing that in early 2024 with the release of KDE 6.0 by enabling KDE Wayland by default. The Wayland-only change won't happen til 6.8 which will be an early 2027 release.
The problem with that strategy when it comes to desktop software is there's no way for the developer to know what the user has done (unless the software phones home, which is a no-no when it comes to privacy-respecting open source software).
If it's a SaaS API or a web application, the developers can look at access logs or analytics to determine what endpoints and features are being used, and when users need to go back to the deprecated interfaces to get what they want.
There's no way for a KDE developer to learn "$NUMBER users went back to X11 because $FEATURE is missing in the Wayland version".
(Of course they can ask their users, or hope that users file issues on the bug tracker, but things will definitely fall through the cracks via these imperfect communication channels.)
Almost 40 years of software engineering experience - and I hate Gradle more than I would consider reasonable. In fact, I consider Gradle the absolute worst software system out there.
Absolute majority of people I witnessed using Gradle (myself including) approached it with almost religious terror. Making a change - any change - is akin to playing Russian Roulette, except all chambers but one are loaded. Change one directive - and your build breaks in most weird and incomprehensible ways.
And then there is the whole notion of stability (I mean "contract stability.") Almost every single release of Gradle breaks things in some subtle ways. I can take a project from the olden UNIX days with its Makefile and that Makefile will work in gmake in the freshest Linux distro, using gmake release that was produced multiple decades after Stu Feldman's make. It doesn't require a very specific version of libc or kernel. Because it is 1. Written portably and 2. It treats its behavior (jokes about using the Tab character aside) as a contract and it doesn't violate it just because some poorly educated software engineer decided that it would be a good idea to change the behavior in the upcoming release.
Almost 40 years of software development and I think you're overlooking the strength of Gradle. Before Gradle if you wanted any kind of build step that was slightly outside of the norm you had to roll your own maven plugin or god forbid try to script something with ant in xml. Using a DSL in a scripting language was a smart move.
What I hated most about Gradle is that groovy is untyped. You'd make a change and wait for your build to complete only to find out minutes later that you made a typo or some other innocuous mistake. Glad they introduced Kotlin DSL.
I didn't notice the breaking changes much when we heavily used gradle. Gradle also comes with gradlew, which bootstraps your gradle project with the exact gradle version that is needed to build that project, so you can take an old gradle project and build it regardless of all those breaking changes that you mention.
Friction made people think if they really need this custom step, now every single gradle project has a lot of poorly thought out custom stuff, often something which doesn't belong there.
Amazing project - and you actually fulfill a dream of mine (to have a collection absolutely all historically interesting UNIX-like OSes in VMs available on demand).
I'll dig through my collection of "abandoned" OS distros to see if I have something that could make an addition to your museum.
Google's is even better, as it is cross-platform (although same caveat of having even more dependency on your account is still true). Plus (not sure about Apple) but Google also does (portable) passkeys and OTP.
Apple does portable passkeys and OTP as well. I know you're going to laugh at me since I'm using Apple, but I don't trust Google with anything. Apple at least pretends to care about keeping my information in-house.
I'm not gonna laugh but I can tell you quite authoritatively that Google will not abuse your passwords and passkeys. But more importantly (which is the main decision factor for me personally) - given the current state of software (in)security, I trust Google more than anyone else to build it right and to avoid attack vectors less sophisticated companies might expose.
(DISCLAIMER: I am on 1Password which I've been using for long long time - way before password management in Chrome became a real thing. But let's just say, GPM is becoming more and more compelling proposition).
That's an excellent idea! It will work out absolutely great - much like Communism.
Meaning, when you forcefully standardize and regulate how phones are built, you might expect that companies will not compete on making better phones (since they are not very much differentiated) but on who produces the cheapest phone.
You're thinking of socialism, which is what the EU is doing here (socialism-lite, anyway, as championed by the Social Democrats) and yes, it does work. Free healthcare, free education, and we're working towards decent privacy laws and regulations on big companies. It's far from perfect of course, but comparing it to how pure capitalism is going in the US it's clearly the better system.
> but comparing it to how pure capitalism is going in the US it's clearly the better system
Funny, I observe the exact same things you observe and come the exact opposite conclusion: Europe is currently dying a slow and painful death and will likely be entirely irrelevant in less than 10 years (not that they matter much anymore today already).
1. Thanks to the sanctions, it is virtually impossible for RF citizens to purchase anything abroad with Russian credit cards.
2. VPN was design not to obfuscate but to encrypt - that is, the protocol doesn't conceal the fact that VPN channel is being used, you just cannot peek into the content in this channel. Which means that more and more sophisticated tools are being used to block VPN communications.
vpn protocols we use here nowadays are way more advanced than this, they mimic a TLS handshake with a legitimate (non blocked site, like google.com) and looks essentially like regular https traffic to that site
it looks like they are basically impossible to detect, given the failure to block them, outside of timing attacks (seeing if a request crosses Russia's border and comes back quickly after), however that is fully mitigated by just having having the vpn "disconnect" and route traffic directly to Russian unblocked sites, which would otherwise be able to perform such a timing attack detection
pretty interesting stuff, there are several versions of this system, and even the ones that have existed for a while work pretty well
Super interesting stuff, but won't this require multiple (possible untrustworthy / adversarial parties) to abide by your protocol? Like if you don't control all the nodes in the VPN then why can't the Kremlin just enforce a blacklist at said bad node?
you do/can control all the VPN nodes in this setup (most often just a single one) since your traffic doesn't actually go through the website you're masking under
and the nature of the protocol makes it extremely difficult to detect and thus get server IP banned, i got one server banned, but after that i implemented some practices (including directly connecting to websites that are inside Russia) and it's been working fine since then
their product management must be completely dysfunctional because they keep shoving that stupid rovo ai in every frequently clicked area now and causes accidental rewrites of pages im working on... or page summaries that literally hallucinate meeting notes for meetings that never happened... like do they even care about customers are actually wanting to do or just shove dysfunctional ai that nobody wants
atlassian suite was functionally fine prior to AI, i have noticed nothing but constant downgrades to the UX since. for example, summarizing a Jira ticket with AI achieves nothing useful (seeing as a Jira ticket is in itself a summarization) while burning compute, clogging the visual spectrum, and slowing down rendering. has anyone actually benefitted from AI being thrown everywhere in this service?
Funny, how we reliably keep finding the boogeyman - first in computer games, then in "right wing extremists online" then in LLMs, while carefully avoiding the correlation of dysphoria and mental disorders with gender change...
In this specific case, the person was banned from ChatGPT before committing this atrocity, so is there not an imperative to report it to police? I can't even understand how this is actually controversial, but I imagine it would be less to you if this person didn't identify as a gender you don't agree with.
Blast from the past indeed. Many many moons ago, I came up with a "bright" idea of designing a mod for Duke3D that modeled the office of my then-employer (large fintech company). At least I had enough sense not to boast about it - several months later a crazy guy brought a shotgun to HIS former employer and made national news, I don't think people would have taken my creation as lightly as I did back then. Still, working on it was fun.
(Until Microsoft had actively started fracking it up, sometime around Windows Vista) just like a Roman citizen landing up in any town of the Empire, one would be able to effectively and consistently navigate around, using both keyboard and mouse across most Windows applications. Everything worked in a boring, predictable way. Everything used standard API that provided the whole spectrum of UI capabilities.
With Linux, unfortunately, this was never considered ideal and instead we have a zoo of different paradigms and technologies (plus intense politicking of UI development). Which means, when something happens to work as expected without excessive ServerFault/ChatGPT trawling and config/gconf/dbus wizardry, it feels like a sheer delight and an exception rather than a rule.
reply