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
It's about cotton-pickin' time, for cryin' out loud.
"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.
It is interesting that they are now trying to implement a command line competitive with BASH....what year is this again?
What COLOR scares you??
Me at work!
Monad .. Gonad
.. Gonad
Monad
doesn't that rhyme too well?
Gosh now that I have it in my head I hope I don't end up saying it at work.
Also, who here believes MSH actually stands for Microsoft Shell? I am sure MCSE's will be out there pronouncing it M-S-H.
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.
Now, I don't know much about this but I do have a few questions. What all will this be likely to change? Also, once the biggest company in the world uses it, how will it be so secure? If so many people are using it, arent they more likely to find problems with it? Or am I just uneducated?
Yay, I have a sig.
They change their entire platforms over 2 years, and MS will spend 3-5 years changing the default shell? :p
"...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."
and introducing a new avenue of attack.
I mean I know we want windows to be more secure, but Microsft hasn't exactly got a stellar record of having new replacements be more secure than older ones. I have a feeling that this wil be exploited before it can go gold. WHile I think it is a step in the right direction, I don;t think its enough
How about announcing great new technology that actually works today?
Don't blame me; I'm never given mod points.
Better than Bash? I guess they'll be using Zsh then. :-)
Microsoft can't even deliver a multi-user OS. Even their most advanced server (their data center server ) is still single-user.
They've been saying they are going to deliver things better than Unix for the last 20 years yet somehow they can't
Those who do no understand *nix are doomed to repeat it.... In a shallow, bloated, insecure and doomed manner.
Cheers,
Nick
Clearly he mean better than cmd.exe -- a real accomplishment there...
...you just gotta go download it from here.
Weaselmancer
rediculous.
sed 's/g/m'
In other words, this is vaporware.
01/20/09
Yes, but news? There's even a beta already.
This won't make Longhorn (like everything else apart from the fisher price upgrade) and will end up as a module like WinFS, Indigo, Avalon...
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?
And it's vera nice!
Can you say bash from cygwin?!? thought you could
You mean a CLI that you can cut, copy, and paste to/from? Innovation!
About time MS got on the fucking ball in terms of CLI.
With the first link, the chain is forged.
I do not care about the PR spin being put on this announcement it is a really good thing for Microsoft. The thing I hate about administering a Windows server is that I have to run their terminal services in order to get remote access.
I am on dialup. A good command line interface for remote support? All I can say is HOT DAMN.
See monad and think that it's going to be an emasculated, one testicled command shell that no real man would ever touch out of a jealous regard for the family jewels?
Click here or a puppy gets stomped!
Everyone who read the Wikipedia article on Longhorn, or indeed on Monad has known about this for a long, long time.
By summer it was all gone...now shesmovedon. --
You insensitive clod! What's wrong with MS-DOS batch files??
:error
:end
REM I STILL USE BATCH FILES!
diskcopy a: b:
if errorlevel 1 goto error
echo disk copied
goto end
echo diskcopy has failed
Is this the death of the legacy DOS commands that we have all used?
/dev/hdb1 /mnt/cdrom' ??
Will the c: conventions be replaced (or simply aliased) alias d:='mount
or EVEN WORSE: will I have to swap all my "\" to "/" =)
Are they finally moving to A Better Place(tm) ?
"The price good men pay for indifference to public affairs is to be ruled by evil men." ~Plato (427-347 BC)
It exists. Unfortunately, it is nasty to use. Commands are long and it makes heavy use of COM (So much for .NET). I have no doubt that it will be heavily exploited by virii and phishers. So I don't think bash is in any danger of being replaced.
Sorry my bullshit sensor overloaded.
Actually, MSH has been available for public beta (if you're enrolled in MSDN, anyway) for quite some time now -- I've been using it on my Windows XP box at home just to test it out. In general.. yes, it's actually quite good, and up to the standard of Bash for most tasks. It's a huge step away from the WinXP command prompt, and represents something of a climbdown for Microsoft, who said they would be moving away from the CLI in future OSes. In addition, it may amuse the /. readers (it certainly amused me) that the Microsoft names for commands have nearly all been aliased to their UNIX equivalents by default. Obviously, Bill doesn't expect his names to stick. ;)
Don't you?
...and replaces those portions with new bits that will no doubt be vulnerable to excitingly new and different forms of attack.
Furry cows moo and decompress.
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
Microsoft has never "gotten" regular expressions, and I doubt they're about to. Also, there's still the silly reliance on the file extension to tell the operating system how to handle a particular file.
No folly is more costly than the folly of intolerant idealism. - Winston Churchill
in italy, (in a particular dialect, in a region called "Veneto" (do you know Venice ?)), monad(a) means bullshit.
It will exceed what has been delivered in Linux and Unix for many years
Will they use T9 predictive input? Or maybe vbscript - oh, sorry - vbscript.net for the actual shell? Maybe RemoteDesktop with extra feature of rendering console properly so you can do your shell "stuff" remotely.
No more I say.
Is Microsoft going to release MS-DOS v8? I thought they claim Windows does not run over DOS since win95 :-)
MS's strength historically is being responsive to threats, and to match competitors feature to feature.
Whether this will work against open source software (which ultimately costs nothing, meaning by slow erosion it will eventually take over) remains to be seen. Maybe the next move will be free software (as in speech and beer).
Surur
Information is the location of things. Computation is moving things around.
For all the 13-year olds on /. who think they're funny, here's where the word monad really comes from.
Go somewhere random
"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."
'Those who do not understand Unix are condemned to reinvent it, poorly.'
-- Henry Spencer
It's good to see competition and interest in this domain, it means :
...
- More power to the Windows sysadmins
- Push the evolution of some of the apparently stagnant Unix shells
- This time see a difference between major versions of Bash (I mean I use Bash everyday and didn't see a difference between 2.x and 3.x, I mean a big difference).
-
strcpy, providing root to hackers since 1972!
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.
Indeed they note it will take them 5 years more to make a proper CLI even though they started in 2001.
Kinda makes you think about how much windows is lagging behind unix on the serverside of things.
IIRC, the main difference that MS is touting over traditional *IX shell environments is that pipelines can exchange typed data instead of simply text.
It's an interesting idea, though I'm not sure that I'd call it earth-shattering. This is an interface that applications need to support.
I think that the main way that they could offer value over the *IX world is by providing an lower-learning-curve-shell. Traditionally, this is how Microsoft has managed to offer value over Unix.
I'd like to see the *IX world get a fully-blown DAG-of-programs data stream processing environment, instead of just a linear pipeline. Gegl (the GIMP redesign) does this for graphics, but there's no reason that this can't be a feature that shells provide and something that works with data other than image data.
(Technically you can do this in Unix today with named pipes, which the Windows world sadly lacks, but it's not as nice and transparent as it could be.)
Actually, I guess you could do this with the mingw port of netcat in Windows...hmm...but even less transparent.
The shell that MS had for a while wasn't great, but the virtual terminal absolutely sucked. It was slow, laggy, required you to use the mouse for common operations, didn't follow accepted selection convention, hard-wrapped lines when copying text out of the thing, didn't grow the scrollbar as the scrollback buffer grew, lacks tabs, and about eight million other problems. That, I think, is one of the biggest things that they could improve.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
So.. I wanted to know what the language could do, what it's feature set were etc. so I went to the quickstart guide at the MSH Wiki site ( http://channel9.msdn.com/wiki/default.aspx/Channel 9.MSHQuickStart ).
IMHO this looks a lot like perl, but with enough changed so people dont start looking through their code for 'Copyright (c) Larry Wall'... This is real innovation.. whatever.
Forgive me for being naive, but couldn't Microsoft just develop stronger Windows bindings for Perl? It's battle hardened, already widly known and documented around the work.. not to mention you would ge the benifit of CPAN for additional modules (Would you trust Microsoft to write your date manipulation functions? hah!)
And we all know somebody will work out how to run MSH code from deep within some other subsystem-by-proxy and inevitably cause another wave of virii (by this time Microsoft will be touting it's anti-virus software etc.)
Oh the end is neigh, the sky will fall, etc. etc... I'll just shut up now and get back to some work.
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
For once I wish Microsoft would stop the "This is the most important blah blah", or "It will exceed blah blah!".
.NET and code in it daily, but .NET is NOT taking away marketshare from the Java market.
If there is one thing that Microsoft has proven in the last five years is that they CANNOT exceed what is on the market! I am a big fan of
I wish FOR ONCE, they would develop something and stop the damm hype machine! People critque how long it takes Open Source to finish a product. Frankly Microsoft ain't doing much better!
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
I see a headline: Windows to have NO GUI, who cares?
in an attempt to Curry favor...
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
It's to be a...
secure...
object oriented...
scripting language...
and command shell...
backwards-compatibile with DOS command line...
providing total control over all features of the OS...
better than anything else out there...
for Windows...
I don't see how the Hell can freeze over within next 3-5 years.
Anagram("United States of America") == "Dine out, taste a Mac, fries"
"Reducing scripting privileges may break some existing Web applications, especially intranet apps geared for enterprises."
This is interesting though: Internet applications are catching on, Firefox marketshare has scared Microsoft a bit, and what do they do in response: Fix their security holes by taking away features which now give them a lead in companies?
I would rethink that one it I were head of MS IE division.
My wife's sketchblog Blob[p]: Gastrono-me
MS should just take one of the BSDs and write a nice GUI interface and work on a virtual system to run their old WIN32 code. Apple took a similar approach with NEXT's mach kernel and has been very succesful. It seems as though Apple is now running circles around MS in OS releases ( SP1, Longhorn...) . This new CLI innitiative is another example of MS floundering. MS only number 1 in terms of revenue and not innovation. If Apple is able to crack into the office productivity market it will be bad for MS.
As a Linux user, I have never encountered something that I wish my shell (bash) could do that it couldn't. Admittedly, I don't script operations often (if ever), but, from what I've seen, bash has no end of capability in that arena. Linux also benefits from having perl and often other interpreters installed by default. I'm afraid I don't see how Microsoft is going to build on the shell/CLI capabilities of Linux/Unix, but if they can find a way, I'm eager to see what it is.
I hope to god there are existing patents for CLI that could be thrown back in Microsofts face. "Sorry Bill, someone patented the 'prompt'."
I'll still install cygwin.
It's got a better perl.
The original article published by Microsoft is here:
j un05/06-07TechEdServer.mspx
http://www.microsoft.com/presspass/features/2005/
I remember reading years ago on slashdot noise from microsoft that they were interested in wooing serious network people by implementing the korn shell for windows.
Well, where is that?
Windows also has the windows scripting host. Will this new CLI consolidate that and batch code? If not it should, as well improving both.
The CLI for windows is horrible. Someone jokingly posted a link for cygwin, but that is what I use on my work box.
If MS improved the CLI for windows and the scripting abilities I would use it.
It would be good news.
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.
It extends the bash idea such that instead of piping strings between commands, you actually pass around objects.
:)
So if you execute something like
c:\> list processes | analyze
the analyze script, written in C#, would receive an object for every process, with all the member variables and functions inherent in a Process object.
I believe they have video demos of this on the MSDN website.
It was a pretty neat idea. Not sure if '5 years ahead of linux', but definitely more full featured. That's not so say someone couldn't just write another shell to match this. Maybe 6-12 months ahead?
But will they swap \ for / ? THAT's what I want. The entire cosmos now uses /. er... '/'. ...though I suspect the entire cosmos DOES use /. to blather about their preferred operating system and how kids in trenchcoats are being oppressed by jonkatz or... something...
I think that managed WMI wrappers exist in the System.Management namespace so I belive the WMI could be accessed through it.
Since most of their kernel seem to be written in Visual Basic, they definitely should make it a default shell!
May Peace Prevail On Earth
I'll ask anyway, but I'm not sure I want to know the answer to that...
After all these years, Windows finally gets more balls with Monads!
"Grab some sack and make it happen!" --Kevin Schramm, HP DataCenter Support
-- Game Developers: Stop porting badly-textured games from crappy console systems!
I look forward to a real shell being a standard, shipping part of the OS!
I tend to use SFU + Bash on XP. In fact, I stopped running FreeBSD at home when XP and SFU came out. It's a better Unix than Unix.
Best Buy can have you arrested
three to five more years to deliver what *nix has for the last three decades.
Hmm...M$ is catching up fast.
Panic. somebody must do something !!!
Does this mean people will get CLI Windows Servers to use.
Microsoft's cmd shell has been laughably deficient for decades.
So finally, 30 years later, they're considering some improvements?
It's still a mystery to me why a company so incredibly rich in money and resources seems to have no problem releasing a cmd shell that's 30 years behind the times.
So I ask this in all seriousness: Have they simply no pride in their product?
If I was Bill Gates with billions in personal fortune, and the developer community had been snickering for years about how limited MY cmd shell was -- then pride would compel me to toss a few dollars into developing something better.
If a software geek gets lucky and makes a billion dollars, does he really just stop giving a shit anymore about the quality of his code? It all seems so sad.
I look forward to a real shell being a standard, shipping part of the OS!
They should just ship Interix with the OS instead of creating yet another new and incompatible interface.
Does this mean Windows is finally going to be "a better Unix than Unix"?
If you disagree with me on social issues, then it's pretty clear that you are a narrow-minded bigot.
Will it be case sensitive? They may be able to make the shell commands case sensitive, but the file system would still have to be case insensitive. That is unless MS is willing to make major changes to file system functionality.
Why did I lurk so long before registering for a Slashdot account? I could have had a Slashdot ID of less than 100000.
Looks more like Perl crossed with the Plan 9 shell "rc".
So it must be GPL then, surely.
(They're never going to get it, are they.)
you had me at #!
I haven't looked at the specs, since I don't work much with windows servers anymore, but I'm curious: one of the major advantages with UNIX boxes is that most of the software you work with has some sort of CLI, or at least has hooks that can read data produced from the command line.
.NET classes - will we finally be able to hook into more applications and actually do useful things at the command line now, or will this mainly benefit programmers who are trained in OO concepts rather than sysadmins?
Windows, on the other hand, has always been particularly bad about that - most apps don't have any support for that sort of thing. Scripting in the windows world has been fairly pointless. Sure, a lot of sysadmin tasks can be performed using the command line, but limitations in the shell make that a pain in the ass. CMD.exe isnt' anywhere near UNIX shells as far as programmability is concerned, and windows lacks the plethora of command line shell enhancing utilities (i.e. sed, grep, etc.) that makes the UNIX shell environment so useful?
This is talking about using COM and
Those who can't do, teach. Those who can't teach either, do tech support.
...do people still use CLI? I thought it's been phased out together with MS-DOS already? Isn't emphasing on CLI like taking a step backwards in the evolution of Operating systems? Guess not huh? So take that, all you Windoze GUI suckers!!!!!
Carpe Diem: Seize The Day!
^C
The only things certain in war are Propaganda and Death. You can never be sure which is which though
(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.
when was the last time you saw a windows administrator actually use the command line?
Bill Gates said "Goodbye" to the Command Line at the introduction of XP. According to him, we did not need it anymore. So Bill, what's up with that?
Until Windows gets a powerful toolset, its CLI will never beat UNIX. The shell itself is just a glue for the toolset. When I set down at a unix, linux, or bsd box (even a barebones minimal install), I will find by default things like grep, awk, sed, zcat, tar, mail, and probably perl (to mention just a few). Add in the power of pipes and a good scriptable shell to glue it all togather and a unix user is superman compared to a windows user. I don't know how many times I've found myself sitting at a Windows box and wanted to parse and rearange some ascii text report only to have to fire up notepad and start editing line-by-line. A unix box would have let me pipe it through awk or sed and be done with it in seconds.
As far as I am concerned, the only saving grace for Windows is ActiveState perl. Maybe MS can impletment a default native perl intrepreter. Now that would rock.
Okay, so you are tasked with creating a better shell. What would you do?
Off the top of my head:
The ability to change languages. Let me use Perl when it's appropriate. Yes, I mean on the command line. Or python. Or whatever.
Objects. I like objects. Lots of them to model the system.
A way to interact with GUI items, so that I can make nice scripts. TCL maybe.
Needs a minimum set of standards so that I can be sure what will work on any system.
Needs to be modular. I want to be able to load and use the printer package. In fact I want to be load my version of the printer package in place of the standard printer package.
I want my scrip to be able to interoperate with other programs & scripts. I want more than one channel to do it on so that I can use one script to control another which is working on data supplied by a third.
What do you want?
its based entirely on .net. If it's using COM, its indirectly via .NET interop. It requires the .NET 2.0 framework to run at all.
:)
Why do you think a commandline shell will be exploited by phishers ? Do people get duped into giving their personal info to cmd.exe ?
You should try using it again, becuase you missed some things the first time around
My opinions are my own, and do not necessarily represent those of my employer.
... they can avoid completely changing it with every new release.
/etc ten years ago are likely still there now, and they likely have the same names. You want to find a log file? First stop is /var/log.
:-)
The one thing I like most about using the unix/linux cli is that the stuff I learned in 1995 (my first encounter with Solaris) is still useful today.
It may be a steep learning curve, but you don't have to throw out everything you know with each new release, the way a GUI often forces you to. If you stick with the command line for a few years, it's an investment that pays off in greater skill.
For example, most config files that were in
Every time a new version of MacOS or Windows comes out, it seems there's always some little check box -- which you need checked to accomplish your task -- that's been moved to some obscure option in a dialog in a control panel that's *different* in every release. Or they've figured out a "better" (read: different) way to do what you need, which means a new control panel, or an entirely new model of doing the same task.
It's like Home Depot (a large warehouse-style hardware/home improvement chain in the US): it took me years to learn where everything was in one of their massive wareshouse stores. Once I learned the layout of the store, it simply wasn't worth my time to shop at a competitor (like Lowes).
Now, of course, Home Depot is remodeling all its stores to be more competitive with Lowes, and thus killing my whole rationale for going there in the first place!
"It 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", anyone irked yet by the constant use of the future tense. I always have a hard time beleiving any sales pitch that goes something like "I have the best product", or "We beat every so and so". Generally I tend to stay away from boasters, not just becuase they irritate me, but because they tend to have an inferiority complex and bullshiting is their method of making themselves beleive that they are indeed better. Well beleive your own shit if you want...but please don't splatter it cause it stinks!!!
It is not, therefore it can not!
First people complain about win95/98 is just ontop DOS (which is a CLI, yet worthless as it is) and then people complain then they get one again (still not usable enough for the beta testers)...
Oh the windows bashing. Why not just set the record straight, windows costs money, linux is free, choose. The last one sounds like my option.
Albert
They just chose that name, so the GNU clone of it would have to at least find an original name...
I seem to remember Microsoft's new "scripting" and CLI mentioned before, and descriptions of its powerful features. Basically it was described as object-oriented in architecture with claims of superior technology then!
From the article: Monad was started as a project to provide a more powerful command line competitive with the BASH shell on Unix and Linux, using ideas gleaned from WMIC, but using the .NET Framework as its core component instead.
What concerns me is not Microsoft's improvement of their technology, especially their CLI (as a long time forced-to-use-DOS CLI, believe me, it's long needed the overhaul), but Microsoft's yet another implementation of a primitive that goes against quasi standards, albeit in this case a fairly high level standard.
I wonder why they wouldn't implement a POSIX compliant shell... that would go oh so far to allow portability of apps across platforms. Instead they come up with their idea of CLI.
I know there's always cygwin to handle POSIX scripts, but I find it slow, and difficult to manage effectively in the morass that is Windows. Certainly a POSIX-like interface in Window's CLI would attract more scripters if Microsoft supplied their own native implementation.
Otherwise, what is the motivation? Once again, with Microsoft's leverage and monopoly, it feels like a new "product", that if they can leverage with their monopoly, they continue their assimilation of another niche in the marketplace.
Comment removed based on user account deletion
You have to go to the icon in the top left of your console window, click, go to edit in the resulting menu, select "Mark."
Then you can drag a squere to "select." It's lame and your selection will be wrapped at the same width as your mark box, but it's something.
This is just from what i remember. I could be wrong, or there could be better ways.
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.
Monad is the usual bloated, overly complicated "me too" product Microsoft comes up with. In fact, Monad isn't really even a shell, it's more like Tcl/Tk or perlsh. Linux has nothing to fear from this sort of thing; there are good reasons why everybody still uses the sh family of shells after 30 years despite lots of attempts at "improving" on it.
If Microsoft wanted to come up with a decent shell, they should carefully look at bash and rc, and figure out a minimal set of changes to make it compatible with their non-standard parameter and pathname syntax, and leave it at that. Or they should make careful, incremental changes to the current command interpreter.
They appear to be looking for an identity.
Well, that's what happens when your the McDonalds of operating systems.
Sure it fills you up temporarily but you don't want to make a steady diet of it or it will kill your business.
The same company who has been trying to kill *nix for years, now says they have a better command line shell.
Sure, one that gives hackers more access to OS critical API's I'm sure.
These are the same people who can barely build a microkernel implementation, can't create a multi-user OS in the last 25 years who now, magically, will have a better *nix than *nix.
The market isn't going to buy that. Neither will any of the real analysts.
When I say 'real' analysts, I'm not talking about the C(ZD)-Net type Microsoft Zealots who worship Microsoft and proclaim that every product that comes out of Redmond is G_d's gift to mankind either.
If you read the announcement, you'll see that Microsoft isn't smart enough to rip off the UNIX shell. Instead, they are doing their own thing, something that will have lots of features but won't work very well. As usual.
We've added a complete command shell!
I'll start taking them seriously when their "ready for the enterprise" operating system stops putting icons called "My Computer" and "My Network Places" on the "Desktop."
Chris
So Buddha walks into a pizza parlor and says: "Hey, make me one with everything."
n/t
"Microsoft BASHing"?
(Sorry, couldn't help it...)
"You mortals are so obtuse." -Q
This is actually a dupe from 2003.
Beware: In C++, your friends can see your privates!
"I'll start taking them seriously when their "ready for the enterprise" operating system stops putting icons called "My Computer" and "My Network Places" on the "Desktop.""
well, you cant be talking about XP, since the USER puts those icons on the desktop, not Microsoft!
the history of the world
How many times are you going to buy the line, "It's going to be better next time and better than anything else out there." Even if it were true, five years is too long a time frame to wait for anything. Chances are, it will be like their "korn shell":
"Question 5) True Story? by travisd (travisd_no_spam@tubas.net)
Was the story about you embarrassing a Microsoftie at a conference true? Specifically, that he was insisting that their implementation of ksh in their unix compatibility kit was true to the "real" thing and trying to argue the point with you. The argument ended when someone else finally stood up and informed the speaker who he was arguing with. ...
Korn: This story is true. It was at a USENIX Windows NT conference and Microsoft was presenting their future directions for NT. One of their speakers said that they would release a UNIX integration package for NT that would contain the Korn Shell.
I knew that Microsoft had licensed a number of tools from MKS so I came to the microphone to tell the speaker that this was not the "real" Korn Shell and that MKS was not even compatible with ksh88. I had no intention of embarrassing him and thought that he would explain the compromises that Microsoft had to make in choosing MKS Korn Shell. Instead, he insisted that I was wrong and that Microsoft had indeed chosen a "real" Korn Shell. After a couple of exchanges, I shut up and let him dig himself in deeper. Finally someone in the audience stood up and told him what almost everyone in the audience knew, that I had written the 'real' Korn Shell. I think that this is symbolic about the way the company works."
Friends don't help friends install M$ junk.
Just yesterday I was talking to a colleague who is doing battle with VB scripts, and bemoaned the fact
that Notepad and Wordpad don't display the current line number so you can track down bugs.
I jokingly suggested he try the old DOS "edit" program - surprisingly, it still existed and it worked!
(I then told him to install VIM and fix it properly...)
"Everything old is new again."
It already has one. It is called cygwin.
It is certainly a Good Thing that Microsoft is going to make a (presumably) decent shell. It'll sure help Windows admins circa 2010.
The problem that I have not heard MS addressing is command-line utilities. How much could you script in bash without using grep/awk/sed/whatever? You can use bash today on Windows with Cygwin but command-line utilities are lacking. I have found myself many times in search for something that would display or do what I want from a command line. Half of the time I could not find what I need.
Yes, looks like you could tap into some Windows APIs through this new shell to get what you want but to me the apeal of shell scripting vs. Perl, Python etc. was its's simplicity. I could type the complex command in a shell to see if it works and then immediately use it in a script. In theory you could do everything/almost everything in vbscript, perl for Windows etc. but that means that I have to take the commands I type (or would type if they were there) every day and rewrite the functionality in completely different language.
Bring on good command-line tools and forget the shell - bash is good enough for me.
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.
> Yes, I totally agree. Linux/UNIX shells have been developed, tested and improved by hundreds
> (thousands?) of people who use them repeatedly every day over the course of more than 20 years. How
> the hell is MS going to make something superior in 3-5?
By making something that does not require hacks to make Windows work sorta/kinda like Unix underneath it all, and in the process being more useful.
They won't make something better than bash -for all operating systems-; they'll make something better than bash -for Windows-. Cause bash on Windows sucks sewage. Bash on Windows, ultimately, is running on Windows. Bash + Xnix = Good; Bash + Windows = Barf.
They aren't trying to replace bash; most people on Windows don't use bash and never will. They use Rexx, and Perl, and VBScript, and 4DOS, and WinBatch, etc., etc.
MS is trying to replace CMD.EXE. To quote a certain jailbird named Stewart, "that's a good thing."
Instead of flaming the Linux desktop, why don't you try them. KDE has been perfectly useable on an machine that can run XP or less for several years. Once you get used to the differences you will realize that KDE is better than XP. The intigrated browser works, even on complex CSS web pages.
I'm told that Gnome is very good as well, I don't use it so I'm not qualified to comment.
You clearly don't use either, and are therefore not qualified to comment.
That made me Giggle not Google
You have obviously never worked in an enterprise environment. If MS didnt have those icons, we would be getting 10000% more calls on how to get to the "interenet" and "email" and my files etc. You people fail to realize 99% of the users out there are complete morons and need to be babied through EVERYTHING! Until linux can do that, no matter how exploitable etc Windows is, it will always be on top. So get off your elitist asses and stop whining about it.
Monad? Monad? What the hell kinda name is "Monad"?
Sounds like what they call when one of your testicles hasn't descended.
You are in a maze of twisty little passages, all alike.
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.
A "kill -9" equivalent that doesn't take 20 seconds to perform its function... Seriously, Windows is somewhat better than it was, but why the hell does it take so long to kill a damn process?
Any sufficiently advanced technology is indistinguishable from a rigged demo
--Andy Finkel (J. Klass?)
Hey! It's only a 28.1 Megabyte download to try the Beta. Must be good code in there (somewhere)...
l 9.MSHWiki
http://channel9.msdn.com/wiki/default.aspx/Channe
It's not a money maker for them. You gonna base an OS decision on the CLI? Nope, your gonna base it on whether or not it fits your needs as in does it run your shit.
This is probably a move to try to quell the cries that Windows isn't like Unix and MIcrosoft hopes that a better CLI (or the promise of one) will show that Windows is on par with Unix system on that front.
If you want a better CLI now, use bash and cygwin. Nearly all "unix" based scripting languages have Windows ports. It's just not an issue for "power users" anymore.
As someone who is very worried about launchd and the direction on OS-X, I feel I should point out that my attitude is not "We've always done it this way so it must be perfect". It's more:
.plist files from XML to binary indicates a lack of thought and experience. Binary config files ? EW!
"If it ain't broke, dont' fix it".
OK, XML is useful, but let's not go mad. rc is simpler, infinitely flexible and therefore, IMHO, better. And jesus cocking christ don't ditch cron until you've really ironed out all the bugs.
The fact that Apple have started converting their
Did they learn no lessons from the Windows Registry ?
Now maybe the dweebs will stop calling the CLI "DOS".
Mama, I got 'dem ole cosmic blues again.
Comment removed based on user account deletion
You can check out the scripting language spec here:. aspx
http://blogs.msdn.com/arulk/archive/category/9497
have a vi editor?
Will it let edit the commands in vi mode?
PENAROL: Seras eterno como el tiempo y floreceras en cada primavera.
csh, korn, bourne and sh predate Linux. Bash is a GNU product, not Linux. Yes, usage under Linux has refined them but almost all the concepts and implementations were done separately from Linux.
For years they have realized that in the corporate market, the people deciding whether to use Windows or some alternative weren't the system administrators. They were top managers in various corporate divisions who believed, perhaps rightly, that learning a new computing environment costs time and money. They stuck with what they and their employees already knew.
Fast forward a few years here. MS is trying to dethrone various proprietary Unices from the server room and beat Linux there. Users never see those servers. At most, they have to know the hostname to provide when they configure a client program to see the server. When your system administrators tell you that you can have Windows on those servers, but you'll need more servers and more system administrators.
Microsoft has been trying to out-do the free software community ever since Linux really started gaining ground. Even if they match the free software community it won't matter. Free software is made for people who don't want to be pinned down by EULA's and no matter how good Microsoft's products get, many of us won't switch.
If Linux is what inspires Microsoft to create better software then I'd say that is a pretty good example of how Linux is helping to improve software as a whole and I find it quite empowering to the free software movement. We're making a difference. The problem I see with Microsoft's approach is that they always puts a twist on things and find ways to charge extra for features that should be included with their software.
how it could be any worse than it already is.
you should also try multiple monitor support.
1 monitor for CLI, 1 monitor for reference, 1 monitor for IDE. It's great.
You just listed eight (that's 8) steps necessary to download this "public beta". You have to register yourself twice and it may take a couple of days. Sorry, I don't call that public any more.
If they have something to share with the public why can't they just put a file on their public part of their website?
They say that *in 3 to 5 years* Microsoft will have "what unixes have been having for many years".
Meaning microsoft will be about 8 years late on unix, IF they meet their developpement deadline. And that's a big IF!!
On related news, Microsoft decides to abandon leader component Bill Gates. Suddenly they start making good code. (-;
Microsoft is pure dog-ma. FreeBSD is pure cat-ma.
I thought this was a joke but it seems to be real.
i sc/browse_thread/thread/8ace870ae1e72e9d/41bf89d7b 4a34099?hide_quotes=no#msg_41bf89d7b4a34099
Microsoft is trying to attack GNU/Linux by making a better CLI shell? Geesh, they thought they did that a few years ago when they said their MKS kit had a shell compatible with the Korn shell, but when the Microsoft exec was questioned about that, he blew the guy asking the question off. That guy was David Korn...
To tell you the truth, I've not seen/heard ANYTHING coming from Microsoft people/press that wasn't marketing-speak. It's all smoke and mirrors when everyone else is showing product innovations. I heard the Microsoft Research presentation at OReilly's E-Tech conference was a real sleeper.
So, as it goes..."pay no attention to the man behind the curtain".... IMO
link to comment on the Korn incident:
http://groups-beta.google.com/group/comp.os.os2.m
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
I never knew of this... Thanks!
Standards.
A shell is great, in fact I hope they have the best shell ever written. But shell is useless without small interchangeable tools and great IPC. Shell is only good because:
cat shell_pros_cons | grep pros | less
Well, I suck at shell programming, but you get the point!
Actually the guy responsible for Monad was a Haskell software engineer...
Comment removed based on user account deletion
It always makes me laugh when MS rips off some other language/software. They have to try and make it 'more intuitive'. Examples in this case are:
Comparison Operators
-band, -bor bitwise and, bitwise or
-match,-notmatch regex pattern matching
-like,-notlike globbing pattern matching
-eq, -ne Equal, Not equal
-gt, -ge Greater than, greater or equal
-lt, -le Less than, less or equal
-is compare types (1 -is [int])
Case Insensitive variants
-imatch, -inotmatch, -ilike, -inotlike, -ieq, -ine, -igt, -ige, -ilt, -ile
Stupid and gross, plus harder to read than c-like syntax!
Alright! Finally!
Any idea what they are going to do about "quoting".
My recommendation is to use "\", with the trick that "\x" where x is a character that is legal and commonly used at the start of a filename, it actually expands to "/x" (not \x because it would cause problems in cases where quoting is parsed a second time).
The main reason for quoting is to avoid glob pattern characters. Fortunatly all these are illegal is DOS filenames anyway, so this would not conflict.
Punctuation marks that don't need to be quoted can be used to introduce other escape sequences. Things in Unix like "\n" can be dropped, they are rarely used. Use something like "\.123" to quote characters by code numbers (probably this should support Unicode and expand the result into UTF-8 bytes).
I would be very (pleasantly) suprised if Microsoft actaully did this. They still seem intent on making sure that there is incompatability between them and Unix.
bash:
echo $PATH
Monad:
Private Sub echo1_CLI(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles echo1.CLI
Try
AddHandler EchoCL1.PrintLine, AddressOf Me.PrintCL1_PrintLine
PrintLine1.Print(Sys.Init.Windows.PATH)
Catch ex As Exception
Message.Show("An error occurred while printing PATH ", _
ex.ToString())
End Try
I don't think so. I did some Googling, and it seems that this scheme differs from unix pipelines. Unix pipelines are processes that pass each other streams of data. MSH seems to contruct pipelines of objects that pass each other objects. Sounds interesting to me. Having a command instantiate an object instead of a process seems inherently more efficient, as does communicating with objects instead of text.
Sounds like Microsoft doesn't understand unix. The whole point of unix pipes is not "passing text between commands in a bash shell", is "passing data between processes", which happens to be ascii code, which happens to look like text if you want to pass text (note that if you're passing UTF-8 characters this can not hold true)
I mean, bash doesn't needs to do pipes the way it does it. There's nothing forbidding people to build a monad-like shell in unix - implement it using pipes. There's nothing with "MSH pipes" that you can't do with unix pipes because you can send a object through a unix pipe anyway, processes would just have to "parse" the objects - which is something MSH HAS to do anyway so I'm not seeing something revolutionary here
Enter "copy" mode:
^a [
Then scroll using hjkl keys.
When done scrolling, exit copy mode (hitting [ again is one way to do this).
What is dumb is that they're building this CLI from scratch. It's not as if nobody's every done a CLI before! But of course they can't just adapt somebody else's CLI. That would mean admitting that they've ignored an important OS feature for over 20 years!
Those who do not understand Unix are doomed to reimplement it, poorly. -- some famouser & cleverer person than me
No way, impossible, never in a thousand kalpas, even if we liscenced Debian Woody to them and bussed over a truckload of OS coders to help, would they *ever* grasp the most fundamental concepts of a CLI. There's only so much you can train monkeys to do, even rich ones.
anything is possible, it's all just software right ? :)
/etc/passwd | awk -F: '{printf("%s\t%s\n",$1,$5)}'
....
i think the unix model fits unix really well right now, because so much of administration in unix is manipulating text.
Windows never had that - everything was locked away in some opaque object (good and bad, depending on your viewpoint).
The brain behind MSH was one of the WMI guys and he (rightfully so, i think) likes WMI but its too hard to use and too hard to author providers for (his thoughts).
But fundamentally, an inquisitive object based administration system is "good", especially when the underlying stuff is all object based anyhow. the key is to make these objects exposable in a generic, "composable" way, and thats what MSH is attempting to do.
Really, the approaches might be similar. Consider a script i might write to give me the usernames and home directories on my unix box
cat
(apologies if i mis-remembered the field numbers for homedir)
my apology sort of makes the point- administrators are required to understand the internal format of UNIX's text files, and to remember/consult them for tool development.
a comparable approach might be
get users | pick name, homedir | tabout
which is more readable? which is more reesilient to changes in the way users are stored? Does the first example work on NIS+ ? LDap ?
So the goal here is to take the good things about OO (hiding of internal implementation) and the good things about a consistent format (flat text, in unix) and somehow merge them. I'd much rather remember that users have a name and a homedir, than what positions those properties have in one type of user database.
It gets uglier when your text data is working with "cut". For instance, something i'll do from time to time is
ls -l | cut -cX-Y |
where the X-Y range is something i want from the ls -l output. (say filesize). That is hugely problematic - have to tweak the character range until it "seems" right, and what happens when my tty capabilities change (to say, a 20 char tty ?) or, what happens when a file size is larger than the allowed column width? or what happens when ls is an alias to "better ls that auto-sizes columns".
again, something like
get files | pick size | sort
hides this crap from me.
So, actually, i think linux could have a shell that did stuff like this. But what linux lacks is the rich set of objects to hide the implementation details of the things you want to do with linux. when linux has a consistent set of management objects then something like this getspossible.
Of course, windows doesn't have a complete set of management objects either, and besides, we dont have management objects for apps we dont write - you'll surely want to use the same scripts/shellto manage your custom apps. So a important part of msh is the ability for people to author their own object providers that can plug-in to the framework easily.
The make-or-break scenarios for msh, in my opinion are
1) clever ways to promote text,xml, etc into objects for legacy systems
2) objects for a sufficient portion of the management surface to make it worth peoples time to use
My opinions are my own, and do not necessarily represent those of my employer.
I'd disagree with you on that. I actually learned the DOS/Windows world long before Unix. The first few times I used Solaris and Linux, I didn't even know they *had* a command history! Ever since I started using command history in Windows, it's driven me insane. It's *very* counter-intuitive, even to someone who first learned on it. When someone showed me bash for the first time, I just about wet myself. It just makes more sense, and it's far more consistent.
That being said, you make a good comparison to a text file. One of the reasons MS implemented it this way, I suspect, is so that you could run 5 commands in a row, then do a bunch of other stuff, then re-run those 5 commands again without a LOT of up-arrowing. I can't say I often work this way, however. That's what | and && and scripting in general are for: to combine a bunch of small commands into one. Then you just repeat the one.
Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
Heh.
:)
One of the ways you can spot a young Windows-only user is that they will use the term "forward slash".
Prior to computers, "/" was called "slash". In Unix, ditto. "\" is called "back slash" to distinguish it. However, I find that younger folks who've grown up on DOS and/or Windows will often call "\" "slash" and use "forward slash" to refer to "/". It makes it really fun when you're dictating out a command over the phone and it refuses to work for them.
Hell, just look at this website. "forwardslashdot.org" just doesn't have the same ring
Endless arguments over trivial contradictions in books written by ignorant savages to explain thunder in the dark.
First we had the BSOD, blue screen of death,
then we had DLL hell
now we will have all out MSH, MicroSoft Hell
So much time to develop? Pfft! Here I am, and I'm still waiting for the first release of Microsoft Bob. They've been working on it for so long, I can't even imagine how awesome it will be. It will solve all our problems.
Oh, no!!! DOS was not Good shell!
That was the reason for JPSoftware to release 4DOS, 4NT and TakeCMD
If You used Norton Utilities, perhaps You remember they contained 4DOS renamed to nDOS.
DOS shell is primitive,
This shell was not enhanced since Microsoft purchased 86DOS written in assembler to fit into a couple of KB of RAM and to compete with CP/M, which had poor shell but tiny RAM requirements same as 86DOS.
But talking about Object-oriented Shell.... Are they going to purchase ObjectREXX from IBM and inject it into CMD.exe like it is made in OS/2, where many-many installers are nothing but shell-scripts ?
...Sterenad!?
Why is it that when you believe something it's an opinion, but when I believe something it's a manifesto?
In this context (especially given the number of FP language researchers they have over at MS), I'd wager we're more talking about Monads in the context of category theory (c.f. Moggi). They're often used to have a clean way of describing imperative features: exceptions, side-effects, etc. From what I understand (I'm mostly a Common Lisper, which isn't purely functional), it can be implemented like an additional argument that's automatically threaded through each function call and continuation, and seems to be represented slightly like function composition... Sort of like pipes, but with better theoretical foundations, if you think about it.
Will someone better versed in PLanguage theory correct me?
Try Corewar @ www.koth.org - rec.games.corewar
3-5 more years to complete and they already have shirts with the logo on it. http://channel9.msdn.com/ShowPost.aspx?PostID=2679 5
Guess we know why Windows costs so much.
They've been dumping all their money into "patent reform"
or Microsoft Scripting Host? Remember the last time MS tried to introduce a new scripting environment?
If I was a hacker, I'd be rubbing my keyboard in glee.
We are the 198 proof..
If you're interested in downloading a copy of Monad, visit http://beta.microsoft.com/ The invite code is PDC. The Monad team is working on a new version as well and will have the new version available before th end of the month.
i knew somebody would dock me for that.
:)
Guess what. It takes me longer to remember which fileutils support reading a file (and in what way i specify it) than it does for the f@#4ing computer to do the work for me.
Computers work for _us_, remember ?
My opinions are my own, and do not necessarily represent those of my employer.
'It will exceed what has been delivered in Linux and Unix for many years'
For about ten minutes it will exceed, then the OSS boys will get back to work. Three months later, Linux will surge ahead - again.
Like the guy said in "Hackers": "Give...it...up! Is that all you got, huh? Are you nuts? Come at me!"
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Appears to be a riff on this anecdote: David Korn embarrasses Microsoft.
-Stephen
A typical unix shell such as bash covers a huge territory. Using the same language for init scripts and interactive command prompts? What a crazy idea! It will be interesting to see how monad stacks up against projects such as ironpython which seem more suitable for 'programming', but less interesting for interactive work.
They're obviously spending the time developing the right GUI for it.
I am not in anyway affiliated with Max Cannon
This "shell" has command line input (that is, continuous text that is parsed to determine its meaning and run other executables), yet the communication over "pipes" is in "objects" that have to drag around their methods, so the whole flexibility, simplicity, parsing and isolation of data source from receiver (that, if someone forgot, provides security) go right out of the window. Oh, and it allows to access various system data hierarchies -- too bad, Windows has so many of them.
The whole Unix design is based on the idea of unified file descriptor and a single filesystem tree. Windows still lacks those, and this shell is not even trying to emulate them (like what cygwin does).
Contrary to the popular belief, there indeed is no God.
You know you're a turbo nerd when you hear "Monad Shell" and think, "Was it written in Haskell?!"
N4st0r, trixx0r h0bb1tz0rz! Th3y st0l3 0ur pr3c10uzz!
how did that get +4 insightful? yeah, microsoft is going to rip off bash... to make a shell that (from what another poster wrote) primarily does reflection on .NET objects. really fucking helpful.
Anyway, the basic stuff that unix shells do (pipes, redirection, conditional and looping statements, job control, environment variable handling, sub shells) are just not that big of a deal. I wrote a shell that did all of those things (except job control) by myself, and it only came out to about 3700 lines of c code.
Furthermore it certainly did not take 20 years to develop the shell. The original sh was probably thrown together pretty quickly (it doesn't have many more features than the shell I wrote). Shells like csh and bash that do job control are a bit more sophisticated, but you're still talking about thousands of lines of code, not millions. (a quick wc of bash gives 55468 lines of code).
The monad shell sounds like a much larger endeavor. I'm still in the dark about a lot of the features it has, but I'm thinking it would be interesting to develop something equivalent for unix that works with mono. If someone would be particularly interested in helping on such a project, my email is catphive AT gmail DOT com.
Anyway, slashdot. Please stop rating 2 line microsoft bashing comments as +4 insightful.
> I have seen shell programs that support the mouse.
libgpm gives easy access to the mouse for console curses programs.
I've been testing MSH since october... It ain't all its cracked up to be.
.net .net progs and COM+ exists(but its very limited)
A little background: I've been admin on unix systems since 1989. I know 14 UNIX shells inside out.
MSH: Horribly chained to
Archaic and obtuse commands(I still have severe trouble using the most basic commands)
VERY basic scripting(difficult to use as well)
Relative inability to use existing external programs, ability to use external
Coupled with the fact that devel is going VERY slow(bugfixes never seem to happen + last update was September 20, 2004):
1: It's going to be VERY slow to arrive or very buggy when released)
2: Nobody who values sanity is going to use it.
End Transmission....;)
--cros13
I'm using the 6.0.4093.0 build of msh on a test machine. In it's current stage, msh needs a LOT of work. I would say unless you are willing to test and submit bugs, Don't bother with msh (since the beta testers can't fix the problems with out the source).
.cmdlet) that is the equivalent of simple bash scripting, there are what seems to be a very simple "man page" for each tool (very limited help), you can tab out commands / use it for auto-complete but it never seems to get the command/file you want if you have a few files with similar names. I think after a few more updated releases of msh it will be something worth using, M$ tends to get it right the third time around from their track record. Overall it was nice to see that M$ was trying to make a decent CLI for XP/Longhorn but msh is not easy to use, the learning curve it somewhat distorted. I'm hoping that if they use this for Longhorn that either it's running way better by then or they also include cmd.exe with the release
You can tell that M$ wanted something with more gusto but msh does not do it. You can now create aliases (shortcuts) in the shell (called commandlets or
Of monads there is only one authority Leibniz
Philosophy.
There is no basis for connecting the dots to imply that this has any effect on WMI.
t s.mspx
:)
WMI is not a command line interface. WMI is a centralized component which exposes management instrumentation from the systems and applications which have WMI providers. Today, most of the OS, many common components and many applications which need to be managed have WMI providers. WMI provides objects which can be used via any programming or scripting interfaces to access and manipulate that data. Monad will just be another environment to access that data.
It is also unfair to characterize WMI as proprietary. WMI is Microsoft's implementation of the CIM open standard from the DMTF (Distributed Management Task Force) www.dmtf.org. The DMTF is a management focused standards body.
Going forward, WMI will be augmented in Windows Server 2003 R2 to expose this information via a Web Services interface called WS-Management. WS-Management is a proposal for Management over Web Services from Microsoft, Intel, Sun, Dell, AMD, BMC Software and WBEM Solutions for consideration in the WS-CIM working group at the DMTF.
If you have seen Windows Server 2003 R2 Beta, you can use WS-Management.
If you attended TechED, you can see the multi-vendor WS-Management Interop demo in Steve Ballmer's keynote. Windows managing Windows, Solaris and *direct hardware* without the help of an OS.
To see it go to:
http://www.microsoft.com/events/executives/webcas
Select on demand webcast. Seek to time 1:13:50
Don't forget to check out Samantha Bee (from daily show) hosting the "techie show" for a laugh (or groan)
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
Everytime I see Monad mentioned I want to think tey got us by the gonads with Monad??
Kind of like Gonad ? Perhaps Monad is the singular form.
Ne-e-ext? Who's next? Hey, why doesn't somebody post a claim that Bill Gates founded America, Osama Bin Laden invented Linux, and anybody who says different is a terrorist? If Bush isn't on your side - write a letter and *get* him there!
Hee...yuck, no, wait, there it is in the Bible right there: Genesis chapter 1:8: "And on the eighth day, Bill created the command line. And the people looked upon it and said it was good, except the Penguin, who sneaked off and proceeded to usurp God^H^H^HBill's command prompt look and feel. Through a PR boondoggle, history did become re-written in the other way around. The people responsible were sacked, as the Lord God Bill raised up his holy bundle-o-hundreds and smote them..."
I propose that the codename for the Monad command line be "Project Tom Green". Seriously, who comes up with these awfull names.
Sometimes at night I imagine the darkness is filled with horrible things with too many teeth, like Julia Roberts.
Have you considered that it might not be self-esteem, but rather that in the past, when Microsoft acquired influence, they used it to transfer increasing amount of money from their customers to themselves?
the writers of Linux Desktop Environments were discovering that it's very easy to be fast and light when you don't do much
I think it had more to do with text antialiasing than anything else.
increased functionality almost always comes at the price of bloat.
The question is how much bloat for how much functionality.
Read through any anti-MS slashdot article on any given day and count the number of horribly outdated criticisms of Microsoft you see (BSOD's; bloat; Clippy(!))
Here's some modern ones:
* Stupid mandatory file locking. Reboot, reboot, reboot, every installer!
* Ability of an application to block shutdown, make system unresponsive (granted, it wasn't long ago that someone was pointing out that you could forkbomb Linux).
* Pageable kernel memory (ugh) instead of unloadable modules.
* Win32 API is generally not very well designed.
* Software particularly automatable.
* While some amount of Linux-like diagnostic and power-user tools can be cropped together, requires digging through Resource Kits and the like for tools that not one in ten thousand users knows about, and almost no systems have installed.
* Only one desktop. I have a Windows box with twin 21" monitors at work, and a Linux box with a single 19" monitor at home -- the Linux box does far more work, and I comfortably deal with far more windows at once due to viewports. In Windows window manager is not very powerful, and third party hacks to improve it are suffer from sluggishness or flakiness.
* The Windows development tools kind of suck for the advanced user, though they have a shallower learning curve -- someone that knows GNU make, emacs, and gcc can easily automate and make portable their build, testing, and what-have-you.
* Remote administration on Windows sucks (though it has more comprehensive tools for administering mass numbers of systems from one machine at once)
* Windows has a complex, IPC/network filesystem daemon running out of the box on every Windows box that has had a plethora of security problems in the past.
* Windows lacks those wonderfully convenient symlinks.
* If you know Unix, you know what everything-is-a-file does for you -- it makes scripting vastly more powerful, and lets you do things that would be quite difficult on Windows (want to overwrite every block on a disk with random data seven times? That's a short one-liner on Unix and a specialized piece of software on Windows.)
* The Windows sockets implementation sucks.
* Extraneous confirmation dialogs. Everywhere. God.
* Not a technical problem, but Windows software generally costs money. The Windows equivalent of a full Linux distribution, with all applications included, would cost an absolutely insane amount of money.
It's true that the stability woes of the late 90s (where all general purpose consumer OSes were horribly unstable) have greatly decreased. That doesn't mean that Windows is a Linux, though. Not by a long shot. And the people that are unhappy with Windows have quite solid technical grounds.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
For those who must have a transparent CLI for windows.
http://sourceforge.net/projects/console
Choose the 3rd coniguration file to see a transparent mode. Configurations for level of transparency, font size, color, background, etc are kept in a xml file, You'll get the idea.
Then get Cygwin!
Can OSX do it?
Now I feel old :)
Please. I work in technical support (yes, I am one of the helldesk) for a large computer manufacturer: it rhymes with well. I even support corporate customers, not jim-bob and his "that thar modem thing". I consider it a lucky day to only see 2 or so BSOD's, and at an average call time ~ half an hour, thats a significant portion of my calls in a 10 hour day. The people that havent seen a BSOD on thier little quake III machine in the corner for the past month and forget all about them, make me angry.
AKA TypoDaemon AKA TheCafFiend sure, life's a bitch, but how long are you dead for?
A little respect for the Monad Man, please.
- adam
I'll quote it for you "I only read at +2 folks":
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
... because DOS 8.0 (a.k.a. Windows ME) sucked.
Monad probably was going to make it into Longhorn, but MS realized what all the script kiddies would do with it once they got their hands on it and decided it wasn't worth the security risk.
Essentially, it will take them five years to try to make it "secure".
Beryuson
lsh.
What part of "gestalt" don't you understand?
Written by someone who clearly fails to understand scoping.
The shell was written when the primary human-computer interface was the teletype. It's transitioned exceptionally well from hardcopy to bitmapped (GUI) display modes. Expecting the shell to be knowledgable about its graphical context is a really bad study in domain scoping. Look for example, at the limitations of the MS Windows "DOS Box", with a small set of fixed font sizes, explicit window sizing, and lack of free-form window resizing. If you've seen Cygwin's rxvt you've got a slight idea of what a decent text terminal window can do.
Coding GUI functionality directly into the shell loses on several counts:
The usual way to support a function in the Unix philosophy is to write a tool to handle it. Several of these include GNU screen, gpm (a mouse management interface for console), and/or mouse-aware terminals (GNOME terminal and Konsole are both mouse-aware, though I personally prefer rxvt). There's even an X Windows scripting environment (whose name I forget) and tools for accessing the X clipboard directly. Though frankly, highlight & paste are pretty damned easy for me.
There are "CLI" (more accurately, ncurses) applications which support mouse interactions. w3m, mc (midnight commander), links, and emacs all come to mind. There's a slight win to this, but not massive. I recall HPUX's 'elm' implementation was also mouse-aware, I think....
Support your GUI operations through your GUI, window manager, and/or terminal application. Don't overload the shell. If you've got a specific app which may benefit directly, great.
Better: Write a spec of the operations which you'd like to be able to do. Odds are it's not worth the hassle.
What part of "gestalt" don't you understand?
Glen McCready's got a good item on it, when Microsoft reality conllides with everyone elses(Fri, 28 Aug 1998 09:26:58 -0400):
What part of "gestalt" don't you understand?
(Of course, KingCON was configurable -- I had it so that <tab> completed up to the first difference, <tab> again gave a list of matches, and following <tab>s cycled through that list (and back to the point where all matched, if I remember correctly).)
I certainly don't agree that it's a tradeoff between predictability and user friendliness. Both ways are obviously equally predictable as long as you're not using one shell and expecting another.
Instead of arguing about which way is right, we should be arguing for configurability in shells, I think.
Checkout the cool Monad demo videos. This is seriously cool stuff!
...but by the time it's released, it'll be years behind what *nix was able to offer in the meantime. Three to five years to deploy? Puh-leez, that's a poor timeline...
Darryl L. Pierce "What do you care what people think, Mr. Feynman?"