When “Progress” Is Backwards
sabotage-linux.github.io
sabotage-linux.github.io
I mean... what does progress look like? The old syntax is less words, but it's still something you have to memorize. Why is this new syntax worse?
FWIW, I believe the newer syntax more closely resembles what you have with Cisco network equipment. It also supports newer functionality like net namespaces, and uses newer kernel interfaces. None of those advantages are mentioned in the article that I can see...
>autoconf has its warts
This is the single most charitable interpretation of autoconf's problems I've heard in my life.
> in fact according to this[1], meson authors claimed it to be one of their goals to force users to have a bleeding edge version of python3 installed so it can be universally assumed as a given. > [1]: https://kevstras.com/programming/2017/12/18/meson.html
I tried and was unable to figure out what they mean by that. Am I stupid or does that article not say that?
> Built with debug information, it takes up 434 MB of my harddisk space as of version 3.9.3.
Then... don't build it with debug information?
> It's primary raison-d'etre is its support for the Microsoft (TM) Visual Studio (R) (TM) solution files, so Windows (TM) people can compile stuff from source with a few clicks.
It exists because it was created to be the build system for a specific project. I don't even know if it began life with Visual C++ project generation support.
--
All in all this feels like run-of-the-mill cynicism. Some valid points but a complete failure to acknowledge why things are the way they are. Some days I wish HN had a downvote button.
The question is, how is it better? When you have something that works, replacing it with something that's just not worse is unnecessary churn and work for everyone. It shouldn't be replaced unless its replacement is somehow better.
> It also supports newer functionality like net namespaces, and uses newer kernel interfaces.
Why couldn't these have just been added to ifconfig? Surely it could have been ported to the new kernel interfaces. As for features like net namespaces, the syntax should have been added in a backwards-compatible way instead of rewriting it all.
The article we’re talking about questions what “progress” is and points out things that actually have serious advantages, often technical in some regard, but then disregards those advantages and talks about minor inconveniences like 70 MB disk space footprints and a couple new commands to remember.
What has to do the Cisco network equipment with Linux?
>It also supports newer functionality like net namespaces, and uses newer kernel interfaces.
Why all the BSD’s do similar things without changing the user interface?
>None of those advantages are mentioned in the article that I can see...
Because he linked directly the Poettering’s article explaining all you said.
What must it have to do with Linux? It's industry-standard networking equipment. Is that not a decent enough reason to take inspiration? Network professionals already know Cisco.
>Why All the BSD’s do similar things without changing the user interface?
¯\_(ツ)_/¯
Linux isn't a BSD, and it isn't run like one. The only positive thing I can say is, if you prefer the way *BSD is it remains a completely reasonable option in 2020.
> Because he linked directly the Poettering’s article explaining all you said.
And promptly disregarded all of it, which does not make matters any better for him to be honest.
This is true, they have a regrettable habit of inventing a new GUI toolkit every few years, but they're good at ensuring the old ones still work.
> While the traditional buildsystem used on UNIX, autoconf, has its warts, it was designed in such a way that only the application developer required the full set of tools, whereas the consumer requires only a POSIX compatible shell environment and a make program. > > More "modern" build systems like cmake and meson don't give a damn about the dependencies a user has to install
True, you have to install CMake to build packages that use CMake, but I'm not sure it would be possible for CMake to generate a shell script the way autotools does, without losing either its scripting power or its portability to non-Unix platforms (e.g. Visual Studio). Personally though I don't score this very high up the list of things wrong with CMake. [0][1]
I agree on several points he makes about GTK+3, not so much on the theming issue, but it's arguable that the reason most distros have a mix of gtk/qt by default is not because gtk+3.
Now pretty much every kde-based distro that wants to ship with firefox/chrome by default, has to bring up gtk. iirc ubuntu studio shipped with both qt and gtk because of the plethora of applications it offered, way before gtk+3 was a thing.
I mean, even on my Windows and Mac machines I have software using GTK2 (GIMP), GTK3(Zim, Geany), Qt4 (various proprietary software), Qt5 (Strawberry, music player, etc)... plus a ton of other toolkits (Juce, Fltk, TKinter, the various Windows APIs, Cocoa, ...). And unlike linux every app has the DLLs duplicated.
It causes exactly zero problems.
When you use “kernel names” you’re implicitly relying on the fact that your network cards initialize in the same order on boot which isn’t guaranteed. It’s the same reason you should prefer disk UUIDs over /dev/sda. For a long time sysadmins have used udev to pin eth0, eth1, etc. to specific network interfaces to solve this problem but it’s clunky.
systemd changed this in a very elegant way. The BIOS already assigns fixed names to network devices! If you use those you don’t have to query the device for its MAC to figure out its identity like we do with partuuids and diskuuids. The crazy names come from your vendor — nothing stops them from being eth0 eth1. Dell uses eno1 ens1 and enp0s1 depending on the kind of card.
Now by default network device names are fixed and if you want eth0 eth1 like you’re used to the process hasn’t changed.
Cmake isn’t always the easiest thing either but it’s a vast improvement over autotools.
Haven't there always been a high churn? And shouldn't we expect to that to continue until the "Year of the Linux Desktop" finally happens :)
"Year of the Linux Desktop" makes people daydream about a world in which everybody is a console cowboy using and loving FOSS software. That's what I used to believe in, but Android convinced me that's a fantasy. If Linux ever won the desktop it would be a pyrrhic victory, like Linux 'winning' smartphones with Android or DVRs with Tivo. Software for the masses would still be locked down proprietary trash, no matter what kernel was used.
Just wait til all web sites run WASM and WebGL to draw their content, so you can't even copy or hide the text on your screen.
Maybe: AppImage, snap, flatpak, docker or one of the others will eventually win out.
The idea of a Linux desktop is stupid to the core, and has crippled Linux more than anything Pottering will come up with next.
Everything past the kernel is software you choose to install and use, stop using it if you don't like it and learn to deal without it.