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
How about announcing great new technology that actually works today?
Don't blame me; I'm never given mod points.
...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
For all the 13-year olds on /. who think they're funny, here's where the word monad really comes from.
Go somewhere random
From dictionary.com:
mo-nad n.
1. Philosophy. An indivisible, impenetrable unit of substance viewed as the basic constituent element of physical reality in the metaphysics of Leibnitz.
So it's a real word, and I can kinda sorta see why they chose it. I agree that it's unfortunate, though, and I think "MSH" (pronounced the obvious way) is a perfectly reasonable name.
The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
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
I've written a Unix shell that aims to have a lower learning curve than traditional shells. It does this by having a smaller and simpler syntax, and integrated help features.
There is an article about the shell here, and the shells homepage is here.
Try out fish, the friendly interactive shell.
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
Ah, Multics... Now there was an OS that would be really useful these days. It was possible to define security layers so that you couldn't even access your own files without being in the exact right security access level. It would be really funny watching the FBI trying to extract personal information from a properly configured Multics system, where you don't even know what the security levels are called, let alone have access to them...
(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.
You said:
However, until I actually see it implemented I am regarding it as vapor ware and the latest noise from the MS executives version of WWF trash talk.
The GP merely pointed out that there is a beta implementation available. Therefore, widely-installed or not, it's hardly vapour-ware.
You may have meant "shipped with Windows", but you actually said "implemented".
It's official. Most of you are morons.
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.
MSH supports both \ and / for directory separators, and uses - for command options, maybe also / if you want to, don't quite remember, but definitely -.
Beware: In C++, your friends can see your privates!
A shell running in a fullscreen console would have no idea which window manager you were running, or in some cases which X server occurrence has priority for things like "themes".
:-)
Also, if X isn't running, using the X clipboard would not be very useful.
There are some features that would be nice to see when a shell program is running in an xterm, but keep in mind that shell programs also have to run in environments which are totally detached from the X server...
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
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.
Sounds like Paranoia, the RPG.
This requires RED security clearance.
What is RED security clearance and how do I get it?
Attention, User, you have requested information on a clearance level you are not authorized to know about. Please press the red button to complete your termination. Disobedience is cause for termination. Have a nice day.
Apologizes for the lack of updates. We've been heads down getting things things finished up for some deadlines. We'll be dropping a new version on betapace sometime next week. It is about 95+% language complete and interop with existing external programs has greatly improved. We'd love you (and everyone else) to give it a try and let us know what you don't like or how we can make it better. jps
The article is completely correct when it states that Monad started with the ideas from WMIC and then applied those ideas to .NET. It is however, incorrect to think that this means that WMI is in any way being "left behind".
Of the issues Admins had with WMIC is that to do non-trival processing of WMI object, you had to use XSLT or use WSH (e.g. VBSCRIPT). With Monad, Admins get full, admin-focused, command-oriented, language to manipulate WMI (as well
as .NET, ADO, ADSI, XML and OLE Automation objects).
It might be appropriate to compare and contrast the capabilities of Monad and WMIC but not Monad and WMI. WMI is a management infrastructure, Monad is an environment to present those capabilities via command line scripting.
Said another way, the value of writing new WMI providers (and the value of existing WMI providers) increases with the availability of Monad.
Jeffrey Snover
Monad Architect