Threads for mjtorn

  1. 2

    Reading this, about how flatpak works better if you use more flatpak and what type of improvements are coming/needed, I am wondering: if this system is mature, will it not just be like another Linux distribution?

    1. 2

      Problem: developer doesn’t support OpenSUSE, only Ubuntu.

      Solution: Install Ubuntu on OpenSUSE.

      1. 1

        Not really. There’s lots of stuff that the host distribution does that flatpak does not care about. Including running all the standard services, providing user sessions, managing the persistent state of the apps, etc. Those are pretty much out of scope for flatpak and there’s no reason for it to include them.

        1. 2

          Though most of that is so low-level and old-hat (except maybe systemd, but still) that having only the base by the distro and the apps from Flathub feels like Flathub being the de-facto distro.

          Hands up how many of you think of coreutils when you think of apps? And how many think of Firefox? ;)

          Not saying that’s good or bad, just that with 20 years since running a pseudo-distro friends and I made off of LFS, it would be a fun experiment to see how bare you can go and use “only” Flatpaks.

      1. 22

        I’ve been complaining to banks for over a decade that they train people to fall for this kind of scam. They cold call their customers and require the customer to authenticate by providing information about the account, before the bank will tell you anything. At the start of the conversation, neither party knows that the other party is who they claim to be but the bank has a bit higher confidence because they’ve called a number that’s on file. The customer has absolutely know information in the other direction: they have the caller ID number, which can be forged, and absolutely nothing else. The burden should be on the bank to prove that they are the bank, at the start of the conversation.

        In the last year, Barclays has finally started doing something about it. The people that cold call you are now able to send a secure message through the app. If they call you, you log into the app, and see a message saying ‘hello, I am {person} from Barclays, I am talking to you on the phone’ then you know that one of the following is true:

        • They are from the bank.
        • They have compromised the bank’s back-end system.
        • They have compromised the device that you’re running the app on.

        Of these, the first is probably a safe assumption. If it’s the second, you’re completely screwed anyway in the short term, but it’s definitely the bank’s liability. If it’s the third then they have probably compromised the app to the extent that they could also instruct it to make transactions on your behalf, so there’s not much of a downside to talking to them.

        1. 5

          A few years back, a friend of mine was at the bank when he received a phone call from the corporate call centre of that same bank. He did trust the unsolicited call, so he turned it over the the assistant branch manager he was currently speaking with to confirm that this wasn’t a scam.

          Several weeks later, he got a call back from the branch manager confirming that it had been a legitimate call. It had taken their own security team that long to figure out whether or not their own calls were legit.

          1. 5

            My company just switched to SAP Concur for expense reporting. Soon after, I got an email asking me to complete my profile. The link went to “http://links.concurtechnologies.mkt7817.com/els/v2/XXXXXXXXX”. Going to mkt7817.com showed a generic Anti-Spam and Privacy statement. Nothing to do with SAP Concur, although there’s an “abuse@silverpop.com” email listed; silverpop.com gets bounced to “acoustic.com”, which talks about “Curating the Banking Experience.” Despite all appearances, it was a legitimate email.

            I have no clue why a purportedly experienced and professional company would think this is OK.

            1. 5

              100%. I just got a call from my local Chase branch the other day: “Hi this is Jack from Chase, I wanted to discuss your account.” A google of the phone number didn’t even link back to the bank. I told him I needed some verification.

              He sent me an email from his Chase email account that was verifiable, but I remember having the same feeling like, given the scams that are ongoing why would Chase communicate with customers like this as a policy?

              1. 4

                He sent me an email from his Chase email account that was verifiable

                How was it verifiable? I bet most Chase customers aren’t able to verify DKIM signatures reliably…

                1. 2

                  Most are not, I’m a security engineer so it’s not a big deal for me. Actually I have Thunderbird set to verify DKIM automatically.

              2. 3

                The banks here have been doing electronic ID for about 20 years and I don’t recall getting a single call ever.

                I wonder what the scams here are like.

                1. 1

                  Here it’s phishing email. The banks I’m with have clear communications, strong paper-based auth since before apps, and perpetual warnings about frauds everywhere.

                  Their problems are with UX and shitlisting rooted androids/Sailfish’s android support, but scams are easy to pick up on cuz it’s all email.

                  Or I’ve been lucky and only received those “support” calls from “Microsoft”.

                2. 2

                  I’m not sure my banks have a phone number for me. If they tried to call me they would only get voicemail.

                1. 7

                  When I first started building i_solated, I never could have predicted this current situation. This experience is a reminder that proprietary things come and go. I have already started the long journey towards future-proofing projects that I work on.

                  To me, this is one of the best arguments for open source software.

                  1. 4

                    I agree, but the claim that the author never could have predicted the current situation is … come on! What did you think was going to happen? This was the most obvious outcome from the very start.

                    1. 2

                      Maybe not Free Software that is tied to a specific platform, but it definitely is an argument towards Free libraries and development kits. That’s why projects that I make are always GPL for applications and LGPL for libraries (with the occasional BSD where the platform does not allow for replacing parts of the program i.e. JS bundlers).

                      1. 1

                        What was the open source equivalent of Flash in its heyday and why didn’t it catch on?

                        1. 1

                          Java applets was an alternative, but they were heavy and slow to load and cumbersome to write.

                          SMILE / SVG flopped for the same uses as Flash.

                        2. 1

                          Open source is no guarantee either. How many projects depend on abandoned libraries, let alone ecosystems? Good luck getting say, XMMS to build today.

                          1. 1

                            A very niche use-case I’ve been getting into is ripping local subtitles off DVDs that I upgraded to BD/UHD, which usually have English subtitles only.

                            Everything I could find, starting with an old enough version of Avidemux, which hadn’t dropped support for ripping subtitles, was completely unbuildable.

                            Solution: use Windows software in Wine and work from there.

                            Open-source lost this one, but maybe the use-case simply is so niche no-one wants to maintain the packages.

                            1. 1

                              That is true, but there is little interest in XMMS1, since there are such a wealth of good alternatives.

                              Open source software that there is interest in keeping alive is pretty much guaranteed to live on for as long as there is interest.

                              At the height of the Flash player popularity, if there had been an open source version of it, it would maybe not have died as abruptly as it did.

                          1. 1

                            The use of Arch as the base distro seems curious to me. Why?

                            1. 2

                              I agree, but reading further it seems like the read only rootfs with A/B upgrade mechanism might paper over possible inconsistencies in system state that come from rolling package upgrades. My guess is that they went with Arch to take advantage of the community’s prompt packaging of new versions of game dependencies.

                              1. 1

                                Considering they have the Steam runtime for games from Steam and Flatpak for everything else, I’m not sure of that.

                                1. 1

                                  Revisiting this a little more caffeinated, I think I meant to say “system level dependencies”. Steam depends on system packaged dependencies like mesa, vulkan, etc and they mention in the article that they’re also packaging KDE for a normal desktop experience.

                                  1. 2

                                    I have never had a more disappointing Linux experience than SteamOS, and got rid of it pre-this.

                                    I think you’re right, in that they don’t have whatever it takes to actually maintain a distro, so they’re betting on Arch being stable enough that they can crowdsource/freeload all the hard work.

                                    Not sure if they’re snapshotting Arch versions, but if they do proper upgrades, they kinda have to. Hope they do at least some QA on it, but the debianish version fell into such abandon, I don’t trust any of this.

                                    1. 2

                                      Valve is definitely not the kind of company good at long-term unless it makes them a shitload of money.

                            1. 3

                              The same can be said about MATE. It’s normal and it works, though I put the panel at the top because that’s my personal preference and because it allows me to.

                              I could have two panels at the bottom, three at the top, and one on the left and the right, if I wanted to. I like to have that option even if I don’t use it.

                              I also have keyboard shortcuts for switching to any of my six fixed-layout virtual desktops. I use virtual desktops to organize my workspace, not just to create more space for clutter. I don’t always use all six of them.

                              I gave KDE a try on Fedora a couple of months ago and it was a total disaster with Wayland. I was surprised because I never had any troubles of that nature with MATE. I’m going to give it another even if just to see if those issues are fixed and how KDE improved. But I always have a DE to go back to that is definitely normal and works.

                              1. 2

                                MATE is like old Gnome?

                                I have the same feels with Xfce4. It might look a bit quaint at times but it’s legible.

                                With its Whiskermenu plugin, and keyboard shortcuts one might want, it Just Works. Works fine enough without any of that.

                                Modern Gnome is a dumpster (or trash heap) fire, and reading about Plasma makes me think it is not. My mental image of KDE is “better-looking Xfce4” so trying it out is not a priority, I’m afraid.

                                1. 1

                                  MATE is like old Gnome?

                                  Yes; it’s essentially an up-to-date version of Gnome 2.

                                2. 1

                                  And about XFCE as well. Yes, there is multiple desktop environments. XFCE for me simply has something I feel comfortable with and where the bugs are either not there or not in a spot where they do annoy me.

                                  I’ve been using LXDE many years ago for the same reason. LXQt so far didn’t work for me, but that was ages ago, so it might work as well.

                                  However, despite all of that my main machine has been i3 without anything special, and while not a complete desktop it works pretty well too. Nowadays it’s only a habit though. I don’t think I am really productive with it most of the time. This setup is pretty old already and went through many machines, so really mostly a habit.

                                  On a related note, I think why such FOSS projects work better than others, is because desktop environments tend to be where developers pretty much always eat their own dogfood. In general that seems to be a trend. Software developed for yourself tends to work a lot better than software that is primarily developed because of money, the outcome of a meeting, call, etc. Even when open source. Even when the company creating said software uses it, but the users are different from the developers.

                                  It seems to me that in such situations the size of a developer team and other such characteristics barely matter. Nice software even when mainly developed by a single person for themselves tends to work pretty well, when being used on a regular basis to actually get stuff done with it. Only thing is that it might not look pretty at all, but KDE, etc. seem to have at least someone knowing design.

                                  1. 1

                                    About working pretty well… I was on Enlightenment for the longest time, and it was great to use, like my favorite feature was separate workspaces for separate monitors.

                                    But instead of having a solid file manager, with tabs, I’d move files around (which I gotta do occasionally and prefer a visual list and keyboard shortcuts) in disjoint windows and sometimes large files might hang or seem to hang.

                                    Then the randr thing was always messed with and sometimes refused to work properly.

                                    Xfce4 ships good stuff out of the box once you install Whiskermenu, except the terminal lacks one good feature. OTOH I can use Terminology for irc, as its killer feature is overlaying images from URLs without hitting the browser.

                                    Before that it was WindowMaker, which I’d love to return to, but I doubt it got all the things Xfce4 has.

                                    It’s all about the details.

                                  2. 1

                                    And Cinnamon, which is “MATE ported to GTK3”, more or less. It works quite well for me, and hits a similar sweet spot.

                                  1. 2

                                    Am I alone in thinking the index should always be there in these simplified Gits?

                                    The use flow would have only one more step, equivalent to git add -p more or less. Maybe even as a mandatory part of commit so no extra things to remember.

                                    I hated using the undo buffer for staging in the SVN days.

                                    1. 2

                                      That’s analogous to what darcs for instance does. When you call darcs record, it basically does something similar to git add -p && git commit.

                                      pijul used to work like that too. In the most recent version, I think the diff is there to be edited in the editor, so basically, you can remove chunk from your patch by removing them from within the editor. With the appropriate editor tooling, I guess it can be quiet pleasant. Without it, I always feared —though never tried— it could be painlul.

                                    1. 31

                                      Finally, we have STRICT tables, which brings type safety to SQLite!

                                      1. 5

                                        That was my excitement source as well. I hope the datetime types get added soon - it looks like they’re not supported yet.

                                        1. 1

                                          In order to continue supporting this ability, even in STRICT tables, the new ANY datatype name is introduced. When the datatype of a column is “ANY”, that means that any kind of data - integers, floating point values, strings, or binary blobs, can be inserted into that table and its value and datatype will be preserved exactly as it is inserted. As far as we know, SQLite is the only SQL database engine that supports this advanced capability.

                                          Can’t help but think “anti-pattern” here. And find the tone of it oddly smug.

                                          Certainly a welcome feature when used responsibly nonetheless!

                                        1. 2

                                          This is sad.

                                          1. 2

                                            How, why? What’s the point in such an underwhelming comment?

                                            1. 2

                                              I at least feel sorry for the poor rat. If the rat could choose what to do it would probably not want to be fixated in this experimental setup.

                                              1. 4

                                                Running around a game while drinking sugar water doesn’t sound that different from what some people teach their kids to do on a computer.

                                                Except for the physical exercise part.

                                                1. 1

                                                  According to the post, it took weeks to get the rats trained/accustomed enough to get dressed in the harness. If they really didn’t want to do this, it definitely looks like they had a choice. If they can be taught how to use the setup, they definitely got the harness-experiment association as well.

                                            1. 4

                                              Considering that we as an industry tend to chase off anyone who makes it to the age of 35,

                                              Where do they go? I may need to know soon ;)

                                              1. 4

                                                We go to suitable organisations :-) Context: I’m 40, and a couple of years ago was working for an org where I was definitely at the top of where I could get as a dev there as a Senior Developer. This was a bad place for me to be, and once some other life stuff had calmed down, I got out and went to my current employer as a Staff Engineer and there’s plenty of room for me to grow as a dev here. Incidentally, we’re hiring!

                                                1. 4

                                                  And where are they chased away from? At Microsoft, 35 seems to be pretty close to the median age for the folks that I interact with regularly and my more limited experience with other big tech companies suggests that we’re not that unusual. I suspect it’s somewhat related to seniority. Most companies are shaped like a pyramid and hire a lot more junior people than senior and promote a subset of the junior folks. When you’re very junior, you have potential and (hopefully) intelligence but not expertise.

                                                  There’s a really large error margin in assessing the ability of junior people because they haven’t had the chance to demonstrate their competence. This cuts both ways: someone who looks fine might be pretty useless but they might be amazing (and they might become even more amazing in an environment with good mentorship). Hiring junior people is high-risk, high-reward, made lower risk (but still high-reward) by the fact that you hire them on a lower salary and often with a probation period. As you get more experienced, it’s much easier to accurately place your ability.

                                                  People who have demonstrated competence over a period of 20+ years tend for form the backbone of these companies. These people are low-risk, high-reward hires: you know that they’re good because they have a proven track record, including demonstrating the ability to acquire new skills over their career. If, however, someone with 20 years of experience is still as productive as a fresh graduate, then they’re a low-risk, low-reward hire. Why would you hire them if you can hire someone who looks as competent now but may be able to improve over time?

                                                  1. 2

                                                    Senior positions, one would hope.

                                                    Apparently there’s a problematically toxic situation with institutional ageism, but that situation should auto-correct as well as be actively addressed, as the founders and funders of companies realize wisdom comes with age, and how that maps into revenue. Or less lost revenue and less churn.

                                                    I find the whole idea of not hiring seniors strange, because one rule, maybe the number one rule, of startups is to hire people smarter than you. More experienced than you.

                                                    Someone in their 50s (or whatever elder age) walks in with a solid resumé, the course of action should be obvious.

                                                  1. 1

                                                    This is neat but is doesn’t actually describe how to type on it, right?

                                                    1. 1

                                                      The link is hidden in plain sight http://asetniop.com/ ;)

                                                      As much as I love keyboards, and the fact projects like these exist, I find the idea of learning chords scary. Surely it can be pulled off, but I wouldn’t have the time to put into figuring out if it’s worth it.

                                                      For me the peak keyboard is the Kinesis Advantage. I secretly wish it weren’t so robust, that it would break, and I could upgrade to the next model. The only reason is that I have a Kinesis-like Ergodox layout with some useful layer stuff which iirc/afaik could be programmed into the newer Advantage.

                                                      Too bad I don’t think you can make that Kinesis kind of housing for the Ergodox.

                                                      1. 2

                                                        As much as I love keyboards, and the fact projects like these exist, I find the idea of learning chords scary. Surely it can be pulled off, but I wouldn’t have the time to put into figuring out if it’s worth it.

                                                        My fiancé taught herself stenography a few years ago so I know it’s certainly possible. I haven’t felt compelled to learn myself though. I’d probably more interested if I typed more prose vs. command lines and coding.

                                                        1. 1

                                                          That’s OG chording with more than a few keys afaik, but if it isn’t a personal question, did it take long to reach any proficiency? And whatever her typing speed generally is, did it help?

                                                          1. 1

                                                            did it take long to reach any proficiency?

                                                            She picked up the layout of the stenotype extremely quickly and was able to stroke out words after a short amount of time (days to weeks), albeit slowly. It took a lot longer for it to get to the point where it could be used full time though. It’s hard to know how long that took as there were breaks and side journeys (including building a spaced-repetition learning tool, finding and building a decent keyboard for steno, etc.), but probably in the order of months to more than a year.

                                                            And whatever her typing speed generally is, did it help?

                                                            Fairly quick, around 100WPM, it probably did help that she was already a good touch typist.

                                                            1. 1

                                                              I think I got good with the Kinesis within two weeks, slowed down by me having one at work only first and a traditional ergonomic split at home. Picked up momentum when I didn’t switch modes.

                                                              A couple of weeks isn’t bad per se, but I doubt I’ll have that to spare for an experiment :/

                                                              I don’t know my WPM but English not being my native language, word counts aren’t going to mean the same, as I’m missing out on prepositions altogether, and foreign languages are slower to type, because brain.

                                                              Should play some ztype again and see where I end up ;)

                                                              Thanks for telling me!

                                                    1. 4

                                                      What are some crustacean experiences with Treesitter?

                                                      I tried it out, despite the warnings about instability, for the refactor plugin. Got this Unity codebase to deal with, and nothing else really provided C# refactoring.

                                                      The refactoring wasn’t project-wide, which caused some woes, though I could repeat the operations a few fimes in separate files and be happy-ish. The dealbreaker is that Neovim would quite often deny insert mode, as if the buffer setting changed BTS somewhere. Restart, my favorite!

                                                      I don’t use treesitter ATM, maybe later.


                                                      LSP is also a mixed bag. Very useful and works nice on my heirloom-grade laptop, even for Unity, but on my desktop it buffers up syntax errors for nearly every keypress and flushes them out so slowly I can jump to Unity and run the unit tests by the time LSP’s done complaining. Sometimes an error is left lingering.

                                                      This is with the same config on both machines, and OS load is always less than you’d imagine, so it’s just weird. Even mono should be the same version.

                                                      No regrets; C# needs this stuff so bad it’s worth the trade-off.

                                                      1. 7

                                                        For typescript it was a game changer. Syntax highlighting in vim never looked quite right, especially in a side-by-side comparison with VSCode.

                                                        I also find the neovim ecosystem to be rich and full of new plugins because of things like tree-sitter support. There’s an entire section dedicated to treesitter enabled colorschemes on neovimcraft: http://neovimcraft.com/?search=tag:treesitter-colorschemes

                                                        1. 3

                                                          FWIW I hit the insert mode bug without treesitter. For the first time, even. Guess it was the wrong tree(sitter?) I was barking up, because of https://github.com/nvim-telescope/telescope.nvim/issues/82#issuecomment-854596669

                                                          Treesitter might be laggy enough or something to trigger the problem more often. Testing that fix now, and maybe I can give Treesitter another shot soon!

                                                          1. 3

                                                            nothing else really provided C# refactoring.

                                                            Could you expand on this? I would expect C# to be the language with best refactoring tools, given that both JetBrains (Resharper & Rider) and Microsoft (Roslyn) have been working on them for more than 10 years at this point.

                                                            1. 2

                                                              Not if neovim is your goal. The solutions from jetbrains and ms are proprietary

                                                              1. 5

                                                                This is factually wrong about ms.

                                                                Roslyn is MIT licensed, omnisharp makes it speak LSP. For refactors specifically, I’d be surprised if there isn’t non-editor tooling to apply Rosly analyzers as project-wide refactors.

                                                                1. 3

                                                                  Sure. However actually using omnisharp is another matter. Its definitely not on par with the experience inside of visual studio itself. For example vscode which uses omnisharp provides a pretty demonstrably second class experience compared with rider and visual studio proper. And even then that experience is better than what you get from lsp c# in neovim.

                                                                  An example of this breakdown is that msbuild integration with visual studio is on a whole other level compared to what omnisharp can handle

                                                              2. 2

                                                                What @Kethku said.

                                                                I did find this one refactoring plugin vim-refactor that pulled in a bunch of library-like stuff, less surprisingly conflicted with some of my maps, and didn’t do c# properly in the end.

                                                                That’s why Treesitter seemed so appealing. I’m sure it’s not such a turd as my experience was, but I also have work to do beside debugging 0d plugins ;)

                                                                I do really look forward to trying it out again, but I’m happy with my LSP setup (despite the error stuff!) and able to be productive now.

                                                                1. 5

                                                                  I still don’t understand something I believe. Roslyn is a very mature tool to do analysis and transformation of C# code. Using tree sitter for refactors (which knows only syntax) is like parsing html with regexes, only one level up: using syntax analysis for semantic transformations.

                                                                  I would be surprised if no-one has glued Roslyn to vim, and indeed folks seem to have done that? https://github.com/OmniSharp/omnisharp-vim

                                                                  If, despite all this, “refactoring C# in vim” is still an unsolved problem, then there’s an opportunity for a fairly easy, fairly popular OSS project here. All the hard work of actually doing refactors has been done by Microsoft. What’s left is the last mile of presenting what Roslyn can do in an editor.

                                                                  1. 2

                                                                    Maybe my “repeat in multiple files” is because of syntax being the wrong layer? I’m really not 100% sure!

                                                                    It was palatable, and got the job done, and the dealbreaker was something else.

                                                                    I do have OmniSharp running, but I haven’t seen anything related to proper refactoring in Neovim with it. I could look again and verify I have the latest version, though I did take a quick look before my Treesitter journey.

                                                                    It would be beyond awesome if more native refactoring existed, but I do believe it’s more of an opportunity than an existing feature.

                                                                    1. 5

                                                                      Current OmniSharp-vim maintainer here. All of the OmniSharp-roslyn code actions are available in OmniSharp-vim. OmniSharp-vim doesn’t actually use LSP, as both OmniSharp-vim and OmniSharp-roslyn are older than the protocol.

                                                                      However the OmniSharp-roslyn server does have an LSP “mode” and so is usable without OmniSharp-vim using vim LSP plugins or neovim native LSP. I would expect all code actions to be available via LSP too but I don’t know.

                                                                      I’m curious to know what kind of server-based refactorings we’re talking about exactly.

                                                                      1. 2

                                                                        Hi! And thanks for your maintainership! :)

                                                                        My use case is/was simple: given a code base, rename methods so they’re renamed everywhere. The start of the rename can be a method definition or a usage, and everything will be figured out. Not sure if that’s possible, even, just a wishlist thing ;)

                                                                        I haven’t needed to touch constructor (or other method) argument refactoring, and I’m sure the Treesitter refactor plugin has nothing for this, but could be useful.

                                                                        1. 4

                                                                          In OmniSharp-vim you can do :OmniSharpRenameTo NewSymbolName on either the definition or a usage and it will be renamed everywhere in the solution.

                                                                          Here’s a demo on the OmniSharp-roslyn codebase. The first 60 seconds are the server warming up (it’s a big solution):

                                                                          https://asciinema.org/a/gd6GGiGGtcXjBsXoY0UKrqluB

                                                                          1. 2

                                                                            TIL! Thanks! Now I got a config with treesitter that disables the refactoring prompt in c# in favor of an autocmd map for omnisharp :)

                                                                            Edit: yet to see what needs to be reloaded to get rid if the “does not conrain a definition (though it sure does lol!)” error, but still this is good news :)

                                                                            Edit2: jumping the gun here, :LspRestart seems to be good enough.

                                                                            1. 3

                                                                              Right, if you’re using LSP and OmniSharp-vim together, you’ll have to find ways of keeping the servers synchronised, because you’re running multiple instances.

                                                                              1. 2

                                                                                Yeah, it’s a bit messy but most often only when autocompleting. I approach my neovim pretty much by fixing things as they start to annoy me too much or cause a productivity hit.

                                                                                Maybe I’ll get that thing sorted some day, but I’m fine for now :)

                                                            1. 1

                                                              Mojibake is still with us. I just signed up for Mail Brew, the newsletter service. I follow some Japanese writers on Twitter, and when it tries to summarize the pages they link to, it gets tripped up because the pages are Shift JIS instead of UTF-8 and so it sends me gibberish. Fun times!

                                                              1. 1

                                                                Japanese has its own problems. If I understand correctly, there’s only one set of Han characters in Unicode, even though there are three different writing systems - the Chinese Hanzi, the Japanese Kanji, and the Korean Hanja - which all use different variations of Han characters. That means it’s up to the font to decide whether to draw Han characters as Chinese text, Japanese text, or Korean text. You may think you’re writing a Japanese e-mail, but the recipient might receive an e-mail with Chinese characters instead if their system happens to use a font with Chinese variations of Han characters. You also can’t mix Japanese and Chinese within one text.

                                                                Given the state of things, I’m not too surprised if Unicode hasn’t taken off as much in countries with Han-based writing systems.

                                                                1. 3

                                                                  If I understand correctly, there’s only one set of Han characters in Unicode, even though there are three different writing systems

                                                                  This is a very common “smart” take on Unicode and it’s absolutely wrong. We Roman alphabet users don’t have separate 0s for zero with the slash and zero without the slash. We don’t have different 7s for seven with the mid-line and seven without the mid-line. We don’t have different a’s for single storey a and double storey a. Same for g. Etc. Japanese specifically used more-Chinese like fonts before WWII. I’ve read prewar books. They look a hell of a lot like books from contemporary Taiwan except they’re in Japanese. Should we use one set of codepoints for prewar books and a separate set for postwar? It’s ridiculous.

                                                                  Contemporary Japanese and contemporary (simplified Mandarin) Chinese use different fonts. Sometimes the ways you write a specific character are so different than an uneducated person might not realize they are the same. Nevertheless Unicode has ways to represent most of these variations, and for the other ones you just have to specify the proper font in your style sheet or whatever. Han unification is a good idea and only hyper-nationalists and people who don’t understanding encodings are upset by it.

                                                                  You also can’t mix Japanese and Chinese within one text.

                                                                  This is just wrong. Anyone who is able to actually read both Chinese and Japanese will be able to understand both font conventions. If you can’t understand the other font conventions, you’re not actually literate in the other language. There also isn’t one convention you would want to use everywhere. If a text is 95% one language, you probably want the little bits of the other language to be in the same font. OTOH, if you use 50-50 of the two languages, you probably want to specify different fonts. It’s a design decision that has nothing to do with encoding.

                                                                  The actual problems with encodings in Asia are that there were a number of them in use pre-Unicode and moving to something new is difficult and takes time. Plus there is a lot of nationalist misinformation of the kind that you are repeating. There are also particular problems like that in Shift JIS, they replaced backslash with ¥, which in turn meant that Windows presents paths on Japanese systems as being C:¥Windows¥. To Japanese users, this is what a path “should” look like, so they don’t like that Unicode actually does the right thing and distinguishes between backslash and yen mark! Similarly, old Japanese encodings managed to squeeze a stripped down half-width katakana encoding into 8-bits, so some old systems expect to this day to receive half-width katakana, and switching it to take up a different number of bytes would require a rewrite. Etc.

                                                                  1. 1

                                                                    Hmm, do you have personal experience with the cultures you’re talking about? Or, on what authority do you speak about the subject? I don’t read or write any of these writing systems, but it’s clear that some of the characters are very visually distinct. How do you know that all the differences are just on the magnitude of the difference between a 7 with and without a mid-line, and that none of the differences are more substantial?

                                                                    You give the example of a 0 with and without a cross, and yeah, that’s a small difference. But in my language, an O with and without a cross is a huge difference. So even though I can read a text with all the Øs replaced with Os and all the Ås replaced with As, it would be clear that the text isn’t really meant to be in my language. How do I know that Japanese people don’t feel the same way when they’re reading Chinese characters?

                                                                    1. 1

                                                                      Han unification is more akin to merging Ø with Ö. It would still look strange, but wouldn’t lose any information.

                                                                      However, there are usually enough heuristics for your computer to tell what form (font) to use, or it will use your preferred form where they are interchangeable.

                                                                      1. 2

                                                                        If Han unification is akin to merging Ø with Ö, that’s absolutely terrible. They’re not the same character at all. I don’t see an Ö and read it as Ø; I see an Ö and read it as some Swedish character.

                                                                        I need to be able to write texts where I can know that the recipient will see some kind of Ø. If I ever write texts with Swedish words mixed in with Norwegian, I would need to know that the recipient will see Swedish words with Ö. If merging Ø with Ö is remotely close to the severity of Han unification, then my stance on Han unification remains unchanged, despite /u/carlmjohnson’s various appeals to authority.

                                                                        By the way, imagine us having this conversation using a version of Unicode with “Scandinavian unification” where Ø and Ö was in fact merged. We wouldn’t even be able to express these ideas without inventing our own names for the characters and referring to Ø as “O with slash” and Ö as “O with dots”. It would’ve be a mess - and it would’ve been clear to me that my language is a second-class citizen in the world of Unicode.

                                                                      2. 1

                                                                        Hmm, do you have personal experience with the cultures you’re talking about?

                                                                        I have a PhD in Asian Philosophy and I lived in Japan for two years.

                                                                        I don’t read or write any of these writing systems, but it’s clear that some of the characters are very visually distinct.

                                                                        I don’t mean to sound snobby, but you’re illiterate, so what they look like to you isn’t really relevant. The point is that Unicode was made by professionals, so despite whatever rumors about Han Unification being bad float around the programming web, the fact is that it was done well, and that no character that anyone cares about was harmed in the process. There are some borderline cases, and there are tons of obscure Buddhist characters that aren’t in any encodings, Unicode or otherwise, but for the actual characters in Shift JIS or GB 2312 or ISO 2022, the process of unification worked well.

                                                                        Diacritics are a big deal in European languages. If Unicode had merged o and ø, yeah, that would be a problem, even though heavy metal umlaut is just a joke in English. It would also be bad if Unicode had merged 学 and 學. But the Unicode Consortium are professionals and the East Asian countries have a lot of language prestige (BTW, the languages that are actually poorly represented in Unicode are the low status South Asian languages), so they didn’t mess it up.

                                                                        1. 1

                                                                          Maybe you know about these poorly represented cases, like Bengali, and what went down?

                                                                          This link https://modelviewculture.com/pieces/i-can-text-you-a-pile-of-poo-but-i-cant-write-my-name popped up years ago, and I mentioned it to a linguist at a seminar. She seemed like a person who’d have some proper insight, and told me the contact people for Bengali weren’t really cooperative. She also opined it’s a bit unfair to attribute malice to white men like that. I never got proper deets, though.

                                                                          Still that made me think there could actually be a story behind every seemingly 💩 decision.

                                                                          1. 2

                                                                            Found the blog post I read from a Microsoft engineer back in the day that goes into some of the problem with Indian encodings: http://archives.miloush.net/michkap/archive/2007/12/02/6639141.html

                                                                            Another post with an interesting quote:

                                                                            The strong feelings of native language speakers within India versus experts outside of it is an issues I have talked about a great deal in the past and plan to talk about more in the future, and it again underscores the same kind of issue. To which I’ll add that providing only the INSCRIPT keyboards and ISCII code pages as provided by the Government of India appears to show a certain specific degree of disinterest in needs of the many languages in country, if not outright disdain – like someone else’s agenda being pushed, however indirectly.

                                                                            http://archives.miloush.net/michkap/archive/2008/02/22/7847522.html

                                                                            1. 1

                                                                              Really cool stuff! Definitely good to know if this ever comes up again :)

                                                                            2. 2

                                                                              Another interesting link: https://en.wikipedia.org/wiki/Indian_Script_Code_for_Information_Interchange

                                                                              The Brahmi-derived writing systems have similar structure. So ISCII encodes letters with the same phonetic value at the same code point, overlaying the various scripts. For example, the ISCII codes 0xB3 0xDB represent [ki]. This will be rendered as കി in Malayalam, कि in Devanagari, as ਕਿ in Gurmukhi, and as கி in Tamil. The writing system can be selected in rich text by markup or in plain text by means of the ATR code described below.

                                                                              One motivation for the use of a single encoding is the idea that it will allow easy transliteration from one writing system to another. However, there are enough incompatibilities that this is not really a practical idea.

                                                                              Unicode tends to just piggyback off of existing encodings. So India made up an 8-bit straightjacket that privileged Hindi (Devanagari), and Unicode basically wasn’t in a position to fix that fundamentally bad starting point, so things have remained bad.

                                                                              1. 1

                                                                                I don’t know much about the specifics of what went wrong, but from the outside, programming-rumor-monger perspective, it seems like the core problem is that within India, Hindi and English are prestigious, and other languages are less prestigious, and then the Unicode consortium ended up doing a half assed job because they couldn’t form a proper committee of people who knew what they were talking about. There was a question of whether to represent the characters based on how they looked or sounded or compounded, and the thing they chose made sense made sense to programmers but not native speakers or IME users. I could be wrong about this though.

                                                                    1. 11

                                                                      Happy to see Serenity getting this kind of exposure! Very well-deserved.

                                                                      1. 3

                                                                        But what’s the benefit, really? Using only one CPU core is a huge handicap, it won’t run most software, and the browser sounds limited too. And AFAIK it doesn’t offer anything technically innovative under the hood like a microkernel. (Plus that UI … I know it’s a matter of taste, but to me Windows 95 was a gray-and-pus colored eyesore.)

                                                                        (I don’t mean to flame, I’m just wondering what the appeal is beyond the wow factor of “someone built an OS from scratch”.)

                                                                        1. 17

                                                                          It’s in the article, right? The guy’s in recovery and needed, or needs, a substitute activity.

                                                                          I know a bit of how people can do in such a situation, and I’m sure wrangling Linus or anyone else in a bigger project would lead to a relapse. No joke.

                                                                          Stuff like single-core isn’t a handicap, it’s a good start. Hoping of course the SMP support / scheduler will look like Haiku’s so the desktop remains responsive ;)

                                                                          Any wow factor beyond the backstory is personal to whoever is into these projects.

                                                                          1. 17

                                                                            Plus, it’s fun. I poked around SerenityOS and tried my hand at fixing a bug or two (no PRs yet, I’m not in the best spot, either, but soon…). It’s just a light-hearted hobby project that can brighten a nerd’s evening like no other.

                                                                            Its community is really nice, too, nobody well ackshuallies you because your program has so many options it’s intimidating for new users, reviews don’t bring up things like what particular method you use to build your Docker container or whether the way you’ve done something is fashionable in the latest C++ standard.

                                                                            It may not look like much, but lots of things that start out as fun eventually turn out to be useful through sheer inertia, precisely because people end up doing things that are unthinkable in the real world, like, I dunno, interfaces that you can use on a small screen :-P.

                                                                          2. 15

                                                                            I will almost certainly never run SernetyOS, ReactOS, or Haiku but I’m still happy that the projects exist and I like to see news from them.

                                                                            1. 10

                                                                              There was a period where reasonable people could (and did) make similar criticisms of Linux as an OS. It couldn’t run a lot of the software you needed. To “get things done”, you needed windows. Only enthusiasts could make it work.

                                                                              I think most people are aware of the dizzying tower of abstraction on which modern development sits. There are pros (scale from a toaster to the cloud! use this library!) and cons (performance! complexity!) to this, but - for some problem domains - cutting that away for a fresh start is a feature not a bug.

                                                                              If a new OS is going to ever grow up under the heavy canopy of the existing ecosystem, it will look like this at first.

                                                                              1. 5

                                                                                Speaking as someone who wrote a little bit of the libc, I share the frustration it’s not at all original. However, what I do like about it is the heart and spirit of it. Andreas’ enthusiasm is very infectious.

                                                                                1. 4

                                                                                  Personally I think the independent browser engine alone makes SerenityOS worthwhile. Creating one is a Herculean task that even enormous corporations will not attempt, but having multiple browser engines is vital for the health of the open web. There are so few browser engines left besides Blink+WebKit that I consider it to be an emergency. SerenityOS’s browser may not be very impressive at the moment, but it could potentially be a starting point for a new competitive browser engine the way that KHTML was the starting point for the current dominant browser engines.

                                                                                  If Servo can somehow survive, I’d consider that to be a better basis for a competitive browser, but if SerenityOS runs well on older / cheaper machines, perhaps a browser based on it could find a niche on low-powered hardware.

                                                                                  And if having an alternate browser engine implementation is worth getting excited about, what other independent implementations of things exist in SerenityOS that merit attention? Maybe I’ll install SerenityOS and investigate.

                                                                                  1. 3

                                                                                    Eh. It’s not the choices I would have made for a personal project, but given that it started as one dude scratching a personal itch … I’m happy to see it. My own nostalgic itch-scratching would end up looking a lot more like classic Finder on top of Symbolics, but with two kids and such it’ll always be an unrealized daydream. Good on this dude for pushing through and Doing It.

                                                                                1. 1

                                                                                  I don’t know much about glibc development, but if there is automated testing, TRWTF is that the original patch was accepted without a test.

                                                                                  1. 6

                                                                                    Debian has become my favorite Linux distro recently. It is surprisingly good.

                                                                                    1. 10

                                                                                      Why surprisingly? It’s the foundation of a lot lot lot of distros

                                                                                      1. 5

                                                                                        That’s interesting, because I can’t stand it. Things are changed at random so programs are different, and package management seems to like to break at random. What makes it your favourite?

                                                                                        1. 4

                                                                                          I’ve been using stable since 2008. I can remember one instance where pulling in a package update broke a program: it was when Chromium switched to requiring a GPU and then had a horrid CVE that no one could backport to stable; suddenly I couldn’t use it over ssh -X any more. Hard to place much blame on Debian for that though.

                                                                                          I’d imagine you’d see more breakage running unstable but like … that’s literally what it says on the tin.

                                                                                          1. 2

                                                                                            What in the world? There is hardly a less “things break at random” system than Debian.

                                                                                            1. 2

                                                                                              Apache’s configs being entirely different for no reason has bitten me more than once. Still not sure why that is, it’s pretty horribly annoying.

                                                                                              1. 1

                                                                                                Why would you think it’s for no reason? Actually that’s an example of exceptional care being taken to avoid things breaking at random. It means that you can have packages that provide Apache modules, and packages that provide entire websites (say, Wordpress or netdata), and expressible dependencies between them, and they don’t step on each other, local config is never blown away by upgrading packages, and generally speaking the sysadmin doesn’t get unpleasant surprises.

                                                                                                Admittedly, it doesn’t really feel “different” to me, because I got used to it 20 years ago and have only rarely had to deal with Apache on systems that didn’t do it that way, but what I will say is that it works, and that it’s not arbitrary — basically all of the packaging guidelines (which amounts to a book worth of material) come from a place of “how to be predictable, reproducible, and avoid breakage”. But it is assumed that admins know their system; being different from some other distro or upstream defaults isn’t breakage in and of itself, when those differences are justified and documented (which they certainly are in the case of Apache).

                                                                                                1. 2

                                                                                                  I’d rather have the config files match with examples online (and the official docs!) than have any of those features, though. What do other distros do with Apache modules? I’ve never had breakage in them and they don’t do anything like debian.

                                                                                              2. 1

                                                                                                This might have been around 2004, when I encountered a legacy Debian Stable that had missed out on a stable release. So it was like oldoldstable.

                                                                                                Upgraded directly to the contemporary stable and everything went perfectly, despite skipping over a major release altogether.

                                                                                                It was beautiful.

                                                                                            2. 3

                                                                                              It’s been mine since around 1996. I try running other operating systems but I’m so used to the availability of software, the stability of updates and the general attention to detail that I have a hard time using anything else.

                                                                                            1. 16

                                                                                              I like the point about type keys, but one thing that distracted me was the refactoring in step 3. Honestly, the code in step 2 was more readable. The different approaches in step 3 are an example of the DRY principle taken too far.

                                                                                              1. 3

                                                                                                I came to make the same comment.

                                                                                                As a variant of Sandi Metz’s

                                                                                                Duplication is far cheaper than the wrong abstraction

                                                                                                I’ve recently come to:

                                                                                                “A little duplication is better than one more abstraction.”

                                                                                                The abstraction need not be wrong, or even artificial. It has a cost just by virtue of being an abstraction.

                                                                                                1. 3

                                                                                                  createUserWithNotifications? I found that oddly specific as well.

                                                                                                  Admins may have different arguments for notifications so maybe you’ll end up encoding a kind of type flag in the call. Or encode a bunch of stuff in the names of four-line functions.

                                                                                                  The base premise is valuable but “overfitting the cleanliness” runs the risk of painting yourself in a corner and having to clean your way out again.

                                                                                                1. 17

                                                                                                  This article has everything: databases, rad, different visions of computing as a human field of endeavor, criticism of capitalism. I commend it to everyone.

                                                                                                  1. 13

                                                                                                    Criticism of capitalism is, in theory, my main thesis, but I find it difficult to convey in a way that doesn’t get me a lot of angry emails with valid complaints, because the issue is complex and I can’t fully articulate it in a few paragraphs. But it is perhaps my core theory that capitalism has fundamentally diminished the potential of computing, and I hope to express that more in the future.

                                                                                                    1. 3

                                                                                                      But it is perhaps my core theory that capitalism has fundamentally diminished the potential of computing, and I hope to express that more in the future

                                                                                                      I am on a team that is making a documentary about the history of personal computing. One of the themes that has come out is how the kind of computing that went out to consumers in the early 80s on was fundamentally influenced by wider socioeconomic shifts that took place beginning in the 70s (what some call a “neoliberal turn”). These shifts included, but were not limited to, the elevation of shareholder primacy and therefore increased concentration on quarterly reports and short-termism.

                                                                                                      These properties were antithetical to those that led to what we would say were the disproportionate advances in computing (and proto-personal computing) from the 50s, 60s, and 70s. Up until the 80s, the most influential developments in computing research relied on long-term, low-interference funding – starting with ARPA and ultimately ending with orgs like PARC and Bell Labs. The structures of government and business today, and for the past few decades, are the opposite of this and therefore constitutionally incapable of leading to huge new paradigms.

                                                                                                      One more note about my interviews. The other related theme that has come out is that what today we call “end user programming” systems were actually the goal of a good chunk of that research community. Alan Kay in particular has said that his group wanted to make sure that personal computing “didn’t become like television” (ie, passive consumption). There were hints of the other route personal computing could have gone throughout the 80s and 90s, some of which are discussed in the article. I’d add things like Hypercard and Applescript into the mix. Both were allowed to more or less die on the vine and the reasons why seem obvious to me.

                                                                                                      1. 1

                                                                                                        These properties were antithetical to those that led to what we would say were the disproportionate advances in computing (and proto-personal computing) from the 50s, 60s, and 70s. Up until the 80s, the most influential developments in computing research relied on long-term, low-interference funding – starting with ARPA and ultimately ending with orgs like PARC and Bell Labs. The structures of government and business today, and for the past few decades, are the opposite of this and therefore constitutionally incapable of leading to huge new paradigms.

                                                                                                        This is something I’ve been thinking about a while - most companies are incapable of R&D nowadays; venture capital funded startups have taken a lot of that role. But they can only R&D what they can launch rapidly and likely turn into a success story quickly (where success is a monopoly or liquidity event).

                                                                                                      2. 3

                                                                                                        As with so many things. But I think mass computing + networking and our profession have been instrumental in perfecting capitalism.

                                                                                                        Given the values that were already dominating society, I think this was inevitable. This follows from my view that the way out is a society that lives by different values. I think that this links up with our regularly scheduled fights over open source licenses and commercial exploitation, because at least for some people these fights are at core about how to live and practice our craft in the world as it is, while living according to values and systems that are different from our surrounding capitalist system. In other words, how do we live without being exploited employees or exploiting others, and make the world a marginally better place?

                                                                                                        1. 2

                                                                                                          Complaints about the use of the word, and maybe calling you a socialist, or something?

                                                                                                          I wouldn’t do that to you, but I do have to “mental-autocorrect” capitalism into “We may agree software developers need salary and some SaaS stuff is useful, but social-media-attention-rent-seekers gain power, which sucks, so he means that kind of ‘capitalism’”.

                                                                                                          There should be a word, like cronyism is the right word for what some call capitalism, or a modifier like surveillance capitalism.

                                                                                                          1. 3

                                                                                                            But I am a socialist. The problem is this: the sincere conviction that capitalist organization of global economies has diminished human potential requires that I make particularly strong and persuasive arguments to that end. It’s not at all easy, and the inherent complexity of economics (and thus of any detailed proposal to change the economic system) is such that it’s very difficult to express these ideas in a way that won’t lead to criticism around points not addressed, or of historic socialist regimes. So is it possible to make these arguments about the history of technology without first presenting a thorough summary of the works of Varoufakis and Wolff or something? I don’t know! That’s why I write a blog about computers and not campaign speeches or something. Maybe I’m just too burned out on the comments I get on the orange website.

                                                                                                            1. 1

                                                                                                              Sure, I appreciate that, though it would maybe attract bad actors less if there was some thread of synopsis that you could pull on instead of “capitalism”.

                                                                                                              I think the problem is broad terms, because they present a large attack surface, though I do realize people will also attack outside the given area.

                                                                                                              I’m also saddened by a lot of what’s going on in ICT, but I wouldn’t attribute it blindly to “capitalism”, but I don’t have all the vocabulary and summaries, if you will, to defend that position.

                                                                                                              One’s capitalism is anyway different from another’s, so the definitions must be laid out. Maybe all of Varoufakis isn’t needed every time?

                                                                                                              Nor am I convinced we’ll reach anything better with socialist or other governmental interventions. An occasional good law may be passed, or money handouts that lead to goodness, but each of those will lose in the balance to detrimental handouts/malfeasance, corruption, unintended consequences, and bad laws.

                                                                                                              Maybe some kind of libertarian-leaning world where people have a healthy dose of socialist values but are enlightened enough to practice them voluntarily?

                                                                                                          2. 1

                                                                                                            I would love to see the hoops you jump through to express that. Honestly. It seems so alien to my worldview that anyone making that claim (beyond the silly mindless chants of children which I’m assuming is not the case here) would be worth reading.

                                                                                                            1. 8

                                                                                                              I’ve made a related argument before, which I think is still reasonably strong, and I’ll repeat the core of here.

                                                                                                              In my experience, software tends to become lower quality the more things you add to it. With extremely careful design, you can add a new thing without making it worse (‘orthogonal features’), but it’s rare that it pans out that way.

                                                                                                              The profit motive drives substantial design flaws via two key mechanisms.

                                                                                                              “Preventing someone from benefiting without paying for it” (usually means DRM or keeping the interesting bits behind a network RPC), and “Preventing someone from churning to another provider” (usually means keeping your data in an undocumented or even obfuscated format, in the event it’s accessible at all).

                                                                                                              DRM is an example of “adding a new thing and lowering quality”. It usually introduces at least one bug (sony rootkit fiasco?).

                                                                                                              Network-RPC means that when your network connection is unreliable, your software is also unreliable. Although I currently have a reliable connection, I use software that doesn’t rely on it wherever feasible.

                                                                                                              Anti-churn (deliberately restricting how users use their own data) is why e.g. you can’t back up your data from google photos. There used to be an API, but they got rid of it after people started using it.

                                                                                                              I’m not attempting to make the argument that a particular other system would be better. However, every human system has tradeoffs - the idea that capitalism has no negative ones seems ridiculous on the face of it.

                                                                                                              1. 1

                                                                                                                Those are shitty aspects to a lot of things, and those aspects are usually driven by profits, although not always the way people think. I’ll bet dollars to donuts that all the export features Google removes are done simply because they don’t want to have to support them. Google wants nothing less than they want to talk to customers.

                                                                                                                But without the profit motive in the first place, none of these things would exist at all. The alternatives we’ve thought up and tried so far don’t lead to a world without DRM, they lead to a world where media is split into that the state approves and nobody wants to copy, and that where possession of it gets you a firing squad, whether you paid or not.

                                                                                                                1. 6

                                                                                                                  But without the profit motive in the first place, none of these things would exist at all.

                                                                                                                  It’s nonsensical to imagine a world lacking the profit motive without having any alternative system of allocation and governance. Nothing stable could exist in such a world. Some of the alternative systems clearly can’t produce software, but we’ve hardly been building software globally for long enough to have a good idea of which ones can, what kinds they can, or how well they can do it (which is a strong argument for the status quo).

                                                                                                                  As far as “made without the profit motive” go, sci-hub and the internet archive are both pretty neat and useful (occupying different points on the legal-in-most-jurisdictions spectrum). I quite like firefox, too.

                                                                                                              2. 3

                                                                                                                “Capitalism” is a big thing which makes it difficult to talk about sensibly, and it’s not clear what the alternatives are. That said, many of the important aspects of the internet were developed outside of commercial considerations:

                                                                                                                • DARPA was the US military

                                                                                                                • Unix was a budget sink because AT&T wasn’t allowed to go into computing, so they just shunted extra money there and let the nerds play while they made real money from the phone lines

                                                                                                                • WWW was created at CERN by a guy with grant money

                                                                                                                • Linux is OSS etc.

                                                                                                                A lot of people got rich from the internet, but the internet per se wasn’t really a capitalist success story. At best, it’s about the success of the mixed economy with the government sponsoring R&D.

                                                                                                                On the hardware side, capitalism does much better (although the transistor was another AT&T thing and NASA probably helped jumpstart integrated circuits). I think the first major breakthrough in software that you can really peg to capitalism is the post-AlphaGo AI boom, which was waiting for the GPU revolution, so it’s kind of a hardware thing at a certain level.

                                                                                                                1. 2

                                                                                                                  I still disagree, but man it’s nice to just discuss this sort of thing without the name-calling and/or brigading (or worse) you see on most of the toobs. This sort of thing is pretty rare.

                                                                                                                2. 2

                                                                                                                  Obviously not op, but observe the difference between the growth in the scale and distribution of computing power, and what has been enabled, over the last 40 years.

                                                                                                                  Business processes have been computerized and streamlined, entertainment has been computerized, and computerized communications especially group communications like lobsters or other social media have arrived. That’s not nothing, but it’s also nothing that wasn’t imaginable at the start of that 40 year period. We haven’t expanded the computer as a bicycle of the mind - consider simply the lack of widespread use of the power of the computer in your hand to create art. I put that lack of ambition down to the need to intermediate, monetize, and control everything.

                                                                                                                  1. 1

                                                                                                                    And additionally the drive to drive down costs means we have much less blue sky research and ambition; but also means that things are done to the level that they’re barely acceptable. We are that right now with the security situation: everything is about playing whackamole quicker than hackers, rather than investing in either comprehensive ahead of time security practices or in software that is secure by construction (whatever that would look like).

                                                                                                                3. 1

                                                                                                                  What I used to tell them is it’s basically a theory that says each person should be as selfish as possible always trying to squeeze more out of others (almost always money/power), give less to others (minimize costs), and put as many problems on them as possible (externalities).

                                                                                                                  The first directly leads to all kinds of evil, damaging behavior. There’s any number of schemes like rip-offs, overcharging, lockin, cartels, disposable over repairable, etc. These are normal, rather than the exception.

                                                                                                                  The second does every time cost-cutting pressure forces the company to damage others. I cite examples with food, medicine, safety, false career promises, etc. They also give less to stakeholders where fewer people get rewarded and get rewarded less for work put in. Also, can contrast to utilitarian companies like Publix that gives employees benefits and private stock but owners still got rich. Or companies that didn’t immediately lay off workers during recessions. An easy one is most can relate to is bosses, esp executives, paid a fortune to do almost nothing for the company vs workers.

                                                                                                                  Externalities affect us daily. They’re often a side effect of the other two. Toxic byproducts of industrial processes is a well known one. Pervasive insecurity of computers, from data loss to crippling DDOS’s to infrastructure at risk, is almost always an externality since the damage is someone else’ problem but preventing it would be supplier’s. You see how apathy is built-in when the solution is permissible, open-source, well-maintained software and they still don’t replace vulnerable software with it.

                                                                                                                  Note: Another angle, using game of Monopoly, was how first movers or just lucky folks got an irreversible, predatory advantage over others. Arguing to break that up is a little harder, though.

                                                                                                                  So, I used to focus on those points, illustrate alternative corporate/government models that do better, and suggest using/tweaking everything that already worked. Meanwhile, counter the abuse at consumer level by voting with wallet, sensible regulations anywhere capitalist incentives keep causing damage, and hit them in court with bigger damages that preventing it would cost. Also, if going to court, I recommend showing where it was true how easy or inexpensive prevention was asking the court basically orders it. Ask them to define reasonable, professional standard as not harming stakeholders in as many cases as possible.

                                                                                                                  Note: Before anyone asks, I don’t have the lists of examples anymore or just inaccessible. Side effect of damaged memory is I gotta stay using it or I lose it.

                                                                                                              1. 1

                                                                                                                nvim-compe…

                                                                                                                How to remove Pattern not found?

                                                                                                                You can set set shortmess+=c in your vimrc.

                                                                                                                That did not fix the underlying issue, and cuz it’s in the readme, it must still be an issue.

                                                                                                                Wouldn’t it be great if these things suggested any autocomplete being available instead of locking into certain implementations?

                                                                                                                As a long-time Vim and Neovim user, I’m worried we’ll end up in a situation where the “ide-y” stuff is unmaintainable for most people, and for the others you must be overtly vigilant about plugin compatibilities and maybe like disabling nvim-compe somehow for all but Neorg.

                                                                                                                Hope I’m proven wrong.

                                                                                                                1. 4

                                                                                                                  This is a bad idea and you should feel bad.

                                                                                                                  I do not. If you can be vaccinated and a vaccine is available to you and you’re not getting one, you should feel bad.

                                                                                                                  Do you really expect anyone else to do this?

                                                                                                                  I could see it being used as a promotion […]

                                                                                                                  The road to hell is paved with good intentions.

                                                                                                                  If not dying is not enough of an incentive to get the vaccine, I’m not sure what will be.

                                                                                                                  In my region, we are 3.79 million people: between 24th February 2020 and 19th June 2021 (481 days) there are 2720 people who died in hospital with covid19 (and not necessarily from), the large majority of them being over 75 years old.

                                                                                                                  In the end, maybe “not dying” really isn’t a sufficient incentive to take these vaccines for some people, and we should respect that. Moreover, drug alternatives exists which can reduce the incentive too.

                                                                                                                  Cf: Sources are in french unfortunately, but charts are easily translatable.

                                                                                                                  1. 4

                                                                                                                    All this for eight hours of lost life expectancy

                                                                                                                    If the 18-year-old dies, he loses 61.2 years of expected life. That’s a lot. But the probability of the 18-year-old dying, if infected, is tiny, about 0.004%. So the expected years of life lost are only 0.004% times 35% times 61.2 years, which is 0.0009 year. That’s only 7.5 hours. Everything this younger person has been through over the past year was to prevent, on average, the loss of 7.5 hours of his life.

                                                                                                                    1. 4

                                                                                                                      Everything this younger person has been through over the past year was to prevent, on average, the loss of 7.5 hours of his life.

                                                                                                                      That’s discounting all the lost hours that may have arisen from people infected by that 18 year old if he caught COV19. Which is kinda messed up, no?

                                                                                                                      1. 1

                                                                                                                        Not really. Since we’re talking about broad policies, thinking about “well what if an 18-year-old infects X many people” is not very instructive. Instead, we should consider the total number of people who would be infected, if we changed policies.

                                                                                                                        Herd immunity for SARS-CoV-2 would be reached after perhaps 70% of the population has been infected… While perfect protection would eliminate the risk of infection, few people can practice it. Based on data analyzed by economists at the University of California, Berkeley, we assume that actual protection reduced the risk of infection by roughly half. Therefore, imperfect protection reduced the risk of infection for the average American from 70% to 35%.

                                                                                                                        That is, roughly twice as many Americans would have been infected.

                                                                                                                        1. 1
                                                                                                                          1. 1

                                                                                                                            I figured we both had read the article which I linked two posts above.

                                                                                                                      2. 4

                                                                                                                        No dead 18 year old loses 7.5 hours of life. You’re saying that it’s cool for 0.004% of 18 year olds to die.

                                                                                                                        Also your calculation is BS because you’re not taking account of the long term health effects of non-fatal covid; and you’re not using any kind of quality of life adjustment. And over the whole population the calculation is different, and disease protection is a whole population effort.

                                                                                                                        1. 5

                                                                                                                          You’re saying that it’s cool for 0.004% of 18 year olds to die.

                                                                                                                          You make him say it, he didn’t.

                                                                                                                          Every death is a tragedy in itself, but you should take some distance to find incoherence in this global situation.

                                                                                                                          For example, according to WHO 4 millions of deaths are related each year to diabetes; yet do we see as much passion as for covid from governments and corporations to prevent it ? If not, we should ask ourselves why, especially if every people count. I am yet to see MacDonald’s lock down.

                                                                                                                          And the same analysis can be said for pesticides, air pollution, water pollution, ground pollutions, cigarets, cancers, etc…

                                                                                                                          1. 3

                                                                                                                            To expand on what @Student said, mutations are a big reason to control spreading. Mutation is what gets you vaccine-resistant strains, not to mention the risk of more lethal strains.

                                                                                                                            Diabetes isn’t contractable, nor does it mutate on infection.

                                                                                                                            Externalities like pollution are even further distanced from infectious diseases.

                                                                                                                            1. 1

                                                                                                                              My point was more about deaths and how governments/corporations/media react to it, not targeting a death cause in particular.

                                                                                                                              The current situation may have another meaning when you take some distance with just talking about covid and vaccines.

                                                                                                                          2. 2

                                                                                                                            Also your calculation is BS because you’re not taking account of the long term health effects of non-fatal covid

                                                                                                                            The case rate of “long covid” is roughly the proportional to the death rate. That is, prolonged symptoms occur in people who might have died if their symptoms were more severe. Therefore, this has the same cost distribution as death does.

                                                                                                                            and you’re not using any kind of quality of life adjustment.

                                                                                                                            Of course I am.

                                                                                                                            The costs of protection include reduced schooling, reduced economic activity, increased substance abuse, more suicides, more loneliness, reduced contact with loved ones, delayed cancer diagnoses, delayed childhood vaccinations, increased anxiety, lower wage growth, travel restrictions, reduced entertainment choices, and fewer opportunities for socializing and building friendships.

                                                                                                                            I’d say that forcing a reduced quality of life on so many people is too big of a cost.

                                                                                                                            And over the whole population the calculation is different, and disease protection is a whole population effort.

                                                                                                                            The risk is primarily concentrated in the old.

                                                                                                                            SARS-CoV-2 is highly discriminatory and views the old as easy targets. Had policy makers understood the enemy, they would have adopted different protocols for young and old. Politicians would have practiced focused protection, narrowing their efforts to the most vulnerable 11% of the population and freeing the remaining 89% of Americans from wasteful burdens.

                                                                                                                            1. 1

                                                                                                                              Would they really have adopted? Would that have been the right course of action?

                                                                                                                              Seems someone in the comments is also trying to correct someone else being wrong on the internet:

                                                                                                                              As is well known, as viral cases spread more mutations arise leading to further spread in the community. Blithely recommending that younger individuals should have simply avoided all covid protections flies in the face of prudent epidemiologic practice and ignores the costs associated with covid morbidities.

                                                                                                                              Not to mention the pandemic that lasted 50 million years when one might think herd immunity should have been reached.

                                                                                                                              Of course different countries have had different blunders and anyone’s free to believe what they want, but it’s as if some of the most basic things are forgotten in these opinionated discussions.

                                                                                                                          3. 2

                                                                                                                            Preach to the choir ;)

                                                                                                                            Thanks for the interesting article, I will read it after work !

                                                                                                                        1. 78

                                                                                                                          It would help if Firefox would actually make a better product that’s not a crappy Chrome clone. The “you need to do something different because [abstract ethical reason X]” doesn’t work with veganism, it doesn’t work with chocolate sourced from dubious sources, it doesn’t work with sweatshop-based clothing, doesn’t work with Free Software, and it sure as hell isn’t going to work here. Okay, some people are going to do it, but not at scale.

                                                                                                                          Sometimes I think that Mozilla has been infiltrated by Google people to sabotage it. I have no evidence for this, but observed events don’t contradict it either.

                                                                                                                          1. 24

                                                                                                                            It would help if Firefox would actually make a better product that’s not a crappy Chrome clone. The “you need to do something different because [abstract ethical reason X]” doesn’t work with veganism, it doesn’t work with chocolate sourced from dubious sources, it doesn’t work with sweatshop-based clothing, doesn’t work with Free Software, and it sure as hell isn’t going to work here. Okay, some people are going to do it, but not at scale.

                                                                                                                            I agree, but the deck is stacked against Mozilla. They are a relatively small nonprofit largely funded by Google. Structurally, there is no way they can make a product that competes. The problem is simply that there is no institutional counterweight to big tech right now, and the only real solutions are political: antitrust, regulation, maybe creating a publicly-funded institution with a charter to steward the internet in the way Mozilla was supposed to. There’s no solution to the problem merely through better organizational decisions or product design.

                                                                                                                            1. 49

                                                                                                                              I don’t really agree; there’s a lot of stuff they could be doing better, like not pushing out updates that change the colour scheme in such a way that it becomes nigh-impossible to see which tab is active. I don’t really care about “how it looks”, but this is just objectively bad. Maybe if you have some 16k super-HD IPS screen with perfect colour reproduction at full brightness in good office conditions it’s fine, but I just have a shitty ThinkPad screen and the sun in my home half the time (you know, like a normal person). It’s darn near invisible for me, and I have near-perfect eyesight (which not everyone has). I spent some time downgrading Firefox to 88 yesterday just for this – which it also doesn’t easily allow, not if you want to keep your profile anyway – because I couldn’t be arsed to muck about with userChrome.css hacks. Why can’t I just change themes? Or why isn’t there just a setting to change the colour?

                                                                                                                              There’s loads of other things; one small thing I like to do is not have a “x” on tabs to close it. I keep clicking it by accident because I have the motor skills of a 6 year old and it’s rather annoying to keep accidentally closing tabs. It used to be a setting, then it was about:config, then it was a userChrome.css hack, now it’s a userChrome.css hack that you need to explicitly enable in about:config for it to take effect, and in the future I probably need to sacrifice a goat to our Mozilla overlords if I want to change it.

                                                                                                                              I also keep accidentally bookmarking stuff. I press ^D to close terminal windows and sometimes Firefox is focused and oops, new bookmark for you! Want to configure keybinds for Firefox? Firefox say no; you’re not allowed, mere mortal end user; our keybinds are perfect and work for everyone, there must be something wrong with you if you don’t like it! It’s pretty darn hard to hack around this too – more time than I was willing to spend on it anyway – so I just accepted this annoyance as part of my life 🤷

                                                                                                                              “But metrics show only 1% of people use this!” Yeah, maybe; but 1% here and 5% there and 2% somewhere else and before you know it you’ve annoyed half (of not more) of your userbase with a bunch of stuff like that. It’s the difference between software that’s tolerable and software that’s a joy to use. Firefox is tolerable, but not a joy. I’m also fairly sure metrics are biased as especially many power users disable it, so while useful, blindly trusting it is probably not a good idea (I keep it enabled for this reason, to give some “power user” feedback too).

                                                                                                                              Hell, I’m not even a “power user” really; I have maybe 10 tabs open at the most, usually much less (3 right now) and most settings are just the defaults because I don’t really want to spend time mucking about with stuff. I just happen to be a programmer with an interest in UX who cares about a healthy web and knows none of this is hard, just a choice they made.

                                                                                                                              These are all really simple things; not rocket science. As I mentioned a few days ago, Firefox seems have fallen victim to a mistaken and fallacious mindset in their design.

                                                                                                                              Currently Firefox sits in a weird limbo that satisfies no one: “power users” (which are not necessarily programmers and the like, loads of people with other jobs interested in computers and/or use computers many hours every day) are annoyed with Firefox because they keep taking away capabilities, and “simple” users are annoyed because quite frankly, Chrome gives a better experience in many ways (this, I do agree, is not an easy problem to solve, but it does work “good enough” for most). And hey, even “simple” users occasionally want to do “difficult” things like change something that doesn’t work well for them.

                                                                                                                              So sure, while there are some difficult challenges Firefox faces in competing against Google, a lot of it is just simple every-day stuff where they just choose to make what I consider to be a very mediocre product with no real distinguishing features at best. Firefox has an opportunity to differentiate themselves from Chrome by saying “yeah, maybe it’s a bit slower – it’s hard and we’re working on that – but in the meanwhile here’s all this cool stuff you can do with Firefox that you can’t with Chrome!” I don’t think Firefox will ever truly “catch up” to Chrome, and that’s fine, but I do think they can capture and retain a healthy 15%-20% (if not more) with a vision that consists of more than “Chrome is popular, therefore, we need to copy Chrome” and “use us because we’re not Chrome!”

                                                                                                                              1. 21

                                                                                                                                Speaking of key bindings, Ctrl + Q is still “quit without any confirmation”. Someone filed a bug requesting this was changeable (not even default changed), that bug is now 20 years old.

                                                                                                                                It strikes me that this would be a great first issue for a new contributor, except the reason it’s been unfixed for so long is presumably that they don’t want it fixed.

                                                                                                                                1. 9

                                                                                                                                  A shortcut to quit isn’t a problem, losing user data when you quit is a problem. Safari has this behaviour too, and I quite often hit command-Q and accidentally quit Safari instead of the thing I thought I was quitting (since someone on the OS X 10.8 team decided that the big visual clues differentiating the active window and others was too ugly and removed it). It doesn’t bother me, because when I restart Safari I get back the same windows, in the same positions, with the same tabs, scrolled to the same position, with the same unsaved form data.

                                                                                                                                  I haven’t used Firefox for a while, so I don’t know what happens with Firefox, but if it isn’t in the same position then that’s probably the big thing to fix, since it also impacts experience across any other kind of browser restart (OS reboots, crashes, security updates). If accidentally quitting the browser loses you 5-10 seconds of time, it’s not a problem. If it loses you a load of data then it’s really annoying.

                                                                                                                                  1. 4

                                                                                                                                    Firefox does this when closing tabs (restoring closed tabs usually restores form content etc.) but not when closing the window.

                                                                                                                                    The weird thing is that it does actually have a setting to confirm when quitting, it’s just that it only triggers when you have multiple tabs or windows open and not when there’s just one tab 🤷

                                                                                                                                    1. 1

                                                                                                                                      The weird thing is that it does actually have a setting to confirm when quitting, it’s just that it only triggers when you have multiple tabs or windows open and not when there’s just one tab

                                                                                                                                      Does changing browser.tabs.closeWindowWithLastTab in about:config fix that?

                                                                                                                                      1. 1

                                                                                                                                        I have it set to false already, I tested it to make sure and it doesn’t make a difference (^W won’t close the tab, as expected, but ^Q with one tab will still just quit).

                                                                                                                                    2. 2

                                                                                                                                      I quite often hit command-Q and accidentally quit Safari

                                                                                                                                      One of the first things I do when setting up a new macOS user for myself is adding alt-command-Q in Preferences → Keyboard → Shortcuts → App Shortcuts for “Quit Safari” in Safari. Saves my sanity every day.

                                                                                                                                      1. 1

                                                                                                                                        Does this somehow remove the default ⌘Q binding?

                                                                                                                                        1. 1

                                                                                                                                          Yes, it changes the binding on the OS level, so the shortcut hint in the menu bar is updated to show the change

                                                                                                                                          1. 1

                                                                                                                                            It overrides it - Safari’s menu shows ⌥⌘Q against “Quit Safari”.

                                                                                                                                          2. 1

                                                                                                                                            You can do this in windows for firefox (or any browser) too with an autohotkey script. You can set it up to catch and handle a keypress combination before it reaches any other application. This will be global of course and will disable and ctrl-q hotkey in all your applications, but if you want to get into detail and write a more complex script you can actually check which application has focus and only block the combination for the browser.

                                                                                                                                          3. 2

                                                                                                                                            This sounds like something Chrome gets right - if I hit CMD + Q I get a prompt saying “Hold CMD+Q to Quit” which has prevented me from accidentally quitting lots of times. I assumed this was MacOS behaviour, but I just tested Safari and it quit immediately.

                                                                                                                                          4. 6

                                                                                                                                            Disabling this shortcut with browser.quitShortcut.disabled works for me, but I agree that bug should be fixed.

                                                                                                                                            1. 1

                                                                                                                                              Speaking of key bindings, Ctrl + Q is still “quit without any confirmation”.

                                                                                                                                              That was fixed a long time ago, at least on Linux. When I press it, a modal says “You are about to close 5 windows with 24 tabs. Tabs in non-private windows will be restored when you restart.” ESC cancels.

                                                                                                                                              1. 1

                                                                                                                                                That’s strange. I’m using latest Firefox, from Firefox, on Linux, and I don’t ever get a prompt. Another reply suggested a config tweak to try.

                                                                                                                                                1. 1

                                                                                                                                                  I had that problem for a while but it went away. I have browser.quitShortcut.disabled as false in about:config. I’m not sure if it’s a default setting or not.

                                                                                                                                                  1. 1

                                                                                                                                                    quitShortcut

                                                                                                                                                    It seems that this defaults to false. The fact you have it false, but don’t experience the problem, is counter-intuitive to me. Anyway the other poster’s suggestion was to flip this, so I’ll try that. Thanks!

                                                                                                                                                    1. 1

                                                                                                                                                      That does seem backwards. Something else must be overriding it. I’m using Ubuntu 20.04, if that matters. I just found an online answer that mentions the setting.

                                                                                                                                            2. 7

                                                                                                                                              On one level, I disagree – I have zero problems with Firefox. My only complaint is that sometimes website that are built to be Chrome-only don’t work sometimes, which isn’t really Firefox’s problem, but the ecosystem’s problem (see my comment above about antitrust, etc). But I will grant you that Firefox’s UX could be better, that there are ways the browser could be improved in general. However, I disagree here:

                                                                                                                                              retain a healthy 15%-20% (if not more)

                                                                                                                                              I don’t think this is possible given the amount of resources Firefox has. No matter how much they improve Firefox, there are two things that are beyond their control:

                                                                                                                                              1. Most users use Google products (gmail, calendar, etc), and without an antitrust case, these features will be seamlessly integrated into Chrome, and not Firefox.
                                                                                                                                              2. Increasingly, websites are simple not targeting Firefox for support, so normal users who want to say, access online banking, are SOL on Firefox. (This happens to me, I still have to use Chrome for some websites)

                                                                                                                                              Even the best product managers and engineers could not reverse Firefox’s design. We need a political solution, unless we want the web to become Google Web (tm).

                                                                                                                                              1. 3

                                                                                                                                                Why can’t I just change themes?

                                                                                                                                                You can. The switcher is at the bottom of the Customize Toolbar… view.

                                                                                                                                                1. 2

                                                                                                                                                  Hm, last time I tried this it didn’t do much of anything other than change the colour of the toolbar to something else or a background picture; but maybe it’s improved now. I’ll have a look next time I try mucking about with 89 again; thanks!

                                                                                                                                                  1. 3

                                                                                                                                                    You might try the Firefox Colors extension, too. It’s a pretty simple custom theme builder.

                                                                                                                                                    1. 2

                                                                                                                                                      https://color.firefox.com/ to save the trouble of searching.

                                                                                                                                                2. 4

                                                                                                                                                  I agree with Firefox’s approach of choosing mainstream users over power-users - that’s the only way they’ll ever have 10% or more of users. Firefox is doing things with theming that I wish other systems would do - they have full “fresco” themes (images?) in their chrome! It looks awesome! I dream about entire DEs and app suites built from the ground up with the same theme of frescoes (but with an different specific fresco for each specific app, perhaps tailored to that app). Super cool!

                                                                                                                                                  I don’t like the lack of contrast on the current tab, but “give users the choice to fix this very specific issue or not” tends to be extremely shortsighted - the way to fix it is to fix it. Making it optional means yet another maintenance point on an already underfunded system, and doesn’t necessarily even fix the problem for most users!

                                                                                                                                                  More importantly, making ultra-specific optionss like that is usually pushing decisions onto the user as a method of avoiding internal politicking/arguments, and not because pushing to the user is the optimal solution for that specific design aspect.

                                                                                                                                                  1. 2

                                                                                                                                                    As for the close button, I am like you. You can set browser.tabs.tabClipWidth to 1000. Dunno if it is scheduled to be removed.

                                                                                                                                                    As for most of the other grips, adding options and features to cater for the needs of a small portion of users has a maintenance cost. Maybe adding the option is only one line, but then a new feature needs to work with the option enabled and disabled. Removing options is just a way to keep the code lean.

                                                                                                                                                    My favorite example in the distribution world is Debian. Debian supports tries to be the universal OS. We are drowning with having to support everything. For examples, supporting many init systems is more work. People will get to you if there is a bug in the init system you don’t use. You spend time on this. At the end, people not liking systemd are still unhappy and switch to Devuan which supports less init systems. I respect Mozilla to keep a tight ship and maintaining only the features they can support.

                                                                                                                                                    1. 7

                                                                                                                                                      Nobody would say anything if their strategy worked. The core issue is that their strategy obviously doesn’t work.

                                                                                                                                                      adding options and features to cater for the needs of a small portion of users

                                                                                                                                                      It ’s not even about that.

                                                                                                                                                      It’s removing things that worked and users liked by pretending that their preferences are invalid. (And every user belongs to some minority that likes a feature others may be unaware of.)

                                                                                                                                                      See the recent debacle of gradually blowing up UI sizes, while removing options to keep them as they were previously.

                                                                                                                                                      Somehow the saved cost to support some feature doesn’t seem to free up enough resources to build other things that entice users to stay.

                                                                                                                                                      All they do with their condescending arrogance on what their perfectly spherical idea of a standard Firefox user needs … is making people’s lives miserable.

                                                                                                                                                      They fired most of the people that worked on things I was excited about, and it seems all that’s left are some PR managers and completely out-of-touch UX “experts”.

                                                                                                                                                      1. 4

                                                                                                                                                        As for most of the other grips, adding options and features to cater for the needs of a small portion of users has a maintenance cost. Maybe adding the option is only one line, but then a new feature needs to work with the option enabled and disabled. Removing options is just a way to keep the code lean.

                                                                                                                                                        It seems to me that having useful features is more important than having “lean code”, especially if this “lean code” is frustrating your users and making them leave.

                                                                                                                                                        I know it’s easy to shout stuff from the sidelines, and I’m also aware that there may be complexities I may not be aware of and that I’m mostly ignorant of the exact reasoning behind many decisions (most of us here are really, although I’ve seen a few Mozilla people around), but what I do know is that 1) Firefox as a product has been moving in a certain direction for years, 2) that Firefox has been losing users for years, 3) that I know few people who truly find Firefox an amazing browser that a joy to use, and that in light of that 4) keep doing the same thing you’ve been doing for years is probably not a good idea, and 5) that doing the same thing but doing it harder is probably an even worse idea.

                                                                                                                                                        I also don’t think that much of this stuff is all that much effort. I am not intimately familiar with the Firefox codebase, but how can a bunch of settings add an insurmountable maintenance burden? These are not “deep” things that reach in to the Gecko engine, just comparatively basic UI stuff. There are tons of projects with a much more complex UI and many more settings.

                                                                                                                                                        Hell, I’d argue that even removing the RSS was also a mistake – they should have improved it instead, especially after Google Reader’s demise there was a huge missed opportunity there – although it’s a maintenance burden trade-off I can understand it better, it also demonstrates a lack of vision to just say “oh, it’s old crufty code, not used by many (not a surprise, it sucked), so let’s just remove it, people can just install an add-on if they really want it”. This is also a contradiction with Firefox’s mantra of “most people use the defaults, and if it’s not used a lot we can just remove it”. Well, if that’s true then you can ship a browser with hardly any features at all, and since most people will use the defaults they will use a browser without any features.

                                                                                                                                                        Browsers like Brave and Vivaldi manage to do much of this; Vivaldi has an entire full-blown email client. I’d wager that a significant portion of the people leaving Firefox are actually switching to those browsers, not Chrome as such (but they don’t show up well in stats as they identify as “Chrome”). Mozilla nets $430 million/year; it’s not a true “giant” like Google or Apple, but it’s not small either. Vivaldi has just 55 employees (2021, 35 in 2017); granted, they do less than Mozilla, but it doesn’t require a huge team to do all of this.

                                                                                                                                                        And every company has limited resources; it’s not like the Chrome team is a bottomless pit of resources either. A number of people in this thread express the “big Google vs. small non-profit Mozilla”-sentiment here, but it doesn’t seem that clear-cut. I can’t readily find a size for the Chrome team on the ‘net, but I checked out the Chromium source code and let some scripts loose on that: there are ~460 Google people with non-trivial commits in 2020, although quite a bit seems to be for ChromeOS and not the browser part strictly speaking, so my guestimate is more 300 people. A large team? Absolutely. But Mozilla’s $430/million a year can match this with ~$1.5m/year per developer. My last company had ~70 devs on much less revenue (~€10m/year). Basically they have the money to spare to match the Chrome dev team person-for-person. Mozilla does more than just Firefox, but they can still afford to let a lot of devs loose on Gecko/Firefox (I didn’t count the number devs for it, as I got some other stuff I want to do this evening as well).

                                                                                                                                                        It’s all a matter of strategy; history is littered with large or even huge companies that went belly up just because they made products that didn’t fit people’s demands. I fear Firefox will be in the same category. Not today or tomorrow, but in five years? I’m not so sure Firefox will still be around to be honest. I hope I’m wrong.

                                                                                                                                                        As for your Debian comparison; an init system is a fundamental part of the system; it would be analogous to Firefox supporting different rendering or JS engines. It’s not even close to the same as “an UI to configure key mappings” or “a bunch of settings for stuff you can actually already kind-of do but with hacks that you need to explicitly search for and most users don’t know it exists”, or even a “built-in RSS reader that’s really good and a great replacement for Google Reader”.

                                                                                                                                                        1. 2

                                                                                                                                                          I agree with most of what you said. Notably the removal of RSS support. I don’t work for Mozilla and I am not a contributor, so I really can’t answer any of your questions.

                                                                                                                                                          Another example of maintaining a feature would be Alsa support. It has been removed, this upsets some users, but for me, this is understandable as they don’t want to handle bug reports around this or the code to get in the way of some other features or refactors. Of course, I use Pulseaudio, so I am quite biased.

                                                                                                                                                          1. 4

                                                                                                                                                            I think ALSA is a bad example; just use Pulseaudio. It’s long since been the standard, everyone uses it, and this really is an example of “147 people who insist on having an überminimal Linux on Reddit being angry”. It’s the kind of technical detail with no real user-visible changes that almost no one cares about. Lots of effort with basically zero or extremely minimal tangible benefits.

                                                                                                                                                            And ALSA is a not even a good or easy API to start with. I’m pretty sure that the “ALSA purists” never actually tried to write any ALSA code otherwise they wouldn’t be ALSA purists but ALSA haters, as I’m confident there is not a single person that has programmed with ALSA that is not an ALSA hater to some degree.

                                                                                                                                                            Pulseaudio was pretty buggy for a while, and its developer’s attitude surrounding some of this didn’t really help, because clearly if tons of people are having issues then all those people are just “doing it wrong” and is certainly not a reason to fix anything, right? There was a time that I had a keybind to pkill pulseaudio && pulseaudio --start because the damn thing just stopped working so often. The Grand Pulseaudio Rollout was messy, buggy, broke a lot of stuff, and absolutely could have been handled better. But all of that was over a decade ago, and it does actually provide value. Most bugs have been fixed years ago, Poettering hasn’t been significantly involved since 2012, yet … people still hold an irrational hatred towards it 🤷

                                                                                                                                                            1. 1

                                                                                                                                                              ALSA sucks, but PulseAudio is so much worse. It still doesn’t even actually work outside the bare basics. Firefox forced me to put PA on and since then, my mic randomly spews noise and sound between programs running as different user ids is just awful. (I temporarily had that working better though some config changes, then a PA update - hoping to fix the mic bug - broke this… and didn’t fix the mic bug…)

                                                                                                                                                              I don’t understand why any program would use the PA api instead of the alsa ones. All my alsa programs (including several I’ve made my own btw, I love it whenever some internet commentator insists I don’t exist) work equally as well as pulse programs on the PA system… but also work fine on systems where audio actually works well (aka alsa systems). Using the pulse api seems to be nothing but negatives.

                                                                                                                                                      2. 1

                                                                                                                                                        Not sure if this will help you but I absolutely cannot STAND the default Firefox theme so I use this: https://github.com/ideaweb/firefox-safari-style

                                                                                                                                                        I stick with Firefox over Safari purely because it’s devtools are 100x better.

                                                                                                                                                      3. 10

                                                                                                                                                        There’s also the fact that web browsers are simply too big to reimplement at this point. The best Mozilla can do (barely) is try to keep up with the Google-controlled Web Platform specs, and try to collude with Apple to keep the worst of the worst from being formally standardized (though Chrome will implement them anyway). Their ability to do even that was severely impacted by their layoffs last year. At some point, Apple is going to fold and rebase Safari on Chromium, because maintaining their own browser engine is too unprofitable.

                                                                                                                                                        At this point, we need to admit that the web belongs to Google, and use it only to render unto Google what is Google’s. Our own traffic should be on other protocols.

                                                                                                                                                        1. 8

                                                                                                                                                          For a scrappy nonprofit they don’t seem to have any issues paying their executives millions of dollars.

                                                                                                                                                          1. 1

                                                                                                                                                            I mean, I don’t disagree, but we’re still talking several orders of magnitude less compensation than Google’s execs.

                                                                                                                                                            1. 5

                                                                                                                                                              A shit sandwich is a shit sandwich, no matter how low the shit content is.

                                                                                                                                                              (And no, no one is holding a gun to Mozilla’s head forcing them to hire in high-CoL/low-productivity places.)

                                                                                                                                                          2. 1

                                                                                                                                                            Product design can’t fix any of these problems because nobody is paying for the product. The more successful it is, the more it costs Mozilla. The only way to pay the rent with free-product-volume is adtech, which means spam and spying.

                                                                                                                                                            1. 4

                                                                                                                                                              Exactly why I think the problem requires a political solution.

                                                                                                                                                          3. 8

                                                                                                                                                            I don’t agree this is a vague ethical reason. Problem with those are concerns like deforestation (and destruction of habitats for smaller animals) to ship almond milk across the globe, and sewing as an alternative to poverty and prostitution, etc.

                                                                                                                                                            The browser privacy question is very quantifiable and concrete, the source is in the code, making it a concrete ethical-or-such choice.

                                                                                                                                                            ISTR there even being a study or two where people were asked about willingness to being spied upon, people who had no idea their phones were doing what was asked about, and being disconcerted after the fact. That’s also a concrete way to raise awareness.

                                                                                                                                                            At the end of the day none of this may matter if people sign away their rights willingly in favor of a “better” search-result filter bubble.

                                                                                                                                                            1. 11

                                                                                                                                                              I don’t think they’re vague (not the word I used) but rather abstract; maybe that’s no the best word either but what I mean with it is that it’s a “far from my bed show” as we would say in Dutch. Doing $something_better on these topics has zero or very few immediate tangible benefits, but rather more abstract long-term benefits. And in addition it’s also really hard to feel that you’re really making a difference as a single individual. I agree with you that these are important topics, it’s just that this type of argument is simply not all that effective at really making a meaningful impact. Perhaps it should be, but it’s not, and exactly because it’s important we need to be pragmatic about the best strategy.

                                                                                                                                                              And if you’re given the choice between “cheaper (or better) option X” vs. “more expensive (or inferior) option Y with abstract benefits but no immediate ones”, then I can’t really blame everyone for choosing X either. Life is short, lots of stuff that’s important, and can’t expect everyone to always go out of their way to “do the right thing”, if you can even figure out what the “right thing” is (which is not always easy or black/white).

                                                                                                                                                              1. 1

                                                                                                                                                                My brain somehow auto-conflated the two, sorry!

                                                                                                                                                                I think we agree that the reasoning in these is inoptimal either way.

                                                                                                                                                                Personally I wish these articles weren’t so academic, and maybe not in somewhat niche media, but instead mainstream publications would run “Studies show people do not like to be spied upon yet they are - see the shocking results” clickbaity stuff.

                                                                                                                                                                At least it wouldn’t hurt for a change.

                                                                                                                                                                1. 1

                                                                                                                                                                  It probably wasn’t super-clear what exactly was intended with that in the first place so easy enough of a mistake to make 😅

                                                                                                                                                                  As for articles, I’ve seen a bunch of them in mainstream Dutch newspapers in the last two years or so; so there is some amount of attention being given to this. But as I expended on in my other lengthier comment, I think the first step really ought to be making a better product. Not only is this by far the easiest to do and within our (the community’s) power to do, I strongly suspect it may actually be enough, or at least go a long way.

                                                                                                                                                                  It’s like investing in public transport is better than shaming people for having a car, or affordable meat alternatives is a better alternative than shaming people for eating meat, etc.

                                                                                                                                                            2. 7

                                                                                                                                                              I agree to an extent. Firefox would do well to focus on the user experience front.

                                                                                                                                                              I switched to Firefox way back in the day, not because of vague concerns about the Microsoft hegemony, or even concerns about web standards and how well each browser implemented them. I switched because they introduced the absolutely groundbreaking feature that is tabbed browsing, which gave a strictly better user experience.

                                                                                                                                                              I later switched to Chrome when it became obvious that it was beating Firefox in terms of performance, which is also a factor in user experience.

                                                                                                                                                              What about these days? Firefox has mostly caught up to Chrome on the performance point. But you know what’s been the best user experience improvement I’ve seen lately? Chrome’s tab groups feature. It’s a really simple idea, but it’s significantly improved the way I manage my browser, given that I tend to have a huge number of tabs open.

                                                                                                                                                              These are the kinds of improvements that I’d like to see Firefox creating, in order to lure people back. You can’t guilt me into trying a new browser, you have to tempt me.

                                                                                                                                                              1. 10

                                                                                                                                                                But you know what’s been the best user experience improvement I’ve seen lately? Chrome’s tab groups feature. It’s a really simple idea, but it’s significantly improved the way I manage my browser, given that I tend to have a huge number of tabs open.

                                                                                                                                                                Opera had this over ten years ago (“tab stacking”, added in Opera 11 in 2010). Pretty useful indeed, even with just a limited number of tabs. It even worked better than Chrome groups IMO. Firefox almost-kind-of has this with container tabs, which are a nice feature actually (even though I don’t use it myself), and with a few UX enhancements on that you’ve got tab groups/stacking.

                                                                                                                                                                Opera also introduced tabbed browsing by the way (in 2000 with Opera 4, about two years before Mozilla added it in Phoenix, which later became Firefox). Opera was consistently way ahead of the curve on a lot of things. A big reason it never took off was because for a long time you had to pay for it (until 2005), and after that it suffered from “oh, I don’t want to pay for it”-reputation for years. It also suffered from sites not working; this often (not always) wasn’t even Opera’s fault as frequently this was just a stupid pointless “check” on the website’s part, but those were popular in those days to tell people to not use IE6 and many of them were poor and would either outright block Opera or display a scary message. And being a closed-source proprietary product also meant it never got the love from the FS/OSS crowd and the inertia that gives (not necessarily a huge inertia, but still).

                                                                                                                                                                So Firefox took the world by storm in the IE6 days because it was free and clearly much better than IE6, and when Opera finally made it free years later it was too late to catch up. I suppose the lesson here is that “a good product” isn’t everything or a guarantee for success, otherwise we’d all be using Opera (Presto) now, but it certainly makes it a hell of a lot easier to achieve success.

                                                                                                                                                                Opera had a lot of great stuff. I miss Opera 😢 Vivaldi is close (and built by former Opera devs) but for some reason it’s always pretty slow on my system.

                                                                                                                                                                1. 1

                                                                                                                                                                  This is fair and I did remember Opera being ahead of the curve on some things. I don’t remember why I didn’t use it, but it being paid is probably why.

                                                                                                                                                                  1. 1

                                                                                                                                                                    I agree, I loved the Presto-era Opera and I still use the Blink version as my main browser (and Opera Mobile on Android). It’s still much better than Chrome UX-wise.

                                                                                                                                                                  2. 4

                                                                                                                                                                    I haven’t used tab groups, but it looks pretty similar to Firefox Containers which was introduced ~4 years ahead of that blog post. I’ll grant that the Chrome version is built-in and looks much more polished and general purpose than the container extension, so the example is still valid.

                                                                                                                                                                    I just wanted to bring this up because I see many accusations of Firefox copying Chrome, but I never see the reverse being called out. I think that’s partly because Chrome has the resources to take Mozilla’s ideas and beat them to market on it.

                                                                                                                                                                    Disclaimer: I’m a Mozilla employee

                                                                                                                                                                  3. 4

                                                                                                                                                                    One challenge for people making this kind of argument is that predictions of online-privacy doom and danger often don’t match people’s lived experiences. I’ve been using Google’s sites and products for over 20 years and have yet to observe any real harm coming to me as a result of Google tracking me. I think my experience is typical: it is an occasional minor annoyance to see repetitive ads for something I just bought, and… that’s about the extent of it.

                                                                                                                                                                    A lot of privacy advocacy seems to assume that readers/listeners believe it’s an inherently harmful thing for a company to have information about them in a database somewhere. I believe privacy advocates generally believe that, but if they want people to listen to arguments that use that assumption as a starting point, they need to do a much better job offering non-circular arguments about why it’s bad.

                                                                                                                                                                    1. 4

                                                                                                                                                                      I think it has been a mistake to focus on loss of privacy as the primary data collection harm. To me the bigger issue is that it gives data collectors power over the creators of the data and society as a whole, and drives destabilizing trends like political polarization and economic inequality. In some ways this is a harder sell because people are brainwashed to care only about issues that affect them personally and to respond with individualized acts.

                                                                                                                                                                      1. 4

                                                                                                                                                                        There is no brainwashing needed for people to act like people.

                                                                                                                                                                        1. 1

                                                                                                                                                                          do you disagree with something in my comment?

                                                                                                                                                                          1. 3

                                                                                                                                                                            In some ways this is a harder sell because people are brainwashed to care only about issues that affect them personally and to respond with individualized acts.

                                                                                                                                                                            I’m not @halfmanhalfdonut but I don’t think that brainwashing is needed to get humans to behave like this. This is just how humans behave.

                                                                                                                                                                            1. 2

                                                                                                                                                                              Yep, this is what I was saying.

                                                                                                                                                                              1. 1

                                                                                                                                                                                things like individualism, solidarity, and collaboration exist on a spectrum, and everybody exhibits each to some degree. so saying humans just are individualistic is tautological, meaningless. everyone has some individualism in them regardless of their upbringing, and that doesn’t contradict anything in my original comment. that’s why I asked if there was some disagreement.

                                                                                                                                                                                to really spell it out, modern mass media and culture condition people to be more individualistic than they otherwise would be. that makes it harder to make an appeal to solidarity and collaboration.

                                                                                                                                                                                @GrayGnome

                                                                                                                                                                                1. 1

                                                                                                                                                                                  I think you’re only seeing the negative side (to you) of modern mass media and culture. Our media and culture also promote unity, tolerance, respect, acceptance, etc. You’re ignoring that so that you can complain about Google influencing media, but the reality is that the way you are comes from those same systems of conditioning.

                                                                                                                                                                                  The fact that you even know anything about income inequality and political polarization are entirely FROM the media. People on the whole are not as politically divided as media has you believe.

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    sure, I only mentioned this particular negative aspect because it was relevant to the point I was making in my original comment

                                                                                                                                                                                  2. 1

                                                                                                                                                                                    to really spell it out, modern mass media and culture condition people to be more individualistic than they otherwise would be. that makes it harder to make an appeal to solidarity and collaboration.

                                                                                                                                                                                    I think we’re going to have to agree to disagree. I can make a complicated rebuttal here, but it’s off-topic for the site, so cheers!

                                                                                                                                                                                    1. 1

                                                                                                                                                                                      cheers

                                                                                                                                                                      2. 3

                                                                                                                                                                        I agree with everything you’ve written in this thread, especially when it comes to the abstractness of pro-Firefox arguments as of late. Judging from the votes it seems I am not alone. It is sad to see Mozilla lose the favor of what used to be its biggest proponents, the “power” users. I truly believe they are digging their own grave – faster and faster it seems, too. It’s unbelievable how little they seem to be able to just back down and admit they were wrong about an idea, if only for a single time.

                                                                                                                                                                        1. 2

                                                                                                                                                                          Firefox does have many features that Chrome doesn’t have: container tabs, tree style tabs, better privacy and ad-blocking capabilities, some useful dev tools that I don’t think Chrome has (multi-line JS and CSS editors, fonts), isolated profiles, better control over the home screen, reader mode, userChrome.css, etc.