1. 2

    What I’d really like to see is a company like System76 investing more in applications rather than the desktop environment. The thing that System76 has gotten right IMO is support for gaming on Linux, I’ve set up PopOS on a Core i7 machine with a mid-range NVIDIA card and it was really easy to get Proton working and download a few games with Steam.

    My wants from a DE are very minimal. On my PopOS machine I’ve installed Regolith and love it. The PopOS tiling implementation is just a little wanting IMO. (For one thing I kept inadvertently toggling… something and switching the tiles from one mode to another that was unusable.)

    I’d be happy to pay for a decent mail client and music player. None of the alternatives are quite right, these days. I recall loving Banshee back in the day, but it’s stagnated since Novell stopped supporting people working on it.

    After 20+ years I’ve given up on the hope that the Linux desktop will ever congeal into something that appeals to more than 3-5% of users. I honestly don’t know who’s right or wrong in this latest kerfuffle, or if it matters, just that as a user it’s hard to feel like you can count on any particular stack being stable for more than a few years at a time. (Not that proprietary alternatives are any better…)

    1. 2

      I’d be happy to pay for a decent mail client and music player. None of the alter

      I agree wholeheartedly. I like the approach of Claws mail, but it was not as polished and reliable as I need for archiving all my SMTP accounts.

      mac’s Mail was the best, but… that’s on a “locked-down vampiric device” to quote Eben Moglen hehe

      1. 1

        My wife is completely tied into the macOS / iOS ecosystem. It has its allure. I wish I could, with a straight face, recommend Linux to her, but she’d be frustrated with it in less than a week.

      2. 1

        What do you want from a music player that cannot be found?

      1. 13

        Rust is a really strange choice. It’s a systems programming language. A desktop environment is, by definition, in the domain of application development. I can see wanting to write some core components (bits of the graphics stack, for example, or DBUS broker) in a systems language because you want performance and I can see wanting to write things like video CODECs in a safer language because you want them to work on untrusted data but writing most of a DE in Rust doesn’t make sense to me.

        Competing stacks are using JavaScript, C#/F#, Java/Kotlin, or Dart. All of these are far easier to be productive in than Rust, at the expense of some memory overhead and tail latency, neither of which matters for typical apps (GC pauses are far smaller than a human perceives these days and the memory overhead from GC is often offset by reduced fragmentation). I wouldn’t recommend any of these for low-latency, low-jitter, scalable server applications or for use in performance-critical parts of an OS kernel (Rust would be a much better fit here) but desktop environments are a very different problem space.

        1. 10

          It’s a systems programming language.

          I think it’s slightly more nuanced than that. Quality of implementation matters a lot, and things like “build system which just works” play a great role. On the QoI metric, rust seems to score significantly higher than almost all listed alternatives. For JS, the fact that it needs a transpilation step adds irreducible accidental complexity, and npm adds a lot of reducible complexity. F#‘s build system last time I look was “write XML file which specifies the order in which to compile the files”. Java/Kotlin need a JVM implementation, which is not something that “just works” (and also gradle). Don’t know about C#. I do feel that due to tooling, the language and the ecosystem “just working”, Rust might be more productive for such large collaborative projects, despite the fact that manual memory management is pure mental overhead. It’s easier to figure lifetimes than to figure out how to ship non-statically linked software in a reasonable way.

          Dart (and also Go) is the language whose QoI is actually great. For GUI specifically, live reloading natively supported by the whole toolchain in particular is big.

          1. 5

            C# is IMHO a good fit for desktop stuff; considering it was one of the reasons why MS developed it, and why Gnome developers initially worked on Mono. Their experience of developing desktop apps in C (Evolution specifically) was excruciating, and they thought C# was the ideal. It’s funny how much people forget Mono tried to integrate with Gnome and thus the typical GNU stack of the time; GTK#, pkg-config and the compiler, and even autotools/GAC integration. Too bad that didn’t work out…

            1. 5

              “build system which just works” ship non-statically linked software in a reasonable way

              I am not arguing that Rust the language is necessarily a bad choice here, but isn’t it also true that Rust the build system hasn’t really been used at this kind of scale yet and whether it will “just work” for this case is not a given? Things like compile times and code bloat (due to static linking and potentially multiple versions of the same crate present in the build) come to mind.

              1. 6

                Yeah, that’s true! Specifically, if we imagine the thing as one giant monorepo which contains everything from low-level libraries, to frameworks for app developers to apps themselves, than I think we don’t have an evidence that Cargo works great, and even some evidence to the contrary: “integrating Cargo into Buck/Bazel/Pants” is a common problem.

                OTOH, if we imagine a more distributed ecosystem, with independent applications having independent repositories and semvers, then I think we have some evidence that Rust works: crates.io ecosystem looks rather healthy.

                The question of “can you build runtime ecosystem in Rust?” is completely open. As, maybe we actually can compile everything statically and exist on top of just kernel syscalls? Or maybe we actually need some runtime sharing via IPC / dynamic libraries? On this topic, I hope Rust stability guarantees would be an inspiration – at least some part of the community values stable APIs a lot (see, eg, serde 1.0.flipping 130: ). Having win32-stable API on Linux to do things humans interact with would be nice.

            2. 7

              My feeling is that desktops need reliability and every bit of space+time performance that can be squeezed out. So it seems like a DE is a perfect fit for Rust, possibly better than many other fields where it’s being forcibly pushed.

              1. 14

                Back around 2007ish, I was actively working on Etoile and was starting to replace Objective-C with JIT’d / AoT-compiled Smalltalk for application development. For a few weeks, I accidentally broke the compiler and so I was using the incredibly slow AST interpreter for the Smalltalk code. I was doing this on a 1.2 GHz Celeron M and the only reason that I noticed that the compiler was broken was that I read some logs that spat out an error message that it failed to dlopen the LLVM libraries. It made absolutely no difference to my user-perceptible performance.

                My 4-year-old phone has more cores, faster cores, and more RAM than the computer I was using back then.

                1. 2

                  reliability and every bit of space+time performance that can be squeezed out

                  This is the same way that I feel. DE must be very, very light weight. It’s what the user interacts with so it’s got to be simple, reliable, and what better way than a memory-safe low level language without external dependencies.

                  1. 2

                    I mean, they do, but applying a little common sense can get you where you want to be in terms of performance, too :-). For example Electron gets a lot of hate but, between the animations and the compositor input lag, Electron applications are pretty much as fast as native GTK applications. Over here in the FOSS world we have PTSD from experiments with JavaScript in the late 00s but that’s on us.

                  2. 1

                    I think to many people, Rust is the default language for any serious new project. Unless of course specific circumstances favor another language, such as interfacing with existing code – the common case.

                    So apart from the common case that something else is more important, my general reasoning would be:

                    • Maintainability: If I’m writing something substantial with a lot of contributors, all dynamic languages are out. I have tried Python with Mypy, but no: If some refactoring didn’t apply cleanly, it’s still a runtime error.
                    • It must not encourage bad practices: Anything that matches *-oriented is likely too narrow minded. OOP in particular is good for resource wrappers, but not as a default way to structure code: It encourages state, makes code untestable and restricts free code reuse. That disqualifies C++, whereas Go’s interfaces and Rust’s traits – OOP toned way down, are fine and good.
                    • A language can cover many “levels”: I’m not simply buying the argument that you need a high level language to write high level code: What matters in this regard is how high abstractions it enables. C++ is the benchmark in this category, but Zig has better compile time inference and Rust has things like serialization and typestate machines.
                      • Corollary: I don’t see the point in GC when you can have reference counted types.
                    • I don’t fight the borrow checker: I don’t know if it’s only me, but I find myself fighting C++‘s many papercuts much more than Rust’s borrow checker. Either, you care about ownership, in which case the borrow checker is your friend, or you don’t, in which case you use reference counting.

                    (Just my thinking. I may not be representative.)

                  1. 6

                    I recently watched a talk by Bryan Cantrill called Rust, Wright’s Law, and the Future of Low-Latency Systems, here… https://www.youtube.com/watch?v=cuvp-e4ztC0

                    and was impressed about the implications of writing memory safe kernel, in my amateur perspective, it sounded like an OS written in Rust would be orders of magnitude safer than even the safest OS written in C today. ( Safe in terms of potential exploitability of the kernel and kernel drivers )

                    Does anyone with more knowledge than I care to chime in with their thoughts on an OS purely written in Rust vs C, as well as the ambition of this OS called Nuta/Kerla?

                    1. 8

                      There’s also SeL4, which is proven-safe.

                      1. 9

                        seL4 is seriously impressive! You kind of have to be careful when saying stuff like ‘proven safe’ (more info on the proof’s assumption here and in the FAQs, but it’s definitely impressive, and goes beyond just verifying that the implementation matches memory safety properties.

                        1. 3

                          Well sure, there are things not covered in the proof, but stuff that is, to the best of what we know, it’s actually correct.

                    1. 1

                      Meditations by Marcus Aurelius, in the right setting this book can help to put things into perspective and lighten the load.

                      Computer networking is my technical forte, and for this subject I recommend Black Hat Python by Justin Seitz. This book documents and gives examples of using python to craft network packets, spoof arp requests, and is a great resource for network security and python scripting.

                      1. 6

                        I haven’t owned my own laptop for years, since my employer’s been supplying me MacBook Pros as work machines. But my current one is the 2018 model with the awful keyboard, and lately the IT department has been making us install spyware device management tools and warning us not to install unauthorized software nor use the laptop for personal projects … so I’ve been lusting after a full-size ARM MBP of my very own.

                        The good thing is that most of the CPU-transition glitches seem to have been worked out by now, like problems with HomeBrew. I wonder how long it’ll take to get Linux running on the new hardware?

                        1. 8

                          Asahi seems to be doing pretty well per their progress reports. They’ve got most of the hardware situated, just stuff like sound, 3D acceleration, etc. to write, and polishing up their drivers for i.e. display to upstream.

                          1. 2

                            Yeah, same here, but I’m sticking with “my” (work) MBP 2015 top of the line configuration, so far so good.

                            1. 3

                              Just bought a 2015 13” MBP and 15” MBP also 2015… great year for these machines. I may buy yet another 2015 13”, the form factor is so great and they’re pretty cheap on craigslist

                            2. 1

                              I mean, you are in dangerous IP waters in some jurisdictions if you use company-provided hardware for personal projects. I don’t like the MDM crap any more than anyone else, but the solution here is to use your own machine, really.

                            1. 1

                              Congratulations Let’s Encrypt. I remember when this was first starting out, good times.

                              1. 5

                                Separately, Apple plans to scan users’ encrypted messages for sexually explicit content as a child safety measure, which also alarmed privacy advocates.

                                Full stop. color me surprised… shoulda known better, but I wanted to believe.

                                1. 3

                                  This quote is a little misleading due to being vague. “Apple plans to scan users’ encrypted messages” sounds like decrypting and reading all your messages on their servers where Apple employees can see. That’s not how it works. It’s not even part of the iMessage service; it’s in the Messages app itself.

                                  1. 2

                                    Thank you, I think the news is overblown. I have to remind myself that most news stories are largely embellished, if not totally devoid of factual evidence. Nevertheless, I am looking for privacy friendly alternatives, it’s a shame the fairphone isn’t sold directly in the US…

                                1. 1

                                  I’m curious if this affects any BSD kernels.

                                  1. 1

                                    2 esoteric command line tools I like,

                                    vimdiff is a greatly enhanced version of diff… with colors! it is infinitely helpful for comparing files in the terminal.

                                    I also like lsof for checking network sockets, it isn’t as widely used as ss or netstat, but it is a potent way to monitoring network sockets in *nix lsof -i

                                    Also, not an esoteric command line tool, but I use this command all the time because it’s such a great find hack find . | grep "xyz"

                                    1. 1
                                      fs() { find -iname '*'"$@"'*' ; }
                                      

                                      With that in .bashrc, I use fs 'xyz'. You can also use fd instead.

                                      1. 1

                                        awesome, I should look more into find command options, it one of the more complex command line tool I have neglected to dig into.

                                    1. 1

                                      This is kind of a trash article that I prefer not to see.

                                      1. 3

                                        I will be more selective next time on Lobsters, thanks for calling it out as the article does read like a tabloid. . .

                                        I submitted this hoping to get some opinions from people more familiar with the quantum computing field if this achievement had any significance. Saw that the article was not as formidable as I had initially thought… only then did I realize that I cannot remove my own submission.

                                        1. 1

                                          It was kind of puzzle to figure out what they were actually reporting on, but I believe this is not about quantum computation - it’s still a scientific advance but not relevant to qubit count.

                                      1. 1

                                        This is pretty interesting, but should we be concerned with migrating to quantum resistant ciphers?

                                        The arxiv link is here, https://arxiv.org/pdf/2106.14734.pdf

                                        1. 5

                                          Not for another 10 years most likely. Shor’s algorithm requires a lot of error correction, and we are firmly in the “NISQ” (Noice Intermediate-Scale Quantum) era of quantum computing.

                                          1. 2

                                            Thanks ngp, I’ll read more into NISQ. Fascinating stuff.

                                            1. 3

                                              I work in the quantum computing space, I’m happy to answer questions or point you towards resources to satisfy curiosity :)

                                              1. 1

                                                Thank you for that, do you have any good starter books ( easy reads ) for someone who comes from a unix/network admin background? I am not quite a CS major, but fancy myself an adept scripter har har

                                                At any rate, I know enough to want to stay abreast of this technology.

                                                1. 1

                                                  I’ve not gone through it myself, but this book/website is well regarded: https://quantum.country/

                                          2. 1

                                            You really have to squint hard at this (or the Google result it’s being compared to) to view it as meaningful progress. The outputs are incredibly noisy, and probably impossible to adapt to cryptographically relevant calculations.

                                            1. 2

                                              The more deeply I look into news articles, the less substance I find. I suppose it has always been like that, but finding good quality news is rare, and I have more faith in individual journalists than news sources e.g. brian krebs from krebsonsecurity.com

                                          1. 1

                                            I am not against systemd either, I think it has amazing features, but what it resonated with me when he said “I want to understand my operating system and I want to understand the whole process….” that’s how I felt learning linux in college back in 2011 - 2013… systemd took that simplicity away, and admittedly out of ignorance of systemd, I no longer understand the startup process of linux.

                                            1. 3

                                              The RFC 1918 on private IPv4 ranges might be interesting to read, https://tools.ietf.org/html/rfc1918 The 10.x.x.x/8 is intuitive, but I’m not sure why 192.168.x.x/16 and 172.16.x.x/12 were chosen

                                              For that matter, I’m also curious why 169.x.x.x was chosen for IPv4 link local addresses

                                              1. 17

                                                The coauthor of 1918 replied in the linked thread:

                                                The RFC explains the reason why we chose three ranges from “Class A,B & C” respectively: CIDR had been specified but had not been widely implemented. There was a significant amount of equipment out there that still was “classful”.

                                                As far as I recall the choice of the particular ranges went as follows:

                                                10/8: the ARPANET had just been turned off. One of us suggested it and Jon considered this a good re-use of this “historical” address block. We also suspected that “net 10” might have been hard coded in some places, so re-using it for private address space rather than in inter-AS routing might have the slight advantage of keeping such silliness local.

                                                172.16/12: the lowest unallocated /12 in class B space.

                                                192.168/16: the lowest unallocated /16 in class C block 192/8.

                                                In summary: IANA allocated this space just as it would have for any other purpose. As the IANA, Jon was very consistent unless there was a really good reason to be creative.

                                                Daniel (co-author of RFC1918)

                                              1. 1

                                                I have the Jetson Nano, and that may work well for a desktop, although I only use this for my autonomous robot. I’m looking at upgrading to the Jetson Xavier NX ( https://developer.nvidia.com/embedded/jetson-xavier-nx )

                                                I haven’t heard of the RockPro64 or NUC, but I’ll keep those in mind for low power servers.

                                                1. 85

                                                  It all sucks. It’s just a matter of prioritizing.

                                                  Windows:

                                                  • Cheaper computers than Apple machines
                                                  • Maximum software availability/compatibility
                                                  • Pretty janky UX, in my opinion

                                                  Mac:

                                                  • A lot of people really like the design (UX and aesthetic)
                                                  • The unixy stuff is more “built in” than WSL on Windows
                                                  • Shit’s expensive
                                                  • Still have vast software availability
                                                  • Apple really talks a good talk on privacy and such

                                                  Linux:

                                                  • Everything has really rough edges
                                                  • All desktop environments are full of papercuts/bugs
                                                  • Counter to the above point, there are a TON of UX choices, which is neat
                                                  • Minimal software availability
                                                  • The only option that is (mostly) free software, where you actually own and control your own machine

                                                  I don’t mean to rub anyone the wrong way and I’m not preaching, but the last bullet point is the one that matters the most to me and I suspect it always will be the most important for me, personally. If I can get a machine that runs Linux, even in a fairly hobbled way, I’m going to take it over other options where I don’t know whether my machine is going to just not let me use it one day (literally happened to my ex with Windows Vista) or whether it’s going to send information about what software I’m running on it to headquarters, etc. No amount of polish and convenience is really worth it to me. But for others, the calculus is different. That’s okay, too.

                                                  1. 31

                                                    the penultimate point, about software availability, depends a lot on what software you need. both my work and hobby coding are in the area of programming languages and tooling, and the communities and development process around a lot of them are very much linux-first.

                                                    1. 19

                                                      I like this breakdown too. As someone who literally wrote every line of code that powers their desktop environment (sans the X11 server, but including the X11 client, WM, pager and so on), I really appreciate the ability to build and customize my own bespoke UX from the ground up. Every other environment I’ve tried just seems to be locking things down more and more, making it harder to customize things to my liking.

                                                      1. 2

                                                        As someone who has been using your X11 WM for a few years, I appreciate your efforts! Now moved back to macOS mostly because of annoying inconsistencies in ecosystem around Linux, but I really miss the “don’t raise window on click and focus” feature. So far I’m not aware of any alternatives out there.

                                                        Also, I’ve been impressed by how well Android x86 (that counts as desktop Linux too, right?) integrates with MBP 2015 touchpad. There was no force touch support, but multitouch experience was on par with that of an Android running on a phone with touch screen. That is to say that it’s way better than macOS, and goes in no comparison with multitouch support in GNOME and other Linux-based distros—e.g. I’ve had a lot of issues with scrolling being apparently designed only for mouse wheel scroll-by-line interactions.

                                                        1. 1

                                                          Oh wow, I didn’t realize anyone besides my wife and I used Wingo. Neat!

                                                          and goes in no comparison with multitouch support in GNOME and other Linux-based distros—e.g. I’ve had a lot of issues with scrolling being apparently designed only for mouse wheel scroll-by-line interactions

                                                          Yes, the state of affairs is truly terrible compared to Mac. I’m happy when two finger scrolling works at all. But like, I have to disable tap-to-click on my touchpad because otherwise the software (or hardware?) isn’t good enough to detect my palm and I start getting spurious clicks. I’d love to have a clicky trackpad, but so few laptops have those.

                                                          1. 2

                                                            Have y’all been following this effort to improve Linux touchpads to match Mac usability? https://bill.harding.blog/2021/02/11/linux-touchpad-like-a-mac-update-firefox-gesture-support-goes-live/

                                                            1. 3

                                                              Oh, didn’t realize they were accepting financial contributions. I’m now a sponsor too! Thanks again for the heads up.

                                                              1. 1

                                                                I’ve been vaguely aware of that project, yes. I think I just assumed that I would eventually benefit from it automatically, but maybe that’s a wrong assumption. I’ll take a closer look, thanks.

                                                              2. 2

                                                                I used wingo for about a year myself, and I quite liked it! I mostly switched away because I wanted to explore the landscape, and then I started trying to run Wayland desktops exclusively. It’s a great little project though (wingo). Thanks for spending the time on it!

                                                              3. 1

                                                                t I really miss the “don’t raise window on click and focus” feature

                                                                oh yeah that is such a killer improvement. When I switched to Blackbox WM back around 2007 I left on sloppy focus and click doesn’t raise. A lot of people look at one without the other but I think they need to be used together… and then it is just so much nicer than anything else out there.

                                                                I’ve heavily customized my copy of blackbox (and wrote my own taskbar, terminal emulator, and many other things) over the years and I never want to leave it. Always painful to have to use other systems without it.

                                                            2. 11

                                                              As a mostly happy Mac user, I 100% concur with these bullets.

                                                              1. 6

                                                                Thank you, I’ve been thinking about this since reading your comment. It has convinced me to move back to using linux as a daily driver.

                                                                Such horrendous behavior we have come to expect from Microsoft Windows, Google Android, and many aspects of iOS and Mac OS, as well as our web-browsers and mobile applications. Well, we don’t have to. CentOS is far superior, because this means my computer is no longer going to actively spy on me for the sake of profits or more nefarious reasons.

                                                                Of course, I’ll be starting out with centos 7 for stability’s sake, but if I need to upgrade over the years for compatibility I may use fedora, as long as all the software is free and, here’s the biggest factor, as long as it does not actively spy and log my activitiees.

                                                                1. 2

                                                                  Xfce4 is simple, stable and polished. The only rough edge I can think of is alsa vs jack vs pulseaudio. This will hopefully be resolved by pipewire.

                                                                  1. 3

                                                                    XFCE introducing CSDs give rise to concerns though – if I wanted to have unreliable window decorations and behavior, I could pick Gnome?

                                                                    I hope that gets corrected in the future. (Along with introducing the ability to use a better language to write XFCE applications.)

                                                                1. 10

                                                                  As someone who’s been thinking of trying out Plan 9, this seems to indicate there has never been a better time to do it.

                                                                  1. 1

                                                                    I wasn’t able to gather if the source release is usable or not, seeing that it is 20 years old.

                                                                    1. 5

                                                                      It appears that there’s a raspberry pi image available, as well as others. Take a look under Download on the webpage http://p9f.org/

                                                                      Edit: there are more images here: http://9legacy.org/download.html

                                                                  1. 5

                                                                    That’s good to see him back. I have a feeling that history will look kindly upon RMS.

                                                                    1. 1

                                                                      This is great, I just switched my RSS reader feedly to NewsBlur.

                                                                      I also choose NewsBlur because I couldn’t find a self-hosted project to accomplish what I needed, which was to select specific stories and then republish to a new RSS feed. So, I really recommend trying NewsBlur if you’re looking for a nice RSS aggregator.

                                                                      1. 1

                                                                        I recently read the book The Idea Factory by Jon Gertner. I highly recommend that book if you haven’t read it. Claude Shannon is discussed in depth it’s cool to watch this video and visualize Claude Shannon and peasoup!

                                                                        1. 4

                                                                          My favorite peertube instances are: https://video.ploud.jp/ for good content moderation and relatively active userbase, as well as TILVids https://tilvids.com/ for good science/elearning videos