1. 7

    Tvix and Guix in the same tag?

    1. 9

      Linux gets tagged unix despite technically not being one, so I guess it is close enough for anyone to care.

      1. 8

        sure, we can call it “nix-family” or something I guess

        1. 13

          Maybe too cute: nix-ish

          1. 5

            Maybe nix-y?

            1.  

              ix

              1.  

                ix is *nix-y but not nix-y. IMO “nix” was a poor choice of name that was bound to cause confusion eventually.

          2.  

            In that case why not make it more general and call it e.g. “package-management”? That would encompass not only nix, but also guix, tvix, dpkg, yum, portage, chocolatey etc.

            It’s a lot more broad than just “nix”, but so are most of the other tags on Lobsters, with the exception being programming language tags. Maybe it could be combined with a new tag “operating-system” for NixOS/GuixSD.

            1. 21

              I think that nix is so different that it should not be lumped together with other package managers

              1. 12

                I agree. While nix is technically a package manager, it has a vastly different approach to it. I’d go ahead and call the tag nix and post nix and nix-related things under it, and only if and when the GUIX people consistently take over that tag, at that point we can consider creating a tag for them too, but not before. because premature optimisation is the root of all evil.

              2. 16

                Every time a nix tag gets suggested, consensus seems to fizzle out as we discuss what the best name for an inclusive tag would be.

                At this point, I’m willing to stick with nix and not let perfect be the enemy of the good. We should have had a nix tag years ago!

          1. 42

            People who love nix: “we want a tag to find more nix content!”

            People who hate nix: “we want a tag so we can filter out nix content!”

            Mods: net opinion regarding a nix tag is zero, no action.

            😉

            1.  

              To be fair, the only time you wouldn’t want a tag on [subject] is if most people don’t have strong opinions one way or another on [subject].

              And people who don’t have strong feelings about [subject] generally won’t bother to comment about [subject], and therefore are hard to measure.

              Mods might yet be right. We’d need better statistical analysis to know for sure.

              FWIW I don’t have any strong feelings about Nix and I don’t care whether it’s added or not, but I’m not against a nix tag if other people want it. This is my first comment on the subject of adding a nix tag.

            1. 3

              Trying to do useful things with OpenSCAD and/or FreeCAD. Currently I’m hating FreeCAD and really liking OpenSCAD even though writing anything with it feels like I’m reinventing the wheel. FreeCAD would probably be a lot more productive, but doing anything in FreeCAD is frustrating as hell and requires figuring out the UI, instead of figuring out how to achieve my goal.

              OpenSCAD is really nice conceptually and quite simple. Take a look at the cheatsheet, it fits on one page! https://openscad.org/cheatsheet/

              That said, all you really need to get started is translate(), rotate(), and cylinder()/cube()/sphere() (a ‘cube’ is more accurately a rectangular prism, but that’s not a nice short four-letter function name is it?).

              And then maybe difference() in case you want to put a cylinder-shaped hole in a cube.

              And then module and function (the difference being that a function returns a value when called, but calling a module creates a shape just like calling cube()).

              And then, and then…

              Point is, OpenSCAD is just a series of really logical extensions, whereas FreeCAD feels like they threw a bunch of features into a blender.

              They’re like polar opposites. I can already imagine how I’d create all sorts of crazy organic shapes with for and rotate_extrude() and such in OpenSCAD! The only thing stopping me is I haven’t spent the quality time with a notepad!

              1. 5

                That’s not how you spell ZFS.

                Bcachefs is too new and unproven. It will eat your data if you let it by using it.

                1. 10

                  Bcachefs is intended to succeed the current go-to options: Btrfs and ZFS. All filesystems have to start somewhere.

                  1. 4

                    Is there a guide what are the planned improvements over ZFS?

                    1. 9

                      Apparently it has a much smaller codebase than ZFS or btrfs (and in fact, it’s slightly smaller than ext4) while being cleaner and more flexible.

                      1. 6

                        Not a technical improvement, but if all goes right, it would be included in mainline kernel with a known-valid licence - which I don’t think zfs will ever achieve.

                        1. 4

                          Not a technical improvement, but if all goes right, it would be included in mainline kernel with a known-valid licence - which I don’t think zfs will ever achieve.

                          …on Linux, at least ;)

                          1. 3

                            At the same time it seems to be GLPv2 licensed, which mean that merge into BSDs is also something that we probably will not see. So almost all users of ZFS will not bother with it.

                            1. 2

                              Maybe that’s for the best. Both worlds can have great filesystems, and the two worlds don’t need to use the same great filesystems. I’m getting more and more convinced that the less BSD people and Linux people have to interact, the better.

                              1. 1

                                I’m still hopeful once HAMMER2 is more mature, it’ll get ported to other systems including Linux.

                        2. 3

                          To me, two things stands out comparing to ZFS (at least promised):

                          1. True tiered storage support, unlike current L2ARC / slog in ZFS;

                          2. Better expansion RAIDZ* disks.

                          1. 1

                            Number one is 100% correct, and no one should use an slog thinking it’s tiered storage. The only tiered storage ZFS does is tier-0 in memory (ARC, not L2ARC) and tier-1 to your pool, rate-limited by the slowest vdev. The ZFS devs have turned down requests for true tiered storage many times, so I don’t think it’s going to happen anytime in the next 5 years. (You can get it working by using ZFS with a dm-writecache device as the underlying “disk” but I think all bets are probably off as to the integrity of the underlying data.)

                            But for number two, draid is probably the correct answer. I think it’s superior to what bcachefs is offering.

                        3. 2

                          But why not use what’s there. ZFS or porting HAMMER instead? If your focus is “reliability and robustness” code that is used in production seems better than creating new code with new bugs.

                          1. 3

                            But why not use what’s there. ZFS or porting HAMMER instead? If your focus is “reliability and robustness” code that is used in production seems better than creating new code with new bugs.

                            Because licenses, to start somewhere (the Linux kernel can’t include BSD code, for example). It’s also hard to argue that HAMMER is proven due to it’s extremely small user base, even if it might be interesting from a technical standpoint.

                            1. 6

                              Linux can include BSD licensed code - as long as there’s no advertising clause, it’s compatible with GPL.

                              See an old thread: http://lkml.iu.edu/hypermail/linux/kernel/0003.0/1322.html

                              1. 1

                                Linux can include BSD licensed code - as long as there’s no advertising clause, it’s compatible with GPL.

                                I stand corrected!

                                1. 1

                                  This is true, but note that ZFS is CDDL, not BSD.See https://sfconservancy.org/blog/2016/feb/25/zfs-and-linux/

                                  …but HAMMER would be fine from a license perspective.

                                2. 4

                                  the Linux kernel can’t include BSD code, for example

                                  What makes you think so? There’s quite a bit of code in the Linux kernel that started out BSD licensed.

                                  1. 2

                                    It’s totally legal to go either direction (BSD code mixed with GPL code or GPL code mixed with BSD code). There is a cultural stigma against the other license, depending on which license camp one is in. I.e. Most BSD people dislike the GPL license and go out of their way to replace GPL’d code with BSD license code(and the opposite for BSD code in Linux land).

                                    As a more recent example, GUIX didn’t get invented out of a vacuum, it’s partly(mostly?) GPL people unhappy with the Nix license.

                                    One extra gotcha as @singpolyma points out, GPL code mixed with BSD code enforces the GPL license on the binaries, usually making BSD proponents unhappy.

                                    1. 3

                                      This is very misleading because if you add GPL to BSD then the combined work/a derived work can no longer be distributed as BSD.

                                  2. 2

                                    the Linux kernel can’t include BSD code

                                    BSD is GPL-compatible, but the reverse isn’t true: BSD code can’t include GPL’d code.

                                    1. 2

                                      Technically BSD codebases can include all the GPL’d code they want. They can even keep the BSD license on the parts that don’t depend on the GPL part. The binaries would be GPL though and there are other reasons purists might avoid this.

                                    2. 1

                                      due to it’s extremely small user base

                                      So, like, bcachefs? or nilfs2 (which is in mainline…).

                              1. 7

                                It’s going to be interesting to have a new DE in a popular distro available by default. I’ll not sure why we ended up in this situation, but in almost every case you get the default Gnome, or you have to click through alternatives/spins/whatever to get something else. This is a welcome change.

                                1. 7

                                  I agree with you, but OTOH, Ubuntu did it with Unity and a lot of people hated that.

                                  I am running the Ubuntu Unity remix right now, on a PC wiped and reinstalled just this month. IMHO it’s still a great desktop and one of the best ever for Linux – but a lot of people hated it. One of the things that saddened me were people complaining that it couldn’t do things that it did easily, readily and by default – but they hadn’t learned how. (Example: multiple complaints that if you had an active icon in the dock thing for an app, you couldn’t open a new window. You can: you just middle-click the icon for a new instance. In this regard, it’s better than macOS, its inspiration.)

                                  Sadly, 26 years after Windows 95, that is the only desktop metaphor most people know. It’s a good one, but there is a lot more to desktop GUIs than Win95, and most of the clones don’t even implement one of the most basic features: the ability to move the taskbar to a vertical position on one edge, where the contents remain horizontally arranged.

                                  KDE, Cinnamon, MATE, Lumina – all Win95 ripoffs and can’t do this.

                                  Xfce & LXDE/LXQt are the only ones I know that do it well.

                                  1. 2

                                    You can: you just middle-click the icon for a new instance. In this regard, it’s better than macOS, its inspiration.)

                                    I’m not remotely surprised people are mad - convention in desktops is that middle-click doesn’t exist (or is optional), due to historical reasons of some mice literally not having a middle-click. Due to this convention, most people don’t even think to try middle-clicking, and will either left- or right-click only.

                                    The ‘problem’ here is that people don’t learn new paradigms formally - they learn by example, from using existing programs. So new entrants with new paradigms have to teach their paradigm at the same time as they’re introducing it, which means it’s impossible to be both radically innovative (as in, innovating at the very roots of your design) and intuitive/beginner-friendly. An aspect of a program can either be familiar or fundamentally novel, not both.

                                    1. 2

                                      I see what you mean, but in this instance and context, I beg to differ.

                                      Middle-clicking doesn’t do anything significant on macOS outside of web browsers, as far as I’m aware. On Windows, it triggers a free-scroll-by-dragging mechanism that I think was originally implemented by Logitech for their 3-button PS/2 and RS-232 mice, long before USB or scroll-wheels were common.

                                      But on xNix it’s an established mouse gesture with 3 meanings.

                                      1. Paste the currently-selected text at the cursor
                                      2. On a window title-bar: send this window to the back of the Z-stack, behind all other windows
                                      3. (As on Windows & macOS) Open a new browser tab to display the link being middle-clicked.

                                      AFAICR this works on FreeBSD as well as on essentially all Linuxes. I haven’t tried OpenBSD, NetBSD, Minix 3 or Plan 9 extensively enough to say.

                                      The middle-click to open a new instance behaviour is standard in browsers across all 3 major OS families. The fact that Apple and most PC laptops don’t give you a middle button doesn’t invalidate this. Clicking the scroll wheel does it on all mice and trackballs for 20+ years, and if you don’t have a middle button, clicking both left + right together does it and has done for 25+ years.

                                      This is not new or weird or radical. If people don’t know it’s there, that’s their problem, not that of Unity programmers. Or they could have taken 2min to read the single-page of quick-start instructions that Ubuntu resorted to displaying over the wallpaper when you first log in.

                                      Once again, I am frustrated and angry because most people are ignorant and lazy, so they didn’t know how to use something good and attractive and pleasing and useful, so handy functionality that I liked and used daily for many years was taken away from me.

                                    2. 1

                                      Cinnamon supports vertical taskbars. One on each side, if you want. Am I misunderstanding something about your complaint?

                                      1. 3

                                        It supports vertical panels.

                                        A panel has the contents arranged in the same direction as the panel. So if the panel is vertical, the contents are also vertical.

                                        A taskbar is different. The contents are always horizontal, whatever the orientation of the panel. Xfce calls this a “deskbar” and can do both.

                                        Here are examples of vertical taskbars: https://imgur.com/gallery/fLeAy

                                        Here’s a broken one in MATE: https://imgur.com/Fm6eZkW

                                        Notice that the menus is on its side, spacing is all over the place, launcher icons are GIGANTIC because they scale with panel width, and there’s a vertical column of status indicators.

                                        Cinnamon does something similar; I lose ¼ of the panel to a vertical column of status indicators, and I can’t have a neat single-icon-height row of them. Even the clock wraps onto 2 lines, one for the hours, and below that, the minutes. Dash-to-panel under GNOME Shell is the same.

                                        A vertical taskbar retains the horizontal orientation of the controls on the panel, but the panel itself is vertical. Make it wider, your app-switcher buttons get wider but don’t change size; you get more status icons in each row. The clock and start button stay the same size.

                                        1. 2

                                          KDE can do most of this. Here’s mine https://i.imgur.com/lx9AqBT.png

                                          I never tried to change the start or the clock size. It’s not obvious, but maybe I’m missing some options?

                                          1. 1

                                            I may have a screenshot of KDE $LATEST’s horribly broken attempt to do it somewhere, from the last time I tried. :-D

                                            Yeah, no, KDE can’t do it well at all. They never thought of the use case so it’s untested and it shows. The start button is square and scales to the width of the panel so it becomes HYYYUUUGE. Ditto the clock. The window-switcher applets – there are 2 to choose from, because KDE – try to scale the buttons to fill the available space which breaks my muscle memory.

                                            Belatedly looks at your screenshot Ha! Actually that nicely illustrates exactly the things I mean! Thank you.

                                            KDE, which has an option for everything, so the devs never thought of setting size constraints on toolbar items in a generic way (the smart thing to do IMHO and AFAICT what LXDE/LXQt does) or at least size constraints on things you may not want to scale (e.g. launcher menu and clock, which is what Xfce does.)

                                            Like it or not, the Win95-style desktop was invented by Microsoft, and in my not-remotely humble opinion, any desktop that seeks to implement the same style of desktop – taskbar, Start menu, system tray/notification area, etc. – should at least imitate the basic functionality that was in the original 26Y ago.

                                            Xfce does this, not terribly elegantly but in a nicely-customisable way. LXDE/LXQt do it, in a simpler way that’s less customisable but works. GNOME 2/MATE, Cinnamon, KDE 3/4/5 and just about every other Win95-like desktop I’ve tried on Linux or FreeBSD over the last 26 years fail to do so.

                                  1. 6

                                    We have already seen how disruptive changing language can be when the Python cryptography package added a Rust dependency which in turn changed the list of supported platforms and caused a lot of community leaders to butt heads.

                                    My understanding of the situation was that it only broke the package on unsupported platforms, that others were unofficially supporting downstream. Said others also missed the warning on the mailing list months in advance (AFAICT because they simply weren’t following it and/or it wasn’t loud enough), and frankly that’s kind of alarming given that it’s a security package.

                                    Link to the previous discussion of this whole controversy: https://lobste.rs/s/f4chm2/dependency_on_rust_removes_support_for

                                    1. 5

                                      Since a few people on HN misinterpreted the purpose of mentioning that example, I’ll preemptively quote here my reasoning behind its addition to the article:

                                      The point about the Python package example is not to say that Zig can get on platforms where Rust can’t, but rather that the C infrastructure that we all use is not that easy to replace and every time you touch something, regardless of how decrepit and broken it might have been, you will irritate and break someone else’s use case, which can be a necessary evil sometimes but not always.

                                      1. 3

                                        I’m still not sure you’ve chosen a good example – that Python cryptography package was already defacto-broken on those unsupported platforms (in the sense that crypto that the developers have never even attempted to make work correctly with the build dependencies that were in use should never have been trusted to encrypt anything) long before Rust ever showed up on the scene. The entire controversy around that package was about people mistaking “can be coerced into compiling on” with “works correctly on”, and thereby assuming and foisting on to end users a lot of ill-conceived, dangerous risks.

                                        “Zig would have allowed people to keep lying to themselves in this case” seems…uncompelling. There must be better examples & arguments that could be made here? Not “irritating and breaking” somebody’s broken, dangerous usecase is just not a selling point. It’s rather the opposite if you’re a package author who would prefer that people didn’t continue to build an unsupported footgun for users to shoot themselves with out of your work.

                                        And this all misses teh_cyanz’s larger point, which is that the quote

                                        changed the list of supported platforms

                                        is simply incorrect. It continued to build on all supported platforms. It broke the build for some people on platforms that had never been supported (this was explicitly stated by the maintainer), but who had just happened to hack together builds that may or may not have ever even worked correctly.

                                    1. 4

                                      Compute always wins. Imagine anything that was hard in the past and how hardware eventually overcame it. We don’t even notice that thing anymore.

                                      I understand the efficiency argument but the horse has kind of left the barn. Bets against webtech aren’t good bets to me. Something like Tauri, Photino or Neutralinojs will do the efficiency angle or we’ll have 512GB DDR5 sticks on desktop around ~2022. Yes, it’s a shame it’s a waste and there are other platforms than desktop but they’ll follow suit eventually.

                                      API and feature-wise, I can’t imagine something like QT having feature parity or adoption force. I appreciate and love the QT apps I use, they are lightweight and fast. I appreciate QT and efficiency. I just have stopped betting against webtech. The OP’s 2nd point of web tabs use memory too is slightly weak but I like the idea. You can close tabs and kind of manage it. You can’t do this in Slack for example.

                                      I understand the debate and I’m happy to listen, I’m just trying to write down where my head is at about this. I hope you consider compute always wins even if it annoyingly generalized.

                                      1. 6

                                        This view is stuck in the 90s. CPU speeds and memory sizes have plateaued since the mid 2000s.

                                        1. 3

                                          Here’s a graph from 2014 to 2021 across two architectures. https://twitter.com/iancutress/status/1334549180967227393 One arch (arm) is absolutely not plateaued (if you mean flat), the other is still having 10-20% IPC jumps per gen. Cores have been increasing, performance for parallel work is massively upward trend.

                                          Since 2000s dollar per GB of RAM is going down. I mentioned DDR5 stick density. We’ll see about price. Memory size is increasing, has been. https://jcmit.net/memoryprice.htm

                                          Surely computers have not been ~the same speed since the early 2000s? Can I read something you are thinking of?

                                          1. 3

                                            Surely computers have not been ~the same speed since the early 2000s? Can I read something you are thinking of?

                                            Computers in the early 2000s were nearly doubling in speed annually. You’re talking about low double digits. That’s an order of magnitude slower growth.

                                            Going from 1993 to 2003, my CPU went from 33 mhz to 2.4 ghz, a factor of about 1000. Probably more when counting IPC increase. My ram went from 12 megs to 1 gig of ram, a factor of 100.

                                            Between 2011 and 2021, we’ve seen nothing like that, especially counting single core performance. We’ve probably roughly doubled single core CPU performance, and quadrupled memory sizes. I’d say that this is a plateau.

                                            (And, sure, core counts have gone up – but that requires programmers to spend time optimizing – and effective optimizations mean ensuring that you’re not getting false sharing, slowing things down due to cache line ping pong and lock contention, etc. It’s not a free lunch.)

                                            1. 1

                                              Also, while performance capability has gone up, so have performance requirements - if you compared Windows XP to Windows 10, you’ll find a whole lot of stuff had to be removed from kernelspace and slowed down as a result, AIUI. It’s not enough to just run XP on a Ryzen chip, these days.

                                      1. 2

                                        I’m not confident this is a good idea, but I’d like tosee GUIs rewritten with the Godot Engine in order to find out if it actually is a good idea.

                                        https://medium.com/swlh/what-makes-godot-engine-great-for-advance-gui-applications-b1cfb941df3b

                                        1. 1

                                          I thought about that a while ago, but Godot’s text handling was incredibly primitive. I saw some recent blog posts that look as if it’s improved massively. There are a few other things that are probably possible to implement, but not there yet in Godot. For example, if I understand correctly, the standard structured data controls don’t do lazy loading in Godot. I didn’t find a table view in the API but the tree view looks as if it requires you to populate it up-front. The last GUI application I wrote needed to be able to create a table view with tens of millions of rows. This was trivial with Cocoa / GNUstep, because the GUI framework just needed rows to be provided as they became visible.

                                          I have a few quick tests for a GUI framework:

                                          • Can I apply arbitrary semantic annotations to a range with their default rich text representation and then have those mapped to concrete styling by something later in my pipeline?
                                          • Can I create two text views and have content flow from one to the other?
                                          • Can I create a scroll view and embed everything else that I have inside it?
                                          • Can I create a table view with a million rows and scroll it smoothly?

                                          Very few things do well on all of these.

                                        1. 4

                                          The title says “that no one knows exist yet”, yet the text is all about “problems that no one with power to fix them knows exist yet”.

                                          This is interesting, but it’s a management problem first and foremost. The real underlying problem is either a lack of communication, or a dysfunctional org hierarchy where major problems are known but nobody is permitted to solve them.

                                          1. 1

                                            Hey, I have this bookmarked! It was from when I was researching whether it’d be feasible to build a solar-powered battery-less e-ink alarm clock that was roughly shaped like this one: https://www.pinterest.com.au/pin/42784265197266034/

                                            (I’m going to use this comment as an excuse to describe my concept, in case it’s interesting to someone.)

                                            My thinking was that solar panels degrade really slowly (0.3% per year, apparently - and (99.7%^100 = 74%) while (100% - (0.3%*100) =70%, whichever one applies) so unless that becomes irrelevant at longer timescales you only need ~1.33x the solar cells to be still functional for the next century), so perhaps it’d be possible to make an alarm clock that was self-sufficient for literally a century without breaking down. An “heirloom clock”, if you will.

                                            While obviously a solar-powered alarm clock with a lithium battery and a chunk of solar cells would be viable, because clocks with normal non-rechargeable batteries last literal years, batteries break too quickly so if possible you’d want to use capacitors instead.

                                            The clock would also need to charge from indirect sunlight to be at all reliable, given that most people don’t have perfectly sunny bedside tables, which means you need to add a whole lot more solar panels than is strictly necessary for the best-case scenario. An order of magnitude difference, apparently.

                                            Plus, the clock’s power supply would need to be able to handle more than just the screen updates - it’d need to beep the alarm and have a light so it’s visible in darkness.

                                            E-ink possibly isn’t the best choice for this, but 1) the original alarm clock’s time-display isn’t visible while lying down, and I suspect this is a deliberate choice to avoid glowing onto a sleeping person’s face when they first open their eyes, and 2) aesthetics is definitely a factor here, and e-ink is definitely the best choice aesthetically. Aesthetics is the main reason I bookmarked this project incidentally (that wooden shell is amazing!), despite its “solar” being nothing to do with PV.

                                            Sadly, e-ink screens don’t last long enough for this concept to be viable - there are ~500 000 minutes in a year, and e-ink screens last less than 5 million refreshes. That means the screen won’t even last the decade before it needs replacing.

                                            1. 11

                                              Aren’t we coming the full circle again? In the early days, everything was done on the mainframe, then personal computers came, so more work was able to be done there, while the binaries were shipped to servers. Now cloud is beginning to look like one big mainframe, and everything is moving onto it, so personal computers are becoming irrelevant — the main difference with the old days is that current personal computers are quite powerful. Aren’t we just lazy at making reproducible environments?

                                              1. 5

                                                There is the aspect of laziness about making reproducible environments, but there are projects where it’s legitimately about computing power, and there’s also a shifting of expectations and requirements in terms of “terminals”, as in, things that the developers use.

                                                I mean yes, Docker is basically “works on my machine”-as-a-service, but I’ve really seen (and, once or twice, worked) on projects where compile times on a very beefy high-end laptop were on the order of 3-4 hours, and 32-core build servers were a necessity. Even with laptops that cost a fortune, compilation speeds were a real bottleneck.

                                                And then… there’s also the matter of the development machines themselves. For a variety of reasons, some legitimate, some extremely stupid, you really do see more and more thin, light, two-port machines being used for these things. Being able to develop on a comfortable, quiet, low-power system, while outsourcing the beefy build to loud, air-conditioned datacentres is pretty attractive.

                                                Running an IDE in a browser isn’t, at least as far as I’m concerned, but this is just a contingency of our age. People got tired of many madnesses in the last 40 years, and they’ll get tired of this one. But planting the seed of easily-accessible, on-demand development environments and build machines is worth it, I guess.

                                                Plus, there’s really the commercial aspect. It’s not really a technical matter. Technically, I mean, as far as you and me and all other developers are concerned, a cloud IDE is never going to come even close to an application that’s constrained neither by the myriad of quirks that browsers have, nor by the fact that GUI programming for the web is barely where GUI programming for “real computers” was 30 years ago (minus things made inevitable by our times, like internationalization, responsiveness etc.). But it’s going to make way much more money.

                                                There’s a nice essay by Rudolf Winestock that keeps being posted around when stories like these pop up called The Eternal Mainframe, and the man has a point. Well, several, but this one’s one of them:

                                                The fact that minicomputers, microcomputers, and workstations were ever successful indicates that the computer and telecommunications industries were still immature. It may also indicate that Big Blue and the Death Star were price gouging, but that’s another story.

                                                I also think that widespread deployment of computers, with compute time that you don’t rent, was in good part a historical accident – mind you, a happy one, but ultimately something that just can’t prevail in our industry.

                                                1. 1

                                                  I think the problem has historically been network support - PCs pre-date widespread reliable internet, not to mention that we’re not using dumb terminals now but clients on computers that do a bunch of processing clientside, if only to avoid latency problems for e.g. responsive UI.To clarify, by “responsive UI” I mean a UI whose response time is very low, not the “responsive” buzzword.

                                                1. 3

                                                  What git command line do I run to remove a maintainer?

                                                  1. 9
                                                     git clone https://github.com/git/git
                                                     find git -type f -exec sed -i "s/git/nit/g" {} \; // And some more refactoring
                                                     git commit -am "Fork git to nit"
                                                    

                                                    Git is a dvcs after all.

                                                    1. 1

                                                      Nah, you also need to update every shell script to use not instead of git.

                                                      My theory is that this is why CLI reforms suchas gitless haven’t taken off.

                                                    2. 1

                                                      No need to be authoritarian, you can always make your own fork. Or simply apply the patches.

                                                      1. 13

                                                        It’s not authoritarian to think that people who aren’t engaging in good faith shouldn’t be running core tooling projects used by the entire software industry. Applying a fork doesn’t solve the issue that a toxic person is leading a massive community effort.

                                                        Furthermore, this isn’t about solving it for me – I know how to use git already. It’s about increasing accessibility for newcomers, who won’t know how to apply patches and recompile.

                                                        1. 5

                                                          So long as you only think so.

                                                          Where can I see a single example of engaging in bad faith, or any toxicity for that matter?

                                                          It could be argued that core tooling shouldn’t change at all, and a change like this would confuse the documentation, or break things. Though this has happened already with the master → main switch, as well as with some changes to the porcelain. git is rather bad from both viewpoints.

                                                          1. 2

                                                            It could be argued that core tooling shouldn’t change at all, and a change like this would confuse the documentation, or break things.

                                                            Thank goodness neither of those points is relevant to the linked discussion. All of this stuff is backwards-compatible.

                                                            1. 6

                                                              This is under the confusing of documentation. The more ways to do it, the more confused it is. Changing terms in any place would also be a source of confusion. I admit to not having read it in detail, but no miracle is possible.

                                                              I mostly just scanned it, early on found out it literally lies (“everyone” means “people I agree with”), and figured out it’s just someone publicly moaning, so not worth the attention.

                                                              And then there was this comment where someone disrespects other people’s work, of course.

                                                          2. 3

                                                            You’re free to fork and improve git. Or even implement your own from scratch.

                                                            The more forks and independent implementations, the better the ecosystem – and maybe some ideas filter across.

                                                            1. 4

                                                              Furthermore, this isn’t about solving it for me – I know how to use git already. It’s about increasing accessibility for newcomers, who won’t know how to apply patches and recompile.

                                                              1. 2

                                                                Well then you better put in the effort to get your fork into distribution repositories.

                                                                1. 1

                                                                  Why would you be unable to provide downloads and packages?

                                                                  It’s not like X.org, Jenkins, LibreOffice, and other forks are significantly harder to install than the original.

                                                              2. 2

                                                                Yes it is; the way the term “shouldn’t” is used there presumes it is or should be in your authority.

                                                                1. 1

                                                                  Applying a fork doesn’t solve the issue that a toxic person is leading a massive community effort.

                                                                  Sure it does: if you do better, people switch projects, and the origin of the fork stops being a massive community effort. How many Hudson developers are there today? How many Jenkins developers are there today?

                                                                  How about Gogs vs Gittea?

                                                            1. 3

                                                              This seems like such a weird thing to bikeshed about… I basically never have to refer to it so what does it matter what it is called?

                                                              1. 12

                                                                The git porcelain is a very, very thin wrapper of git’s own internal data model. Clearing up terminology could make it easier for people to understand git.

                                                                1. 4

                                                                  It matters because there’s a clear step to improve the documentation (of which Git’s is notoriously lacking already) and there’s no reason to specifically include a clarification around the term that all the tutorials use and thus that all new users learn it as.

                                                                  If it were a matter of removing the term “index” from documentation then it would be bikeshedding, but we’re talking about adding the term “staging area” here. I doubt anyone would object to a permanent “index” alias for every relevant command, as long as there’s “stage”, too

                                                                1. 3

                                                                  This is definitely a rant, but I think it is something a lot of people have felt to some degree.

                                                                  I don’t buy all of what they are selling though. I happen to like JSON and the term API seems to mean something where I am.

                                                                  1. 6

                                                                    Yeah, I’m wondering what the author’s prescriptions would be based on these critiques. Does the author think we should use CSV or XML instead of JSON? Or do they like JSON but want to criticize it for being a “glorified CSV” anyways? I don’t understand the point.

                                                                    And they say APIs are for people who are “idiots” and “cannot code”. Does the author think we should somehow stop using “APIs”? What the fuck does that even mean?

                                                                    I think you could write a well-reasoned argument for the problem with managers and APIs; maybe you could write about how managers may think using an external web API is a panacea, how they may be unknowledgeable about the short-term costs in terms of development time it might take to integrate with a web API or the long-term costs of making the product depend on a third party’s services. You could even fit that argument in a rant format if you wanted. But “you are an idiot, you cannot code, here, use this line here, and when it runs, it will retrieve something from a server somewhere” is so far away from that it’s not even funny. This strikes me as a really bad rant by someone who doesn’t actually understand what they’re criticizing.

                                                                    1. 2

                                                                      The article is obviously a rant and some of the wording is a bit too much, with that said:

                                                                      I think the point is that maybe we didn’t need JSON and XML was just fine or at least that JSON did not fix all UX issues and in some cases, it introduced new ones. Now that we have JSON we might as well use it - that is not what the article is about.

                                                                      If we look at the history of configuration languages, let’s say it goes XML -> JSON -> YAML -> TOML (the exact transitions don’t matter - I want to show there was a lot of them) I think it is fair to say that they are all bad in some way. For example, XML was very wordy, but since it was all S-expression-like and editors were smart about it, it was easy to get it right. YAML is sometimes hard to read because (at least for me) even with editor guides it is difficult to figure out the indentation, etc.

                                                                      So if all configuration languages have UX problems why have new ones? The article claims most of this work is done for the benefit of developers who were able to spend their time coding new standards, new libraries, etc. instead of solving the original problems.

                                                                      How should the file format problem be solved? I don’t know to be honest, but I agree that with new formats what we needed was proof that they actually make all the things better before they were applied everywhere with a huge cost.

                                                                      In the same way, the author obviously didn’t say we should not use APIs. The thing is that before APIs programs could communicate through interfaces as well. Most of them could be called APIs maybe some were, it does not matter. What matters is at some point APIs became a “word” and it was used by business types as a nice abstract idea that sells and by developers again as an abstract idea that is easy to use: “we need to provide this API”, “we need to support this API”.

                                                                      I think the argument in the article was that I often see release notes similar to: “new export format” or “full support for new Gesture API”. Maybe the end-user does not care which format we use to export their data if it is not faster than it was 2 years ago? maybe they do not care if we support the latest Swipe Gesture API if the app loads slower than it has 1 year ago?

                                                                    2. 3

                                                                      but I think it is something a lot of people have felt to some degree.

                                                                      I agree, but I’m not sure that’s a sufficient bar to be worth posting in itself.

                                                                      For instance, if I focus specifically on the Firefox-related part of the rant, I understand the frustration (and it’s a common sentiment) but there’s zero actual investigation into why the extensions system had to be replaced. And frankly, the reason is underwhelming: the XUL-based extensions were about as secure as permitting users to install arbitrary kernel modules, and as such were insecure by design.

                                                                      If we agree that people ought to be able to do banking over the web in Firefox, then it’s a foregone conclusion that XUL-based extensions had to go.

                                                                      Also, based on this:

                                                                      When I go to a restaurant, I don’t want to know what the staff is doing with my food. I’m paying for the service and ignorance. And I expect the same from software. I’m paying, I’m the boss. It’s time the software industry started serving its boss, the user.

                                                                      Cheers.

                                                                      I expect that if banking wasn’t available on Firefox (or was notoriously insecure), this guy would be outraged at why such a primal need wasn’t fulfilled. So honestly I don’t see any solution here when this guy 1) doesn’t want to hear what the actual problems are, and 2) isn’t satisfied with any of his options. There is literally no way of satisfying this person.


                                                                      But circling back to your comment: if it’s something that a lot of people have felt, that’s a topic worth discussing if only to check if there’s a method of fixing it. I think a more useful approach would be if someone were to more explicitly start a discussion in the form of “A lot of people feel X. What is the cause of this, and what could be done about it?” Instead of trying to discuss the drivel in OP’s link.

                                                                      1. 2

                                                                        This reminds me of the thing chrome was trying to do with extensions specifically involving ad block a few years ago. I don’t really know what came of that. But the argument for it I think was made on the basis of performance and security.

                                                                        You could make the argument that letting a website do whatever it wants with javascript isn’t a good idea.

                                                                    1. 4

                                                                      Firefox, the same thing. We have a browser that is doing everything to make itself into a different browser. And now, it is changing its very fiber, the extensions mechanism, so that we get a new framework of extensions that is completely incompatible with the old one, plus it’s going to alienate all the existing users. Oh yes, users. Supposedly the target audience who should benefit from all these software games. No, not anymore.

                                                                      Counterpoint for why abandoning the old XUL-based extensions was both the correct choice and necessary (written by a Firefox dev): https://yoric.github.io/post/why-did-mozilla-remove-xul-addons/

                                                                      (tl;dr: XUL-based “extensions” had infinite scope and were equivalent to installing arbitrary out-of-tree kernel modules, which was horrifically insecure, utterly strangled development because it was impossible to avoid breaking peoples’ “extensions”, and burned out add-on developers by forcing them to update their add-on whenever the relevant parts of Firefox’s internals were updated.)

                                                                      I would love to hear a counterpoint to the counterpoint, on what exactly should have been done instead.

                                                                      1. 50

                                                                        To be honest, I’m really sad and concerned about people opting to use WSL. It really looks like another EEE scheme. If you want to have freedom in the long run, please, please participate in the FOSS desktop ecosystem: help debug driver issues, help maintain HCLs to make it easy for new users to pick knowingly well-supported hardware, at the very least, report the bugs you see.

                                                                        WSL opens up a way for MS to push the restricted boot for desktops without people noticing who would otherwise be the first to notice. Monopolistic proprietary software vendors are not friends of FOSS. Never were, and never will be. Don’t trade essential liberty for temporary convenience.

                                                                        1. 10

                                                                          Unfortunately, “the linux desktop” is also wholly captured by monopolistic proprietary software vendors, who are also not friends of FOSS. The systemd debacle, the dbus debacle, all the renderer debacles, the app store debacles, the various gnome debacles – it’s monopolistic proprietary tasteless foisted broken politically-contrived nonsense all the way down. It’s hardly surprising that people use WSL which at least has the benefit of you being able to run productivity software that consistently works.

                                                                          1. 4

                                                                            With big corporations one can never know, but it seems to me that in recent years Microsoft have been a good citizen of the open-source software world. I’m willing to give them the benefit of the doubt.

                                                                            That being said, I’m also concerned about native Linux desktop losing traction, but I have think this has been happening steadily for a while now. I used to know a ton of people running Linux as their primary OS, and now almost everyone’s on macOS and WSL. Perhaps most people don’t care much about the underlying principles, as long as they get their work done.

                                                                            1. 22

                                                                              Well, and from your very post it’s clear where it eventually leads. macOS isn’t the “polished UNIX experience” people thought it always would be. I believe we should make the system we want or else we risk a situation when there will be nowhere to migrate to.

                                                                              That said, I do get my work done on a Linux desktop and nothing crashes for me on 8th gen Intel NUC hardware.

                                                                              1. 20

                                                                                I’m one of them. I’m actually the last person to switch out of… about 20 regulars? in what was once a local LUG. I still run Linux and OpenBSD pretty much everywhere I can except for my main working machine, which runs macOS. I’m not happy about it, but it’s also not a matter of convenience.

                                                                                It’s not that I’ve sacrificed the principles of open source but, realistically, I do not trust the vision that’s currently prevalent in the world of FOSS desktop. It’s a vision that I don’t understand – seeking to provide software for users who understand and care about the technical aspects of fundamental liberties, who can file bug reports and test fixes from a devel branch, or even submit patches, who are willing to follow HCLs before buying new hardware, but are also confused by too many customisation options, and intimidated by small icons and buttons. It produces software that I find less capable with each release, and which makes it harder and harder for me to make things that others find useful, to work on new things, to learn things about computers and things other than computers, and so on.

                                                                                Showing up with patches – or heaven forbid, bug reports – that do not demonstrate a sufficient understanding of these principles is met with hostility by many communities, and I honestly have no interest in even trying anymore. I’ve no intention of dying on hills held by designers who asked four interns to perform these actions and rate how hard it was, thus unlocking the secret of how to build the UIs that will finally bring upon us the Year of Linux on the Desktop.

                                                                                And I honestly have no interest in going the underground route, either – running dwm, i3, or resurrecting my FVWM config from 15 years ago and going back to using mc, pine, bc and emacs under xterm. I like file managers with nice-looking icons and proportional fonts, I like graphical email clients and, generally, all these programs that try (and sometimes fail) to figure out what would be good tomorrow, rather than to get to the essence of what was good thirty years ago.

                                                                                But I also think that it’s not a good idea to develop professional software – terminal emulators, text editors and IDEs, CAD/CAE tools, system administration tools, whatever – by using UX and UI design principles for novice users and freemium apps. All you get is software designed for people who don’t want to run it in the first place, and deliberately made worse for those who do want to run it.

                                                                                I wish there was a better way, but if the best way to write things that run under Linux and help others do cool things with it is to get a Macbook or a Surface and SSH into a headless machine, or run WSL, I can do that. (And honestly, I totally get the appeal, too. After a few months with iTerm 2 – which is also open source, and I mean GPL, the commie kind of open source – I don’t want to touch Gnome Terminal ever again in my entire life).

                                                                                1. 5

                                                                                  That we agree on principle 1. “professionals first” comes as no surprise ;-)

                                                                                  In that vein though, can you think of concrete/specific examples that illustrate the conflict of interests/disconnect? The easiest I have from the OSX brand of face-meets-palm would be the dialog:“Terminal would like to access your Contacts”. Unpacking it speaks lengths about what is going on.

                                                                                  1. 2

                                                                                    My favourite one lately is from Windows, which insists on automatically rebooting in order to install updates in the middle of the night so that you’re greeted by a full-screen ad for Edge, which is now also your default browser a better and more secure Windows experience in the morning. That works out great on paper, but in practice, lots of us who use computers for work just wake up to the Bitlocker screen, and five minutes of please wait, installing updates.

                                                                                    From Linux land… I’ve honestly ragequit a long time ago, I kept poking it for three or four years (by which I mean I mostly ran a bunch of old console apps and a few Qt apps) and eventually gave in and bought a Mac. I mostly have a bunch of bad memories from 2012-2017 or so, after which my interactions with it were largely limited to taking point releases of XFCE, Gnome and KDE for test drives and noping the fsck out back to FVWM. So most of my complaints are probably either out of date, or oddly generic (everything’s huge and moves a lot and that’s not nice to my ageing eyes).

                                                                                    Plus… there’s this whole approach to “improving” things, you know?

                                                                                    When I got this stupid Mac, it was uncanny to see how many of the things I used back in 2006 or 2007, when I last used a mac, are still there and work the same way. Even Finder has the same bugs :). Meanwhile, there are things I liked in KDE 3.5 that literally got rewritten and broken three times since then, like custom folder icons support. Which is now practically useless anyway, since icons from modern themes look pretty much the same below 64x64px – I get looks great in screenshots but guys I have folders with a hundreds of datasheets, there’s no way I can ever find anything in there if I can only see like 12 files at a time.

                                                                                    (Edit: FWIW, I think we pretty much agree on all twelve :P)

                                                                                    1. 2

                                                                                      My favourite one lately is from Windows, which insists on automatically rebooting in order to install updates in the middle of the night so that you’re greeted by a full-screen ad for Edge, which is now also your default browser a better and more secure Windows experience in the morning. That works out great on paper, but in practice, lots of us who use computers for work just wake up to the Bitlocker screen, and five minutes of please wait, installing updates.

                                                                                      Somewhat ironic how denial of service is rephrased as a double-plus good security measure, no? Coming from a SCADA angle, the very idea of an update of any sort borders on the exotic (and erotic), but the value of that contract seems to have been twisted into a means of evaluating change by forcing it on users and study the aftermath. The browsers are perhaps the most obviously, but regardless of source it is quite darn disgusting.

                                                                                      From Linux land… I’ve honestly ragequit a long time ago, I kept poking it for three or four years (by which I mean I mostly ran a bunch of old console apps and a few Qt apps) and eventually gave in and bought a Mac.

                                                                                      So amusingly enough I was a die hard FOSS desktop user from the mid 90ies until the arrival of OSX (though raised in Solaris lands). Most of my bills went to pay the cluster of PPC mini macs I used to do my dirty deeds (the biggest of endians). Come 10.6 it was clear that Apple’s trajectory was “fsck you devs, we’re through” and I took it personally. Left all of it to rot, returned to FOSS and was dismayed by what the powers that be had done to the place. The tools I was working on towards, “solving oscilloscope envy by reshaping the debugger” had to be reused to build a desktop that “didn’t change beneath my feet as I was walking around”.

                                                                                      I get looks great in screenshots but guys I have folders with a hundreds of datasheets, there’s no way I can ever find anything in there if I can only see like 12 files at a time.

                                                                                      I would like to run an experiment on you, but the infrastructure is lacking for the time being – here is one of those things where VR performs interesting tricks. Posit that a few hundreds of datasheets are projected onto a flat surface that is textured onto a sphere. You are inside of that sphere with a head mounted display. How long would it take your cognition to find “that one sheet” among the others, versus scrolling through a listview…

                                                                                      1. 1

                                                                                        the value of that contract seems to have been twisted into a means of evaluating change by forcing it on users and study the aftermath. The browsers are perhaps the most obviously, but regardless of source it is quite darn disgusting.

                                                                                        IMHO this trench war of updates, where users are finding new ways to postpone them and companies (in this case, Microsoft) are finding new ways to make sure updates happen, is entirely self-inflicted at the companies’ end.

                                                                                        Way back when big updates were in the form of service packs, there was generally no question about whether you should update or not. If you were running bleeding-edge hardware you’d maybe postpone it for a week or two, to let the early adopters hit the bad bugs, but that was it. As for the smaller, automatic updates, people loathed them mainly because of the long shutdown times, but it was generally accepted that they at least caused no harm.

                                                                                        Nowadays, who knows. During lockdown I had to go halfway across the city to my parents’ house twice to get my overly-anxious mother (elementary school teacher who’s one or two years away from retirement, so pretty scared when it comes to tech) past the full-screen ads with no obvious close buttons, restore Firefox as a default browser and so on, while she commandeered my other parental unit’s 15 year-old, crawling laptop to hold the damn classes. No wonder everyone dodges updates for as long as they can.

                                                                                        I would like to run an experiment on you, but the infrastructure is lacking for the time being – here is one of those things where VR performs interesting tricks. Posit that a few hundreds of datasheets are projected onto a flat surface that is textured onto a sphere. You are inside of that sphere with a head mounted display. How long would it take your cognition to find “that one sheet” among the others, versus scrolling through a listview…

                                                                                        I’m sure you’ve thought about this for longer than I have, but I suspect there are two things that determine success in this case:

                                                                                        1. An organisation system that matches the presentation (e.g. alphabetical order for a one-column list view)

                                                                                        2. Being able to focus on a sufficiently large sample that you can browse the list without moving your eyes back and forth too much

                                                                                        3. is pretty obvious, I guess. I like to go through listviews because these things are sorted alphabetically, and while many of them have very stupid names like slau056.pdf (which is actually MSP430x4xx Family User’s Guide), I usually sort of know which one I’m looking for, because manufacturers tend to follow different, but pretty stable conventions. As long as they’re laid out in a way that makes it easy to “navigate the list” (in stricter terms, in a way that preserves ordering to some degree, and groups initial navigation options – i.e. sub-directories – separately so they’re easy to reach, wtf GTK…), it’s probably fine.

                                                                                        4. probably bears some explanation because it’s the reason why large icons suck so much. Imagine you have a directory with 800 items and you’re looking for one that’s in the middle. If you can only see 10-12 at a time, then a) it takes a lot of time to hit the exact window with the file you’re looking for, and the tiniest amount of scroll moves up and down by a whole page of items. So you get to go back and forth between dozens of 10-item pages, and often overshoot, then undershoot the one you’re looking for dozens of times, all while wiggling your eyes all over the window.

                                                                                        I dunno what to think about the inside of a sphere. My knee-jerk reaction is to say I’d get dizzy and that a curved, but field-of-view-sized surface might be a better fit. But gentleman skeptics once complained that trains would be draughty, too, and it turned out they were, but also that it was more than worth it. Just like flying machines became a thing once we finally figured out imitating birds is just not the right way to go about it, we’re probably going to make real progress in organising and browsing information only at the point where we stop imitating libraries, so I think this meets the essential prerequisites for success ;-).

                                                                                      2. 1

                                                                                        (everything’s huge and moves a lot and that’s not nice to my ageing eyes).

                                                                                        For what it’s worth, the Reduce Motion accessibility setting helps with some of that.

                                                                                    2. 6

                                                                                      I think the worst thing that happened to FOSS is UX designers (and that includes things like Flatpak).

                                                                                      It doesn’t matter whether the reason for “software won’t do X anymore” is some evil mega-corp or some arrogant UX designer, the result is the same.

                                                                                      (And before anyone slides in with a “let me mansplain UX to you”: I’m good, thanks.)

                                                                                      1. 7

                                                                                        The field of UX has massively regressed in the last 15-20 years, everywhere, not just in the FOSS world. It’s a cargo cult at this point. Even many (most?) of the organisations that allegedly practice “metrics-driven” design routinely get it so wrong it’s not even hilarious – they make fancy graphics from heaps of data, but they have no control groups, no population sampling, and interpretations are not checked against subject feedback (which is often impossible to get anyway, since the data comes from telemetry), so it all boils down to squinting at the data until it fits the dogma.

                                                                                    3. 11

                                                                                      It’s a common thing for people to discuss what {company X} thinks about {idea Y}. But if you work for a corporation at least a while, you learn there’s no such sentiment. It’s closer to {high level exec A} thinks that {area B} is a great way to expand and {investing in C} is the way to do it. Soon person on position “A” may change, “B” may have a good replacement, and money pumped into “C” may turn out to not have a good return. Microsoft doesn’t like or dislike anything. Managers with enough power temporarily like some strategies more than others.

                                                                                      We had Balmer on one extreme, now we’ve got Satya who seems like the other extreme. In 5 years we may have either: Balmer++ deciding to sue Valve for Proton, or Satya++ deciding to opensource parts of windows kernel, or someone in the middle who approves something nice for FOSS and destroys something nice for FOSS, because they don’t care about that aspect at all, or anyone in between.

                                                                                      Corporations don’t deserve the benefit of the doubt. Some execs do. Just remember they’ll be out in a few years.

                                                                                      1. 2

                                                                                        This is very true.

                                                                                        I think this phenomenon is laid out very well in the book The Dictator’s Handbook. It claims that countries, companies, and other entities don’t have opinions or preferences; people are the top and at every level do. They are looking after themselves.

                                                                                        Disclaimer: not the author of the book; it’s just one of my favorites, and I recommend it for everyone to read.

                                                                                      2. 4

                                                                                        With big corporations one can never know, but it seems to me that in recent years Microsoft have been a good citizen of the open-source software world. I’m willing to give them the benefit of the doubt.

                                                                                        What have they done, or stopped doing, to earn this praise?

                                                                                        1. 7

                                                                                          They’ve released a lot of core tech as open source: VS Code, .NET Core, some Windows programs such as Terminal and Calc, etc. They’ve supported a lot of other open source things less directly: NuGet, Python packages, etc. They’ve more or less stopped campaigning, advertising and litigating against open source stuff the way they did up through the mid/late 2000’s – see here for entry points to some good examples.

                                                                                          I’ll happily give Microsoft the benefit of the doubt, but we’ll see if they continue this strategy of being nice for another 5-10 years, or whether we enter the “extinguish” phase, more or less the same way Google has in the last 5 years. If Microsoft thinks they can make more money being nice than being evil, then that’s what they’ll do; that’s the only decision path that matters to them.

                                                                                          1. 12

                                                                                            They won’t abuse their monopoly too much, because they don’t actually have one. It’s no secret that they open-sourced .Net to make it a viable option for web on Linux servers, and even though they dominate desktop, desktop itself has competition from 1) the browser (see: web apps) and 2) phones/tablets (there’s zero difference between a laptop and a tablet with a keyboard). They’re playing nice because they know they’re an underdog and can’t afford to act otherwise.

                                                                                            Of the three platforms (browser/desktop/touchscreens), the Browser is most controlled by Google, and phones/tablets are most controlled by Google. This conveniently lines up with the “Google is the new Microsoft” meme.

                                                                                        2. 2

                                                                                          I also think Microsoft has done way better, and I really think they are likely to continue supporting and embracing open source. It seems like the company culture has shifted in a very fundamental way.

                                                                                          That being said, we should still operate under the assumption that they won’t. Trust, but verify. Same reason you should be wary of signing a CLA that assigns copyright, even if you really, really trust the company the CLA comes from.

                                                                                          1. 1

                                                                                            I used to know a ton of people running Linux as their primary OS, and now almost everyone’s on macOS and WSL. Perhaps most people don’t care much about the underlying principles, as long as they get their work done.

                                                                                            My main principle was always to get certain things done. For a long time (say, from the year 2000 to 2018) Linux was absolutely number one for that, for me. Now it’s Apple, but by a small margin.

                                                                                            I’m fairly certain that it will never be Windows except for games. And that’s becoming a small margin as well.

                                                                                            From the article:

                                                                                            As you can see there’s nothing fancy about it. I wanted to build a decent workstation, not a gaming rig. Still, I opted to get a decent discrete GPU, as there were a few PC games that I was hoping to eventually play (StarCraft II, Tomb Raider, Diablo III, etc).

                                                                                            So this is absolutely and obviously a gaming rig :)

                                                                                          2. 2

                                                                                            I think that asking people to pay a cost (in time, complexity and frustration) to try and match their desktop workflows from Mac OS or Windows in Linux is a fool’s errand, and in addition, the “real enemy” isn’t Microsoft (Windows) or Apple, but rather Google/Amazon/Microsoft (Azure/Github). I think the real challenges to software freedom are in confronting the big SaaS providers, and I would love to hear what the various freedom advocates think we should do about that.

                                                                                            1. 1

                                                                                              big SaaS providers

                                                                                              What do the big SaaS providers have to do with the state of linux on the desktop?

                                                                                              1. 2

                                                                                                Not much! But they have a lot to do with the state of software freedom, or rather, the lack thereof.

                                                                                          1. 1

                                                                                            I’m not sure if it means much. The whole point of developing integrated circuit is making things more integrated. Are you going to repair your CPU? Impossible. Are you going to repair your GPU? Hardly. We are seeing larger and larger SOCs containing more and more stuff. The cost of repair would eventually be higher than mass production, because you just can’t mass repair to lower the cost. Right to Recycle would be much better.

                                                                                            1. 2

                                                                                              I don’t think there are many (any?) devices that are 100% unrepairable because they have components that are “too integrated”.

                                                                                              Also, if you think this just applies to CPUs, etc, you’re missing out on many (many) other components devices have that wear out/break, like buttons, displays, batteries, chassis, plugs (e.g. like usb, power barrel), and so on.

                                                                                              1. 1

                                                                                                There are two problems here; answering your premise (plenty of that stuff can be repaired, actually), and addressing the validity of your premise in the first place (it’s our right to try to repair stuff, we can legally repair our own car brakes let alone electronics and we don’t have to justify these rights to anyone, whereas manufacturers who abuse their manufacturing size specifically to prevent the sale of spare chips by vendors do need to justify whether this monopolism is a legally justifiable business practice).

                                                                                              1. 1

                                                                                                This is just a laptop with a proprietary parts system.

                                                                                                Not sure if this advertisement belongs here.

                                                                                                1. 8

                                                                                                  proprietary parts system

                                                                                                  That’s true for some of the parts I’m sure (due to necessity since the market doesn’t have a concept of “standardized laptop enclosures”), but the expansion cards are just internal USB C dongles. They’ve also released the CAD files for the expansion card housing, so people can make their own.

                                                                                                  1. 5

                                                                                                    Maybe, apart from the screen, expansion cards with ports on them, speakers, memory, storage, camera, microphone, plastic bit around the screen, wifi module.

                                                                                                    Nothing is stopping people from buying the same components or compatible components or even making new compatible components. If I am wrong and naive then please tell me why.

                                                                                                    1. 1

                                                                                                      Proprietary as in “only used by the one company”, or proprietary as in “fees required for production of compatible devices”?

                                                                                                      If the former, that’s how most good hardware standards start off - someone makes their version and shows it can work (and gains nontrivial marketshare), then others produce components that can match.

                                                                                                      If the latter, well, that’s news to me.

                                                                                                      1. 1

                                                                                                        If the latter, well, that’s news to me.

                                                                                                        AIUI only the USB3-based slots are open and royalty-free. Anything else is proprietary.

                                                                                                    1. 5

                                                                                                      Recently, I’ve been thinking: there should exist a “save to drag-and-drop” option - basically, instead of:

                                                                                                      1. selecting “save as”, and saving the file at location X
                                                                                                      2. opening up the file manager and navigating to the location X
                                                                                                      3. then dragging and dropping the file where you want it…

                                                                                                      You should just be able to hit a shortcut which gives you an icon of the current file to drag+drop wherever you want it.

                                                                                                      1. 3

                                                                                                        Risc OS might be interesting in this regard; save is done through drag and drop.

                                                                                                        I wrote a WIndows shell extension that might be interesting; it displays all the open file manager windows from file picker dialogs.

                                                                                                      1. 9

                                                                                                        There’s a lot wrong with this rant.

                                                                                                        First and foremost, the post is largely framed like there are two groups of people: the producers and consumers of Xorg/Wayland. You can see that framing in calls to “supply and demand” and mostly talking about what is most valuable to users, and ignoring ease of development as something to care about. Essentially, the post treats FOSS display servers as a product to consume.

                                                                                                        But this is free software. There’s no fundamental difference between producers and consumers. You aren’t paying for the development of a display server. You aren’t owed anything. If the maintainers of Xorg no longer enjoy maintaining it, they should stop. And they did. If that doesn’t work for you, the onus is on you to pick up development where it left off.

                                                                                                        If that model doesn’t work for you, go pick up Windows or macOS, where you are literally paying money to not have these problems. That’s awesome. But people who use Linux as a desktop are opting into a different model where they are using software distributed “WITHOUT WARRANTY”. It’s unreasonable to then complain that the people who screw around with this software in their free time have decided to stop or switch gears to something they enjoy more.

                                                                                                        And then there are some small nitpicks.

                                                                                                        Words like DPI, display scaling, framebuffer and such are meaningless

                                                                                                        Plenty of users have issues with wanting different DPI and display scaling on different monitors. I’m one of them. This is a very real feature of Wayland that impacts my life, and I’m sure many would agree.

                                                                                                        Nvidia makes hardware. Their job is not to sabotage their product so it can work with arbitrary bits of code out there. It is the job of software vendors to make their software work with the hardware in the best fashion (if they want to)

                                                                                                        Open sourcing a driver (or even just making it source-available) is not “sabotaging their product”. AMD does it just fine with their GPUs. I won’t speculate on why Nvidia doesn’t cooperate with open source, but I suspect that the reason would frustrate me.

                                                                                                        1. 1

                                                                                                          If that model doesn’t work for you, go pick up Windows or macOS, where you are literally paying money to not have these problems. That’s awesome. But people who use Linux as a desktop are opting into a different model

                                                                                                          This claim is fundamentally incompatible with… Something that I don’t know if there’s a name for.

                                                                                                          Basically, there are two camps in Linux: the “LibreApple” camp (who want to replace Windows/etc with a FOSS equivalent and improve computing for everyone) and the “PowerUserOS” camp (who want an OS by power users for power users, a lot of whom see Linux’s niche status as a benefit, and who like to say “Linux is like Lego”).

                                                                                                          By definition, LibreApple can’t be exclusive to hackers (“everyone” means “everyone”), which means you either literally teach the entire world to code, or you build Linux with a fundamental difference between producers and consumers.

                                                                                                          Point is, you come down firmly in the “PowerUserOS” camp, to the point where you’re not even acknowledging the existence of LibreApple.

                                                                                                          You could claim that “LibreApple means FSF and PowerUserOS means the open source crowd”, but 1) I’m not so sure that’s always true (see below), 2) you used the term “Free Software” so me describing you as in the “open source crowd” would make things less clear, and 3) there’s enough semantic confusion around the phrases “free software” and “open source” that I wanted to exclude them from my comment if at all possible.

                                                                                                          From point 1 above: For instance, a lot of “LibreApple” people see Steam as a good thing for Linux, despite being a proprietary platform for (mostly) proprietary games. I don’t really want to get into this semantic discussion about FOSS though, I’m just preemptively responding to an expected response.

                                                                                                          1. 1

                                                                                                            The problem is that “LibreApple” doesn’t work. Apple has funds to be Apple. The Linux ecosystem is developed by volunteers for fun. For the majority of FOSS, development will always be by volunteers for fun.

                                                                                                            Maybe if there were a company out there whose business model was “buy our linux-compatible software and we promise it will just work”, then there could be a LibreApple. But I don’t know of any such company. System76 is the closest I can come up with. Buy their stuff and it’ll probably just work. But it’s not like they have tons of control over Wayland/X11, since the display servers are written by volunteers for fun. So unless they want to take on the whole stack, there will still be problems.

                                                                                                            I don’t know if the Linux ecosystem can house a company that’s paid to make the whole software stack Just Work. I hope it can. I know I’d pay for it.

                                                                                                            1. 2

                                                                                                              The Linux ecosystem is developed by volunteers for fun. For the majority of FOSS, development will always be by volunteers for fun.

                                                                                                              This hasn’t been true for a long time. Most of the big projects (for example the kernel, glibc, systemd, GNOME) are backed by big companies. RedHat is not part of IBM and employs a load of the core developers for key parts of the system. It’s difficult for a volunteer-run project to keep up with these.

                                                                                                              1. 1

                                                                                                                I guess that’s fair. But I think the foundation of what I was saying is still true. If you’re not paying for a product, and instead are essentially relying on the enthusiasm of a volunteer (or a company donating to FOSS, which is not unlike volunteering), then we can’t look at things from the perspective of the software being a product. It’s not a product because no one is buying it.

                                                                                                                That said, I admit the situation becomes more complicated with companies involved. They have more funds to throw at developers to maintain the small details that individual volunteers often don’t want to. But the incentive structure to do things like “support Xorg forever” is still missing. If there were a giant user base paying for Xorg that might stop paying if all their programs stopped working, maybe Wayland wouldn’t exist, or would have better backwards compatibility.