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!
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
...you just gotta go download it from here.
Weaselmancer
rediculous.
In other words, this is vaporware.
01/20/09
Yes, but news? There's even a beta already.
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.
Well, to me, MoSH sounds best, but hey, I'm just a metal head.
Geek used to be a four letter word. Now it's a six-figure one.
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. --
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
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
Also, who here believes MSH actually stands for Microsoft Shell?
Who cares? MSH will be pronounced as "mash" and this will develop a related song for sysadmins to sing on Haloween:
I was working in the lab late one night
When my eyes beheld an eerie sight
For my server from his slab began to rise
And suddenly to my surprise
He did the MSH
He did the Microsoft MSH
The Microsoft MSH
It was a server smash
He did the MSH
It caught on in a flash
He did the MSH
He did the Microsoft MSH
Catchy, no?
More
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.
"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.
I'm sure if there is a gnu version of monad at will be called gonad.
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/
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
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'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
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 !!!
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.
Ahhh, summer science camp complete with scary-movie night and rocket-launching day!
GTRacer
- Had the hair, but never could head-bang
Defending IP by destroying access to it? That makes sense, RIAA/MPAA. Go to the corner until you can play nice!
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!
Geesh.. I was thinking the other mash.. Through early morning fog I see visions of the things to be the pains that are withheld for me I realize and I can see... [chorus]: That Microsoft is clueless They bring on many changes and I can take or leave it if I please. I try to find a way to make all our systems relate without that ever-present slate but now I know that it's too late, and... [Chorus] The unix shell is hard to play I'm gonna learn it anyway The Linux card I'll someday lay so this is all I have to say. [Chorus] The only way to win is cheat And lay it down before I'm beat and to another give my seat for that's the only painless feat. [Chorus] MASH The sword of time will pierce our shells It doesn't work when it begins But as it works its way on in The pain grows stronger...watch it grin, but... [Chorus] A brave man once requested me to answer questions that are key 'can you fix my computer please' and I replied 'oh why ask me?' 'Cause Microsoft is clueless They bring on many changes and I can take or leave it if I please. ...and you can do the same thing if you choose.
-if at first you don't succeed, stay the heck away from paragliding.
^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.
I suggest, in turn, that you take off your "ms basher basher" hat, think about what I said and about what you wrote. What you referr to is beta software and beta software that does not ship installed with windows. So, it comes down to the situation that if you need to deal with someone's window box your CLI is still a tiny shell window with what is essentially a castrated version of dos bat.
Are you sure they weren't referring to these?
Why not fork?
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?
The horribly misnamed Windows Services for Unix can be downloaded for free from the MS site and has korn and C shell for Windows.
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.
viewed as the basic constituent element
:-)
And thus it is as it always was......
DOS is the basic constituent of windows......
g/d/r
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.
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/
steps removed......
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
Sweet Jesus - and to think that some people think that Microsoft software is easy to use.
Moneyed corporations, non-working 'poor' and criminal prisoners are turning productive citizens into tax-slaves.
... 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!
I'm guessing that's where they got the word from, since this shell will be a kind of textual I/O adapter that also handles non-text data.
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.
and I think "MSH" (pronounced the obvious way) is a perfectly reasonable name.
:)
Ah, so it's like Hebrew where there are no vowels so you kinda have to insert your own. I get:
MiSH
MaSH
MoSH
Yeah. Nothing divine about this though
This is a matter of splitting hairs that people will not come to agreement on, but for my money the statement "windows has a korn shell for its CLI" would mean that it comes installed and enabled with windows by default.
I think like that because the reality of supporting something on a windows box, usually means supporting something on someone else's box.
In that situation I can't "just run a command, or run a script".
I would need to download and install something first, if I had that option.
In the end it comes down to the cli for windows being that crappy little command window with what is essentially a castrated version of dos bat.
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.
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.
The far more appropos MASH reference would be the song "suicide is painless".
A Pirate and a Puritan look the same on a balance sheet.
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.
I knew there had to be a catch.
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."
...ms basher basher...
mushroom mushroom?
OHHH it's a snake
"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
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.
Sweet Jesus - and to think that some people think that Microsoft software is easy to use.
Huh? That's part of the beta program registration procedure, not about software ease-of-use.
Of course no one will need to go through that when the product is finished.
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.
> 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.
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 ?
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.
30 years? MS-DOS is a little over 20 years old, but definitely not 30. And at it's time it was an ok shell. Not good, definitley not as good as the Unix shells of that time, but not horrible either.
Try out fish, the friendly interactive shell.
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 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!
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!
A bete is surely not something to consider a real product. A beta is indeed vapourware until its released to the public no matter how you put it.
Until i see a version that works, is supported by the rest of Microsoft its very much just vapourware and the usual trashtalk from MS executives.
HTTP/1.1 400
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
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.
Your example is exaggerated, even for early versions of OSS. If it's too much of a pain, though, I figure that the developer needs to work out bugs as well so I wait for a later release. In either case, you can immediately do something about OSS while with Monad you have to agree to licences and wait.
A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
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.
...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.
I did not say good, I said ok. And 4dos was a much later development.
Try out fish, the friendly interactive shell.
They've been dumping all their money into "patent reform"
Fine then, I suggest we stop cutting Google any slack for their everything-perpetually-in-beta approach.
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!
atomistic mental objects which experience the world from a particular point of view.
Yea, that's Microsoft alright.
This way of putting it is misleading, however; monads ...are "windowless"
Windowless Windows? Isn't that, um, DOS?
Leibniz never tried Linux :p
feh.
I am aware of this. I am talking about linking this functionality with the terminal's scrollbar.
badness 10000
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'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
We?
What do you suggest? That slashdot is made up of people with any common stance on anything? This is why Microsoft never ever will "get" open source. We may have common goals but HOW we will get there is not anything we are on terms with,
Googles various beta lab gadgets are as much vapourware as anything else.
HTTP/1.1 400
The "there is no slashbot collective" argument... from the slashbot collective.
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
You can't really claim it's public if they don't tell anyone about it, and you have to have a secret code "guest ID" to get in. The fact that you have to receive a confirmation that can take a day or two sounds as if they aren't planning on giving it to EVERYONE, either.
eMSH?
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..."
But will it work just as well inside an xterm?
badness 10000
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!
Windows Resource Kits come with all kind of software that's useless to me because no machine I use ever has the damn software present.
It *is* a significant deal that perl is not only *available* for *IX boxes, but is installed on every one that I sit down at.
Any program relying on (nontrivial) preemptive multithreading will be buggy.
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
MASH, heh
.
.
And develop a related song . .
Thru early morning code I see
Visions of the things to be
Permissions are withheld from me
I realize and I can see
Chorus:
That Microsoft is brainless
They bring on fruitless changes
And I can take or leave it if I please
The command line game is hard to play
we're gonna lose it anyway
This latest shell is somewhat gay
So this is all I have to say . .
chorus
The only way to win is cheat
But linux has us already beat
A lower cost per license seat
Wow that truly is a feat!
chorus
Ok, someone step up here and write more verses. I wrote these 3 on the fly.
The previous has been a secret message to my comrades.
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?"