In The Beginning Was The Command Line, Updated
Unqualified code-monkey Garote submits his annotated version of Neal Stephenson's In The Beginning Was The Command Line, updated to discuss UI design theory and fill in some of the gaps from the last five years. (And yes, he has been granted permission from Neal to do this.) There's plenty more to cover of course: Will the command-line last only as long as the keyboard? How will desktop search technology change our workflow? What about the 3D interface? Scroll to any random paragraph in the essay and you'll find something worth expounding on. What's ahead for the next five years?
I thought in the beginning was the "punch card".
Talk about a bad UI!
"Leo Fender was in a 'state of grace' when he designed the Stratocaster." -- Paul Reed Smith
"I was raised on the command line, bitch"
there's no place like ~
What is this GUI thing you speak of, you young whippersnapper? I'll use a command line 'til my dying day, pounding the keys with my cane if I have to.
What's ahead for the next five years?
Hopefully, some higher power will pick an OSS desktop, create some interface and application standards and we can all start dumping Windows. Until then, my Linux migration ends at the point where I have to pick gnome or KDE (or even something else).
Which one should I pick and why?
More
Keyboard ain't going anywhere. Expect it to exist for as long as there are words to type.
"Evolution optimized homo sapiens for wandering the savannah - moving around a plane - and not swinging through the trees. Today this evolutionary bias shows in comparing the number of people who drive a car versus the number of helicopter pilots: 2D navigation (on the ground) vs. 3D navigation (in the air)."
What absolute, total, bollocks. Cost of helicopters vs cost of cars has not figured into this tit's thoughts, then?
and a few days later Adam had a nasty accident that was due to his nakedness...
I read this book when it first came out and I have to say that I was quite disappointed.
His insistance that Windows doesn't have a command line shows a deliberate distortion of the truth to try to make his point.
Any REAL Windows Admin knows this is false and it's a prime way to identify an Anti-MS zealot.
Anyway, it hasn't stopped me being a fan of NS, but it did disappoint me in a big way.
Goofy, Geeky Gifts and More!
People use the command line nowadays to control servers by SMS. Spoken commands, as well, are likely to follow a command-line type interface. Just uttering "Tea, earl grey, hot" in expert-mode is a lot less infuriating then "press 1 for tea, press 2 for coffee, press 4 for chocolate milk, press 5 for cola, press 6 for beer" -- (6) "Press 1 for lager press 2 for stout press 3 for ale" (1) "press 1 for hot press 2 for cold" (2) "Press 1 for alcohol free press 2 for alcohol-rich" (2) "Press 1 for carbonated 2 for cat-pee" (and so on)
Visit http://ringbreak.dnd.utwente.nl/~mrjb/growingbettersoftware to download your free copy of the book
The current state of the human interface to computers works well because there is an extremely limited number of commands a computer (or computer program) understands. As computer sophistication improves and functions increase in complexity, the "point and click" interface will become too cumbersome. It is inevitable that the typical user interface will evolve toward the same one used between humans for everyday interaction, e.g. the spoken word.
IMHO
There are many ways to predict the future, I personally think the monitors will be everywhere, from our flat's walls to our clothes' sleeves.
It'll still be flat (2D) and people should now realize that what counts is the input.
For years, we only had one focus at a time and this should change, thus allowing drastical changes (imagine if several networkedusers have a focus on an app at the same time... impossible ? who remembers the Acorn "Spheres of chaos" where 4 users could play on the same machine at the same time ?).
So, I'd go for a more practical approach to a 2D interface (I was thinking of some itnerface that would ban both scrollbars and overlapping windows by magnifying the active zone of each focussed elements while reducing the others thus making these still visible, ergo invokable)...
Trolling using another account since 2005.
Sooner or later most computers will accept voice commands.
Voice commands are a type of command line.
When seeing an article like this going on about command line histories and 3D desktops, it's interesting that a major new feature in Microsoft Longhorn will be the completely new shell code-named Monad. Hm. Better late than never, I guess. I wonder why they see a need for it though; aren't they trying to move away from a command line? Maybe it's an attempt to get back users having switched from Windows. Who knows, but that sounds a bit strange too, since it won't be very compatible with a *nix shell either. :-/
IMHO, it's one of the strangest and most surprising moves in Longhorn.
Beware: In C++, your friends can see your privates!
I studied English lit and ancient Greek in college. I gained the best understanding of grammar, syntax and sentence structure from Greek. Breaking down those huge words, looking at a language from scratch -- it has helped me the most in English. It's tough now to not see Greek in English words. I view prepositional purposes from the Greek model and all parts of speech came into light through Greek (queue the "it's all Greek to me" jokes).
When it comes to computing, I started out at the command line. True computing, to me, IS the command line, and I gained the most understanding of computers from it. I prefer to use Linux that way (I don't load a GUI). "Windows is a good terminal" is how I think Richie put it, and although the GUI is here and necessary, real computing will always be from the command line. I will admit Lynx never replaced a GUI web browser for me, but someone who really knows the command line (and therefore the OS) can run circles around the mousey admins....
"All great things are simple & expressed in a single word: freedom, justice, honor, duty, mercy, hope." --Churchill
I love my CLI. My idea of a GUI is xterm. I cherish the way the X copy buffer works. Other than that I don't need no steeeenkin' pictures on my desktop. Honestly.
... and go out and lynch the bastard that invented the frivolous curses. And let's get Steven Wozniak and Steven Jobs too. They started it all. And, and, and....
In fact, let's organize a posse
That's a funny white jacket. Why are there no buttons on the front? What's the syringe?
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
"The only good thing about windows is I can run multiple sessions of DOS."
While I like a GUI for day-to-day tasks, I really wish cmd.exe in Windows2k and XP didn't fall by the wayside. Remember when DOS used to be fun to zip around in? That was back in DOS 5/6 days. It seems to have fallen to a heavy state of neglect by MS. Too bad, since sometimes it's easier to navigate around in cmd.exe in a pinch.
As the article said current input devices are in efficient. What abot using some kind of glove similar to that of the glove from 'Minority Report' That would seem to make nvigating it much easier
Three digits were turning to zero for God's sake! We're lucky to escape with our lives. Remember what happened to people in the year 1000? Of course not - because they did not adjust their computer code to handle Y1K and they all perished.
Nielson is not the voice of usability. Most of his ideas are outdated and severely limit the possibilities that advances in technology have made possible. I would like all people with any interest in HCI or usability to question every one of the highly subjective (and questionable) "facts" that Nielson promotes.
The UseIt article is 6 years old. The advances in 3D desktops, screen resolutions and HCI devices have improved since then. Link value = 0 --Blade-Melbourne
The GUI may be easier for a granny-type user, but face it, we still don't have anything better than the good old command line.
The pros and cons of a GUI are:
+ easier for a beginner
+ faster to use if you're not used to the program in question
- not scriptable
- memorized commands work faster than well-known menus
- you can't do anything that was not thought of by the coder
In other words, GUIs work only until the moment you begin to need to repeatedly do the same or similar tasks.
The creatures outside looked from Alt-Right to Antifa; but already it was impossible to say which was which.
Interaction with a computer will evolve to the point that we think and the computer picks it up. It's plausable that our very thoughts could someday be tuned in much like you can pick up someone's bluetooth network from a short distance away which leads to major privacy concerns. However if we become closer and more intergrated into machines with enhancements it could very well be that we give up on privacy for the benefits of group mind (What one knows all know).
Natural language, one of man's greatest achievements, even I'm no master.. command line employes natural language.. OK so why all this hype about the next best thing? if you ask me the command line *IS* the best thing.
moo
Let's face it, without OS/2 there never would have been a Windows 95. Rising competition from OS/2 caused Microsoft to release a very cut down version of Cairo, and step up it's anti-competitive strong arming of IHVs and ISVs. Competition from Linux is the only reason stability has increased in Windows, and is driving MS to address security issues. Apple still has very little competitive influence, since it doesn't look to expand much outside of it's niche market. OS X was surgery to stop the bleeding, not a grab at extra marketshare.
I can understand the hype about searching for things on other folks' computers (such as on the internet) because I don't have a priori knowledge about where to find some information.
When I store things on my computer, however, I already (at some point) know where that bit of information is. I created my own "filing system" optimized for the way I think. You might say it's some sort of O(1) function to find something (now, navigating to that something might be a little more difficult). The human brain is way better about managing the location of objects than a computer (so far) in terms of retrieval.
Think about it: the word "search" connotes looking for something you either think or know exists somewhere, but you don't know where. If you know where something is, you don't search for it but just go and grab it.
Now, of course there are times when you haven't used something in so long that you might not remember where it is, and I can see how a search might come in handy for that. But if most people use computers like I use them, they use a small subset of the things on their computer very frequently, and the rest is archived away. I would have to say that less than 5% (that's a 95% confidence interval - it's probably way less than that) of my total computing experience (on my desktop) is spent on trying to find stuff.
Does anyone out there know how "desktop search" is supposed to improve the way I do work when most of the time I am either creating new data (programs, documents, etc.) for a specific purpose or playing games? Am I missing something about the power of "searching" in general?
"There are a dozen opinions on a matter until you know the truth. Then there is only one." - CS Lewis (paraprhase)
"Desktop Search" is for idiots who don't know how or are too lazy to organize their own damn data!
Even if you have a lot of data, if you can devise consistent schemes for organizing and take the little bit of personal effort to keep things up (it's not that hard, really), then you can find anything of yours pretty quickly.
as a former windows power user who transitioned completely only about a year ago, let me offer this advice:
Pick up an ubuntu cd, give it a partition, and use it more than the two minutes it takes to conclude it's not windows.
Seriously. Forget windows is even there for a week. Pretend someone stole your old computer and all they left you with is this weird piece of shit doppelganger that sorta looks like your old pc, but everything's just a little "off."
Accept the fact transitions are not always easy, and give this doppelganger a week of your computing life. Then go back to windows.
And make sure you have some clean clothes handy, because you're going to need a shower afterward.
For those of you with Macs, check out Quicksilver. I think this is the future of the command line, at least for most users. Quicksilver basically lets you type command lines from the UI. What you do is type Command-space and then a series of characters that narrows a seach of your machine. You can lauch programs, open files with the appropriate application, visit URLs and pretty much anything else via plugins. It doesn't completely replace the command line but it comes close.
The difference between Canada and the USA is that in Canada healthcare is a right and gun ownership is a privilege.
The size of the profit (even if I believe his numbers) is irrelevant without considering both the number of units moved and the size of the profit margin. In MS' case, even if they are only making 10 bucks a copy on XP (which I highly doubt), the marginal cost to make it is like 50 cents, so they can essentially print money. However, he's right about the longterm viability of the operating system business; but if he doesn't think that Apple would switch places with MS from a pure business standpoint, he's wrong.
beware the jabberwock, my son! the jaws that bite, the claws that catch!
Why didn't you just insult his mother while you were at it?
Thank god some linux communes have moved troglodytes like you off to the edges of the village.
Watch out for the hyaenas...
From TFA:
"Make it easy to evaluate the current state of the system" ([1] p. 188). You can do that by providing feedback in the form of messages or flashing buttons.
I thought we'd finally got rid of horrible VB apps with coloured flashing buttons, and the dreaded BLINK tag on web pages! Is he suggesting we go back to this?
It's for the old farts like me that grew up pre IBM PC. Hell - I'm pre-Apple ][e. My first PC was an OSI C1P, circa 1978. Graphics? Aren't that what the paper and my crayons are for?!?!?
We will always need to be able to access the underpinnings of any OS. I can't see OS's becoming so powerful that they are voice-only activated. The keyboard - for me, is still faster than speaking.
I refuse to manage our email cluster with a GUI. It's faster for me to TCB from the command line than it is to wait for X-Server to come up.
Kenny P.
Visualize Whirled P.'s
Your life has been completed now. I'm glad sitting around and waiting to "FB" tickled you so. I'm sure we're all impressed by such an accomplishment. Kudos...
I'm a die hard command line user, yes. I have no delusions about it always being better than a GUI--I use both--but I do a significant amount of work from the command line.
What's peculiar to me is how crusty and stale most command line environments have become. Most UNIX users swear by bash, which isn't even as nice as 4NT for Windows. Feels like there's a lot of room for improvement here. For example, how about capturing all of the output per command, then quickly allowing you to scroll through a list of previous commands and jump to its output? Or getting away from overly static command line windows and instead having something like a simple text editor, where you can move around in a "document" and press Enter at any time, with the output always appearing below it (some language interpreters work like this). And shell scripting languages are irrelevant these days, so a shell doesn't need to be bulked up with such commands. Just use Perl or Python (or whatever) for that sort of thing.
Note again, I'm not trashing the command line. I'd simply like to see it move forward.
When comparing a industrial strength drill (hole-hawg:unix/linux) to a normal drill (consumer-drill:windows/mac) the commenter writes:
What's more powerful, a hole-hawg, or a five-speed consumer drill with large grips, a safety shut-off, and a built-in level? The hole-hawg, obviously. But which would you rather use to drill, say, five hundred chandelier mounts in a ballroom?
I have to go with the tool that has a good chance of drilling 500 mounts. I don't trust fancy consumer drills to survive drilling many large deep holes.
Which, I think, also applies to unix/linux. I don't get all misty-eyed and sniffly at the thought of using a shell and good ol' CHUI tools. Nope. I use them because they consistantly get the job done quicker and easier than other tools.
The problem is that a lot of these nifty tools are scary, in meatspace and in cyberspace. They also require some training before use -- a steep learning curve. Take a bolt extractor (looks like a very corsely threaded thich screw with a square end for the wrench). Hand one to the average person and they won't know what the hell its for. But with a little knowledge and another simple tool (a good drill and a bit for metal) its rather useful to take out a broken bolt. What about a cutting torch? Screw up, and you'll be seeing grandma and Elvis. Learn to use it correctly and you'll be able to remove a drum from a vehicle with rusted out brake hardware, or to cut through thick chunks of iron.
Are these tools a little macho? Perhaps some of them (cutting metal with fire is damn fun). But is that why these tools are in use? No, these tools are used because they get the job done.
I have money in the bank, and I spend enough time in front of a monitor to be able to justify the purchase of software tools if they were able to fulfill a need that OS tools could not (and a certain proprietary OS is an excellent software tool for running proprietary games).
This commenter reminds me of someone who got into OSS because OSS was "cool".
Imagine someone who decides that he'll learn vim because hackers use vi (or emacs). He looks at a cheat sheet, figures out what i, a, hjkl, and :wq does, and is content at being a "hacker" for the next six months. Afterwords, he discovers some nice commercial IDE and, sick of the lack of features he finds in vim, decides to go with the commercial IDE. After all, he knows that vim can't lookup man pages for functions, jump to a function declaration, change its indentation style, edit multiple files, integrate with compiler errors, or a host of many other things that the commercial IDE can do. He sits back convinced that those OS lusers are fooling themselves, the same way he fooled himself.
Stepehenson's original article was in many ways a dispassionate review of past history. Where it was particularly brilliant was in its insights into behaviour.
The annotation has added a lot of "Microsoft is Evil" commentary, while glossing over the past shortcomings of Apple. It detracts from the original.
Another example of entropy, I guess.
All this discussion made me think, what is the ultimate UI? An obvious answer is another human or humaniod. We will use all of our natural channels of communications, with negligible learning curve. Obviously such a system requires great break throughs in AI.
In the beginning there were a bank of switches.
AND WE LIKED IT LIKE THAT.
If you couldn't be bothered to translate the error codes from hex and look them up in the manual, who needed ya?
Now scram. It's grandpa's naptime.
"First you get the Linux, then you get the power, THEN you get the women"
That essay need words removed, not added ... it has some interesting thoughts, but it is horribly written and rambles on endlessly. It is way too long.
No.
8 of 13 people found this answer helpful. Did you?
I think what bothered me the most was the use of the Marxist vocabulary. Proles? Bourgeois? This adherence to a discredited, incoherent, and largely irrational socio-economic theory is a complete turn-off for me. It's so 1848.
I guess if he had just written his own article as opposed to annotating an article we know and love, it wouldnt have made it to slashdot.
I just don't get the same feeling of insight that the original gave me [I had issues with the original too, but there was enough great stuff in there to make criticism seem petty, I'll write my own article if I feel like saying anything]. NS's might have had some details wrong, but the overall flavour was right, I feel like this has the details right, but somehow misses overall. Just to take one sentance.
> This assumes that ignorant people prefer being ignorant. I was ignorant when I was young. I got over it.
First off, a lot of people *do* like being ignorant. They like the certainty which comes from filtering out facts that disagree with their viewpoint. Secondly, the way I see things is: I thoughtI knew everything when I was young. I got over it, now I know I'm ignorant.
http://rareformnewmedia.com/
Gee, maybe if you don't like a command-line interface, you can run another. Like JPSoft's 4NT. It's far more useful to me than any unix command-line ever has. But it takes a few years to grow into it.
Combined with cygwin I can do most things that unix users can do, but every unix user I have ever met cannot do all of the things that I do.
-Clio
Karma: Bad (mostly from not giving a fuck)
Blog: http://clintjcl.wordpress.com
from someone who can't spell "whiner" or construct a statement of opinion in his own words?
BTW Strummer married an American (Helen Foley) and produced an album for her. Apparently he didn't think the US was so completely bad...
There are some fine gems in this piece but he needs to get to the point faster and look at things more objectivly(less pure MS bashing). I'm no Hemingway but this was very sloppy.
GUI for when graphics are needed, CLI for when its just faster for me to type (I average 140wpm).
..
.. get to the [real] point, which is that designers and developers don't take nearly enough responsibility for just how pathetically stupid their software makes the end-user ...
.. i.e., when its on, its working, when its off, its not. oh, how i yearn for those days..)
With my new setup (smokin' new powerbook) I run OSX for all its GUI goodness and vitality, and I registered (thats how much I like it) Launchbar
With Launchbar/OSX/Terminal.app you get the best of all worlds. When I need to mouse, I mouse. When I need to type, I type.
A more interesting question to me is: "When will the lazy generations realize that the best way to do something is not always the easiest way?"
All this malarky about "GUI is dying!!" or "CLI is King" is just rubbish
I've seen so-called 'stupids' learn a CLI method of working in a few hours, and then use it for years and years to get real shit done with your computer. In the end, it all still matters: USE WHAT WORKS AND GETS YOU USING THE SYSTEM.
(.. used to be that the 'ideal' computer interface was an ON/OFF switch
; -- the corruption of government starts with its secrets. a truly free people keep no secrets. --
Reality is Linux will be reduced to a very useful .dll file you link to your Windows app if you need Linux functionality.
linux.dll will be a cool reference in Visual Studio...
"If Jakob Nielson's useit.com is ever linked to again on Slashdot, I will add "127.0.0.1 slashdot.org" to /etc/hosts"
;)
3 lines below, AC cuts off the very branch he sits on:
"The UseIt article is 6 years old. The advances in 3D desktops, screen resolutions and HCI devices have improved since then. Link value = 0 --Blade-Melbourne"
Good riddance
I thought in the beginning was the "punch card".
In the begining was Stonehenge, etc.
-kgj
-kgj
Article needs some editing, both the original comments/narative or whatever the blue text is supposed to be. Typographical errors like "typwriter" or sentances like "...shellfish are equal abominations" take away.
Oh, and the entire meandering tone to the "article". So was this guy the uni-bomber too?
Homo Sapiens was "optimized" by having a higher birth rate, increased brain size and complexity, and ability to migrate to exploitable environments (via foot and boat). Before Homo, our ancestors were optimized for walking and running in a way that we are not, but we've retained a good bit of their characteristics. Besides, your comparison doesn't hold water. People who push the "veggies are the natural food for humans" idea say that our small intestines are small compared to most carnivores, and they are. However, we aren't related to any of those carnivores (canines, felines, etc). What we are related to are the apes, and their small intestines are much longer than ours. No, we can't migrate as far many animals (most of us, certainly). But we can sure migrate a hell of a lot farther than any tree-swinging ape once you put us on the ground.
and do the apps like openoffice and firefox work in xfce? I just started running fc3 and it's much more up-to-date than my old system, but launches gnome immediately on bootup. I haven't yet figured out how to turn that off, and it's a big pain. Gnome itself also sometimes gets wedged in a way that trashes my desktop beyond recovery. I have to delete ALL the gnome configuration files in my home dir (and also the ones in /tmp, which took me a while to figure out) and start over from scratch. Sort of like Windows when the registry gets corrupted. Gnome is just way too much like windows.
The annotator's main point in response to Neal was that the right interface is the one that gets 'whatever work you are interested in' done.
His constant comparisons to cars and drills and toasters miss the mark by a mile. Those appliances are not about extending your mind.
Computers are about amplifying your mind's ability to process information. Large numbers of people agree with each other on how they want their toast prepared, their holes drilled, and their vehicles to work and can safely leave all the decisions about how best to do those things to specialists.
Every person, however, has a different reaction to reading a great work of literature. There is enough overlap between people's experience in reading any given book that people can meaningfully discuss literature with each other, but not so much that we could expect another person to read Moby Dick for us and tell us what it means to us. The only way to know what Moby Dick would mean to you is to read it yourself.
How telling that the annotator didn't want to touch Neal's last section, the left pinky of god, where he points out that this quest for the perfect interface to 'get something done' makes no more sense than a button labeled 'life my life for me.'
You are the only one who can possibly make all the decisions that count as 'living your life.'
I think programming (in the broader sense of understanding the hardware and software's theory of operation well enough to arrange the 'pieces' to carry out an analysis or goal), will become more and more a part of the average person's use of computers, just as reading and writing and thinking in general continue to become and larger part of the average person's life.
Software, on the other hand, is a whole different business. It costs you millions to develop a large piece of software, and that cost is fixed. It doesn't matter if you sell one copy or a million copies of the software, you still have to pay that initial up-front cost.
However, once you have the software written, it's all gravy. You stamp out CD's for 40 cents each and send them in air-filled boxes for just a few cents more, yet consumers are often willing to pay over $100 for that box.
Not only does MS sell more units (than any given hardware company, including Apple) but they make a much larger percentage than a hardware company because they can churn out additional units for nearly nothing. This is why Microsoft makes so much damn money. They've never been foolish enough to get into the hardware business. They stick to software, because that's where the money is.
--This sig is in beta. Please let us know abut any errors you find.
The marginalia referred to in this thread don't amount to much; they lack continuity with the article, and come across as the querulous interjections of an adolescent schoolboy. The commentator has a number of valid points (which I don't dispute), but he has a long way to go before he approaches Stephenson's calibre as a writer.
Bottom line: if anybody is going to "revisit" the article, my preference would be for the original author to do so.
I find that I can do some things more efficiently on the command line while others are much easier with a gui.
For instance, I have a directory, and I need to copy 10 out of a 100 files. There's no commonality between the ten nor are there any distinguishing characteristics. GUI's excel at this.
Now I want to rename a bunch of files and add a old. prefix to them. That's easy on a command line, but difficult to accomplish on the current crop of GUI's, at least that I've used.
So why slam either. Each is a tool with its own advantages and disadvantages.
Keyboard isn't going away until something more efficient comes along. Sure there will be cooler input devices and they'll have strengths, but for general input into a computer nothing beat a keyboard out side of direct neural interface. It would be nice to see more efficient keyboards become mainstream.
-- fiewl diwor dowe wutie er godist phudo
OS/2 and Linux will install on x86 by the computer owner. Until Apple offer their OS on generic x86 hardware, they will never be a serious competitor to MS.
But more fundamental is this: I worked hard on implementing the transition from paper-based and paper-and-green-screen-based business systems to computerized, GUI-based systems in the 1990s. I also helped hundreds of people buy their first Windows and Windows 95 home computers. I now am responsible for a mid-sized business where someone else did the transition.
And guess what? No one understands how their business systems work. No one understands how their desktop business tools works. No one. And just about everyone is frustrated with, and hates, their home computers. Hell, I hate my home computer and I specified it and set it up.
Windows is one of the greatest frauds ever perpetrated on the human race, and this author has bought into it hook line and sinker.
sPh
Not to pick on a purely semantic item here, but pure computing is the act of computation in some form, not interacting with your computer.
I agree that for a lot of us old-school people, the primary way I want to interact with the computer is via the command-line, with the GUI being reserved for only those tasks in which it makes sense.
For example, I find graphical access to the file-system to be the most cumbersome thing I can imagine and it's very frustrating.
A command line definitely can foster a lot of understanding of what is actually happening with your computer, and in many cases I can accomplish *way* more with a series of UNIX commands ran through pipes than I could ever hope to accomplish with a GUI.
Give me a shell scripting capability and I can pull off a fair amount of quick data massaging as well. Which is why I can't see command-lines and keyboards going away anytime soon.
Cheers
Lost at C:>. Found at C.
way to stick it to the zealots!
It would be nice to have some annotations by someone familiar with all three operating systems. It seems this author has not used a linux computer with a recent distribution. The whinging about kernel startup messages has been out of date since redhat included graphical bootup (after 5 lines of text you quickly launch into a familiar progress bar).
The discussion of man files and text configuration files also seems quaint. man files are only for command line programs, whereas modern applications have help documentation programs you'd expect. And text configuration files exist, but given systems like gconf and gnome system tools, interaction with the actual text is minimal. But, if something goes wrong, you can look at the text (as you can on osx).
Bringing the essay up to date is a nice idea, but the osx zealot who wrote this needs to boot an unbuntu livecd and catch up on what the OSS community is up to.
OK I had to try this. Here is the random paragraph:
"The Microsoft Gorilla, on the other hand, cannot be trained. Instead, you must keep rephrasing your directions until the MS Gorilla can comprehend them. He consumes both front seats, lowering the mileage of your car, and blocking most of your view. Though he sounds like a bad deal, MS Gorilla is actually extremely popular, because he looks impressive, drives aggressively, and keeps his mouth shut. If you speak in his limited vocabulary, he will take you Where You Want To Go Today ... especially if he can plow monkeys off the intervening road. However, if you touch anything on the dashboard, or try to haggle with him over the exact route, he may become irritated and casually drive your car into a telephone pole. People learn to not argue."
WOW! What a great image. It does a great job of describing Microsoft's OS too. In fact that is why I don't care for Microsoft. I like to fiddle with the dashboard. I'm always changing the radio station or adjusting the temperature.
Insert Generic Sig Here:
The marketing "push" (if you can call it that) for IBM OS/2 didn't hasten Win95; the lead-time for Win95 pushed IBM to get OS/2 2.0 out first.
At least that's how I remember it. At the time, I was more interested in OS/2 than in windows.
That which does not kill her only prolongs my agony.
and if you download some real tools, you can actually do something with it. It doesn't come with the following essential tools: gcc grep find ls man wget Windows would be a good OS if it wasn't crippled by marketting and legal departments. It would be a good OS if it didn't couple poorly engineered applications like IExplorer. I could go on, but why bother.
The original author is unable to concede that a GUI can actually be more beneficial than a CLI in enough cases to justify its existence, and the annotator is unable to concede the converse - that the CLI is still a very powerful tool.
The problem with this article, and the computing world in general, is that it has polarized itself into two camps:
- The James Hetfield "Command-line BAD!" camp, who will only appreciate DWIM computer features.
- The super-geeks, who, with their French accents and their four-dollar lattés, sneer at the technologically challenged and take pride in using the most obscure tools to complete their tasks.
Until the most polarized people in both camps can get themselves to realize that both sides are wrong, we will never have the computing renaissance that we all dream of.I pity the foo that isn't metasyntactic
Why, we had to... okay this has gone far enough.
Well, I read about half of it. This guy, IMO, is not a great writer, nor a great bearer of insight into the issues involved (NS is both). A lot of his 'annotations' sound like he's just trying to argue with NS. I think the 'monkey' part was imaginative, but most of the rest was dreck. I don't think this guy was a good choice to update NS's work.
The parent's example is ridiculous. The Windows CLI "can't do" the same thing, supposedly. That's bollocks. Both Unix and Windows CLIs provide for this. It's the *applications* availiable from the command line that this example relies on. There are find, grep and sed implentations for Windows. I think even the $1 can be handled by the DOS "for" command. It's not like the find command is the most usable command around, eh? I've met so many experienced Unix users that had no idea of all it was capable of. (And that {} syntax is so weird).
It's true that the Unix CLI is more powerful but the Windows CLI with DOSKEY is quite reasonable.
Besides, something as complicated as this command line is typically *much* better done as a simple script, IMO -- which is then invoked from the command line, of course.
I'd let him comment on my writing, too. Just because it would make me look great.
His writing is so abysmal that it just makes Stephenson look even smarter by comparison. I stopped after he turned the car dealer metaphor into a monkey metaphor.
Monkeys? Chauffering me around? Dude, I'm freaking out. Car dealers I get. Linux, OS X, BeOS and Microsoft, I get.
Chauffer monkeys? I don't get. Never had one, never want to have one. I don't even want to think about little blue-suit monkey-men driving me around. What kind of world do you live in??
I'm stuck now, because I want to go back and re-read the original, but I can't take more of the monkeys. Google gave me this link: perhaps you all will appreciate it as well. Original Command Line essay without the monkeys.
""" ....
...?
Society never did get stomped to bits. It just ate the new trend, shat out a few extremists, and kept rolling along. And what's the common thread in all of these scenarios? They were all wild-goose-chases, triggered by malformed prejudices at home. They were all revved into life by cynical people, who could not bear to trust in their fellow humans' ability to see common fucking sense, and wanted the law to mandate it for them.
We need to rebuild the way advertising standards are developed, and applied. Industry self-regulation has pretty much proven to be no regulation at all.
"""
Is obsessing about advertising and demanding that 'we' rebuild it any different than obsessing about alcohol, drugs, strange music, strange sex,
I think Garote has at least as much reason to worry about the effect of today's commercial culture as today's parents have to worry about the drug culture, rap-music that recognizes women only as objects, etc. I am willing to let any of those people and Garote too, warn against whatever they perceive as wicked. I do not assume that _all_ of them are cynical, though some certainly are.
But I do not intend to let them stomp the rest of us to bits. We will just eat the new trends, shit out a few extremists, and keep rolling along.
The punch card was developed before the toggle switches. You know, back in the days when computers were mechanical. Toggle switches were just a lot cheaper than a punch card, so electronic computers often had them.
Will the command-line last only as long as the keyboard?
The keyboard isn't going to die any time soon. The shape may change, as the Twiddler has shown, but the basic requirement to input text remains. A mouse just doesn't have enough buttons. (It would, of course, be possible to fully operate a computer with just two buttons, using one button to scroll through a list of possible keyboard buttons until you get to the one you want, then pressing the second button.)
We need to input text. The keyboard is currently the best way to do this. Text-to-speech might get better, but I prefer the keyboard anyway. Soon we'll be able to control the computer with the power of thought - maybe we'll input in a manner similar to a keyboard, maybe not.
Even if the input method did change, this will not cause the death of the command line.
Programs are text-based. As long as this is the case (can anyone conceive another method?), the command line is the most direct way for controlling them, or at least programming them, so the command line interface will remain essential for developers.
There was this COBOL programmer who was living and working in the mid to late 1990s. His name was Jack. After years of being taken for granted and treated as a technological dinosaur by all the UNIX programmers, Client/Server programmers and website developers, Jack was finally getting some respect. He'd become a private consultant specializing in Year 2000 conversions. Inasmuch as most of the systems in desperate need for Year 2000 conversions were written in the relatively archaic COBOL computer language, Jack was working short-term assignments for prestige companies, traveling all over the world on different, highly profitable gigs. Unfortunately, he was working 70 and 80 and even 90 hour weeks, but it was worth a lot of bucks.
The problem arose when after several years of this relentless, mind-numbing work had taken its toll on Jack, he had begun to have problems sleeping and having anxiety dreams about the Year 2000. It had reached a point where even the thought of the year 2000 made him nearly violent. He must have suffered some sort of breakdown, because all he could think about was how he could avoid the year 2000 and all that came with it.
Jack decided to contact a company that specialized in cryogenics. He made a deal to have himself frozen until March 15th, 2000. This was a very expensive process and totally automated, but by this time, Jack had become really quite wealthy. In fact, the cost was no object and he was thrilled at the prospect that the next thing he would know would be that he'd wake up in the year 2000; after the New Year celebrations and computer debacles; after the leap day, and with nothing else to worry about except getting on with his life.
Jack was put into his cryogenic receptacle, the technicians set the revive date, he was given injections to slow his heartbeat to a bare minimum, and that was that.
The next thing that Jack saw was an enormous and very modern room filled with excited people. They were all shouting, "I can't believe it!", and "It's a miracle," and "He's alive!". There were cameras (unlike any he'd ever seen) and equipment that looked like it came out of a science fiction movie.
Someone who was obviously a spokesperson for the group stepped forward. Jack couldn't contain his enthusiasm. "It is over?," he asked. "Is 2000 already here? Are all the millennial parties and promotions and crises all over and done with?"
The spokesman explained that there had been a problem with the programming of the timer on Jack's cryogenic receptacle, it hadn't been year 2000 compliant. It was actually eight thousand years later, not the year 2000. But the spokesman told Jack that he shouldn't get too excited about such an unimportant detail inasmuch as there was someone very important who wanted to speak to him.
Suddenly a wall-sized projection screen displayed the image of a man that looked very much like Bill Gates. This man was Prime Minister of Earth. He told Jack not to be upset. That this was a wonderful time to be alive. That there was world peace and no more starvation. That the space program had been reinstated and there were colonies on the moon and on Mars. That technology had advanced to such a degree that everyone had virtual reality interfaces which allowed them to contact anyone else on the planet, or to watch any entertainment, or to hear any music recorded anywhere.
"That sounds terrific," said Jack. "But I'm curious. Why is everybody so interested in me?"
"Well," said the Prime Minister. "The year 10,000 is just around the corner, and it says in your files that you know COBOL".
Call me old fashioned, but I like a dump to be as memorable as it is devastating - Bender
I am nearly finished with Cryptonomicon. It's every bit as great as I was told here, by other slashdotters, about two months ago, when I started.
His style is really hard to describe, but I think I've figured it out, and I understand why it bothers me.
He writes like a Dungeon Master/GM. It's partially the Present Tense he uses, but also, the narration of scenarios. This is the part of his prose I don't like. Some of the ridiculous scenarios. He managed to avoid it through most of Diamond Age. Which is why I really liked that book.
The other half of his writing is well researched, brilliant stuff. The redeeming qualities of Snow Crash were the bits about ancient Babylonian mythology, and how it was the driving force in the plotline. I'm in the part in Cryptonimicon where he gives Greek mythology the same treatment. I think I first read something like this back in High School - the parts of The Vampire Lestat that I thought were really great. Similar stuff in Umberto Eco, and Thomas Pynchon, and even Robert Aston Wilson. This is the kind of stuff that, when I read it, I think, "man, I could NEVER write something like this" - just imagining not only the sheer amount of research, but the depth of understanding, to the point where a totally unique point of view on the subject emerges, and is woven into the story.
Truly great stuff. Thanks to all who recommended it.
These are my friends, See how they glisten. See this one shine, how he smiles in the light.
So to do a little thought experiment, assuming you're right about people needed to use a very large amount of programs (which is questionable). Say we have a gui with 10 folders, inside each folder in another set of 10 folders all grouped by what they are. Within a few clicks you can easily get access to many thousands of programs all organized in a sensible way. Compare that to a command line, or a verbal interface, you'd need to memorize thousands thousands of commands. Maybe its just be but that seems much more cumbersome and would take a much longer training time than using an intuitive point and click interface. I use the command line freqentally and dont thing its going anywhere either, however, your reasoning seems to be exactly backwards about which system is more cumbersome given a large amount of commands.
A command-line with underlying objectiveness would be nice (OOCLI). Kind of like the Amiga (a truely underrated machine)
When I briefly had it installed, I found google desktop search invaluable for searching source code. I work in Ingres support and have the full source code for Ingres on my PC - it's only 300Mb but several tens of millions of lines of code. Searching quickly for a particular error message or all the modules where a particular routine was called from was invaluable.
The fact that it also indexed Outlook messages meant that I could also use it to quickly find emails as well.
Of course I can do that without google - but it's slooooooow.
Sadly since I regularly copy lots of files, some large, onto my PC - which is a few years old - the performance slowed noticeably. So I uninstalled it and now I'm back to using recursive grep on unix for the source code.
I've been using the ctrl-r function of bash quite a bit recently after I found out about it - it's the "incremental search backwards" for the last time you issued the command you start typing after pressing the ctrl-r.
It's great for those complex commands or multiple commands all piped together that you just don't feel like typing in again. I've been using ctrl-r quite a bit recently, actually.
I read the article (and it was one rambling screed to begin with, only more-so with the comments). I give the original author points for vocabulary, I give the annotator points for a valient attempt to bring it to a contemporary crowd.
I will attempt to clarify the issue for the community in more simple terms (see notes below for more technical explanation if so inclined):
1. A computer is a simulation device which can simulate anything at all, given unlimited resources.
2. In practice we (programmers) build a subset of simulations that are most useful or entertaining for the users (because that pays the bills).
3. An operating system is a simulation that allows us to more easily manipulate our computer to run other simulations and communicate to and through ever more complex and sophisticated devices (sound cards, video cards, network interface cards, joysticks, mice, etc) that we hang off the side.
4. A very small subset of programmers have made an ungodly amount of money selling said simulations. The article kind of loses focus at this point and goes off on a tangent - I won't burden the reader here with that.
5. The CLI will not die simply because its utility and expressiveness outweigh the lack of utility and expressiveness found in pure graphical interfaces. The future is begining now - and is a hybrid - both the CLI and GUI coexisting for mutual benefit leveraging the strengths of both in ways far more sophisticated than we can envision today.
My own editorial: Until people stop reading altogether, or natural speach recognition becomes a reality, keyboards will be around for the foreseable future.
Notes (numbered to reference the numbered sections above):
1. Alan Turing came up with the concept of a Turing Machine which could be used as a general purpose device to simulate any other machine or process using very simple instructions in building block fashion to produce more complex simulations. The brilliant scientist John Von Neumann further extended the idea to encompass the first stored program computer architecture for practical use.
It is interesting to note that modern computer chips do not have what we think of as the basic instruction set - Assembler - hardcoded into the chip. Instead the Assembler instruction set is itself a simulation running on a far simpler 'micro code' instruction set that is hardcoded into the chip.
I think a better metaphor for computer software (which encompasses everything running on a computer, from the OS to what we think of as applications) is a series of of small boxes within larger boxes, which themselves are inside of a larger box. Some of the boxes may have more than one box inside of them (like the OS running multiple applications, for example). The largest 'lower level' boxes have the ability to serve as simulation 'stage' for the boxes that they contain. At the highest levels (the small boxes at the 'top' of the stack) they may or may not have facilities for doing further simulation (now-a-days it is more prevelant to see applications that have macros up to and including full-blown programming languages and interpreters for creating your own simulations within the instruction sets provided). The OS is simply one of the larger boxes near the bottom of the stack.
2. Sometimes the users are ourselves; this is why we see a plethora of noddy programs/simulations that don't do much usefull for larger audiences.
3. See the 'boxes-within-boxes' metaphor in number 1 above.
4. Not much more can be said. I will state my own philosophical view: I think it is more useful to programmers and to society as a whole to invent more flexible and open simulations that allow computers (and other less-general purposes devices) to communicate more seamlessly and make them a true and natural tool to augment our senses and intellect. It is not impossible -- we just have to dream it up and make it happen.
Lodragan Draoidh
The more you explain it, the more I don't understand it. - Mark Twain
Our main PC is dual-boot Win98 and Debian. The Debian installation has accounts for me, my wife, and my six-year-old daughter. My daughter used to use Windows for Reader Rabbit and similar things, but now she insists on booting into the "Penguin System" whenever she touches the machine.
I use Debian for everything except Quicken, and sometimes I even get that to work via Wine, depending on the effects of the most recent apt dist-upgrade.
My wife uses the computer solely for email and simple games like solitaire. She went for three years without ever trying Debian, even at my urging. Recently, I changed the background images for the login manager and her KDE desktop, and now she thinks Debian is the coolest thing in the world.
It seems clear that Stephenson lost his Macintosh "Faith" as a consequence of losing a major piece of work to a hard disk crash on his Powerbook. The fact that he could just as easily have had a hard disk failure on a Windows or Linux machine didn't register. Instead, his reaction to this was to abandon Apple and reinterpret his past allegiance to it.
None of the valid reasons for preferring a Mac are really touched on: superior usability, integration, user productivity, etc.
Everything else in the article is interesting, but basically, having started from a flawed perspective, pointless. People are willing to pay far more for a BMW than for a Ford, although the benefits of a BMW over a Ford are far fewer, and the downsides greater, than those of a Mac over a PC.
The annotator, meanwhile, has a curious knack for over-extending metaphors. (The monkey chauffeur business is a classic example.) The point of metaphors, in this case, is to simplify things; not to become as complex as the actual case.
Both Stephenson and the annotator are deluded if they think that Linux is a tank ready for anyone to drive away, or that BeOS was a batmobile. Even a self-configuring Linux like Knoppix is beyond a typical user (e.g. they won't handle dialup connections unless you know what you're doing, and you won't get any support), and BeOS didn't support printing properly, let alone have a decent application base (e.g. no decent word-processor or spreadsheet).
It would be fairer to describe BeOS as a hydrogen-powered batmobile that could only drive between LA and Phoenix, and Linux as a vegetalble-oil-fueled tank with controls that are subtley different from anything you're used to (probably including other tank controls). Great tank, but none of the gas stations sell vegetable oil.
You guys are looking at GUI as an evil tool when in fact for the normal user it is a God send. When IMB/OS, Macs came out normal people like myself (normal = non-programers/coders) could finally click on an icon and have the program actually load. No more trying to learn what the executable file name was or if we had root access to execute it and load it. As far as I knew this meant not having to read those Commodore 64 865 page manuals on how to make a letter and save it and change the fonts to what I needed just to say hello to someone by handing them a disk that would take 1 hour to copy to. I used to get my hands dirty back then with loads of code from C64/C128 magazines in which 10% of the programs actually worked.
GUI got rid of the learning curve and got people the courage to start using PC's for everyday things... without GUI do you think grandparents and kids would be using PC's? Not likely, tell someone to go to root and type in their password and load their VMI or whatever and you already lost the person's interest. For developers and programmers command line will always be an ACE, for the consumer and business front they want their GUI and they want it faster and meaner and speech recognition should be gaining speed with more and more gamers getting used to Roger Wilco, Teamspeak and other speech applications.
But what, exactly, do you feel that you can do on your multiple versions of a win32 CLI that *nix users can't do?
I just finished the FA ...... and it was better without the annotations.
Garrett is really shovelling the pompous shit here. He is one pompous pompous bastard. He seems to like wordplay for its own sake rather than as a tool to communicate ideas.
He seems to be unaware of basic human nature. And he keeps saying "People Are Smart". I don't see much evidence for that wild assertion, myself. People are easily misled. People are lazy. People use the system that comes with their PC. People don't give a damn. But NOT "People Are Smart."
He seems to lack understanding of where the big computer companies fit into the tech ecosystem, and it largely seems like a commercial for everybody's current darling, Apple. He obviously knows his Apple history better than his Microsoft history or his Linux history.
Where Stephensons article was fairly wideranging and somewhat flakey in its comparisons between OSes and vehicles, Garrett's annotations are largely just plain weird and offtopic.
It's all opinion, with nothing to back it up. I could have written an opinion piece as good or better than this one. We all could have.
In a few places, he openly insults the author and flames him for his view. Why? No idea. Garrett never explained himself. And I don't see the point in sticking around to hear him explain himself.
This should be called " 'In The Beginning' From A Mac Zealot's Perspective". By the end of it all I'd gotten was that he thinks Apple is the absolute greatest most wonderfulest system and that everyone should own one. I have an Apple, I disagree. They're good, but not nearly as great as everybody here raves. When they work, they work perfectly. When they don't work, YOU'RE FUCKED. COMPLETELY. You learn to give up or buy different hardware to work around Apple's limitations.
Garrett should lose his opinions and try to enlighten us with some unbiased and prescient observations.
That Neal gets paid by the word - even when he's not getting paid at all...
Richard Steven Hack - This sig is TOO GODDAMN SHORT TO DO ANYTHING USEFUL WITH! MORONS!
Completion behavior in these fine shells can also be changed in both shells: to not complete if there is ambiguity, to complete up to the ambiguity, to list the possible completions, to cycle through the different possible completions, and even to base the decision on the number of possible completions.
I first tried it coz Mac OS X doesn't come with ksh, where my previous experience was, but it did come with zsh which was supposed to be like it.
But since then, I've come to love some of its unique features. In particular, the recursive filename completion is just wonderful -- I use it all the time, and it makes things so much easier. All right, you can probably use the 'find' command to do many of the same things, but having it right there in the globbing is so much neater and easier.
Trivial example: to remove a file from the current directory, I might use
To remove it from any subfolders too, I just use But it's much more powerful than that: it's trivial to select files by type, size, permissions, age, &c &c, and there are exclusions and umpteen other possibilities. In fact, I haven't used the find command once since getting the hang of zsh!And zsh has many other great features, too, including most things I recall from bash, ksh, &c. And it's free and open source, and supplied with Mac OS X... I'm really surprised it's not more popular, coz IMO it deserves to be.
Ceterum censeo subscriptionem esse delendam.
I'm still trying to imagine how I'll speak or handwrite just 1,000 lines of code without any transcription errors.
(No, I won't be clicking and dragging shiny icons or even text fragments. My creative side doesn't work that way, and I'm not alone. Besides, what happens when I want to express an idea that's not on the palette?)
This is really a good point. We do have every right to deride MS for the tools the windows install cd is missing (I really miss grep sometimes), but most tools to be used on the CLI can be added quite easily.
.cmdrc ;-)) and not very feature rich (i.e. ANSI support and forms of piping are non-existant or broken).
If we are going to criticize cmd, we should criticize it for not being very configurable (unless someone else has figured out how to make a
cmd+DOSKEY being "quite reasonable" is a matter of personal taste. It is certainly no good for what I get done, but at least it does exist for when I need it. I will say with out ANY doubt that it is the single worst default CLI on any modern OS.
The command line will always be around as long as our fingers are faster than our mouths.
I've had a copy of "Command Line" for a long time. It's an excellent and enjoyable read, even if it is a bit dated. With the exception of the Monkey analogy, I don't think Garote's additions really contribute much to the original text. They really provide more personal commentary than new information. Rich
soixante-neuf = sixty-nine
Windows NT was only a little bit more reliable than Windows 95? That's not how I remember it. Win95 was a piece of crap built around DOS while NT was rock solid (with good drivers, I had no exotic hardware).
I'll probably get modded for flamebait or trolling but here's my honest take on this:
1. The author of the article has some strong bias that rips through any credibility that he may have. He may have some decent points but I dismissed them. Threw the baby out with the bathwater so to speak.
2. If you get on your soapbox and thump your chest about command line being king then it's likely that you hate MS (oops, I meant M$) more than you really care about command line. Yeah, you know it's true.
3. If you proclaim GUI is king then you're probably not a very good "power" user. You might even be a newbie. You are likely the one that the command line guys are laughing at.
The real answer to efficiently telling the computer what you want is a hybrid of GUI and command line. Some examples:
For MS (sorry, M$) users this means it's faster to hold down the Windows key, hit 'R' to bring up a run dialog then type 'winword' to bring up MS Word than it is to navigate the start menu.
Once in word and you want to bullet point a paragraph it's easier to drag a box around it and hit the bullet point button in the GUI.
Hybrid see?
Navigating to a file and deleting it? Windows+E for an explorer window (keyboard) then navigate to it and select it (mouse), shift+delete to delete it skipping the recycle bin (keyboard).
Renaming a file? GUI+keyboard is faster. Gui to get there and select it, keyboard (obviously) to type the new name.
Renaming a group of files? Gui to get there (if you have "cmd here" option) + keyboard to use wildcards. No "cmd here" option? Wildcards and autocomplete from the command line are the fastest route.
Run a program? Gui. Run a program with arguments? Gui+keyboard (yes you can drag a file from the GUI to the command line and it will autotype itself.)
Navigating around? Depends on the situation. Everyone knows you can whip around pretty quick in a well written GUI shell. Wildcards and autocomplete will let a good touch typist get around just as fast.
There are some tasks that will always be better for GUI like web surfing. There are some tasks that will always be better for command line like scripting. If you are pretty decent at both you'll leave everyone behind who excels in just one.
I personally think both GUI and command line will be changing with new technologies. With any luck this discussion will someday switch to, "Which is faster? Eye tracking (GUI) or Voice Recognition (command line)". I'll be there to tell you again that the answer is a hybrid of both.
Rising competition from OS/2 caused Microsoft to release a very cut down version of Cairo
This doesn't make any sense. OS/2 never even hinted at making gains in the home desktop market, which was the market Win95 was undoubtably aimed at.
OS/2 was making gains on the business workstation front for a while, yes, but MS already had a product, WinNT3, in that area. If MS were to rush a new OS to market due to competition from IBM's product, it would have been an enhanced NT-based system, not a Win3/DOS replacement intended to make computing "fun".
Is there a shell out there that operates like expandable menus do? So the output between, say, all the commands issued three or four commands ago, is collapsed behind the command? Then I could scroll up and see a nice list of what I've done, like an interactive .history dump ... ?
Of course there is. And Free Software gleefully steals from the best.
This (and a few other suggestions) suggest you don't subscribe to the Unix tool design philosopy: simple tools that do one thing well. This function is either partially available (command history, reverse search, screen, bang-execution) or would best be supported via a wrapper. As one response noted, Emacs pretty much does this already.
Remember that there are a lot of uses of shell that don't assume interactive use. Hauling around this infrastructure would be bloat and baggage.
This isn't a shell so much as a scripting/programming environment. Python and R come to mind, as well as Emacs (of course).
ERR_BULLSHIT_FACTOR_OVERLOAD
No response deserved, none given.
What part of "gestalt" don't you understand?
Uh, what ? Windows 95 was the bridge between DOS-based Windows 3.x and Windows NT. OS/2 had nothing to do with it (apart from being around at the same time).
You seem to be forgetting Windows 95 was originally supposed to be Windows "93" (or "94" at the latest). OS/2 2.x and Windows 95 were only "competing" because Windows 95 was about 2 years overdue. Windows 95 was going to exist regardless of whether or not OS/2 2.x made it to market, because Microsoft needed an OS to bridge their old OS to their new one.
Email archives.
I have so much email sitting in Outlook archives that I can't possibly remember everything in there. Further, I also have tons of mailing list archives that contain lots of good information, and Google Desktop is an excellent way to interface with it.
I no longer use Outlook, so Google Desktop is really the only way I see that old email (if GMail let me upload Outlook files and store them for me, this would be moot). Basically, Google Desktop lets me use the info in my old email just as I use info on the web.
Finally, if Google Desktop wasn't integrated into the Google web interface, I would not use it. The whole value of the interface integration is that it lets me go to Google to "search for information", not "search the web". Once I have to think about several place to search, I just, usually, pick the most likely place to be valuable and stick to that (usually the web). But if I can search the web AND usenet AND my desktop/email...well then Google is MUCH more useful than it would be if I had to go to a new place for each of the above.
Anyway, Google Desktop lets me worry about information, not where the information resides. And that is a huge benefit to me because I am lazy.
Intellectuals! Liberals! Peacemongers! IDIOTS!!!
Don't miss our next installment in this series: The Complete Works of William Shakespeare, annotated by George W. Bush.
I actually noted something similar when I first started migrating toward Linux...from proprietary Unices (Solaris, HPUX, Irix...).
It was that the Linux userland (command line environment and applications) was far richer. This ~1997.
For starters were the shells (bash and zsh over csh and korn/POSIX shell). If you were really lucky, you might find Solaris with tcsh installed.
But it was specific command-line apps that were the real differentiators. Whether retools (gawk vs. nawk), more secure (ssh vs. telnet), or wholy new (Perl, wget, rsync, Python, mutt....). Proprietary Unices of the time were try to tell me that VUE, or OpenLook, or CDE, or $ENTERPRISE_GUI_ENVIRONMENT_DE_JOUR was All I Needed. Bollox.
The point is that it's a combination of factors which makes GNU/Linux what it is. The Unix Philosophy (simple tools, one thing well) is part of it. But the "OS of the users, by the users, for the users" bit is what keeps the actual useful stuff, not high-glitz and sexy interfaces that look good on brochures and in executive presentations, is also essential.
Microsoft has neither. It has no unifying process / file / user / interaction model, as does Unix. And developing "advanced user tools" is seen as a value-add / bonus-pak sort of thing (as was providing solid utilities or dev tools for proprietary 'Nix). And the result is: you can't comprehend the fundamental principles, and you can't count on a base toolkit on being available -- on different platforms, on different sites, even on different boxes within a site.
Sure, MSFT have provided various answers to 'Nix shell and scripting over the years, and I've seen several of them go from hype to dust. Which is another large part of the problem. On my Linux box, the scripts and trix I first picked up 18 years ago at college Still Work. But the environment hasn't remained static, not by a long shot: it's been incrementally improved and augmented over the years. Unmodified scripts, etc., still work, but new ways are available.
Best of both worlds.
So: your point that it's not the shell, but the shell-based programs, that provide functionality? My point exactly: Microsoft have failed to either tend to providing these tools, or provide an environment in which they could flourish. The result is that "third-party" plug-ins such as Cygwin are vastly preferred for automating and managing such tasks. Works. Cross-platform (both among MSFT and 'Nix variants) portable. And long-term uniform and stable. Not an inconsiderable factor.
What part of "gestalt" don't you understand?
Got a reference for specifics? I've looked for CLI alternatives for a number of tools, and I've pretty much uniformly found:
I suspect the ultimate decomposition of this statement is that REG.EXE allows modification of any Registry entry. Which on one basis is CLI access. But hardly what a 'Nix admin would be comfortable with, and lacks significant functionality and utility.
What part of "gestalt" don't you understand?
Mind, UWIN's /reg virtual filesystem's even cooler. Also note that Microsoft's got a REG.EXE in some subset of platforms that I've been unable to specify exactly.
Which itself is a major hassle of Microsoft systems: finding out just what the command set is, and where it's documented. Rarely anywhere.
What part of "gestalt" don't you understand?
The move away from the command line was a move backwards IMHO. Modern UIs are optimized for novice users at the expense of more expert users. Proponents of these new UIs were ignorant of or simply ignored the following:
Most users have 10 fingers, not just 1 or 2 (or 11 or 12, either). Some are even touch-typists so giving them additional buttons and devices that take their hands away from home position introduces notable inefficiencies. The mouse is good for drawing and other visual operations, but many people don't use their computer for that purpose and trying to use a modern graphics UI without a mouse is practically impossible.
Type-ahead was a useful feature that we've lost-- yet the original reason for it remains (computers can often be slower than humans). In fact, most UIs now seem to think they know more about what the user wants to do than the user does, even while the user is in the middle of typing something into an input box-- focus is OFTEN stolen while typing, even by the same application (Firefox for example, does it routinely to great annoyance-- try typing into an input box while a page is loading). The user now has to synchronize with the computer, a clearly undesirable characteristic that has no type-ahead equivalent feature to help compensate for.
Most "novice" users don't stay novices forever, so features that trade away expert efficiencies for newbie ease-of-use are misguided. Especially now that we no longer have a need to convince novices that computers are useful tools, as we did in the early days. Weakening the power of the interface is not a good tradeoff for a decent education.
Graphic UIs need the following features to be considered "improved" as far as I'm concerned:
The user is KING. The UI should NOT ALLOW applications to steal input focus while the user is typing. PERIOD. FOR ANY REASON. It should be ABSOLUTELY ENFORCED in the UI. Popup messages are OK, as long as they don't steal focus or cover up the input box in question. The UI should be able to intelligently determine when a user is done with his input-- or at least until there is a sufficient (probably adjustable) pause. Also, ANY APPLICATION SHOULD HAVE AN EASY MEANS OF INSTANTLY KILLING IT, EVEN WHILE IT'S BEING LOADED. Maybe I should say ESPECIALLY while it's being loaded. I can't think of how many times I've mis-aimed the mouse selection and caused some application to start up that takes minutes to load. I'm getting pretty darn quick at pulling up the Windows task manager and killing tasks, though even that often isn't quick enough as sometimes it's simply a matter of windows taking forever to load a huge binary and it's still loading, so the task doesn't yet show up in the task manager-- UNACCEPTABLE. And with Linux, even if I have a command-line window handy where I can do a ps and a kill, it's not as easy as the old ctrl-\ or ctrl-c that will instantly stop a process even during startup (and a ctrl-z job control equivalent would be a useful graphic UI thing, too!)
Have you noticed I'm impatient with computers-- well, that is MY RIGHT as a USER. I DON'T wait for a computer to do STUPID THINGS that it shouldn't be doing-- I've been known to just hit the hard reset on the CPU when booting is a more intelligent thing for it to be doing than the ridiculous thrashing around trying to load junk I don't want is going on. I can put up with lousy aesthetics as long as they're not wasting my time as well. Does it risk trashing drives and losing data? Quite possibly, but I'm prepared for that as I backup often-- not because I need to but because I can see how badly many of the UIs work. I wouldn't even NEED to do this if the UI didn't cover up OS-level control over processes-- but when it does, the RESET button is the only control you have over runaway GUI processes and I'm not afraid to use it. Maybe what I really need is an always-running keep-focus-where-I-set-it and instantly-kill-any-process utility. Now there's an idea, hmmm...
And
There is so much that is wrong with this revision that it's difficult to start, but here's some thoughts anyway:
Looks like another revision is necessary!
insecurity asks the wrong question irritation gives the wrong answer
And the peace-sign, and interpretive dance!
And the fist!!
I think it's funny that it's a Windows monad, and not a windowless one.
To spur "enterprise Linux," Big Bang, the distributed two-phase commit.
Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
ERROR 155 - You can't do that.
- Data General S200 Fortran error code list
Nerd: Derogatory term typically directed at anybody with a lower Slashdot ID than you.
Why bother? The compiler catches most of them ...
What a long, strange trip it's been.
This isn't an updated essay....it's an argument. He's taken the original essay and 'updated' it...meaning he gave OSX a more promenant role than it probably deserves; and then spends the rest of his time arguing with Neal Stephenson's musings on society, circa 1995. It's a complete waste of time.
Well, except that I enjoyed re-reading the original Stephenson bits enough to justify digging up my copy of Cryptonomicon...
I think the real issue with the original essay is that it misses the fundamental point: Computers are just a tool, dammit.
This is what the annotations seemed to be getting at, but I thought it was important enough to just come out and say it.
Just about everyone who uses a computer is using it to accomplish some other task, the computer is just a tool to that end. The less you have to actually think about using the tool, the better the tool is.
Programmers and systems administrators are examples of users (and I'm sure there are many others) where using the computer is almost an end in itself, and for that reason they prefer an interface that makes the tool itself painfully obvious. In the same way, I'm sure car engineers prefer to not have any body work when perfecting a transmission.
A simplified interface is always a good thing, it makes simple things easy, and complex things possible. And making complex things possible is really the key, no programmer could ever foresee what interesting uses a new technology will be put to, it is only once the complexity it out of the way, once the barrier to entry has been lowered does someone else find some new, unexpected and societal shaking use of a technology.
And that's what computers and all technology should really be about.
When I can browse directories, open/close/minimize/restore windows, change desktops and preferences - pretty much *everything* (mostly) via mouse gestures (Opera-style (what else?)), I will bow down and let the future desktop use me as a doormat. Until then Im still a CLI type person.
"Those who do not want to imitate anything, produce nothing." -- Salvador Dali
> OS/2 never even hinted at making gains in the home desktop market IBM was getting an increase in the number of ISVs willing to to write software for OS/2, and even getting some (not many) IHVs to offer OS/2 as an option. Computer magazines were giving OS/2 2.1 and 3.0 rave reviews. Whether actual gains were realized in marketshare or not, OS/2 was getting some momentum behind it.
No. Originally, what became Windows 95 was slated to be released as Cairo in 93. Cairo was too ambitious of a product to get done in the original time frame. Cairo was supposed to be the merging of the Win3.x branch with the NT branch with a bunch of new technologies thrown in to boot (like OFS).
Microsoft was probably still about two or three years away from having a releasable version of Cairo, when they decided to divert resources to produce Windows 95.
OS/2 scared Microsoft enough to drop plans for a much bigger rewrite and instead release Windows 95, and it was based on their fear of losing a chunk of the home market AND the big chunk of the business market that Windows 3.x had finally acquired them.
Microsoft's activities vis-a-vis the IBM PC Company show pretty conclusively that they viewed OS/2 (especially v3) as a threat.
The thing which made it look half-baked (rushed) was the (relatively) last-second decision to drop the old shell and put the Workplace Shell on top instead. OS/2 2.0 with the old Program Manager shell was pretty darn solid and could have actually been released six months earlier. Should have been, in my hindsight opinion.
While a savannah is a plane, it is still a 3d environment. You don't have
... and "that" becomes the closest object, shouldering other
an overall "plan view" of your environment, you see things nearer to you or
further away. When something interests you, you don't stand off and look at
it from a distance unless it's something very much larger than you... for most
things, distance maps attention. Things you're actively working on are close
to you.
And this 3d feature has been part of 2d GUIs since around 1980, when Smalltalk
and the Xerox Star office system first showed us a positional UI. You have
icons (small things, in the distance) and overlapping windows, with windows
in front of each other, Mac OS X even gives you a shallow version of this.
That's where 3d will shine... IF someone comes up with a GUI that gives us
a "Savannah view" of our environment, without making navigation any harder
then pointing and clicking on the projection plane of the screen. "Go there",
"show me that",
windows or GUI elements off to the side or into the distance...
They're both 3d user interfaces, they just have different control systems.
You (and Jakob) are talking about the user's controls, but a 3d user interface doesn't need to work like a helicopter to take advantage of the fact that we're primates and predators and have senses and minds evolved for a 3d model of the world.
Well, of those, two are balloons (things that go on the end of a pipe that fill up but don't empty -- as opposed to nodes or sponges (think sort)). Pretty much any scripting language (you cite three) can be used in pipelining, and some of the more interesting uses come from same.
The pipeline concept starts running out of steam when you get to complex interactive environments, but that's pretty much the definition of an editor or viewer (eg: Emacs, Firefox). Though it is possible to use scripted editors (hey, isn't that what "sed" stands for?), vim can edit stdin, and text-mode browsers such as lynx and w3m can read and write stdin/stout, and can be quite useful for same. Even pagers such as less -- using lesspipe, it's great for converting MS Word docs to text.
...and it turns out that you can even use pipelines in some tools you'd think otherwise not supporting it, including editors, browsers, and graphics tools, generally in converting or batch-processing data or files, damned useful when you need it.
The upshot: pipelining means a tool's utility is extended greatly beyond what functionality is built into the interactive menus.
First of, false premise. Of the standard shells: sh, bash (and minimized variants ash & dash), csh, tcsh, zsh, and ksh, scripting essentially falls into two classes: Bourne compatible and csh compatible. The two syntaxes are largely similar, and within families, backwards compatible.
Second: Because The Shell Is There. I've seen inits written as bash scripts (LNX-BBC). Damned useful on a minimal system, in this case, bootable mini-CD, but Tom's Root Boot, install disks, or a hell of a lot of embedded systems come to mind. Even in larger systems, shell remains in use, very often in system scripts executed automatically at startup or via schedulers. Just 'coz you can't see 'em doesn't mean they don't exist.
A shell session is (from the kernel's point of view) a very slowly read script. The scripting utility's been built in for over three decades, there's no reason to strip it out. Small shells (ash, dash) provide a powerful scripting environment in minimal space -- an installation of Perl, Python, Ruby, etc., would impose far higher storage requirements.
Being able to rattle off one-liners at shell is also useful, particularly as the syntax is familiar: it's what you're using every day. I know many long-time power hacks who've never gone far into other "real" scripting languages simply because a handfull of shell tools provides sufficient power for their needs.
Sure: If you need a full scripting language and can use it, by all means do. There's room for all (given sufficient storage).
Your statements betray a gross lack of understanding and appreciation of what the shell can and does, not to say a gross immaturity regarding Unix/Linux in general.
What part of "gestalt" don't you understand?
The reason that the essay can be critiqued for the technical details is because it was NOT an essay about Operating Systems or Command Lines.
This was an essay about our choice of interfaces on the world around us. The use of computers was just an easy example for Neal to use in describing this point.
In fact, the essay had a lot more to do with his descriptions of car dealerships and Main Street in Disney world than any of the stories about computers.
As to the "updated" essay, it was so off base as to be completely irrelevant to anything.