Windows to Have Better CLI
MickyJ writes "The command line interface to the Windows Server OS will be changed to the new Monad Shell (MSH), in a phased implementation to take place over the next three to five years. 'It will exceed what has been delivered in Linux and Unix for many years', so says Bob Muglia, a Senior VP at Microsoft." More from the Tom's Hardware article: "The language in Muglia's comment offers the first clear indication that WMI may be yet one more component being left behind, as Microsoft moves away from portions of Windows architecture that have historically been vulnerable to malicious attack."
Unix have no Monads.
Gr@ve_Rose
!ekoj on si aixelsyD
"The language in Muglia's comment offers the first clear indication that WMI may be yet one more component being left behind, as Microsoft moves away from portions of Windows architecture that have historically been vulnerable to malicious attack."
1. Write complex management interface
2. Shore up security holes over many years of use and testing
3. Ditch for new immature code
4. ?
5. Profit!
If they're ditching WMI it *won't* be for security reasons.
Microsoft ignoring the command line is just as silly as ignoring the Internet. It's only taken them longer to realise because only power-users and sysadmins are affected instead of every user.
Next Headline on Slashdot:
Microsoft Pushes Back Longhorn Until 2008 Over New CLI and Changing of "My"
Dashboard Widgets
Bah:
"...will exceed what has been delivered in Linux and Unix for many years. It will take three to five years to fully develop and deliver."
Somehow I'm not too worried.
They change their entire platforms over 2 years, and MS will spend 3-5 years changing the default shell? :p
...you just gotta go download it from here.
Weaselmancer
rediculous.
Unless I can get transparent terminals. That is what really holds back MS in the server market. I mean, how useful is a shell unless you can see through it?
Isn't this just a case of: "Those who do not understand UNIX are condemned to reinvent it -- badly". -- Henry Spencer.
Soon they'll be storing config in files, and have a CLI only version of their server.
Get your own free personal location tracker
From someone I know who uses it:
It is interesting that they are now trying to implement a command line competitive with BASH....what year is this again?
The year is 1973. Apple Computations Inc. have just announced that they are switching to the cutting-edge Zilog Z80 architecture for their range of low-cost pocket calculators; Sony Industrial Consumer Electronics are making use of an innovative new Integrated Circuit for their Alpha-Max-3 video system which contains at least five separate transistors; the Duke Nukem Forever board-game has been given a favourable reception at the Entertaining Entertainment Exposition at the Crystal Palace, London, and now Micro-Soft-Ware are designing their new, BASIC-derived timesharing shell for competing against the burgeoning MULTICS.
Well, you did ask...
Tedious Bloggy Stuff - hooray?
A quick list of functions and examples, looks very Bourne.
l 9.MSHQuickStart
http://channel9.msdn.com/wiki/default.aspx/Channe
Its about bloody time.
VBS is a peice of crap, and is way to complicated for what should be simple tasks, MSH looks pretty damn promising.
There are two and a half things that bug the hell out of me with the current CLI:
1. The tab completion behavior (the 'half' part of my 2 1/2 gripes is sometimes you have to fiddle with a registry setting to turn on tab completion). A unix shell (well, the one I'm used to, not even sure which) will complete only up to the point where its unique, and then I can hit Ctrl-D to see possible completions. A lot more predictable than tabbing through all completions that might fit what you've typed...the distinction between "characters I typed myself" and "characters showing up because I'm cycling through" has no visual cue, even though it completely controls what files get shown.
2. up arrow behavior. It took me a while to finally "get" the logic of Windows...if you type command A, then command B, then command C, then arrow back up to B and run that, pressing down will then take you to C and up will take you to A. I think that it's meant to cover a long sequence of commands that you do over and over, so you don't have to keep uparrowing, but just pressing down once per repeated command, but its much harder to keep a mental model of.
Both of these things are classic Window's trade off of predictability for perceived "user friendliness". I think hackers often prefer predicitability and ease of mental modeling, since they can always make it easier by some scripting or whatever.
On the other hand, I like that I can add "\.." to the end of a filename and get to its directory. That's something that seems logical to me that Unix shells don't generally do.
SO YOU'RE GOING TO DIE: The Comic for Dealing with Death
Monad scripts can pipe out and pipe in objects
This is trivial to implement with a programming language that supports serialization, esp. if it can serialize to stdin/stdout.. In Objective-C, it's a simple matter of objc_open_typed_stream(stdin, OBJC_READONLY); and objc_open_typed_stream(stdout, OBJC_WRITEONLY); and read:'ing and write:'ing to the stream.
I'd suggest you take of your Microsoft bashing hat and come out side, Monad has been in public beta for nearly a year now, want to take a look?
1. You will need need a passport account. If you do not have one yet, you can sign-up for one at the beta website listed below.
2. Goto http://beta.microsoft.com/
3. Log into the site using the following guest ID: mshPDC
4. Select Microsoft Command Shell
5. Select Survey in the left column
6. Register with a valid email address.
7. Wait for the information to be sent to you through email. (May take a day or two)
8. Once you receive your confirmation email, log back into http://beta.microsoft.com/ for the content
Help Brendan pay off his student loans
(courtesy of mopslik. Original post.
i saw an early alpha over 2 years ago. I was blown away.
:/ The early alphas were releasable, imo. Especially compared to cmd.exe, which is squarely awful :)
Note that prior to joining MS, i did admin and development work on linux, solaris, irix, and even hp-ux. i know my way around a unix shell pretty well. I started making noise a few years back about how awful cmd.exe is and how we need a real scriptable admin experience. Some people said "go check this out". I was blown away at what they already had.
There are some things about MSH that are really, really good. I'm looking forward to it. I'm frustrated that a lot of the early momentum it had seems to have fizzled and its now bogged down in "product development"
My opinions are my own, and do not necessarily represent those of my employer.
i see that some brilliant person modded me as "troll". nice :/
.net objects which can be reflected, you get intellisense on the commandline, like working in visual studio. you dont necessarily have to remember properties and what not from object streams - it infers them for you.
:)
anyway, heres what i thought was cool
- entirely object based. objects are pased via pipeline composition. that means you can do something like
ls | pick name, size | tableout
ls is going to return you a collection of "file" objects. the file object has properties "name" and "size" (and lots of others). the pick command takes each incoming object, and looks for properties called name and size. it then passes down a "new" object that is a bag of the name/size combos (or, it may pass along the original file objects.. i dont remember precisely). finally, tableout is a generic formatter that takes objects and formats them one per row, where each property in the object is displayed in a column.
note that you could replace tableout with say, csvout, or maybe "Excelout"
so the pipe paradigm changes in a way thats pretty cool.
Also, because you're working with
(note that a problem i asked them about when i saw the demo - if you have a pipeline where you want tab completion in stage 3, but stage 1 "modifies" state (i.e. in stage 3 you are reporting on what you deleted in stage 1) how do you get the tab complete info without doing the state change in stage one?.. they were aware of this problem and were thinking about it.. but that was years ago
finally, what was cool is that across MS people are buying into the idea that a commandline shell that manipulated object representations of data in a generic way was going to be the path forward for adminsterting windows. Consider that the IIS metabase is now xml instead of what it used to be.. and that msh is a shell that works on structured objects... its not coincidental.
My opinions are my own, and do not necessarily represent those of my employer.
There is an apocryphal story about someone from MKS and an MS flack giving a joint presentation on their UNIX toolkit for Windows.
During the bit about KSH an old guy at the back kept piping up with comments like "that feature wasn't implemented properly" and "that doesn't conform to the specification". Apparently the MS flack expostulated a lot and try to cast doubt on the old guy's qualifications. It was only then that it was pointed to him that the person making the comments was David Korn.