Microsoft Next Generation Shell
An anonymous reader writes "I found this while searching for Perl Jobs in India:
"The Microsoft Next Generation Shell Team is designing and developing a new command line scripting environment from the ground up. The new shell and utilities, based on the .NET Frameworks, will provide a very rich object-based mechanism for managing system properties. To be delivered in the next release of Windows, it will include the attributes of competitors' shells (e.g. aliases, job control, command substitution, pipelines, regular expressions, transparent remote execution) plus rich features based on Windows and .NET (e.g. command discovery via .NET reflection API's, object-based properties/methods, 1:many server scripting, pervasive auto-complete)."
I liked this the first time... when it was called Cygwin.
--
"What do you want me to do? Whack a guy? Off a guy? Whack off a guy? Cause I'm married."
bashWinXP
KFG
"Candidates should have Windows NT or Windows 2000 system programming experience, development experience with object-oriented languages and design methodologies as well as with scripting and shell languages like PERL, Python and Bash. Candidates should have at least 2-5 years experience (based on level interviewing for) in high technology, preferably delivering products for both Windows and non-Windows operating systems."
I guess Microsoft has viewed users of other platforms as important before (recruiting of Palm developers) but this seems like a direct call to Unix (mostly Linux) developers to make Windows shell exactly like other existing technology. Though I can't say I'm surprised, I think this is one of the first times where Microsoft seems to have stated that they are persuing similar technologies.
All my friends who learned to program computers (ok, Windows) in the 90's think it strange that I keep one or more command prompts open to get work done. Besides having 'grown up' with prompts, my argument is that the core of programming is algebra+logic, and text makes a pretty good notation for both of those things... it's a much better graphical notation than anything developed in the last 40 years. So it's heartening to see even MS come back around to the way things were.
It would be interesting to know just how much of Microsoft's "future devlopment" are being made in India. My guess is that the OS, Office etc continue to be further developed by the team(s) in Redmond, but most new products/services are being developed in India.
You mean the big bad MS is developing all sorts of technology. Some of it just copying features found before in other operating systems.
Does it really surprise anyone that MS knows about other operating systems, Bash, Perl and Python.
The things they list in this post are good useful tools, it should be obvious that they would look to implement them now that clustering is becomming a larger concern. Admin by GUI works for a handful of computers, but when you start dealing with many, you need something else, and MS is going to provide that.
This just shows they are acting more serious about providing Enterprise Solutions.
This was one of the last holes they had to fill.
Will it be free?
Let me guess what's next down the pike: a /proc filesystem, a serial console capability, runlevels, and a package manager with dependency feature.
Hmmmm...
This is a good step, but what good does it do to have a top notch shell, when the vast majority of windows programs are gui based?
Are they going to release command line versions of most of their administrative tools?
Any windows sysadmins out there feel free to correct me if I'm wrong, but its generally not the lack of shell features that keeps me from using cmd.exe, but rather the number of programs that you can run with it.
There are also other jobs related to the same area listed for Microsoft India Development Center here.
bound to reimplement it.
I don't know who said it. But it true IMHO.
Happy New Years to you all!!
assert(expired(knowldege)); core dump
Actually, I'm really intrigued about the possiblity of having a "strong" shell on Windows. It's one of the main reasons I can't find myself using Windows for much.
;)
Usually, if I had to...I just installed Cygwin and used it from there. However, the interaction between the actual Windows environment and Cygwin was a little cumbersome--but usable. I've written some crazy shell scripts using Cygwin, but trying to run a Windows command using variables from the script can be tricky, for example.
However this opens up some other nice possibilities for a Windows environment. If the shell they create is complete enough, you may not even need stupid "remote control" apps, instead you could just SSH into the box and take care of things.
On the other hand, I guess it just makes Windows easier to crack too
-brain
Well, perhaps if windows users get used to using a shell, then the switch to UNIX won't be too hard for them, it certainly makes it easier for the Linux movement if there are more similiarities than differences between the windows *gui* and the linux *gui*, as a large majority of Linux's advantages are more in respects to the underlying architecture, philospy[1].
--
[1] Actually, I happen to think that the linux desktop is much better than the windows desktop, if you shy away from GNOME, KDE and try some of the non-standard desktops. I've been using WindowMaker on my laptop for a year now, and I see no reason to ever switch (it just fits the way I work). Furthermore, once you go shell, you never go back.
There are 2 things I wonder about though: .Net and not the full OS?
1. Why is this only via
2. How much of the OS will be accessible via the prompt?
Kinda hard to tell by just the job posting. Neat to see though.
---- Meh.
Responsive? How long has windows been around? And they're just now planning to have a full-featured shell...I'm glad the fire department isn't that responsive.
I'm the urban spaceman babe, but here comes the twist... I don't exist
Uh, I think they still need to fill this "hole" (pun intended). Perhaps if they try removing all those integrated services and make them modular, they might be able to lock down their OS to the level that most NIX's have enjoyed for years now. Think of it in terms of inbreeding...the more times you marry your sister, the weaker the blood becomes. Same thing with Windows. My sig says it all in regards to why Windows is so popular.
"Klaatu, verada, necktie!" -Ash
Look, in contrast, at the "next generation UNIX shell", rc, from Bell Labs. "rc" intends to simplify, remove unnecessary functionality, and factor out features like job control and command line editing.
Most of these capabilities are already in Windows Script Host, which has been standard in Windows for years. What's new, I suppose, is that this version is based on the .NET Framework.
For years now MSFT has said that their platform is more user friendly by providing nice GUIs for all admin modules.
For them to turn around and now build this super-shell basically amounts to admitting that a GUI based aproach does have some serious shortcomings and that the UNIX way of allowing everything to be scripted provides serious benefits which are hard to come by if everything is accessed through a GUI. If nothing else, this validates the UNIX way of doing things and should make it easier to argue this point when competing for (a) large (number of) server installs/farms.
Yeah: they collect every possible feature under the sun into a gigantic feature list. Then they hire away a number of experts from other companies that feel constrained not to be able to do what they wanted to do at their previous jobs and give them lots of money and programmers. And instead of having to compete for market share with their ideas, they just get to dump whatever they come up with into the Windows distribution. The result spells out "second system effect" in big letters.
Good design requires restraint and tradeoffs. It requires figuring out how to pick a small set of features that get most of the work done. It requires actually competing in the market place, where not only dysfunctional systems fail to find acceptance, but also systems that are too complex and big for mere humans to figure out. Microsoft completely lacks the taste, corporate culture, or ability to make those tradeoffs.
But you are right: this approach is indeed why they are number one. There are many morons out there who do indeed think that the longest feature list is what makes a system good.
good to see MS will be integrating a cmd-line tool into windows. i'll prolly still use cygwin. anyways, if any MSer is listening, do us all and favor and include tab support. being able to have many cmd-lines in one window is just sweet (thanks you RH 8.0).
smd4985
Microsoft already has their own scripting environment, and you can already get the most popular shell environments (Bash, Korn) for Windows for free. It doesn't help, because the system just isn't built for scripting.
They've got stability, they've got security, and now they're gonna have good scripting. Wow. Who would'a thunk?
Very funny. XP can be fairly stable and secure--if you dedicate machines to individual tasks and disable most multiuser features. Running Apache and ssh helps, too. But, compared to UNIX and Linux, XP's stability and security are still ridiculously poor. And that's not because lacks features, it's because it has too many features.
The amount of effort Microsoft has put into enhancing and fixing bugs in their command line tools since the release of MS-DOS 1.0 and MS-DOS 2.0 is so close to zero that it generates an underflow error. Bill said many years ago that he doesn't assign programmers to projects unless the project will make money for Microsoft or advance its strategic goals. Making customers happy is not a sufficient reason.
Mea navis aericumbens anguillis abundat
This and all of the similar idiotic comments just goes to show how little the /. crowd knows. Reading even the summary of the article shows how untrue this is. bash has command discovery via reflection API's? Really? It can discover commands by any other mechanism than searching the path? I think not.
They're talking about discovering which objects are installed on the system and finding which API's those objects expose, all from the command line. Sounds very much unlike bash to me.
I currently use cygwin bash and bash on FreeBSD, and the description of this new MS shell sounds way better.
This really goes to show why Windows will "win": Everything Windows does could be done on a Unix box. Absolutely everything. But it isn't, and it won't be. Here's why: There's no agreement among the developers on the Unix platforms. Sure, I could write a command shell on FreeBSD that has some sort of similar discovery mechanism, or I could write a GUI and a few apps that allow embedding parts of spreadsheets inside of word processing documents, but what have I gained? Not a whole lot. No one else will follow my lead, so my work will die. On Windows, MS does a reasonably good job of things like this and all applications jump on the bandwagon, and the users profit from it.
...that they would call it "Bush"?
C|N>K
First of all, since most people use the GUI most of the time, if you want to move on to scripting, you have to learn both entirely new commands and figure out how to script them together. Not even the concepts and paradigms of how to manipulate the system are easily mapped onto one another.
Also, the command line tools don't seem to keep up with what's in the GUI, and any third party components that require administration often don't come with command line tools at all.
Finally, Windows doesn't ship with a lot of the glue necessary to make scripting work. Apart from the pathetic cmd.exe, most devices are not accessible through the file system and many important command line programs are just missing. Some come and go (NT used to come with pax.exe, but it seems to have disappeared now, leaving no archiver around).
The candidates are as follows:
Command-line Remote-capable Advanced SHell (CRASH)
Microsoft Advanced SHell (MASH)
Synchronous Multi-user Advanced SHell(SMASH)
What is YOUR favourite?
is the desire to make it square, so it won't roll away, and to later enhance it by making it triangular thereby eliminating one bump.
M$ seems to have an absolute overarching need to make everything and anything all their own. Not better just their own. It just takes them three tries at anything before customers stop asking that it work properly.
Just reply that their marketing division has succesfully polluted M$'s own resource pool since schools curricula now only teach operating systems as "How to sys admin with Windows NT"
MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
Comment removed based on user account deletion
Wow, a hugely complex scripting environment with hooks into every aspect of the OS.
.... Again!
Virus writers - here is your big chance to spread like wildfire through windows machines!
There are a thousand forms of subversion, but few can equal the convenience and immediacy of a cream pie -Noel Godin
Pasted from a great AC post higher up in this thread. He's already said it better than I could:
Do you really think that BillG got to be worth $40 billion by making customers UNhappy? Do you really think that 93% of all end-users are masochists? Do you really think that people in a free market choose of their own free will to buy inferior products?
Or do you suppose that Apple [Macintosh] & NeXT [NeXTSTEP] & Commodore [Amiga] & Novell [DrDOS/NetWare] & Digital [RSTS/VMS/True64] & Sun [SunOS/Solaris] & IBM [OS/2] & Linux [Gnome/KDE] couldn't [and, to date, still can't] get their heads out of their asses for long enough to give the consumer he wants: An inexpensive platform that allows him to copy from a text editor, paste to a spreadsheet, and vice-versa, without having to go back to school to get a goddamned PhD in the minutae of Bourne Shell scripting [much less artificial intelligence, LISP, and emacs]?
P.S.: I accidentally discovered that the native command line interepreter in Windows XP has a decent filename completion feature. Without thinking, I hit tab to complete a file name, and it took me a minute to notice that it worked even though I wasn't using bash.
Stupid job ads, weird spam, occasional insight at
Microsoft: We Invented the Shell in 2003.
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
We had some engineers working on a project that was going to involve migrating 2000 users. They were all trained MCSEs, and they going to migrate 2000 users by hand. When I showed them all the command line tools that came with the NT4 resource kit, they were floored. We put together some batch scripts and saved the clients some money.
Point-and-click Admin GUIs are really convenient. If you are doing one user, or something similar, it is easier than remembering command line arguements. There is nothing inherently superior about a text based approach to graphical. You need to understand what you're doing, arguements vs. icons is irrelevant.
However, when you have a LOT to do, and you want to do it based upon a list of names, CLI is the way to go.
The group with the slickest solution is Apple w/ Applescript. Instead of separate GUI and CLI versions (NT), or CLI with GUI wrappers (Linux), it's all integrated. The applications can accept arguments while running or while not running. There is no reinvention of the wheel or duplication of effort.
Alex
This is an excellent idea, bringing this to the shell.
l eOpen "my.doc"
If you look at the command prompt in VS.NET you'll see some of this technology today - you can type "Project." and get a list of things you can do with the current project... If you want to do a build you can type "Build.BatchBuild". If you type "b.b", down arrow, return, you've done the same thing with 5 keystrokes (the autocomplete fills in the rest). Same number of keystrokes that typing "make" and hitting return takes.
Difference between this and typing "make" is that when I type "Build." I get a list of things I can do with the current build - it becomes an object oriented command line. It's pretty nice once you work with it a bit - You want to work with the current project (add a file to it for example) type Project. and look at the list - same for File. Debug. etc
Interesting thing about this new shell that Microsoft is talking about is it will take capabilities ALREADY exposed by most Windows apps (through OLE automation) and make them available at the command line. If I could type this in a shell:
$Word=CreateObject("Word.Application")
Word.Fi
Word.Print
Word.Quit
Then I can print a Word document, using Word, from shell (and without ever seeing Word) using the same scripting interface available to VBScript (etc).
Most Windows apps support scripting (even non-MS apps). It's getting at this functionality from the shell that's new here - something I don't think there's any Unix equivalent of yet.
- Steve
I wonder if the shell will be POSIX compliant. I anticipate it will not be. Why ? The key to MS's monopoly is to create their own versions of standards. That is, to destroy standards and force people to use software that understands their "standard". Note that they do not mention "knowledge of POSIX" as a requirement in the job announcement.
For YEARS they have been slowly but surely killing the shell world. They were so prone on such trend that they:
Didn't develope its command line interfaces since the beginning of the 90's.
Didn't support implmentations of more advanced scripting tools like perl or python.
Claimed for years that shell suxxx. They marketed their system as a growing evolution from the crippled shell environment.
Granted that, in the future, all management would be through the GUI.
And now I am hearing that they are getting back to the start?
Interesting. I have seen several interesting things while I developped for Windows. and one of the things I was pretty sure, was that implementing shells or scripting tools was hard. Perl (native Win32) or bash (through cygwin) gave me always a sense of a certain handicap in relation on the *NIX world, where most of its control was based on the existence of shells. I could not get into the inner mechanics that ruled many Windows apps because their data was never supposed to be handled directly by shells. Note that many apps produce binary data, even when there is no clear need for it. So, if one needs to use perl or something similar to handle Windows data, one usually needs an interface or some tweaking on files. And, due to the fact that Windows lacks established standards for (almost) similar kinds of data, one needs to deal with different tools to deal with each piece of data.
A similar situation occurs also with file formats. Sometimes, the format of different versions of one and the same program varies so radically, that one is forced to deal with different interfaces for each version. That's also one of the reasons whyscripting tools didn't gain a wide acceptance in Windows.
Also one problem is that many programs on Windows base their interaction in a memory-to-memory basis, while *NIX still keeps a lot of its interchange in a filesystem basis.
So I am scheptic that M$ is able to do a serious move on this field. However I may understand why they are moving with a new scripting system. Frankly, with all the mess they created, perl and many other tools will never be able to have a fullscale use on Windows like in *NIX. But that depends on how far M$ will go on the development of this new system. If they will create some sort of Easy-VB-like scripting tool, it will not catch the souls of sysadmins. If they create a full-scale mutant like perl, they risk to give a new weapon for script-kiddies, but sysadmins will surely catch the wave.
Anonymous reader, yeah sure! I mean, posting this job advert on slashdot, what would that cost? I'm telling you, this is Bill posting job adverts disguising them as "new features"! :-)
Employee of Inrupt, Project Release Manager and Community Manager for Solid
I fear that they will put this new shell only into new OSes, or into service packs with strong licenses that will allow them to, say, apply DRM on your data without your agreement.
Then the vast majority of slashdotters will rant to defend their privacy, but will install it because it's useful or it's required at work, thus giving up another bit of their rights.
-- There are two kind of sysadmins: Paranoids and Losers. (adapted from D. Bach)
Is to use good-ol cygwin and set up the sshd on the windows machine. I do this to all my boxen, and it works great.
Where the value of X-Mailer: is the true measure of a man...
Hasn't Amazon got a bunch of patents on this?
If you were blocking sigs, you wouldn't have to read this.
Do you really think that BillG got to be worth $40 billion by making customers UNhappy?
Bill Gates got the opportunity to be worth $40 billion because he convinced Lotus to write 1-2-3 for MS-DOS rather than CP/M.
OSX has some of the functionality mentioned here in it's netinfo database, and system and programme defaults can be set through the defaults command which is based on xml. Applescript is a good glue between the CLI , System and other software.
What is interesting is MS' motivation behind this. It does seem as they are of the opinion that having an amazing shell will pull all the OSS crowd over to using Win instead of Linux/BSD/*NIX. Why I think it won't work, at least in the first few iterations, are because:
a.MS still has that licence problem which they would rather die than let go of.
b.You still have to pay extra $$$ for the whole bundle of extraneous shit that you don't need.
c.It will still be easier to script apps in VBA. 80% of the extra cludge, OO this , reflection that etc will go unused.
Because I don't have one. I don't want to go and get one either. Really, why would I want to learn how to use a piece of new software when the CLI version does it perfectly well?
my ntoskrnl.exe is 1.8MB.
FYI.. .I was at the USENIX/SAGE L.I.S.A Confrence 2002 in Philly a few weeks ago, and some guys from Microsoft had a late night get together to talk to us unix people.
I couldn't not go, after all it was Microsoft at a 100% NIX-only event, so I figured some fun would be had at their expense..
It was called: UNIX + Windows Admin Management with Scripting & Command Line: What are your requirements?, and was on thursday night.
The point of the meeting is that, they wanted to know from UNIX admins what makes a good Command Line environment and what it would take to make Windows have as powerfull a CLI as Unix.
They pretty much told us that there is a LARGE high-level project at Microsoft to make Windows servers to be as easy to manage and configure as Unix servers from a serial port with no gui required.
What is their REAL goal:
From what I could tell its simple... they want to eliminate the competitive advantage that UNIX has with the CLI. That this away from NIX as a "advantage", then thats one less think people can point to as something that Windows lacks.
They want to be able to honsetly say... "Unix isnt any easier/more-powerful on the CLI than Windows."
After all, that is one of the SINGLE LARGEST differences there are today between their product and NIX.
Take that argument away, and you have a huge marketing/argument weapon against us NIX people.
-- Given enough time and money, Microsoft will eventualy invent UNIX.
a very rich object-based mechanism for managing system properties
and:
transparent remote execution.
Given Microsofts dedication to security, this scares the pants off me.
I defy Microsoft to be able to prove that a developer with " ... Windows NT or Windows 2000 system programming experience, ... as well as with scripting and shell languages like PERL, Python and Bash." and "2-5 years experience in high technology, preferably delivering products for both Windows and non-Windows operating systems." to be able to PROVE that any similarity to bash arose in a "cleanroom reverse engineering environment."
... it's be Microsoft's worst dream come true ... <VERY Evil Grin(TM)>
Imagine Stahlman winning a copyright infringement lawsuit against Microsoft and Windows getting "infected" by the GPL
utter rubbish
I'm not ignorant of OS X - I actually have commecial shipping OS X software - but to my knowledge, you can't use AppleScript directly from a command shell, can you?
Scripting isn't the same as a command prompt...
For years I've had friends who think I'm an idiot for not swallowing the blue pill (MCSE), and instead insisting on learning Linux and the requisite scripting languages to work in it.
It warms my heart to know that those brainless, cert-chasing mercenaries will have to learn Perl. Bwahhahahahaha!
tcsh can. Guess the problem is still solved. tcsh can expand command from other 'completors' other than just the $PATH. Like, type mount somehost: and it will try to expand from the output from 'showmount -e' for example. Granted, they aren't reflection API's but that's just another buzzword to me :)
When Microsoft Windows can do everything that a *nux box can do, and a *nux box can do everything that a Windows box can do, then it will all come down to what you value as a person.
Right now, the majority of the people in the world seem not to value anything, just being able to read email and browse the web. When Microsoft really steps up their customer abuse, which we've seen the first signs of, that's when the *nix boxen will start seeing some new users.
Microsoft is their own enemy.
"To make a mistake is only human; to persist in a mistake is idiotic." Cicero
shift+left click is your friend[1] :).
There's also ctrl+enter for addresses - type google in the address bar and press ctrl+enter
[1] But javascript links usually won't work.
First of all, the appeal for candidates looks to be directed at developers who have experience in multiple operating systems, not at all a direct call to unix developers.
This is also not the first time that Microsoft has pursued technologies that are similar to unix.
From The Free On-line Dictionary of Computing (09 FEB 02) [foldoc]:
XENIX
<operating system> A commercial version of {Unix} for
{microprocessor}-based computers, released by {Microsoft} in
1980. In 1992, {SCO} became Microsoft's co-development partner
and the alternate source for the product.
(1999-12-07)
http://www.smalleranimals.com/thumb.htm !
I have discovered a truly remarkable proof which this margin is too small to contain.
It's not necessary to carefully avoid reading the very short page that this story is about. It's not necessary to make a (completely wrong) wild speculation that is trivial to double-check just by glancing at the final line of the job posting. It's not necessary to embarass yourself in public. The final sentence of the job posting says:
Of course, this is the first time anyone on Slashdot ever posted something incorrect without reading the story in question, and doubtless no one will ever do something that silly ever again.
Professional Wild-Eyed Visionary
Jim Truher from Microsoft had an informal Birds-Of-a-Feather session at LISA 2002. I showed up because I wanted to see this guy squirm a little (LISA is almost all UNIX/Linux folk). He claimed to be one of the designers of this new shell and he wanted our input about the most needed features. He mentioned created a language similar to PERL only better(i.e. proprietary). Full transaction support was suggested as well to allow a multilevel "undo" capability.
M$ allways gets the message when their cornered. .Net and would have actually had something usefull to brag about.
Same as back then with IE, to name a prominent example. That's because they've actually got a personality as CEO. Yes, say what you will, but Billyboy and Steve'O. they're personalities - have to give them that. They will finally put an effort to making their inhouse OS transparent for scripting, automation and chain processing and other usefull stuff like that. But I'm certain this time they're to late.
A year and a half ago they could have bought RedHat and published a Linux distro and nobody would have even guessed that Linux isn't an M$ projekt and is available for free. But M$ chose to bitch about licenses and get people aware that there is something besides M$. They could have done this new OO shell and OS aproach thing, called that
But now I don't think that M$ can pull the wagon around anymore. OSS alternatives to Mickeysoft are here and here to stay. And they will never go broke.
We suffer more in our imagination than in reality. - Seneca
my ntoskrnl.exe is 1.8MB
That won't fit on a floppy. See Coyote Linux.
The main thing I want from a filesystem is to store data and be sure I can retrieve it.
Look at how long it took to get the critical NTFS bugs fixed. All those NTOSKRNL corrupted errors whoopee - how can a _kernel_ file get corrupted or become inaccessible so easily? By service pack 4 thru 6a things started getting better but then it became "Win2K or die time".
By the time/before their db filesystem becomes safe to use they'll have moved the goalposts yet again.
OK, guys, get a grip.
.NET (like *spits*VBScript could leverage COM objects) is interesting, and could be worthwhile.
1) The fact that CLIs are good for some things does not mean that GUIs Are Bad (tm). GUIs are brilliant for some things (try playing chess or working Photoshop/Gimp via a CLI) and CLIs shine for other things (notably here, batches and scripting).
2) I wouldn't call this a "change of direction for microsoft" as I really don't think that this will mean a significant slowdown on MS's GUI-related activities. If you will, it is the great amoeba expanding in yet another direction at the same time.
Often, MS doesn't have a masterplan - they throw a bunch of stuff against the wall, and see what sticks. If it sells, sell it.
The great Ektanoor, who may not be a troll but does tend to rant when he should listen, claims that "For YEARS they have been slowly but surely killing the shell world". I don't think you need ascribe that any motive other than neglect and lack of enough vocal customers asking for it (they were no doubt too distracted by the shiny gui toys)
Microsoft has a history of picking the low-hanging fruit that are bright and shiny and tempt in the casual buyer, then slowly climbing up to more difficult tasks that thier users ask for.
The way in which this will leverage
I don't want to even think about the security implications right now.
My Karma: ran over your Dogma
StrawberryFrog
For the simple reason that you need to reboot every time Microsoft comes out with a security patch. I have Windows Update turned on on my desktop machine and every week there is a new security flaw.
Therefore, to keep an internet connected Windows machine "secure", you are talking weekly reboots. Most of us here consider uptime to be the best indicator of stability, and Windows is a far cry from being the most stable system.
Now, its true there have been security holes found in Linux(about 1/4 the frequency of Windows). But at least you don't have to reboot every time you patch something, unless its the kernel. Most patches are on a higher level subsystem that simply needs to be HUP'ed to begin running the patched code. Not so with Windows.
You unfortunately seem to have confused the desirability of running a Windows desktop system with that of running a server. Depending on what kind of server you are talking about(web, email, DNS, firewall, etc.) Microsoft is nowhere near being the most popular, and its because Unix and Linux servers have proven to be more stable and more secure than their Linux counterparts. And they always will be because ease of use is anathema to security and stability.
A competent admin doesn't need a GUI for these servers, in fact a GUI is just a large chunk of code that gets in the way of what these servers need to do.
No, Thursday's out. How about never - is never good for you?
So they are going to sell us an operating system, whose API was originally designed as a graphical user interface for DOS, then ported and somehow upgraded to run in hybrid real/protected mode but still on top of some DOS (called Win32), then patched to be multiuser-capable and ported onto a kernel which was originally meant to be something like VMS w/ an OS/2 API until they hacked a Windows API into it (and renamed it as Windows NT), and finally packaged with a pile of user-space programs which let this crap look like a unix shell?
...
There is so much missing in NT compared to Unix. No VFS-like filesystem, no symbolic links, no device nodes, no setuid/setgid, no privilege sets in the filesystem,
Even if you add a really powerful shell environment, it still can't compare itself to modern Unices.
Why don't they throw it all away and build a REAL unix instead of bending some wannabe-unix-stuff round a broken Kernel/API design?
Does a so-called professional server- and/or development-platform really need to be compatible with Windows 95/98/ME/Win32?
"Given enough time and resources, Microsoft will eventually invent UNIX."
Tired of FB/Google censorship? Visit UNCENSORED!
Current script based viruses have.
Microsoft tends to sand-box things like the costa-blaca.VB-script was a virus writes dream come true, I hope they make a better job this time.
thank God the internet isn't a human right.
The term shell does not necessarily imply command line shell. That's just the typical unix implementation. In Windows, the Explorer GUI is the shell and the command window is just an application executing in it.
I am not a number! I am a man! And don't you
The Unix 'find' command let's you recursively descend directories and select files and/or directories dependent on several attributes, like name, access/modification timestamp, even content with a little cleverness. Then execute an arbitrary command on each resultant filename. You could easily get it to prompt you at each filename for a Y or N, thus replicating your mouse-click functionality at much-enhanced speed.
If you have your images sensibly filed, then some accurate verbally-expressed command is much faster than vague mouse movements.
I like GUIs. I used to dream of a system which didn't (need to) offer a command line. Since I discovered Unix and unix-like systems, my dreams were exposed as freakish nightmares. I saw the GUI for what it really is - a feedback system for completing ill-defined goals. It's a tool, nothing more, nothing less - use it when it is best fit.
Your 'living in the past' statement makes me think of someone recommending a power drill for driving a nail into a piece of wood. Hammers do that much better, despite their simplicity and antiquity. I don't see hammers disappearing any day soon.
As others have said, GUIs are nice when you don't know what you want to do. The goal is clarified through the feeback loop created by your eyes and the monitor.
If you DO know what you want to do, then just say (or type) it. Then get on with some more interesting business, which is what computers are meant to allow us to do anyway.
Yours Sincerely, Michael.
Well, for starters, your method can't work correctly unless all the files share a portion of their filename or path.
Correct. Fortunately, when I download the memory card from any of the cameras, all the files are in - guess what? - one directory.
I'm not sure what your "living in the past" comment is supposed to mean. I'm choosing the method of working that's most suitable to the job I'm trying to do. Just because something is newer, doesn't necessarily mean it's the best for all jobs.
On a related topic, does anyone know if the scripting language for the Amiga - "sheep" ever went beyond rumourware?
May I have your Attention Please: To all the MSCE's who went to the MS mouse wiggling academy, get ready for elightenment, a real scripting language may be coming to a server near you. No longer will remote systems administration require VNC, PC-Anywhere, Windows Terminal Server, or a Webconsole (which works some of the time).
....
As a person that despises inefficiency in enterprise systems, I have been ignoring all Microsoft technology since it is a Royal PAIN in the arse in terms of administration. Theres nothing I like more than trying to use a GUI over dialup to fix a problem at 2AM. While the Microsoft mouse wiggling academy has produced some of the finest mouse wigglers and mice (that new MS optical mouse rocks), I am glad to see them finally open the door to the smarter administrators that like their hands glued firmly to the keyboard. Taking steps like this may even allow me to integrate Win2K into the enterprise instead of forcing it to live in it's own little world off to the side.
This industry just keeps getting stranger and stranger. No camp seems happy in their current location. Linux wants the desktops and Microsoft wants the servers. I guess all brunettes want to be blondes too, eh?
As iron sharpens iron, so one man sharpens another.
I too discovered this, and then learned from one of the Win32 programmers at work that this has been available in the NT command line since 3.51, it's just turned off by default. You have to turn it on via the registry.
Is this going to open up a can full of worms for security on windows systems?
Powerfull prompt action? I wish bash had th... oh wait...
I can see it now. John C. Dvorak blurting about how great and flexible it is to "telnet into a box and get a prompt to do anything you want" and how the unix boys almost had it right. And that Java is dead.
It is OO fans who love it and the rest who say "whatever".
If you have done any serious programming over any real length of time, you tend to do OO programming whether you call it that or not.
Grouping variable names using a prefix, allocating and initializing structures using a function, operating on those structures using well defined functions, etc.
These are OO concepts without the formal OO architecture.
- - - - - - - - - - -
I am a programmer. I am paid to produce syntax not grammar. Deal with it.
behold, the MS 40 year unix-recreation plan!
Unix sux. lets hack out all of this bloat.
Hmm. actually, I guess that GUI thing wasn't so bad after all.
Thinking about it, I guess those long file names were quite a neat idea.
On reflection, the whole multi-tasking thing was fairly useful too.
Hmm. server admin. tricky stuff. lets see if we can't crowbar that back in too.
Right, in another ten years, with all these super features in place we'll have a whole new product...MSnix is born!!!
Object models are primarly good for boosting programmer productivity by reducing wheel reinvention, and by allowing you to use languages that are most appropriate for the task at hand. If you're writing a media player, C is not the best language to use. If you're writing a high performance codec, maybe it is. Object models that let you share code a la COM/.NET mean you don't have to choose langauges based on what code is already available to you in that language.
So, you dump the photos into a folder and use an RDBMS to give you arbitrary meta-data
about your archive. About the only thing you can't do is have arbitrary numbers of images named 'RillyKewlCar.jpg' in the same folder.
The killer argument in favor of what you already have is that a robust SQL engine that
would fit on a bootable floppy would probably be software art of Knuthian proportions.
Get thee glass eyes, and, like a scurvy politician, seem to see things thou dost not.--King Lear
No, see, that's the point. Microsoft doesn't support Linux, but Linux people want some of the things Microsoft provides for Windows, so we have created our own. It's not innovation. I have never seen any open source programmer consider cloning proprietary software innovation. Major innovation (totally new ways of doing things) is usually somewhat rare in software created by hobbyists because companies generally spend thousands on research-and-development costs to majorly innovate. Open source is full of minor innovations, though (clever hacks, minor improvements, small enhancements), that can make the difference between software being a pain to use and a joy to use.
Microsoft is infamous for speaking so highly of their innovation while usually only performing minor innovation (many of their products are simple improvements on another company's software, or were straight-out bought from other companies which does not constitute innovation in any form). If you are going to talk of how innovative you are, come up with some really-damn-new, really-damn-good ideas on your own!
--TheOrangeSquid Is it any wonder things seem so awry? We swim in a sea of confusion and don't have to think to survive
- Having both Gnome and KDE is good because the competition will cause both to get better
- Having a Linux/UNIX desktop environment is good because the competition (with Windows) will cause both to get better
I've seen these kinds of arguments spouted repeatedly by purveyors of the Slashdot party line, and I've even made a few myself. What we have here is a confirmation of the underlying idea: that competition improves products.Plan and simple, Microsoft is competing. They've acknowledged a strength in a competitor's product and are (finally) going to tackle it head-on instead of with shady business, cash, and lawyers. They're going to try to build a better product. This is what we've wanted all along, isn't it?
I wish Microsoft's programmers the best of luck in creating these new features. They will most likely be a great improvement to the Windows platform. Likewise, I wish the Linux/UNIX communities the best of luck in creating new features to greatly improve Linux/UNIX. I believe that competition between the two groups will significantly advance the start of the art in software. Microsoft is ready to play serious but fair ball, and it's up to the rest of us to build a winning team and play the game. Humanity stands only to gain.
Washington, DC: It's like Hollywood for ugly people.
After 25 years, Mr. William Gates III has finally found out what that funny thing he never understood on his Altair was for. It took some work to convince Balmer, but the promise that the @ symbol in the prompt will be animated and provide the user with a constant stream of "you seem to want to run a command, may I assist?" hints in addition to morphing into a dancing monkey whenever there are too many CPU cycles not being wasted on something else finally did the trick.
.NOT ^H^H^H NET implementation of vi, or if they'd rather copy emacs. Maybe just to piss off RMS. (they got away with stealing 90% of what windos is today, surely they could care less about RMS taking them to court).
I just wonder if they will also create a
Assorted stuff I do sometimes: Lemuria.org
The point of shell scripting in UNIX (and I dare say, period) is to patch together a bunch of pre-existing programs so that you don't have to build the functionality of each one from the ground up every time you want to use it.
/var/log/bar | wc
/var/log/bar)$ x)
.NET framework, or VB, or whatever, because it's missing the entire point. The point here shouldn't be to create a huge behemoth to perform small tasks, it's to create an army of mice to work together to perform big tasks. Make programs in such a way that you can take one program, glue it to another, and make it into something completely different. Also, the entire raison d'etre should be that the sysadmin should be able to build these constructs in seconds, not hours or days.
Command.com (and cmd.exe) already has the functionality to do this. There's just a tiny little problem with doing it with all windows programs and most DOS-based programs too. They were never built to be scripted.
Here's a perfect example. Say that as a sysadmin you want to check to see how many times "foo" shows up in your system logs on a daily basis. And since you administer 20 such servers, you don't want to have to log into each of them every day and search the logs yourself. Here's how you'd do that in Unix:
(no, I haven't tested this, and undoubtedly my syntax is wrong. It's called pseudocode.)
Place a line in the crontab like this:
(every day, 3pm) mail -s "system report" edunbar93@youknowhere grep foo
Yes, there are better, more elegant ways of doing this. This is the simplest. In windows, you'd have to somehow do the following, assuming the default toolset that comes with windows 2000:
Get the "Find files or folders" program to somehow spit out only the line that says how many results were found, somehow get that information into Outlook Express, and somehow get OE to send it automatically.
Of course, the first person that accomplishes this feat will win a Nobel prize in computer science, because it's nearly impossible.
Of course, you could "just" make a scripting language that would make the process easier. For instance, you could make function calls/objects for mailto(), grep(), and wordcount(). Not to mention any number of other function calls that might be needed, which would undoubtedly be added by future include files, patches, and upgrades. It's still a far cry from a one liner, because your program would now look like this:
#include grep
#include wordcount
#include mail
$x = grep("foo",
$x = wordcount($x)
mailto("edunbar@youknowwhere.com",
And, it's worth noting, you're also still a far cry from a scripting language. This is closer to perl than it is to sh. Why bother at all, when you can just use perl? It doesn't matter if you're using the
Microsoft's operating system works on the basis of complexity. Unix works on the concept of simplicity. Guess which one is better at doing simple things, and always will be better at doing simple things.
"No problem. I have the capacity to do infinite work so long as you don't mind that my quality approaches zero."-Dilbert
WOuld that be an undergraduate text book from Microsoft Press?
Many folks have commented that this is just a command line, when it sounds like much more. It reminds me of the scriptable capabilities of KDE though the dcopclient utility. In other words, it provides dynamic and manipulative access to running systems without prior knowledge of their interfaces.
Sure, bash + vi + kill -HUP is provides some level of dynamic configuration, but it assumes prior knowledge of configuration file formats and whatnot. Also, there appears to be a desire for trans-network discovery as well.
eh?
I suppose I'm not too threatening, presently, but wait till I start Nautilus
Ha, ha: only serious...
Just in case you were working on something to solve a shell problem, just stop, because you can't compete. I mean, this is Microsoft, and nobody will believe that you can put out something that works better than theirs.
Even if you do actually accomplish that feat. Even still, Microsoft will trace the API calls your shell makes and pull the rug out from underneath you in the next automated .NET framework service-pack.
Then, they'll link their knowledgebase to promos of their product so when your customers search for a solution to why your shell started behaving badly (just after the ServicePack was applied), they will see "use the Microsoft shell". Next, your boss will get a letter explaining that Microsoft is attempting to purchase the rights to your project, and all your boss has to do is kill your project to collect more money than they've ever paid you (and prolly some killer seats at _insert_big_sports_event_here_).
Next, you'll probably end up contributing code to some consulting firm that agreed to make the Microsoft shell do what yours already did. It'll cost 20 times as much, and it'll be 1 year past the delivery date you would have made, and by then you'll be sick of dealing with the problems your shell intended to solve.
You'll try to move on to something else, but every where you go, no matter what you try to get into, the same old shell scripting problems will stymie you because NOBODY solved the problems that Microsoft promised their shell would solve. It will haunt you until you completely switch fields or commit suicide, or some other depressing and too-boring-to-enumerate possibility.
There is no monopoly in Unix implementation. Stick to Unix if you don't want to hire (or be) a staff of service-retarting, server-rebooting, reinstalling monkeys to do boring repetitive click-and-drool tasks at the console of a server , in what was *supposed* to be a lights-out data center, checking blanks on the left margin of of a mainframe-era "run book" as they (you) go.
Happy new year!
--- Nothing clever here: move along now...
Ahem. I appear to have "remembered my form values" via mozilla at some point, which means that "what about the helios" got inserted for me based on a post several months ago
Score: -5, OffTopic Subject Line
I suppose I'm not too threatening, presently, but wait till I start Nautilus
WSH ships as part of Win98 and above. Of course, you wouldn't know that being a Linux only user...
thumbit.vbs:
Set WshShell = CreateObject("WScript.Shell")
Set fso = CreateObject("Scripting.FileSystemObject")
WshShell.run "c:\progra~1\paints~1\psp.exe", 1
WScript.Sleep 100
WshShell.AppActivate "Paint Shop Pro"
WshShell.SendKeys "{ENTER}"
Set MyPics = fso.GetFolder("c:\tmp")
For each Image in MyPics.Files
WScript.Sleep 100
WshShell.SendKeys "^o" & Image & "{ENTER}" 'open file
WScript.Sleep 1000
WshShell.SendKeys "+s" 'open resize dialog
WScript.Sleep 100
WshShell.SendKeys "100 {ENTER}" 'maintain aspect is set so only enter width
WScript.Sleep 100
WshShell.SendKeys "^s" 'save file
WScript.Sleep 1000
Next
Another proof comes from that site:
:-)
You can download the huge current tree in standard gzipped tar format, but be warned: it's about a megabyte right now.
IIRC, Microsoft didn't warn us explicitly before downloading the 100 Mb Service Pack for Windows XP.
Beware: In C++, your friends can see your privates!
Programming can be fun again. Film at 11.
You wrote your script wrong, it should be:
mkdir thumbnail
for %i in (*.jpg) do D:\imagemagick\convert -resize 128x128 %i thumbnail\%i
I used the path to the imagemagick conversion program because NT also has a convert command, and I don't wish to mistake them. You could also rename the imagemagick convert to imgconvert or something.
Now let's say you want to take 35 different bitmaps and for each one create 32 different rotational views. Now you could try to use Imagemagick, but your results will be unsatisfactory as it doesn't do rotations at other than right angles well.
So now you have something like Paintshop Pro, which is entirely GUI based. Your process is:
1. Load original bitmap
2. Rotate X degrees
3. Save bitmap
Now why on earth would you want to do this over 1,000 times? A better solution is to automate Paintshop Pro by sending keystroke events to it using a scripting tool like Winbatch. Unless of course the GUI tool already includes scripting capabilities(many if not most do).
Again, you could do the same with your image resize problem. This gives you a great deal of functionality in the event that Imagemagick doesn't produce very good results(which is unfortunately quite common).
Ok, let's see how to copy a file...
v e1:> File fDest = new File("test2.txt");
System.LocalDrives.Drive1:> copy test.txt test2.txt
copy: Unknown namespace
System.LocalDrives.Drive1:> System.IO.Copy("test.txt", "test2.txt");
System.IO.Copy: Type mismatch at parameter 1: expecting System.IO.File
System.LocalDrives.Drive1:> using System.IO;
System.LocalDrives.Drive1:> File fSource = GetLocalFile("test.txt");
System.LocalDrives.Dri
System.LocalDrives.Drive1:> Copy(fSource, fDest);
Wohoo, I did it!
Beware: In C++, your friends can see your privates!
man osascript
Hyperbole is the worst thing ever.
Why not just use the addusers.vbs script that comes with the Resource Kit?
This lack of knowledge about Windows really annoys me. Instead of criticizing products, why not use google.com to search for ways to solve your problem, or just ask someone else how you might do this.
Only someone who's got experience with NT and "non-Windows" operating systems would know what kind of portablility the new .NeT should have. It will resemble the famous Korn shell of NT and be at least as portable as NT was. Ah yes, the new CEMENT OS is on the way.
Friends don't help friends install M$ junk.
Wasnt it Microsoft who left all development of the CLI back in 90? They have since claimed it useless and worthless. If they decide to implement it now they will be atleast 10 years behind in security. That is, if they dont look at others source code and doesnt reinvent the wheel again. Either they will be up the creek without security or they will "borrow" code and knowledge from the unix world. Either way they are in for a rough ride. I suggest that we keep a close eye out for any similaritys.
I have a strong feeling that they wont go at this from scratch. That would make them implement numerous bugs into windows, again.
One last quiestion, do they think all that is linux is the CLI? What about price, freedom and developers etc? Either way, the users of windows are the real winners here. Damnit, all of you that love windows, support linux and get better windows. It should be pretty obvious by now.
HTTP/1.1 400
make a worthwhile shell. It's why MS has what must be one of the worse shells ever. Or is iut because MS wants to keep the users to stupid to take advantage of all the holes.....in windows?
Winnt and XP are not only insecure because of the apps, thanks to tie ins with IE and Outlook/Express script kiddies have a handy avenue into the OS itself.
That and the slack approach to bug fixes and exploit alerts that MS has shown in the past makes Windows 2000 and XP less secure than Linux.
This looks like a blatant attempt to copy AppleScript. On OS X, one can send high-level object-oriented messages to applications, extract data and then manipulate the info with bash or perl scripts. And, you can wrap your AppleScript program with a nice GUI if you so choose.
Not only that, "coherent and well-integrated" is just stupid in this context.
Okay, if someone whips up a Linux system with a mixture of KDE apps and GNOME apps (and doesn't use null) and uses some Athena apps too...then things aren't going to be that consistent from a UI perspective. MS has their own UI consistency warts, like one-of-a-kind widgets in Outlook, non-OS-derived widgets in Office, and the Start menu and task bar. However, this is all in the GUI. Once you move to the CLI, MS's degree of consistency is really, really, really bad. The current collection of CLI utilities that MS ships sometimes uses UNIX switches (-), sometimes MS ones (\). Ping uses -, dir uses \. There are a few fairly standardized switches in the UNIX world -- -h for help, -v for verbose. MS's software doesn't have even this.
As for "well-integrated"...well, "integration" usually refers to non-modularly engineered software, with a dose of MS hype about why this is good. It also doesn't really penetrate the CLI world, where utilities pretty much stand on their own.
May we never see th
Sadly I don't. Not a bad idea though.
Gotta sell ad space? Have you seen the number of visual studio ads here?
Frankly, with Microsofts track record of fumbles and screw ups I wouldn't be surprised if they managed to bugger this up as well. They are going to basically tack on a shell programme to an OS that has gone all GUI, exactly the opposite of whats happening with Linux.
Just bear with me for a minute while I ramble. Microsoft has a reputation in this industry for shoddy code with no real attention paid to security. They have tied Internet Explorer into the core of the Operating System thus allowing a much wider range of attacks than if it was a stand alone application sitting above the kernel. Outlook express and Outlook are major avenues for virus propegation due to the same shoddy code and crappy OS design. Their answer to the problem has been to build a pretty GUI and call the bugs a feature.
And now they say they are going to re-build the shell. Let me just say that I'm glad I have the only Linux machine in the organisation because at least Linux has been built with the shell in mind when it comes to security. Whereas the MS version will be a tack on, no matter which way you look at it.
no, i didn't because they're drivers (they run in the executive) and are not part of the kernel.
I find it disgusting that the only time Microsoft adopts a good idea is when they can make an implementation stuffed with some irrelevant crap to the limit and far beyond.
The job of a shell is to talk to the user, call programs and run scripts. It is not to mess with the network or have giant builtin pieces such as dotnet interface. If they wanted to do something reasonable they could've just distribute bash and a wrapper utility to call whatever they want in dotnet.
Contrary to the popular belief, there indeed is no God.
Well, your script is useful if all the files are in the same directory, and you want to resize all of them. But what if you want to resize a few images from different directories across your system?
Since I have to use Windows at work, and don't mess much with images at home, I can't recommend one Unix graphics program over another. But on Windows, Irfanview is priceless. The batch convert program works incredibly well, and does a lot of things like color balance changes and format conversions. Also, the thumbnail view lets you take a directory of images and convert it straight to a web page with thumbnails, linked to full-size versions and with file sizes listed below the thumbnails. Irfanview is the best Windows program I have ever used.
...
"...message passing as the fundamental operation of the OS is just an exercise in computer science masturbation. It may feel good, but you don't actually get anything done."
- Linus Torvalds (from Tigran Aivazian's Linux Kernel 2.4 Internals)
It's my understanding that the tiny windows kernel core's only job is message passing between OS objects. And I think you're over-generalizing when you speak of UNIX's purpose as the paradigm for the Linux (kernel) design.
Developers: We can use your help.
Marvellous. It's only taken them 20 years to produce something Unix has had for nearly 30. Their mothers must be proud.
Farewell! It's been a fine buncha years!
Comment removed based on user account deletion
The funny thing is, from a certain point of view, this looks like both a validation & cancellation of what Apple has managed to do with OSX. Once OSX came out, Windows was the only remaining family of mainstream operating systems that wasn't either Unix based or, if nothing else, had a robust layer for using Unix tools (BeOS wasn't really Unix/Posix, but it was glose enough for many purposes; everything else is even closer & usually at a pretty deep level).
Legions of Unix fans were able to boast that they could take their shell skills to any other platform painlessly. The Macintosh found a whole new audience that had in the past mostly ignored it. And aside from efforts like Cygwin (which is imperfect at best and, besides, isn't available out of the box), Windows users were left out of the party. Not that that bothered most Unix fans.
Unfortunately, it seems like Microsoft was paying attention to all of this. If the really do get something like the Unix command shell running as a native capability of some near-future version of Windows, you're right -- much of Unix's unique strength won't be quite so unique any more, and again you're right -- Unix unfortunately doesn't have as much to fall back on as one would maybe hope. As much as *I* would hope, anyway...
DO NOT LEAVE IT IS NOT REAL
Comment removed based on user account deletion
Comment removed based on user account deletion
I think a combination of power drill and wood screws is superior to ordinary nails and a hammer.
:-)
Only for certain jobs. For most jobs that require nails, then a hammer and some nails is the only real solution. Learn some joinery then post
But what if you want to resize a few images from different directories across your system?
It's something I may not have made totally clear, but that's something I *never* have to do. I need a solution to a known problem, and the problem never significantly changes.
Comment removed based on user account deletion