So many points of interest have been renamed in the past 20 years. I'm expecting the same level of endorsement for those renamings to carry over to this one.
It's so bad that I'd actually take the decades of cruft over it.
It was made by people who don't know how to use existing tools and what the actual problems are. It's like people who keep creating "new" text editors, but they never learned well how to use existing ones. So they end up with crippled half-baked thing that's some concept from the 80s that was discovered to be a dead-end in the 90s, but with modern cosmetics.
PowerShell is just incompetence and hubris of people working for a large company which can push their random garbage software on a lot of users and developers due to having huge market presence.
The criticism of Unix shell coming from the authors of PowerShell and those who like it says something to the effect:
We want modern (and by that they mean C#-like) programming language in shell. We want user types, type checking, structured, modular code.
And they forget that the reason Unix shell is easy in some respects is precisely because it has none of that. Since everything is text, serialization is trivial. But serialization is vital if you need to work remotely between different shells.
Structure will require a lot more operations for composing and decomposing it in order to transmit messages. Equality and identity become a problem.
Custom types are similar to structure, but on top of it present a problem with serialization (somehow both shells need to have same type definitions, and what happens if they inevitably don't).
The problems above not being addressed... what you get is another "scripting" language, of which there are already dozens, with no special benefits when it comes to it being used as shell, but with some problems. Just not worth it and illustrates lack of research and understanding of the problem space on the part of the authors.
" Since everything is text, serialization is trivial. But serialization is vital if you need to work remotely between different shells."
Serialization is trivial in PowerShell but also much more powerful because you can pipe the output of any command to ConvertTo-JSON or ConvertTo-CliXML which gives you very nice STRUCTURED serialization that is much easier to consume.
curl and ps are both aliases in powershell for their respective posh equivalents. For some reason grep isn't though, I'll give you that.
It also has positional parameters meaning you don't have to specify parameter names, though you might as well because tab completion is a thing. And if you're really keen on not using tab completion, it autocompletes parameter names for you meaning "get-help man -e" is equivalent to "get-help man -examples".
Here are less verbose posh commands for your examples.
This is the single worst take I have ever read on Hackernews. You didn't actually give a single concrete reason why PowerShell is bad. I will give a major reason why it is AWESOME:
objects are piped instead of text. This single change makes a ridiculously huge improvement. You are no longer forced to perform incredibly tedious and fragile text manipulation. This also enables filtering on property names and the ConvertTo-JSON command which is amazingly useful.
I've actually written many thousands of lines of Powershell for work and play. I first learned it because Vsphere used it for a CLI but I soon learned to love piping objects and filtering by property name. beat the hell out of bash that is for sure. And the ConvertTo-JSON command is amazingly useful.
Yeah. I also like the PowerShell model of cleanly separating the shell logic itself from various "shell hosts" (of which powershell.exe is just one). The Unix equivalent is the PTY interface, which is too low-level to be optimal.
and I'm curious on the technical details for why it matters for you.
if it's, say, a chrome extension someone whipped up that makes it a button click to generate, or a script someone handcrafted, or somone had an LLM generate, or a fully automated bot doing it off a Cron job, or a billionaire is paying a human in the Philippines to do it by hand, some SV startup millionaire is bored with life and spends too much time here, a college student that has some free time between classes... the end result is a relatively simple post linking back to previous threads.
in what manner does having a human in the loop for that specific post affect your broader feelings about this site?
I encourage users to log context switches and then find tools to address the context switch. Try to stay in your terminal whenever possible .
For documentation context switches (e.g. stackexchange/googling) : install tldr, fabric , devdocs, sdk docs etc . And get comfortable searching man pages with “/“ and man -K
For job/task context switching (e.g. running multiple jobs like a transfer job and a measure-status job), get familiar with bash job control or tmux
For history context switching (e.g. re-running an old command) , set a long history like HISTFILESIZE=100000 and use ctrl-r. If you ever run out of history, make it bigger . Also dump helpful commands into a README.md with echo COMMAND ARG1 ARG2… >> README.md . Fzf is also helpful.
For context-switches stemming from missing settings / dot files, set up “dotfiles bare git repo”. You can push this repo around with SSH, so every fresh machine will have your settings on first login.
The challenges in her survey are common, and I wish shells did better user onboarding and tutorials, the way games and consumer apps do. But each one can be addressed with the right preparation.
That’s true. And in most other posts, the HN community is predominantly supportive of cyber criminals redeeming themselves as security experts. It’s informative that this case receives the opposite reception.
My mental comparison is someone like Marcus Hutchins [0]. He committed some relatively low-level cybercrime, redeemed himself, and served a punishment for it.
That's someone I'm absolutely OK with rejoining the real world.
But the critical thing is the community Coristine was a part of. It is legitimately classified as a child exploitation ring, and as a terror ring. That requires a lot more eyebrows before one even begins consider him rehabilitated.
Almost all the top tier infosec professionals had a grey-hat history. The successful ones are not likely cringe posting on LinkedIn so you wouldn’t have any idea of the successes, only the failures.
Of course we all want to say : see, obedience and hard work pays off. I’m glad I didn’t do anything reckless. The truth is that the real successful people keep it to themselves.
Vibes. Mac culture in the 90s was reactionary and distinct from PC culture. Remember the “I’m a Mac – I’m a PC “ commercials? Those were downstream of the Mac user culture.
It seems this post was embargoed for about a day. I had almost lost faith in Hackernews community for not recognizing the splendor of resurrecting Hotline. Glad to see this project get the admiration it deserves.
reply