Threads for simao

  1. 6

    I am thankful for docker as well. But I am actually commenting here because you introduced me to Eyvind Earle’s paintings. The one you chose for that page is amazing, but he has others like “Green Hillside”. So good. Thank you for that.

    1. 3

      Oh wow, yes, these are fantastic.

      1. 3

        Eyvind Earle’

        His style is reminiscent of Pierneef https://images.google.com/images?hl=en&source=hp&q=j.h.+pierneef

    1. 13

      Really cool idea. Would be nice if there was a repository of recipes in this format and people could share recipes. I’ve been using http://based.cooking and it’s really nice to skip the life story of a recipe and all the ads and popups to subscribe.

      1. 3

        Found this on their github org: https://github.com/cooklang/recipes

        1. 1

          Well that’s going in my bookmarks, thanks for the link!

          This looks neat, though I was wondering if I really have a use case for a recipe markdown language. Storing recipes from online so that:

          a) I have a copy that won’t disappear and

          b) I don’t have to scroll to the actual recipe three times while the ads load in

          …might just be it.

        1. 3

          That was a really easy to understand explanation of phantom types. thanks.

          1. 4

            Anybody else thinks it’s a bit strange this is written in rust? also esbuild is written in go, I think. I mean.. should that not be kind of a red flag for javascript?

            1. 14

              I mean Lua is written in C. CPython is written in C. Ruby… the list goes on.

              I heavily embrace writing compilers and parsing tools in languages that can let you eke out performance and are probably better suited for the task!

              Javascript has loads of advantages, but “every attribute access is a hash table lookup (until the JIT maybe fixes it for you)” seems like a silly cost to pay if you can avoid it for the thing that you really really really want to be fast.

              Honestly I think the “write stuff in the language it is meant for” has cost so much dev time in the long term. It’s definitely valuable for prototyping and early versions, but for example templating language rendering not being written in tooling that tries to minimize allocations and other things means that everything is probably 3-5x slower than it could be. I get a bunch of hits on a blog post because people just search “pylint slow” in Google so much.

              Meanwhile we have gotten many languages that are somewhat ergonomic but performant (Rust, to some extend Go or Java as well. Modern C++, kinda?). Obviously Pylint being Python means recruiting contributors is “easier” in theory, but in practice there’s a certain kind of person who works on these tools in general, and they’re probably not too uncomfortable with using many langauges IMO.

              1. 8

                Could you elaborate why this is strange?

                1. 1

                  to me it’s a bit strange that javascript is such an old language but it’s either not so optimized/fast enough for people use it to build/compile javascript, or people don’t want to use it even though they are building a build tool for it?

                  1. 17

                    Javascript has been going through a lot of optimizations, feature additions etc but it’s still a high level interpreted language. Compiling Javascript itself (or anything else) efficiently isn’t really among the primary goals of the language. I see no problem at opting for compiled languages optimized for performance for such a task. This does not diminish the language in my eyes because this is not what the language is designed for. Javascript may be terrible for a lot of reasons but this is not really a red flag for me.

                    1. 7

                      See Why is esbuild fast? for some fundamental JavaScript flaws for this kind of workload.

                      1. 1

                        Thanks for that, it’s interesting, though that was kind of my point.

                      2. 4

                        Age of the language doesn’t make it fast or slow, neither make it more or less optimised. Rust and Go will be faster than JS mostly, because these do not need to have support for many of the JS features, that make it hard to compile to native code - runtime reflection on anything for example.

                    2. 8

                      Producing code that executes quickly is just one of a large number of possible goals for a language. It is especially a goal for rust, but it’s not a priority for javascript.

                      This is perfectly normal. Languages that do prioritise speed of execution of the produced code make other trade-offs that would not be palatable to javascript use cases. The fact that someone is writing a bundler for javascript in another language is more a sign of the value that javascript brings, even to people familiar with other technologies.

                      1. 3

                        JS is pretty fast when you stay on the optimal path, which is very tricky to do for anything bigger than a single hot loop. You usually need to depend on implementation details of JIT engines, and shape your code to their preference, which often results in convoluted code (e.g. hit a sweet spot of JIT’s inlining and code caching heuristics, avoid confusing escape analysis, don’t use objects that create GC pressure).

                        OTOH Rust is compiled ahead of time, and its language constructs are explicitly designed to be low-level and optimize in a predictable way. You don’t fight heuristics of GC and JIT optimization tiers. It’s easy to use stack instead of the heap, control inlining, indirections, dynamic dispatch. There’s tooling to inspect compiled code, so you can have a definitive answer whether some code is efficient or not.

                        Rust is a more fitting tool for high-performance parsing.

                        1. 3

                          Is v8 being written in C++ a red flag too?

                          1. 1

                            Or SpiderMonkey in C, C++, and Rust

                          2. 1

                            Not really. Idiomatic JS code for this kind of workload will generate a lot of junk for the collector, and there’s also the matter of binding to various differing native APIs for file monitoring.

                          1. 1

                            Where is [PCRE] coming from? My biggest problem with emacs regexes is getting the syntax right escaping a lot of chars.

                            1. 1

                              Had totally forgotten I had pcre-mode enabled, but it’s part of pcre2el. pcre-mode is marked experimental (advises a handful of functions). I’ve not yet run into issues, though I don’t typically need more than basic regexps. There are alternatives in there (ie. use pcre-query-replace-regexp) to avoid advices.

                              1. 1

                                ah thanks, will try that. Maybe I cry a bit less time I have to use emacs regexes ;0

                            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.

                                                                            1. 4

                                                                              Is anyone here using nim for something serious in production? It looks really nice and I am surprised is not more popular.

                                                                              1. 5

                                                                                How about the Nim Forum? The source code is at nim-lang/nim-forum on github.

                                                                                This really shows off the capabilities of the language: both the backend and frontend are written in Nim. The frontend is Nim compiled down to a JavaScript SPA.

                                                                                I’m the kind of person who is sensitive to latency; I dislike most JS-heavy browser-based things. The Nim Forum is as responsive as a JS-free / minimal JS site.

                                                                                1. 3

                                                                                  Not sure what counts as “serious in production”, but I’ve been running a kernel-syslogd on four or so machines ever since I wrote kslog. I also have several dozen command-line utilities including replacements for ls and procps as well as a unified diff highlighter. The Status IM Ethereum project has also been investing heavily in Nim.

                                                                                  1. 2

                                                                                    I’ve been working on a key-value data store; it’s a wrapper around the C library libmdbx (an extension of LMDB), but with an idiomatic Nim API, and I’m working on higher level features like indexes.

                                                                                  1. 6

                                                                                    I can not use FISH shell as it does not support such basic POSIX for loops as these:

                                                                                    % for LOG in ls *.log; do tail -5 ${LOG}; done
                                                                                    

                                                                                    Its pointless to learn another new FISH syntax just for this …

                                                                                    If it would support the I could try it and maybe switch from ZSH … but once you setup your ZSH shell there is no point in using any other shell then ZSH …

                                                                                    1. 10

                                                                                      The syntax change is minimal:

                                                                                      > for LOG in ls *.log; tail -5 $LOG; end
                                                                                      

                                                                                      Like mentioned in the sibling comment, any ad-hoc pipeline that gets involved should probably be a POSIX script for portability and reusability.

                                                                                      The time commitment and fragility of a comparable ZSH setup is why I switched to Fish. Compare my .zshrc at 239 lines and my config.fish at 52 lines.

                                                                                      1. 9

                                                                                        But what’s the advantage of the different syntax? Most people considering Fish will already be familiar with POSIX for loops. and will still be writing POSIX for loops for both shell scripts and for interactive shells on other systems. Is the extra “do” so annoying that it’s worth the extra overhead of constantly switching between the different shell for loop syntaxes?

                                                                                        This is literally the main reason why I’m not using fish. I appreciate the good out-of-the-box configuration. I’m painfully familiar with ZSH’s fragility; it even made me switch back to bash. I would love a good, modern, pretty, nice-out-of-the-box shell. I just don’t want to use a non-POSIX shell. When I’m just writing pipelines and for loops interactively, POSIX shell’s issues aren’t really relevant When I’m writing anything complex enough for POSIX shell’s issues to be relevant, it’s in a shell script in a file, and I don’t want all my shell scripts to use some weird non-standard syntax which will preclude me from switching to a different shell in the future. So fish’s “improved” syntax is a disadvantage for interactive use, and isn’t something I would use for non-interactive use anyways.

                                                                                        Also, the official documentation tells you to run chsh -s <path to fish> to switch to Fish. Well, large parts of UNIX systems expect $SHELL to be POSIX-compatible. If you follow the official documentation your Sway configuration will break, all Makefiles will break, your sxhkd config will break, and lots of other programs will break. If it’s going to recommend switching to Fish with chsh, it really should be POSIX compatible.

                                                                                        IMO, fish is an amazing shell made less relevant through insistence on having a syntax which doesn’t even remotely resemble POSIX shell syntax.

                                                                                        1. 11

                                                                                          Also, the official documentation tells you to run chsh -s to switch to Fish. Well, large parts of UNIX systems expect $SHELL to be POSIX-compatible. If you follow the official documentation your Sway configuration will break, all Makefiles will break, your sxhkd config will break, and lots of other programs will break. If it’s going to recommend switching to Fish with chsh, it really should be POSIX compatible.

                                                                                          This is simply not true. I use fish as my default shell and never had a problem with makefiles or my window manager, I use i3, but don’t know why sway would be different. I never encountered software that just runs scripts like that, they either have a #! line that specifies the shell or just call bash -c/sh -c directly or whatever.

                                                                                          IMO lack of Posix compliance in fish is a non issue, specially for experienced users which will know how to fallback to bash or write scripts and use #!. I used zsh for a long time and I’d use bash for scripts I could share with my team and everything just works. I feel like I could have switched to fish a lot sooner if I just tried instead of being put off by comments like these. If you are curious, just try it, maybe it’s for you, maybe it’s not, but don’t rely on other people’s opinion.

                                                                                          For me the biggest advantage of fish is I can easily understand my config. With zsh I had a bunch of plugins and configs to customize it and I understand almost none of it. Every time I wanted to change it I would lose a lot of time. Documentation was also a pain, searching for obscure features you had to read random forums and advice and try different things. fish has a great manual, and great man pages, everything is just easy to learn and lookup. I value that more than I value POSIX compliance, maybe you don’t, but form your own opinion.

                                                                                          1. 3

                                                                                            This is simply not true. I use fish as my default shell and never had a problem with makefiles or my window manager

                                                                                            I’m happy that you haven’t experienced issues. I know 100% for a fact that having a non-POSIX $SHELL was causing a lot of issues for me last time I tried using fish. Maybe you’ve been lucky, or maybe they have a workaround now.

                                                                                            For me the biggest advantage of fish is I can easily understand my config. With zsh I had a bunch of plugins and configs to customize it and I understand almost none of it.

                                                                                            That’s fine. I agree that the things you mention are advantages of fish. I was wondering what the advantage of a different syntax is. Like, in which ways would fish but with a POSIX syntax be worse than the current implementation of fish? In which situations is it an advantage to have a POSIX-incompatible syntax?

                                                                                            1. 3

                                                                                              There is the right and the wrong way to switch to fish: The right way is to set the login shell for a user (i.e. replace /bin/bash with /usr/bin/fish in /etc/passwd, either manually or with chsh).

                                                                                              The wrong way is to point /bin/sh at /usr/bin/fish: That, and only that symlink, is what matters to everything that implicitly invokes “the shell” (i.e. /bin/sh) without a hashbang, such as Makefiles. I’m not surprised at the carnage you described if you did this.

                                                                                              1. 3

                                                                                                I, too, used fish for a while and did observe breakage, and I for sure did not do anything as silly as that. I remember in particular this bug: https://github.com/fish-shell/fish-shell/issues/2292 After that I changed my shell to bash and did exec fish in .bashrc. This, IIRC, did fix most of the bugs, though I still had to be careful: some scripts don’t actually use a shebang and expect the shell to notice that the executable is a shell script.

                                                                                                For example:

                                                                                                $ echo echo 5 > x.sh
                                                                                                $ chmod +x x.sh
                                                                                                

                                                                                                Then, from bash:

                                                                                                $ ./x.sh
                                                                                                5
                                                                                                

                                                                                                And from fish:

                                                                                                Failed to execute process './x.sh'. Reason:
                                                                                                exec: Exec format error
                                                                                                The file './x.sh' is marked as an executable but could not be run by the operating system.
                                                                                                
                                                                                              2. 2

                                                                                                That’s fine. I agree that the things you mention are advantages of fish. I was wondering what the advantage of a different syntax is. Like, in which ways would fish but with a POSIX syntax be worse than the current implementation of fish? In which situations is it an advantage to have a POSIX-incompatible syntax?

                                                                                                That I don’t know. It’s possible that fish would be better if it was POSIX compatible, I was just saying that even though it is not POSIX compatible, it’s still worth using. I think fish syntax is better for interactive use than bash/zsh, but that is just my opinion. For script use I use bash anyway. One exception is when writing custom completions for my custom commands and then I am oh so grateful I am not using bash/zsh and not using that syntax.

                                                                                            2. 1

                                                                                              Could not agree more.

                                                                                              If one day FISH shell will also accept POSIX syntax for the while and for loops then I can look into it.

                                                                                            3. 3

                                                                                              I have tons of scripts but I also use these for and while POSIX loops all the time … and putting them in scripts is pointless because everytime its for different purpose or for different files or commands.

                                                                                              Besides I have made a syntax error and I can not edit my comment now :)

                                                                                              If should be either like that:

                                                                                              % for LOG in *.log; do tail -5 ${LOG}; done
                                                                                              

                                                                                              … or like that:

                                                                                              % for LOG in $( ls *.log ); do tail -5 ${LOG}; done
                                                                                              

                                                                                              I really do use these POSIX for and while loops interactively all the time, not sure that this serves as a proof but:

                                                                                              % grep -c -e 'for ' ~/.zhistory
                                                                                              522
                                                                                              
                                                                                              % grep -c -e 'while ' ~/.zhistory
                                                                                              653
                                                                                              

                                                                                              Thanks for sharing the ZSH config. Mines is at about 230 lines which 1/4 is for all shells variables like PATH or less(1) settings and 3/4 for ZSH itself.

                                                                                            4. 10

                                                                                              Note that fish is focused on being an interactive shell, so, if you primary metric is how easy it is to write a for loop, you are looking at the tool of a wrong class.

                                                                                              I personally use fish to type single-line commands in with out-of-the-box autosuggestions. If a need a for loop, I launch Julia.

                                                                                              EDIT: sorry, I’ve misread your comment. The general point stand, but for a different reason: POSIX compat is a non-goal of fish.

                                                                                              1. 1

                                                                                                How would you do what vermaden did up there with Julia? Seems to me like a huge overkill, but then again if you’re sufficiently proficient with Julia, it might make sense.

                                                                                                1. 3
                                                                                                  for log in filter(it->endswith(it, ".log"), readdir())
                                                                                                         run(`tail -5 $log`)
                                                                                                  end
                                                                                                  

                                                                                                  The absence of globbing out of the box is indeed a pain.

                                                                                                  On the other hand, I don’t need to worry about handling spaces in param substitution.

                                                                                                  EDIT: to clarify, I din’t claim that Julia is better than zsh for scripting, it’s just the tool that I use personally. Although for me Julia indeed replaced both shell and Python scripts.

                                                                                                  1. 1

                                                                                                    This would also work in Julia, is pretty short and shows how you can use patterns to find files (there’s Glob.jl, too, but I miss the ** glob from zsh):

                                                                                                    [run(`tail -5 $log`) for log in readdir() if contains(log, r".log$")]
                                                                                                    

                                                                                                    You might not know that endswith, contains and many other predicates in Julia have curried forms, so you could have written:

                                                                                                    for log in filter(endswith(".log"), readdir())
                                                                                                        run(`tail -5 $log`)
                                                                                                    end
                                                                                                    
                                                                                                    1. 1

                                                                                                      Thanks, I didn’t know about that!

                                                                                                      Don’t you need \. in regex though?

                                                                                                      1. 1

                                                                                                        You’re welcome! And haha, yes, I should have escaped the dot :)

                                                                                                    2. 1

                                                                                                      IMHO that is a lot of pointless typing instead of just respecting the standards - like POSIX one.

                                                                                                      1. 4

                                                                                                        I agree that’s more typing! But pointlessness is in the fingers of typer, so to say.

                                                                                                        I personally don’t know bash — it’s too quirky for me to learn it naturally. Moreover, for me there’s little value in POSIX: I am developing desktop software, so I care about windows as well. For this reason, I try not to invest into nix-only tech.

                                                                                                        On the other hand, with Julia I get a well-designed programming language, which lets me to get the stuff done without knowing huge amount of trivia a la set -e or behavior of ${VAR} with spaces.

                                                                                                        There’s also an irrational personal disagreement with stuff that’s quirky/poorly designed. If I were in a situation where I really needed a low-keystroke shell scripting language, I am afraid I’d go for picking some un-POSIX lisp, or writing my own lang.

                                                                                                        1. 3

                                                                                                          To be honest, I find the snippet vermaden posted to already have lots of unessessairy typing. There’s no reason to use a loop if all you want is map commands to line. Xargs exists for this exact reason.

                                                                                                          But more to the point, what’s stopping you from calling Bourne shell whenever you need? Fish clearly states in its manual that it is not intended to be yet another scripting language, which in my opinion is an important and useful divide. I still write shellscripts all the time and have been a fish user for 10 years.

                                                                                                          1. 1

                                                                                                            what’s stopping you from calling Bourne shell whenever you need?

                                                                                                            Now you are maintaining TWO configurations for interactive shells.

                                                                                                            My shell is where I command my computer. If I need, or am encouraged, to leave my shell to command my computer, my shell has failed.

                                                                                                      2. 2

                                                                                                        Can’t speak for julia, but here it is in raku:

                                                                                                        dir.grep(/'.'log$/).map: *.lines.tail(5)
                                                                                                        

                                                                                                        Which is almost as concise as shell, and maintains more structure in its output.

                                                                                                      3. 1

                                                                                                        I write loops interactively in shell all the time. I wouldn’t consider a language suitable for interactive use as a shell if it lacked loops (or some other iteration mechanism).

                                                                                                      4. 9

                                                                                                        Is this flame bait? If you get over the syntax hurdle, there are many reasons why for loops with globs, especially interactively, are better written in fish:

                                                                                                        1. Try typing this in your terminal, with newlines:

                                                                                                          for LOG in *.log
                                                                                                              tail -5 $LOG
                                                                                                          end
                                                                                                          

                                                                                                          See? Who needs one-liners when you can have multiple in fish? This way, it stays easy to edit, read and navigate (2-dimensionally with the arrow keys) as you pile onto it.

                                                                                                        2. In case your *.log expansion doesn’t match any file – compare this with any POSIX shell!

                                                                                                          As a command argument…

                                                                                                          ls *.log
                                                                                                          

                                                                                                          …and in a for loop:

                                                                                                          for LOG in *.log
                                                                                                              echo found $LOG
                                                                                                          end
                                                                                                          

                                                                                                          As a command argument, fish prints an error, and doesn’t even run the command if the glob failed. In a for loop, the loop just iterates 0 times, with no error printed. In POSIX shelll, you can get either of these behaviours (by setting failglob or nullglob), but not both, which is a dilemma.

                                                                                                        3. Recursive globs are on by default (not hidden behind the globstar flag) – who needs find anymore?

                                                                                                          for LOG in **.log
                                                                                                              echo found $LOG
                                                                                                          end
                                                                                                          
                                                                                                        1. 4

                                                                                                          Its not a troll attempt.

                                                                                                          Its not my intention to force anyone to use ZSH or to discourage anyone from using FISH … besides I have made a syntax error and I can not edit my comment now :)

                                                                                                          If should be either like that:

                                                                                                          % for LOG in *.log; do tail -5 ${LOG}; done
                                                                                                          

                                                                                                          … or like that:

                                                                                                          % for LOG in $( ls *.log ); do tail -5 ${LOG}; done
                                                                                                          

                                                                                                          I really do use these POSIX for and while loops interactively all the time, not sure that this serves as a proof but:

                                                                                                          % grep -c -e 'for ' ~/.zhistory
                                                                                                          522
                                                                                                          
                                                                                                          % grep -c -e 'while ' ~/.zhistory
                                                                                                          653
                                                                                                          
                                                                                                          1. 3

                                                                                                            one-liners

                                                                                                            I don’t see how this is different from standard shell:

                                                                                                            for LOG in *.log; do
                                                                                                                    tail -5 $LOG
                                                                                                            done
                                                                                                            

                                                                                                            This is how I usually write loops in scripts.

                                                                                                            1. 2

                                                                                                              It isn’t different. The command line behaviour is.

                                                                                                              Can you type such a multi-liner ↑ at the command line, edit it all at once (not just one line at a time, with no turning back, as in Bash), and retrieve it from history in its full glory?

                                                                                                          2. 5

                                                                                                            I used zsh for a long time before switching to fish, and I basically found the interactive mode for fish to be a lot nicer—akin to zsh with oh-my-zsh, but even nicer, and faster. I absolutely switched for the interactive experience; most of my scripts are still written in bash for portability to my teammates.

                                                                                                            The scripting changes make for a language that is a lot more internally consistent, so I have found that for my ad-hoc loops and stuff I do less googling to get it to work than I do using bash and zsh. Learning another shell syntax as idiosyncratic as bash would be very frustrating. At least with fish, it’s a very straightforward language.

                                                                                                            If you are thinking about trying another shell, oil might be your jam, since it aims to be similar to POSIX syntax, but without as much ambiguity.

                                                                                                            1. 1

                                                                                                              For lists I use orgzly with webdav sync. I have nginx serving a dav directory on a remote server I manage. To edit on my laptop I mount that dir with davfs and edit the notes with emacs org-mode.

                                                                                                              For URLs, snippets of text, etc I want to transfer from my laptop clipboard to my phone clipboard I use: xsel -o | qrencode -t ANSIUTF8 and then just scan that code with an app on my phone.

                                                                                                              For other random stuff I just use signal note to self.

                                                                                                              1. 3

                                                                                                                Can anyone suggest a xscreensaver alternative that doesn’t pull a bunch of dependencies?

                                                                                                                resolving dependencies...
                                                                                                                looking for conflicting packages...
                                                                                                                
                                                                                                                Packages (21) gdk-pixbuf-xlib-2.40.2-1  glu-9.0.1-2  libglade-2.6.4-7  perl-clone-0.45-2  perl-encode-locale-1.05-7  perl-file-listing-6.14-1  perl-html-parser-3.75-1
                                                                                                                              perl-html-tagset-3.20-10  perl-http-cookies-6.10-1  perl-http-daemon-6.06-2  perl-http-date-6.05-3  perl-http-message-6.27-1  perl-http-negotiate-6.01-8
                                                                                                                              perl-io-html-1.004-1  perl-libwww-6.52-1  perl-lwp-mediatypes-6.02-8  perl-net-http-6.20-1  perl-try-tiny-0.30-5  perl-www-robotrules-6.02-8
                                                                                                                              xorg-appres-1.0.5-2  xscreensaver-5.44-3
                                                                                                                

                                                                                                                I mean, is this reasonable for everyone?

                                                                                                                1. 10

                                                                                                                  I use i3lock. Its direct dependencies look reasonable, although I don’t know what they recursively expand to.

                                                                                                                  With that said, I don’t know whether it is “secure” or not because my threat model doesn’t really care if it is or not. I only use it to prevent cats and children from messing around on the keyboard. And for that, it works well.

                                                                                                                  1. 4

                                                                                                                    Try slock, which has no dependencies except X11 itself.

                                                                                                                    1. 2

                                                                                                                      Build from source and disable the savers/hacks that require the dependencies you aren’t happy about.

                                                                                                                      1. 1

                                                                                                                        I don’t want any screensaver, just want my screen to lock reliably. I guess I’ll try that.

                                                                                                                          1. 2

                                                                                                                            It’s a great compromise when using X11, but the whole concept of screen savers on X11 is just so fragile. Actually suspending the session even if the screensaver should crash would be much cleaner (which is how every other platform, and also wayland handle it).

                                                                                                                            What I’m even more surprised about is that you said this compromise is possible with 25yo tech - why did no distro actually do any of this before?

                                                                                                                          2. 0

                                                                                                                            What about physlock?

                                                                                                                            1. 5

                                                                                                                              No idea about physlock or any other alternative, I am asking because this sentence kind of make me think:

                                                                                                                              If you are not running XScreenSaver on Linux, then it is safe to assume that your screen does not lock.

                                                                                                                              Though this person’s attitude kind of bothers me, if you run ./configure on xscreensaver you read stuff like:

                                                                                                                              configure: error: Your system doesn't have "bc", which has been a standard
                                                                                                                                                part of Unix since the 1970s.  Come back when your vendor
                                                                                                                                                has grown a clue.
                                                                                                                              

                                                                                                                              hm. Ok? I guess I don’t have to like it, I just don’t see the need for that.

                                                                                                                              1. 19

                                                                                                                                jwz ragequit the software industry some 20 years ago and has been trolling the industry ever since. Just some context. He’s pretty funny but can be a bit of an ass at times 🤷

                                                                                                                                1. 18

                                                                                                                                  He’s also pretty reliably 100% correct about software. This may or may not correlate with the ragequitting.

                                                                                                                                  1. 3

                                                                                                                                    While ragequitting may not correlate with being correct about software, being correct about software is absolutely no excuse for being an ass.

                                                                                                                                    1. 7

                                                                                                                                      It’s not his job to put on a customer support demeanor while he says what he wants.

                                                                                                                                      He gets to do as he likes. There are worse crimes than being an ass, such as being an ass to undeserving people perhaps. The configure script above is being an ass at the right people, even if it does editorialize (again, not a problem or crime, and really software could use attitudes!)

                                                                                                                                      1. 4

                                                                                                                                        Lots of people in our industry seem to think that being a good developer you can behave like a 5 years old. That’s sad.

                                                                                                                                        1. 4

                                                                                                                                          Especially in creative fields, you may choose to portray yourself any way you choose. You don’t owe anybody a pleasant attitude, unless of course you want to be pleasant to someone or everybody.

                                                                                                                                          For some people, being pleasant takes a lot of work. I’m not paying those people, let alone to be pleasant, so why do I demand a specific attitude?

                                                                                                                                          1. 2

                                                                                                                                            Being pleasant may take work, but being an asshole requires some effort too. Unless you are one to begin with and then it comes naturally of course. :D

                                                                                                                                        2. 3

                                                                                                                                          How is the bc comment being an ass at the right people? Plenty of distros don’t ship with bc by default, you can just install it. What is a “standard part of unix” anyway?

                                                                                                                                          1. 9

                                                                                                                                            bc is part of POSIX. Those distros are being POSIX-incompatible.

                                                                                                                                            1. 8

                                                                                                                                              As a developer for Unix(-like) systems, you should be able to rely on POSIX tools (sh, awk, bc etc.) being installed.

                                                                                                                                          2. 2

                                                                                                                                            It sounds like you view software as an occupation. It is not. It’s a product.

                                                                                                                                      2. 2

                                                                                                                                        Physlock runs as root and locks the screen at the console level. AFAIK the problems affecting x-server screenlockers aren’t relevant to physlock.

                                                                                                                              1. 21

                                                                                                                                Agree that CPU and disk (and maybe ram) haven’t improved enough to warrant a new laptop, but a 3200x1800 screen really is an amazing upgrade I don’t want to downgrade from.

                                                                                                                                1. 6

                                                                                                                                  I love my new 4k screen for text stuff.. Sadly on linux it seems to be pain in the ass to scale this appropriately and correctly. Even more with different resolutions between screens. So far windows does this quite well.

                                                                                                                                  1. 4

                                                                                                                                    Wayland can handle it ok, but Xorg doesn’t (and never will) have support for per-display DPI scaling.

                                                                                                                                    1. 3

                                                                                                                                      I don’t see myself being able to afford a 4k screen for a few years but if you just scale everything up, what’s the advantage?

                                                                                                                                      1. 4

                                                                                                                                        The text looks much crisper, so you can use smaller font sizes without straining your eyes if you want more screen real estate. Or you can just enjoy the increased readability.

                                                                                                                                        Note: YMMV. Some people love it and report significantly reduced eye strain and increased legibility, some people don’t really notice a difference.

                                                                                                                                        1. 2

                                                                                                                                          I use a much nicer font on my terminals now, which I find clearer to read. And I stare at terminals, dunno, 50% of my days.

                                                                                                                                          This is a Tuxedo laptop (I think it’s the same whitelabel as system86 sells) which don’t feel expensive to me.

                                                                                                                                          1. 1

                                                                                                                                            Which tuxedo laptop has 4k?

                                                                                                                                            1. 1

                                                                                                                                              I can’t find them anymore either. They used to have an option for the high res display. I go this one a bit over a year ago:

                                                                                                                                              1 x TUXEDO InfinityBook Pro 13 v4  1.099,00 EUR
                                                                                                                                               - QHD+ IPS matt | silber/silber | Intel Core
                                                                                                                                              i7-8565U
                                                                                                                                              ...
                                                                                                                                              Summe: 1.099,00 EUR
                                                                                                                                              
                                                                                                                                              1. 1

                                                                                                                                                how was your driver experience ? I’ve had to re-send mine twice due to problems with the CPU/GPU hybrid stack. Though mine is now 3? years old.

                                                                                                                                                1. 2

                                                                                                                                                  Drivers are fine, it all simply works. Battery could last longer.

                                                                                                                                              2. 1

                                                                                                                                                Yeah ok. I just ordered a Pulse 15. Also wanted a 4k display but didn’t see it anywhere. thanks

                                                                                                                                              3. 1

                                                                                                                                                hah I’m also using a tuxedo one, but the font is far too tiny on that screen to work with everyday

                                                                                                                                              4. 1

                                                                                                                                                well you have a much sharper font and can go nearer if you want (like with books). I get eye strain over time from how pixelated text can appear at evening to me. Also you can watch higher res videos and all in all it looks really crisp. See also you smartphone, mine is already using a 2k screen, and you can see how clean text etc is.

                                                                                                                                                You may want to just get an 2k screen (and maybe 144 FPS?) as that may already be enough for you. I just took the gamble and wanted to test it. Note that I probably got a modell with an inferior background lighting, so it’s not the same around the edges when I’m less than 50CM away. I also took the IPS panel for superior viewing angle as I’m using it for movie watching also. YMMV

                                                                                                                                                My RTX 2070 GPU can’t play games like destiny on 4k 60 FPS without 100% GPU usage and FPS drops the moment I’m more than walking around. So I’ll definitely have to buy a new one if I want to use that.

                                                                                                                                              5. 1

                                                                                                                                                I also just got a new 4k monitor, and that’s bothering me also. It’s only a matter of time before I fix the glitch with a second 4k monitor… Maybe after Christmas

                                                                                                                                                1. 2

                                                                                                                                                  I ended up doing that. It sucks, but Linux is just plain bad at HiDPI in a way Windows/macOS is not. I found a mixed DPI environment to be essentially impossible.

                                                                                                                                              6. 2

                                                                                                                                                This is where I’m at too. I’m not sure I could go back to a 1024x768 screen or even a 1440x900 screen even. I have a 1900x1200 xps 13 that I really enjoy which is hooked up to a 3440x1440p ultrawide.

                                                                                                                                                Might not need all the CPU power, but the screens are so so nice!

                                                                                                                                                1. 2

                                                                                                                                                  And the speakers.

                                                                                                                                                  I love my x230, but I just bought an M1 Macbook Air, and god damn, are those speakers loud and crisp!

                                                                                                                                                  1. 1

                                                                                                                                                    For me it’s also screen size and brightness that are important. I just can’t read the text on a small, dim screen.

                                                                                                                                                    1. 1

                                                                                                                                                      Oh I’d love to have a 4k laptop. I’m currently using a 12” Xiaomi laptop from 2017 with 4GB of RAM and a 2k display. After adding a Samsung 960 evo NVMe and increasing Linux swappiness this is more than enough for my needs - but a 4k display would just be terrific!

                                                                                                                                                    1. 2

                                                                                                                                                      Nice, I’ll try it, I didn’t know about unbound+rpz. How is the energized list working for you?

                                                                                                                                                      1. 2

                                                                                                                                                        Really well.

                                                                                                                                                        total.num.queries=115665
                                                                                                                                                        num.rpz.action.nxdomain=15100
                                                                                                                                                        

                                                                                                                                                        add rpz-log: yes to each rpz: section to be able to keep count of how often the rpz action occur.

                                                                                                                                                        1. 2

                                                                                                                                                          Sorry, n00b to RPZ: how often does unbound refresh the list from github?

                                                                                                                                                          1. 2

                                                                                                                                                            unbound treats the RPZ list or feed as if it were a real domain zone. So it will fetch it based on the TTL specified. Which is every 2 hours, based off looking at the top of the file.

                                                                                                                                                      1. 2

                                                                                                                                                        Most of the non standard tools I use were already mentioned, but I recently discovered progress it’s useful for the times I forget to use pv or the files are bigger than I thought.

                                                                                                                                                        1. 3

                                                                                                                                                          It’s not perfect, but it is the best alternative I used so far.

                                                                                                                                                          We use a GitOps model, our YAML (which is actually dhall) configuration is stored in a git repository, any changes in that repository trigger a pipeline that deploys the new configuration to our clusters (dev, staging, prod). It’s a bit more complicated than this, because there are helm charts involved and there is the CI/CD pipelines for each service running, but that is a summary of what happens.

                                                                                                                                                          This is not perfect at all, it has some problems, but sure beats running ansible on hundreds of EC2 machines and then managing monitoring, load balancing, and all that separately.

                                                                                                                                                          So now I am mostly curious what other people use instead of kubernetes, because as i said, it’s not perfect and I am always ready to try something better.

                                                                                                                                                          1. 3

                                                                                                                                                            I initially thought it’ll let you download a ZIP with MP3/FLAC/OGG/OPUS/ as a backup, Would be nice for someone who want to move out from Spotify, as you can’t actually play the JSON file or even import it somewhere else.

                                                                                                                                                            (disclaimer: I don’t really care about these “piracy issues” which people likely want to bring on there)

                                                                                                                                                            1. 6

                                                                                                                                                              I will point out that it’s near trivial to bypass the Spotify DRM with Panda. There’s a post i’ll try to dig up.

                                                                                                                                                              https://moyix.blogspot.com/2014/07/breaking-spotify-drm-with-panda.html

                                                                                                                                                              1. 4

                                                                                                                                                                Yeah, now that I think of it I should have called it export rather than backup, or something like that…

                                                                                                                                                                1. 2

                                                                                                                                                                  You used to be able to do that with C SDK[1].

                                                                                                                                                                  [1] https://github.com/mopidy/libspotify-archive (archive because the files aren’t hosted by Spotify anymore)

                                                                                                                                                                  1. 2

                                                                                                                                                                    I used to use something like that for a Spotify competitor in the very early days of streaming music. It was fantastic.

                                                                                                                                                                  1. 13

                                                                                                                                                                    This is great. I use Spotify constantly have spent years putting together playlists. I realized the other day that I would be incredibly sad if I ever lost my playlists – but I haven’t had time to put something like this together. My backup was about 5mb from your service. Thanks!

                                                                                                                                                                    1. 4

                                                                                                                                                                      Glad to hear it’s useful to someone else, that’s how I had the idea too.

                                                                                                                                                                    1. 5

                                                                                                                                                                      Still very much learning rust, that’s the main reason I wrote this, so any feedback on code besides the app would also be welcome!

                                                                                                                                                                      1. 16

                                                                                                                                                                        This has too little explanation for me and I do not understand what the author is getting at. It could use more examples, more detailed photos and / or a more elaborate explanation.

                                                                                                                                                                        For example, which connector is he talking about? The one on the product shown, or the one meant to be inserted into the product?

                                                                                                                                                                        1. 4

                                                                                                                                                                          I agree, I don’t understand this post at all. Should have more images pointing to the problem. Don’t see how inserting some usb device there would be a problem.

                                                                                                                                                                          1. 9

                                                                                                                                                                            The USB (Type A, female) ports fitted in this device have a flange on them intended to be pressed up against the internal surface of a chassis.

                                                                                                                                                                            He specifies female, so he’s referring to the ports on the product shown.

                                                                                                                                                                            The post makes no sense if you don’t know what a flange is, so:

                                                                                                                                                                            a projecting flat rim, collar, or rib on an object, serving to strengthen or attach

                                                                                                                                                                            If you zoom in on the image, you can more clearly see the flanges on each port, the little tabs of metal bent outward. Check out this similarly mis-fitted USB port, which makes the flanges a bit easier to see. Or this even more outrageously mis-fitted USB port, with the flanges entirely outside the casing. You can see what the flanges look like in this unmounted USB port.

                                                                                                                                                                            Those little tabs should be inside the casing, to brace the port. Compare with this better fitted USB port, where you can clearly see the flanges bracing against the inside of the casing. And these properly fitted USB ports on a device similar to the example in the original post.

                                                                                                                                                                            1. 1

                                                                                                                                                                              thanks for that, I see now. Well it doesn’t look good that for sure, but don’t think it really compromises the usability.

                                                                                                                                                                              1. 1

                                                                                                                                                                                Seems like unplugging a cable might cause more wear on the port when it’s not properly braced.

                                                                                                                                                                              2. 1

                                                                                                                                                                                Right, thanks for the explanation. As someone more into software than hardware (and not at all into electronics) I think I get it now!

                                                                                                                                                                            2. 2

                                                                                                                                                                              The port is what the connector or plug jacks in to. So in this case, he’s talking about the ports on the product shown. You can see the edge of a metal shell; really, you shouldn’t see that.

                                                                                                                                                                            1. 14

                                                                                                                                                                              Advice: avoid reading the comments.

                                                                                                                                                                              1. 5

                                                                                                                                                                                What a ride. These people are fanatics.

                                                                                                                                                                                1. 3

                                                                                                                                                                                  There is one I sort of agree with, which is that the downside is fragmentation with every bank implementing their own thing and then trying to force use of it. So instead of today where there’s a small number of widely-deployed options for mobile payment and most people have access to a way to do one of them, you’ll have to either go back to using a physical card, or else hunt around for the one place that works with the FirstBankOfEastPodunkPay™ app because that bank refuses to authorize any other mobile payment system.

                                                                                                                                                                                  1. 15

                                                                                                                                                                                    In Germany, that’s not an issue, there’s already a payment system they’re going to use.

                                                                                                                                                                                    Basically, the banks cooperatively developed a card and payment system (over 15 years ago, actually), which is now girocard/EC, which ends up with only 0.125% total end-to-end fees¹, chip+PIN since 2004 and very fast transactions. Obviously, this is much cheaper for the banks and merchants than VISA or MasterCard, and was the reason why for many years merchants such as ALDI only accepted this system.

                                                                                                                                                                                    Girocard/EC also has an NFC standard, girogo, also with significantly lower fees than PayPass or PayWave, and is supported with basically all terminals in Germany.

                                                                                                                                                                                    Girocard/EC is extremely popular, 3-4 times more popular than VISA/MasterCard credit/debit cards in Germany, and basically everyone has them.

                                                                                                                                                                                    So it’s quite likely we’ll just end up with German banks simply using the payment network they already own ;)


                                                                                                                                                                                    1. comparatively, VISA/MasterCard used to be around 2-3%, now forced by the EU to lower those to 0.2%, cash payments end up around 0.2% at the scale of merchants due to processing, transport, etc. This actually led to some places, such as official agencies in some cities, only taking girocard/EC payment, not any other cards nor cash.
                                                                                                                                                                                    1. 8

                                                                                                                                                                                      So it’s quite likely we’ll just end up with German banks simply using the payment network they already own ;)

                                                                                                                                                                                      Sorry, but banking/payment in Germany sucks. If you are at bank A, you have to pay a fee if you use an ATM of bank B. This often led to the bizarre situation (my wife is German and we lived in Germany for 5 years) where Germans have to go to another ATM to avoid transaction fees, while I can get cash anywhere with my Dutch card without extra fees. In the Netherlands there is also one system, but you never pay fees, regardless of which bank’s ATM you use.

                                                                                                                                                                                      Unrelated, but don’t get me started on card payments in Germany. All the small shops, like bakeries expect you to pay cash. In supermarkets, you can pay with a card, but very often they don’t use PINs. But you have to hand over your card and literally sign a paper sheet, and then the cashier compares your signature to that on your card. Except for the internet banks (such as ING), the internet banking sites are absolutely horrible. At some point we were with Sparkasse and the password for internet banking was literally a 4-digit PIN. Transferring money from one account to another can take days. For every small thing (like ‘unlocking’ payment in more countries) you had to go to a bank office.

                                                                                                                                                                                      Meanwhile we are back in The Netherlands. I never carry cash and I don’t even need a wallet, because I can pay contactless everywhere with my phone, watch, or card. Transfers are (nearly) immediate. We split the bills and pay them with ‘Tikkie’ over WhatsApp/iMessage.

                                                                                                                                                                                      1. 4

                                                                                                                                                                                        I’ve been getting back into using cash lately. I can’t trust the data collecters not to abuse my payment history, and if switching to cash slows its decline a little bit, that’s great.

                                                                                                                                                                                        1. 4

                                                                                                                                                                                          If you are at bank A, you have to pay a fee if you use an ATM of bank B.

                                                                                                                                                                                          They pretty much bundled up into 3 networks now, so you have a 1:3 chance to run into the right shop. Or you share your money transactions with the whole world by using a credit card that is now often “free” with German accounts as well, getting the same trade-off you have with foreign credit cards (free ATMs, no privacy due to the card issuer).

                                                                                                                                                                                          Credit cards weren’t popular in Germany for a long time due to their excessive fees, so merchants didn’t support them. EC (the local system) was better, but cash is still the only free option. EU regulations forced credit card issuers to drop their fees to more attractive levels and suddenly they’re getting supported by everybody. who would have thought?

                                                                                                                                                                                          In supermarkets, you can pay with a card, but very often they don’t use PINs.

                                                                                                                                                                                          The background to that is that signatures are used for offline transactions which work with less effort in the backend. Getting less common these days because supermarkets carry more risk on them compared to online transactions (that use PINs), so it’s really just a fallback when the terminal can’t connect to the servers. Contactless options are increasingly accepted without any authentication at all below a certain value (20-50€, depending on the bank).

                                                                                                                                                                                          Transferring money from one account to another can take days.

                                                                                                                                                                                          Transfers now have to clear next bank day (Mo-Fr) at the latest, but usually happen faster. I last encountered transfers that take days in 2005 or so.

                                                                                                                                                                                          I can pay contactless everywhere with my phone, watch, or card

                                                                                                                                                                                          Given that some of the experiences you report sound rather outdated to me, I wonder if you’re comparing apples to apples here. There were no cards, watches or phones that could have paid contactless in 2005.

                                                                                                                                                                                          1. 0

                                                                                                                                                                                            I don’t think they are outdated. I lived in Germany until August last year and this is based on my experiences in Germany (Baden Württemberg) from 2013-2018.

                                                                                                                                                                                            1. 2

                                                                                                                                                                                              Maybe you were just with a shitty bank? I’m sure the netherlands also have shitty banks, but I literally haven’t had any of your experiences ever since using cards or transfers for payment, and that was since 2014.

                                                                                                                                                                                              1. 2

                                                                                                                                                                                                I live in Berlin and this is also my experience. It is getting marginally better, some places are starting to accept cards, but you cannot rely on your EC card or Visa/Mastercard to get around.

                                                                                                                                                                                                Online banking is still a joke, but has been getting better, probably due to some pressure from competitors like Number26.

                                                                                                                                                                                                I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                                                                                                                                1. 2

                                                                                                                                                                                                  I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                                                                                                                                  Why are you assuming they are using these services?

                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                    I am not assuming, I am known from people I talk to. I didn’t mean to answer the person in this thread that mentioned that.

                                                                                                                                                                                                  2. 2

                                                                                                                                                                                                    I also don’t understand how so many people here don’t want to use cards because of privacy reasons, but they are happy to give their private data to Facebook and it’s companies (whatsapp, instagram, etc).

                                                                                                                                                                                                    For what it’s worth (since I brought up privacy upthread), I’m not using Facebook’s services, and very limited Google services despite working there (and I soothe my privacy concerns with that I can see how the sausage is made)

                                                                                                                                                                                              2. 3

                                                                                                                                                                                                As a German living in the Netherlands now, I agree with all of the above.

                                                                                                                                                                                                1. 2

                                                                                                                                                                                                  But you have to hand over your card and literally sign a paper sheet, and then the cashier compares your signature to that on your card.

                                                                                                                                                                                                  That’s actually technically not allowed, the merchants still do it because they’re cheap, but it means 100% of the risk is on the merchant.

                                                                                                                                                                                                  For every small thing (like ‘unlocking’ payment in more countries) you had to go to a bank office.

                                                                                                                                                                                                  Never had that, was at a bank office 3 times in my life, once when the account was opened, once when it was turned from a child to an adult account, and once when I moved across states.

                                                                                                                                                                                                  Transferring money from one account to another can take days

                                                                                                                                                                                                  Literally wrong, as per SEPA rules 24 hours has been the max for years, and thanks to SEPA-ICT almost all banks offer up to 15’000€ in under 15 seconds, and I’m using this quite frequently.

                                                                                                                                                                                                  I never carry cash and I don’t even need a wallet, because I can pay contactless everywhere with my phone, watch, or card. Transfers are (nearly) immediate

                                                                                                                                                                                                  And you pay 2% extra for everything, as that’s the fees mastercard/VISA collect, which ends up for an average household being a 40€/month fee. If this wasn’t a hidden fee, but actually visible to you, pretty much no one would use it anymore.

                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                    No, I am not paying 2% extra. I am literally paying what the product/bill costs, no extra cost. Apple Pay is not associated to our credit card, but directly to the bank account (debit card). In fact, I can even switch on the fly from which of the (possible) 20 IBANs the debit card/Apple Pay should subtract from.

                                                                                                                                                                                                    I don’t care that I am indirectly paying for it, because everyone is. There is no difference in cost for me in using or not using Apple Pay.

                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                      And that’s exactly the tragedy of the commons: everyone only looking out for their own benefit, and as result, everyone being worse off.

                                                                                                                                                                                                      It makes sense for you, personally, but for us, as society, it’s absolutely the wrong solution. And it’s the reason why this can’t be fixed by the market, but has to be fixed through laws, e.g. by banning credit card fees, or creating an EU-funded card network directly.

                                                                                                                                                                                                      Alternatively, we could have a law forcing people to pay the fee associated with their payment method directly – you’d also suddenly start using cheaper card systems or cash again if you’d save 2% on everything.

                                                                                                                                                                                                    2. 1

                                                                                                                                                                                                      That’s actually technically not allowed, the merchants still do it because they’re cheap, but it means 100% of the risk is on the merchant.

                                                                                                                                                                                                      I don’t know if it’s not allowed but happens to me at least every week.

                                                                                                                                                                                                      Never had that, was at a bank office 3 times in my life, once when the account was opened, once when it was turned from a child to an adult account, and once when I moved across states.

                                                                                                                                                                                                      I currently have my account blocked because I pressed the wrong button on the UI. Have to go to the bank now.

                                                                                                                                                                                                      Literally wrong, as per SEPA rules 24 hours has been the max for years, and thanks to SEPA-ICT almost all banks offer up to 15’000€ in under 15 seconds, and I’m using this quite frequently.

                                                                                                                                                                                                      I don’t think it’s 24 hours, it’s a business day and only counts before 15:00 or something like that. But this is true, if you transfer before 15:00 it will be on the other account the next day.

                                                                                                                                                                                                      And you pay 2% extra for everything, as that’s the fees mastercard/VISA collect, which ends up for an average household being a 40€/month fee. If this wasn’t a hidden fee, but actually visible to you, pretty much no one would use it anymore.

                                                                                                                                                                                                      I don’t think this is how prices work. If they didn’t have that 2% fee do you think merchants would just lower their prices? Or they would use it for profit or some other investment? I think it would just mean the money would go somewhere else but it’s not certain it would go to the customer.

                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                        If they didn’t have that 2% fee do you think merchants would just lower their prices?

                                                                                                                                                                                                        Look at the price pressure on the German market, and you’ll realize, yes they would.

                                                                                                                                                                                                        Profit margins in grocery in most countries are in the double digits, some German grocery store chains have profit margins in the sub-single-digit range. The market is heavily fought over, and if a merchant could reduce their price even a half percent in any possible way, they would.