4 ms·
I'm well aware of the existence of powershell and CMD, such things are not a real luxury when you're limited to whatever Windows provides you with as utilities
by dijit 4y ago
I'm well aware of the existence of powershell and CMD, such things are not a real luxury when you're limited to whatever Windows provides you with as utilities as opposed to the astonishingly wide plethora of commandline utilities available else where (where everything is a file and is easy to read, parse, filter, save-).
Windows 2012r2 came with Powershell 4.0, which I'm sure you'll agree was limited in ways that bash is not, since bash is a collection of utilities and doesn't require deep integration with the platform to function.
For example in your example above you use 'Export-Csv', but that was introduced in Powershell 7.0
Am I saying that it's not possible? Not really, powershell can probably do everything I need it to, but it's not as simple as `ssh user@host` and I'm talking in a way that feels native to the system. It requires a paradigm shift in thinking that most of our developers didn't embrace and discoverability is just lower there anyway.
Claiming that winrm is better than SSH is... just the most absurd thing I've heard this year.
The main reason that I got annoyed with Windows though is not the eggregious license cost- it wasn't that it used an enormous amount of resources- the documentation was really nice!
It was that my iteration times on toying with things went from 5 minutes to 25 minutes in the minimum, that doing any kind of exploratory work meant near certainty that I'd be RDP'ing.
This is not a "I hate windows" rant, but the defensive position you have taken here is frankly unpaletable. Windows has it's strengths, and perhaps I am not the person to charter a course to a fantastically well designed "Windows-centric" solution to problems -- but fuck, it worked honestly and it worked better than any of the Windows admins in Ubi could have mustered. Maybe that's a statement about the general competence of windows admins or just the ones at Ubi, I don't really know.
But Windows is a poor fit for dynamic server workloads such as those. The only reason it was chosen was because the game was developed on Windows and against Windows APIs - some of which were even better than Linux ones at the time, like IOCompletionPorts, which I have extolled virtues upon - rewriting the software to work on Linux would have been a hugely time intensive process. That decision cost Ubisoft literally millions of euroes and was a decision that was later reversed- after I left.
So I am not the blame for that.
- jiggawatts 4y agoExport-Csv was introduced in PowerShell v1.0: https://social.technet.microsoft.com/wiki/contents/articles/13769.powershell-1-0-cmdlets.aspx https://social.technet.microsoft.com/wiki/contents/articles/... > but it's not as simple as `ssh user@host` It is literally that simple. Nay, simpler, because authentication is automatic and secure: Enter-PSSession 'hostname' Oh, I'm sorry... too verbose and readable. etsn 'hostname' > since bash is a collection of utilities[1] and doesn't require deep integration with the platform to function. You're also unaware of just how elegant PowerShell's extensibility model is. It runs circles around traditional shells, because you can whip up a new "native" command in just minutes, but with features that would take a week of C programming against the Unix byte-oriented pipeline. The first time I saw something like this, it blew my mind: Import-Csv 'serverspec.csv' | New-VM I wrote some spectacularly complex scripts in bash, and it always felt like digging through dirt, looking for nuggets of gold that everyone promises is there, but I just can't find it. [1] Those utilities are hilariously inconsistent not just between each other, but between distros and even distro versions. E.g.: SSH is so easy, right? Okay, write me a script that can create a sudo-enabled user and install an SSH key for them on every popular Linux made in the last decade. Include Redhat, Ubuntu, Amazon Linux, and whatever else is reasonable. Three "Linux admins" failed at this task, and I had to resort to using ChatGPT and then fixing up the result by testing it against a dozen VMs that took me a day to spin up.
- JamesonNetworks 4y agoThis is a great discussion from everyone! I have learned a lot about Powershell here, so thank you! That said, the comparison to a homogenous windows env and a mixed flavor linux environment is disingenuous. Using multiple flavors of linux is just multiple OSes, of which Windows would be another. The best advice here is to stick to one flavor of linux, which should be possible because there are no licensing fees!
- jiggawatts 4y agoThere is an often overlooked downside to “options”: it means that even well-meaning people will pick inconsistent things unless ruthlessly forced into compliance. Single-choice vendors like Microsoft or Apple remove this variability, which is a big benefit at the scale of large enterprise or “entire ecosystems”. Linux is too flexible, and the inevitable consequence of this is that I have customers that each have a dozen incompatible variations in production. Even if each customer had precisely one version of one distro, my scripts wouldn’t be safely portable between them if they don’t happen to pick the same distro! I’ve got decade-old complex PowerShell scripts I’ve reused across a dozen unrelated customers. That’s a significant benefit. So the comparison is fair.
- hnlmorg 4y agoPeople do standardise on a distro within companies though (I made this point to you elsewhere too the last time you claimed otherwise). And it’s not like Microsoft doesn’t change things around between different releases of Windows. I’ve ran into just as many compatibility issues with edge case software between different versions of Windows as I have with Linux. The key is just understanding the base of your OS as well as your software. This is as true for Windows as it is Linux. And I have Bash scripts written in the 90s, before Powershell was even a thing, that still work now. In fact one of the biggest complaints about POSIX is the age of the specification. So it’s strange that you’re talking about Powershell as if it’s unique in its compatibility promise. I’m honestly questioning just how much experience you have in this field because you talk as if everyone misunderstands Windows yet then go on to make the exact same misconceptions about Linux (and POSIX in general).