1. 14
  1.  

  2. 19

    To keep reading this story, create a free account.

    No thank you…

    1. 4

      Works for me, but I don’t think I’ve seen one of those Medium popups since I installed NoScript.

      1. 3

        I think it shows after a certain amount of viewed articles; counted/tracked a cookie. With Cookie AutoDelete it never shows. You can also manually delete the cookie, of course.

      2. 3

        On Firefox, you can press F9 to enter reader mode. Very useful for annoying blogs.

        EDIT: Wow, medium actually blocked that… Here’s a working link, then. http://archive.fo/itqV4

      3. 3

        One issue is that his CI setup is apparently doing more tests than when running the tests locally. It sounds like that’s what he should fix first, as it’s confusing (and in his case damaging) to have all tests passing locally, and then failing on CI.

        1. 2

          This is pretty normal, and frankly a big part of what CI is good for.

        2. 2

          So much work for just one line of code. Thanks for the postmortem write-up!

          Edit, Adt’l: I’m not a js guy; why are these little one-offs included so often?

          1. 5

            JS has no true standard library and the NPM / Node ecosystem kind of adopted this idea that you could pull in a bunch of small packages that had exactly what you needed as a substitute. Honestly, I don’t hate the idea, but it definitely has some weaknesses. A huge, complicated dependency graph is one of them.

            Personally, I suspect it also has something to do with the huge number of new programmers in the JS ecosystem In particular, people who are trying to become employable as quickly as possible tend to pull in dependencies to solve relatively simple problems because it’s faster. However, I have no proof of this and I’m sure some people would disagree.

            1. 3

              In addition to newer programmers, I think it’s also because many people writing JS are doing so as something secondary to Ruby/Java/Python/etc., so they lack language specific expertise and tend to lean more on packages than they would otherwise.

            2. 4

              The “why” things got this ridiculous is a long, depressing string of mostly sensible-at-the-time decisions that add up to the current situation, in which we find the JS ecosystem is absolutely filled to the brim with these little grenades waiting to go off. The most glaring causes:

              • No good stdlib
              • Infrastructure being barely-specified or left entirely up to the community, to be standardised far too late to undo entrenched competing incompatible implementations
              • A culture of half-assery and partial solutions hiding under a cover of “modularity” and plugins
              • A culture of dynamic magic and implementation complexity serving the ostensible (and IMO quixotic) goal of terseness
              • 30 different solutions to every problem quickly leads to cargo-culting and religious adherence to arbitrary “standards” found in medium articles
              • NPM - for now I’ll go easy and just point at the global package namespace and various hooks that allow arbitrary code to be run on your machine during install
              1. 3

                You think that’s bad, wait till you see what is-even does… or is-odd (yes those both really exist)

                Npm (using) developers seem to have some kind of allergy to using larger, more encompassing libraries for utility type code, in spite of a lot of it being run directly under node, and thus not having that significant load time hit; ironically they also seem to favour big heavy frameworks…. for client side “rich app” stuff.

              2. 1

                I feel for this npm author, maybe now that Github has acquired npm they will fix some of these glaring problems since this seems like something tooling should have easily told the package author about. IE: Analyze all file paths, make sure none of the previously publicly exposed ones were now missing on an attempt to publish a non-breaking release?

                Also it’s wild that it’s been 10+ years now and npm install still isn’t deterministic by default.

                1. 0

                  Rolling Versions (mentioned in the article) looks interesting and I’ll probably give it a try.

                  1. 1

                    That’s the worst web site for a developer tool I’ve seen in years. What the hell does it actually do?