You want evem more shame here? They basically copy/pastef a solo dev effort called Appget back in 2020 after stinging the dev along about a possible Microsoft job.
Then, duting the annoucment of winget, they didnt even mentiom his app that it cloned entirely.
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.
Another link to the article the Dev recommends:
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.
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 page where that text is from.)
Ansible, the declarative configuration manager
Ansible declarative? That takes a lot of effort I think.
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 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?
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 proper kernel is introduced.
I’m guessing such mismatch problems would crop up in other places too.
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.
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.
sent this to a friend, his response:
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. _
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.
curl.
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.
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.
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.
I’d say Win11 is a joke but its more like a slap in the face.
And a joke…Its still a joke…