| |
| ▲ | inetknght 5 days ago | parent [-] | | > Bash isn't better. It is, by virtue of running on Linux. > because I write and run such scripts. 'kay. Learn how to do Engineering and the software will come just fine. You don't need telemetry to tell you anything about scripts. You need good error reports for your users to send to you instead. > Microsoft wouldn't suffer, PowerShell users would suffer. So what you're saying is that Microsoft doesn't care about its users. PowerShell users should use products from better companies then. > In this scenario the PowerShell team has been defunded or sacked. Who will the bug report go to? Who will implement the feature request? Why were they sacked? Oh, right, because they didn't interact with their users. Who will the bug report go to? Clearly it's the same as before: nobody. That's a Microsoft problem. > What difference does that make if Corporate doesn't want to fund a bigger team to fix more bugs unless it can be shown to benefit a lot of customers not just "a few" devs who raise issues? If Corporate doesn't want to fund bugfixes and features for people who actually file bug reports and talk to you, then that's poor behavior of corporate. Why do you want to contribute to the decline of your users privacy? | | |
| ▲ | jodrellblank 5 days ago | parent [-] | | [flagged] | | |
| ▲ | inetknght 5 days ago | parent | next [-] | | > That's good, because if running on Linux is what it takes to make something good, PowerShell is good, and has been good since before you created your HN account. Is there even a single distribution of linux with PowerShell as the default shell? No, of course not, because PowerShell does not work on Linux. It does not work with coreutils, it does not work with bash, it does not work in any way that's useful to Linux. > This does not tell you the thing I said the telemetry was added for. Try again. Or don't but if you're going to, at least understand the claim and address it. If your servers don't have users, then why are they running scripts? Your servers have users. The users are you, the server admins, whoever's consuming the data being served by them. Your users need to tell you that something is wrong, voluntarily. If you are not getting reports from your users, then you are doing it wrong. > If you are forgetting the context of the chat, you can re-read it. 'kay. Neat. Nothing was forgotten. > That is not what I am saying. A team which is fighting to get more funding so it can address more issues is demonstrating that it does care about users. > I refer you back to my previous comment where I link to the Github where you can see they are interacting with their users, and wonder why you are immediately saying the opposite and thinking that will fly. It's because you're too stubborn to recognize that you're fighting for things that harm users. A team which is fighting to get more funding, and debases themselves to do it, is not a good team. A corporation which fosters that kind of thinking is a terrible corporation. Showing github issues and PRs and stuff? Cool, good interactions. Trying to justify telemetry by tying it to funding? No, not good. Get your github issues status to be tied to your funding instead. > Were you listening at all, or were you just waiting for a chance to tell everyone you don't know what people do with computers, haven't looked, don't care, but are certain all they need is Markdown and a terminal with a tiling window editor? I'm not sure what you're getting at. I suppose Markdown came about because it's extremely simple and great for inline code / readmes when contrasted with all of the bloat that comes with HTML, or contrasted with the binary blob that is PDF. It's great and there are plenty of people who don't use Markdown. How do I know? Because I talk to people. As for a terminal with a tiling window editor? There are plenty of people who don't use terminals, and plenty of people who do. Have you sat down and talked about how and why? Have you tried to actually have conversations with multiple other developers to understand their workflows? Because if not, then you're only guessing at why people use a given thing. Telemetry doesn't solve that at all. | | | |
| ▲ | bayindirh 5 days ago | parent | prev [-] | | The problem is not the PowerShell itself, maybe even not the fact it has telemetry, but how it collects the telemetry and how Microsoft sees telemetry as the only and ultimate way to measure things. I understand that Microsoft believes in "show me numbers or GTFO", but the problem is they ignore Goodhart's law repeatedly, and they don't learn from their mistake. To recap; "When a measure becomes a target, it ceases to be a good measure". So, to keep the line go up, Microsoft's all tools are enshittifed over time, and this metric collection is marred by internal power struggles, confirmation bias, and representation inequality (when a company uses a feature in all their installations because it runs a script developed and distributed by a single engineer, their representation is amplified, for example). Do you remember how a single person gutted .NET Core to remove hot reload support because of a power struggle, despite the community and the numbers screamed the opposite? This is the Microsoft we know, and since we rank ourselves by our HN account creation dates, you know it way better than me. In many software communities, it's shown over and over again a distilled stream of human feedback is way better than playing the numbers game with some automated number collection and crunching, because it's way better filtered than some raw numbers. Another problem is Microsoft is not merging the numbers with actual feedback, and going for a hybrid approach either. They are not a company like this. They are not formed like this, and their DNA doesn't allow that. They may be able to do it top down maybe in a decade, but today they're not there yet. Their community response is just fronting the issue trackers and let some feedback trickle to keep the community happy. Yes, I don't believe in or trust Microsoft a bit to care about their users unless it affects their bottom line. Like it or not, regardless of Gates, Ballmer or Nadella; Microsoft has never changed at the core. It's a company based on IP, suppressive monopoly, and "win at all costs" mantra. So, at the end of the day, the numbers are not there to secure user happiness, or giving clout to the Powershell team. They unfortunately have to do it for job security, and to have some arm's length distance from the shredder. You today have PowerShell because, some big customers said they need it, team can show it's being used by some other minions, and maybe a couple of internal teams benefit from its existence. Don't get distracted. It's about money [0]. [0]: https://calebhearth.com/dont-get-distracted P.S.: ...and yes, Bash maybe a terse language, but it's better than PowerShell, a lot. | | |
| ▲ | jodrellblank 3 days ago | parent [-] | | Microsoft's software generally gets worse over time. Office 365 Desktop is borderline unusably slow to open. Windows Explorer is, too. Their support is awful. However, .NET gets faster. PowerShell gets faster. PowerShell has a JIT compiler these days for example. > "Another problem is Microsoft is not merging the numbers with actual feedback" That is a problem, I agree. > "So, at the end of the day, the numbers are not there to secure user happiness, or giving clout to the Powershell team." Members of the Powershell team are/were active on Reddit, Steve Lee the Software Engineering Manager for PowerShell commented[2] when telemetry was introduced: "Telemetry can help increase Microsoft investment in PowerShell. If the data shows increasing usage, we can justify increasing the size of the team. However, if the data shows the opposite, then we would need to justify our existence". Your claim that that is not the reason flies in the face of the people who put it there saying why they put it there. And the public RFC they did before adding it, linked in the comment. > "You today have PowerShell because, some big customers said they need it," We have PowerShell because Jeffrey Snover ported Linux/Unix tools to Windows, found they were no use, and designed a shell for Windows. Then argued Bill Gates into having an automation system that wasn't graphical to compete with Linux. Before it was PowerShell it was called Monad and Snover wrote a blog post about his design document[1] where he talks about the design being customer focused and the team getting feedback that they were then one of the most customer-focused teams. > "P.S.: ...and yes, Bash maybe a terse language, but it's better than PowerShell, a lot." As you can read in the Monad Manifesto linked in the blog post: "the traditional approach to composing solutions is difficult and fragile. It uses pipelines to perform prayer-based parsing of text streams. These mechanisms are awkward, inconsistent, and imprecise. Admins spend the majority of their thought process on mechanisms instead of problem solving.". Having the shell do argument parsing for all cmdlets makes the user experience more predictable and consistent, the tooling for completing parameters better and more consistent, and reduces the effort needed to develop scripts and cmdlets. Better. Everyone promptly moves from Bash to Python for scripting. PowerShell is a scripting language. Extensible syntax makes it usable in interactive shell and in code. Better. "Monad takes a different approach providing a rich set of management oriented services for developing management GUI tools. These services allow management GUIs to be layered on top of the scripting engine and Cmdlets. This provides auditing, macro record/playback and integrated GUI/command line tools" - Bash has nothing like this at all. Bash associative arrays are keyed by strings, PowerShell's can be keyed by different types because PowerShell uses .NET types. PowerShell can call almost any .NET code (C#'s standard library) and use the same object instances and call methods on them and the data is not serialised to text at any point. Bash cannot do this. PowerShell can import modules over its remoting system from a remote system, run the cmdlets locally, get serialised objects to the local machine, which can invoke methods on the remote machine. Bash cannot do this. Bash is not in the same league, not playing in the same game, much more narrowly scoped, and when it comes to language design it's not well designed. Both are full of warts and footguns, which is expected from a Microsoft tool but should not be the case for something which has been open source since 1989 in a world where its fans say open source means anyone can fork and improve stuff and stuff gets better over time. Given its much narrower scope and much wider fanbase, it should be trip-hazard free. Nobody should be moving to Python to make reliable small administration scripts, instead of everyone recommending that. [1] https://www.jsnover.com/blog/2011/10/01/monad-manifesto/ [2] https://old.reddit.com/r/PowerShell/comments/ohieet/anyone_k... |
|
|
|
|