Done Powershell

Nov 19, 2014
9
0
#1
I recently ran across this discussion:
https://jpsoft.com/blogs/2011/04/whither-powershell/

I actually struggle with the sheer power offered in powershell vs the simplicity of TCC.
TCC is a simple easy to use shell that has a lot of depth and power. TCC generally "just works" I have almost never had a conflict with using tcc vs cmd as my shell in any development environment.

Powershell is a complex swiss army knife that is infinitely configurable. I have slowly become addicted to powershells flexibility as I have customized it to make doing easy things easy. This has had me drifting slowly but surely away from using tcc as my primary shell. Still I often find annoyances with powershell that drive me back to using tcc.

I would love it if you were to invest time into helping with this bridge.
Powershell makes is really really easy for me to do things like:

DoTonight "3:00 am" { echo "I am scheduling something to run on my machine late tonight" }
if(WaitForMyMachineToComeUp) { // A quick little webhost query that checks if the remote machine has rebooted and is ready to run some stuff on }

In addition, remoting is the killer feature for me when it comes to flaky hotel wifi. I can securely work on a remote machine with a MUCH less bandwidth intense connection through https based remoting than almost any other option.

I can do those same things in tcc but it requires quite a bit more work.

Still simple things like:

"C:\Program Files\blah with space\program.exe" just work at the command line in TCC while in powershell I have to do ugly things like:

&"C:\Program Files\blah with space\program.exe"

There are a lot of examples like this.

Also. I love PowerShell ISE for what it is becomming.... except I do things like:
function prompt
{
Draw-BuildReports
$status = hg branch
Write-Host($pwd.ProviderPath) -nonewline
if($status)
{
// Blah write some pretty text indicating branch status et al
}
return "> "
}

Where I do a couple of things:
1) I scan mercurial or git and embed status info about them in my shell.
2) I draw a little colored stack of the last X builds I've run at the top of my shell. This lets me do things like: beditor ; bplayer ; btools ; bsomethingelse

Chaining together lots of builds and I get a nice little report about the pass fail status in the upper right of my shell as things complete.

a) ISE is Dead slow. Its feature rich and with ISE Steroids it's quite a great product... but I can't stand ghost typing all the time. The prompt delay to query hg is okay in the real console, in ise it's intollerable.

b) ISE Steroids makes the console unusable. I can't control the cursor et al. It breaks everything about the console and doesn't replace it with equivalents in a lot of cases.

c) There are a TON of little annoyances with ISE. Things like Ctrl - o isn't relative to the current file you have open in the current editor when the editor is in focus etc.

SO: Even when using powershell I still use TCC for tabs and call it a day.

A number of years ago there was a PASH project that someone was doing on github. This was a cross platform verison of powershell.... I would be a customer for life if TC + PASH + ISE + ISE Steroids were to be the next evolution of Take Command.