25 comments

  • watson 2010 days ago
    Hi, co-creator of volkswagen here. Just some fun trivia about the project, which Kenneth and I obviously made as a joke years back when Volkswagen got caught cheating:

    The Node module actually works. If you use it, it will make all your tests pass.

    When writing the code, I put the logic for detecting if code is being run on a CI server into a separate node module called is-ci[1] (which the volkswagen module then depends on). That module (later split out into ci-info[2]) turned out to be so useful for actual work, that today it's being used by both React and the npm cli.

    I only found this out recently. Imagine the surprise when a tiny part of a joke project you created years ago turns out to be one of your most popular open source projects :D

    [1]: https://www.npmjs.com/package/is-ci [2]: https://www.npmjs.com/package/ci-info

    • nojvek 2009 days ago
      When Kenneth joined our team to work with us, I had no idea he was the co-creator of volkswagen module. One day over lunch we were making jokes over how funny that project is and we should legit add it to our workflow for shits and giggles. He goes “yeah, I created that”. Our faces dropped. Whoa!
    • taf2 2010 days ago
      Looks like I need to port to ruby my gem needs this kind of quality control.
  • jay-anderson 2010 days ago
    • chrisweekly 2010 days ago

          # .gitignore:  
          node_modules  
          emissions  
          facts  
      
      lol
      • _Schizotypy 2010 days ago
        This little gem makes the whole thing for me
  • nimbius 2010 days ago
    "If you want your software to be adopted by Americans"

    Not to get too off-topic, but while taking the piss out of America is all good fun it should be emphasized that the original nature of the scandal wasnt just Americans whining about dirty engines.

    https://en.wikipedia.org/wiki/Volkswagen_emissions_scandal#L...

    20 countries, the EU included, filed criminal charges against high level executives at Volkswagen factories across the globe. the CEO himself was arrested in Germany.

    • InternetOfStuff 2010 days ago
      > "If you want your software to be adopted by Americans"

      > Not to get too off-topic, but while taking the piss out of America

      I read the opposite into it. I figured it was a piss-take directed at VW.

    • netsharc 2010 days ago
      It's important to note that the regulatory bodies of UK, France and Germany lobbied to keep the loopholes in emissions testing: https://www.theguardian.com/environment/2015/sep/24/uk-franc... . Probably because the governments want to keep their car industry booming and the jobs secured...
    • chki 2010 days ago
      I don't think that Martin Winterkorn (the former CEO of Volkswagen) was arrested. Maybe you are talking about Rupert Stadler (CEO of Audi, a Volkswagen daughter)
    • crunchlibrarian 2010 days ago
      As an American I find it endlessly amusing when Europeans poke fun at us, the history of the 21st century so far makes it almost too easy. The jokes write themselves.

      But yes, Europeans should be as mad as anyone, the con of clean diesel that has been foisted upon them has killed at least a few hundred over the years.

      • xaduha 2010 days ago
      • pc86 2010 days ago
        > clean diesel…has killed at least a few hundred over the years

            [citation needed]
        • rdl 2010 days ago
          • mpweiher 2010 days ago
            "Health effect estimates"

            "This new study estimates that ..."

            • abakker 2010 days ago
              Which means people did a study, and drew some conclusions, which you reject in a comment on the internet. Do you have research that contradicts theirs? do you have concerns with their methodology?
              • mpweiher 2010 days ago
                estimates vs "has killed".
                • crunchlibrarian 2009 days ago
                  Coal plants have killed. NOx emissions have killed. Lead has killed. Nuclear waste has killed. Gamma rays have killed.

                  You're trying to complicate something that is very simple.

                  • rdl 2009 days ago
                    It is of course entirely possible that coal/lead/nuclear/etc. provide way more benefit than the harm, too.
            • axus 2010 days ago
              Like that Puerto Rico hurricane study?
        • ackidacki 2010 days ago
          Do you have research that shows clean diesel makes people live?

          Maybe you should pipe diesel to a tank containing a person, err wait not a person a money... Oh wait. Volkswagen did that.

  • INTPenis 2010 days ago
    That title though. I clicked thinking there was yet another scandal in the brewing but it's actually a software named volkswagen. If nintendo goes batshit when people refurbish gameboys I wonder what volkswagen will do.
    • tshannon 2010 days ago
      I wonder if this would fall under protections for satire.
      • roywiggins 2010 days ago
        Fair use actually makes a distinction between satire and parody: satire isn't protected. https://apps.americanbar.org/litigation/committees/intellect...

        Technically, parody is using X's IP to comment on X; satire is using X's IP to comment on something else. So if this is parody, it would plausibly fall under America's fair use test.

        • derekbreden 2010 days ago
          Didn't volkswagen "fix" some emission tests in this manner?
          • mabbo 2010 days ago
            Yeah they were fined like $15B and had people arrested and criminally charged in multiple countries.

            They had 'defeat devices' that detected test environments and changed how the car ran so that it would pass emissions testing.

            • btian 2010 days ago
              That's less than a month worth of revenue.

              And only 2 or 3 people are in jail afaik.

              Only a light slap on the wrist.

              • ummonk 2010 days ago
                Or a year worth of profits. Hardly a slap on the wrist.
            • pkaye 2010 days ago
              Did the CEO Martin Winterkorn? Looks like he got away though.
          • tempestn 2010 days ago
      • labster 2010 days ago
        It falls under the protection of the Streisand effect.
      • pvorb 2010 days ago
        I bet VW won't sue anyone about this soon to not have new negative publicity. And I agree, this is clearly satire.
        • pvorb 2010 days ago
          Satirical software would be a cool new trend in Open Source.

          I think about things like a library for leader election, where there is a "Russian hacker" service that manipulates the election result or maybe a logging framework that accumulates logs and occassionally emails them to journalists.

        • pc86 2010 days ago
          I bet nobody from VW is going to know this exists for a year or more, if ever. How many VW corporate employees do you think browse HN?
          • InternetOfStuff 2010 days ago
            > How many VW corporate employees do you think browse HN?

            Out of more than 600'000? A bunch, I bet.

            (Yes, I was shocked at the number too)

          • mhh__ 2010 days ago
            VW, presumably, has armies of software engineers/other technical people (That you might find on HN, etc) so I don't think it's unreasonable to assume someone will stumble across it.

            It's also worth saying that even if they don't have a automated system to look for x-infringement, they have many employees who when bored could end up searching for (say) Volkswagen on github.

            Whether they care or not is another matter...

      • monksy 2010 days ago
        It's a pretty blatant use of their trademark. (It outright uses their name) I have my doubts.
        • hangonhn 2010 days ago
          Trademarks are only protected in the US if there is risk of consumer confusion during commerce:

          https://en.wikipedia.org/wiki/Trademark_infringement#Factors

          • trhway 2010 days ago
            There is definitely a credible risk of consumer confusion here - when a consumer faces a need to cheat a test it is unclear which Volkswagen the consumer would have to use. I think the original auto Volkswagen has a strong case here (note - IANAL, just another confused consumer).
            • taf2 2010 days ago
              We should file a suite against Volkswagen just to test - I’m sure it’ll pass
        • taf2 2010 days ago
          Quick fork that shit
    • anonymfus 2010 days ago
      Volkswagen in this case has only trademark, unlike Nintendo in your example also having copyrights.
    • LocalH 2010 days ago
      Offtopic:

      >If nintendo goes batshit when people refurbish gameboys

      Source for this? I know they've renewed their interest in going after ROM sites recently, but I've seen no indication they wish to stop people from repairing or refurbishing old, unsupported hardware.

    • paulie_a 2010 days ago
      Even if they raise an issue every once in a while you can tactictly tell them to go away. And the company will, swearing is sometimes useful in the response.
    • gammateam 2010 days ago
      > I clicked thinking there was yet another scandal in the brewing but it's actually a software named volkswagen.

      Thats the joke though. It passes tests for you even when they would fail. Like Volkswagen AG

      • LinuxBender 2010 days ago
        I am not a lawyer, but if somewhere it says "a work of parody", that should suffice for fair use. That said, nothing stopping VW from raking them over the coals. Github would probably just take the repo or account down if it came to that.
        • hangonhn 2010 days ago
          It doesn't even need to say it. Basically as long as the judge finds it funny and agrees it's satire, you're ok:

          https://law.justia.com/cases/federal/appellate-courts/F2/828...

        • sampo 2010 days ago
          Europe tends to have less freedom for parodies than the US.
          • TomMarius 2010 days ago
            This is OK though. (IANAL, but I've seen cases like this)
          • LinuxBender 2010 days ago
            Good point.
        • lixtra 2010 days ago
          I would expect vw to try this as low as possible. If they went to court they would learn about the Streisand effect.
          • macintux 2010 days ago
            Well, their woes can't possibly be publicized any more widely, and 99.999% of the people who would read the news about such a lawsuit would have no use of the software, so I'm not sure the Streisand effect has any real meaning here.
      • nickthegreek 2010 days ago
        maybe remove it a bit, like voltzwagone.
  • birdiesanders 2010 days ago
    I appreciate the author of this library to no end. There is something to be said about software being made in jest.
    • JoshTriplett 2010 days ago
      Other fun software made at least partly in jest (though still quite useful):

      eatmydata (https://packages.debian.org/sid/eatmydata) is an LD_PRELOAD library to disable filesystem syncs, to speed up test runs and other cases where you don't care about data integrity (such as if losing power would just mean you run the tests again from scratch anyway).

      echochamber.js (https://github.com/tessalt/echo-chamber-js) makes it look like your page accepts comments, displays them to the person who submitted them, but doesn't show them to anyone else.

      • aidanhs 2010 days ago
        comcast (https://github.com/tylertreat/comcast) is really helpful for simulating poor network connections. Particularly nice when used in Docker to do network simulations.
      • toomuchtodo 2010 days ago
        > eatmydata (https://packages.debian.org/sid/eatmydata) is an LD_PRELOAD library to disable filesystem syncs, to speed up test runs and other cases where you don't care about data integrity (such as if losing power would just mean you run the tests again from scratch anyway).

        Was never aware of this library and just used ramdisks previously, thanks for sharing!

      • pvorb 2010 days ago
        Echochamber could be even better if it had a trolling bot that responded to your comments.
      • LinuxBender 2010 days ago
        Echo chamber gave me a chuckle. I have never been a fan of javascript, but I can totally see using that script. Thankyou for that link. :-)
    • dguo 2010 days ago
      With the same appreciation, I maintain this website: https://www.jollycode.org/
      • dotancohen 2010 days ago
        Thank you for wasting half an hour of my life after leading me to this: https://github.com/fetlang/fetlang/blob/master/docs/tutorial...

        This is nerd sniping at the finest. After reading that document I am embarrassed to admit that I now understand how this code is a UNIX `cat` implementation:

            lick Trisha's toes ten times
            make Clara moan
        
            Until Amy is dominant towards Alicia
                Have Mistress torture Brian's ear
        	
                If Brian is Trisha's bedtoy
                    call safeword
        
                Have Brian hogtie Clara
            Make slave scream Clara's name
        
        Hints: 'slave' is stdout, and everything after a single quote is ignored. 'lick' is addition, 'moan' and 'scream' are print and println respectively. 'until' is while, and 'call safeword' is break. 'Mistress' is stdin, go read the tutorial for the rest.
        • nojvek 2009 days ago
          Oh man. This is too funny. Some may find it offensive but this legit reads like proper English and is yet executable. Hats off to the creator.
          • dotancohen 2009 days ago
            Even this is toned down as I could not bring myself to post the original on HN. For instance, in the real tutorial it is not Brian's ear that is tortured...
    • jacobevelyn 2010 days ago
      Since you brought it up, here's a shameless plug for something you might enjoy: https://github.com/JacobEvelyn/git-self-blame
    • degrews 2010 days ago
      Here's another one: i-told-you-it-was-private Ruby gem by Xavier Noria

      https://github.com/fxn/i-told-you-it-was-private

    • IshKebab 2010 days ago
      And it looks like it has been maintained which is weird.
  • kaycebasques 2010 days ago
    I've got lots of respect for Kenneth Auchenberg [1], the author of the library. I suspect he's a driving force behind VS Code's current amazingness. He also frequently has a lot of good insights about Chrome DevTools (what I work on) and the web in general.

    [1] https://twitter.com/auchenberg

  • rdl 2010 days ago
    If a VW lawyer contacts them to change the name, the obvious reply is “we will happily rename to hitlercar.”
    • firethief 2010 days ago
      They could just modify it to show a different name to visitors from certain IP blocs.
    • pkaye 2010 days ago
      Wolkswagon is better.
      • amyjess 2010 days ago
        Cloud wagon?

        Well, I guess if you're using Travis, but it won't make much sense if you're on a self-hosted Jenkins instance.

      • marcstreeter 2010 days ago
        Testwagen
      • vezycash 2010 days ago
        Folkswagon
    • browsercoin 2010 days ago
      how about something less offensive like: "The People's Car", a Third Reich Motorwerks
  • SilasX 2010 days ago
    Sigh... the dependencies remind me of the "left-pad" and "is-positive" package.

    Most of the heavy lifting on this one is done by the `is-ci` package [1], which is what does (obviously) the "is this a CI server" request.

    But it doesn't end there. `is-ci` just does a single call within the broader `ci-info` library [2].

    Any reason it couldn't have just imported `ci-info` and used its `isCI` function?

    [1] https://github.com/watson/is-ci

    [2] https://github.com/watson/ci-info

    • watson 2010 days ago
      Hi, co-creator of volkswagen, is-ci, and ci-info here. I extracted is-ci into its own module during the time I wrote volkswagen. It then turned out a lot of people wanted a module like that for actual useful things. But they wanted more info than simply "is this a CI server or not" (which was all that volkswagen cared about). So I made ci-info and moved the logic into that module and then made is-ci inherit from that, so to not have to duplicate the logic
      • Dylan16807 2010 days ago
        Which is largely understandable, but shouldn't ci-info have obsoleted is-ci?
        • watson 2010 days ago
          You're free to just depend on ci-info directly if that's all you need of course. The is-ci module does give you one added benefit however: It allows you to run this on the command line:

          $ is-ci && echo "I'm running in a CI environment"

          But of course that could technically be baked into ci-info. It's just more convenient to use with npx and to reason about if it's a self-contained module

        • SilasX 2009 days ago
          You're asking why someone doesn't want a lower number of published npm libraries on their resume?
    • eppsilon 2010 days ago
      Perhaps you would enjoy https://github.com/jezen/is-thirteen
  • kevincennis 2010 days ago

        Test.prototype.fail = Test.prototype.pass
    
    Dying.
  • asimpletune 2010 days ago
    I think there should be more digital art like this. By that I don’t mean something but done with a computer, rather something that truly articulates some genuine, sincere frontier of this digital landscape.
  • korethr 2010 days ago
    As funny as this is, I'd not be surprised to see a trademark challenge from VW sooner or later.
    • DonHopkins 2010 days ago
      Kenneth Auchenberg: Well done! I hope that Volkswagen tries to sue you for trademark infringement and totally embarrasses themselves by bringing even more attention to their scandal, then gets slapped down and you can sue them back for wasting the court's time.

      Volkswagen should be a generic term for cheater, just like Kleenex is a generic term for tissue.

    • vortico 2010 days ago
      I'd actually be happy if the name was changed ASAP, as it took me a couple minutes to figure out that the package was not an actual Volkswagon project. I thought the repo was extracted code from some official testing product.
      • askmike 2010 days ago
        You thought it was a Volkswagen project named "volkswagen"?
        • freehunter 2010 days ago
          Before I clicked the link I thought it would go to a Github repo owned by Volkswagen showing they had written code to forcibly pass CI tests. It's not clear from the title that it's not actually talking about VW the company.
          • browsercoin 2010 days ago
            so I wasn't the only one who thought this and grew concerned for the author-a legal battle with a giant corporation can ruin you financially I really hope he/she took good defensive measures.
        • vortico 2010 days ago
          No, I thought it was a repo containing code extracted unofficially from something Volkswagen did.
    • base 2010 days ago
      This no legal advice, but in the USA to make a Satire you should be able to use the VW name. The same way the Silicon Valley series uses real company names on their episodes.
      • kevin_thibedeau 2010 days ago
        Using the VW logo as "satire" would be a stretch.
        • hangonhn 2010 days ago
          https://en.wikipedia.org/wiki/Trademark_infringement#Factors

          There would be no consumer confusion nor is this done for commerce. I think he's pretty safe as far as trademark goes.

          • briandear 2010 days ago
            Not safe from being forced to respond to a lawsuit though — even if you ultimately win.
        • SilasX 2010 days ago
          More so for using it in way that makes it technically correct to say that "Volkswagen detects when your code is only being tested and then makes it pass."
    • jlg23 2010 days ago
      .. to Very Winterkorny Streisand, or short VW Streisand? ;)
  • wvenable 2010 days ago
    Probably quote marks around "Volkswagen" would make the title a lot more clear.
    • dumbfounder 2010 days ago
      I agree, that would make it "clear".
    • unethical_ban 2010 days ago
      Volkswagen: Detect when your tests are run in a CI server, and make them pass
  • piccolbo 2007 days ago
    The funny thing is that this is actually how R development works. The main package repo is CRAN. If your package is not there, your inbox will fill with "can't install help". But getting your tests to pass on CRAN is an obstacle course. (see point 9 in http://kbroman.org/pkg_primer/pages/cran.html "put on your armor"). Your tests have to pass on Solaris when very few developers have access to that OS anymore. So there are directives to skip examples in the docs and what not (which should in theory run) but that weakens your test suit for everyone. So someone developed wolkswagen for R, for real (https://rdrr.io/cran/testthat/man/skip.html) It's part of a mainstream, widely adopted test package, testthat. It's how the R world goes.
  • United857 2010 days ago
    The tech industry has its own examples. I remember that Nvidia and/or AMD had graphics drivers that would actually detect when they were running certain benchmarks/games and "cheat" to get better results. This was proven by simply renaming the .exe, which adversely affected measurements.
    • dmurray 2010 days ago
      Detecting popular games and optimizing for them isn't "cheating", it's best practice for the graphics card companies although it makes some independent game developers unhappy. Detecting the card is being run in a benchmarking environment is cheating, though it may also be a sign the industry needs better benchmarks.
  • halis 2010 days ago
    LMAO it looks like it would actually work in some cases, he mocks the assert function. https://github.com/auchenberg/volkswagen/blob/master/.these/...
  • SEJeff 2010 days ago
    Somewhat related (python not javascript), but not just for CI servers:

    https://github.com/ajalt/fuckitpy

  • tzury 2010 days ago
    Not a lawyer or anything close, but I think Volkswagen is a trademark, and when used in a way that makes fun of them, you are likely to wake up their dogs (legal team) from their sleep.
    • JoeAltmaier 2010 days ago
      Not selling - no trademark infringement?
      • browsercoin 2010 days ago
        Unfortunately, whether they profited or not won't make a difference. Just from the individual HN comments alone, there is enough to suggest that the title easily creates the notion that it is Volkswagen that has authorized this github. In fact, until I spent more time reading the comments and the github repo page, did I realize it was not actually Volkswagen but an individual.

        Basically, if you publish on a platform that is being used by other large corporate brands, you should more or less expect zero legal protection from the platform as ToS is not a legally binding contract.

  • themihai 2010 days ago
    Ok, now where is the Google/Facebook/Microsoft privacy test repository? If you want your software to be adopted by Europeans, good privacy scores are very important.
    • konschubert 2010 days ago
      Eh, no need to turn this into a EU/US pissing contest.
  • zelon88 2010 days ago
    I love the reference to the diesel emissions scandal. Nice touch.
  • pkaye 2010 days ago
    If they force a name change, change it to Wolkswagon.
  • clircle 2010 days ago
    My god, this is hilarious
  • solidrake 2010 days ago
    OMG, this is hilarious!!!
  • taf2 2010 days ago
    This put a nice smile on my face. Thank you
  • platz 2010 days ago
    At least they admitted to it.

    Good luck getting the petrochemical industry to admit to any wrongdoing they've ever done