• BilSabab@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 day ago

    I’m beginning to think that Microsoft is trying to pull a New Coke with Win11 except that’s probably giving them too much credit.

  • JackbyDev@programming.dev
    link
    fedilink
    English
    arrow-up
    17
    ·
    3 days ago

    Reminder that the Windows devs copied AppGet, even spoke with the dev of it, but refused to hire them. Reminder that just because something is legal with regards to FLOSS tools, it doesn’t mean it is ethical. It’s stories like this that I think people need to think long and hard about when making FLOSS stuff and whether you want to use a permissive license. A copy left license wouldn’t have necessarily prevented this, but this is the competition. They don’t play nice.

    https://keivan.io/the-day-appget-died/

      • apftwb@lemmy.world
        link
        fedilink
        English
        arrow-up
        15
        ·
        3 days ago

        See the bottom of the image. They aliased it to something called Invoke-WebRequest

      • eli@lemmy.world
        link
        fedilink
        English
        arrow-up
        4
        ·
        2 days ago

        They have their own version of curl built and they love to never update it. There’s active vulnerabilities with their version of curl going on 6+ months now.

        And you can’t update it manually otherwise it breaks Windows as other libraries built into Windows relies on that specific version they’re running.

    • Toribor@corndog.social
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 days ago

      Normies wouldn’t know what to do with winget anyway. Somehow installing random executables downloaded from a browser is still considered ‘easier’ than using a package manager.

  • scrion@lemmy.world
    link
    fedilink
    English
    arrow-up
    156
    arrow-down
    1
    ·
    4 days ago

    The cherry on top is the warning about the PowerShell team cooking up their own version of a download command with an incompatible syntax, but still calling it curl.

    • Elvith Ma'for@feddit.org
      link
      fedilink
      English
      arrow-up
      40
      ·
      edit-2
      4 days ago

      Microsoft just set a system wide default alias in Powershell for Invoke-WebRequest called curl.

      While I get their reasoning for that (I mean, they also aliased e.g. ls and dir to Get-ChildItem which is the same, but way more powerful than the OG commands the aliases hint at), the problem is, that in all those cases the arguments don’t match. Something that plays in the favor of Powershell is that arguments are not case sensitive and do not need to be written in full, as long as they’re distinct - e.g. -Force may be abbreviated -f as long it’s the only argument starting with f. While dir or ls is somewhat likely to be called without arguments (or maybe -f) that’s definitely not the case for curl.

        • Elvith Ma'for@feddit.org
          link
          fedilink
          English
          arrow-up
          12
          ·
          3 days ago

          Yes. Somewhat. In Powershell dir is an alias for Get-ChildItem.

          While dir . or dir C:\test\ works as expected, you could also do this: dir HKLM:\HARDWARE -Recurse -Depth 5 which will list your registry from the local machine from the key HARDWARE recursively - but only to a depth of 5 levels.

    • The_Decryptor@aussie.zone
      link
      fedilink
      English
      arrow-up
      7
      ·
      3 days ago

      They don’t do that anymore in new versions, but you still need to actually use the new version to get that behaviour. It’s a bit of a pain since the “fixed” version is in the MS store, the broken one is a base system component.

      It also hits the people who use the terminal the least, anybody who uses it regularly will just install the new shell at the same time they install the new terminal and always get the new clean behaviour.

    • [object Object]@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      4 days ago

      Funny thing: judging by the styling, that text might be from the documentation for Ansible, the declarative configuration manager. Well, you can’t run Ansible itself in Windows, you need a *nix vm, even if WSL — though you can control Windows machines via Ansible. Afaik the same is true for the popular alternatives Salt, Puppet and Chef.

      (Though I couldn’t find the screenshotted page.)

      • brbposting@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 days ago

        Can’t find it via web search 🤔 interesting it wasn’t published in that same form, feel it’s rare to come up empty on something like this

        • [object Object]@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          2 days ago

          I generally have very mixed results with searches for longer text, these days. At some point, search engines overshot with synonyms and such fuzzy matching.

      • Laser@feddit.org
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 days ago

        Ansible, the declarative configuration manager

        Ansible declarative? That takes a lot of effort I think.

        • [object Object]@lemmy.world
          link
          fedilink
          English
          arrow-up
          3
          ·
          3 days ago

          Hm? Most of the time the config is like ‘these packages should be installed, and these files should be in these directories’. Even stuff that requires running shell commands can and should be written in an idempotent way, basically just checking if the changes are already done.

          Though Ansible kept introducing features like loops and conditionals, but the latter are required for aforementioned checks, and loops are useful for sanity. I’m more irked that they basically reinvented Lisp again, but with an inconvenient syntax.

          • Laser@feddit.org
            link
            fedilink
            English
            arrow-up
            2
            ·
            3 days ago

            I was talking about playbooks mostly, not individual tasks.

            E.g. if you have a playbook where in one location you make sure a package is installed and in another to add a line to its config files, you need to ensure installation is performed first.

            Another generic example is conflicting definitions, e.g. you define a package as present and somewhere else you define that one of its dependencies should be absent. Depending on the order, you either get an error or it works fine (but ignores the package absent directive). Or is my understanding wrong here?

            • [object Object]@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              edit-2
              3 days ago

              You’re correct, of course — the tasks have to run in a certain order. I can vaguely imagine a config manager that calculates dependencies between the tasks before executing them, kinda like apt does. However, considering the complex relations between various kinds of things like packages, files, keys in a database like Gnome’s settings, running programs, etc., I doubt that it would be feasible to do that. One would have to describe the entirety of these relations for a program, in a format understandable by the manager — or at the very least write a bunch of checks for the prerequisites. Idk if anything like Nix attempts this kind of thing.

  • ArchBTW@ani.social
    link
    fedilink
    English
    arrow-up
    20
    ·
    3 days ago

    I’d say Win11 is a joke but its more like a slap in the face.

    And a joke…Its still a joke…

    • BilSabab@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      3 days ago

      i was forced to switch to Win11 and after three weeks my employer straight up apologized and allowed to switch work computer to Mint. And then much of the team also switched to Mint and it turns out your computer can still feel like the machine from the future when its OS is not a bloated spying mountain of crap

    • Postimo@lemmy.zip
      link
      fedilink
      English
      arrow-up
      21
      ·
      4 days ago

      Finally, I will memory safe when I accidentally send a broken Invoke-WebRequest 🙂

    • greygore@lemmy.world
      link
      fedilink
      English
      arrow-up
      32
      arrow-down
      1
      ·
      4 days ago

      Glad he went with Terry Davis and not Richard Stallman.

      Note: This is posted in the same tongue in cheek manner as your image and not meant to conflate Bill Gates and Richard Stallman.

      • PotatoesFall@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        18
        ·
        4 days ago

        Yeah lol. Unlike Gates tho, Stallmann actually felt the consequences of his words, and was removed from the FSF. Later he said he had been educated and apologized for his previous statements, he’s back at FSF now.

        • Credibly_Human@lemmy.world
          link
          fedilink
          English
          arrow-up
          4
          ·
          3 days ago

          Bruh, hes pro child rape.

          He was friends with epstein.

          You can’t just apologize and undo things like that.

          It is a travesty he continues to be a part of that organization considering the no code/subtraction he contributes,

          I bet there are a lot of donations they could be getting but aren’t purely because of this, and the fact that he clearly had some sort of leverage on them to be able to be reinstated.

          • PotatoesFall@discuss.tchncs.de
            link
            fedilink
            English
            arrow-up
            3
            ·
            3 days ago

            Hm maybe I’m misinformed. Last time I read about this, I recall he was friends with somebody who was implicated with Epstein, not Epstein himself. And I recall reading that he later backpedaled on his statements before being reinstated.

      • Credibly_Human@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 days ago

        It is truly unfortunate so many figures people foolishly look up to are just secretly (or not so secretly any more) comically evil.

  • TriangleSpecialist@lemmy.world
    link
    fedilink
    English
    arrow-up
    52
    arrow-down
    1
    ·
    edit-2
    4 days ago

    Winget is such a half-assed effort. Updating the terminal? Terminal shuts down and you need to open it and run the update again. Updating something else? Maybe it’ll change the binary location and not update the path, just for fun (happened twice with LLVM stuff for me). This update failed for some reason? Try to run update again only to be told no updates are available.

    • rainwall@piefed.social
      link
      fedilink
      English
      arrow-up
      21
      ·
      edit-2
      4 days ago

      You want even more shame here? They made Winget by basically copy/pasting a solo dev effort called Appget back in 2019 after stringing the dev along about a possible Microsoft job.

      Then, during the annoucement of winget while they lauded other windows package managers, they barely mentiom his app they copied nearly 1 for 1.

      • TriangleSpecialist@lemmy.world
        link
        fedilink
        English
        arrow-up
        11
        ·
        3 days ago

        Textbook Microsoft move. Thanks for the link, that was an interesting, if disgusting, read. I loved in particular that they were difficult about reimbursing his travel. You’d think a multi billion dollar company would be able to pay for however much a plane ticket and possibly a hotel stay was…

        That’s not the first time I hear something like that from a big company. I saw a talk by Matt Godbolt (compiler explorer) mentioning that NVidia took more than a year to pay him some contribution they said they would for the CUDA support. Can’t remember the figure, but it was ridiculously low.

    • DefederateLemmyMl@feddit.nl
      link
      fedilink
      English
      arrow-up
      4
      ·
      3 days ago

      Winget is such a half-assed effort

      And most of the time it just downloads the msi package or the installer exe and runs that, and you have to click through that. It doesn’t actually keep track of what gets installed.

  • underisk@lemmy.ml
    link
    fedilink
    English
    arrow-up
    33
    ·
    4 days ago

    Remember when WSL was an actual compatibility layer instead of a VM? Imagine if they had just gone further down that road instead of whatever the fuck this shit is.

    • [object Object]@lemmy.world
      link
      fedilink
      English
      arrow-up
      11
      ·
      4 days ago

      Afaik original WSL suffered from the fact that filesystem syscalls went through Windows’ APIs, which allow user-level third-party programs to plug in at many points — like path resolution, block access, etc. Which also involves switching the context between the kernel and userspace a bunch of times. File access patterns in Linux apps worked poorly with this. Plus Linux apps expect the filesystem to cache metadata, which Windows doesn’t seem to do.

      Much of this is mitigated when file access on the Windows side is done by chucking blocks into and out of a virtual disk, and when a kernel with the whole caching thing is introduced.

      I’m guessing such mismatch problems would crop up in other places too.

        • [object Object]@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          arrow-down
          1
          ·
          1 day ago

          Loop mounting is implemented as a separate syscall? But why? I’d expect it to be a parametric thing like mount("loop", ...)
          ლ(•ᯅ• )ლ

          Or do you just mean the whole feature was absent? I’m less surprised by that than the fact that loop mounting might be a separate syscall. Considering stuff like the fact that in NTFS, symlinks to files and to directories are two different things, and the program creating a symlink must distinguish which target it needs.

          • tibi@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            21 hours ago

            Mounting in general is a system call, loop mounting is the particular case that is required for features like snap to work

  • MonkderVierte@lemmy.zip
    link
    fedilink
    English
    arrow-up
    19
    ·
    4 days ago

    Installing Scoop or Chocolatey isn’t much easier either (Powershell permission system) but at least they work and arent stolen from Appget.

  • Echo Dot@feddit.uk
    link
    fedilink
    English
    arrow-up
    17
    ·
    4 days ago

    I would be interested to know when that version was current because that’s extremely out of date.

  • Milenya@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    23
    ·
    4 days ago

    Scoop is such an excellent package manager for Windows in my experience. It makes the best of what it’s given and it’s usually as seamless as using Linux.

    All Microsoft developer tools (and that is the target user for Winget) have felt so janky to me. Also, their documentation sucks most of the time.

    • Midnight Wolf@lemmy.world
      link
      fedilink
      English
      arrow-up
      14
      ·
      4 days ago

      I use Chocolatey, but I’ve looked at Scoop before. Any big differences between the two? I just don’t want to relearn commands and edit scripts (for multiple machines, and scheduled tasks) if I get the same outcome…