back to article Your wget is broken and should DIE, dev tells Microsoft

Well, that didn't take long: within a week of applause for Microsoft's decision to open-source PowerShell, a comment-war has broken out over curl and wget. For those not familiar with these commands: they're open source command line tools for fetching internet content without a browser. Apart from obvious applications like …

Page:

  1. Anonymous Coward
    Anonymous Coward

    Whatever you do, don't run fsck. (It installs Windows 10)

    1. John Sanders
      Pint

      Whatever you do, don't run fsck. (It installs Windows 10)

      You sir won the interwebs today, have a pint on my behalf!

  2. thames

    Taking over the wget and curl names to provide something incompatible and far less capable was incredibly stupid. That in itself is a breaking change.

    It's as if Microsoft kept substituting MS Paint every time you tried to run Adobe Photoshop, and then refused to stop doing it because now some people might be used to clicking on the Photoshop icon to run MS Paint.

    The user response isn't a factor of open source. It's a factor of people having a communication platform to respond to problems which isn't controlled by Microsoft and can't be silenced by their PR people.

    1. Notas Badoff

      Relating to the outside world

      It is when Microsoft's world and the real world interact that we find out how narrow and small is Microsoft's understanding of, or experience with, the real world. Way back when it was considered by them a negative if you had any experience with other operating systems or non-native toolsets. I think that must still be true. This is self-inflicted, just like stack ranking. Very sad. Very predictable.

      1. Mage Silver badge

        Re: Applause and wget

        I've had the windows build of wget for ages on XP, without ANY *nix shell or Powershell thing.

        What applause? I never noticed any. This is a halfbaked project.

        I use Linux now for everyday netbook & workstation. XP, Win98 etc on some old HW for legacy HW I/O to program old gear via serial or parallel ports.

      2. John Sanders
        Windows

        When Microsoft's world and the real world interact...

        It is not even that, PowerShell solved (more or less badly and for the second time [wscript anyone]) an issue that existed in the Windows side of things.

        PowerShell does not solve any problem in Linux, this is not a question of PowerShell being better or worse, PowerShell does not provide anything on Linux that's not there already in a better more refined fashion.

    2. Robert Helpmann??
      Childcatcher

      Too little, too late

      "It's a factor of people having a communication platform to respond to problems which isn't controlled by Microsoft and can't be silenced by their PR people."

      Such a shame it wasn't in place prior to Windows 8. Perhaps criticism of PS will convince them to scrap it and start from scratch. I mean, whatever they came up with would have to be better, right? Right?

    3. Sirius Lee

      This seems like just an anti-Microsoft gripe from the Linux fundamentalists.

      #1 PowerShell aliases are not commands on the command line except in the PowerShell command environment, so don't use it.

      #2 PowerShell command aliases can be changed.

      Don't want wget to do what it currently does? Then change the alias which is a reference to .NET assembly entry point.

      There is an opportunity here for an enterprising developer to provide a PowerShell module to change the aliases so they more closely meet the expectations of Linux users.

      Or on the other hand, we can be subjected to the usual whining expected from Linux users when confronted by anything from Microsoft.

      1. GrumpenKraut
        Facepalm

        > This seems like just an anti-Microsoft gripe from the Linux fundamentalists.

        Wow, every single sentence in your post is a little gem of stupidity.

        1. hplasm
          Happy

          Wow, every single sentence in your post is a little gem of stupidity.

          Where 'little gem' is an alias for Kohinoor Diamond

          1. T. F. M. Reader

            Re: Wow, every single sentence in your post is a little gem of stupidity.

            Where 'little gem' is an alias for Kohinoor Diamond

            ... but only if ruby is not installed.

      2. Roo
        Windows

        "This seems like just an anti-Microsoft gripe from the Linux fundamentalists."

        We see the same complaints from MS Office lovers every time folks suggest LibreOffice can be used in place of MS Office. Plus in this case MS are intentionally ripping off brand names with the intention of fooling people into thinking they are using the real deal. I'm pretty sure the MS community at large wouldn't react any better to LibreOffice renaming their products Excel, Word, Access and Powerpoint.

      3. John Sanders
        Linux

        Wintards thing everything must work like it does in Windows...

        No, and a thousand times NO!

        In a Unix box (not just Linux) the distinction between the shell and the utilities is: NONE. (The system's design makes automation-shell functionality an inherent quality of the OS)

        The integration is provided by the environment itself, there is no requirement for a program to do anything to be integrated in the shell, and the shell doesn't need to do anything special to interact with a program and automate things.

        To achieve object-level functionality as you do in PowerMeh! all that is required is to have something in the environment that the shell can use and there you go.

        We call that Perl/PHP/Python.

        I haven't bothered to check PowerMeh! for Linux, but if MS have done things correctly in the Unix style I should be able to leverage PowerMeh! and .net scripting from bash or ksh without having to do anything special.

        However I seriously doubt that a lot (Microsoft doing things correctly) every piece of Unix related stuff that I have seen from Microsoft was a pile of crap.

      4. Ken Hagan Gold badge

        "Don't want wget to do what it currently does? Then change the alias which is a reference to .NET assembly entry point."

        And then convince all of your customers to do the same.

        You sound like all those people who say that <insert offensive desktop feature here> isn't a problem because I can change it. Yeah, but we aren't *all* hobbyists playing in our bedrooms, so the out-of-the-box behaviour matters. It is what our customers will be using whether we like it or not.

      5. Lars Silver badge
        Linux

        "the usual whining expected from Linux users when confronted by anything from Microsoft.".

        So how usual do you think this "confrontation" between Linux uses and Microsoft is. Is it not rather Microsoft that is confronted with something they so desperately tried to kill. It must be at least twenty years since I read about Microsoft guys who claimed the shell was "killed" on Windows because people high up in the organization did not understand why a user would ever need it and because it looked so old-fashioned.

        The name PowerShell tells a lot about Microsoft, does it not. You might also notice that apparently some Linux users have voluntarily decided to try it out.

      6. Trixr

        I love PowerShell and use it hourly at work, but I think it's bloody stupid idea from MS.

        It's bad enough they aliased "ls" to Get-ChildItem without (again) the same functionality, but creating default aliases that mask well-known tools that exist outside the shell is stupid.

        If you want to create your own aliases inside PowerShell, that's all good, and if you want to use a well-known name for whatever you've rolled, that's up to you. But introducing it as a default, stupid.

        Thanks for giving the rest of us grown-up and real-world Windows admins a bad name (18+ years Windows experience, but I'm also a RHCT).

    4. Dazed and Confused

      provide something incompatible and far less capable

      MS don't need to break their broken SW here, they could use an environment variable to specify whether users want the "old" broken MS curl & wget or whether they want the get the real curl and wget. This is how Unix and Linux systems have dealt with these types of problems for years.

  3. Mikel

    Recycling this comment from the earlier article

    Because "Those who do not understand Unix are condemned to reinvent it, poorly." - Henry Spencer

    "Do one thing well"

    1. a_yank_lurker

      Re: Recycling this comment from the earlier article

      Slurp's motto "Do nothing correctly"

      1. adnim

        Re: Recycling this comment from the earlier article

        Or do everything poorly

        1. Doctor Syntax Silver badge

          Re: Recycling this comment from the earlier article

          "Or do everything poorly"

          Or do everyone over.

    2. poohbear

      Re: Recycling this comment from the earlier article

      I've said it before (decades ago) and I'll say it again: Microsoft does not grok the Net. Never has, and likely never will.

  4. ecofeco Silver badge

    Typical MS

    Oh so typical MS. So damn typical.

  5. MacroRodent

    Nothing new

    It is the same when you run the FTP command on Windows. After all these years, it still does not understand the "passive" command, which makes FTP work better through firewalls.

    1. HollyHopDrive

      Re: Nothing new

      People still used FTP?

      1. bombastic bob Silver badge
        Devil

        Re: Nothing new

        "People still used FTP?"

        well windows didn't have an ssh implementation for using scp until very recently. And I have to wonder whether or not any of the "standard ssh features" are BROKE-DICK in the *new* PowerSmell

        except, of course, cygwin. scp works fine there. so does rsync. yeah.

        1. HollyHopDrive

          Re: Nothing new

          @bombtastic - that was my point, but all the down voters clearly missed it.

          Hey-ho, looks like people haven't had enough caffeine today.

        2. Anonymous Coward
          Anonymous Coward

          Re: Nothing new

          "well windows didn't have an ssh implementation for using scp until very recently. "

          But it supports https which is more firewall friendly...You can use Powershell to copy files from the command line - for instance:

          Invoke-Command -UseSSL -SessionOption MyServerName {get-content -encoding byte -readcount 0 "C:\windows\system32\notepad.exe" } -Credential $cred |Set-Content -Encoding byte c:\temp\foooooooo.exe

          1. Nolveys

            Re: Nothing new

            Invoke-Command -UseSSL -SessionOption MyServerName {get-content -encoding byte -readcount 0 "C:\windows\system32\notepad.exe" } -Credential $cred |Set-Content -Encoding byte c:\temp\foooooooo.exe

            Wow, it's so simple!

        3. Alistair
          Windows

          Re: Nothing new

          cygwin

          fine

          for standalone machines and single users as a client.

          I have lingering headaches in an AD environment trying to run it as an SSH server.

        4. Nolveys

          Re: Nothing new

          cygwin. scp works fine there. so does rsync.

          There are actually some pretty weird-ass ACL issues in there. It's still the least painful of available alternatives though.

      2. MacroRodent

        Re: Nothing new

        >People still used FTP?

        I still often find it to be the only common way to move files between unlike systems. Even if a better alternative is available for some OS; it may not have been installed by whoever is in charge of the system I need to communicate with. Or there is stupidly configured firewall blocking the way for other methods. I don't think FTP is going away any time soon...

      3. Seajay#

        Re: Nothing new

        People still used FTP?

        Maybe I'm feeding the troll here but I'm going to do it anyway. FTP is great because it's an old universally established standard, and that trumps almost all other considerations. As an example, after spending a long time trying various cloud file sync services for home use I've discovered that what I really wanted all along was just an ftp server running on my main machine. Because lots of applications support ftp they can do the sync, merge and conflict resolution stuff at application level which works enormously better than a sync client which presents applications with what appears to be a local file system then tries to sort out the conflicts itself (which is fundamentally impossible if I have made changes to, for example, a keepass file on two separate machines).

        Integration is one of the most irritating bits of IT. 90% of the time, what you lose to network inefficiency by using FTP over something like rsync is insignificant compared to the hassle of getting more sophisticated systems to actually bloody talk to each other.

  6. Flocke Kroes Silver badge

    If only ...

    If only their were implementations of curl and wget available in source code form on the internet that could be compiled for Windows and distributed for free. Microsoft would be able ship software that has survived decades of testing by demanding techies without having to go to the expense of creating, testing and debugging their own versions.

    1. Destroy All Monsters Silver badge
      Holmes

      Re: If only ...

      You know, they kept shipping a bad implementation of something that looks like a crippled command-line shell for 20+ years ...

      1. Carlie J. Coats, Jr.

        Re: If only ...

        Back many years ago, at their press conference where they introduced Windows NT, the Microsof marketroids doing the presentation claimed, "It complies with POSIX. In particular, it has the Korn shell, 'ksh'."

        When one of the audience claimed, "No, you've got ksh semantics wrong", the marketroid replied, "No I assure you that it is correct."

        "No, it isn't."

        "Sir, I assure that our experts have looked at it, and..."

        Interruption from another member of the audience, "Look, asshole -- that's David Korn himself!"

        So this broken wget is typical Microsoft.

      2. Anonymous Coward
        Anonymous Coward

        Re: If only ...

        "You know, they kept shipping a bad implementation of something that looks like a crippled command-line shell for 20+ years ..."

        Yes, BASH needs to die. PowerShell is a good example of how to do it better...

    2. hplasm
      Meh

      Re: If only ...

      "...the expense of creating, testing and debugging their own versions."

      Well one out of three is something...

  7. Steve Davies 3 Silver badge

    They are quick to shutter services

    when they "embrace" a company (absorb them into the MS-Borg) yet when they clearly make a balls up they say that it will have to go out to RFC because someone might have used their shite in a week?

    And because they want to play by the rules....

    After a while the RFC will be forgotten and people will accept the MS versions of wget and curl as the defacto ones.

    I just get a feeling this is the first attack in their plan to subvert the FOSS movement from the inside.

    If that is the taste of MS to come then watch out FOSS.

    come on Redmond, just pull the Powershell release from Github until you fix it properly. Otherwise folks, use at your own risk with wearing a full Hazmat suit and a 40ft barge pole.

    1. Destroy All Monsters Silver badge

      Re: They are quick to shutter services

      After a while the RFC will be forgotten and people will accept the MS versions of wget and curl as the defacto ones

      What kind of people are those?

    2. Doctor Syntax Silver badge

      Re: They are quick to shutter services

      "After a while the RFC will be forgotten and people will accept the MS versions of wget and curl as the defacto ones."

      OTOH someone might just fork it and replace broken aliases with the real thing.

    3. John Sanders
      Facepalm

      Re: They are quick to shutter services

      >> Otherwise folks, use at your own risk with wearing a full Hazmat suit and a 40ft barge pole.

      No one other than testimonials will use PowerMeh! in Linux because there is no god-damn point to it in the first place!

      This is like trying to come out with a device for voice communication over wires with a limit of 100m and call it "talkphone" when the world already has "telephones" that go over any distance and can even be wireless.

      1. springsmarty

        Re: They are quick to shutter services

        > No one other than testimonials will use PowerMeh! in Linux because there is no god-damn point to it in the first place!

        Disagree. From time to time I need to maintain some stuff in Azure via Powershell, and up until now I had to keep a Windows VM instance just for that.

  8. Neoc

    Usual Microsoft behaviour

    Take a well known item non-microsoft (curl, wget, kerberos), make it available in windows, change it so the window version is not compliant with the non-microsoft version, refuse to make windows version compliant because "it might break out shit", push windows version of said item, call non-microsoft version "broken" because it doesn't play well with windows' version.

    1. NotBob

      Re: Usual Microsoft behaviour

      Didn't they basically do that for years with Internet Exploder?

    2. oldcoder

      Re: Usual Microsoft behaviour

      The order is a bit off:

      1. change it so the Windows version is not compliant with the non-microsoft version

      2. make it available in Windows

      3. claim the Windows version is compliant

      4. refuse to make the Windows version compliant

      5. push windows version of said item

      6. call non-Microsoft version "broken"

      Hey - works for AD, being broken with LDAP/Kerberos/Bind.

      Microsoft doesn't even know how its own software works as MS had to get help from the Samba project for the EU mandated documentation.

  9. Ralph B

    Embrace, Extend, Extinguish

    This is a classic Microsoft tactic.

    The strategy's three phases are:

    - Embrace: Development of software substantially compatible with a competing product, or implementing a public standard.

    - Extend: Addition and promotion of features not supported by the competing product or part of the standard, creating interoperability problems for customers who try to use the 'simple' standard.

    - Extinguish: When extensions become a de facto standard because of their dominant market share, they marginalize competitors that do not or cannot support the new extensions.

    It looks like nothing has changed under Nadella. Zero, zip, zilch, nada. (I guess the clue was in the name.)

  10. Tommyinoz

    And MS put a tablet UI on their server products too

    Microsoft does not live in the real world. I've been convinced of that for some time now.

  11. Chris Hills
    Angel

    It makes me laugh when they argue against removing the aliases due to backwards compatibility, when they recently pushed out a big update that broke millions of webcams and other imaging devices.

  12. Lee D Silver badge

    I assigned my tech a task of turning a Server Core installation into a Server GUI installation remotely using nothing but PowerShell. This involves getting the original Server ISO onto the machine somehow and then running commands that add on the GUI features from the files on that ISO.

    They weren't allowed to use any file they couldn't download from the PowerShell interface itself, though, so it became a real chore.

    The "fake" wget command on PowerShell craps out on anything unusual. You can't get large files. You can't get secure files properly. You can't resume. You can't do anything with it.

    In the end, the documentation started with a step that used PowerShell "wget" to download the REAL wget (from a plain HTTP website), and then carry on from there. Anything else was just too much messing about with strange errors and failed downloads.

Page:

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like