1. 4

    That page is annoying free of any link to the actual source code. Such terrible user design: that’s literally what I’m there to see. Am I just dense or missing the link?

    1. 6

      By crawling up the directory, I found the source:

      https://www.ioccc.org/2018/mills/prog.c

    1. 4

      Music and software have many of the same problems. Music has a complex ecosystem of copyright and licensing to help musicians get paid for their creativity and yet there’s still lots of middlemen, like record labels, making huge returns, somewhat akin to software’s VC. Read about ASCAP: https://www.petekeen.net/ascap-for-open-source-software

      My latest thought is having all companies with an engineering team “tithe” 10% of their engineering payroll to license all OSS for commercial use but there’s a million questions to be dealt with, just like ASCAP.

      1. 2

        Agree with this (see my comment on this post). I think the details you suggest sound like a good starting point. Do you know of any projects that want to move to this model? I think we should try to do this.

        1. 1

          Why would they bother? They’ll just go back to writing their own internal libraries and toolchains. Paying 10% of your payroll to use code you don’t have control over? Are you mad?

          1. 1

            Why not? Access to all open source, royalty and litigation risk free?

        1. 5

          The proliferation of easy package managers like Rubygems and NPM have made this lesson so much more obvious. The easier it is to change, the more likely one of those upstream changes will break you.

          1. 3

            OTOH, it’s become very easy to pin and document your dependencies with great reliability and precision, so from that perspective his attitude does seem a bit out of date.

          1. 2

            I still can’t determine how Go modules would make my life measurably better than plain old GOPATH. 🤷🏼‍♂️

            1. 4

              One thing I always liked about GOPATH and using VCS for dependency fetching is how easy it is to make changes to your dependencies: just cd over to the easy known path of your dep, make a change there, rebuild your project, then push your change up from your dep. Great! There’s no need to go find the git repo and clone it and then mess with your manifests to use local sources like you’d need to do with Rubygems/Bundler, or participate in symlink hanky-panky like with NPM.

              But the downside is that when you need to work on two different projects that require different versions of a dependency, you need either two GOPATHs, or some other tacked on dependency management scheme using vendor. Either way means an additional tool for you (and your team) that you need to version and install on workstations and train people to use, which I see as an annoyance.

              With go modules, it’s still very easy to get a version-controlled copy of a dependency (just clone the module URL), and then to use that copy when you build a specific project (by specifying the path of your local clone in your go.mod file). And you don’t need any tools other than go to do it.

              1. 4

                i was critical about the improvements at first, too, but they work really well for me where i’ve used them. the design is well thought out, migration from existing systems isn’t hard (fully automatic in my case, only small code bases though). the checksums for modules (go.sum) is also nice to have. it pays that the go team seems to read many papers and take their time with things.

                i still manage my sources like in the GOPATH with full paths, which i’ve found very useful (and do so for other languages). i always know the url to the repository :)

                1. 2

                  Were you a Go user at the time when code.google.com got closed down? Vendoring is a way to protect against events like this, or packages being taken down/moved from/on github/… by their authors. Modules and the planned global mirrors take this idea further, making the resulting ecosystem more globally interoperable than vendoring alone. While code.google.com may still exist in your GOPATH, there’s no easy way you could share your code that’s using it with others.

                  Also, modules introduce a somewhat controlled way of upgrading code & dependencies. Especially dependencies of dependencies, and further down the rabbit hole.

                  1. 1

                    Or an npm user when left-pad got deleted? Vendoring would’ve avoided that problem, too. Plus, you can still work / deploy when the npm registry is down.

                    1. 1

                      Yarn does have an “offline mirror” feature that is now one of the more significant distinguishing features from npm.

                      https://yarnpkg.com/blog/2016/11/24/offline-mirror/

                  2. 2

                    If you ever need a non-master branch of a dependency, modules will help.

                    1. 2

                      I had to immediately look for April 1st in the date on the article. Disturbing that it wasn’t there.

                      1. 3

                        “We have a license for IBM Blockchain, what do we do with it?”

                        1. 2

                          And in related news, Bitcoin is down 1.8% after the announcement. Whereas, Walmart’s is up 0.37% due to increased confidence in their tech strategy by some investors who also have money in Bitcoin.

                    1. 1

                      I worry about the weight/inertia of a change process where adding _ support within constant integers takes months of feedback and review (e.g. const MB = 1_024 * 1_024). At first glance, that seems like a straightforward and purely additive change so why the baggage?

                      1. 4

                        Because of Golang’s backwards compatibility promise it is crucial to ensure even “straightforward” changes are carefully considered. Once _ support is landed, it will not go away.

                        1. 2

                          Go isn’t somebody’s weekend hobby sandbox. Hundreds of thousands of programmers write code in it, lots of tools generate code for it, millions of lives and livelihoods are affected by code written in it. There is no “at first glance” on that level. Welcome to the big leagues.

                        1. 2

                          For some reason I thought this article was going to be more legal: about land ownership, estates and timber rights.

                          1. 6

                            I’ve also tried to be open about my Sidekiq business and how it has grown over the past 5 years. It’s one thing to build a business on open source, it’s another to be open about the business itself. A recent interview:

                            https://launched.app/blog/how-a-solo-founder-grew-an-open-source-tool-to-over-1m-arr/

                            1. 2

                              I appreciate you writing up posts on makig money with open source. More peope need to at least know it’s out there and think about it even if they might ultimately not go for money. I think there’s an awareness problem on top of ideological motivations.

                              1. 1

                                as someone looking to eventually start their own business, this is an awesome resource, thank you!

                              1. 9

                                I respect how they came to their old name but “bro” does have unfortunate baggage these days. I’m glad they found a new name they can be proud of.

                                1. 3

                                  This is true.

                                  A product name is what’s supposed to represent you to the rest of the world. Connotations, type-ability, and relative uniqueness are basically what a name is for: if it carries negative connotations, then it isn’t serving its purpose.

                                  And trying to put a halt to the euphemism treadmill is like bravely standing your ground against a tsunami: the people who claim to do that tend to be all wet.

                                  1. 7

                                    My hope for the future of Go is that it will continue to embrace simplicity in the face of cries for complexity.

                                    I agree. I used to be a large proponent of adding generics to Go. But since Rust has taken off, I’d like it if Go and Rust explore two different approaches: Go with a drastic approach to simplicity and GC, Rust with parametric polymorphism + memory safety without GC. So with that in mind, I wouldn’t mind if Go did not add generics.

                                    I am using Rust as my primary language, but I would like it if there was a fall-back option in case Rust or Rust libraries become over-engineered. This is just personal opinion and I don’t want to be controversial, but I think Haskell went from a simple functional language to type wizardry. Scala followed a similar path, except that it already started as a more complex language by aiming to be a functional language, while simultaneously implementing many OO concepts. Type wizardry can be fun, but it typically results in libraries that are hard to use by diverse teams or set of contributors. Rust libraries are generally ok in this respect, but there is definitely a lot of room of over-engineering with generics and traits.


                                    The thing that I miss the most in Go, besides less repetitive error handling, is deterministic destruction. Especially when binding C. There is no guarantee when/if finalizers run and asking that callers call or defer a Close() function is a bit annoying. Destructors and GC are not mutually exclusive. A minor shortcoming is the lack of more powerful sum types.

                                    Outside the language, it would be nice to have a slower compiler that inlines and optimizes more aggressively. As far as I understand, gccgo performance is currently not much better yet than the native Go compiler.

                                    But everyone probably has a different set of wishes and if they were all added go Go, we’d end up with something that is not Go. So, it’s probably best for Go’s designers to be conservative ;).

                                    1. 1

                                      I’m getting more and more disenchanted with Rust’s memory safety claims. Seems like every week now we are hearing about another overflow in a Rust library due to unsafe. If you build a footgun, someone will use it.

                                      1. 19

                                        That is a good sign. The bad things you hear in the news are those that are rare and thus not dangerous. The really dangerous stuff is not reported in the news because these bad things happen all time.

                                        For a comparison, statistically you will probably die from some form of cancer in a hospital. That does not get reported in the news. Being killed from a plane crashing into a skyscraper. That is newsworthy, but nothing to be afraid of.

                                        When was the last time an overflow in a C program was on the lobsters frontpage?

                                        1. 2

                                          Compared to the status quo (C, C++), Rust is in a far better position, and far easy to audit. It’s great that some of these other bugs are being sorted out, but it would be far worse in a language with no separation between safe and unsafe code. Yes, I would love to see a systems language that has been formally verified from the ground up, with dependent types that we can prove properties about some of the more tricky low level stuff, but this is hard to do and will take more years, and even then it’d be prudent to install escape hatches for practicalities sake.

                                      1. 5

                                        Sys-V style daemons have been deprecated for over a decade now, since Upstart and Systemd became things. Don’t use this.

                                        http://0pointer.de/public/systemd-man/daemon.html

                                        1. 1

                                          A very interesting read. Thanks for the link! I work with embedded sound technology where its not uncommon to enter platforms that are driven from a highly hardware oriented technology house - here you often have no systemd, no upstart, no runit, no nothing but a pile of confusing intricate init scripts done in ash. From my perspective daemonizing the old fascion way is still a skill needed to be mastered. But as your link very well descripes, the pitfalls are many, and I certainly hope that eventually all of us will enter the new-style deamon way :-)

                                        1. 6

                                          So, what’s the business model now?

                                          1. 3

                                            We are looking at a few options based on initial engagements with folks:

                                            • the standard “support” model
                                            • running Wallaroo as a hosted option in the cloud for folks. So for example, we install Wallaroo into your AWS account, hook it up to your data sources and run it for you.
                                            • enterprise version where we build around the core product and create value that isn’t of interest to the open source community but are to large enterprises. for example, i doubt many folks in the open source community are interested in using Wallaroo with Kdb but its come up on more than 1 occassion with larger enterprises.
                                            1. 4

                                              Third option works the best. I mentioned that in the licensing discussion in another thread. Active Directory integration was the example I gave. Things like that stay proprietary. Good luck regardless.

                                              1. 3

                                                Yeah, the thing we want to do is not have it be features that are integrated into the open source product. We don’t want to keep things from the open source option, rather we really want to build around it. It’s hard. It’s going to be interesting but, I think it’s the right thing to do.

                                                1. 6

                                                  Sounds risky to me. I respect your team’s commitment to principles, though.

                                                  Kind of adding to other comment, one thing I forgot to mention is you can just license it to businesses. That may sound counterintuitive since who would pay for open-source software they can get for free, right? A number of people on HN told me they license GPL software to businesses. One was at OpenSUSE but another just did custom apps for businesses that they allowed to go FOSS. They weren’t critical to competitive advantage, developer highlighted benefits of FOSS like extra features at lower cost, and they were cool with it. One pointed out that even Stallman encouraged people to charge for free software.

                                                  So, that’s possible at who knows what odds of success or level of revenue for Wallaroo. The main benefit they told me is businesses like having someone accountable for what they’re using. Someone to call, sue, or whatever. The other factor is that many believe you have to pay for good software. The “cheap” software is garbage. Free software must be even worse. Instead of arguing with them, those selling FOSS said they’d rather just let them pay a lot of money for the software and their own foolishness. :)

                                                  1. 3

                                                    O yes, that “license” with a “neck to wring” is part of what we cover in “support”. Sorry, we’ve been discussing it for so long that I forgot that many people rightly consider them to be different items.

                                                    It is risky but personally, I see the alternative as more risky. The infrastructure tooling space is dominated by open source products. Even if we create a better product, would we really be able to outpace a large open source project? Probably not. Could we lose lots of business to “its good enough” and people using another tool? Probably.

                                                    Those are also risks. So ya, risky but, we think worth the gamble.

                                                    1. 3

                                                      Good thoughts on infrastructure. I had one more idea but would’ve worked better if you GPL’d it. That is embedding it into commercial products that want to layer on top of your project or use one of its components. In the GPL model, they buy a copyleft exemption so they don’t have to GPL their product. Apache breaks that model given companies can just repackage it for free without legal risk from giving nothing back. Since you want it permissive, I tumbled idea around in head and it still might work.

                                                      There might be companies that want to integrate your stuff with theirs who would prefer to pay your company to do it faster (your experts) and with less integration risk. You could mention integration of Wallaroo into commercial offerings as a service Wallaroo Labs offers. I don’t think this would be common. It could be a nice supplement to main revenues if priced well to encourage the practice, you avoid any deals that look like a resource drain (or just charge extra for it), and Wallaroo kept modular enough to make that easy.

                                                      1. 2

                                                        I’m a huge fan of the GPL but man, it really scares large enterprises and makes selling to them much harder.

                                                        1. 4

                                                          Oh I hear you. I was mainly mentioning it for other readers that might be evaluating pro’s and con’s of various options in licensing their software. The paid service for embedding was for you. I could see why you’d want to avoid GPL if dealing with big business. I also mostly “thank” Microsoft for that.

                                                          1. 1

                                                            Why not offer Wallaroo Pro which is Wallaroo/GPL relicensed with a commercial license? That’s literally part of my business model with Sidekiq (LGPL) and Sidekiq Pro (commercial).

                                                            1. 2

                                                              It’s something we considered but again, fear of GPL will keep some developers from using Wallaroo for free in some enterprises. In the end, we wanted to leave that open as a possibility.

                                                              I’m comfortable with the GPL. Many people are not and their lack of comfort definitely ended up leading to a lack of comfort from other non-engineers at Wallaroo Labs. Apache 2 is a “safe license”. No one balks at it.

                                                              All of that said, I think the model you have is a completely valid one.

                                            1. 37

                                              What about dependencies? If you use python or ruby you’re going to have to install them on the server.

                                              How much of the appeal of containerization can be boiled directly down to Python/Ruby being catastrophically bad at handling deploying an application and all its dependencies together?

                                              1. 6

                                                I feel like this is an underrated point: compiling something down to a static binary and just plopping it on a server seems pretty straightforward. The arguments about upgrades and security and whatnot fail for source-based packages anyway (looking at you, npm).

                                                1. 10

                                                  It doesn’t really need to be a static binary; if you have a self-contained tarball the extra step of tar xzf really isn’t so bad. It just needs to not be the mess of bundler/virtualenv/whatever.

                                                  1. 1

                                                    mess of bundler/virtualenv/whatever

                                                    virtualenv though is all about producing a self-contained directory that you can make a tarball of??

                                                    1. 4

                                                      Kind of. It has to be untarred to a directory with precisely the same name or it won’t work. And hilariously enough, the --relocatable flag just plain doesn’t work.

                                                      1. 2

                                                        The thing that trips me up is that it requires a shell to work. I end up fighting with systemd to “activate” the VirtualEnv because I can’t make source bin/activate work inside a bash -c invocation, or I can’t figure out if it’s in the right working directory, or something seemingly mundane like that.

                                                        And god forbid I should ever forget to activate it and Pip spews stuff all over my system. Then I have no idea what I can clean up and what’s depended on by something else/managed by dpkg/etc.

                                                        1. 4

                                                          No, you don’t need to activate the environment, this is a misconception I also had before. Instead, you can simply call venv/bin/python script.py or venv/bin/pip install foo which is what I’m doing now.

                                                        2. 1

                                                          This is only half of the story because you still need a recent/compatible python interpreter on the target server.

                                                      2. 8

                                                        This is 90% of what I like about working with golang.

                                                        1. 1

                                                          Sorry, I’m a little lost on what you’re saying about source-based packages. Can you expand?

                                                          1. 2

                                                            The arguments I’ve seen against static linking are things like you’ll get security updates etc through shared dynamic libs, or that the size will be gigantic because you’re including all your dependencies in the binary, but with node_packages or bundler etc you’ll end up with the exact same thing anyway.

                                                            Not digging on that mode, just that it has the same downsides of static linking, without the ease of deployment upsides.

                                                            EDIT: full disclosure I’m a devops newb, and would much prefer software never left my development machine :D

                                                            1. 3

                                                              and would much prefer software never left my development machine

                                                              Oh god that would be great.

                                                        2. 2

                                                          It was most of the reason we started using containers at work a couple of years back.

                                                          1. 2

                                                            Working with large C++ services (for example in image processing with OpenCV/FFmpeg/…) is also a pain in the ass for dynamic libraries dependencies. Then you start to fight with packages versions and each time you want to upgrade anything you’re in a constant struggle.

                                                            1. 1

                                                              FFmpeg

                                                              And if you’re unlucky and your distro is affected by the libav fiasco, good luck.

                                                            2. 2

                                                              Yeah, dependency locking hasn’t been a (popular) thing in the Python world until pipenv, but honestly I never had any problems with… any language package manager.

                                                              I guess some of the appeal can be boiled down to depending on system-level libraries like imagemagick and whatnot.

                                                              1. 3

                                                                Dependency locking really isn’t a sufficient solution. Firstly, you almost certainly don’t want your production machines all going out and grabbing their dependencies from the internet. And second, as soon as you use e.g. a python module with a C extension you need to pull in all sorts of development tooling that can’t even be expressed in the pipfile or whatever it is.

                                                              2. 1

                                                                you can add node.js to that list

                                                                1. 1

                                                                  A Node.js app, including node_modules, can be tarred up locally, transferred to a server, and untarred, and it will generally work fine no matter where you put it (assuming the Node version on the server is close enough to what you’re using locally). Node/npm does what VirtualEnv does, but by default. (Note if you have native modules you’ll need to npm rebuild but that’s pretty easy too… usually.)

                                                                  I will freely admit that npm has other problems, but I think this aspect is actually a strength. Personally I just npm install -g my deployments which is also pretty nice, everything is self-contained except for a symlink in /usr/bin. I can certainly understand not wanting to do that in a more formal production environment but for just my personal server it usually works great.

                                                                2. 1

                                                                  Absolutely but it’s not just Ruby/Python. Custom RPM/DEB packages are ridiculously obtuse and difficult to build and distribute. fpm is the only tool that makes it possible. Dockerfiles and images are a breeze by comparison.

                                                                1. 2

                                                                  Seems like there’s a blog post on lobste.rs every six months about this from someone “discovering” the problem.

                                                                  1. 5

                                                                    You can also freeze constant Strings to minimize GC pressure. I blogged about using a magic comment recently:

                                                                    https://www.mikeperham.com/2018/02/28/ruby-optimization-with-one-magic-comment/

                                                                    1. 3

                                                                      Sweet baby Jesus, string literals are mutable? This is why we can’t have nice things.

                                                                      1. 1

                                                                        TIL! Thanks for sharing 👍

                                                                      1. 38

                                                                        I like that the blog title and the domain name are directly at odds.

                                                                        1. 5

                                                                          Headlines are hard. In the actual prose I say “almost always” :)

                                                                          1. 14

                                                                            So… an exception to your rule? Check mate.

                                                                        1. 3
                                                                          1. It can’t do anything technologically useful.
                                                                          2. It should be fast at doing what it does, so that it is safe to call LOLWUT on production instances.
                                                                          3. The output should be entertaining in some way.

                                                                          This is irritating to all of us with open PRs for real improvements, bugfixes, and enhancements that are starved for attention.

                                                                          Because of the master-slave fiasco and intense work involved with scrubbing everything, he now needs a diversion to like working on his own project again? That’s great, it’s over – now let’s get back to brass tacks and fix defects, finally finish replication enhancements now being worked on for 2 years, finally wrap up streams (Salvatore’s pet project nobody asked for), and improve performance to play catch-up with other datastores.

                                                                          1. 30

                                                                            Or, antirez can spend his time as he sees fit, just like any other FOSS maintainer.

                                                                            1. 9

                                                                              I’m sorry your PRs weren’t getting attention, but it was very important to change a word and the negative discourse associated with that (and this resulting cry for help) were much more critical to spend cycles on.

                                                                              You can’t prioritize software quality over Twitter grumping, that’d be silly.

                                                                              1. 6

                                                                                I haven’t followed the details of the master-slave kerfuffle, but it seems to be simply a failure of community management. As a lazy maintainer, it seems like the proper route is just to say “I acknowledge that people feel so strongly about this sort of terminology and will happily accept PR’s to fix the problem; this seems like a good candidate for new contributors to get their feet wet with” and link to a connected issue tracker.

                                                                                Then after a year or two of no nobody submitting fixes you close the issue as WONTFIX and get on with life.

                                                                                Edit: That said, taking a break from the stuff you have to do and making something functioning, silly and completely irrelevant in the grand scheme of things can be deeply satisfying. Sometimes you need that sort of thing to remind us why we love doing what we do.

                                                                                1. 3

                                                                                  Yeah, I still don’t understand how Twitter discussions can have this impact on people’s lives.

                                                                                  Together with just some wording used since the beginning of IT. So why can’t words acquire new meanings? Isn’t that the definition of a living language?

                                                                                  1. 3

                                                                                    Because the people are suffering from some kind of delusion.

                                                                                    I would like to see the budding young DBA-to-be who veered off IT/CS/STEM because he or she got triggered by the word “slave”.

                                                                                    Or even honest testimonies along the lines of “I was always interested in code, but I’d suffer immense panic attacks when I saw the word ‘blacklist’. I’m a Person of Color so this touches me deeply. The maintainer was kind enough to rename it (we settled on disallowlist) and now I commit a few times a year to the project. I have never felt this included and welcome in my life. Best of all? No one even complained about the broken APIs after the rename!”

                                                                                    1. 1

                                                                                      What I find weird is the “matter of fact” tone plus many contributors (not necessarily the maintainer) caving in right away, as if they also felt dirty while typing “git push - u origin master” or felt all the weight of worldwide injustices when the main DB switched to the “slave” one. I was relieved reading sane supporters though.

                                                                                    2. 2

                                                                                      Yes words do this constantly. But only in a negative way. Negative connotations tend to hang around. That’s why using these words is problematic. Also impractical, since you’d have to add a disclaimer that you mean the word in the new sense not the broadly known old one. If someone knows an example of some words changing from negative to positive connotations I’d be happy to hear about this.

                                                                                      For the current example I honestly don’t understand the quarrels people have. Why is dropping language that’s strongly tied to a history of colonisation and oppression a bad thing? Especially when other words can describe the same architectural pattern as accurately as the original words?

                                                                                      And every programmer knows that choice of words is important, we shouldn’t use them too lightly.

                                                                                      To turn the question around: So why can’t concepts get new names if the old ones are problematic?

                                                                                      1. 7

                                                                                        If someone knows an example of some words changing from negative to positive connotations I’d be happy to hear about this.

                                                                                        • Fun - to cheat or hoax
                                                                                        • Smart - a sharp stinging pain
                                                                                        • Fond - a fool
                                                                                        1. 4

                                                                                          “Nice” is one of such words. It meant foolish and silly.

                                                                                          The problem isn’t much about naming by itself: you want to use “disallowedList” and “allowedList”? Want to use “primary” and “replica”? Want to use “kaka” and “popo”, do as you wish. But going ahead and picking a project at seemingly random and force them to change words that have been picked as they are (or used to be) the standard name of those elements in a somewhat aggressive way then that’s where I’m drawing the line.

                                                                                          Or creating chaos on the issues section or on social media, extending the use of such standard words to the morals of the maintainers, that’s totally disgusting and absolutely useless.

                                                                                          What I find even more shocking isn’t the vocal part that enjoys stirring up drama for whatever reason (there is clearly a reason why these groups are doing this and it cannot be to make the tech world a friendlier place, that’s for sure) but it is people who just shrugs them off or who, just like you, now supports their point because they are somewhat technically correct.

                                                                                          Let’s start harassing all Spanish speaker developers who use the word “negro” for their black elements, how about the word “sheet” that reads as poo in Swedish, how about the word “pitch” that is extremely similar to a bad word in some Slavic languages, and “git”?

                                                                                          That is and would be dumb to do. Also, why is the “American” morality be pushed down the throats of the rest of the world? Just because they still cannot cope with their past, is that a good reason to force everyone to change their behaviour?

                                                                                          1. 3

                                                                                            I share the idea that this debate is totally dumb. There were intellectuals in the 90s that brought this up with Intel and IDE controllers. PATA went away and that debate didn’t matter, but now we see the same bullshit arising again.

                                                                                            The most vocal people in this fight are extremely childish and troll/harass developers. That’s not right. If you take a reasonable stance, you’re a racist.

                                                                                            I’m tired of outrage culture.

                                                                                            I highly recommend Brendan O’Neil’s speech on offence: https://www.youtube.com/watch?v=BtWrljX9HRA

                                                                                            and I also recommend the original post about this debate with ver well reasoned arguments:

                                                                                            http://antirez.com/news/122

                                                                                            1. 2

                                                                                              “In fact, pretty much every leap forward in history… pretty much every freedom we enjoy is a product of individuals having given offense. Having offended against the orthodoxies of their age. Offensiveness is not something we have to begrudgingly accept. Offensiveness is the motor of human progress.”

                                                                                              I’ll add the people against offending folks are defending beliefs created by offending folks ranging from speech to progress. Just like he said. They wouldn’t exist if their rules were enforced by the orthodoxy of the day when people were trying to get those reforms started. So, they glorify the reformers who offended piles of people creating their current belief systems but say nobody is allowed to offend their orthodoxies suggesting alternative systems. Double standards are a common sign of bullshit.

                                                                                              Edit: Oh, wait, he just said that, too, later in the speech. I’m still watching it.

                                                                                            2. 2

                                                                                              how about the word “sheet” that reads as poo in Swedish

                                                                                              I don’t want to get into the broader discussion again, but I speak fluent Swedish; sheet /ʃiːt/ does not look or sound like skit /ˈɧiːt/.

                                                                                              1. 1

                                                                                                Can’t argue with you, I just looked up English words which sounded/looked like bad words in other languages. Maybe they had something specific in mind, don’t know :)

                                                                                              2. 2

                                                                                                IMNSHO the use of the word “slave” isn’t as simple as being “American”. The African slaves were often sold off by their own chieftains, and different types of slavery have existed and (may be argued to) exist around the world.

                                                                                                The point about stirring up shit is more relevant. These are homonyms; a word that sounds the same or is spelled the same as another can have different meanings, as rhe examples above.

                                                                                                The slave in an IT or mechanical context simply isn’t the same type of slave that picked cotton in the southern states.

                                                                                                I’m sure there are plenty of Slavic lobsters here, but I haven’t read a single comment, here or elsewhere, of one of them being triggered by the etymology of that word.

                                                                                                1. 2

                                                                                                  Exactly and that’s because on a global platform, filled with people from all around the world, with absolutely different cultures and languages, people (including myself) are not going to ruin someone else’s day just because they used a word which was/sound/looks/is derogatory in my own language on something totally unrelated.

                                                                                                  If there was something totally unacceptable, one could look into why such a word was chosen or if it was intended at all, inform them privately of the thing (if, say, they are interested in being known in those countries) and move on. Not starting a debate about something pretty much every single culture in the world has had.

                                                                                                  This seems to come from the wave of social justice which is plaguing certain countries, where one is offended for someone else and wants to be their saviour, while making everyone more miserable in the process, probably to achieve a “victory” for humanity or just themselves.

                                                                                                  1. 1

                                                                                                    It’s not specifically American at all. Human trafficking rings (a polite euphemism for ‘selling people into slavery’) are still being fought by law enforcement around the world today.

                                                                                                    I’m sure there are plenty of Slavic lobsters here, but I haven’t read a single comment, here or elsewhere, of one of them being triggered by the etymology of that word.

                                                                                                    Reasonable people aren’t triggered by thousand-year-old etymology.

                                                                                                    https://en.wikipedia.org/wiki/Human_trafficking#Revenue indicates $150 billion/year in revenue derived from forced labor, globally. Consider that your users might actually include someone who has been enslaved and would rather not be reminded of it at work.

                                                                                                    1. 2

                                                                                                      Yet your example is hypothetical. There might actually be someone. People shouldn’t be triggered by homonyms at all.

                                                                                                      Maybe the next hill to die on is killing or terminating child processes. Many women need to have late abortions and be reminded at work of infanticide.

                                                                                                      This will never stop unless maintainers put their foot down and say that messing around with APIs because a vocal minority bullies them is not ok.

                                                                                                      The case would be stronger if the proponents of this had personal experience to share, or other evidence to back it up. Even then, we’re talking about software, not people. Better would be to donate to Amnesty or do something else than change every word and rewrite all the dictionaries.

                                                                                                      1. 1

                                                                                                        People shouldn’t be triggered by homonyms at all.

                                                                                                        If only we got a choice about what trauma the world inflicted on us.

                                                                                                        Maybe the next hill to die on is killing or terminating child processes

                                                                                                        Maybe. But since nobody has, to my knowledge, brought it up - you are raising a ridiculous straw-man (straw-person, ha).

                                                                                                        This will never stop unless maintainers put their foot down and say that messing around with APIs because a vocal minority bullies them is not ok.

                                                                                                        Of the things that might stop it, that seems like one of the least likely to work.

                                                                                                        As noted elsewhere in the thread, “Feel free to submit a complete PR, including all documentation updates” is more than enough to get them to leave you alone. In the unlikely event that someone cares enough to actually do the work, I’d suggest you’ve just gained a hardworking co-contributor.

                                                                                                  2. 1

                                                                                                    Please do not conflate my questions or position with abusive behaviour towards others. My post was not about that. I haven’t asked you to do anything, nor have I endorsed abusive behaviour by others. If my questions or position causes so much grief and anger maybe it’s worth exploring why that is the case?

                                                                                                    Please relax, there’s no need for this aggravating tone here.

                                                                                                    1. 1

                                                                                                      Mmm what?

                                                                                        1. 1

                                                                                          Lack of any feedback from the repo maintainers would be such a let down for me.

                                                                                          1. 2

                                                                                            The last time this project had significant activity was around 20 days ago. The pull request is aged at 19 days - I think it’s just unlucky timing. Perhaps the maintainer went on for holiday with his family? Perhaps he just finished a lot of work around the project and needs a rest from it? Perhaps he just doesn’t feel like looking at it now - it’s volunteer time.

                                                                                            Point is, don’t assume your work is unappreciated because you didn’t get a reply - open source is hard work but once you put things into the public time works for you, someone will see it sooner or later :)

                                                                                            1. 2

                                                                                              Rubygems.org is maintained by the RubyTogether non-profit, which pays devs hourly for maintenance. The money is nice but it likely means it will take a bit to get approved for work. I’m guessing this also isn’t high priority – Rails 5.1 is working just fine.

                                                                                          1. 1

                                                                                            Really nice work and writeup!