Live data from Hacker News

Lobotomizing Gnome

eklitzke.org

191–200 of 224 posts

Re: Lobotomizing Gnome

#191
post #168
post #164

Earlier quoted context omitted.

It's not so different from writing a Qt app in python. The C code does all the heavy lifting with JS doing the UI bits. That setup is way faster than the DOM because the JS is manipulating native widgets. While that's not as efficient as writing everything in C, it is much faster to write and bugfix and results in more stable and secure code.

I've no problem with javascript being available for desktop development. More power to javascript devs! What I find mind-boggling is that a mostly unstructured, dynamically typed and unsafe language is pushed as the MAIN language for desktop development. Has the world gone bonkers?

Most servers run on millions of lines of perl, python, or bash. The same things said about JS can be said there, but most of those things are at least as bad with the added problem that they probably run with sudo privileges. JS is at least as good as these languages while being much, much faster.

True dynamically typed code does type checks at runtime which means that performance may suffer, but you are guaranteed to never have critical type failures (the type errors will occur and throw before something actually unsafe happens). This is a huge step up from C which is weakly typed and even untyped via void pointers.

Dynamically typed code is still typed. JS is not an unsafe language from a type perspective and from a security perspective, it may actually have the safest language implementations ever created.

If we're leaving the dynamic scripting language zone, options are very few without becoming tightly bound to Oracle, Microsoft, Google, etc. There are other great open alternatives (for example, SML would be faster with a great type system), but most of those have small communities (which can mean death to open-source projects).

Re: Lobotomizing Gnome

#193
post #188

PSA: GNOME Software is a frontend to flatpak repositories. It's not a frontend for your package manager. Since flatpak provides security benefits, instead of removing Gnome software, he should have been removing duplicate packages from his package manager.

GNOME Software is a frontend to a lot of things: flatpak repos, your system package manager, GNOME extensions, firmware updates.

Re: Lobotomizing Gnome

#194
> I want my laptop to work correctly when connecting it to external displays or projectors without a lot of futzing around. I want vsync to work with my monitor out of the box, I want to be able to watch video without tearing, and I want a desktop that has first class support for high-DPI displays.

Buy a Mac :) Honestly. The Gnome and systemd became entangled mess with no chances of getting better, yet they made it into all major distros. Linux kernel size increased exponentially in last few years, without visible added value.

But article is real good!

Re: Lobotomizing Gnome

#195
post #191
post #168

Earlier quoted context omitted.

I've no problem with javascript being available for desktop development. More power to javascript devs! What I find mind-boggling is that a mostly unstructured, dynamically typed and unsafe language is pushed as the MAIN language for desktop development. Has the world gone bonkers?

Most servers run on millions of lines of perl, python, or bash. The same things said about JS can be said there, but most of those things are at least as bad with the added problem that they probably run with sudo privileges. JS is at least as good as these languages while being much, much faster. True dynamically typed code does type checks at runtime which means that performance may suffer, but you are guaranteed t…

What you say makes some sense.

However, do note I wouldn't advocate developing most desktop apps using bash or perl, and even python is doubtful. Yes, I know this can and has been done, but I don't consider it a good idea.

Re: dynamically typed code, that's a rabbit hole I don't want to go down now. It's the stuff of flamewars usually. Let it be said I consider dynamically typed languages ill-suited for large or complex apps, for a variety of reasons. Javascript is probably the worst of them all.

What I'm asking is this: javascript and its ecosystem are NOT the most suitable tools for developing desktop apps. Why is it then being pushed as the MAIN language for this? Not as an alternative, not as an option for web developers who don't know other languages, but as the MAIN language for everyone coding Gnome apps?

Re: Lobotomizing Gnome

#196
post #168

Earlier quoted context omitted.

I've no problem with javascript being available for desktop development. More power to javascript devs! What I find mind-boggling is that a mostly unstructured, dynamically typed and unsafe language is pushed as the MAIN language for desktop development. Has the world gone bonkers?

Path of least resistance. JS is what you target if you want to maximize the amount of potential contributors.

Likely. I find it sad that we disregard lots of advances in programming languages that would help us construct faster and more reliable software just because it's not the path of least resistance :/

One or two years ago someone posted on HN a command line tool (let that sink in) for shredding hard disk data written in javascript. It required lots of dependencies to build (!), it was redundant because native tools for this task already exist (!!) and more importantly, it didn't work because the author didn't understand how modern hard disks work (!!!). To me this symbolizes everything that's wrong with javascript: using the wrong tool for a job which is already solved, and solving it wrong.

Re: Lobotomizing Gnome

#197

Earlier quoted context omitted.

I hate to be the bearer of bad news, but forced updates have already come to linux: https://forum.snapcraft.io/t/disabling-automatic-refresh-for... Even applications you'd expect to be native (apt packages) like `gnome-system-monitor` are included as snaps by default in the desktop version of ubuntu 18.04. All it takes is a someone with sufficient authority to make disabling snaps very difficult.[1] Unfortunately, th…

One of the features of Snaps is that they explicitly automatically update. From the front page of https://snapcraft.io/ : "Automatic updates for everyone" If you don't want your software to automatically update then don't use a distribution format where the software automatically updates.

The complaint is centered around Ubuntu 18.04 moving to Snaps-by-default and that users are losing control over when they update their applications. Yes, that is easily remedied by moving off of Ubuntu. But avoiding Systemd was also as easy as not using Fedora - for a very short time. Time will tell how popular Snaps becomes for the major distros.

Re: Lobotomizing Gnome

#198
post #73
post #62

Earlier quoted context omitted.

Anecdotal, but I, on the other hand, have had quite a few forced reboot. I close the lid of my laptop and Windows goes to sleep, but during the night it somehow decides to do its thing and reboots. The thing is, I have BIOS password and a dual boot. It will then just hangs indefinitely on the BIOS password prompt. Fans spinning, CPU unthrottled for hours. And then lose network drivers inside Windows. Reinstalling dri…

That sounds like it's setting an RTC timer to wake up. You may be able to disable that. It may be called wake on timer or wake on RTC.

I have win10 pro, in theory I have disabled automatic reboots. In theory.

Re: Lobotomizing Gnome

#199
OP's experience is based on Fedora. If you're on Ubuntu, a couple of cautions:

1. A fair amount of the OP advice is Wayland-specific -- but Wayland has been disabled by default in Ubuntu 18.04.

2. Ubuntu layers its own tweaks on top of GNOME's. See /usr/share/glib-2.0/schemas/com.{ubuntu,canonical}*

Those caveats noted, the author's approach to GNOME desktop parallels my own current working solution for Ubuntu, arrived after at after way too many hours in tedious experiment with KDE, XFCE, LXDE, OpenBox, gnome-look.org themes, gconf-editor, dconf-editor, and even gnome-tweak-tool. These approaches all proved to suffer from one or more critical failings:

1. Not easily archive/documented, for repetition with later Linux reinstalls. 2. Not easily reviewable/reversible, in case of trouble later. 3. Monolithic or coarse-grained, and introduce infelicities of their own. So then you try to tweak the tweak ... oy vey. 4. Weak documentation, version skew risk, and doubtful developer commitment. 5. Interact badly with other tweaks. 6. Incomplete, as judged by my needs. Tweaks from other sources required, each coming with other variations of [1-5].

To remedy failings (1) and (2), with customizations expressible in text, Ansible is a solution for people invested or ready to invest in learning Ansible. Similarly Git, or Quilt.

To expose the actions of `dconf`:

  $ strace -f -e trace=network,ipc,process,write dconf ...
  $ file $HOME/.config/dconf/user
To begin to understand some of the dynamics that have shaped GNOME:

  https://www.gnome.org/wp-content/uploads/2017/07/GAR2016-web.pdf
  https://news.ycombinator.com/item?id=14945871
  https://bugzilla.gnome.org/

Re: Lobotomizing Gnome

#200
The registry on Windows gets tonnes of hate, and mostly rightly so, but I kinda like dconf. I wish more programs would use it, just one format, and really easy to programatically change without individual pipelines per config file format.
Post reply on HN