This is a really neat project. But the website undersells it. It took me until reading the docs to understand that this is an alternative to many raw Windows utilities / PowerShell commands, which (to me) are notoriously hard to remember and have goofy capitalization.
Really, really great. But both the landing page and the About page desparately need a "quick to see" example of the project. I didn't even read past the first paragraph in the About page, to be honest. Make it prominent what the app is right away on the splash page.
Your examples aren't Powershell commands, they are Windows command line utilities and could be run from command prompt. Real Powershell commands are quite intuitive, support pipelines and are object driven. Give it some credit! For example:
Not only that, but aliases are also guessable as they are created using the same pattern, one or 2 letters for noun and usually 2 for verb: rjb Remove-Job, etsn Enter-Session, gc Get-Content, gps Get-Process (but also ps for historical and even more discovery resons)
In my book, anybody complaining about terseness of powershell knows 0 about it and should be treated as ignorant. Give me a random bash command and I will probably make it shorter in Powershell without any custom made mumbo jumbo.
In it you can see things like `groups` in `Show-Group` that can be used to show Windows groups you belong to, or typical linux commands for machine restarting in Shutdown.ps1 (halt, reboot...) and something I use zillion times a day:
function Enter-Parent { cd .. }
function Enter-GrandParent { cd ..\.. }
sal .. Enter-Parent
sal ... Enter-GrandParent
Aim of the project is probably to have more standardized syntax sugars rather then each person inventing their own...
> Windows command-line interface with syntax that is terse and easy to understand.
Funny. The verbosity of Powershell was definitely a turn-off before I started using it... but it wasn't long before I came to see it as one of Powershell's greatest strengths. Verb-Noun is great for discoverability and a script that avoids aliases should be understandable by someone who doesn't know the first thing about Powershell, what the script does, or even scripting in general.
I disagree. You spend very little time learning a language, compared to the amount of time you spend using it. It pays to take the up-front cost of learning the language in exchange for increased productivity later.
EDIT: consistency, discoverability, and user-friendliness are all important. But those are all as part of productivity, where productivity is optimized for people who have already spent a decent amount of time learning the shared language; that is to say that terseness, consistency, and discoverability all work together. This is why sed syntax is not so terse as machine language, because sed is still designed to be used by humans.
On the contrary, that is exactly why terseness is an anti-feature.
Most of the stuff only gets written once, and is read multiple times across the years from team members and external consultants with different degrees of skill levels.
Automatically completion on CLI and IDEs have solved the "too many letters" problem for decades now.
Again, this is why user-friendliness and consistency are important. Terse code should still be easy to read. It should be easier to read than the equivalent less-terse code, since there is literally less visual material that you have to parse. It's a language; you have to learn it.
It seems like what you’re saying makes terseness seem worse. If you’re only writing once as you say, then the terseness will make any debugging or going back to the code much harder.
The only gains you’ll get are the minimal speed gains with terse names.
No, it doesn't. PowerShell has aliases like `cls` for `Clear-Host`, but no "short variants". Maybe this is a bit nitpicky, but wording is important since aliases should for example not be used in scripts as they may be changed, hence you should always use the terse or complete commands.
Yes it does. Its not only about aliases but number of other mechanisms such as shortening of parameteres to unique substring, parameter aliases, proxy functions, pipeline vars, pipeline properties, default global properties etc. All those together enable short variants.
> Aliases should for example not be used in scripts as they may be changed
Nonsence. Default aliases din't change at all from v2 - v5, they changed a bit by necessity with pwsh (v6), and cmdlets can and do change, and changed more then aliases (particularly with v6, especially network). Using full name doesn't guarantiee more stable script then using aliases, you need to use full qualified cmdlet name to have that which is not something anybody uses.
1. As a replacement shell, it's not scriptable. If you haven't already, you should make it such that you can do one-shot commands from a regular shell without entering the full environment. For example:
igloo crypto connect <name>
2. There is no highlights section on the website talking about why this project is awesome. You need examples of things that any IT person will instantly recognize as gold.
3. I was having trouble navigating the docs section from a mobile device. Desktop interface works perfectly, though.
4. Change your about page. You're denigrating yourself, and making yourself and the project look weak. This project is an amazing accomplishment, so present it and yourself as such!
Igloo simplifies Windows administration by offering pre-made aliases for lengthy
PowerShell commands. For example, displaying outbound firewall rules in PowerShell uses the following syntax...
Yeah, unless I'm missing something, "automation" seems to be a misnomer. I was looking at it thinking along the lines of something like Autoit, Puppet or Ansible, which just made me confused reading the docs.
Calling it a "simplified administration shell" or "logically organised cli shortcuts" would be closer to what it really is, I think.
Syntax sugars are definitely a part of the app, but it does a lot more than simple 1:1 aliases. I used it to back up the running configs of around 400 Cisco devices last week. Thanks for your feedback in any case.
Im sure I could eventually figure out what tensorflow is for by reading the code, but there are correct ways to convey information about the purpose of a thing.
For example:
Instead of Or, to enable Windows Biometrics: Instead of: Really, really great. But both the landing page and the About page desparately need a "quick to see" example of the project. I didn't even read past the first paragraph in the About page, to be honest. Make it prominent what the app is right away on the splash page.Edit: The new About page is much better!