1. 2

    packages are images, not archives

    This heading made me realize that’s what I use Docker for…

    1. 2

      I believe React also owes at least some of its success to the much more sophisticated tooling infrastructure that JavaScript developers have access to in 2019. When Ember was created, only 7 years ago, there was a lot less you could do. Now that we have Webpack, Babel, and PostCSS, it’s a lot easier to distribute libraries such as React and Vue, and combine those with other libraries that can all compete for dominance, rather than having to choose from several frameworks, all defining their own tooling and ecosystem. These frameworks have even designed their own syntax on top of JavaScript, something Ember wasn’t able to do with its purpose-built CLI.

      1. 15

        Apart from buggy syntax highlighting, broken scrolling and others

        It is explicitly advertised as “Pre-alpha - not yet usable!”, so picking on bugs doesn’t seem especially fair to me.

        Want to contribute to Onivim? Don’t. They make a profit out of your contributions.

        Vim was used to write Google, and they make billions and billions off that. Is that not worse than spending a few bucks for someone’s time?

        I don’t really have any opinion about this OniVim thing. Perhaps it’s great, perhaps it’s not. But it’s clearly people spending time writing code. What’s wrong with paying them?

        We really need to get away from this “zomg making profit from code is bad” attitude. The “please please please donate”-model doesn’t work very well, and it’s time for some new options. The “time-delayed license” doesn’t strike me as a good option for various reasons, but the article doesn’t state any of them. It just goes “profit bad!” Not very insightful.

        If you want to write really good software you need to spend time. Quite a lot of it. Right now writing free software is often like a job, except that you don’t get paid.

        Imagine if the supermarket worked this way: “this bread is €2, but you can also take it for free, if you want”. That would be an unthinkable business model: people still need to actually make the bread, and they’re not going to do it in the evening after their day job. Software can be distributed for free – so it’s not exactly like bread – but people still do actually need to make the software.

        1. 3

          I think the argument might be made that Vim was created as a hobby project and then transformed into a charitable one: the popularity of Vim is used as a vehicle to raise awareness and increase donations for a charity. In many ways, then, Vim is a charity project before it is an open source project.

          With that being said, piggygbacking of Vim is “worse” than piggybacking off of other software. Hobbyist software exists to be used, raise the profile of the author(s), etc. The “mission” of that software is to be used. The “mission” of Vim is to raise money for needy children in Uganda. There’s nothing wrong with wanting to be paid for your software if that’s what you want, but that’s not what Vim’s authors wanted. If the authors of Onivim were to, say, donate 10% or something of their proceeds to those children, I would be 100% on board with this…but it at least appears as though they are taking a project designed to help charity and making a profit from it.

          (Note that I’m playing Devil’s Advocate here. I’m not particularly invested in either side of the debate.)

          1. 3

            Vim was used to write Google, and they make billions and billions off that. Is that not worse than spending a few bucks for someone’s time?

            I don’t understand this argument.

            1. 3

              I don’t think Vim is created for the Uganda charity, it just so happens that Bram does and cares about both. But you’ll have to ask Bram to be sure.

              I’m also not so sure if Omivim would really take out a significant chunk of the donations. It’s not that they get that many donations anyway (I did a detailed summary a while ago)

              Either way, the linked post doesn’t make any of these arguments; it merely asserts that profit==bad.

              1. 2

                Either way, the linked post doesn’t make any of these arguments; it merely asserts that profit==bad.

                Profit is bad. The only way people get rich is off the unpaid wages of the workers.

                1. 2

                  Whever my wife asks what I want to do today I always say “help realize class consciousness and establish a dictatorship of the proletariat.”

                  We’re still married after 11 years so I’m assuming she either agrees with me or has given up.

              2. 1

                In many ways, then, Vim is a charity project before it is an open source project.

                Before I read this, I had never seen Vim as “a project designed to help charity” and I hadn’t even heard of the Uganda thing. And I’ve used Vim for … many years. (So, arguably, the existence of Onivim brings more attention to this charity.)

                There’s nothing wrong with wanting to be paid for your software if that’s what you want, but that’s not what Vim’s authors wanted.

                Is this actually in Vim’s license? To me, it just seems as though Vim’s authors don’t want to be paid themselves for their work; there’s no indication that they think this should apply to everyone else.

              3. 3

                I think you misunderstand me. By not supporting Onivim, I mean, not making contributions in the form of issues or pull requests. I never mentioned anything about the profit they make from distributing Onivim because you can make your own free (as in price) builds.

                What you are suggesting is, “Open source software doesn’t make money, go proprietary instead!”. This is simply not the way to go, there is no sense of community here. Devs should try to sell the service and not the product. This is a tried and tested model, followed by the likes of RedHat and IBM. Please do look at business models of open source projects, they exist.

                I also want readers to realize that, Onivim was born out of free (as in freedom) and open source projects like neovim (oni1 was a gui for neovim) and vim.

                A couple of other popular misconceptions in your post:

                1. There is nothing stopping devs from earning from free (as in freedom) software. Donations aren’t the only source of income.
                2. Their proprietary license prevents other devs from contributing, and goes against the spirit of open source. If my pull request doesn’t get merged for some reason, there is no way for me to share my version with others!
                3. The bread analogy does not work. Software is different from bread, you can make copies of software. So the supermarket would say, “here are the ingredients (source code), make it yourself, or purchase one for $2, feel free to add new ingredients and share it with others!”

                I didn’t quite understand this:

                Vim was used to write Google, and they make billions and billions off that.

                1. 6

                  Devs should try to sell the service and not the product. This is a tried and tested model,

                  Let’s say I write a super-secure PNG decoder library. It is faster than libpng, is a drop-in replacement for libpng, and has zero security flaws. How do I sell that as a service? There is a real funding problem for software infrastructure that cannot easily be made into a service.

                  As someone interested in bootstrapping (e.g. making a product and selling it on the side), I’ve gradually realized that programmers in general are an awful target market. They’re averse to change, don’t understand the value of their money WRT time, don’t always have purchasing power, and heavily favor low-quality/free solutions (e.g. OSS).

                  FWIW I’d pay for a copy of Vim that I didn’t have to screw around with for hours in order for it to be pleasant. This is coming from someone who has used Vim for a long time. With each passing year I detest the “infinite configurability as long as your time is free!” idea, because my time is never free, and I’d rather be actually making things instead of configuring software to help me write software.

                  1. 1

                    heavily favor low-quality/free solutions (e.g. OSS).

                    If you think that an FOSS project and a closed source program are comparable goods in any meaningful way then you are failing to understand the products in question. Perhaps before you blame your consumers, you should evaluate what their incentives are, and what the product provides differently other than “free as in money”. You can’t meaningfully break into any market with the attitude of “The consumers are wrong”, instead you need to actually evaluate why they hold the opinions they do and what shapes their preferences.

                    1. 1

                      That’s why I’m not actually a bootstrapper.

                      But I do see these threads and there’s a crab like mentality where people get all weird at the idea that they’d have to pay for things, esp around dev tools.

                      1. 1

                        I think the fear of selling the product isn’t rooted in having to pay for something, but rather that the product and the code that gets run on your machine becomes a trade secret. The other aspect is that when code is locked down, if the business owner goes away or sells the company, I cannot rely on that tool anymore. If the tool were instead open , theoretically I could get many many more years out of it. Emacs is 43 years old and I would not be surprised if 43 years later it will still have a bustling community.

                        1. 1

                          That’s fair. How do I sell dev tools that aren’t cloud based, then?

                          1. 2

                            Service does not mean “cloud”. Service can be support. Service can be a tailored solution. There are a lot of ways you can go. Red Hat for example is not strictly speaking cloud based.

                            1. 1

                              There’s a few successful (that is, making money) products in this category which have a ‘source available’ pro edition (react on rails, sidekiq).

                      2. 1

                        You lost it at drop-in replacement. It needs to require or at least warrant some service, and be good enough to be worth it.

                        1. 3

                          I’m sure imgur.com might appreciate it, as their business relies on accepting potentially malicious input.

                          Why wouldn’t we pay money for good software components? What’s the difference between charging money for access to an API and integrating a paid-for component into a larger system?

                          1. 1

                            Ok, sure, if your lib is closed-source, works well and is api-compatible. Then you sell licenses, not a service.

                            And I’m ok with paying money for good things :)

                          2. 1

                            Offer a support contract. I think many businesses would go for a PNG decoder with paid support over an otherwise-identical PNG decoder with a license fee.

                        2. 1

                          Devs should try to sell the service and not the product. This is a tried and tested model, followed by the likes of RedHat and IBM. Please do look at business models of open source projects, they exist.

                          Super profitable model for big corporations.

                        3. 1

                          Heh. Using bread for your example is quite pertinent.

                          1. 1

                            I can’t see how it’s unfair. There’s a difference between releasing a buggy product that everyone can contribute to and benefit from, and selling a buggy proprietary product. If it’s not usable, why are you even selling it to begin with?

                            1. 1

                              Well, using an open source tool in the way it’s supposed to be used is something else than extending it and selling it. That being said, if Bram wanted to avoid this, he should have used the GNU license or something similar (which basically states that you’re free to use, modify, and distribute if you publish your code under the same license).

                            1. 1

                              interesting. is it possible to access the tmux server remotely by default? or do you need to go over some kind of transport medium like SSH?

                              1. 2

                                The server is on a local unix domain socket. You have to SSH in as the same user to get access to this user’s session.

                                1. 1

                                  I think one attack vector is this: Suppose malicious code is installed, but can only execute as the non-root user. With this, the malicious code can send arbitrary shell commands to tmux panes, one of which could be running an escalated shell. I believe tmux allows running commands via shell. Meaning to say, they don’t need to be run via the interactive “:” prompt within tmux’s UI.

                                  If your user can already execute priveleged shell commands without password (via sudo), then you’re pretty wide open as it is, but this tmux issue shows how even password-requiring escalation (such as with su) can be enjoyed without password.

                                  1. 1

                                    Afaik you have to use ssh. Then you could do tmux attach

                                    There is a service called tmate which exposes a (new) tmux session remotely via ssh. Presumably it is also vulnerable to this.

                                  1. 4

                                    My zoom.us app doesn’t seem to be affected by this exploit. I can only surmise that since I downloaded it in 2017 and haven’t opened it since then, this whole thing must have been added sometime in the last year.

                                    https://i.imgur.com/UUvnZYv.png

                                    I’m also able to put the zoom app in the trash without it reinstalling. I’ve confirmed through the command line that:

                                    • There are no localhost daemons running on port 19421 (lsof -i :19421)
                                    • No ~/.zoomus exists on my machine (ls ~/.zoomus)
                                    • There is no process named ZoomOpener running in the background (ps -ef | grep Zoom)

                                    According to my evidence, Zoom wasn’t always like this. I wonder what persuaded them to make this decision in the last year…

                                    1. 4

                                      It’s a somewhat recent update, and allegedly was to “fix” the fact that Safari changed to require explicit user permission. Zoom didn’t want the extra click on join, so they did this to try to get around it.

                                      1. 3

                                        Can you imagine how many hours were wasted to save a click on not even the most common browser?? Seems like their priorities are in order…

                                    1. 1

                                      Just goes to show you…any article that needs emoji to get its point across isn’t worth reading.

                                      1. 2

                                        I do this and even wrote a tool to make it easier:

                                        https://github.com/tubbo/homer

                                        The trick here is the .gitignore which will ignore everything by default, so you have to git add -f any file you wish to keep around.

                                        #
                                        # This gitignore is meant for the home directory repo itself, and
                                        # ignores any files that aren't explicitly added to Git.
                                        #
                                        
                                        /*
                                        !/bin/
                                        !/etc/
                                        !/README.md
                                        !/.gitignore.global
                                        !/.zshrc
                                        
                                        1. 1

                                          Pretty cool! This is pretty much what I did when I had to make a nested form in Stimulus, but I didn’t use a <template> tag. Does that get hidden by default in the browser?

                                          1. 1

                                            The browser does hide the template tag. Very handy when working with front end stuff!

                                          1. 7

                                            The downside of this is that it’s non-standard behaviour, and may be quite surprising for new people. You may also run in to the trap of thinking you’re using your custom Hash implementation, but actually aren’t.

                                            It seems to me that just using the standard and explicit .fetch() is clearer for everyone (including yourself). It’s unfortunate that it’s not the default, but it is what it is, and attempting to change the language semantics to meet your needs usually isn’t worth it.

                                            1. 2

                                              I think the second thing you raise would prove to be a huge source of problems for me: if you make this your default Hash, you will start expecting every Hash to behave like this and Hashes returned by various libraries won’t behave this way. Even for your own version you would have to override e.g. select, transform_values and various other methods so Hashes constructed from this one are the same kinds of Hashes.

                                              Also note that a Hash such as this one cannot be serialized. Problematic when storing as yaml, communicating between processes using DRb, etc.

                                              So definitely a cute Ruby trick that I hadn’t thought of, but I’m afraid I have to pass :)

                                              1. 2

                                                I don’t think it’s “unfortunate” that the default for grabbing data out of a Hash is to return nil instead of an exception. This is, in my opinion, one of the better uses of a hash data structure…if you don’t really care much about the contents and are just passing on some non-structured data.

                                                If you do care about that kind of stuff, it’s way better to use your own object in place of a Hash, and define the [] method yourself:

                                                class Dictionary
                                                  include Enumerable
                                                
                                                  def initialize(hash = {})
                                                    @hash = hash
                                                  end
                                                
                                                  def method_missing(method, *arguments, &block)
                                                    return super unless respond_to_missing? method
                                                    @hash.public_send(method, *arguments, &block)
                                                  end
                                                
                                                  def respond_to_missing?(method, include_private = false)
                                                    @hash.respond_to?(method) || super
                                                  end
                                                
                                                  def [](key)
                                                    raise KeyError, key unless key?(key)
                                                    @hash[key]
                                                  end
                                                end
                                                

                                                I have a few reasons for doing things this way:

                                                • You have more control over the data structure
                                                • When debugging, .class.name points you to the class you defined, rather than Hash
                                                • It’s easier to test, and reproduce issues found in the wild
                                                • Hash is not code you control, it can change without your knowledge, and cause subtle bugs. Hash is also not entirely written in Ruby, so when things go wrong, you’ll find yourself perusing through C code and difficult-to-read documentation for some of the lesser-used Hash features…

                                                I always recommend avoiding subclassing built-in objects, and in Hash’s case, using the block notation to define default behavior. Much easier, and clearer, to describe that in your own class.

                                                1. 2

                                                  It’s slow to bounce through method_missing for most methods…. rather…

                                                   class Dictionary < Hash
                                                  

                                                  And then just override []

                                                  I have used that approach before.

                                                  In this particular case I was dealing with a lot of POD’s created as hash literals when I got bitten by a silent failure when using the wrong key.

                                                  My trick, and it’s companion….

                                                  hsh.default_proc = ->(h,k){ raise "No such key #{k.inspect}, expected one of #{h.keys.sort.inspect}"}
                                                  

                                                  caught the bug on the line it happen.

                                                  Hash is not code you control, it can change without your knowledge,

                                                  The interface is very stable.

                                                  1. 1

                                                    nitpicking but there is a few bugs, @hash = hash in initialize, and should be return super unless @hash.respond_to? method. you are also forgetting &block in method_missing.

                                                    1. 1

                                                      edited the obvious errors, but the guard clause seems more like a style thing…I prefer the happy || sad syntax in that method myself.

                                                  2. 1

                                                    Well .default_proc= is part of the language semantics… but yes, some libraries (even some of my own code) do use code like….

                                                    foo = hsh[bah]
                                                    if foo
                                                       do stuff with foo
                                                    else 
                                                      handle key bah didn't exist
                                                    end
                                                    

                                                    So yes, this breaks that behaviour…. on the other hand if you need to catch your own stupid quick…. this trick can save you and hour of scratching your head.

                                                  1. 2

                                                    no love for docker-compose?

                                                    1. 2

                                                      Of course, I will include it in the next tutorial that will be about optimizing the image for production (including nginx and assets).

                                                    1. 5

                                                      NoScript always felt like a “sledgehammer” solution to me…though I’m a huge fan of the “DNS sinkhole” approach to blocking unwanted ads and such.

                                                      1. 2

                                                        So what would the unix tag be used for?

                                                        1. 2

                                                          Linux/BSD/OS things? I’m not entirely sure what to use it for now…

                                                          1. 1

                                                            Articles about… UNIX! :)

                                                            Articles about kernels, UNIX userspaces, process management, containerization/virtualization, variants, history, etc etc.

                                                          1. 1

                                                            I like the article but a lot of the screenshots are broken :(

                                                            1. 2

                                                              Forgot to commit them, it’s fixed now. Thanks for pointing!

                                                            1. 5

                                                              I like the name “Perl”, because it can be pronounced in (at least) two ways, and a Perl slogan was “There is more than one way to do it”.

                                                              It also has an irreverent backronym expansion, if you want.

                                                              I also like “Miranda”, because it sounds friendly.

                                                              1. 4

                                                                In which way can Perl be pronounced other than “pearl”?

                                                                1. 2

                                                                  “Peril” /s

                                                                  1. 1

                                                                    Straight, with ‘e’ instead of ‘ae’-sound - as in [I am not a native English speaker] … well, sort of like if you take the sound by clicking on UK here https://dictionary.cambridge.org/pronunciation/english/pair and add an L to the end. Almost rhymes with the fruit pear.

                                                                    1. 1

                                                                      I’m guessing “peerl”, although I’ve never heard anyone using this pronunciation. It also sounds funny to my Italian ears, as “pirla” (pronounced “peer-la”) means “silly person” in Lombard dialect.

                                                                  1. 11

                                                                    Hmm, reminds me a bit of “Pizza Hut”, which isn’t necessarily the best association.

                                                                    1. 35

                                                                      Oh?

                                                                      1. 8

                                                                        I actually liked that it reminded me of Pizza Hut. Hey, hackers love pizza!

                                                                        1. 2

                                                                          As an European, I can’t accept calling Pizza Hut’s produce “pizza”.

                                                                          1. 4

                                                                            As an American, I can’t accept calling Pizza Hut’s pizza “produce”.

                                                                        2. 4

                                                                          I got my sr.ht stickers in FOSDEM 4 days ago but I really want this now.

                                                                          1. 2

                                                                            @kragniz We’re counting on you to make this happen next fosdem. :)

                                                                            1. 1

                                                                              I’ll do my best

                                                                          2. 1

                                                                            i love it

                                                                            1. 1

                                                                              This is amazing, thanks

                                                                            2. 3

                                                                              What do you have against pizza?

                                                                              1. 1

                                                                                Nothing, it’s just so-called american “pizzas” I dislike.

                                                                                1. 3

                                                                                  Italians love American pizza too!

                                                                                  That’s why it’s called the pizza effect!

                                                                                  https://en.wikipedia.org/wiki/Pizza_effect

                                                                                  1. 1

                                                                                    You mean “creativity fuel”?

                                                                                2. 0

                                                                                  you fuck right off with that

                                                                                1. 15

                                                                                  Glad to see more and more people embrace Firefox.

                                                                                  For those hesitating: I’m using it for web design and development since 2005 or so - being my default browser. No complains at all ever since.

                                                                                  I have Chrome, Safari and Opera installed for testing purposes, and as you may well know, the browser war is over. If you don’t do experiemental stuff all browsers work the same.

                                                                                  So why Firefox? The decision is not technological but ethical. Google is the new Microsoft, Microsoft is the old Microsoft. What’s really left is Mozilla / Firefox.

                                                                                  1. 2

                                                                                    So why Firefox? The decision is not technological but ethical.

                                                                                    Not true. The decision to use a browser that isn’t bogged down with “Material Design” UIs, RAM/CPU pinning (causing battery loss), illegitimate telemetry, and a bunch of extra features that nobody needs or wants in a browser is absolutely technological. Even if you could care less what Mozilla or Google does (because Mozilla definitely doesn’t qualify for sainthood…they’ve had their fair share of snafus over the years), the fact remains that Firefox Quantum is, as of right now, a superior browser to Chromium.

                                                                                    Firefox Quantum is better in every way. It’s faster because it does less stuff and isn’t a data-mining tool built by an advertising company. The only reason I wasn’t using it in the past few years was because it lagged behind in development as they were putting all their efforts onto Servo and Rust. Now that both have matured, Firefox is getting all the benefits of Mozilla’s past decade of research.

                                                                                    1. 9

                                                                                      I think @metamn is saying that for them, they are more concerned with the ethics than the tech.

                                                                                  1. 2

                                                                                    Tell them to avoid as much man-made or processed goods as possible, eat lots of fresh fruit/veggies, minimize sugar/caffeine/alcohol, exercise, keep their stress low, and what sleep they need. These lay a foundation for avoiding most of the health problems people get. The causes in the cells are just side-effects on the true causes which we have lots of data on. Also, working to get as much of that carcinogenic shit banned as possible subsidizing the fresher or natural stuff might help, too.

                                                                                    1. 8

                                                                                      You’re a valued contributor to the site, and although we don’t interact often, I also like to think of you as a friend. But this is a shitty thing to say.

                                                                                      People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time, and it gets very wearing. Just to state the obvious, in case it isn’t: While it’s true that general health precautions such as you’ve described have benefits for people who are medically and financially able to follow them, giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people, and which needs much more serious research in addition to healthy eating.

                                                                                      I know I’m not the only person on the site who felt just a little less safe upon seeing your remark, and that’s why I’m weighing in. I hope that you don’t feel guilty or bad about it, because that’s not my goal; I just wanted to state the counter-point for the benefit of others. I do hope that you’ll put more thought into it next time.

                                                                                      Thank you.

                                                                                      1. 4

                                                                                        People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time

                                                                                        But Nick wasn’t addressing such a person. He was telling readers in general how to reduce their chances of getting cancer. In that respect his advice is pretty good: e.g. sufficient exercise alone reduces the chance of dying of cancer by over 20%. If it convinces one reader to exercise more, isn’t that great?

                                                                                        Concerning safety, your response could be considered just as worrying to those that thought Nick’s comment was reasonable. It is about effects his speech might have on the perception of the problems of some minorities, not acknowledging the directly intended positive effects. Which is kind of how the entire current political polarization is taking place?

                                                                                        1. 3

                                                                                          “You’re a valued contributor to the site, and although we don’t interact often, I also like to think of you as a friend. But this is a shitty thing to say.”

                                                                                          “giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people”

                                                                                          I appreciate you trying to be nice about it. I think of you as a friend, too. I’d rather you not die of preventable cancer or heart disease, much of which seems to be. Diabetes even more so. The advice I was given by folks that stay researching health is to push good practices for prevention as much as possible to keep this stuff down. It disturbed me that so little of the article or comments on various sites described the things that cause these conditions: like it just magically all happens in peoples’ bodies due to mysterious environmental factors and such. Nah, a lot of it is known with companies covering up risks, people not told about known ones, or willingly disregarding the warnings. If anything, chemical analysis of new products with tech applied to categorize their risk and get that info out to people might be even more helpful. Avoiding known carcinogens and gut destroyers doesn’t seem shitty so much as default recommendation of nutritionists and consumer advocates not taking money from Big Pharma.

                                                                                          I also watched a lot of people die from cancer and heart disease in my lifetime. I don’t know how much was preventable. I do know they were constantly exposed to carcinogens, usually had bad diet, and some stayed stressed. I feel compelled to get information out so whatever portion of other people fall into the preventable subset don’t die a slow, terrible death with their hair falling out as they throw up on the floor or pass out. If such reminders offend some people, I’ll take the chance since folks living instead of dying are a higher priority to me. I mean, I don’t badger them in person: just gentle highlights or warnings about some things letting them do what they want with it. It’s their lives.

                                                                                          “People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time”

                                                                                          Once they have these problems, that’s when medical treatment is supposed to kick in. That’s when these kinds of research can be beneficial so long as they consider big picture. There’s sometimes not anything that can be done past managing the pain and problems. I feel for them. Hell, I’m in one of those categories. Pharma-funded doctors told me all kinds of horrible predictions plus all the drugs and procedures I needed. The practices I described, which I’m half-assing a lot, still helped a lot to the point folks often can’t tell I’m in those categories. On some days or in some situations, it’s a lot harder where I can’t avoid the symptoms. Some benefit is better than none. (shrugs)

                                                                                          I just push universally-healthier practices while keeping in mind they’re not guaranteed to work, may need to be supplemented with medical care, and some people will still suffer more. I’ll also end on noting people in above categories will get fewer, extra problems in their health over time if using preventative strategies that work. Most that do also report feeling better since they reduced the stuff that threw their mind and body off balance. I think this will grow with the gut studies in things like C. Diff. and H. Pylori along with what combats them. They used to say those symptoms were chronic, uncurable conditions, too. To think I suffered for decades for no fucking reason other than people were paid to say it wasn’t what I ate. A brother just got H. Pylori, too, who likewise wasn’t told about recent research that stuff he was eating killed good bacteria that kept H. Pylori in check. Just expensive drugs plus talking about chronic condition caused by infection that just happens. (rolls eyes)

                                                                                          1. 4

                                                                                            I appreciate your feelings and I am supportive of you advocating for health practices, in general. But as you said, you are prioritizing some people over others when you do this. It’s not simply a matter of taking offense; this rhetoric has real and tragic consequences, in part because it just so happens that nearly everybody else has made the identical decision about priorities. For example, doctors concretely treat fat people worse, as a result of their own belief in rhetoric such as what you’ve shared, sometimes to the extent of ignoring non-weight-related medical problems. Here’s an opinion piece in the AMA Journal of Ethics about it.

                                                                                            1. 2

                                                                                              “But as you said, you are prioritizing some people over others when you do this.”

                                                                                              The article is prioritizing focusing on things not known to work, which it even calls out, over practices that work the best for its stated goal. Almost all discussion on threads for this article follows suit. Mine was the only comment promoting practices that stop cancer for a lot of people and help existing cancer patients reduce negative symptoms during painful treatments. It excludes nobody since everyone needs to know about preventative factors even if they can’t use them in current status. I was too poor for them until recently where, as working class, I added more stuff to my list. I also can’t account for every possible circumstance in a comment about general, best practices that solve a lot of deadly problems for lots of people. Nobody else here was doing that. So, I didn’t either. Just contributing my piece as others did.

                                                                                              “For example, doctors concretely treat fat people worse”

                                                                                              The post you link to is about people doing the opposite of what I’m doing. They’re assuming they know the cause(s) in all circumstances, taking down to the patients, and that malpractice is causing mental damage that leads to more bad habits as a side effect of depression doctors cause. I find it abhorrent, but I’m not surprised. Assholes and bad habits don’t go away just because they put on a white coat. Now, let’s see how my method might look at it:

                                                                                              “So, you came in concerned about being overweight and want to try to do something about it. Let me first tell you that it’s normal for people to have a range of weights with what’s healthy depending on the person. You might not be overweight. Also, there’s so many factors that lead to weight gain that it’s hard to say how much your lifestyle did or didn’t contribute to it. Some factors people might not change include genetics and side effects of health conditions. Factors that increase the risk include specific practices in diet, exposure to toxins, exercise, and stress. At best, I can promise to give you practices that will make you healthier over time, maybe reduce your weight on top of that (I don’t know how much), and might not change anything if your lifestyle wasn’t the cause. Most important, your attitude about your self will have more impact on your state of mind and life than anything else. It’s important to remember that, even though you want to try to make changes, to accept that you are still a person regardless of what you look like or other people say. Stay on top of it mentally even if it’s hard.”

                                                                                              I don’t do this often. That’s off the cuff. I believe in holistic healing that starts with our mental attitudes, adopts whatever preventative steps we can, fights problems in least-risky ways, and accepts what we can’t change. The last two might require anything from medical treatment to emotional support. That’s where friends, family, community, and groups dedicated to specific issues come in. Although I gotta jet, feel free to compare my comment to what linked article said doctors were doing. That hurried post tried to balance telling them what they need to hear against treating them like people both on principle and to protect their mental health.

                                                                                          2. 3

                                                                                            I know I’m not the only person on the site who felt just a little less safe upon seeing your remark

                                                                                            What does ‘safe’ mean in this context and what changed in your safety after reading nicks comment? I’m not a native speaker and I’m having hard time understanding that sentence, considering dictionary definition.

                                                                                            1. 4

                                                                                              Folks like Irene will be the authority on that question since it’s their beliefs. I’m on opposing side. I’ll tell you my observations of their general patterns:

                                                                                              It’s part of a recent type of leftist politics getting popular in America, esp coming out of universities, that equates speech or actions people don’t like as inherently offensive, sometimes equates it with other people damaging them (eg like physical damage), and encourages others to modify their thoughts and speech to avoid all those “offensive” words or behaviors. Their theory is that this creates an “inclusive” environment where people feel “safe.” Those pushing it also largely focus on specific groups’ concerns minimizing others’ concerns where those others’ will certainly not get included or feel safe. That’s due to differences in moral beliefs among groups. Personally, I think it’s a mindset that’s about forced conformance to their politics and also defeatest in terms of weakening them in minimally-harmful situations. Example of latter was people at one university needing counseling because Ben Shapiro was going to do a speech. Reinforcing such weakness as a groups’ default is not going to help them in the fight against opponents who don’t let others’ words stop or actions stop them.

                                                                                              Another approach, which was the default among decent folks in Mid-South, is to let people say and do what they want to so long as it doesn’t hurt others. What constitutes hurtful statements and behaviors is hashed out by a consensus of the people who disagree, debating it among each other. What’s allowed or disallowed varies group by group, area by area. The people with this mindset are taught to penalize what multiple groups agree is bad behavior while discussing, arguing, tolerating, or ignoring the stuff we disagree on. We’re also taught to develop a “thick skin” because people will always say or do things that we don’t like. We’re told that, although it’s hard, to do what we can to not let their words or actions bother us. That’s why I laughed or dismissed with minimal irritation some of the dumb shit in Shapiro’s speech (or people in my outgroups) instead of asking them to correct their language, went into clinical depression, and so on. You’ll still see people take things personally, try to control others, and so on. It’s just considered weakness or foolishness past a certain point that people on all sides try to keep in check.

                                                                                              The political style in the first paragraph is dominant here among folks active in voting and commenting on political topics. I represent the second approach. Incidentally, most people I’ve met struggling with these conditions want to get as much info as they can. If anything, they try too much stuff out of desperation with lots of predatory salespeople taking advantage of them. Most appreciate my information when they know it’s delivered in good faith trying to help them out rather than judge them. A few got pissed initially when they misread it as me looking down on them. Many people probably did. They chilled out, too, after we talked it out. Some don’t want advice period. The first reaction on this site talking about how all these people, mostly subscribing to second approach to discussion, might be offended is from a person in the first group. You’ll keep seeing that here.

                                                                                              To be fair, though, Irene is someone that struggles with hard issues facing daily exactly the kind of hateful bullshit she’s describing. She’s also really thoughtful. So, her reaction is based on personal experience and others’ she knows rather than an example like Shapiro’s where some of his opponents could laugh or counter him out the building using the thick-skinned approach. It’s much harder for people like her dealing with a common case where folks actively want to hurt her. I still back my approach as default since theirs shuts down discussion by trying to minimize the speech patterns they believe are offensive, but not necessarily the majority in the U.S., specific areas, or even among the groups they claim to represent. People in No 2 want our beliefs to be able to evolve even if discussion of hard issues pisses us off or depresses us. It’s for the greater good.

                                                                                              1. 5

                                                                                                This is a great opportunity to introduce this article: What duelling can teach us about taking offence.

                                                                                                Basically, you’re taking the “offense as (emotional) hurt” position. Irene is being represented as taking the “offense as harm” position; I’m not sure 100% sure whether or not that’s accurate. But once you know about the “offense as insult” position, you start applying it everywhere and it makes everything make a lot more sense.

                                                                                                In this case the “just live more healthy” advice is seen as an insult to people with (possibly unavoidable) health problems – a claim that they are not due equal respect. The “offense as insult” model makes more sense of what we actually find offensive, and why the right kind of apology makes a difference. Taking offense is insisting on respect.

                                                                                                1. 2

                                                                                                  This is really useful framing, and I thank you for sharing it. I do recognize my position as being what your article calls “offense as harm” (that’s such unfortunately confusing terminology). I am going to have to think about how to apply this framing; I can’t really comment on your observation until I’ve digested it.

                                                                                                  1. 1

                                                                                                    That’s a very interesting article, thanks for sharing it.

                                                                                                  2. 4

                                                                                                    I actually use they/them pronouns, as in “They’re also really thoughtful.” Just mentioning that in passing because I’ve found that when I don’t correct it as it happens, people who had previously been using the correct pronouns start using the wrong ones.

                                                                                                    I appreciate your position, and that you’ve explained it at length. It’s useful to have the point and counterpoint laid out clearly like this. I also appreciate how civil this conversation has been. I do disagree that calling out issues as they happen is counterproductive or doomed to failure.

                                                                                                    I do also want to note that the pattern you describe as an alternative, where - if I may summarize how I understand it, but feel free to correct me - people push each other until they push back, and that’s okay, is… not actually an alternative. It’s precisely what’s happening here. My remark was a form of pushing back. This attempt to cast it as somehow different from any other form of disagreement by tying it to a perceived political goal of silencing dissent is kind of strange, really. Isn’t everyone who’s advancing any sort of viewpoint trying to get their viewpoint heard?

                                                                                                    1. 4

                                                                                                      I just wanted to log in to say that I really appreciate this sort of discourse, and it speaks volumes to the quality of discussions on lobsters compared to the other places I frequent. I normally try and take such a broad bredth away from these sort of discussions, and when realing Nick’s first comment I was sure there would be a flame war.

                                                                                                      1. 2

                                                                                                        “I also appreciate how civil this conversation has been.”

                                                                                                        “I did feel that the risk things would go that way was comparatively small for me, this time, both because I know Nick and because I felt that I knew the tactful way to respond. Newer members of the site may not have either of those luxuries, and may have had very reasonable fears about things going far worse were they to speak up. So since I was probably in the best position to handle it, I felt that I should. “

                                                                                                        As always with you Irene, me too. :)

                                                                                                        “and that’s an investment that I shouldn’t have had to make, because it shouldn’t have happened in the first place.”

                                                                                                        “somehow different from any other form of disagreement by tying it to a perceived political goal of silencing dissent”

                                                                                                        People on my side simply disagree with someone while telling them they can feel free to speak their mind. On contentious issues, we don’t tell them that sharing beneficial ideas is a shitty comment, make us feel unsafe, harms people, excludes them, and so on. The goal of bringing that up is for me to never do that again, right? And for the reasons in your differing political views held by the majority here that I’m dissenting to?

                                                                                                        “felt just a little less safe “

                                                                                                        This part I’m just countering. Your political comments usually get a pile of upvotes on this site, esp defending trans people or political action in threads. Mine usually don’t. You have people supporting you in a visible way, a majority of the community voting in favor of your kind of politics, a moderator position, and our site admin seems to lean more in that direction. You are pretty safe here no matter what gets said. The risk is on the dissenters in terms of push back, most likely to be downvoted, and so on. That distortion between what went on before, what you expected to happen here, and what actually happened is why I called that lens defeatest. Even with support you get, you still thought you were unsafe despite me predicting I’d be the one without support after you did a counterpoint. Which happened as predicted.

                                                                                                        “Isn’t everyone who’s advancing any sort of viewpoint trying to get their viewpoint heard?”

                                                                                                        That’s true. That’s why I up-vote the comments of people on the other side when they contain what I perceive as good points, minus personal attacks or something similar, to encourage more of that. I also never ask them to stop saying anything that has some evidence. I might debate the points, though. That’s the free-speech and tolerance approach. And as in your other comment, it takes significant, emotional investment to keep at it. Definitely two of us doing that today.

                                                                                                        1. 2

                                                                                                          I do feel there’s more to discuss on this topic, but elsewhere in the thread somebody raised a question about whether it’s appropriate for me to be having this conversation at all. While I do feel that it is appropriate, I’m going to err on the safe side and let it rest where it is, for now.

                                                                                                          Thank you again for the level of thought and care that you clearly put into it.

                                                                                                          1. 3

                                                                                                            Well, that’s what I was trying to do, too. So, no objection. Thanks for being calm and level-headed. Have a good night. :)

                                                                                                      2. 2

                                                                                                        folks in Mid-South

                                                                                                        I have not heard this geographical description before? What part or parts of the CONUS does it encompass?

                                                                                                        1. 3

                                                                                                          I should probably be more specific than that saying “Tri-State Area” of Arkansas, Tennessee, and Mississippi. Even more narrowly, the Memphis Metro Area of right-side of Arkansas, Southwestern Tennessee (esp Memphis TN), and Northwestern Mississippi. Most of my data come from people in those areas plus some from larger Mid-South given we move around a lot in this space. The area is kind of in the middle and southern parts of the country. Hence, Mid-South. We’re an area with lots of economic, racial, and gender problems with a really rough history on top of a murder capital. Yet, we get by day to day without huge riots and appear to have more diverse workplaces (esp Black and Latino hires) than places with social justice politics. My data is smaller there, though. We also tend to be able to talk to each other without folks trying to censor each other.

                                                                                                          If a group gets dominant in a place, you’ll definitely see them reward their group and be biased against others. That reduces down to mere arguments between peaceful times when the mix increases. Another example is no police brutality during the BLM takeover of an I-40. People just talked, shouted, or avoided the area until it was over. Then we shrugged it off. I’ll also note most reformers that created these liberal politics operated with that style of debating opponents rather than just having them censored. The censorship came later following what the previous orthodoxies had attempted to do with their beliefs after their founders innovated them into existence. A little strange they oppose the very practices that created many of their beliefs and rights in the first place.

                                                                                                          Alright, I’m out for now. Gotta go chill with the family. Yall have a good day. :)

                                                                                                      3. 2

                                                                                                        Thank you for asking; I realize that the idea I’m referencing may be a new one to a lot of people. I’m referring to psychological safety - who is welcome in the community, and how much of themselves they’re able to bring to it. No community can include everybody, and there’s always some tension about who belongs there and who doesn’t, even in a place like this which is friendly enough that I don’t think anyone would say people don’t belong in such strong terms. People from marginalized backgrounds (women, disabled people, etc) are more likely to notice these dynamics than people who don’t have that life experience, but they’re always present.

                                                                                                        I did once write a popular Twitter thread in which I worked through two examples of what I mean by this. I know Twitter threads can be hard to follow without context, but unfortunately I don’t have time this morning to put that into paragraph form. (Note that I use plural pronouns on Twitter, which actually is a good example of an aspect of myself that I express more freely in that community than I do in this one. Also, the subject matter of the thread may seem shockingly sensational if it isn’t something you’ve heard about.)

                                                                                                        Concretely, what changed for me after reading Nick’s comment was that I felt that there was some risk that if I were to mention the harm that rhetoric causes, I would be laughed at and disregarded. It hasn’t happened in probably a year or more, but in the past, when I’ve spoken up here about remarks which cause harm to groups I belong to, those threads have become highly contentious, with each comment receiving dozens of upvotes and dozens of downvotes. To have that kind of thing happen when the topic is a basic matter of human dignity is super-distressing, and I don’t feel that anyone really “wins” it - everyone loses.

                                                                                                        I did feel that the risk things would go that way was comparatively small for me, this time, both because I know Nick and because I felt that I knew the tactful way to respond. Newer members of the site may not have either of those luxuries, and may have had very reasonable fears about things going far worse were they to speak up. So since I was probably in the best position to handle it, I felt that I should. Even with what seems to have been a pretty positive outcome, I’ve put a fair amount of time and emotional investment into responding carefully and responsibly to his remarks and to yours, and that’s an investment that I shouldn’t have had to make, because it shouldn’t have happened in the first place.

                                                                                                        1. 4

                                                                                                          Thanks your trying to explain your position but after reading your reply and that twitter feed I still don’t see how anyone’s safety was reduced by nick’s comment. He did state good advice to follow and I can’t find anything that would lead you to fell “that there was some risk that if I were to mention the harm that rhetoric causes, I would be laughed at and disregarded”. I also don’t see how “giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people” - this is a comments section for article about SV way of thinking and theirs approach to solving cancer - explaining how to avoid getting cancer seems like appropriate comment here.

                                                                                                          On the other hand, now I fell that what seems to me as a good advice might be attacked by this sites admin(s), which is reducing my psychological safety in lobste.rs space.

                                                                                                          1. 4

                                                                                                            You raised a concern about whether my participation in the thread was appropriate as a site moderator. So, unfortunately, I have to reply as a moderator and not in my personal capacity. So I’ll put aside my feelings about your other points and only address that one.

                                                                                                            As mods, we do put a great deal of effort into making sure that our participation as individuals doesn’t interfere with our responsibilities to the community as a whole. We have the hat system to indicate what capacity somebody is speaking in. Of course, the responsibility to keep things separate doesn’t end with choosing the appropriate option in the menu; we do put a lot of thought into it, and when I do find myself in conflicts over my personal views, I always ask another moderator to handle the follow-up rather than myself.

                                                                                                            And yes, it’s okay and allowed to disagree with me, or with any moderator. I do think it’s important that moderators be able to be part of conversations here - why would we care about the site if we couldn’t actually participate in it?

                                                                                                            It’s not for me to tell you whether you should feel that our efforts in this regard are sufficient or not; you have the right to decide that for yourself. But I did feel I should make the case.

                                                                                                    2. -2

                                                                                                      lol ok steve jobs

                                                                                                    1. 4

                                                                                                      On macOS, I use Apple Mail when I need a GUI, and Mutt when I don’t. These mail clients both consistent PGP signing support, and being able to sign emails with the same key that I sign my open-source commits and releases with is pretty sweet. Mutt is pretty hard to configure, but once you get it working there’s almost no feature that it can’t work with.

                                                                                                      On iOS, I use Edison Mail. It doesn’t sign anything with PGP (does any mail client on iOS support it?), but it has some nice features like automatically sorting my emails into package/ticket notifications, receipts, etc. It also has FaceID/TouchID protection, and it’s stable and fast.

                                                                                                      1. 2

                                                                                                        regarding mutt…how often do you get email that mutt can’t parse because it’s HTML-only? I’m afraid that might happen to me more often (though I have no data to back this and I could likely find out for my own mailspool….)

                                                                                                        1. 1

                                                                                                          not very often, if at all. I use w3m to view text/html emails, it’s a text-based browser that can parse HTML, so you can use mailcap to feed it the .html file and render the content of the email to the Mutt preview pane. got the idea from http://jasonwryan.com/blog/2012/05/12/mutt/

                                                                                                          1. 1

                                                                                                            mutt doesn’t parse html, it will show it as an attachment. You can then configure it to automatically pipe that to a converter function (like lynx -dump or w3m are common choices) or save it as a file and open it in a browser, or whatever else. You could also pipe the entire email to another viewer.

                                                                                                            So, you can put on whatever converter you need and open it elsewhere if necessary.

                                                                                                            1. 1

                                                                                                              I have not encountered HTML-only email that often, and when I do, it’s usually spam that gets through. In my experience, most HTML email also includes the plain text as well, but for those that don’t, it was easy enough to pipe it through to a program for viewing/conversion.

                                                                                                          1. 7

                                                                                                            These are nice, but to be fair, I think when most people want this level of management, they start using Jira or likewise.

                                                                                                            1. 1

                                                                                                              Yes, JIRA does do all of the things mentioned in this article if you count in the various plugins like Agile and Tempo (time tracking)…I think the only thing it can’t do are “confidential issues”, you’d have to make the whole project private IIRC.

                                                                                                              That said, the tools that JIRA delegates to like Stash and Bamboo leave a lot to be desired. We’re sorta tearing our hair out with Bamboo’s inability to have reconfigure builds (like with a .bamboo.yml file) on a per-branch basis.

                                                                                                            1. 10

                                                                                                              The one problem I’ve had with Docker over the years is how “special” it is. There has been so much code we’ve added to our (Rails) application over the last year just to accommodate the Docker workflow, all of its idiosyncracies and stuff. Kubernetes too. For example, for some insane reason it sends health checks to the container’s web server using the IP 127.0.0.1:0, which is not valid according to IPAddr. Also, within the last week we’ve been experiencing test failures related to Headless Chrome not being able to run as root, which is the DEFAULT user in Docker containers (how anyone got this past the security censors is beyond me, but there you go, that’s where we’re at these days :P)

                                                                                                              And after all this, running Docker in development is still slow as balls. So much indirection just to save a few questions in the initial setup process? Nobody wants to do it. Docker was in use by almost all devs of our platform in the beginning of the year. Now we only have a handful of people still developing in Docker. So, “Ship the whole stack, not just code” is a great idea in theory, but in practice there ends up being enough difference between dev and prod that you might as well have just run the thing on a regular old VM or bare metal.

                                                                                                              1. 5

                                                                                                                I’ve been saying this for a while now but maybe my messaging has been off. People look at the k8s and docker brochure and forget to ask how it’s actually going to fit into their workflows. There is no way around the fact that it’s another layer of abstraction and in my experience it’s not even a good one for actual production systems. It’s great for running one-off tasks that need self-contained isolation like CI that just pull in information and then push out some result that doesn’t require persisting any local state. Going outside of this sweet spot starts to get really hairy really fast and you start needing storage plugins, network plugins, and side-cars for even the simplest systems. It’s an amazing amount of overhead for something that’s meant to be the future of development.