| I don't like that GNOME seems to force itself into situations as something more than a desktop environment. I mean all the extra libraries that somehow end up being dependencies in my non-GNOME system. And gconf, i.e. the Linux Registry, or whatever it has been rebranded to. Similarly, GNU Info pages when well-written man pages suffice. Split by topic - there's already a mechanism for this. I don't want to compile a basic utility like `curl` or something and then discover that somebody decided it has hard dependencies on graphical libraries and applications (even if once- or twice-removed). KDE is superb these days, after the slump that was KDE 4. However even KDE developers seem think that a tic-tac-toe game needs to have its board abstracted as libtiktaktoe in case anybody else ever needs to use it. I had thought that Wayland might be an improvement. It seems to be a regression. I recently learned that the trade-off for avoiding tearing in Wayland is increased latency compared to X11/Xorg. I don't want to care about my graphical display manager. X is not perfect, but it is tried-and-true, and it does not leave me struggling to share my screen in Zoom, or have legible fonts in my creative applications. Systemd: Binary log files. I should be able to configure my system with `sed` and `awk` scripts that easily modify text configuration files. On this note, applications should use plain text files for their data more often. For example, web browsers could use a hierarchy of text files, each representing a web page in history, or a bookmarked site. Sqlite is good, but a database is simply unnecessary in many cases, because filesystems are very optimized and perfectly useable for many cases. This encourages hacking and interoperation. I could comfortably browse through my bookmarks in a mature native file system explorer of my preference, instead of struggling with a tricky scrolling menu within a browser. If I want to change browsers or computers, there is no more export/import of links and then they get messed up anyway. DBus: I'm not sure why the same functions could not be implemented robustly as a standard structure of named pipes. SELinux: A tremendous gift so often squandered by being disabled with the global flag. Pulseaudio, Pipewire, Wireplumber. |
SQLite is very good indeed. It's fast and offers a nice querying API. You can use SQLitebrowser if you want to browse this data outside the browser UI, and we could always have a FUSE filesystem for sqlite database if we really wanted to be able to browse this data with a file manager. Since SQLite is used everywhere, the effort would be shared. One of the many good things about SQLite is that it is (de-facto) standard, way more than regular configuration files.
> Systemd: Binary log files. I should be able to configure my system with `sed` and `awk` scripts that easily modify text configuration files.
Configuration files are still regular text files, and are way easier / simpler than before systemd / upstart. You are also a command away from having a text representation of the logs, and that's journalctl, which can be piped into the regular unix tools, so I have not found an actual situation where it matters.