Slashdot Mirror


The Case Against GUIs, Revisited

snydeq writes "Deep End's Paul Venezia advocates the importance of the command line, in light of the increasing use of GUIs in today's technologies, as well as the increasing perception among admins that proponents of the CLI are dragging computing back to the 'dark ages of the C:\ prompt."

720 comments

  1. First post by smileygladhands · · Score: 2

    I use Linux specifically for the powerful Bash-fu.

    1. Re:First post by twollamalove · · Score: 4, Funny

      Yes, but to master same functionality using windows batch files it takes a lifetime of discipline

    2. Re:First post by anomaly256 · · Score: 1

      Thats like saying you exclusively use Toyotas because they have wheels.

      Hell these days the only OS without bash is emacs. And I'm probably wrong about that anyway.

    3. Re:First post by kikito · · Score: 4, Funny

      And masochism

    4. Re:First post by Jeremiah+Cornelius · · Score: 5, Funny

      I like my CLI smartphone. With wget and Perl5, I don't need any of those useless, cluttery widgets for connecting GPS to reviews of local restaurants - and dialling is a breeze, as I grep through the flatfile of contacts I have acumulated by rsyncing from my desktop dump of the company LDAP.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    5. Re:First post by sortius_nod · · Score: 4, Interesting

      Batch files are easy. The only people I've found to have trouble with any sort of scripting are people who grew up only using GUIs.

      That being said, I grew up on old Macs and only started using windows at 15 when I got my first job in a computer shop. Not having used a CLI previously I dove straight into it and learnt all I could.

      The problem with the whole user/CLI disconnection is that there is a perception among certification/uni degree holders that once you finish your qualification you don't need to learn anything further. I saw this happen to many people who graduated with my fiance, they learnt Windows, learnt how to use the GUIs for admin, and nothing more.

      To be honest, I blame complacency and the fear of intellectualism for the decline in the CLI. It seems to be "cool" to be stupid in developed nations, intellectualism and learning are almost feared. Maybe it's due to editorials damming intellectualism, maybe it's to do with politicians damming intellectualism. I'm not quite sure, whatever the cause it's one of the worst things to happen to humanity.

    6. Re:First post by skids · · Score: 1

      And I'm probably wrong about that anyway..

      Let's see -- C-u-1M-!- echo "yep."

    7. Re:First post by Anonymous Coward · · Score: 5, Funny

      At last, I've found another n900 user! Brilliant phone.

    8. Re:First post by twollamalove · · Score: 2

      I was attempting to make a joke about the bash-fu and the batch files needing the life long discipline of a true martial artist. Upon re-reading my comment, it's not nearly as funny as it was in my head.

    9. Re:First post by Anonymous Coward · · Score: 0

      I am not sure you understand word intellectualism correctly: being able to touch type, which is essential for an effective use of a CLI, is requirement for a typist. You do not have to be an intellectual to be a typist, however if you are a good typist you might not be an intellectual.

    10. Re:First post by Caerdwyn · · Score: 4, Insightful

      By your own admission you've devoted half a lifetime or more to developing computer skills. Should everybody have to do that? Are people who don't devote half a lifetime specifically to computing skills "stupid' and "fearful"?

      This is just a form of elitism. I'm not even going to call it intellectual elitism, as preferring CLIs is no more a demonstration of superiority or intellect than preferring GUIs is a demonstration of inferiority or stupidity.

      --
      Everybody gets what the majority deserves.
    11. Re:First post by im_thatoneguy · · Score: 4, Insightful

      The trouble with CLIs though is that the functions aren't always named whatever you would expect so you *have* to look up the function name and formatting.

      If a command line could be written as:

      "Take this image, resize it by 50% and increase the contrast 10%" then people would use CLIs all the time.

      Instead it goes:

      ImageProcessor ... /help ... ...
      ImageProcessor -scale 50p... /help ...
      Image Processor -scale 50p -filter (contrast,1.1) .. /help ...

      etc...
      You have to keep looking through a huge documentation system. GUIs at least present you with the documentation *AS* the interface.

      You don't need to know what the "Contrast" filter is exactly called, you just look through the list by default and choose the one that closest matches what you want.

      If we had smarter more adaptable CLIs people would be far more familiar instead you find out you missed a comma somewhere and it takes you 5 minutes to track that down. Or you try to figure out if adjusting contrast is even a function at all.

    12. Re:First post by msauve · · Score: 5, Insightful

      "By your own admission you've devoted half a lifetime or more to developing computer skills. Should everybody have to do that? Are people who don't devote half a lifetime specifically to computing skills "stupid' and "fearful"?"

      Yes, and yes, if their career is administering computers (or computer networks, which is what the article is about).

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    13. Re:First post by Anonymous Coward · · Score: 0

      Even a for loop in a windows batch file is complicated. The syntax can be very strange, and there's all kinds of gotchas. It really is a pain, and I'd avoid using a batch file whenever possible.

    14. Re:First post by .c · · Score: 1

      You laugh, but my favourite CLI task management tool runs well on a N900. Disclosure: I contribute to the project.

      http://taskwarrior.org/

    15. Re:First post by lennier · · Score: 3, Funny

      Bah! You can learn to write every control structure with GOTO LABEL if you just twist your brain into a tortured nightmare of insanity.

      It's quite comfortable once you get used to it.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    16. Re:First post by Anonymous Coward · · Score: 0

      Ah yes, the great intellectual dams, they generate terawatts of energy by stopping the flow of brain power...

      Or did you mean "damning" ?

    17. Re:First post by IICV · · Score: 1

      Batch files are easy and brain damaged. There's a reason why when Microsoft released Powershell, pretty much everyone flocked to it.

      Doing anything beyond the simplest of tasks in a batch file is anywhere between intensely confusing and impossible. Want to have multiple statements in an if-else-end fragment? Too damn bad, sucker - you're gonna have to use a goto.

      The worst part is that Microsoft's broken batch file compatibility multiple times in little ways without much fanfare, so if you just google for information you'll frequently get stuff that's out of date. For instance, want to ask the user for input? Which do you use, CHOICE or SET /P? Nowadays CHOICE just bails out, and you're supposed to use that funky SET parameter. Oh but wait, now that I look at it, it was just gone for Windows 2000 and XP. It's back in Vista and Windows 7. Silly me.

    18. Re:First post by lennier · · Score: 1

      If a command line could be written as:

      "Take this image, resize it by 50% and increase the contrast 10%" then people would use CLIs all the time.

      Oh heck no. That is exactly the kind of thinking which led to AppleScript, and it's the opposite of useful.

      Instead of being unable to remember "is it sed or grep?" you end up being unable to remember "do I say it 'look through file replacing words' or 'examine a file making changes' or or 'make file change to new words'...

      Using a fake English-like language does not mean you gain any understandability. Plus, you lose the ability to Google for keywords when they're all common words.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    19. Re:First post by Proudrooster · · Score: 1

      Is this seriously an excuse? Whining about RTFM is as old as documentation itself. These days for nearly ANYTHING you want to know, you can do a Google search and get the answer in 5-clicks or less since there are many others who refused to RTFM and asked the Interwebs for help. Documentation and programming examples are so easy to get to these days, everyone should be programming and using the command line.

      If you are going to SysAdmin for any platform, you have to be able to quickly and efficiently wield a toolbox of command line tools. You need to be able to work quickly, accurately, and logically. GUI's are too slow and prone to typos. In fact, I write Greasemonkey scripts to automate talking to systems that only offer web management :)

    20. Re:First post by Culture20 · · Score: 1

      The trouble with CLIs though is that the functions aren't always named whatever you would expect so you *have* to look up the function name and formatting.

      If a command line could be written as:

      "Take this image, resize it by 50% and increase the contrast 10%" then people would use CLIs all the time.

      Instead it goes:

      ImageProcessor ... /help ... ...
      ImageProcessor -scale 50p... /help ...
      Image Processor -scale 50p -filter (contrast,1.1) .. /help ...

      You know what? Whenever I look through my history (as a sysadmin), man and --help show up more than anything. I'm Proud of that. You know why? The next line after your last in the example is usually something like:
      ls ./*.jpg |cat| while read X; do ImageProcessor -scale 50p -filter (contrast,1.1) ${X}; done

      I'd like to see that process with a GUI and thousands of files. This example is a poor one since specialty mass-image editors exist, but imagine any task you do with the GUI that might be neat to do repeatedly with different values (or the same). CLI makes it happen, which is why I happily read the man pages for every new task I'm given.

    21. Re:First post by Culture20 · · Score: 1

      Even a for loop in a windows batch file is complicated. The syntax can be very strange, and there's all kinds of gotchas. It really is a pain, and I'd avoid using a batch file whenever possible.

      In DOS, yes (GOTOs and IFs), but in Windows, type
      for /?
      It's pretty nice, and works like for and foreach
      for /f %X in ('type blah.txt') do echo %X
      for /L %X in (1,1,100) do echo %X

    22. Re:First post by onefriedrice · · Score: 1

      I use Linux specifically for the powerful Bash-fu.

      Yeah, because bash only runs under Linux. Oh wait, it runs under Mac OS X, *BSD, Windows... pretty much any operating system. There must be other reasons why you use Linux.

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
    23. Re:First post by fuzzyfuzzyfungus · · Score: 1

      Frankly, I've dealt with a fair number of cellphone interfaces where being able to write a quick wrapper script that takes a contact name, greps through the contact file, and dumps the AT commands directly to /dev/ttyS0 would have been a fucking miracle compared to the provided system...

    24. Re:First post by billcopc · · Score: 3, Funny

      Son, when I was your age, we didn't have GOTO. We had a stack pointer which had to be managed by hand, and WE LIKED IT.

      MOV AX,1202
      PUSH AX
      RETN

      --
      -Billco, Fnarg.com
    25. Re:First post by zippthorne · · Score: 1

      man bash

      Some of the most useful features of the command line aren't even utilities. They're built-in commands, that for some reason don't get to have their own manpages, or info pages. (although.. I've never seen anything with good info documentation besides coreutils...) Instead residing in the massive man page for the shell itself...

      For instance, if you were using bash, you'd see that you can almost always kick out the worthless good-for nothing cat:

      for X in *.jpg; do ImageProcessor -scale 50p -filter (contrast,1.1) "$X"; done

      --
      Can you be Even More Awesome?!
    26. Re:First post by Mister+Whirly · · Score: 1

      Re:administering networks-
      Really, how much has TCP/IP or DNS changed significantly (with the possible exception of IP6 actually starting to be used) in the last 20 years?

      --
      "But this one goes to 11!"
    27. Re:First post by LordLimecat · · Score: 2

      To prefer CLI is not elitism; anyone who has used it extensively knows that there are things that you can do better, faster, and more precisely using CLI. That is its benefit-- for those core technologies that are hanging around, learning CLI is a way of improving your efficiency.

      The benefit of GUI, however, is that if you implement a new technology or service on your network, you dont have to spend years mastering the intricacies of the command line. The GUI lets you start using the product quicker.

      Both have their places.

    28. Re:First post by Mister+Whirly · · Score: 1

      Just have Infocom write the parser. Not only could you use multiple phrases to accomplish the same task, it would also be funny as hell to use, especially when it only understands part of what you want.

      SAY PLUGH

      --
      "But this one goes to 11!"
    29. Re:First post by LordLimecat · · Score: 1

      One admin cannot master the commandline of every type of product out there. But with knowledge of networking protocols and how they interact, I can get up and running with FreeNAS in about 10 minutes with its GUI; if I need to learn the intricacies of FreeBSD and all the particular daemons it uses, I can do so later.

    30. Re:First post by LordLimecat · · Score: 4, Insightful

      It is often worth doing cost-benefit analysis and determining if the time spent reading the documentation is worth the time that will be saved by using CLI.

      If someone asks me, for example, to add a user to active directory, it doesnt really make sense to research how to get LDIFDE or whatever to do an import properly. If, however, they hand me a CSV file of 100000 contacts and asks me to import them to active directory, then you better believe Im breaking out cygwin and awk documentation, and touching up on the active directory CLI tools. I may spend a few hours learning how to work them, but I will save hundreds of hours in time.

      This isnt a "heres the right answer" scenario. You have to use your brain and your experience to choose the right tool for your job. That, as much as anything else, is the mark of a good systems administrator, not knowing every CLI in existence. A knowledgable SysAdmin can be inefficient if he needlessly ignores some tools (GUI) that are perfectly suitable to a task just so that he can use the same tool for every task.

    31. Re:First post by Darinbob · · Score: 1

      It doesn't take that long to learn that windows batch files can't do the job, so you either find new tools or give up.

    32. Re:First post by fuzzylollipop · · Score: 1

      versus you devoting your entire life to nothing?

    33. Re:First post by mehemiah · · Score: 1

      YES! and THANK YOU! I dont know what this guy is smoking but if learning the CLI is hard, i don't know how they got through CS. Perhaps they have an MIS degree ;-) Once i read a decent analog: cli is to GUI what gesture based interfaces are to ... GUI. The advantage is the speedup you get from muscle memory.

    34. Re:First post by mehemiah · · Score: 1

      you try that again using gimp or photoshop WITHOUT knowing exactly where to look. Trust me, there are GUI's out there that are just as unintuitive. I really didn't see what was so hard about GIT but, i didn't start using it untill I heard Linus's talk on it. (they were on version 2)

    35. Re:First post by rgbatduke · · Score: 3, Informative

      A nice example of the bash-fu mentioned earlier.

      To quote an ancient proverb -- "You can often learn to use a GUI in a day, and pay for that knowledge for the rest of your life."

      The Unix Way is to be able to chain together large numbers of short, relatively easy to use, powerful commands to create tasks that save days of work in a GUI, if any GUI exists that can facilitate doing them at all. Sure, it takes a while to learn, requires intelligence, is "expert friendly", but in the end you can work friggin' magic. That's why they call the masters of this "gurus" and call the masters of the Windows GUI "MCSEs".

      And yeah, even the best of the gurus use the man pages all of the time. Why waste neurons memorizing every single option to ls, or tar, or convert? It is enough to know the command name and that an option exists -- the computer itself is an extension of your brain that remembers every tiny option on request, if you choose to use it that way. And when you can't remember the name of the command, or aren't sure one exists, there is first "apropos", and then things like "yum list \*whatever\*" or google.

      GUIs are often stupid, nearly always broken somewhere, only do what the designer thought they should do (which often leaves out any sort of control at all over all sorts of functionality known only to those who understand what lies behind the curtain where the command line provides access), and are slow and inefficient for nearly all tasks except things like "drawing" or otherwise "manipulating graphics" or "playing games", largely because they force you to take your fingers off of the home keys to use them.

      rgb

      --
      Even when the experts all agree, they may well be mistaken. --- Bertrand Russell.
    36. Re:First post by waveclaw · · Score: 1

      By your own admission you've devoted half a lifetime or more to developing [reading] skills. Should everybody have to do that? Are people who don't devote half a lifetime specifically to [literacy] skills "stupid" and "fearful"?

      Computer Literacy is the New Literacy. Those without it are already ruled over those with it. From quants developing market models to make millions in seconds to average joes trying to print shipping papers to know what to pull off the shelves, computers are everywhere.

      TFA's real point is that using GUIs to make things easier often doesn't. We wanted to just stick a brain in everything and magically have it be smart. Turns out it doesn't work that way. Leave out the issue of slavery embedded in sticking brains in everything. Master System Administrator skill isn't needed. But some level of skill is needed to use computers and do tasks that involve them.

      For a funny twist, typing commands can be easier for some tasks. After all, it's just pushing buttons. And most people are pretty good at doing that. Just ask their spouses.

      --

      "You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."
    37. Re:First post by Anonymous Coward · · Score: 0

      find . -iname "*.jpg" -exec ImageProcessor -scale 50p -filter \(contrast, 1.1\) '{}' \;

      FTFY.

    38. Re:First post by RavenLrD20k · · Score: 1

      Funny, when I was 4 I did:

      00 62 13
      02 08
      03 BB
      04 9C
      05 E2
      06 AC
      07 09
      08 0B
      09 05
      10 00
      11 12 02

      just to make a little man pop up in random places on the TV screen with an electronic buzz.

    39. Re:First post by Anonymous Coward · · Score: 0

      I would never want a CLI where I gave commands as dictation. Part of the allure of CLI interfaces is the short command structuring allows greater efficiency. How about a CLI with real auto completion. Not only for internal function names, but for all CLI capable commands, through some form of command registry. Follow this with an auto display / auto complete of parameters for function. Think current Google search meets CLI. Throw in a thoroughly adjustable prediction system and you might have something.

      Your suggested interface is more apt to work as a verbal interface. The auto completion and prediction I suggest would work well for adding a such a natural language abstraction layer to interface with STT / TTS. Commands could have direct documentation which took a command like ls /home from the command line but translated from verbal cues such as "List file in home," "Directory list for home," "Show files in home."

      Also, simpler/more common commands could execute (barring they exceed established system overhead thresholds) and display results while additional possible command execution options are displayed.

      Wait, ignore the above, I need to run to the paten.. I mean 7-11 for milk.

    40. Re:First post by Anonymous Coward · · Score: 0

      To drive a car, you need only learn the fundamentals.

      To repair, maintain, and operate a vehicle in peak condition, you have to learn quite a bit about how everything under the hood operates.

      Anyone can drive, not many people can repair something as simple as a drive belt or their mechanic forgot to cinch a hose clamp to the radiator etc. Most people don't get it, but then again, most people don't care to get it.

      What they needed to learn to live was gas goes in hole, and sometimes someone charges them to take black stuff out and put yellow stuff in.

      Hackers live to learn that the o2 sensor is reporting a potential sensor error on the OBDII in dash monitor they hacked on.

      They want to know WHY something needs to be done, and HOW it works. Gui's do their best to hide this from the end user. All they typically do is tell a user THAT something has happened and WHAT it did. Hell most CLI's give no output as a successful return. Users want popups that say "Completed Successfully!" Hackers could give two shits, they know if it was successful based on the result, or write a handler that will tell them that if they need it for a debug run.

      I love the CLI, it lets ME choose what output I want, where I want it to be handled and if I want to log it or not. Create configurable gui's like MMO's and smartphones (with widgets etc) and you've got a different discussion, but until then it's a load of crap.

      Users only need gas, steering wheel, 2 gears (reverse and forward) and the ignition. Hackers WANT direct more control and visibility that that.

    41. Re:First post by robbak · · Score: 1

      If you are familiar with command line/config file administration, then learning another program is as quick as picking up a gui based package. A good package will have a well documented config file with reasonable defaults, and well formed utilities with no surprising arguments. Yes, there are badly created programs, but then again there are absolutely horrendous GUIs as well.

      --
      Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
    42. Re:First post by Anonymous Coward · · Score: 0

      How about a CLI with real auto completion. Not only for internal function names, but for all CLI capable commands,[...]

      This already exists. Check out {bash,zsh}-completion. Works for all popular cli-software, ssh hosts, etc.
      Try mplayer -[tab].
      Looks like this with zsh-completion installed:

      option
      --help -help -h -- display help info
      -ac -- force usage of a specific audio codec
      -af -- activate audio filters
      -afm -- force usage of a specific audio codec family
      -alang -- select the DVD audio language
      [...]

      You could then do mplayer -ac [tab] to get a list of available audio codecs.

    43. Re:First post by bhtooefr · · Score: 1

      My fix for the "taking fingers off the home row" problem is TrackPoints. Usually, with one of those, my right hand moves towards the TrackPoint slightly, but stays on the home row.

      (And, I use a mix of GUI and CLI. GUI is optimal for some tasks, CLI is optimal for other tasks.)

    44. Re:First post by thegarbz · · Score: 1

      Google search and get the answer in 5-clicks or less since there are many others who refused to RTFM and asked the Interwebs for help.

      Compared to say a series of checkboxes down one side and a box opposite explaining each in plain english. The power of the GUI is to present options and documentation at the same time. You say yourself use a google search. Ok let's take the GP's example with that:

      ImageProcessor - garbage
      Screen
      ImageProcessor Ctrl-A Ctrl-N lynx www.google.com
      *insert google fu here* Ctrl-)
      ImageProcessor -scale 50p Ctrl-N .... Ctrl-P -filter(contrast, 1.1) Ctrl-N Ctrl-D Ctrl-D

      Yeah I can see this googling and working on the CLI is quite efficient compared to just presenting the option and clicking.

    45. Re:First post by mcvos · · Score: 1

      CLIs don't take years to master. Well, maybe the stuff that's so complex that GUIs can't possibly support it, but with the right documentation, most complex CLI tasks shouldn't take more than a couple of days to figure out. A GUI may be easier and therefore faster the first couple of times, but if you do it a lot, it might be worth investing the time to figure out the CLI.

    46. Re:First post by spiralx · · Score: 1

      Computer Literacy is the New Literacy. Those without it are already ruled over those with it. From quants developing market models to make millions in seconds to average joes trying to print shipping papers to know what to pull off the shelves, computers are everywhere.

      ROFL. The quants are just grunts, using their skills to make money for their bosses, who are almost certainly not particularly computer literate.

    47. Re:First post by mcvos · · Score: 1

      The lesson here is that you should use a system that supports a proper CLI. Or even better: a choice of proper command shells.

    48. Re:First post by Gunstick · · Score: 1

      especially as the GUI does not have a history you could search through to look up how you did it last time!

      --
      Atari rules... ermm... ruled.
    49. Re:First post by next_ghost · · Score: 1

      Actually, the single biggest advantage of CLI over GUI is that it doesn't matter whether you process one file, one million files or several billion files distributed over thousands of computers. GUI needs explicit support for things like that. In CLI, all you have to do is wrap the command that processes one file into another command which handles the loop over files and task distribution to other computers. No explicit support required.

    50. Re:First post by next_ghost · · Score: 1

      By your own admission you've devoted half a lifetime or more to developing computer skills. Should everybody have to do that?

      Yes, as much as everybody should spend several months in a driving school learning the basics of driving. Just because computer looks like a TV set doesn't mean that every moron is qualified to use it.

    51. Re:First post by next_ghost · · Score: 1

      Windows don't have fork() so most scripts are painfully slow there. I've had personal experience where replacing a few commands in a pipeline with equivalent bash built-ins sped up the whole script about 100 times.

    52. Re:First post by WetCat · · Score: 1

      Imagine a Guified CLI, in which, for example, you can provide a set of images by selecting it visually in some gallery, and the command will look like
      processImage [here comes the images in thumbnails] -size 20 -colorify
      ?

    53. Re:First post by pizzap · · Score: 1

      First you can't assume something is named as *you* would expect it. More often than not operations are named by people who know what they are doing, but the people using the software only have a faint idea about their task. That's normal: as users search for the best/easiest way to accomplish a task they learn the vocabulary and methods of the specific field, thus becoming specialists themselves. Regarding documentation, take a look at GUI users, they have to read this GUI. It's basically a book, think formulary: You have to read every menu to "know" the software. Users take a spatial approach, remembering places to click on. This explains why nobody wants to use the "new" MS Office, they don't want to memorize the menus again. And to be honest, to really know a GUI you have to click them all and see how these menus and dialogs interact. Anyways, both systems have their strength.

    54. Re:First post by master_p · · Score: 1

      But your imaginary syntax would also need to be documented and people would also need to learn it, because the computer would not be able to understand the exact words spoken by a human.

    55. Re:First post by dabadab · · Score: 1

      "For instance, if you were using bash, you'd see that you can almost always kick out the worthless good-for nothing cat"

      If you would be really proficient in bash, you would know, for instance, that your for would choke on filenames containing spaces - while his cat | read construction handles it well.

      --
      Real life is overrated.
    56. Re:First post by foniksonik · · Score: 1

      Yes a CLI with some sort of graphic interface might be the way to go :)

      In all seriousness text editors have useful tools such as templating (autocomplete with structure), syntax highlighting, and autosuggest (shows possible matches) even if there was no menu selection just a display of options. CLI could provide these as well. Even something like a typical tab complete with options list for more than just path completion (args completion).

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    57. Re:First post by wed128 · · Score: 1

      It hasn't. So we should still be doing things the same way we did them 20 years ago. On a proper CLI.

    58. Re:First post by wed128 · · Score: 1

      Wish i had mod points, you're post is dead on.

      Another thing you can take away from this is: Bad interfaces are very common and pervasive, and you can write a bad CLI interface just as easily as you can write a bad GUI interface. People who strongly favor GUI interfaces have probably never been exposed to a 'good' CLI.

      Although I think the best CLIs are generally better then the best GUIs, both have their place. This is a fun debate, but this topic never seems to lead anywhere...

    59. Re:First post by linuxpyro · · Score: 1

      I'm not sure about doing what you want with the images, but when you mentioned "guified cli" it made me think of Plan 9's GUI, rio, which is sort of like a point-and-click text terminal.

      --
      Saying "I'll probably get modded down for this" in a post is the best way to get it modded up.
    60. Re:First post by LordLimecat · · Score: 2

      Which is why GUI is great for the one-offs, which is exactly what I was driving at. And to master a CLI does indeed take years; anyone who tells me theyve mastered bash (or vi or sed or grep) in a few hours or days is full of crap.

    61. Re:First post by swalve · · Score: 1

      Agree a million percent. I don't know how decided that "natural language" should be preferred for CLI, but they ought to be kicked in the nuts. Linux's "ip" command is one of them, MS's diskpart is another. It is as if someone decided to take all the bad of a GUI and combine it with all the bad of a CLI. Now I have to remember what "window" I'm in without being able to see it!

    62. Re:First post by Chelloveck · · Score: 1

      Son, when I was your age, we didn't have GOTO. We had a stack pointer which had to be managed by hand, and WE LIKED IT.

      Stack pointer? You were lucky. I started learning assembly on a Unisys machine which didn't even have a stack. The return address was placed in a reserved position at the beginning of the subroutine. Recursion? Ha!

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    63. Re:First post by Chelloveck · · Score: 1

      If a command line could be written as: "Take this image, resize it by 50% and increase the contrast 10%" then people would use CLIs all the time.

      Oh, dear God, it's addle-pated thinking like that which brought us AppleScript. It sounds like a great idea, until you realize just how many permutations there are in English of expressing the same instructions. You end up with code that's easily readable, but only writable if you happen to phrase things exactly like the language developer would. And do it consistently, to boot. Otherwise you end up frustrated because one English phrase works, but other phrases which mean the same in English don't.

      Give me arcane (with good docs) but unambiguous every time.

      (Mind you, when someone finally creates a parser which can actually understand colloquial natural language as well as a human, I'll be first in line to buy it. But I think some of Watson's wacky answers on Jeopardy show how close and yet how far we still are from that.)

      --
      Chelloveck
      I give up on debugging. From now on, SIGSEGV is a feature.
    64. Re:First post by adeft · · Score: 1

      Not to troll but my career is not my life, it's how I pay for my life. I want to spend the least amount of time to be able to do my job, then go home, race cars and plow my asian girlfriend.

    65. Re:First post by Just+Some+Guy · · Score: 1

      as I grep through the flatfile of contacts I have acumulated

      Man, that's one thing I wish I could do on my iPhone. Whenever I see a phone number that looks familiar, I'd like to be able to search for it in my contacts list. That's a pretty simple request, right?

      --
      Dewey, what part of this looks like authorities should be involved?
    66. Re:First post by Anonymous Coward · · Score: 0

      Sure you could use .bat files and continue living in the past.

      Or you could just install one of the many many tools that provide sane and powerful cli.

    67. Re:First post by Anonymous Coward · · Score: 0

      You're obviously not proficient in bash. I see no problems if the filenames contain spaces.

    68. Re:First post by ashidosan · · Score: 1

      On Android, it does this by default. I think my Windows Mobile 6.0 phone and previous "dumb" Motorola phone did this as well. Just start dialing the number, and if it's in your contact list, it will display.

    69. Re:First post by mehemiah · · Score: 1

      that too

    70. Re:First post by mcvos · · Score: 1

      When I said mastering a CLI takes a couple of days, I meant controlling one specific application from the command line. If you want to get every possible bit of power out of bash+sed+grep, then yes, that's going to take quite a bit of experience. But some basic use of bash+grep that surpasses what you can do with many GUIs can be learned in a matter of hours.

    71. Re:First post by memojuez · · Score: 1

      ... and it continues forward with the Motorola Karma.

      --
      Signature applied for, Patent Pending
    72. Re:First post by Just+Some+Guy · · Score: 1

      But how well does that work for substring matches? "Darn it, who do I know in the 650 area code?" It's incredibly annoying to me that there's no way of easily answering that query, given that it's entered in the local database of my iPhone and that Spotlight should be able to find it.

      --
      Dewey, what part of this looks like authorities should be involved?
    73. Re:First post by TheCoders · · Score: 1

      You make a good point, but I believe the article is referring more to things like the Cisco CLI, where you get automatic contextual help text by pressing the tab key or a question mark, and it actually does come pretty close to being natural language. See http://www.cisco.com/warp/cpropub/45/tutorial.htm for some examples:

      Router# configure ?

          memory Configure from NV memory
          network Configure from a TFTP network host
          overwrite-network Overwrite NV memory from TFTP network host=20
          terminal Configure from the terminal

    74. Re:First post by marcosdumay · · Score: 1

      At my first programming years, I'vwe written all control structures with GOTO NUMBER. That was because we didn't had labels by then. Obviously, nowadays there are still times you need to write assemby...

    75. Re:First post by davester666 · · Score: 1

      That's because after a few minutes of trying to learn it, you kill yourself.

      --
      Sleep your way to a whiter smile...date a dentist!
    76. Re:First post by Creepy · · Score: 1

      smartphone?! - in my day we had a rotary dial click tone phone nailed to a wall and wired directly to Ma Bell and we liked it! You kids and your fancy schmancy CLIs...

    77. Re:First post by LeftHanded · · Score: 1

      That is true for MS Windows batch files, but is most assuredly not the same with MS Windows PowerShell scripts. Microsoft has finally "gotten" the power and strength of true scripting, and current iterations of Active Directory and Exchange both use PowerShell objects as the preferred administration control methods. To help with the transition, there are even aliases for commonly used UNIX commands. Just check out the capabilities and functionality described in the free Mastering PowerShell E-Book

      --
      I think...I think it's in my basement. Let me go upstairs and check. -M.C. Escher (1898-1972)
    78. Re:First post by s73v3r · · Score: 1

      Are you talking about when you miss a call, or when you see a phone number anywhere? Cause if you missed the call, just about all phones will bring up the contact name if the number is stored in your phone book.

    79. Re:First post by schmidt349 · · Score: 1

      Luxury!

      With our ENIAC we used to have to wire control structures by hand on a plugboard, and when we got home our dads and our mums would kill us and dance about on our graves singing hallelujah.

    80. Re:First post by cavreader · · Score: 1

      A lot of people watch TV. Should they be required to know how the TV actually works behind the screen? Once upon a time computers were complicated black boxes and required specialists to build, program, and operate. However over the years it has become easier and easier to use computers for a variety of tasks (including basic administration). The hardcore CLI admins just get pissed off because any halfway smart user can navigate through a GUI and eventually provide the same results without years of command line pounding. Ultimately computers are for USERS not the builders or technicians actually building them. Layers of abstraction have increased ten fold as different types of technology have advanced. It's gotten to the point where even professional software developers utilize layers upon layers of abstraction when creating todays complicated apps. The OO programming model is built on abstraction (ie.Hiding the details) to reduce the amount of detail the developer needs to deal with when building an app. Making a few extra mouse clicks when you don't happen to have all the command line flags and parms memorized is not the end of the world.

    81. Re:First post by Jeremiah+Cornelius · · Score: 1

      Dial? You had a dial!?

      We'd have given our eye-teeth for a dial.

      We scuffed our feet on the bare floors, working-up the signal-voltage in static electricity, before gripping the bare copper wires long enough to shout for the operator.

      --
      "Flyin' in just a sweet place,
      Never been known to fail..."
    82. Re:First post by HermMunster · · Score: 0

      A buddy of mine came back from Alaska where he was making claims that some aspects of Linux just sucks, especially having to deal with the command-line. To this I showed him some examples. Since I have quite a few Linux boxes in my shop I showed him how I can SSH into them and do all the updates without having to get up from my main computer to do it. After that I gave him some examples of how to configure something using the mouse and dialog boxes, such as adding a new apt repository, adding the authentication, updating the indexes and doing the installation--and then again with the CLI. Then I showed him how to remove a package. Quickly he began to understand that searching a menu to find what you want, then launching the program, searching the dialog box for what you are after, then applying the task can take longer and be more confusing.

      Though the GUI is the primary interface for most tasks, as it should be, it certainly is nice to know that the quick commands are available to simplify my day, to be that convenient convenience that allows me to get some tasks completed, without running around.

      --
      You can lead a man with reason but you can't make him think.
    83. Re:First post by arth1 · · Score: 1

      Really, how much has TCP/IP or DNS changed significantly (with the possible exception of IP6 actually starting to be used) in the last 20 years?

      Enough that when I asked an "admin" to add a SRV and a couple of SSHFP records, he couldn't do it with his old GUI tool, and was stymied.

    84. Re:First post by aix+tom · · Score: 1

      Of course, there are also a lot of turnkey solutions out there that you can get up and running in minutes by editing a configuration file with comments and examples. Which even let's you copy/paste larger blocks of settings than a web GUI with single text fields.

      And it has the added benefit that you can save a "known good" configuration file before you start to fiddle around.

      What I rally like is a mixed approach. Like Oracles Management Console, or AIX's Smitty, Or even Microsoft Newer SQL Server Management tools. A GUI that let's you view the organized configuration, and whenever you want to "do" something you have the option to either "do it now" or an extra button to "create the code to do it".

      That way they have combined the better overview capabilities of a GUI *and* the scripting power of a command line.

    85. Re:First post by Creepy · · Score: 1

      man is deprecated - you should be using info instead, or so I have read.

      Personally I can't stand info - it runs in emacs, and while emacs is incredibly powerful and flexible for customization, it is also slow starting, even on modern hardware, HORRIFICALLY un-user friendly unless you run it with a front-end (GUI or pseudo-gui like info), and the gui front-end adds to the horrific slowness. No, I'm not advocating vi, either - that is horrifically un-user friendly also (but OTOH at least I don't have to go play 18 holes while I wait for it to start). There was a time where I used the simple text editor Jot on an SGI IRIX just because it was easy to use and didn't take me 4 1/2 hours to learn how to do something simple, like, say save (note that info was hard to get at that time - the gui browser hadn't even been invented, but http existed). My point is, for 99.999% of purposes I need a text editor to simply edit text, not to, say, make cheeseburgers, and emacs could probably be customized to make cheeseburgers if you really wanted it to do that. I not only don't want one bloated tool that does everything, I don't need one tool for doing everything - I'd rather have a custom tool that does the job in 1/2 the time and is 500x easier to use.

      Note that I did learn vi and emacs because I had teachers that required that we learn and use them because they were zealots and put questions in their tests on how to do certain things. For simple edits I still use vi from time to time, but for complex editing like code I vastly prefer modern gui based tools to either of those (tools vary by platform, i.e. notepad++ on Windows).

    86. Re:First post by next_ghost · · Score: 1

      You know, if Microsoft made cars, those cars would only have steering wheel. No shift lever, no pedals, no other controls or displays, just the steering wheel. And their marketing would claim that those extra controls and displays are only for professional racers and that the only thing average driver needs is the ability to hold and turn the steering wheel and that driving school is just waste of time and money.

      This is how retarded the claim "GUI's all we're ever going to need from now on" is. CLI's here to stay. GUI can't replace CLI as well as CLI can't replace GUI. CLI is simply too powerful tool to dismiss it as obsolete. And its use is no more arcane than using the shift lever properly in a car with manual gearbox. Everybody can learn to do it, all it takes is just to try a few times.

    87. Re:First post by Just+Some+Guy · · Score: 1

      When I see one anywhere. Example use case: when I had a landline, getting home and wondering who called from a number showing on Caller ID.

      --
      Dewey, what part of this looks like authorities should be involved?
    88. Re:First post by pugugly · · Score: 1

      And, yeah - if you're doing something once only, the advantages of a CLI don't come into it. I'll even go so far as to say you do many more unique things that the GUI makes easier than repeated thing that you should be using a CLI for.

      But when you need to automate a task to do the same thing time after time? Yeah, I need to Google the commands, but it's worth it because then I never need to touch it again. And that's not a problem with not having a 'smarter' CLI, that's a problem with my having to give the kind of explicit step by step instructions a 'smarter' CLI will goof up because of some highly intelligent mistake-correcting algorithm that assumes it knows what any sane person would be doing.

      No - when you want it done consistently when you're not there to watch it, the only good GUI is an interface to a nice stupid CLI that knows how to follow orders.

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    89. Re:First post by pugugly · · Score: 1

      Anyone that has used Image Magick could tell you why this example might *not* be a poor one.

      Yes, a free, massively powerful CLI image editor.

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    90. Re:First post by TheLink · · Score: 1

      I can get up and running with FreeNAS in about 10 minutes with its GUI

      A decent GUI is often better when you're configuring one machine for the first time.

      A decent CLI is usually better when you're configuring 100 machines.

      A CLI is typically better when you're configuring one machine via a crappy network connection.

      The other issue with GUIs is most developers creating GUIs often don't care about expert users - they just create GUIs for "beginner" level users. They do not create ways for expert users to do things much much faster.

      The exceptions are some game GUI developers who create GUIs that allow experts to perform very many actions per second, while still allowing beginners to play the game without too steep a learning curve.

      IMO a Desktop GUI sucks if expert users can manage tasks/"windows" faster with "screen" (yep that ancient software).

      --
    91. Re:First post by Culture20 · · Score: 1

      I'm saying it's a poor example because GUI batch-processors exist for image editing. Even if image magick didn't exist, there's gimp-lisp or gimp-perl or a hundred other CLI methods. But GUI advocates point to photoshop GUI batch and say: "see? look! GUI is powerful too!", totally ignoring that editing images is the _only_ thing that the batch processor can do, and that the batch processing is a specific component in the program, not the overall interface, whereas image magick/gimp-lisp is only one amongst bajillions of things that a CLI can batch process.

    92. Re:First post by Rhacman · · Score: 1

      There needs to be a way to moderate a post so that it gains a golden shimmering frame and the rest of the thread is greyed out.

      --
      Account -> Discussions -> Disable Sigs
    93. Re:First post by sjames · · Score: 1

      For people not doing computer admin or programming, I wouldn't go that far, but after watching someone slavishly renaming a big folder of files one by one in Windows when a single bash command line could have done it in seconds, I would say anyone could benefit from having a bit better understanding of the tools they use every single day and will continue using for the rest of their working life at least.

      I know it can be done, many people used to manage in DOS back when windows was too painfully slow and buggy to even use.

    94. Re:First post by sjames · · Score: 1

      My ideal desktop is a command line in an xterm. GUI when it makes sense, CLI the rest of the time.

      If you're editing one image, use GUI. If you have thousands, the process you mention is a net time saver.

    95. Re:First post by ncc74656 · · Score: 1

      Man, that's one thing I wish I could do on my iPhone. Whenever I see a phone number that looks familiar, I'd like to be able to search for it in my contacts list.

      Bring up the dialpad in the phone app. Key in the number. If it's in your contacts, it'll tell you which entry contains the number.

      --
      20 January 2017: the End of an Error.
    96. Re:First post by JimFive · · Score: 1

      If we had smarter more adaptable CLIs people would be far more familiar instead you find out you missed a comma somewhere and it takes you 5 minutes to track that down. Or you try to figure out if adjusting contrast is even a function at all.

      Many years ago there was a shell for the Macintosh (pre OSX) called MPW. One of the features of this shell was a tool called "Commando". You would type in the command name and press a hotkey and a dialog showing all of the parameters would show up. You would enter the parameters and when you exited the commando window the full command line would return to the shell ready for you to execute, or read and learn, or copy into a script.

      I've occasionally thought that a good OSS project would be to create similar functionality in linux with a generic front end that read specially formatted help data to build the commando box and return the command line. Ideally, a standardized option flag like ls --commando would return a formatted string (possibly XML) that the commando interface would interpret for building the dialog box. Alternatively, the commando options string could be stored in a separate location so that it could be added without changing the tools.
      --
      JimFive

      --
      Please stop using the word theory when you mean hypothesis.
    97. Re:First post by DarkOx · · Score: 1

      your doing it stupid is the problem. It should have gone like this:

      apropos image resize
      man ImageProcessor
      [alt]-[f2]
      imageProcessor -scale [alt]-[f1] [alt]-[f2] -filter (contrast,1.1) ...

      Mind you those VT switches are infinitively faster than you could hope to switch windows in a GUI, even with [alt]-[tab]

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    98. Re:First post by LordLimecat · · Score: 1

      If youve ever used ADSIEdit, and tried using command-line analogues; or used Exchange 2003's System Manager to set up a routing group, vs using power shell to do the same in 2007, you know that for about 80% of use cases, the GUI is easier and quicker.

    99. Re:First post by Haeleth · · Score: 1

      Apples, oranges. Yes, GUIs are nice for one-offs. But they suck when you want to perform the operation more than once.

      I cry every time I see an office which performs routine tasks by having a human manually follow a list of instructions: open this program, click on this, this, and this, edit, copy, go to this other program, paste, click ...

      People have practically wept tears of joy when I've shown them the magic of scripts. An hour spent wrestling with obtuse documentation is time well spent if it's going to save someone five minutes of error-prone clicking every day.

    100. Re:First post by Haeleth · · Score: 1

      Save yourself a keypress - just C-u or C-1 is fine, C-u 1 is redundant.

    101. Re:First post by cavreader · · Score: 1

      Some people have better things to do than learning how to use a CLI with a GUI sitting right in front of them that can basically accomplish the same tasks. Now the server admins and network engineers are another matter. They use a CLI effectively because they specialize in the field and do take the time to learn the CLI.

    102. Re:First post by darkpixel2k · · Score: 1

      Re:administering networks- Really, how much has TCP/IP

      Classless addressing. syn cookies, qos, etc...

      or DNS changed significantly (with the possible exception of IP6 actually starting to be used) in the last 20 years?

      DNSSEC, EDNS, etc...

      --
      There's no place like ::1 (I've completed my transition to IPv6)
    103. Re:First post by NateTech · · Score: 1

      Ooh. Loading FreeNAS. L33t sk1llZ

      Try writing FreeNAS.

      --
      +++OK ATH
    104. Re:First post by MareLooke · · Score: 1

      Agree a million percent. I don't know how decided that "natural language" should be preferred for CLI, but they ought to be kicked in the nuts.

      The same people that thought COBOL was a good idea, no doubt.

    105. Re:First post by next_ghost · · Score: 1

      Those people either use computer only as a glorified typewriter or they don't value their time. GUI works fine for one-off tasks or tasks which require a lot of human input from the beginning to the end. But when you're doing a task where you have to apply identical non-trivial changes to hundreds or thousands of data units (be it lines of text, files, directories or whatever else), GUI fails miserably at both performance and accuracy. The difference becomes hours of mindless clicking vs hacking together a simple script in a few minutes and going for a cup of coffee while it runs. The bonus is that the script can be reused immediately when you have to do this or similar task again.

    106. Re:First post by billcopc · · Score: 1

      Uphill, both ways, in a blizzard, covered in petrol, on FIRE ?

      --
      -Billco, Fnarg.com
    107. Re:First post by Mister+Whirly · · Score: 1

      That really isn't that much in a span of over 20 years - especially when dealing with technology.

      --
      "But this one goes to 11!"
    108. Re:First post by zippthorne · · Score: 1

      I've been using linux at home on-and-off since 1999. Always the "easy" distributions: Mandrake, Red Hat, Ubuntu. I currently have an OS X laptop with ubuntu in a virtual machine for tinkering with.

      The only thing I have ever found in info that wasn't a reprint of its manpage was coreutils. And the coreutils documentation is quite good, btw, although it seems that it only exists with gnu unix tool sets and not BSD ones....

      Agreed on Vi, at least for the common languages. For less popular languages that don't have good IDEs, vim is still quite a good choice.

      --
      Can you be Even More Awesome?!
  2. Nobody needs a GUI or CLI by Anonymous Coward · · Score: 0

    You should just be able to talk to your computer and get whatever results you want.

    1. Re:Nobody needs a GUI or CLI by Hatta · · Score: 1

      The spoken word is just an auditory CLI. We operate those around us via commands (and requests, and interrogatives, but you get the idea) every day. I expect you'd find it quite unusual if someone tried to get you to do something just by pointing and clicking.

      --
      Give me Classic Slashdot or give me death!
    2. Re:Nobody needs a GUI or CLI by ron_ivi · · Score: 3, Insightful

      Some UI may go this way eventually, but I imagine most written/typed communication is still incredibly valuable.

      I imagine it won't be long before we communicate with computers very much the same way we do with people.

      For casual simple tasks, that means mostly voice (which computers suck at today) and a bit of gestures (which computers are OK at with a mouse).

      For anything complex, though, communication between humans is typically written - and I expect it'll continue to be so for computers for as long as people interact with them -- not because it's great for the computer, but because it's the best humans come to a high-bandwidth precise recordable communication channel.

    3. Re:Nobody needs a GUI or CLI by MrEricSir · · Score: 1

      The spoken word is just an auditory CLI.

      They must have an incredibly advanced command line parser on Star Trek ships.

      --
      There's no -1 for "I don't get it."
    4. Re:Nobody needs a GUI or CLI by suso · · Score: 3, Interesting

      The frustration of doing this was foreseen by some of the writers of Star Trek. If you watch some TNG episodes where Geordi interacts with the computer, you'll see him getting frustrated with it not understanding what he wants. I always felt that Geordi was a lot like an IT engineer of today.

      We may be able to talk to computers, but I imagine it will be very hard to get them to the point that they understand each of our individual expectations. Even once we think they are comprehending, they still won't.

    5. Re:Nobody needs a GUI or CLI by biryokumaru · · Score: 0

      Even once we think they are comprehending, they still won't.

      How can you prove that humans comprehend anything and aren't just really convincingly passing a constant Turing test? You can't say a convincing simulation of comprehension is distinctly different from actual comprehension unless you can test the difference. Thus the idea of a Turing test: a perfect simulation of comprehension is comprehension.

      You give humans too much credit.

      --
      When you're afraid to download music illegally in your own home, then the terrorists have won!
    6. Re:Nobody needs a GUI or CLI by suso · · Score: 1

      You give humans too much credit.

      Obviously so do you since you didn't understand that I wasn't talking about humans comprehending humans. I was talking about computers comprehending humans. But you made your point.

    7. Re:Nobody needs a GUI or CLI by Weezul · · Score: 2

      Yes, but you'll likely end up specifying the verbal commands in a spoken language that's actually a semi-strongly typed pure functional language inspired by Haskell. Oops silly me! I forgot how to define the commutation relation between my xml parser monad and my route updater monad.

      http://yaxu.org/category/haskell/

      --
      The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
    8. Re:Nobody needs a GUI or CLI by skids · · Score: 1

      Which makes singing GUI? I suppose one could guide a mouse with pitch.

    9. Re:Nobody needs a GUI or CLI by mrchaotica · · Score: 1

      It's set 300 years in the future; what'd you expect?!

      Besides, that's just natural language parsing and AI. What's really impressive are the psychic doors!

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    10. Re:Nobody needs a GUI or CLI by couchslug · · Score: 1

      Speech is less precise than typing, just as a GUI is less precise than typing.
      Granular control requires precise input.

      --
      "This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
    11. Re:Nobody needs a GUI or CLI by narcc · · Score: 1

      What's really impressive are the psychic doors!

      Boy are you going to be amazed when you return from the 1970's

    12. Re:Nobody needs a GUI or CLI by narcc · · Score: 1

      Big yawn to your solipsism. Philosophy moved on a long time ago.

    13. Re:Nobody needs a GUI or CLI by drsmithy · · Score: 1

      The spoken word is just an auditory CLI. We operate those around us via commands (and requests, and interrogatives, but you get the idea) every day. I expect you'd find it quite unusual if someone tried to get you to do something just by pointing and clicking.

      Most people understand that body language and intonation are critical parts of effective communication.

      (Not to mention the problems of giving commands to someone who doesn't speak the same language as you.)

    14. Re:Nobody needs a GUI or CLI by MrEricSir · · Score: 1

      What's depressing is that WD-40 doesn't exist in the future to fix that sound they always make.

      You'd think Starfleet would be suing whatever contractor made those damn things.

      --
      There's no -1 for "I don't get it."
    15. Re:Nobody needs a GUI or CLI by Culture20 · · Score: 1

      If you watch some TNG episodes where Geordi interacts with the computer, you'll see him getting frustrated with it not understanding what he wants.

      Geordi: "Computer, in the Holmesian style, create a mystery to confound Data with an opponent who has the ability to defeat him."
      Computer Voice: "Define parameters of the program."
      Dr. Pulaski: "What does that mean?"
      Geordi: "The computer wants to know how far to take the game."
      Dr. Pulaski: "You mean it's giving you a chance to limit your risk."
      Geordi: "No, the parameters will be whatever is necessary in order to accomplish the directive. Create an adversary capable of defeating Data."

      Pity it was a Pulaski episode.

    16. Re:Nobody needs a GUI or CLI by BoberFett · · Score: 1

      Actually, the doors are completely silent but because the ADA is still in place 300 years from now due to political stagnation, the specs required a separate sound system to be installed with each door notifying blind crewmembers (pre-Geordi-banana-clip) that the door had opened.

    17. Re:Nobody needs a GUI or CLI by plover · · Score: 1

      I think Starfleet should be suing the contractor for not putting in seatbelts. I mean, really, it's common sense. If your inertial dampeners aren't 100% effective, and let some of those tiny shudders through when you take a few shots from a Romulan ship, you'd think the captain would like to stay in his chair for more than 60 minutes or so.

      --
      John
    18. Re:Nobody needs a GUI or CLI by cpghost · · Score: 1

      It's set 300 years in the future; what'd you expect?!

      But this voice interface CLI exists today already and is widespread in a military setting. The only difference is that the orders are not parsed by a computer.

      --
      cpghost at Cordula's Web.
    19. Re:Nobody needs a GUI or CLI by mrchaotica · · Score: 1

      No, you don't get it. The doors aren't merely automatic like we have now; they somehow know to open if you want to walk through them or stay closed if you want to lean against them instead.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    20. Re:Nobody needs a GUI or CLI by Anonymous Coward · · Score: 0

      I kinda like to see some results, even if I don't have to directly manipulate the GUI to obtain the results, displaying the results still counts as a GUI.

    21. Re:Nobody needs a GUI or CLI by multisync · · Score: 1

      Is that why point and click cameras play a recording of the sound of a shutter opening and closing by default?

      --
      I don't care why you're posting AC
    22. Re:Nobody needs a GUI or CLI by narcc · · Score: 1

      Neat. I'll be watching for that now!

    23. Re:Nobody needs a GUI or CLI by BoberFett · · Score: 1

      Think of the blind photographers!

    24. Re:Nobody needs a GUI or CLI by MrEricSir · · Score: 1

      Maybe, but that still doesn't explain why Microsoft Office still uses a floppy disk icon to mean "save."

      --
      There's no -1 for "I don't get it."
    25. Re:Nobody needs a GUI or CLI by MareLooke · · Score: 1

      User: delete the temp folder. Computer: are you sure? User: Yes Computer: are you really sure? User: Yes, I'm really sure Computer: are you really really sure? User: just delete the fucking folder already. computer: porn folder deleted. User: aarrrgghh!!!!

    26. Re:Nobody needs a GUI or CLI by The+Wild+Norseman · · Score: 1

      I expect you'd find it quite unusual if someone tried to get you to do something just by pointing and clicking.

      You've never been married, have you?

      --
      "A government is a body of people usually -- notably -- ungoverned." -Shepherd Book
  3. This, perhaps... by troff · · Score: 5, Insightful

    ... speaks more of the admins who assume that "CLI" == "C:\ prompt".
    Or the idiots who think "CLI" == "the GUI in front of me is therefore made unusable". The people at "GUI Industries" can't make a link or shortcut to the appropriate script?

    Why would you trust an admin who can't, as TFA indicates, edit a text file?

    1. Re:This, perhaps... by vossjames · · Score: 0

      Agreed

    2. Re:This, perhaps... by NFN_NLN · · Score: 3, Insightful

      GUI = makes it easy to do one off tasks, because the interface can be made intuitive.
      CLI = makes it easy to do repetitive tasks, because they can be easily scripted.

      Even repetitive image manipulation is best achieved with scripted command line tools. Don't believe for a second someone had inserts watermarks into photos!

    3. Re:This, perhaps... by residieu · · Score: 1

      /usr/bin/yes

    4. Re:This, perhaps... by msobkow · · Score: 3, Insightful

      I rely heavily on scripting for one reason: scripts can be captured in version management repositories. GUI interactions can't.

      Aside from that, my database creation scripts are huge. I'd hate to have to open each script in a GUI tool to run it instead of being able to run them all as a batch (as intended) through a bash script (which in turn invokes the compent bash scripts that actually invoke the database CLI.)

      --
      I do not fail; I succeed at finding out what does not work.
    5. Re:This, perhaps... by Anonymous Coward · · Score: 0

      Psst, the good GUI SQL Management utils, actually let you run batches of scripts.

      This guys article is crap. A well written GUI will be just as effective as a well written CLI.

      If his point is that a well written CLI is better than poorly written GUI, well..... bravo.

    6. Re:This, perhaps... by 19thNervousBreakdown · · Score: 5, Insightful

      Why would you trust an admin who can't, as TFA indicates, edit a text file?

      Or write a safe regex:

      $ echo '123a123b123c123' | sed 's/123.123.123./321.321.321./g'
      321.321.321.123

      Gotta love the way he hand-waved the "half hour on a Wednesday" to do the whole transition, too. As someone who's done it, it is never, ever, ever that simple. Have fun finding bugs like the above, fixing them, finding out that your fix invalidates your entire solution, approaching it from a different angle, looking up an obscure syntax you can't remember even though you use sed/awk/grep every day, finding out you've got a slightly older version or yours wasn't compiled with --enable-double-buttgrep ... sure, the "30 minutes" sounds great when you're trying to make a point, but it also sounds ridiculous to anyone who's actually done it twice.

      I love me some CLI, and I'd lose my mind if I didn't have it available, but promoting either one to the exclusion of the other is asanine.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    7. Re:This, perhaps... by sarysa · · Score: 5, Insightful

      It seems that the one thing that bash-fu black belts and complete novices have in common is that they don't realize both can be used in parallel...

      --
      Charisma is the measure of someone's ability to lie with a straight face.
    8. Re:This, perhaps... by wagnerrp · · Score: 1

      The point is that the well written GUI has to plan for any and every contingency that might happen. You can write a GUI that would allow you to accomplish everything you otherwise could on a CLI, but you're talking an order of magnitude longer development time. It's simply not profitable to do so. You either end up with a similarly priced product with a small subset of the capability, or a similarly capable product for considerable higher cost.

    9. Re:This, perhaps... by erroneus · · Score: 2

      So is it any wonder that most GUI applications ALSO have command-line switches for modes and other such things?

      The art of the GUI is to be Zen about it -- to do the most with the least complicated interface. It's a balance -- keeping it clean, clear and simple.

      CLI uses anywhere from 0 to x options and can be as simple or as complex as needed. Hell, the output of one CLI action can be the input for the next. "find /
        grep" gets used a lot in spite of the fact that there are most definitely "better ways" out there. This simply can't be done in GUI land -- everything must be planned from beginning to end in GUI land.

      GUI most definitely has limits that CLI doesn't. And does CLI have limits which are surpassed by GUI? Not really, no.

    10. Re:This, perhaps... by Anonymous Coward · · Score: 2, Insightful

      I think you are looking at it in the wrong light.

      The GUI would certainly take longer to develop. No question. Thing thing it is tends to save a lot of time on the end user side of things. That's where that 10x extra development time is paid back many fold more.

      I've developed in open source text editors and in Visual Studio. I'd pay for VS in a heartbeat because of the time it saves in coding.

      Spend 10x more time developing the good GUI, charge the same as the CLI only product, you'll find you might generate 1000x more sales because your product is much easier to use than the CLI only competition.

    11. Re:This, perhaps... by mrchaotica · · Score: 1

      That makes me think we need a Linux equivalent of Automator

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    12. Re:This, perhaps... by WorBlux · · Score: 1

      Don't forget

      GUI- Lets you use less memory stress to achieve common tasks

      CLI-Lets you do obscure tasks without banging your head into the wall

    13. Re:This, perhaps... by EdIII · · Score: 1

      Thank you for saying that.

      I grew up with the CLI. My first OS was a CLI. When a GUI came around it might as well have been the Matrix.

      At this point on a daily basis I may have a half-dozen SSH shells opened up to various Linux boxes and I can get a lot of work done just through them.

      On the same daily basis I use a GUI to do code development. I don't want to imagine how difficult it would be to rapidly switch between open files, save them, explore classes, link to references, etc. *without a GUI*.

      There is nothing wrong with either approach when used appropriately. I do think an admin that has no understanding of how to get work done in a CLI is not as valuable and knowledgeable as one who does, but the the summary seems to condemn GUI's which is just plain strange.

    14. Re:This, perhaps... by jedidiah · · Score: 1

      No. I think the script-fu masters know full well that both can be used in parallel. The script-fu masters were probably using GUIs when "normal users" were still flagellating themselves with DOS prompts.

      Yes. We were using GUIs first. We always used CLI's that weren't crap. We continue to use good CLI's even though they may seem passe.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    15. Re:This, perhaps... by Anonymous Coward · · Score: 0

      And does CLI have limits which are surpassed by GUI?

      Ease of use. A good GUI is laid out in a way that helps organize things so that different options can be quickly found and selected. Learning the different possible command line flags just takes more time. This is especially important for apps that are infrequently used. If you use something only a few times a year, learning a bunch of intricate flags is probably not an investment of time you want to make.

      Just today an M.D. friend of mine was asking what I knew about a commercial product. I thought the commercial product was ok, but I pointed hit toward some open source software that I thought would do the job because I new he didn't have much of a budget for the project, although it would take a little bit more effort for him to learn/use. He decided to go with the commercial app just for the time savings of have the better polished interface. The quote was "I don't have time to learn that $&!^!. I have better things to do.".

      If you use a tool often enough that learning all the possible flags, etc, is worth it, then the CLI is great. But the ease of use of GUI is one way that it can surpass the CLI.

    16. Re:This, perhaps... by im_thatoneguy · · Score: 1

      I would agree with this. Everything should have a CLI interface so that you can automate tasks. But having written the Command Line command to setup this process before by hand and with a GUI... I wish I could export the CLI from the GUI even for repetitive tasks:

      http://4.bp.blogspot.com/_ooCU0_gc-LQ/RsImsnv1ZzI/AAAAAAAAACk/-XeUsdemoCU/s1600-h/024-Turning-on-Skylight.jpg

      And that for example is the summarized "Dashboard" of options.

      If you wanted to use a command line to run that you would be reading the manual on how to format your CLI string for months and probably still have bugs.

      Take just the image filtering in that image... I can't name off the top of my head all of the options, but I'll know the one I want when I see it.

      CLIs are great for really simple quick commands. They're a total disaster when they're more than few characters.

      e.g. render sampling_min 0 sampling max 2 -filtering catmull_rom -blur 0.3 -ringing 0.33 -default_lighting true -shadows true -GI true -render_cache true -render_cache_min_sampling '-3' -render_cache_max_sampling '-2' -Generator_exclude ("obj1","obj2","obj3") output "\\file_directory\folder nobody can remember\renders\r01\v03\File_r01_v03_%04d.exr" and on and on and on....

    17. Re:This, perhaps... by MightyYar · · Score: 1

      And does CLI have limits which are surpassed by GUI? Not really, no.

      Well, I certainly end up using the GUI to put the command window and man page side-by-side when composing some of the crazier CLI commands :)

      On a serious note, I find tools like "Grand Perspective" or "SpaceMonger" to be better than df or du for visualizing and managing disk space. When browsing a directory with more than 2 or 3 screens worth of files, I prefer a GUI. Heck, browsing the filesystem in general is preferable with the GUI.

      Even this guy's example of changing a bunch of IP mappings would be easy if the GUI let you dump the mappings into a text file of some kind that you could edit and then re-up. I mean, that's all you are doing when you go tftp -> sed -> tftp.

      I dunno... I frequently drop to the command line, but I also likes me some eyecandy.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    18. Re:This, perhaps... by lennier · · Score: 4, Interesting

      The people at "GUI Industries" can't make a link or shortcut to the appropriate script?

      Yes.

      This is a huge flaw in almost all current GUI models. They've reinvented a whole object/component-based architecture on top of the old process/file-based CLI-accessible portions of the OS, and then provided basically no scriptability of those objects, and even less ways to interface the topmost GUI level to any scripts you do manage to somehow cobble together.

      (Possible noteworthy exception-in-progress being PowerShell 2, Apple Automator (except AppleScript is a horrible language because it tries to be fake-English), and maybe some parts of RiscOS and OS/2. )

      But this object/scripting gap is something I noticed way back in my teens, in the 80s, and couldn't bring myself to believe that the Top Minds in software architecture had missed this glaring oversight. But they had. Apparently everyone was going to either program in raw C++, or click icons, and nothing much in between. Basically there was no thought put into anything like a 'Unix shell' for Finder / Explorer and friends.

      I mean, 5 seconds thought suggests that someone should have come up with a quick visual tool for dragging icons into a box, drawing lines between them, and having that save and load from a text file describing connections between components. And then make that a fundamental part of the OS and build all OS and application GUIs using that. If you ever came across a GUI you wanted to build for an application that couldn't be expressed in that language, then mark it as a bug in the language and extend the language.

      Then we'd have had something approaching the power of Unix scripting for visual desktops, and we would have . But no. We went for a 'all GUIs will be sealed binaries written in low-level assembler or C++" approach. Then we deconstructed the GUI as web pages, and again, first chance we got, we ripped out Tim Berners-Lee's HTML editor component from all web browsers, enforced a hard split between "web server" and "web browser", and once again destroyed the ability for users to do their own interface design and to program their own workflow.

      It's like we have this obsession with making things hard for ourselves just to keep application developers in jobs.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    19. Re:This, perhaps... by Anonymous Coward · · Score: 0

      Not like somebody couldn't make a GUI with an event recorder, make it possible to type in some reg expression in a prompt box for what to name sequential files, etc., and have conditional or repetitive actions. Such a thing works well enough in software like Photoshop (do a search for Photoshop Actions), so if considered well enough ahead of time it is quite possible to do in a GUI-based software. Actually there's also a lot of macros in things like office suite software. (What's funny about Actions and Macros is that a lot of people are willing to pay money for them. I doubt anyone working with a CLI would shell out bucks for one of their scripts.)

      I think the complaint is more about a glaring oversight when looking at existing GUI-based administrative software. The capabilities of the CLI aren't impossible, but just missing. (Which means you're wasting time doing stuff like prompt babysitting, instead of having it know to go "yes, yes, yes, etc." all the way through. Annoying ass things like that. A much better GUI wouldn't just offer sequential prompts during a process, but have an option for long checklist at the start.)

    20. Re:This, perhaps... by lennier · · Score: 4, Insightful

      GUI = makes it easy to do one off tasks, because the interface can be made intuitive.
      CLI = makes it easy to do repetitive tasks, because they can be easily scripted.

      That task split between GUI and CLI is exactly what I think went wrong when GUIs were first designed.

      What we should have done was created a GUI which has exact formal one-for-one-correspondence with the underlying CLI, so that for any given task, you can use the interface of your choice that works for you - or create new graphical interfaces for the special custom jobs you end up doing multiple times.

      And it wouldn't have been that hard to do. GUIs involve message passing, but we chose not to expose those messages as scriptable 'commands' at the same level as a CLI. We hid them and required C++ and other system/application languages to send those messages in full, then exposed a tiny fraction of them to various "scripting languages". But you can't write all applications in scripting languages, so it's a lossy conversion filter.

      The result is, we've got at least three levels to our systems: a reasonably transparent 1960s-batch-system derived command/process/file based layer, an opaque 1980s Smalltalk-derived object/component layer, and finally combined applications/GUI/preference files launched by the 1960s layer which orchestrate the 1980s layer to do stuff. We can't use the 1960s layer (CLI) to do everything the 1980s layer (GUI plus services/components/DLLs) can do, because the 1960s layer has fundamental connection concepts like piping and "everything is a file which is an I/O stream" which simply don't exist in the 1980s "everything is an object" layer. It's impedance mismatch at the OS level.

      The big problem with an impedance mismatch is that you can't solve it by adding more lossy-conversion layers. It can only be really "solved" by creating a new abstraction which has the features of both, but that seems impossible now that we have a huge weight of legacy code. I'd been hoping that Linux in the 2000s would give us some hope of breaking away from the Windows cruft and coming up with a simple unified desktop framework. But GNOME and KDE seem to have just fragmented the situation even more.

      Wish I could see a plausible way out of this mess.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    21. Re:This, perhaps... by Jeremi · · Score: 2, Insightful

      and once again destroyed the ability for users to do their own interface design and to program their own workflow.

      There's a reason for that: 99% of users don't want to do their own interface design, or program their own workflow.

      User interface design, and workflow design, are difficult. Users expect the software developers to have already done that work for them.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    22. Re:This, perhaps... by wmbetts · · Score: 1

      It's pretty simple and quick to do all that with VIM or *ducks* emacs.

      --
      "Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
    23. Re:This, perhaps... by s4m7 · · Score: 1

      I read his article to have two points: 1) devices shouldn't eschew the CLI. 2) admins shouldn't eschew the CLI. He's not saying "never ever use the GUI" but rather that batching, scripting and pipe-toolchain skills have fallen by the wayside, and that people who ignore those skills are screwing themselves. The reason that the good SQL GUI tools act like CLI's is because there's a CLI underneath, and SQL admins expect to be able to DO all that stuff through their GUI, because they know it's there and how to use it.

      --
      This comment is fully compliant with RFC 527.
    24. Re:This, perhaps... by SanityInAnarchy · · Score: 1

      Maybe, but I've always been skeptical of those. CLIs are generally meant to be scripted -- they're both usable in realtime by a competent admin wanting to make a one-off change right now, and a serviceable API.

      Of course, nothing's stopping you from having a GUI to supplement this situation, so long as everything is still possible with the CLI.

      --
      Don't thank God, thank a doctor!
    25. Re:This, perhaps... by Anonymous Coward · · Score: 0

      or everyone who does realise when and how different tools can be used most appropriately for different tasks also realises that the only tools in this discussion are the participants

    26. Re:This, perhaps... by Darinbob · · Score: 1

      Anyone who thinks computing only goes back as far as C:\ probably is not qualified to comment on CLIs.

    27. Re:This, perhaps... by DrgnDancer · · Score: 1

      I wish I could export the CLI from the GUI even for repetitive tasks:

      I know AppleScript and I *think* MS Office VB have the ability to "record" macros and scripts out of GUI activities. Granted AppleScript sucks and Office VB is a like the annoying younger brother of a moderately bad language, but still, it's possible.

      Seems like a nifty Open Source project to write something that will do this in Perl or Python actually. The trick (it seems to me) would be getting the "recorder" to understand what actions you're doing in the GUI across a variety of desktop and software environments. It works for Apple and MS because the scripting language is already part of the environment in question. Iit might be better to have someone like Red Hat, Gnome or KDE build the "recorder" hooks into their management software (Or all three). Then you just write a sort of master compiler that will grab scripted events from compatible software and ignore actions in non-compatible software.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    28. Re:This, perhaps... by EdIII · · Score: 1

      I'm a little confused by your post. Both emacs and vim are GUI. I never actually said what GUI program I use to develop with either :)

      The one I do deal with has SSH shells built right into it, but I prefer something else.

    29. Re:This, perhaps... by Darinbob · · Score: 1

      The difference is that a CLI gives you full access to all tools you can use from the command line (unless it's a really crappy CLI), whereas a GUI almost always only gives you what the designers thought you needed. If there's no menu or button for the option you want, you're out of luck on a GUI, unless it's one of those that lets you stick in some plugins, or lets you pop up a CLI. If you don't have a command that does what you want on a CLI, at least you have Perl or Lua or Python or sh or sed or awk or emacs or if you're really desperate a simple text-only C program. CLIs you customize, GUIs you generally use as-is, though some better ones at least allow plugins.

      GUIs make the easy task easy, and the hard task impossible.

      You can use both at once. But the original article was written in response to people who seemed to act like any use of a CLI was a step backwards.

    30. Re:This, perhaps... by parlancex · · Score: 1

      The catch 22 here however is that the folks writing the software tend to have a poor idea of what constitutes a one off task, and what users may want to automate. I think Microsoft is getting closer to an ideal solution with their modern products; a full programming language powering the scripting backend, and GUI tools that are actually built directly on top of that scripting back end so you're guaranteed that at least the CLI is a superset of the GUI functionality.

    31. Re:This, perhaps... by sconeu · · Score: 1

      So what is this "vim" program I'm using at my Linux console?

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    32. Re:This, perhaps... by fusiongyro · · Score: 2

      Interesting observations. Apple did try to solve this problem with AppleScript, but there were too many unproven ideas in there together. The part you want would have been achieved if it were easy enough to develop with that you could implement your GUI by sending AS messages to your objects. If you run Script Editor on your Mac, you'll see a Record button. That button worked, ostensibly, by snooping the AS events as they were fired by interacting with your GUI.

      I think this failed to take off, or got forgotten, because AppleScript-the-language is a terrible piece of crap as well as because the behind-the-scenes mechanics of making it work are very 1980's indeed: four character message codes at the heart and allowing each application to interpret the grammar as it desires without a common framework adds up to a real stew of misery.

      Having used Smalltalk in the last couple years, I find it very hard to see a resemblance between the 1980's layer we're living with and the 1980's layer we ought to have if Smalltalk had won out. In Smalltalk-land, there are no command line tools not because Smalltalk can't model pipes and files (the stream API is very important) but because writing a GUI is not much work compared to writing a CLI. When you can open a Workspace to create and send messages to your objects directly, or inspect live instances and modify their data or send them messages directly, the need for a terminal emulator is radically diminished. With Morphic, if you don't like the way a GUI button works—or if you want a copy of it—you can inspect it and edit it live, right in the context, find out what it's doing and write code to run it elsewhere. It's equally powerful to scripting, just alien.

      And of course, the modern systems we're living with derive only their most basic aspects from Smalltalk. That moron James Gosling considered the big miracle from Lisp to be garbage collection, so of course the big miracle from Smalltalk was probably something equally trivial that missed the point utterly. Cocoa at least got message selectors. The resemblance is still very faint. Every year someone announces an amazing new Java framework that is capable of doing something Smalltalk was doing in the mid-90's.

      All the same, there is an impedance mismatch here. I quite like how Plan 9 dealt with the mismatch, which is by making the rest of the system work through everything-is-a-file, including the UI, the authentication mechanism, the networking, everything. This must be terrifically handy for scripting, but judging by how thoroughly it's taking over the world, it must have left something to be desired in the compatibility department, and perhaps in the ease-of-programming department as well. (If you look at everything Rob Pike has been involved with, they're all variations on Unix + C with an obsession with parallelism, pretty far from RAD)

      I held out some hope for KDE, mostly because I bought the propaganda about being able to optimize the system and make large changes to it without redoing a bunch of work. In practice, I think KDE did better than GNOME, which with each release seemed to remove more functionality without becoming something newer and better, but KDE is also firmly and obviously trying to recreate and improve on other user interfaces, mainly Windows. Not a lot of radical innovation. I'm back to using FVWM at work, because I wanted something quick, simple, and, haha, scriptable. It's shocking how fast it is on today's hardware.

      I see more of this bullshit coming, not less. Each year the web app situation gets more complex. It won't be long before it gets so complex someone will make a simplifying system on top of it, and we'll jump in and start about making it more complex again. I'm not jazzed about the idea. I hope some people come along and try to rework everything from the ground up, but each year, that becomes a bigger job. I hope, but I have doubts. Plan 9 and BeOS were, I thought, the best shots at making something radically different, but I'm just as disappoint

    33. Re:This, perhaps... by beelsebob · · Score: 1

      The annoying thing is it's written by an idiot who thinks "GUI" == "the CLI in front of me is therefore made less powerful". His argument is not a reason why the CLI is better than the GUI, it's an argument why UI with a search and replace tool is more powerful than one without.

    34. Re:This, perhaps... by sparrowhead · · Score: 1

      There are a ton of tools for almost every operating system and GUI API providing those features. They're called GUI Automation or GUI Test Tools. Linux Desktop Testing Project is just one of them.

    35. Re:This, perhaps... by Anonymous Coward · · Score: 3, Insightful

      That task split between GUI and CLI is exactly what I think went wrong when GUIs were first designed.

      What we should have done was created a GUI which has exact formal one-for-one-correspondence with the underlying CLI, [...]

      And that GUI would be unusable for most of the time. Making a good GUI is not about just slapping together a number of widgets, it is about usability. For example, take curl. It has 139 or something options. A GUI would have to present all of them and if the GUI is to be usable it shouldn't be too hard getting to any of them, that is, it should not be hidden away somewhere deep down. Either you get a very cluttered GUI with every option visible or a GUI that is more suited for a certain task but that is not as good with general tasks.

      I think that the split is exactly what is needed to make the right tool at the right time. There is no silver bullet. For some tasks GUI is superior, for other CLI rules.

      As an analogy, think of communication. Sometimes we prefer written (contracts for example). At other times we prefer verbal (talking to your therapist). You cannot say that there is ONE right way to communicate and all forms of communication should adhere to the same strict doctrine.

      Having said that, it should be obvious that having skill to use BOTH CLI and GUI gives you flexibility and power. The problem today is that too many people are afraid of using a CLI and try to find GUI versions, complaining when they aren't powerful enough. The problem is most likely because of the task they wish to do.

    36. Re:This, perhaps... by DrgnDancer · · Score: 1

      Good to know. I'll check it out.

      --
      I don't need a million points of light, just two points of multi-mode fiber and a 10 Gig-E router.
    37. Re:This, perhaps... by DarkOx · · Score: 1

      I don't think you are right about the impedance mismatch. Objects are just a range of memory that a set of functions is specifically allowed to work on. That range of memory and the on that stores the function for that matter can be thought of as streams which can be abstracted to files. The issue has more to do with your first point that builders of the common GUI platforms did not seek to mirror the objects from the command line.

      Had they build a much of little GUI applets that did one simple thing and did it well we would not have this issue.

      in the CLI there is useradd, usermod, and userdel each of which does a very specific thing. They are orthogonally consistent where it makes sense ie, take the same switches where appropriate but they each do their thing. GUI's almost invariably have a single application for managing users, with a very different work-flow.

      --
      Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
    38. Re:This, perhaps... by starfishsystems · · Score: 1

      What we should have done was created a GUI which has exact formal one-for-one-correspondence with the underlying CLI

      Yes! Someone gets it.

      The characteristic advantage of any CLI is that it's a language. We often refer to languages in terms of their clarity and expressive power, much of which comes from composability. For this reason alone, some CLIs end up being much better languages than others. We need to be aware of this because some people will debate the relative advantages of GUIs and CLIs in terms of some particularly nasty instance of a CLI.

      Properly, the debate is between language (stream of symbols interpreted explicitly through syntax) and non-language (stream of events interpreted tacitly and differently by each application). It's then quite clear which has the advantage.

      Is it possible to build an application which formally couples the GUI and CLI layers? Well, Richard Stallman did it with emacs. And John Osterhout did it with Tcl/Tk. To be clear, these two examples illustrate different aspects of what it means to couple the layers. Because emacs comes preconfigured as a text editor, the binding between GUI and language elements is already made. We can immediately see how it works and begin to extend it. In the case of Tcl/Tk we begin with nothing more than the language interpreter. If we want a GUI, we have to build one. Then it's on us to ensure that a structured relationship exists between the resulting GUI and our functional elements.

      On the other hand, Tcl/Tk has native facilities for unit testing. As you develop a GUI application, you also define a test framework that lets you automatically replay the entire suite of identified use cases without having to involve some unhappy and fallible test user to repetitively point and click. It's not that Tcl/Tk is special in any linguistic sense, it's just that this feature is provided natively, and therefore it's ubiquitous.

      Not only do languages provide composability and repeatability, they are easy to document. Don't you hate having to document how to use a GUI application to accomplish a particular task? I sure do. First click on this, then select this, then fill in this, then ensure that this checkbox is in some state or other. Gah. It's an agony to write, there is no formal notation to aid the process, it can't be automatically replayed to verify that what you've written is in fact correct, and whether or not you load it full of attractive screen shots, almost none of your intended audience is going to read it anyway.

      Documenting a CLI application is much more representative of actually using the application. You can write precisely what is to be done. Formal notations for the documentation metalanguage are widely understood, and in any case can be described in a couple of paragraphs. And, if your particular use of the application is dauntingly complex to describe in this way, you write a script for it, and document how to run that script instead. Try doing that with a GUI.

      --
      Parity: What to do when the weekend comes.
    39. Re:This, perhaps... by Anonymous Coward · · Score: 0

      Pretty much like Microsoft have done. The Office applications (and many others) have an internal object model that can be manipulated using any language that has a COM binding (i.e. basically every language implementation on Windows). The UI manipulates the same object model, and recording a macro from the UI records the object manipulations in VBA script. It's not a CLI but it is fully scriptable.

      Apart from scripting application object models, it also allows code libraries (e.g. an XML parser) to be used from any language without writing a binding. COM interfaces called from a compiled language add negligible overhead. In other words, if you write a library with a COM interface it can be used from any other language immediately. It really is a shame that Linux doesn't offer something similar.

      This technology is more than a decade old. The new abstraction that lets you pipe objects between processes is PowerShell. It's based on .Net, and if the Midori operating system project succeeds it will be part of the OS.

      Microsoft might be evil, but some of their technology is very good. More than that, it's the almost universal support (e.g. practically every language supports COM) that makes it incredibly useful.

    40. Re:This, perhaps... by Subliminalbits · · Score: 1

      Emacs and Vim have GUIs, and they are named xemacs and gvim respectively. I program with a GUI as well, but you can move around pretty quick with the command line versions of these tools once you learn the right shortcuts.

    41. Re:This, perhaps... by marcosdumay · · Score: 1

      That was because those systems weren't creaetd by the "Top Minds in software architecture", those minds were busy working on how to improve software in general to pay attention to the GUI, and they still are. The GUI was created by average* developpers, working for money driven** companies. And those made a system that sells well, not one that behaves well. That this same model survived into the FOSS era is disturbing, but lots of things that shouldn't, survived, mainly because it is hard to break a paradigm. Also, the fat that computers used to be slow and have too little memory made the hightly optimized GUI competitive, and it can't be hightly optimized and fully scriptable at the same time... That means, GUIs appeared a bit earlier than they should have. Now, both barriers did go away, and we can start trying to break the paradigm.

      * Ok, probably way above average, but that is just because the average is so skewed that the average developper probably won't know how to use booleans, and be confused by the hight variety of control structures available to him. Not top minds, anyway.

      ** That is a redundancy, I know, but makes the point clearer.

      "It's like we have this obsession with making things hard for ourselves just to keep application developers in jobs."

      That is nice, sincce it appears to be exactly the case.

    42. Re:This, perhaps... by Fishbulb · · Score: 1

      What we should have done was created a GUI which has exact formal one-for-one-correspondence with the underlying CLI, so that for any given task, you can use the interface of your choice that works for you - or create new graphical interfaces for the special custom jobs you end up doing multiple times.

      It was called AREXX and it was astoundingly powerful. Unfortunately, it (and the interface layer that went into many, many Amiga apps) never really made it beyond the Amiga. Most apps just recreated their GUI interface so you would essentially tell the script "File Menu -> Save As... -> Filename", etc, etc. And since AmigaDOS was multitasking, AREXX was as well - the script could run a terminal program, call a BBS, download a file, open another application (or two) to manipulate the file, and send the file back up to the BBS without having to shutdown the terminal app and redial into the BBS.

      In the late 80's.

    43. Re:This, perhaps... by feaglin · · Score: 1

      GUI = makes it easy to do one off tasks, because the interface can be made intuitive.
      CLI = makes it easy to do repetitive tasks, because they can be easily scripted.

      Even repetitive image manipulation is best achieved with scripted command line tools. Don't believe for a second someone had inserts watermarks into photos!

      Microsoft (of all companies) is doing this now with Powershell. It's now part of the "Common Engineering Criteria" for all server software (I think just server) to have every action in a GUI have a Powershell cmlet or script behind it that get's executed. Also, you can right-click on the button to see the Powershell code behind the button. This already exists the current version of Exchange and some others, and will eventually come out for the rest of the apps as they roll through release cycles.

      Also, Cisco's UCS Manager is based on an XML API, and every click executes an XML API script. You can right-click on those buttons to see the script, also.

      Some people are getting it.

    44. Re:This, perhaps... by Teckla · · Score: 1

      What we should have done was created a GUI which has exact formal one-for-one-correspondence with the underlying CLI, so that for any given task, you can use the interface of your choice that works for you - or create new graphical interfaces for the special custom jobs you end up doing multiple times.

      This has been done. On the AS/400, for example, you can type in the name of a program and hit F4. From there, you get a GUI-ish interface where you populate all the named parameters with your desired values. Need help on a parameter? Press F1.

      When you are done, and actually execute the command, the entire command line is generated, so you can copy and paste that into scripts, or what have you.

      Welcome to decades ago. :-)

    45. Re:This, perhaps... by suutar · · Score: 1

      That was one of the things I liked about AIX's gui system management tool (SAM, I think it was?) You could have it display the command lines it was using to do stuff.

    46. Re:This, perhaps... by snadrus · · Score: 1

      I've dealt with some video converter in Linux which was so thin a layer that on the final "Convert" buttonpress you'd see the command line tools called and their results in a twisty. The GUI say % complete notices and updated the progress bar if you didn't want the terminal visible. I always thought that made superior tools since I could copy out the command and use it manually. Doxygen is similar where their GUI just makes a plaintext file that: "doxygen plaintext_config_file" can then run. In both of these, a GUI is basically a man page. Instead of RTFM we could say: Learn by GUI. That's where I'd like to see GUI going.

      --
      Science & open-source build trust from peer review. Learn systems you can trust.
    47. Re:This, perhaps... by suutar · · Score: 1

      I was wrong, it was 'smit'. 'sam' was HP-UX.

    48. Re:This, perhaps... by Tablizer · · Score: 1

      It seems that the one thing that bash-fu black belts and complete novices have in common is that they don't realize both can be used in parallel...

      Indeed! The problem is that GUI engines are generally not designed around this idea. We need a good standard that not only makes it possible to (optionally) build GUI's from a command line, but also control such GUI's from the command line. The existing kits tend to be propriety, and/or tied to a specific programming language and/or use a binary object model. TK comes fairly close, but I'd like to see something that can also be represented easily as XML as an option.

      Executing a command may be as simple as:


      set formX.textBoxA = "foo" // parameter 1
      set formX.textBoxB = "7" // parameter 2
      event "press" formX.buttonY // click the button

      Equivalent "event" XML may resemble:
      // curly's instead of angle brackets used to avoid confusing slashdot
      {form id=formX}
          {textbox id=textBoxA value="foo"}
          {textbox id=textBoxB value="7"}
          {event type="press" targetid="buttonY"}
      {/form}

      This way an explicit command language doesn't have to be created in addition to the GUI. One can use the GUI more or less as-is to "run" stuff from a command line.

    49. Re:This, perhaps... by Anonymous Coward · · Score: 0

      Since I am forced to use Windows at work, I use Emacs to obtain a command line.

    50. Re:This, perhaps... by Anonymous Coward · · Score: 0

      GUI = makes it easy to do repetitive tasks, because they make immediatelyavailable a small subset of often used commands.
      CLI = makes it easy to do one off tasks, because the interface makes it easy to use a vast catalog of individual functionality.

      Point is, GUI's can offer programmablity just as much as a CLI, but often doesn't because of bad design. CLI often fails horibly at being usefull due to the insistence on staying completely textbased and offloading anything graphical to individual programs.

      The perfect match? Well what about a graphical command line user interface. Ohh, hello Mathematica, didn't see you standing there for the last 25 years. Now if only they would implement a proper command window and better shell-script integration.

    51. Re:This, perhaps... by Risen888 · · Score: 1

      tends to save a lot of time on the end user side of things.

      Really? Let's delete a file. Let's say, ~/documents/foo.txt. Ready?

      GUI:
      * Alt-F2
      * Type "dolphin," hit enter, Dolphin opens in ~
      * Click the documents folder, then do one of the following:
            ** Click the plus sign on the foo.txt icon
            ** Hit delete
      OR
            ** Right click the foo.txt icon
            ** Select "Move to trash"
      THEN
      * Right click the trash can
      * Select "Empty trash"

      Done!

      Okay, now let's do it bash.

      * rm ~/documents/foo.txt

      Done!

      Would you like to re-examine your statement?

      --
      Hey, I finally got my first freak! Took you long enough!
    52. Re:This, perhaps... by Anonymous Coward · · Score: 0

      See the part in the argument you are 'refuting' about saving a lot of time, not negligible time?
      See that your example is regarding deleting files, something that common users rarely do anyway?
      See that your GUI version assumes that the user isn't already within the context of the file, when they normally would be, and assumes that the user obsessively-compulsively empties the trash after every file they delete, which they normally wouldn't and defeats the whole purpose of the trash anyway?

    53. Re:This, perhaps... by badkarmadayaccount · · Score: 1

      I think the GPP meant that all options and actions in the GUI should be implemented as commands to the internal application shell (like yum shell), sent on a pipe to stdin, possibly in an MVC pattern (thankfully, Unix implements the data model - byte streams it may be, but it is something you can rely on, not to mention that the command line application shell is going to have such semantics anyway). I, for one, really respect the mandriva control panel, at least, in the shape I used in PCLOS 2007 - when configuring the system, you simply saw the command to be executed take shape in front of your eyes, at the bottom of the window.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    54. Re:This, perhaps... by badkarmadayaccount · · Score: 1

      That is why we have greasemonkey and stylish.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  4. As I see it . . . by Anonymous Coward · · Score: 0

    As I see it, the difference between a GUI and a CLI is the difference between ordering from a menu and telling the waiter exactly what you want. Both are useful, but there are times when being able to say exactly what it is you want is really nice.

    1. Re:As I see it . . . by stanlyb · · Score: 0

      When i go to the common night bars, i know exactly what i want to drink, but i am stuck with their windows (i mean menu). That's why the ones that are able to mix my choice of ingredients are my favorites, and btw they are the best place to impress a lady (say linux). With other words, GUI is for dumbs. Period.

    2. Re:As I see it . . . by icebraining · · Score: 1

      With shell scripts, you can write your own menus.

    3. Re:As I see it . . . by amliebsch · · Score: 2

      This is not really about Linux vs. Windows, as both of them have GUI methods and CLI methods for accomplishing this task. It is more about GUI admins vs. CLI admins.

      --
      If you don't know where you are going, you will wind up somewhere else.
    4. Re:As I see it . . . by postbigbang · · Score: 1

      True.

      GUIs tend to limit the available choices, and if they're well designed, offer all of the combinations of choices that work, then allow you to remember what the choices were-- unless greyed out for logic flaws.

      CLI was spawned back in the day of 32K worth of memory necessicitating clever concepts (pipes, stdin/out, and script manipulations) in shells that would deal with the need for extreme brevity. The CLI of today, depending on the OS, can have great breadth of control and scripted beauty. I think this is why Microsoft openned up a bit with the PowerShell concept.

      They're not necessarily the dividing line between 'junior' and 'senior' admins, but they do connote a different level of understanding of what goes on underneath the hood. GUIs change a lot, and options change from version to version of an app, which in the non-FOSS world, have to happen frequently as a business model. In the FOSS world, I use commands I learned 30years ago, and can still use those commands, obtuse as they are, for probably another 30yrs.

      --
      ---- Teach Peace. It's Cheaper Than War.
    5. Re:As I see it . . . by BoberFett · · Score: 1

      Ideally GUIs and CLIs would offer the exact same functionality just with different user interfaces. It's just as easy to design an unintuitive CLI interface by leaving out functionality as it is a terrible GUI interface by hiding functionality. The difference as I see it is simply that of re-usability. If you need to perform a function once or twice a year, there's no reason to use the CLI and have to remember an arcane notation set to achieve your goal. If it's a daily function or needs to be scripted, then CLI is perfect.

  5. Dead on by Hatta · · Score: 3, Insightful

    This is dead on. Human beings invented symbolic language because it's simply more expressive than pointing and grunting. CLIs are superior to GUIs for the same reason.

    --
    Give me Classic Slashdot or give me death!
    1. Re:Dead on by Anonymous Coward · · Score: 0

      So instead of pointing and grunting with a mouse pointer you point and grunt at keys with your fingers. Congrats on your terrible analogy.

    2. Re:Dead on by StikyPad · · Score: 4, Insightful

      Human beings invented symbolic language because it's simply more expressive than pointing and grunting. CLIs are superior to GUIs for the same reason.

      CLIs are superior to GUIs in the same way romance novels are superior to sex. Sometimes taking the time to carefully describe things in clear, unambiguous detail is important, but sometimes pointing and grunting is both more effective and and more satisfying.

      And when's the last time you edited photos, video, or audio with a CLI?

    3. Re:Dead on by Anonymous Coward · · Score: 0

      U mad?

    4. Re:Dead on by WatchMaster · · Score: 1

      just last week. resized a whole directory of photos with this:

                $ for i in *.jpg; do mogrify -geometry 400 $i; done

      yup, faster than any gui program 100 images resized.

    5. Re:Dead on by JWW · · Score: 1

      And when's the last time you edited photos, video, or audio with a CLI?

      This story is from a sysadmin blog!!!

      If your Sysadmin is editing photos, video, or audio at work, you probably need to get a different Sysadmin!

    6. Re:Dead on by tweak13 · · Score: 4, Informative

      And when's the last time you edited photos, video, or audio with a CLI?

      When I was a sysadmin at a radio station, I wrote scripts that processed audio, including cutting and splicing. Having it automated saved a hell of a lot of time for the people that used to have to sit in front of a GUI and do it.

      Of course, there's all kinds of audio work that couldn't be done by script. The point is, you need both kinds, even for audio and video.

    7. Re:Dead on by RobbieThe1st · · Score: 1

      While it may not be quite the same thing, remember that Autocad has kept it's built in cli/shortcuts over -many- years and GUI revisions. The fact it hasn't been dropped means that it's useful, and indeed when took a class in it, I was constantly using it - The gui's good for some things, but nothing matches the /precision/ of the command line.

    8. Re:Dead on by Anonymous Coward · · Score: 0

      If your Sysadmin is editing photos, video, or audio at work, you probably need to get a different Sysadmin!

      Insanely stupid advice - you a mere code monkey, oh, sorry, software "engineer", by any chance?

      If your sysadmin isn't editing photos, video and audio at work; or isn't asleep under his desk; or isn't downloading several terabytes worth of porn, it means your sysadmin is actively working. If your sysadmin is actively working, it means your systems are fucked.

    9. Re:Dead on by Anonymous Coward · · Score: 0

      And when's the last time you edited photos, video, or audio with a CLI?

      Last weekend when I was compressing videos for Youtube. Or yesterday when I was making thumbnails for my site.

      So pretty much all the time.

    10. Re:Dead on by SpiralSpirit · · Score: 1

      it's about 6 clicks in photoshop using the image processor.

    11. Re:Dead on by kikito · · Score: 1

      I'm sorry that you enjoy sex so little.

    12. Re:Dead on by Charliemopps · · Score: 1

      If you like to go out to the woods, cut down a tree, rip it into boards, plain and sand them, then build a chair, sand and finish it... that's great. But I just want to read a book... and buying a $10 chair at walmart will work fine. You can argue your chair is better than mine in almost every way conceivable. But what I wanted, was to sit... not have the best chair on earth. GUIs are about increasing productivity for routine simple tasks. You're right that they can really get in the way if you want to do something that's really detailed or complex. Heavily GUI ladend databases/CRM are a good example. But for the vast majority of computer users, GUIs are a God send.

    13. Re:Dead on by Anonymous Coward · · Score: 0

      Well, the language was never meant to be written, only spoken. I would never waste time writing you this stupid comment if I could just tell you why you are wrong in person.

    14. Re:Dead on by Firehed · · Score: 2

      I can google for that comment and run the command faster than I can even open Photoshop. That probably holds true even if I don't have mogrify installed.

      --
      How are sites slashdotted when nobody reads TFAs?
    15. Re:Dead on by SpiralSpirit · · Score: 1

      I just checked and ps cs5 opens in about 2.5 seconds on my laptop (p9550, 8gb ram, intel 80gb SSD, ati 3650m). I suppose if you don't have a machine built for image editing, the programs running slowly is something you're going to have to deal with.

    16. Re:Dead on by zill · · Score: 1

      Just read his post carefully. "I had to put little watermarks on about 400 images a year ago" Adding company logos unto product pictures before adding them into their website is well within a sysadmin's job description.

    17. Re:Dead on by sqldr · · Score: 1

      Well, different. Not superior. You wouldn't use a CLI to draw a network diagram. Speaking of which, if your firewall ruleset is starting to get bloated with multiple chain jumps, sometimes it helps to have a GUI generate a filtered diagram of what's going on. Not as a substitute, but as an addition.

      Anyway.. my question is why he's logging in and randomly injecting DNS into his name server.. hasn't he heard of configuration management? He should be *generating* that stuff now, rolling out onto sandboxes first, then pushing it out tested to live, thus eliminating the "fat finger" problem entirely whilst providing instant rollback via version control.

      Meanwhile, does using dnslint or that dns mode in emacs which won't let you save until your zone file is correct count as a gui for those occasions when you've missed a dot off the end of a CNAME? The flashing pink message has saved a few people's bacon in the past.

      Incidentally, I switched from bash to zsh years ago for its greater interactivity functions (although bash is starting to catch up with it). The right hand side prompt is especially useful. As for the array/hash support and advanced globbing.. bonus!

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    18. Re:Dead on by Anonymous Coward · · Score: 0

      Using CLI, try to explain how to tie a shoe lace to someone who've never seen a shoe. Then come back and tell us about superiority of a CLI.

    19. Re:Dead on by CynicTheHedgehog · · Score: 1

      When I can do this:

      tail -F server.log | grep -E 'my.package.(foo|bar)'

      In a GUI, without dragging the system to its feet, with 10,000 line scrollback and copy/paste, as well as command history and editing, I will consider using a GUI.

      Also:

      cd smj

      To get to "src/main/java/com/domain/package" takes about 2 seconds to type, and about 2 minutes to click on tiny little tree node icons and wait for the subtree to expand and the UI to refresh. Editing with vi takes way less time that messing with gedit or similar. (Granted, nothing in vi is CLI-specific, but it helps to have it instantly accessible within the CLI.)

      SSH'ing to other systems is much faster in CLI, and gives you instant access to scp, etc.

      I use a GUI where it makes sense (NetBeans manages just about everything I need for authoring and building code) but for deploying, starting, monitoring, and configuring applications there is nothing that beats CLI.

      A good terminal emulator is like a good browser--the power and flexibility to go where you need to go and do what needs to be done, and a common framework (tabs, scrollback, etc.) to manage the viewing and input experience.

    20. Re:Dead on by jedidiah · · Score: 2

      I think the fact that Photoshop is going to cost you $600 if you aren't pirating it is bit more germane.

      Who cares if a $600 has a somewhat sensible GUI? It stands out as a nice example perhaps for the potential of GUIs done right but it's ultimately meaningless in the general case.

      You might as well drone on about the power user features of AutoCAD.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    21. Re:Dead on by 517714 · · Score: 1

      I venture to guess that if you dropped in the middle of Africa or Asia you would find grunting and pointing more useful than jotting a note.

      --
      The US government have made it clear that we have no inalienable rights; any we do not defend vigorously will be taken.
    22. Re:Dead on by SpiralSpirit · · Score: 1

      guess what...people who do serious work with CAD and images use autoCAD and photoshop. Not talking about the gold standard for those activities is like ignoring reality. You'll notice the freeware photoshop, GIMP, doesn't have action macros. you have to learn to script. Guess why people who make images and not people who program prefer photoshop? I mean...why talk about cars when you're talking about transportation? Who has thousands of dollars to waste on them? Instead we should talk about bikes and buses only. Let's ignore everything else on the road, amirite?

    23. Re:Dead on by MightyYar · · Score: 1

      Human beings invented symbolic language because it's simply more expressive than pointing and grunting.

      The phrase "A picture is worth a thousand words" is not just a cliche - it is also largely correct.

      When you look at a wiring diagram, do you think, "Damn, I wish this was a text description!"

      Do architects use blueprints, or do they use text descriptions?

      Symbolic language is great and all - but that first monkey man to draw something with a stick in the dirt was pretty fucking awesome, too!

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    24. Re:Dead on by MightyYar · · Score: 1

      yup, faster than any gui program 100 images resized.

      Pretty slick. How long would it take you to write a command-line app that painted a mustache on each of the faces in those photos?

      There is a continuum: on the one side are tasks where you'd be an idiot to use a GUI and on the other are tasks where you'd be an idiot to use the CLI. And then there is the middle, where it's up to your judgment and what would be faster for you personally. And even the most hardened CLI user is probably still running a terminal inside of a GUI these days.

      Take your example. If I'm sitting at a computer that has Photoshop installed but not imagemagick, I'd be a damn fool not to fire up Photoshop to convert the 100 images with a simple macro or with Bridge. Conversely, if I had imagemagick but not Photoshop, I'd be a fool to buy a $600 program when the task can be done for free. The best tool for the job rather depends on your circumstances - it is not some absolute measure.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    25. Re:Dead on by Twinbee · · Score: 1

      Yes, I use the CLI all the time to do things in complex editors such as Photoshop and Renoise. It's clearly the best way of doing things, so I set up a giant communication scheme between the CLI and the programs. Took me a while, but everything I draw or compose is now from typing text into the CLI.

      --
      Why OpalCalc is the best Windows calc
    26. Re:Dead on by Twinbee · · Score: 1

      Well that's programming/scripting then, not the CLI per se.

      --
      Why OpalCalc is the best Windows calc
    27. Re:Dead on by lennier · · Score: 1

      If you like to go out to the woods, cut down a tree, rip it into boards, plain and sand them, then build a chair, sand and finish it... that's great. But I just want to read a book... and buying a $10 chair at walmart will work fine.

      The problem is that with today's architectures, the difference is more between assembling a chair from bare pine logs with an adze which you ground yourself, vs having a magic nuclear-powered nanotech chair pop into existence in your house when you think the colour blue, but which comes in only one size and colour, is bolted to the floor, randomly reconfigures itself every year, and if you ever try to look inside without a billion dollars of lab equipment, you get radiation burns and the nearest closet turns into a rabid badger.

      It would be nice to have something somewhere in between. Even nicer would be to be able to buy a set of tools and lumber, or a prebuilt pine-wood chair with full assembly diagrams, and be able to repair it as you like.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    28. Re:Dead on by lennier · · Score: 1

      You wouldn't use a CLI to draw a network diagram.

      No, but it would be really nice if the diagram editor loaded and saved as a series of CLI instructions, so that you could back up your network configuration, and then, eg, email it to a hosting company and have them run it through a script that automatically creates a bunch of virtual machines that replicates that network.

      That's the level of CLI/GUI integration we need.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    29. Re:Dead on by YoshiDan · · Score: 1

      Faster than a GUI my arse. It takes me about 10 seconds to go file > batch process in Fireworks and choose what size to resize an entire directory full of image files to and then export them as web optimised JPEG files. All without having to remember a bunch of esoteric commands and switches.

    30. Re:Dead on by jbengt · · Score: 1

      ... that's great. But I just want to read a book...

      But who wants to spend all that time learning the alphabet, how words are spelled, what nouns, verbs, pronouns, and all that are, and even grammar and punctuation. That's almost as bad as learning a command line interface, I'd rather watch a movie - it's easier to do without any training, like using a GUI.

      But for the vast majority of computer users, GUIs are a God send.

      Wait . . you were arguing in favor of using GUIs? Now I'm confused.

    31. Re:Dead on by WatchMaster · · Score: 1

      cost: Fireworks $299
                      ImageMagick: priceless!

      i don't have to resize them, then export them. I just have to resize them. I'll be done before your software finishes loading.

    32. Re:Dead on by AliasMarlowe · · Score: 1

      And when's the last time you edited photos, video, or audio with a CLI?

      I regularly do so, and have a number of simple scripts to select some or all image files (of specifiable types) in a directory and process them. The image processing is typically to resize to a specified percentage, unsharp using specified parameters, optionally stretch their histograms, and then apply a watermark and a given copyright text. Image processing by CLI cannot do everything, of course, but it does these mass modifications far faster than any GUI tool I know of. For things like red-eye removal, touching up blemishes, and so forth, a GUI tool is used, since these operations are unique to each image.

      --
      Those who can make you believe absurdities can make you commit atrocities. - Voltaire
    33. Re:Dead on by Charliemopps · · Score: 1

      Again, I'm reading while you're spending the entire day bitching about the chair. As long as it's at ass height, I'm not going to complain much.

    34. Re:Dead on by LordLimecat · · Score: 1

      How useful would scripting that sort of thing be if you have a different set of tasks every week in unfamiliar territory? Are you going to spend hours reading documentation and fixing scripting bugs every week, or just use a GUI and be done with it?

      Doing more work just for the sake of doing it a particular way isnt exactly what I would call smart.

    35. Re:Dead on by YoshiDan · · Score: 1

      OH NOES, PAYING FOR SOFTWARE, HOW TERRIBLE!

      Cost: Fireworks $299
      Cost saved due to productivity: infinite

      Fireworks is always running on my computer as I use it heavily so it makes no difference to me, half the time I don't need to start it up. Even when I am starting it up cold it takes maybe 5 seconds. Whatcha gonna do with the *seconds* you saved by running a CLI program instead of an easier to use GUI app? Gee if I had all free time on my hands from the *seconds* I saved I just would not know what to do with myself!

      And your CLI app might not need to export them. Big deal. Fireworks doesn't need to export the images either, if all you want to do is resize the images and save them over themselves it does that. But it's only 1 extra click to set the export step in the batch process and it optimises the images for the web as well as scaling them.

    36. Re:Dead on by SanityInAnarchy · · Score: 1

      Which is the best reason to have a CLI. A CLI is usable interactively, but almost automatically, anything you do with a CLI, you can script. The same is not true of a GUI in any practical sense.

      --
      Don't thank God, thank a doctor!
    37. Re:Dead on by SanityInAnarchy · · Score: 1

      You wouldn't use a CLI to draw a network diagram.

      That depends how big and ugly the diagram is, and whether it's something I'm doing manually (for planning purposes) or automatically (just how is this network configured right now?)

      It's not always the best tool, but Graphviz is pretty cool.

      --
      Don't thank God, thank a doctor!
    38. Re:Dead on by QuantumRiff · · Score: 1

      And when's the last time you edited photos, video, or audio with a CLI?

      a few months ago, I had to resize and convert to a different format thousands of pictures in a large set of directories. It was a 2 line CLI script (thanks imagemagick! that took about 3 min to run. If I had to click File->open->browse to location->okay followed by all the other clicks, I would still be working on it.

      My canon point and shoot records video in a horribly uncompressed Motion JPEG format. I added a script* to the right click menu in nautilus (again, about 2 lines), and now, it will search all avi files in that directory I run it from, and pass them through ffmpeg to convert to X264 videos that are about 1/10th the size.

      *in case anyone else can use it (although getting x264 working in ffmpeg in ubuntu is harder)
        for file in `ls *.avi`; do echo "Converting $file"; ffmpeg -i $file -acodec libfaac -ab 128k -ac 2 -vcodec libx264 -vpre slow -crf 24 -threads 0 `basename $file .avi`.mp4; done/code

      --

      What are we going to do tonight Brain?
    39. Re:Dead on by Anonymous Coward · · Score: 0

      If you ever have to operate on more than a few photos at a time (geotagging a folder based on an GPS track, etc.) then you'll use the CLI.

    40. Re:Dead on by Anonymous Coward · · Score: 0

      Use $() instead of ``. It's nestable and visually less ambiguous.

      for file in *.avi instead of for file in $(ls *.avi)

    41. Re:Dead on by Anonymous Coward · · Score: 0

      Putting a dot at the end of the CNAME or omitting it is not a syntactic choice, it's a semantic one. It depends on what you intend. There's no inherently correct choice.

    42. Re:Dead on by Anonymous Coward · · Score: 0

      CLIs are superior to GUIs in the same way romance novels are superior to sex.

      Wrong analogy. It would be more like doing sex (CLI) versus telling someother to do it for you (GUI).

      And when's the last time you edited photos, video, or audio with a CLI?

      This morging.

    43. Re:Dead on by mcvos · · Score: 1

      Visual/spatial information is of course better represented visually. But abstract information is often much easier manipulated in some other way.

      Like TFA says: there's a time and place for GUIs. But sometimes you really need something more powerful to get the job done.

    44. Re:Dead on by Anonymous Coward · · Score: 0

      And when's the last time you edited photos, video, or audio with a CLI?

      monday

      i get pics from the grapho then batch pass them all through imagemagik so they work for the web

    45. Re:Dead on by MichaelSmith · · Score: 1

      I frequently write scripts to edit images using netpbm.

    46. Re:Dead on by Anonymous Coward · · Score: 0

      "And when's the last time you edited photos, video, or audio with a CLI?"

      For images, that's what Imagemagick or netpbm are for, and I use them all the time. I've also used ffmpeg for video, although not as frequently. If I had to use a GUI for the same tasks (hundreds of images), I'd probably give up in frustration. For batch operations there's nothing better than a CLI.

      As others have noted there is a place for both CLI and GUI operations. It is disappointing to see how many people think a GUI is the be-all and end-all of computing. I wouldn't want to use a system if a CLI wasn't available in some form as an option because for some tasks it is the best choice. Hmmm.... although if I was forced to use MS-DOS as the only CLI option ("C:\ prompt") I could see people's point. It's truly awful, and I don't touch it on Windows. I install Cygwin. Anyone who has only experienced MS-DOS as their CLI experience doesn't really know what's possible.

    47. Re:Dead on by Anonymous Coward · · Score: 0

      That is absolutely beautiful.

    48. Re:Dead on by MightyYar · · Score: 1

      I definitely drop to the command line, so I'm not taking a side here.

      But I do have an issue with the example that he used in TFA. In that example, the web interface should have allowed him to bulk import/export the tables. Then he could have used any editor he wished on the GUI to work with the tables. He artificially handicapped the GUI to make a point. I could do the same thing by making the files binary instead of text and then pointing out that the command line is poorly suited to manipulating the binary blob. His example was contrived.

      --
      W..w..W - Willy Waterloo washes Warren Wiggins who is washing Waldo Woo.
    49. Re:Dead on by Osgeld · · Score: 1

      last night, it was easy and it was perfect for a task that repeats every 45 min

    50. Re:Dead on by TheDarkMaster · · Score: 1

      I am of the opinion that the problem is actually the Linux GUIs that are junk. Because most of them are made by developers who think in terms of CLI, not GUI.
      Most applications "GUI" on linux in fact nothing more than shoddy "shells" for the actual application which runs on the CLI. How the GUI version could be decent if half of the functions available in the CLI application are forgotten, ignored or simply broken in its GUI version?

      --
      Religion: The greatest weapon of mass destruction of all time
    51. Re:Dead on by TheDarkMaster · · Score: 1

      Well... Think your user is not a "CLI guru" and so he do not have the slightest idea of what is "tail","grep ", much less what it means to put "|" between them.
      But, he needs to get the job done and have no time to become a "CLI guru"to accomplish this. This is why Linux has failed and keeps failing on the desktop.

      --
      Religion: The greatest weapon of mass destruction of all time
    52. Re:Dead on by gfreeman · · Score: 1

      I can google for that comment

      Would this be a CLI google?

      --
      Ceci n'est pas un sig.
    53. Re:Dead on by marcosdumay · · Score: 1

      My home server do photo edition daily (ok, looks daily for new photos, do photo edidion only when those exist) with a CLI based script. I wouldn't know where to even start doing such thing at GUI (even more because the computer has no keyboard, mouse or monitor attached to it).

    54. Re:Dead on by Hatta · · Score: 1

      I am of the opinion that the problem is actually the Linux GUIs that are junk.

      Then compare a command line Linux app to a Microsoft GUI app. For instance, LaTeX and R vs Word and Excel. You might get more done in your first 10 minutes if you use the GUI products, but 10 years from now you'll be wishing you had put in the work to learn the CLI alternative.

      Most applications "GUI" on linux in fact nothing more than shoddy "shells" for the actual application which runs on the CLI

      That's actually the best type of GUI. You get all the strengths of both a CLI and a GUI. Much more software should be designed like RasMol or Gnuplot, nothing more than a command line app with X as an optional display.

      --
      Give me Classic Slashdot or give me death!
    55. Re:Dead on by praxis · · Score: 1

      How about instead we talk about all forms of transportation and pick the right one for the task at hand. The assumption that cars are the gold standard is part of the problem. Same with the assumption that anyone that needs to do a moderately complex task will already have Photoshop purchased and installed.

      Just like if I need to resize 400 images one day, I'm not going to spend whatever price Adobe is charging for their tool, I will find something that suits my purposes.

      Just like if I live in the city and don't own a car and find myself one day needing to go 100 miles to the burbs I'm not going to buy a car but maybe rent one or hire a cab.

      I do a lot of digital photography and have yet to find a need for Photoshop. I am aware it's the gold standard but I'm not going to automatically buy it because I need to do some transforms on some images once in a while.

      I work at an office and travel a lot. I don't use a car. I am aware it's the gold standard but I'm not going to automatically buy one because I need to go out of town somewhere I can't reach by rail or foot or plane.

    56. Re:Dead on by pugugly · · Score: 1

      Actually ffmpeg is grand for converting video formats with CLI as well - I convert video to MP4 specifically because of the ease of tagging MP4 Video in Easytag. Do I get any bonus points for having a cron job do that at 2 am?

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    57. Re:Dead on by SpiralSpirit · · Score: 1

      except this article is talking not about rare cases, but the overall case of GUIs vs CLIs. For the people who edit images, GUI driven programs are the best. For those who live by the command line and only once in a while have to resize a batch of images, playing the command line would work for them. That doesn't mean the GUI isn't superior, because in this case it obviously is. It's simply that you don't have it. If I were to make a case about the condition of transportation, and use you and having no car as the typical or even standard case, I'd be wrong. If I did the same with photo editing, I'd be wrong again. Most people who have to resize 400 pictures work with images normally, and have some sort of image editing program, and almost all of them have some sort of batch command. Photoshop elements will do it too, and it's a lot less than full on photoshop. You don't NEED the $600 program to do it, and claiming that the cost of photoshop is the downfall of the GUI here is not really an issue, since there are alternatives.

    58. Re:Dead on by praxis · · Score: 1

      [quote]I mean...why talk about cars when you're talking about transportation? Who has thousands of dollars to waste on them? Instead we should talk about bikes and buses only. Let's ignore everything else on the road, amirite?[/quote]
      I misunderstood you, my reading comprehension short-circuited. For some reason I took your sarcasm backwards and thought you meant that only the gold standard should be considered. I apologize.

      I think we seem to somewhat agree, that both the "default" option and alternative options should be considered whenever one discusses a field such a photomanipulation, transportation, router management, etc.

      I merely meant to give examples when the "default" option was a very poor one (since cost cannot be ignored). It was a bit off-topic to CLI vs. GUI and more towards "default, gold standard, no brainer" choice vs. "right tool for the job given all criteria" choice. I did not mean to imply anything more. Only that one should evaluate the tool for the task at hand given all criteria and just because one choice is best for the majority of cases one should not fall into the trap of automatically transferring that evaluation to a new problem.

    59. Re:Dead on by badkarmadayaccount · · Score: 1

      And what do they pay the web designer for?

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  6. Talk to your computer? by MrEricSir · · Score: 5, Funny

    I'm afraid I can't let you do that, Dave.

    --
    There's no -1 for "I don't get it."
    1. Re:Talk to your computer? by metalmaster · · Score: 2

      Dave's not hear man

    2. Re:Talk to your computer? by pushing-robot · · Score: 2

      Parse Error.

      --
      How can I believe you when you tell me what I don't want to hear?
    3. Re:Talk to your computer? by Thing+1 · · Score: 1

      Or: Humor Excellence.

      --
      I feel fantastic, and I'm still alive.
    4. Re:Talk to your computer? by EMG+at+MU · · Score: 1

      +1 cheech and chong reference on ./

  7. I don't get it. by arcade · · Score: 3, Insightful

    I haven't used windows since '99.

    looking around my desktop right now, while posting to slashdot, I have chromium running, and 7 xterms. Two of'em are running irssi, the others are just nice little windows to do various bits of work in.

    I live and breathe in a CLI environment. I can't really remember doing much useful in GUI's except lookup information (for which it's suited perfectly well).

    But why on earth would you do configuration in a GUI? Why would you ever program in a GUI, instead of vim or emacs?

    I just don't get it.

    --
    "Rune Kristian Viken" - http://www.nwo.no - arca
    1. Re:I don't get it. by geekoid · · Score: 3, Insightful

      easy of use. I get far more from VS then either emacs or Vi provide. And yes I have used them extensively.

      A good GUI make configuration a snap. Should it be the only way? of course not.

      It's funny, people complain about GUI speed, but then never use the shortcuts. They say CLI is better, but then use all kinds of shortcuts.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:I don't get it. by Anonymous Coward · · Score: 0

      Speed and productivity. VS is entirely capable of doing everything you can do in vim/emacs, and a bunch of other stuff significantly faster. It's the difference between it taking hours to set up a DB schema, or minutes.

    3. Re:I don't get it. by Anonymous Coward · · Score: 1

      Programmers who code only in text editors write HORRIBLE code. The reason for this can be summed up in one word: refactoring. Serious refactoring is time consuming on the command line. Need to change a few namespaces around or move this function into that class and update all the references? That's a huge pita without a decent IDE and simply doesn't get done by text editor programmers. Their code is horrendously difficult to maintain for other programmers.

    4. Re:I don't get it. by Deltaspectre · · Score: 1

      Why would I program in a GUI? Like you said, they're suited well for looking up information. Up until last week I've been a diehard vim user, but I switched to CodeBlocks for a new project just to test it out. The amount of extra information I could now get at with the mouse was enough to make me switch camps (except for config files, those are definitely CLI territory.) I know that vim can be made into an IDE, but I could never get it automatic enough and even for those few times I had it all set up for the language of the moment I didn't feel as productive as I do now with a GUI IDE. Being able to mouse over variables to get type information or right click for that context menu is pretty awesome!

      --
      My UID is prime... is yours?
    5. Re:I don't get it. by 19thNervousBreakdown · · Score: 3, Insightful

      But why on earth would you do configuration in a GUI? Why would you ever program in a GUI, instead of vim or emacs?

      Because it's way, way easier. Don't get me wrong, I love my VIM, I use sed at least weekly, I've built 5,000-line programs in awk (awk, not gawk, and god help me not by choice), but here's why I use a GUI to program (when it's available):

      • Autocompletion. Yeah, you can get it in whatever text editor, but it's not nearly as good. Ctags doesn't handle C++ well. In Visual Studio using C#, I can add a method, not even save, and there it is in my autocompletion list, auto-populated to the first signature, and as I add parameters it auto-selects the one that matches the number and types of parameters I've entered, with the short documentation right there.
      • Tabs. I sometimes have 30-40 source files open in a single project. Tabs Studio (not affiliated in any way, it just saved my sanity) lets me have all those files instantly visible, clickable, alphabetized, noted if changed, and the last viewed file highlighted. Are all those things possible in an ncurses app? Sure, with a 240x80 display, but it'd be cramped even then. Proportional fonts have their uses.
      • You can put a CLI inside your GUI. I have immediate sub-windows inside Visual Studio, I have a Cygwin window open at all times, with screen and a few utilities with their own dedicated screen windows inside it.
      • You know what, fuck it, I don't feel like typing all this stuff out, you don't feel like reading it. Essentially, my argument boils down to a UI that has control over individual pixels has more potential visual display resolution than one that can only render a limited number of glyphs in a fixed array of rows and columns, and that's the only inescapable difference between the two. Imagine 9 more bullet points here where I say the same thing over and over.

      Do I miss stuff from VIM when I'm working in Visual Studio? Sure. But if you know the tools equally, and I know VIM like I know the palm of my hand, Visual Studio is just plain faster. But, your entire premise is invalid--a GUI or CLI is not a binary choice for a subject as large as "programming". Individual activities are better suited to one or the other, and a savvy user will use the most effective tool for the task at hand. A GUI can host a CLI or simulate it entirely, a CLI can't do either, therefore GUIs are objectively better unless the resources required for the UI is a concern.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    6. Re:I don't get it. by Alex+Belits · · Score: 1

      What the fuck are you talking about?

      If all you have to do for "refactoring" is to move functions between classes or substitute names, then all your work is entirely cosmetic. Not that you are supposed to "refactor" code in the first place unless it's poorly designed.

      --
      Contrary to the popular belief, there indeed is no God.
    7. Re:I don't get it. by sqldr · · Score: 1

      There's few cases where $EDITOR isn't enough, but I mentioned in an earlier post - if your firewall rule list is getting really massive and you want to see the wood from the trees, some firewall editors can allow you to click on a rule and have it filter out rules that don't apply and even draw you a nice diagram. This isn't a substitute for being able to do it in plain text, but I've occasionally known to switch to fwbuilder, which as an added bonus does some validation for you.

      The bottom half of the window is a standard text editor anyway, so it's kind of best of both worlds.

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    8. Re:I don't get it. by sqldr · · Score: 1

      If all you have to do for "refactoring" is to move functions between classes or substitute names

      You have to find them first...

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    9. Re:I don't get it. by Alex+Belits · · Score: 1

      And this is the root of the problem -- if you need an IDE to find names that reflect your code structure, it means that you do not understand how that code works. What means, you are not qualified to modify it in any way.

      --
      Contrary to the popular belief, there indeed is no God.
    10. Re:I don't get it. by Anonymous Coward · · Score: 0

      Its simple and you know it. Some people find them easier to use. Why do you try to appear as though you struggle to understand this?

      I just don't get it.

    11. Re:I don't get it. by Anonymous Coward · · Score: 0

      But why on earth would you do configuration in a GUI? Why would you ever program in a GUI, instead of vim or emacs?

      A GUI can check the syntax as you go. For configuration, the GUI can provide the list of options.

      Simply put, a GUI reduces the error rate attributable to human error. No one is perfect, not even the best programmer.

    12. Re:I don't get it. by drb226 · · Score: 1

      I get far more from VS then either emacs or Vi provide.

      Such as?

    13. Re:I don't get it. by Anonymous Coward · · Score: 0

      duh.. it's so easy to use no wonder it's number one!

    14. Re:I don't get it. by Anonymous Coward · · Score: 0

      Part of that is because it's trivial to create an alias/shortcut for a long command in a CLI environment. Add an alias to your shell's rc file or, for the really long stuff, write a script and put it in ~/bin. Hell, MS Excel encourages programmability via macros.

    15. Re:I don't get it. by Anonymous Coward · · Score: 0

      Why would you ever program in a GUI, instead of vim or emacs?

      I would, any day of the week, race you to develop a sophisticated piece of software using VS versus your vim or emacs. And I would beat you, hands down. I develop all day long on Eclipse CDT for Linux, which is a gigantic piece of shit, and I'd probably still beat you. The only reason I hold out reservation is because of the CDT Indexer, which is the worst piece of software known to mankind.
          - note: if you've ever used the CDT Indexer, and you have had zero problems with it, please respond to this post
          - otherwise, you know how I feel, and the author(s), whomever they may be, may burn in hell

      If you want to write a few files containing a gigantic, BFO implementation of ridiculous spaghetti code, then use your vim and emacs. If you want to write a large scale system, then please, for the love of god, open your mind to the use of some better tools.

      You're not still starting the fire on your stove with a stick and a bow and arrow are you?

    16. Re:I don't get it. by Jaime2 · · Score: 1

      I have a saying that I use with my programmers. "If you are unable to work confidently on something that you don't fully understand, then you are doomed to work on projects small enough to fit inside your head." A good IDE is an invaluable tool that frees up room in your head to think about the hard stuff.

    17. Re:I don't get it. by Anonymous Coward · · Score: 0

      Why would you ever program in a GUI, instead of vim or emacs?

      Clearly you've never used VS.

    18. Re:I don't get it. by rastos1 · · Score: 1

      vi is a great text editor. VS is an IDE. Can you drag&drop variable from source code to watch window while debugging in vi?

    19. Re:I don't get it. by sqldr · · Score: 1

      if you need an IDE to find names that reflect your code structure, it means that you do not understand how that code works.

      Which is often the case with a new project or new part of a larger project. Besides.. even if you understand it, zipping from one part to the next and migrating functions with tools which actually do it and duplicate parameters is a lot better than cut/paste/modify/make mistake/fail. Yes, I could use ctags. Or I could highlight a function and hit a keyboard shortcut. If you've never used proper refactoring software, you wouldn't understand the point.

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    20. Re:I don't get it. by sqldr · · Score: 1

      btw. a decent "code browser" tool is a great way to fix the lack of understanding and thus becoming qualified. Rather than grep which is somewhat tedious.

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    21. Re:I don't get it. by jmcvetta · · Score: 1

      If all you have to do for "refactoring" is to move functions between classes or substitute names, then all your work is entirely cosmetic. Not that you are supposed to "refactor" code in the first place unless it's poorly designed.

      That's certainly not all there is to do when reworking some code. But renaming methods and updating references throughout the project is a common task. In Vim (and presumably in all other text editors) it's a tedious pain in the ass; whereas in Eclipse it takes a about two seconds and almost no effort at all.

      The difference has nothing at all to do with Eclipse having a GUI and Vim being text-based. It's entirely a matter of the former having a utility function the latter lacks. IDE vs text editor (with some IDE-ish niceness like syntax highlighting), not GUI vs non.

    22. Re:I don't get it. by a_hanso · · Score: 1

      As someone who used vi for years and switched to VS due to repetitive stress injury, I agree. The more often you repeat a task, the stronger the case for a CLI method of doing it. The more varied the types of tasks you perform within a context, stronger the case for GUIs. But neither is always true.

    23. Re:I don't get it. by Anonymous Coward · · Score: 0

      You can just sense the desperation leaking out of this guy, trying to justify not being a man. Dude, just go ahead and admit you'd rather play Barbie than stickball. We won't judge. Now you put your VS back in your purse next to your tampons and run along home.

    24. Re:I don't get it. by 19thNervousBreakdown · · Score: 1

      I'm a woman.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
    25. Re:I don't get it. by marcosdumay · · Score: 1

      In short, you use a GUI to program because you use a few features that CLI editors just happen to not have (but there is no inherent relation to GUI or CLI, it is just by cohincidence), a few features that they happen to have, but you are not used to them, and because you use a CLI anyway, it is just that it is drawn in a GUI environment.

      That is not to take from your argument, but puts some light in the fact that we are slowly migrating everyting to the GUI, even the CLI. Hell, with the super fast computers that we have today, there is no reason not to. I used to miss the big fonts, nice readability and low luminosity of CLIs when I was on a GUI. Nowadays they are there too, it is just a matter of settings.

    26. Re:I don't get it. by Alex+Belits · · Score: 1

      Clean interfaces do not suffer from that problem.

      --
      Contrary to the popular belief, there indeed is no God.
    27. Re:I don't get it. by Anonymous Coward · · Score: 0

      Party foul. You can't use vim and emacs in the same sentence without expressing a militant preference for one or the other. I see through your flimsy disguise, philosophy major.

    28. Re:I don't get it. by daffmeister · · Score: 1

      emacs - all that and more (even the proportional fonts - god forbid that you should want them)

    29. Re:I don't get it. by Alex+Belits · · Score: 1

      Your saying is stupid, and you are stupid. The design of a project's interface has to be able to fit in the head of a person using it. This is true for any well-designed project, no matter how large -- Linux kernel is among those, for example. A person may have to look up documentation and clearly organized header files to keep track of the details, but if anything beyond that is necessary to work on a project, it means that project has incoherent internal interfaces.

      Software is complex. A quick glance at pieces of code that an IDE heuristically fished out of the source tree will only give a programmer the most superficial, and often plain wrong idea of how the code works. So the only real solution is to make it unnecessary to go into details beyond clearly defined interface -- and then the programmer has no business scouring through megabytes of text in the first place, with or without any automation. When a person has to deal with things behind interface, he has to be able to keep those things in his head -- to the points where other interfaces are used. If this is impossible, programmer is dealing with spaghetti code that can not be analyzed properly or modified safely no matter how many doodads his IDE has.

      --
      Contrary to the popular belief, there indeed is no God.
    30. Re:I don't get it. by Alex+Belits · · Score: 1

      But renaming methods and updating references throughout the project is a common task.

      Then you are doing it (software design) wrong.

      --
      Contrary to the popular belief, there indeed is no God.
    31. Re:I don't get it. by Jaime2 · · Score: 1

      Your saying is stupid, and you are stupid.

      I'm sorry, I didn't realize this. Am I ugly too? This conversation style will get you far in the world.

      BTW, you said the same thing I said about complexity, so you most be stupid too. Look into Visual Studio 2010's "Layer Validation" feature to see how an IDE can help manage complexity.

    32. Re:I don't get it. by jmcvetta · · Score: 1

      Then you are doing it (software design) wrong.

      I guess... if by "wrong" you mean I don't have the prescience to design every single class exactly the way I want it before I have even started to write. It's either that, or rename things from time to time, or produce code with lots of somewhat-misleading method names.

    33. Re:I don't get it. by sqldr · · Score: 1

      Which is why I use a clean IDE. If you think it's unclean simply because it's an IDE and can display your breakpoints on the left hand side, then that's just ignorant. Some of the features in my IDE are fantastically clean

      vi in tab mode or split mode isn't clean. multiple vi sessions open in different windows definitely isn't clean. emacs is worse. Neither provide function moving tools, prototype generation, semantic bookmarks, class renaming, documentation popups, and most importantly, code-browsing. And no, the "taglist" plugin is NOT a code-browser. It's just a pane with a list of functions in it. If you've only ever used vim, then you've never used a code browser.

      The prototype popup extension to vim is absolutely dire. It just splits your window in half 50/50 and needs to be manually closed rather than just going away after the 2 seconds that you needed it for - and after using half of your screen, it can't even be bothered to display the inline docs. What's the point of writing inline docs if your editor doesn't know how to process them? Eventually you want to do a diff, so you open yet another terminal window to do that in which doesn't communicate with vim in any way, and your screen is now full of windows.

      Then there's gvim. Great. More real-estate, no advantages. You would at least have thought that vim would provide a more PCRE-like regular expression syntax without having to bash the crap out of the right hand side of your keyboard running system calls (why are the useful keyboard shortcuts so... multi charactered? regular features on single keys please.. basic UI design..) whilst tying far more backslashes than necessary just to match a wildcard. The POSIX sed regexp engine is more useful - and can do multi-line matches which the 7th major version of vim can't.

      Speaking of the keyboard shortcuts.. like the one where after carefully lining up the cursor on one curly brace, you can flip to the other. How many people actually use that? It's got hundreds of useless (bloat) keyboard shortcuts that are utterly useless.

      I've used vim and emacs for 16 years, and for the occasional config file edit, fine. If I'm working with 50 source code files, then it doesn't have any refactoring tools that I've been using for years.

      Personally I use leave vim for what it's good at, which is quick edits and the occasional comma-separated variable file.

      Sometimes I use vi-mode in kate as a compromise, but never for a big project.

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    34. Re:I don't get it. by Haeleth · · Score: 1

      A good GUI make configuration a snap.

      And a good used-car salesman will sell you a great vehicle at a fair price. Both are, sadly, in rather short supply in the real world.

      Frankly I rather like modern configuration files, which tend to come with detailed comments explaining all the options. This compares very favourably with the average configuration GUI, with its billions of tabs covered in obscure checkboxes with documentation along the lines of "Don't not frobnicate blarghs: turn off not frobnicating blarghs."

      I'll grant you that IDEs are nice for the programming languages they support, though I often find myself opening files in emacs too; the likes of VS are great for code completion and refactoring, but programs are also text and most IDEs suck at editing text.

    35. Re:I don't get it. by Alex+Belits · · Score: 1

      Am I ugly too?

      I don't know.

      BTW, you said the same thing I said about complexity, so you most be stupid too. Look into Visual Studio 2010's

      I am not going to install Windows just to look at some Microsoft product's latest "features".

      "Layer Validation" feature to see how an IDE can help manage complexity.

      If you need an IDE to "manage complexity", something is seriously wrong with you code or with you. Visual Studio is a Microsoft product, and I would expect the leading crap-writers to develop their tools to deal with complexity in the crap they write -- but this is because they consistently avoid clean interfaces in everything they make. Everyone else is supposed to know better.

      --
      Contrary to the popular belief, there indeed is no God.
    36. Re:I don't get it. by Alex+Belits · · Score: 1

      Software interfaces (how parts of your software are connected to each other), not user interfaces (shit you see on the screen around text you are trying to edit).

      --
      Contrary to the popular belief, there indeed is no God.
    37. Re:I don't get it. by Alex+Belits · · Score: 1

      Actually yes, a software developer has to have clear understanding what interface will be appropriate for components of his code when he implements it. It's called "software design".

      It's either that, or rename things from time to time, or produce code with lots of somewhat-misleading method names.

      Have you seen how many "somewhat-misleading" names are in, say, libc? They never ever were changed, thanks to the original Unix developers being somewhat good at software design.

      --
      Contrary to the popular belief, there indeed is no God.
    38. Re:I don't get it. by jmcvetta · · Score: 1

      Actually yes, a software developer has to have clear understanding what interface will be appropriate for components of his code when he implements it. It's called "software design".

      So you don't see software design as an iterative process?

      Have you seen how many "somewhat-misleading" names are in, say, libc? They never ever were changed, thanks to the original Unix developers being somewhat good at software design.

      Libc is really not a great example. It is a widely distributed foundation library, upon which a vast multitude of other software is directly or indirectly dependent. The value of keeping interfaces constant in libc is thus much higher than the value of constant interfaces in the internal bits of your average application.

    39. Re:I don't get it. by Jaime2 · · Score: 1

      I am not going to install Windows just to look at some Microsoft product's latest "features".

      Cop out. You can learn plenty about the feature by simply visiting their web site or doing a Google search. But, since you seem to have a deep-seated hatred of Microsoft, you will probably just assume it's stupid and not look into it. The best military commanders studied and learned from their greatest adversaries; discounting the best features of the "other side" is just planned ignorance.

      I would expect the leading crap-writers to develop their tools to deal with complexity in the crap they write

      It has nothing to do with software they write. The feature exists to help users of Visual Studio, who are predominantly not Microsoft employees. Once again, your response is simply a lash-out against Microsoft without any actual thought.

      I could write all of my software in vi, just like I could walk to work without shoes. I don't do either for the same reason. Some tools, although technically unnecessary, just make the job easier.

    40. Re:I don't get it. by Alex+Belits · · Score: 1

      So you don't see software design as an iterative process?

      I see it as incremental process, not "oops, we were doing it wrong" process.

      Libc is really not a great example. It is a widely distributed foundation library, upon which a vast multitude of other software is directly or indirectly dependent. The value of keeping interfaces constant in libc is thus much higher than the value of constant interfaces in the internal bits of your average application.

      I think, you have placed cause and consequence backwards -- libc is widely used because it is well-designed. Why other projects are many orders of magnitude worse despite much simpler goals? Because their developers (including yourself) suck ass, that's why.

      --
      Contrary to the popular belief, there indeed is no God.
    41. Re:I don't get it. by jmcvetta · · Score: 1

      I see it as incremental process, not "oops, we were doing it wrong" process.

      Renaming methods is not the same, really not even too similar, to "oops we were doing it wrong".

      But I wonder, are you one of those folks who stubbornly refuses to fix bugs or implement feature requests, because your vast reserve of self-confidence has convinced you that your software is already perfect as-is?

      Libc is really not a great example. It is a widely distributed foundation library, upon which a vast multitude of other software is directly or indirectly dependent. The value of keeping interfaces constant in libc is thus much higher than the value of constant interfaces in the internal bits of your average application.

      I think, you have placed cause and consequence backwards -- libc is widely used because it is well-designed. Why other projects are many orders of magnitude worse despite much simpler goals? Because their developers (including yourself) suck ass, that's why.

      No dude, get your head out of your ass, and stop being rude just for the sake of being rude.

      Libc is the C standard library - and that, not any special awesomeness of its (no doubt quite skilled) developers is the reason is is so widely used. Also it seems the developers of GNU libc (maybe you had a different implementation in mind?) did not decide on the names of its various function calls. Rather they implemented a variety of established standards (ANSI, POSIX, maybe others). Said standards were written over the course of years by dozens of very skilled people.

      So if your point is that a couple dozen of the best names in the business can produce over the course of several years a better interface design that I by myself can devise in five minutes -- well yeah, duhhhhhhhhhh. However this does jack to support your position that renaming methods is a bad idea.

    42. Re:I don't get it. by Alex+Belits · · Score: 1

      Renaming methods is not the same, really not even too similar, to "oops we were doing it wrong".

      Moving them between classes and namespaces definitely is.

      But I wonder, are you one of those folks who stubbornly refuses to fix bugs or implement feature requests, because your vast reserve of self-confidence has convinced you that your software is already perfect as-is?

      No, I just carefully plan interfaces, so it's possible to change things without leaving greasy fingerprints all over the code that was working just fine, and was used by other people with whatever interface was originally provided by it.

      No dude, get your head out of your ass, and stop being rude just for the sake of being rude.

      I am being rude for the sake of emphasizing the incompetence and idiocy of my opponents, not for the sake of being rude.

      Libc is the C standard library - and that, not any special awesomeness of its (no doubt quite skilled) developers is the reason is is so widely used.

      Actually yes, it was. It was never intended to be as "standard" as it is, it just happened to be designed in a way that interface can stay the same without limiting the functionality. It also happened that it cleanly mapped to Unix system calls, another well-designed interface, but this is an example how interface can evolve without ruining compatibility or requiring massive rewrites. However it was quite popular on system that had absolutely nothing to do with Unix, never had C compiler ported from Unix, and among those on a few systems that should die in a fire due to their atrocious design.

      Also it seems the developers of GNU libc (maybe you had a different implementation in mind?) did not decide on the names of its various function calls. Rather they implemented a variety of established standards (ANSI, POSIX, maybe others). Said standards were written over the course of years by dozens of very skilled people.

      I am talking about libc interface, originally developed in early Unix, BSD and SysV. glibc is an implementation of that interface, and there are plenty of others, related or unrelated to glibc, BSD or SysV. In case of libc, standards actually are more of a description of "what should be implemented if one wants to make a Unix-like system". As the example of Microsoft's "POSIX subsystem" shows, someone who wants to write incompatible and unusable crap and still fit into the letter of the standard, will succeed doing so, therefore the role of formal standard document is secondary in this case.

      --
      Contrary to the popular belief, there indeed is no God.
    43. Re:I don't get it. by badkarmadayaccount · · Score: 1

      The issues you describe are implementation specific, and AFAIK emacs with a couple of extensions can handle all of that, easily. Vi also has autocomplete extensions - in conjunction with GNU screen and zsh, you will probably find a enhancement in productivity. Just saying.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    44. Re:I don't get it. by jmcvetta · · Score: 1

      Renaming methods is not the same, really not even too similar, to "oops we were doing it wrong".

      Moving them between classes and namespaces definitely is.

      Okay, well good to see we're not even discussing the same action...

      No, I just carefully plan interfaces, so it's possible to change things without leaving greasy fingerprints all over the code that was working just fine, and was used by other people with whatever interface was originally provided by it.

      Who said the code was working just fine, let alone already in use by other people?

      It also happened that it cleanly mapped to Unix system calls, another well-designed interface, but this is an example how interface can evolve without ruining compatibility or requiring massive rewrites.

      I don't think we're even arguing about the same thing. My point is, the "refactoring" (their word in the menu) tools in Eclipse are sometimes very effective at reducing tedious labor. Especially the one for renaming methods and updating references. Your point seems to be, that it's very valuable and desirable to keep interfaces constant in published libraries. If that's what you're getting at, I don't disagree. Maybe you should try Eclipse, you might find it has some spiffy tools.

  8. CLI is no longer essential by blair1q · · Score: 4, Funny

    CLI is not essential. It's a holdover from a time when we thought words were a good way to express function. And then left the 'e' off "creat" for kicks.

    Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet.

    1. Re:CLI is no longer essential by preaction · · Score: 2

      The GUI is not good for building tasks from a set of data and a set of actions. OS X's Automator is a good example of the GUI's failure here.

    2. Re:CLI is no longer essential by MightyMartian · · Score: 1

      Have fun automated complex tasks from a GUI.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    3. Re:CLI is no longer essential by Hatta · · Score: 3, Funny

      Everything? I'd encourage you to write an OS using a point and click programming language.

      --
      Give me Classic Slashdot or give me death!
    4. Re:CLI is no longer essential by Anonymous Coward · · Score: 1

      In fact researchers at MIT have come up with a combinatorial GUI to address this very problem. Each admin command is represented by an icon, with the desired information for subtasks connected to the command by a subicon for the parameter and a place to enter the value. You can just drag-and-drop the commands into a list which can be executed at a click of a button.

      Some users are even reporting improved performance through keyboard shortcuts for the commonly used commands. They've cleverly given them short forms so they can be entered easily (e.g. 'creat', 'ps -ef | grep'). Admin productivity in this new Visual Command Environment seems to be accelerating, generating incredible ROI for those who are flexible enough to learn proactively.

    5. Re:CLI is no longer essential by nbehary · · Score: 1

      Did you read the article? (or course not.) It points out a very good example where having a CLI to do a job is vastly superior to a GUI. That's not always true, but there are plenty of examples. That said, I prefer the command line for anything, so I'm biased.

    6. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      And Automator isn't all that it's cracked up to be. Try making a simple batch-renaming tool sometime; Automator is sorely underpowered. Pity.

    7. Re:CLI is no longer essential by WatchMaster · · Score: 1

      your troll-fu no good.

      You can do a lot more complex things on a single line than a screen-sized dialog filled with widgets.
      just looking at my history from today:

                grep [0-9] results.csv | sort -r -n -k 2 | uniq -c

      what kind of gui is good to make that happen?

    8. Re:CLI is no longer essential by Sc4Freak · · Score: 4, Insightful

      Uh, using a GUI doesn't preclude you from editing text. Windows is developed and compiled in Visual Studio, which is a GUI-based IDE.

    9. Re:CLI is no longer essential by randallman · · Score: 1

      GUI is about discovery and until someone comes up with a GUI that can "discover" every possible thing you may want to do, CLI will be the best option for many tasks.

    10. Re:CLI is no longer essential by Dog-Cow · · Score: 1

      That's probably why Mac OS X retains full support for AppleScript.

    11. Re:CLI is no longer essential by geekoid · · Score: 1

      Absolutely it can. OS X's Automator may not work(I don't know) but that doesn't mean GUI's are a failure. It means THAT GUI is a failure.

      I wrote a complete GUI to be used by gray beards back in 99. It had all the functionality laid out, and if they needed to do a command line because the GUI didn't include it, it remembered the command line and made a button/checkbox/tab as needed so next time they wanted to do it, it was in the GUI.

      It even added a hot key.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    12. Re:CLI is no longer essential by StikyPad · · Score: 1

      Likewise, have fun performing simple tasks with a CLI.

      Jesus, why are we having these discussions all over again? 1990 called and it wants its flamewars back.

    13. Re:CLI is no longer essential by war4peace · · Score: 1

      To your surprise, I do just that.
      It's not the GUI itself that is flawed. It's the people who made the GUI who lack skills, such as thinking outside the box.

      After reading TFA, I gasped at the clearly biased GUI description the guy provided. Limit the GUI and it will show its limits. Doh!
      ...But what if the GUI had the possibility to import a CSV/XLS file from an USB thumb or whetever source you can access. A browse button with some code behind it; a "GO" button with some code behind it - big deal. I can code something like this in one hour.

      BTW, this is part of my job: to develop small standalone apps in VBA - which automate repetitive tasks, such as report generation in Excel using multiple (and mainly incompatible with each other) data sources.

      What most CLI zealots don't understand is that a well designed GUI lowers a company's costs by a LOT because you no longer have to train/teach people to do various tasks; point-and-click and a short training is all they need.

      TFA says a good CLI is better than a bad GUI. Wow. Thanky for pointing out the obvious!

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    14. Re:CLI is no longer essential by tsm_sf · · Score: 1

      Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet.

      I'd agree with this in theory, but in practice we've all seen how horrible people are at coming up with new and intuitive interfaces. In order to make a GUI work as well or better than a CLI you'd need to entirely change the metaphor that the CLI is built around, and this probably won't happen and see wide adoption in our lifetimes.

      --
      Literalism isn't a form of humor, it's you being irritating.
    15. Re:CLI is no longer essential by geekoid · · Score: 1

      I read the article, and it in no way indicated that the CLI was better then the GUI. only that the CLI wasbetter then THAT GUI.

      Quite frankly, I would fire some one that didn't allow for the import of files to automate the job.
      That work can be done in a GUI. That is an example is a shameful GUI.

      The idea that a GUI can only do one thing at a time is antiquated.

      It would have been a relevant article 15 years ago.

      Hell, they could have done that work in Excel

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    16. Re:CLI is no longer essential by msauve · · Score: 1

      "Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet."

      Yes, and everything any processor can do can also be done by a Turing machine. That doesn't mean Turing machines are efficient, desirable or the best way to do computing.

      You didn't read the article, and you're not a sys admin, right?

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    17. Re:CLI is no longer essential by suso · · Score: 1

      I find that discovery can lead people to do a lot of things that they don't understand. This is especially bad when it comes to server administration. Things like webmin lead untrained web monkeys to mess with settings that they know nothing about or the ramifications of.

    18. Re:CLI is no longer essential by residieu · · Score: 1

      So we can admit that both GUIs and CLIs have their uses?

    19. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Uh, no, it does not. It uses a poorly made up example. If you ever have to config a routing table in windows, it's actually really easy to grab data from a text file if you know what you are doing (which you'd also need to know to do it from the CLI in the example...

      Because the idiot doesn't know how to do it in windows, but does know how to do it in a Linux CLI, he assumes the CLI is the clear winner.

    20. Re:CLI is no longer essential by kikito · · Score: 1

      "Everything can be done in a GUI"
      False.

      "I don't see why not".
      True.

    21. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      > Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet.

      Many of the programs that I develop are for converting data from one format to another and moving these around between machines. For example extracted orders from a SAP system are fetched, formatted and sent into a warehousing system. The outputs from that system are then assembled in a way that SAP can process them and are sent back using ftp, AS2, MQ or such.

      Sure this could be done by having someone sitting in front of a screen, selecting files from the remote server, dragging and dropping them and then 'File' 'Convert' etc.

      But the customer prefers that it all happens automagically without any intervention at all. None is needed. Stuff is fetched, translated, sent onwards. Exceptions are reported by email. If it is required to monitor what is going on then there are some Apache CGI scripts which produce log file lists and other reports.

      I see far too much crap done with a really nice GUI when the job should be done without a GUI, or any interaction, at all.

    22. Re:CLI is no longer essential by kikito · · Score: 1

      "Likewise, have fun performing simple tasks with a CLI."

      I do, thank you very much. And it is much easier than with a CLI. 80% of the time it's a matter of pressing up and enter.

    23. Re:CLI is no longer essential by flyonthewall · · Score: 1

      Wish I had mod points today.... Mod the parent up (insightful)!

      --
      "The avalanche has already started. It's too late for the pebbles to vote." - Kosh
    24. Re:CLI is no longer essential by yesterdaystomorrow · · Score: 1

      "Everything can be done in a GUI. I don't see why not. "

      Because automation by functional composition is clumsy and unnatural in a GUI. But automation by functional composition is the way you efficiently synthesize what *you* need, not what some code monkey hallucinated your needs are.

    25. Re:CLI is no longer essential by causality · · Score: 1

      In fact researchers at MIT have come up with a combinatorial GUI to address this very problem. Each admin command is represented by an icon, with the desired information for subtasks connected to the command by a subicon for the parameter and a place to enter the value. You can just drag-and-drop the commands into a list which can be executed at a click of a button.

      This is interesting and unfortunately I know little about it. My question very well may come from my ignorance about this system: does every possible argument to every command also have an icon? If so, how do you display all of them in an intelligible way using finite screen space? Imagine doing this with all the potential functions of, say, iptables or gcc.

      Some users are even reporting improved performance through keyboard shortcuts for the commonly used commands. They've cleverly given them short forms so they can be entered easily (e.g. 'creat', 'ps -ef | grep'). Admin productivity in this new Visual Command Environment seems to be accelerating, generating incredible ROI for those who are flexible enough to learn proactively.

      Honestly, if you are able to learn proactively and aren't allergic to performing a bit of basic research, you would have no problems using a CLI. I hope this new GUI system matures into something useful and helpful. Yet if they are targeting the users who don't resent learning new things, the people who recognize an obvious connection between a willingness to make an effort and a better experience, they are going to have a small audience.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    26. Re:CLI is no longer essential by Desler · · Score: 1

      By "good example" you mean one purposefully set up so that GUIs can be bashed? Why would the GUI not have an import action for the text file? Unless a tardo wrote the GUI it would have such a thing.

    27. Re:CLI is no longer essential by blair1q · · Score: 1

      No, we can admit that both GUIs and APIs have their uses.

      CLI only exists because we didn't think of GUI first.

      Take a look at the full listing of a modern program's --help output. Some have over a hundred options.

      You're not doing that in CLI. You're constructing the command in an editor and then saving it in a file and running that from the CLI. Might as well run it from a button and let it get its options from a config file that it saved after you checked boxes in the preferences dialog.

    28. Re:CLI is no longer essential by blair1q · · Score: 1

      You'd be amazed to find out how many factories are run using code "written" in G2.

      You'd also be amazed to find out how many satellite ground stations are processing data in algorithms "written" in LabView.

      Give me a GUI that has a feature set as rich as a programming language, and I'll use it. We'd have some, if we weren't all geeked-out on thinking like compilers.

    29. Re:CLI is no longer essential by Fred+Or+Alive · · Score: 1

      I'm sure that people at Microsoft use Visual Studio to actually develop code for Windows (it is a good IDE), but I kinda doubt daily builds of Windows (and so on) are produced by someone opening "Windows.sln" and clicking "Build". They almost certainty have rather more specialised setups for building Windows (etc) during development.

      PS. you do know the various MS compilers have command line interfaces?

      --
      10 PRINT "LOOK AROUND YOU ";
      20 GOTO 10
    30. Re:CLI is no longer essential by pseudonomous · · Score: 1

      The thing is you can't necessarily fix a bad gui, unless you're working with something where you have access to the source and can replace the code; with cli, you can alway's script your way around a problem. Your programs doesn't validate input? Write an input validater and pipe it through that. Obviously, cli is great for batch operations and automation, as well. Even if it's a black box, proprietary system. Even if you can change the code, which is easier to do? Spend 15 minutes or less working in your favorite scripting language or source the application source, patch it, re-compile if necessary, test, then apply the operation? (Especially if this is a one-off operation).

    31. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Write an OS in VB6? Challenge ACCEPTED!

    32. Re:CLI is no longer essential by blair1q · · Score: 1

      That's just what I was thinking of as I was considering whether to submit the post.

      And I'm still thinking about it. It would take a little doing, but I believe that the proper approach to designing a GUI system would result in a GUI system that could build itself, the way the cc compiler became able after a few iterations to compile itself. such a system, if extended to cross-compiling, could indeed produce object code that would result in a bootable GUI operating system allowing for variation, extension, and propagation.

      It doesn't do to forget that we had to impress the words on the electronics. We were doing it all in 1's and 0's without a care before we decided we wanted it to communicate in our particular language (and not any other language). If instead we'd decided to do things in pictures, with words being mere data, I think we could have, if the ability to make a picture were as easy as making a word (which is in fact rather hard, because you have to make it from letters, which are...well...pictures).

    33. Re:CLI is no longer essential by blair1q · · Score: 1

      one that implements grep, sort, and uniq

      how about you type "about:config" into your browser's address bar and hit Enter

      Now you have a filter (grep), the column headings (sort), and you don't need uniq because you don't have to save the configs to a file to edit later and then be merged into the main config file, because you can just click on the configs right there and make your changes directly, which is what you really want.

      Or you could take your "results.csv", which is a spreadsheet file in text form, and load it into a GUI called "Excel" or something like that, and filter it, sort it, modify it, print it, transpose it, operate on it globally or locally, change its colors, automate its cells so that several change when you change one, yadda, yadda, yadda

    34. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      I'm sure that people at Microsoft use Visual Studio to actually develop code for Windows (it is a good IDE), but I kinda doubt daily builds of Windows (and so on) are produced by someone opening "Windows.sln" and clicking "Build". They almost certainty have rather more specialised setups for building Windows (etc) during development.

      Correct.

      Windows is built using the Microsoft Windows Driver Kit, it's a CLI only environment that uses makefiles to do the build. You simply run "build" in the root directory and it recursively builds everything following the pattern specified by the scripts. A GUI based build server is ludicrous.

    35. Re:CLI is no longer essential by blair1q · · Score: 1

      Larf!

      Are you seriously pretending that a CLI can do "every possible thing"?

      Can a CLI edit a movie interactively?

      That's not even a mentally complicated thing. It's a very simple one. Can you imagine trying to do that from a CLI?

      There are very, very good reasons that CLI's started to disappear into the back of the drawer when GUI programming got easier. And one TFA with a contrary view is not going to make even a slight dent in that. It's more likely that at some point we could do away with CLI entirely, if we can build enough self-modifiability into a GUI.

      I'm not the first to think that. Look up a programming language/system called "G2". 15 years ago it was very popular for building factory-control systems, because its visual analogue to a dataflow graph was a lot like the sort of process graphs that factory designs are built from.

    36. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Change the ownership of all objects in this directory tree websquare/v6 from fred to george. Where the tree contains more objects than any gui I have seen can display (order of 100,000 objects). Simple in CLI, painful in GUI.

    37. Re:CLI is no longer essential by blair1q · · Score: 1

      I didn't read the article because I know what it says, and I've forgotten more about being a sys admin than most of the sys admins here will ever know (and that isn't just a boast it's also likely true, because i knew essentially everything about it at one time and haven't bothered much beyond personal dicking around in about 10 years).

      Most of what you want to do as a sysadmin goes into CLI and scripts because that stuff was all built for CLI back when CLI was a pretty neat way to make your computer interact with you, and that stuff wasn't changed to do GUI because all of the first GUIs were just programs run from the CLI.

      Until Windows did away with that. But it doesn't feel like it because of all that text that scrolls up the screen when you start your Windows machine.

      You do realize, to get to a CLI on Windows these days you have to wait for the GUI to give you the opportunity to start a shell that will take CLI input, right?

      As for Linux, it's basically the identical system to what existed before Windows, and the people developing for it have never thought to just do away with the CLI because then it won't be Linux at all, it will be a Linux Kernel that boots to a GUI no matter what, and all that shit in section 1 of the manual will be dead.

      But even in Windows there's still CLI-isms. The way a desktop link formats the command string with options is really a DOS CLI command. It's the only way they knew how to do execution of one program from within another program, so it's how they did it. They just didn't think to do away with that methodology.

      I'm thinking of ways to do away with it.

    38. Re:CLI is no longer essential by sqldr · · Score: 1

      Have fun automated complex tasks from a GUI.

      This one checks my grammar :P

      Anyway.. heard of dbus?

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    39. Re:CLI is no longer essential by blair1q · · Score: 1

      "Everything can be done in a GUI"

      False.

      Without an example, your claim is unfounded.

      "I don't see why not".

      True.

      Of course, or I wouldn't have said so.

    40. Re:CLI is no longer essential by AstrumPreliator · · Score: 1

      There is such a thing as a visual programming language. I'm sure if someone really wanted to they could wrap a good node based visual programming language around C.

      Although one of the people to respond to you is right, GUIs don't mean no text.

    41. Re:CLI is no longer essential by blair1q · · Score: 1

      Your process doesn't use a CLI, either.

      It may use a scripting language, but there's no reason that couldn't be a programming language or a visual-programming system. Once you're done developing it, it gets stuck in a scheduler database and run by the machine with no interaction.

    42. Re:CLI is no longer essential by furgle · · Score: 1

      was that a straw man or a red herring, I can't remember, - the point "Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet." is still valid even if a Turing machine isn't an efficient way of doing computing. And if you are implying that an unmade solution(Putting everything into a GUI) its not the best way, I would say that it's too early to tell. - or that perhaps we should put more time into the idea.

    43. Re:CLI is no longer essential by blair1q · · Score: 1

      I'd bet any amount of money that you were taught how logic and functions work by someone drawing pictures on a chalkboard, and then telling you how to arrange words to make that picture happen in the computer.

      BTW, ever look inside a computer? They're basically drawn, then printed as drawn, from the circuit board to the CPU chip. The words in there are just so the people building them know where the pick-and-place machine screwed up.

    44. Re:CLI is no longer essential by WorBlux · · Score: 1

      Turing machines, having infinite memory are more powerful than any actual computer.

      He you want to bring a truing analogy, you could say everything implemented on one processor can be implemented on another, but that doesn't mean it would necessarily be helpful to do so.

    45. Re:CLI is no longer essential by msauve · · Score: 1

      Thanks for admitting you haven't read the article, although both your original post and this one make that very obvious. The rest of your post shows that you simply don't "get it," and you definitely flatter yourself about your sys admin knowledge, since it's obvious from your references that Windows is all you ever really knew.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    46. Re:CLI is no longer essential by msauve · · Score: 1

      You haven't read the article either, have you? I'll bet you've never administered an enterprise scale network, too.

      --
      "National Security is the chief cause of national insecurity." - Celine's First Law
    47. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      so can you quickly find all of the .foo.orig files that some gui-using schmuck's shit-tastic merge tool left all over and delete them with a gui?

      find . -name \*.orig -exec rm {} \;

      How about renaming every cpp file in a subdirectory to cxx?
      find . -name \*.cpp -exec sh -c 'cp $1 $(echo "$1" | sed "s/cpp$/cxx/")' {} {} \;

      What about replacing every instance of "FOO" with "Foo" in a file
      find . -name \*.txt -exec sh -c 'a=$(cat $1);echo "${a//FOO/Foo}"' {} {} \;

    48. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Well hell, if that counts then gvim is a GUI-based IDE. For that matter, so is my xterm - it has fancy menus and tabs.

    49. Re:CLI is no longer essential by lennier · · Score: 1

      It's a holdover from a time when we thought words were a good way to express function.

      (video clip of any scene from 'TNG:Darmok')
      (roadsign with an exclamation point)
      (picture of a flying pig)

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    50. Re:CLI is no longer essential by lennier · · Score: 1

      This.

      One thing our current GUIs lack is decent visual 'structured collection' conventions. It seems like it wouldn't necessarily be hard - a box for a collection, a line and arrow for a sequence - and then you could represent something like XML or any other structured-text format, including text-based programming languages, as a composite graphical construct. Then, if you could switch any subnode between text or graphical representations, and zoom in and out... wouldn't that be something?

      Way back when Visual Basic first came out I was excited because I thought Microsoft was sensing this, and could give us access to the whole system in graphical form. But somehow it turned out not to be like that. Walls upon walls. VB vs C++, no way of graphically creating components themselves, lots of stuff with no visual representation, and rapidly evolving visual design languages in each new product line which kept destroying any hope for a universal visual language to emerge.

      Squeak Smalltalk seems to be trying something similar. But it doesn't play well outside its own VM.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    51. Re:CLI is no longer essential by Jaime2 · · Score: 1

      ...They almost certainty have rather more specialised setups for building Windows (etc) during development...

      It's called Team Foundation Server. It is primarily a GUI tool. Tweaking the build process is done with XML formatted build files. The Visual Studio GUI makes editing build files a snap by giving visual assistance. It has foldable sections, intellisense, and color-coding, all made better with an excellent GUI.

    52. Re:CLI is no longer essential by im_thatoneguy · · Score: 1

      You do the exact same thing all day? Sounds dreadful.

    53. Re:CLI is no longer essential by Thing+1 · · Score: 1

      Likewise, have fun performing simple tasks with a CLI.

      Jesus, why are we having these discussions all over again? 1990 called and it wants its flamewars back.

      Yeah, 2009 called also.

      --
      I feel fantastic, and I'm still alive.
    54. Re:CLI is no longer essential by Darinbob · · Score: 1

      But use use Visual Studio to program a textual language that gets compiled or interpreted. That's all a CLI is: a textual language. If GUIs are so awesome that everything can be done with them, then why can't you program totally using a GUI instead of using text?

    55. Re:CLI is no longer essential by kgeiger · · Score: 1

      CLI is not essential. It's a holdover from a time when we thought words were a good way to express function. And then left the 'e' off "creat" for kicks.

      Everything can be done in a GUI. I don't see why not. We just haven't made that happen yet.

      Yet you've expressed your opinion in words. Irony?

      --
      Vision with execution is hallucination.
    56. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Windows is developed and compiled in Visual Studio, which is a GUI-based IDE.

      I do not think you picked the right example.

    57. Re:CLI is no longer essential by war4peace · · Score: 1

      A bad GUI is a bad GUI. Just like a bad CLI is a bad CLI (and I've seen quite a few, yes).
      You don't want to fix a bad GUI in the first place, you want to obtain a good one. If you buy a solution with a bad GUI (e.g. one that doesn't let you change to its underlying CLI for that once-in-a-lifetime operation that it can't perform) then it's your fault entirely.

      I see another interesting bias here: blaming a GUI for being useless in certain situation is wrong; you shouldn't blame the GUI, you should blame the company/people who compiled it.

      We all should realize that we can take the approach the other way around and blame the CLI for its obvious limitations (good luck looking at insightful, realtime, graphical reports/data visualization from a CLI). Does this mean the CLI is bad? No, it means it wasn't built to do exactly that.

      TFA is biased and furthermore gives the wrong example. That's my pet peeve here. I ain't saying that between CLI and GUI, one is better than the other, I'm just saying you can't really compare the two. They have different scopes and one can be altered/designed to do what the other can do, up to some extent, but not replacing each other 100%.

      --
      ...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
    58. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      And if you want to see what happens when you try to do this, take a look at TOAD or any modern CAD application. TOAD has a terrible case of user interface clutter, and every serious CAD application has a CLI behind the scenes because you just can't fit 8,000 (!) buttons and menu items into a GUI without some serious issues with clutter.

    59. Re:CLI is no longer essential by maxwell+demon · · Score: 1

      Can a CLI edit a movie interactively?

      If you write one that can do it: Yes.

      Of course the CLI would still need to show you the video (so in that sense it would be graphic), but other than that, I can well imagine editing with a CLI. For example, you could have a display window above and a CLI window below, and then you could issue commands like

      open "movie.dv"
      play
      <em>(wait for the point where you want to cut)</em>
      stop
      back 1s
      fwd 2f
      cut part1 part2
      delete part1
      open part2
      play
      fwd 40m
      <em>(wait for the point where you want to cut)</em>
      stop
      back 2s
      fwd 3f
      fwd 1f
      cut part1 part2
      delete part2
      save "edited.dv"

      Of course the other question is whether this would be better than a GUI. For playback control I'd say clearly no (esp. you want to stop as quickly as possible; typing "stop" just takes unnecessary time). For actual editing, the CLI might be an advantage for some tasks (especially if there are more advanced tools like automatically detecting a cut).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    60. Re:CLI is no longer essential by maxwell+demon · · Score: 1

      In order to make a GUI work as well or better than a CLI you'd need to entirely change the metaphor that the CLI is built around

      I think you meant: the metaphor the GUI is built around.

      Of course it's easy to make a CLI which is worse than any GUI you could dream of :-)

      --
      The Tao of math: The numbers you can count are not the real numbers.
    61. Re:CLI is no longer essential by maxwell+demon · · Score: 1

      "Everything can be done in a GUI"
      False.

      No, it's true. You can start up a terminal emulator and type your commands there, without leaving the GUI!

      --
      The Tao of math: The numbers you can count are not the real numbers.
    62. Re:CLI is no longer essential by TuringTest · · Score: 1

      Can you point out which MIT project are you referring to? I've found SIKULI but I'm not sure whether it's the same one you're describing.

      --
      Singularity: a belief in the "God" idea with the "demiurge" relation inverted.
    63. Re:CLI is no longer essential by MichaelSmith · · Score: 1

      I started my son using Scratch. Its good fun if you are eight years old. But Scratch is just coding by dragging and dropping code. I suppose UML is the visual 'structured collection' thing you are talking about. Managers where I work get bitten by the idea regularly. The projects never actually work though, but I think the problem is the assumptions built into the back end of the UML environment. You pretty much have a to build a back end for every domain.

    64. Re:CLI is no longer essential by Sc4Freak · · Score: 1

      I said "compile", not "build". :P

      Windows is compiled using MSVC, which is the Visual C++ compiler. Their actual build process would definitely be more complicated than hitting F5 in VS.

    65. Re:CLI is no longer essential by ClioCJS · · Score: 1

      Everything can be done in a GUI, but not nearly as easily. What if you need to delete every .BAK file in a folder tree that has 100 folders, each of which has 100 subfolders? CLI you say "del /s *.bak". GUI, you go in and manually delete 100*100 times, taking hours. Or you can maybe use a find program that gives you your results in a list that you can then delete. It's not gonna be as quick.

      --
      -Clio
      Karma: Bad (mostly from not giving a fuck)
      Blog: http://clintjcl.wordpress.com
    66. Re:CLI is no longer essential by Gonoff · · Score: 1

      Did you actually read the article?

      He never argues that a GUI cannot do the job. He argues that it is much more complicated. The example he gives has the same job being done both ways.

      I can give a simpler example. Imagine you have a folder with a huge ammount of pictures that you have been sent from different sources. Your software can deal with most of them but will not even look at .JPEG files. How do you rename them to .JPG?

      Assuming this is a Windows PC, open the folder and fo a lot of pointing, right-clicking and typing - or call up a command prompt and type
      REN *.JPEG *.JPG

      I think changing to the appropriate directory could tane anything from a few seconds to half a minute. The command would process hundreds of files in a minute - possibly even more.

      On a Windows PC, there is very little that can't be done by GUI. If there is a CLI alternative, it may be easier, faster and more accurate. You can choose...

      --
      I'll see your Constitution and raise you a Queen.
    67. Re:CLI is no longer essential by imsabbel · · Score: 1

      Never used LabView?

      --
      HI O WISE PRINCE. WHT TOOK U SO DAM LONG?
    68. Re:CLI is no longer essential by Geminii · · Score: 1

      Your point being...? :)

    69. Re:CLI is no longer essential by amliebsch · · Score: 1

      See, this is an example where the CLI is faster *for you* because you know how to use the CLI effectively and do not know how to use the GUI effectively. For someone who doesn't know the del switches off-hand but does know how to use the GUI better than you do, the process doesn't take much longer at all:

      1. Open the root folder of that tree in Explorer.
      2. Type *.bak in the search box.
      3. Select all results.
      4. Delete.

      It might take *slightly* longer. Certainly not "hours." If the folder is indexed for the shell (as local disks are by default in Explorer), it will actually be much faster than the CLI because it doesn't need to traverse directories.

      --
      If you don't know where you are going, you will wind up somewhere else.
    70. Re:CLI is no longer essential by amliebsch · · Score: 1

      Point taken, but that might not be the best example any more. In Win 7, you would open the folder in explorer, type *.jpeg in the search box, select all results, and change a "jpeg" to a "jpg." Arguably quicker, particularly if there are nested folders!

      --
      If you don't know where you are going, you will wind up somewhere else.
    71. Re:CLI is no longer essential by ClioCJS · · Score: 1

      Yea, I addressed what you just said when I wrote: "Or you can maybe use a find program that gives you your results in a list that you can then delete. It's not gonna be as quick." So I'm not sure why you just made my own point for me. I just tried this out, and, y'know what? The directory traversal is far slower than the command-line I use. Maybe it's because I turn indexing off, but indexing slows your system down such that your cumulative delays far outweigh the time it takes to type "del /?". All in all, I'm still 99% convinced that my way will take less cumulative user time.

      --
      -Clio
      Karma: Bad (mostly from not giving a fuck)
      Blog: http://clintjcl.wordpress.com
    72. Re:CLI is no longer essential by kikito · · Score: 1

      I program.

      Appart from writing text files, the things I need are - repository related stuff (committing/branching), executing tests and launching servers.

      It is not dreadful at all.

    73. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      CLI only exists because we didn't think of GUI first.

      Ha! Get off my lawn!

      Computers were text based for decades before they had the power to support graphics. Even today it's easier to remotely manage computers via text vs graphic unless you're lucky enough to have a big fast pipe.

    74. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Windows is developed and compiled in Visual Studio, which is a GUI-based IDE.

      This is blatantly untrue. Visual Studio is not used by Windows in most cases, Source Insight is. It is a GUI agreed, but it is not Visual Studio.

    75. Re:CLI is no longer essential by marcosdumay · · Score: 1

      The distinction between an "Aplication Programming" Interface and a "User" Interface is an artificial one that shouldn't exist. The Unix CLI did make that point clear, then everybody forgot (mainly because there wasn't any money on it) and got out ot create our current GUI.

      In a very low level, sure, there is no reason to restrict your monitor to only display some symbols. Why not be able to access every pixel? But our current GUI didn't even come close to replace the CLI. As a related point, take a look at how many options a modern program puts on its menus, some do even include a CLI because the GUI isn't suitable for that many options.

    76. Re:CLI is no longer essential by marcosdumay · · Score: 1

      Probably did, otherwise he wouldn't be so sure that it is impossible to write complex software by pointing and clicking.

    77. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Is it? For years MS did not eat their own dog food on this one. Maybe they are now, but they did not in the past.

    78. Re:CLI is no longer essential by pugugly · · Score: 1

      And I can just imagine how annoying that was after the 5th extra button was added for something done once, three months ago, that doesn't work for anything else because a of a specific parameter -

      Urgh - talk about the worst of both worlds.

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    79. Re:CLI is no longer essential by blair1q · · Score: 1

      All you're getting out of that last bit is that the program doesn't have to remember its functions, the user does. So instead of starting a program, clicking on a menu, and selecting the thing I want, I have to read a manual, then start a program, telling it the thing I want.

      So the manual is the menu. Only it's not part of the program. And I can't just click on the thing I find in it to make it happen, I have to go enter the words in a generic program interface (a shell prompt). Which, it turns out, did know the function after all, because that's how it matches the word to the code module to run.

      So all you've done there is to add this subprocess of making the user refer to external information then copy it manually into the program that already knows it but refuses to admit it. (And no, having the full usage info dump when you do "foo --help" isn't really a fix, because the user still has to enter the command; the program, again, knows the magic word well enough to say it, and to recognize it, but doesn't know enough to just use it as an input device).

      The Unix CLI did an awful job of pretending that the CLI was the API. VxWorks' shell does it somewhat more faithfully, but botches a lot of other stuff so I wouldn't recommend it as an example.

    80. Re:CLI is no longer essential by blair1q · · Score: 1

      Computers were switch-and-lamp based for decades before they had the power to support character-based i/o, and even that involved manual or mechanical punching of holes in paper media.

      If the CRT had come sooner than it did, and TVs had developed a pointer interface (vernier knobs and a dot and a button for selecting channel frequencies from an analog on-screen scale, for example), we might have had the mouse and GUI before we ever had text i/o, and we'd have done object orientation and GUI-centrism the right way, instead of being all scripty like we are.

      Actually, as I think about it, a radio dial is an ideal example of a GUI, albeit one with only one displayable dialog.

      But we went digital so hard that instead of porting over those elegant i/o modalities we decided to scale-up the digitalism and use letters and words built out of our 2-bit numbers. And we thought we were pretty smart about it, too. Now we're paying for it.

    81. Re:CLI is no longer essential by hacksoncode · · Score: 1

      He said an *operating system*.

      </karmawhore>

    82. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      Everything? I'd encourage you to write an OS using a point and click programming language.

      I think that's what Vista was, wasn't it?

    83. Re:CLI is no longer essential by pugugly · · Score: 1

      Uhh - no. GUI's are for people that, y'know . . . need the box. That's pretty much the point?

      Pug

      --
      An Invisible Entity of Vast Power whose existence must be taken on faith alone: Liberal Media
    84. Re:CLI is no longer essential by marcosdumay · · Score: 1

      Obviously, we could go with something better than the Unix CLI. But that doesn't take away from the argument that current GUIs aren't well suited when you have too many options. Even the CLI toghether with a manual is better suited for that.

      And, yes, I agree, that pushes the need of remembering the software functions into the user. That isn't good. Having a too full of options GUI (as we understand them) would have the same problem (the user will have to memorize the path to get the commands), and would create a lot of other problems.

    85. Re:CLI is no longer essential by blair1q · · Score: 1

      If you have a need to do things with a large number of options in a large number of different ways (thus the need to use a large number of different configurations of the options), it's likely that your program is ill-designed, and what you really want is to make your data more object-oriented, so that you can say "datum.foo()" and it knows how to handle its particular case, instead of having to say "foo(datum,option1[data],option2[datum],option3[datum],..." To the point that the code to execute foo is actually different instructions, and easier to understand and maintain.

      That's kind of why we invented OO.

    86. Re:CLI is no longer essential by marcosdumay · · Score: 1

      Well, it seems you lost the context of the conversation. How do OO relates to the CLI vs. GUI dicotomy?

    87. Re:CLI is no longer essential by Risen888 · · Score: 1

      Well, that depends on what kind of "complex task" you're talking about it. I find myself batch editing id3 tags constantly. Constantly. Easytag does it for me. OTOH, when I have to batch-edit images, it's imagemagick all the way.

      Sorry if this is kind of a sidebar, but thinking about that just now, I think what makes Easytag good at what it does is that it's really several command-driven interfaces brought together in a graphical interface.

      I don't have a point here, if you hadn't noticed.

      --
      Hey, I finally got my first freak! Took you long enough!
    88. Re:CLI is no longer essential by Anonymous Coward · · Score: 0

      yeah, try writing a GOOD OS using a point and click programming language (don't get upset i keed the lame oss)

    89. Re:CLI is no longer essential by furgle · · Score: 1

      You haven't read the article either, have you? I'll bet you've never administered an enterprise scale network, too.

      I read the article, And it does't mention Turing machines at all.But was talking about your comment and the comment prior with no relation to the article.

      No I haven't administered an enterprise scale network. The networks I have administered have not been that large. However whether I have or have not administered an enterprise scale network has zero weight over whether your argument was logical falicy, in this case a strawman (I looked it up). Which it is your argument about a Turing Machine is a strawman:
      Straw Man Arguing against a position which you create specifically to be easy to argue against, rather than the position actually held by those who oppose your point of view.
      and further more this:

      You haven't read the article either, have you? I'll bet you've never administered an enterprise scale network, too.

      is Ad Hominem. You are attacking the person and not the argument.
      I only object because your authority, being a sys admin and you've read the article. - perhaps you would like to elaborate why you cant do certain things with a GUI. How can simple plebs like me be expected to learn about this when bastions of knowledge like yourself hold back?

      As a side track : would you call the consoles on the "Starship Enterprise" a CLI or GUI?

    90. Re:CLI is no longer essential by badkarmadayaccount · · Score: 1

      Sounds like Eclipse with a lot of extensions.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
    91. Re:CLI is no longer essential by badkarmadayaccount · · Score: 1

      VLC advanced options pane is pretty close.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  9. Because its magic by suso · · Score: 2

    I can back up the claim that the CLI is making a huge come back. I run a feed on twitter and identi.ca called @climagic that is becoming very popular. I think that people are trying to find ways to do the things that they need to do in GUIs and when it can't be done, they find that it is easier to access and manipulate your data using Unix command line tools in very efficient ways. Does that mean that its great for everything? No of course not, I'll admit that I use the GUI for many things too, in fact, I do graphical work in Blender and Inkscape and listen to music in Pandora and do my browsing in Firefox because it works well for me, but in many places, I can get my work done using the CLI and still wow people with iPhones and Androids in 2011.

    1. Re:Because its magic by clutch110 · · Score: 1

      I love your feed, I have been following you for quite a while on twitter. I know a lot of the tips and tricks that come up but at least once a week something new to me shows up.

      I have been a systems administrator for over 10 years and I find the command line invaluable. Even the geophysicists ask me to write quick one use awk scripts to format a file into something usable.

    2. Re:Because its magic by suso · · Score: 1

      Thanks for the feedback. I would love to click on the link for your user and select to make you a friend, but unfortunately the GUI seems to be broken and of all the advanced things that you can do in a web browser, it has lost the ability to do the most basic function. It seems to be something with Slashdot as I've tried to click on comment links on different browsers and even from other computers. What is up with that? Some new Slashdot bug?

    3. Re:Because its magic by FiloEleven · · Score: 1

      It is indeed a new slashdot bug. You can however right-click and open the link in a new tab, at least on Chrome.

      There's another place the GUI is king! You can't use the CLI to right-click and get a context menu in order to circumvent a stupid bug that was introduced by changes to the...uh...

      Never mind.

    4. Re:Because its magic by Thing+1 · · Score: 1

      What is up with that? Some new Slashdot bug?

      Yes. I noticed it over the weekend, and it was fixed this morning -- at any rate, tabs I opened this morning did not have the behavior -- and, the background of the preview is now yellow, showing that something else changed overnight as well.

      The behavior in my case was that I would attempt to copy-and-paste from the body of a post, and it would scroll up as soon as I released the mouse. I think that there may have been an overlap with the key handler and mouse click handler? It seemed like it was going to the parent, but I didn't test the behavior, and can't now. At any rate, it was rather frustrating trying to respond to posts this weekend.

      Another behavior that I saw: when I would middle-click a link in a comment, it would perform the same action as attempting to copy, and no tab would open. Fortunately I tried and succeeded at a workaround: right-click, and "Open Link in New Tab".

      I did some research to see if it was public what the code change was that might have caused this, and who the author is in order to provide feedback and direction towards code reviews, staging servers, and test harnesses. I did not find much; here is Slashcode on Slashdot; click through to the site for it, and the first news item is (calling) from 2009 and says they hope to update the public repo weekly. Looking in the repo, it was also calling from 2009. So there don't seem to be any public recent commits.

      Just now I tried a second search, and ended up on the "Tech" FAQ page, which had a link under Can I have your poll scripts? to Slashdot source code; when I middle-clicked on it, I got a tab with a 503 error. I closed all the tabs and was going to submit this, then thought I should report that 503 as well. I re-opened the tabs and now the behavior is different; now it appear to loop back to the page. Aha, it's to an anchor to an element (te500) that is two items below it, and the page is so short it doesn't scroll much. This is not a standard, but: if the page had a bunch of "blank lines" at the bottom then the anchor's behavior would make more sense, so that it would scroll so that section was at the top of the page. The size of the extra area could be defined via a JavaScript call to determine the height of the browser window, and add exactly one height to the end; that way, if there was an anchor on the last line of the page, it would still be shown at the top. The downside of course is the user might keep scrolling. (In fact, some pages that I opened in Slashdot over the weekend did have a bunch of extra blank space at the bottom, so perhaps someone was already thinking in that direction?)

      Something else I noticed, as I was determining that the anchor above (te500) was in fact two sections away: the section between them is not in bold, and looks like a link but cannot be clicked on. Looking in the code, I see that the </a> tag, the CR, and the <h2> tag appear to be missing, after the <a name="te350" id="te350"> and before the "Can I import Slashdot headlines?"

      Back to the original issue: now I see from your post that the erroneous code not only affected the entire comment body (I was finally able to copy, but what a struggle!), it also affected the header items as well (which I did not click this weekend). I hope that this provides a valuable bug(s) report.

      --
      I feel fantastic, and I'm still alive.
    5. Re:Because its magic by gfreeman · · Score: 1

      You need to do it from the CLI

      (g, d &r)

      --
      Ceci n'est pas un sig.
  10. Dark ages of the C:\ prompt? by cfournie · · Score: 1

    Well of course nobody wants to continue to use a Windows CLI, it IS from the dark ages.

    1. Re:Dark ages of the C:\ prompt? by causality · · Score: 1

      Well of course nobody wants to continue to use a Windows CLI, it IS from the dark ages.

      That's quite an understatement.

      PowerShell is a substandard imitation of what Unix shells have been providing for decades now, but in terms of Microsoft's offerings at least it represents progress. Now if only they'd stop using primitive throwbacks like drive letters and provide file abstractions for devices then they'd be well on their way towards reimplementing Unix.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    2. Re:Dark ages of the C:\ prompt? by Desler · · Score: 1

      PowerShell is a substandard imitation of what Unix shells have been providing for decades now

      What is substandard about it? It provides pretty much ALL the functionality of Bash. Plus it allows you to do work on objects which means you can script actions on COM objects through it. The only people I see who call it substandard or whatever have usually not ever used it or used it maybe 6 years ago and ignore all the changes made since. Sort of like people who still bash Windows for things that haven't existed since Windows 95.

    3. Re:Dark ages of the C:\ prompt? by causality · · Score: 1

      PowerShell is a substandard imitation of what Unix shells have been providing for decades now

      What is substandard about it? It provides pretty much ALL the functionality of Bash. Plus it allows you to do work on objects which means you can script actions on COM objects through it. The only people I see who call it substandard or whatever have usually not ever used it or used it maybe 6 years ago and ignore all the changes made since. Sort of like people who still bash Windows for things that haven't existed since Windows 95.

      Actually someone else has began to illuminate its shortcomings so I need not bother replicating what he has already said. Part of the real power of Unix shells comes from a fundamental tenet of the Unix philosophy. Specifically, the rule of modularity. With Unix shells it is quite easy to connect multiple unrelated programs together to perform an overall task with a single command line, even if the programmers never anticipated that specific use scenario.

      As I previously said, Microsoft has definitely made progress but they have not yet equalled the power of the Unix shell, let alone surpassed it. I am glad they don't talk so much about innovation anymore. It'd just be insulting to anyone who recognizes the way they are just recently getting around to things that Unix has done for decades. Literally, for decades.

      --
      It is a miracle that curiosity survives formal education. - Einstein
    4. Re:Dark ages of the C:\ prompt? by sqldr · · Score: 1

      I quite like powershell! It's bash with its '[ is a command' syntax, and where it falls over with [ $FOO -a $BAR ] stuff when one of the variables is empty due to interpreting it first as a string rather than positional arguments that annoys me. Then again, if i'm writing more than 8 lines, I tend to drop bash. Most of the power in bash is all the other commands you can use, but they all have different syntax. 'date' has its own multitude of output strings, sed could really do with a PCRE mode (ok, you could just do perl -e, but surely that's overkill), Every unique task involves reading a different man page. And as for its advanced substitution/globbing syntax... yuck!
      As for file abstractions, you've got a gigantic .net api at your disposal. Why do you want to be poking around mmap(2)ing /dev/audio? Digging stuff out of /proc is pretty damn useful, but only after you've mangled its textual content through backticks because bash has no concept of an integer. Which leads to mistakes occasionally.

      I've used bash heavily for about 16 years now, and I still occasionally try out the radically different alternatives (I played with esh for a bit), but generally go back to using zsh, which is at least has slightly saner logical constructs than bash. eg. the alternative [[ $FOO && $BAR ]] syntax is more idiot-proof than the example above. [ $FOO -a $BAR ] is still there for the sadists if they want it.

      --
      I wrote my first program at the age of six, and I still can't work out how this website works.
    5. Re:Dark ages of the C:\ prompt? by benjymouse · · Score: 1

      Actually someone else has began to illuminate its shortcomings so I need not bother replicating what he has already said.

      Only he was wrong.

      Part of the real power of Unix shells comes from a fundamental tenet of the Unix philosophy. Specifically, the rule of modularity.

      And then type ls --help and witness the plethora of output-controlling options. Why does ls need to have so many options? Because this is where the Unix philosophy breaks down, that's why. ls doesn't just do one job anymore. It has been extended to care the needs of commands that usually follow it on the pipeline. Indeed, why does a command which should do one thing have any formatting options at all? And why do we have other similar commands with overlapping functionality, like find or du?

      Then consider PowerShell. There ls does one job: It returns objects (filesystem objects or other objects depending on location). Formatting is left to cmdlets such as ft, fl, ft (Format-Table, Format-List and Format-Wide respectively). You can certainly argue that PowerShell is more true to the Unix philosophy than bash or bourne.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  11. Too long; skimmed it by Anonymous Coward · · Score: 0

    I read the first couple of paragraphs, got bored, and skimmed the rest.

    So, he prefers command lines for admin stuff. I can understand that if that's what you do day in and day out. There's nothing more efficient - especially if you're running scripts which you really can't do with a GUI.

    For the rest of us who may do a particular admin task once a year, a gui is a wonderful help and makes thing MUCH easier.

    Administering Linux became so much easier when the GUI admin tools came out years ago - oh, and it made SAMBA actually usable for us average people!

  12. Why is it either-or? by Anonymous Coward · · Score: 1

    GUIs are great for repetitive, predictable functions and data visualization.

    CLIs are great for ad-hoc processing.

    People who need a GUI to do complex processing of a one-off chunk of data are just as incompetent as people who set up a text-based way of monitoring a 4000 node network. They're tools, people, the screwdriver will NEVER replace a hammer.

    1. Re:Why is it either-or? by Culture20 · · Score: 1

      Why? Because this is /. We don't dip our chocolate bars in the peanutbutter jars here. You might as well say you prefer emacs for programming but vi for conf file editing. Waffler.

  13. Steeper Learning Curve by asnelt · · Score: 2

    A command line is more flexible than a GUI could ever be. It just has a steeper learning curve. Since computers are more mainstream these days GUIs are more prevalent. That doesn't decrease the value of command lines though.

    1. Re:Steeper Learning Curve by theweatherelectric · · Score: 1

      A command line is more flexible than a GUI could ever be. It just has a steeper learning curve. Since computers are more mainstream these days GUIs are more prevalent. That doesn't decrease the value of command lines though.

      It depends on the task. A command line interface will never be as good as a GUI for image editing, for example. Ultimately, graphical user interfaces and command line interfaces have different strengths and weaknesses. Use whichever one is the most appropriate for the task at hand.

    2. Re:Steeper Learning Curve by geekoid · · Score: 1

      In what way is a command line more flexible. Please be sure to keep your answer relevant to modern GUIs and GUI principles. Don't use a bad GUI design to 'prove' your point unless I can sue bad CLI to 'prove' mine.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    3. Re:Steeper Learning Curve by kikito · · Score: 1

      I don't think that's true. Once you have seen a command-line program, you have seen all of them (ok, 95% of them).

      On the other hand, every GUI-based program is different. You can't use the knowledge you gained on Visual Studio to work with Eclipse.

    4. Re:Steeper Learning Curve by lennier · · Score: 2

      In what way is a command line more flexible.

      In short? A command line in the Unix sense is more flexible than a GUI in the Windows sense because in the Windows paradigm, there is no general graphical equivalent of a text editor. The closest equivalent is a graphical form builder as in Visual Studio, but you can't create, for example, a Powershell or VBScript file simply by dragging graphical components around. There's no inherent GUI reason why this should be the case and it would be super-neat if you could. But at the moment, you can't.

      But even if you could create fully visual 'scripts' , a second way in which the command line is superior is that it is a 7-bit clean ASCII serial transport, which means that you can send a script through email, back it up securely, and transport it to other systems. GUI components are extremely tied to very specific OS and machine versions and do not transport or save well.

      I believe this is a bad side-effect of the object-oriented programing philosophy that grew up alongside GUIs, which made opaqueness of implementation a religious tenet without realising that opaqueness prevents portability. OOP's encapsulation and data hiding rules almost deliberately reject portability, which is ironic because that's the opposite of OOP's proclaimed intentions.

      If a standardised 7-bit clean text serialisation were created for every visual object on a Windows-like system - preferably one which was also cleanly human-editable as text - then we'd have something. But I think you'd have to deliberately break some deeply treasured OOP thinking to get there.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    5. Re:Steeper Learning Curve by lennier · · Score: 1

      I don't think that's true. Once you have seen a command-line program, you have seen all of them (ok, 95% of them).

      On the other hand, every GUI-based program is different. You can't use the knowledge you gained on Visual Studio to work with Eclipse.

      Interesting you should say that, because precisely the opposite was true in the 1980s on the IBM PC and MS-DOS platform. We had a whole marketplace of application software - WordStar, WordPerfect Lotus 1-2-3, Microsoft Word for DOS, dBase II - all of which had completely different command keys. When GUIs came along, the first thing they did was standardise basic functions like menus, navigation, and system utilities like fonts and printing.

      If you weren't there, you can't imagine how unutterably hideous it was for every word processor to have to install its own printer driver. Or the Lovecraftian gibberish that was WordPerfect's function key template overlays. It used all ten F-keys, plus Ctrl, Alt and Shift. Mortal mind could not remember them all. If you pressed 'F1' it was not help. If you pressed 'Escape', it repeated the next action.

      But now - at least until the last few years, before Microsoft's 'Ribbon' and Apple's i-devices - you knew if it's a GUI, it'll have menus, the left one will be 'File' and the right one 'Help', you can get context menus with right-click...

      Now Apple and Microsoft (and GNOME 3) are doing their best to throw away 30 years of standardisation, and that's going to be like the 80s babel all over again, for you youngsters who missed it. Have fun!

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    6. Re:Steeper Learning Curve by FiloEleven · · Score: 1

      Emacs and Vi are certainly at least as different as Eclipse and Visual Studio. There is plenty of room on the command line for appreciably different paradigms and conventions.

      The advantage of the GUI is that it can potentially make actions both more implicit and more immediate. For an example of immediacy, to copy a file from one place to another on the command line you must navigate to the source file and then execute the copy command which requires a degree of planning in that you must know the destination. In a GUI you must navigate to the file, but then you are free to copy it to the clipboard without knowing where your destination is yet. In another case, you may have just dumped a month's worth of photos from your camera (or a bunch of CDs) onto your computer and would like to organize them, specifically by putting all photos taken of hot chicks in a "hot chicks" folder (or favorite songs into a "favorite songs" folder). Tasks like these lend themselves to a GUI because it's not really a batch process--a human decision is required for each element (and GUIs have thumbnails!). In this case using the mouse to select files in a list is bound to be faster than typing them out into a move command, even with auto-complete. There is an immediacy to spotting a file and selecting it with the mouse that is difficult to replicate in the CLI. (On the other hand, keyboard shortcuts are very CLI-like.)

      By "more implicit" I mean that, given certain nearly universal conventions, GUIs provide a more analogous way to interact with the computer. Both examples above illustrate this, and another would be clicking on the desired color in a colorbox versus specifying an RGB value. "Picking up" something and "moving it" with the mouse is a closer analogy to how the real world works than is writing or speaking a command unless you're a king or wizard or god--which is why most CLI aficionados wear beards.

      The advantages of the command line are of course its repeatability, its modularity and its explicitness, which in the grand tradition of the CLI I need not speak verbosely about.

      "Flexibility" is too ill-defined to discuss without further clarification, though I suspect that further clarification would result in CLI advocates eventually substituting "modularity" and GUI advocates eventually substituting "versatility."

    7. Re:Steeper Learning Curve by frizop · · Score: 1

      If a standardised 7-bit clean text serialisation were created for every visual object on a Windows-like system - preferably one which was also cleanly human-editable as text - then we'd have something. But I think you'd have to deliberately break some deeply treasured OOP thinking to get there.

      I honestly just wish they would continue down the Exchange 2010 path where all GUI windows have a little PowerShell button, you click the button and there is the commands you would need to run in order to get this scripted. I think its an excellent addition to the way you're already used to doing something with the extensibility UNIX fans crave. We could argue about how much better bash et al. are, but I think this is pretty good for windows cli.

  14. I don't have a strong opinion by Presto+Vivace · · Score: 2

    except that software should be accessible by design, and GUIs have issues for blind people.

    1. Re:I don't have a strong opinion by geekoid · · Score: 1

      And the CLI has issue with the handless.

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:I don't have a strong opinion by Presto+Vivace · · Score: 1

      wow, I had not even considered that. There is a reason for the 508 rules.

    3. Re:I don't have a strong opinion by Asm-Coder · · Score: 1

      I'm curious, how is a gui better for the handless? I know some people use computers with sticks that are attached to a headband, but that seems like it would be easier to use with a keyboard rather than a mouse.
      The only thing I'm coming up with is some sort of eye-tracking program, but I don't see why that couldn't be used with an actual keyboard, if not a virtual one. I'm not going to guess at whether or not it's faster, but I imagine errors from faster "typing" could be corrected in much the same way that swype corrects typing on touchscreens.

    4. Re:I don't have a strong opinion by avatar139 · · Score: 1

      Mod parent up please! My brother's legally blind, has very poor hand use and is confined to a wheelchair, but even he can still use OS X just fine as long as someone's configured Universal Access for him beforehand!

      --
      I'm honest enough to admit I lie to myself.
    5. Re:I don't have a strong opinion by Anonymous Coward · · Score: 0

      Actually some of the best interface experiences for the blind are done with a graphical user interface. Take a look at Apple's accessibility videos for iOS as a good example. The blind community is loving the iPhone and the iPad.

    6. Re:I don't have a strong opinion by Anonymous Coward · · Score: 0

      except that software should be accessible by design, and GUIs have issues for blind people.

      Why? I don't mean this in a way to kick around disabled people, point at them and laugh. I mean this in the way that disabled people have inherent disabilities that prevent them from performing certain tasks as capably as others. I'm all for making everything accessible to the people who cannot otherwise be able to use that feature. That doesn't mean we should suddenly create a universal rule that says anything that can't be used by a handicapped 3 year old should be thrown out a window

      Software should be designed to be as usable as possible. Whether that's a 50 year old senior OS developer or a 90 year old grandma who just turned on her first PC. It doesn't mean to create a draconian program that guillotines any method that can't be used by everybody on the planet.

    7. Re:I don't have a strong opinion by Anonymous Coward · · Score: 0

      The "accessibility" argument, choosing a different disadvantaged group:

      Software should be accessible by design, and computers have issues for stupid people.

      We should design everything, EVERYTHING with those people in the forefront of our minds.

      What? Do you have a problem with that? I bet you just want to execute all the stupid people. That would be easier for a fascist like you. (Guilt bomb deployment successful.)

      Yes, it's true that 70% of blind people are unemployed. But, believe you me, the fact that your website design uses tables for layout is what's killing them.

  15. Because of bad examples by ArchieBunker · · Score: 0

    Ever see an NFS server not work because the config file had a space instead of a tab? How about something not working because you picked two options that conflict with each other? A gui would not allow that. Thankfully apache split httpd.conf into multiple files because it was getting several thousand lines long. A gui could have all those options in a few tabs and a hovering help box if you really wanted.

    Yeah yeah scripting blah blah, multiple setups, how about taking a screenshot of the gui?

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:Because of bad examples by Anonymous Coward · · Score: 0

      Many programs allow you to check if your configuration file is OK before using it. In fact, even Apache has 'configtest' for that.

      Do they check if it does what you want? No. But neither do GUIs.

      how about taking a screenshot of the gui

      How about it?

    2. Re:Because of bad examples by Anonymous Coward · · Score: 0

      Ever see an NFS server not work because the config file had a space instead of a tab? How about something not working because you picked two options that conflict with each other? A gui would not allow that. Thankfully apache split httpd.conf into multiple files because it was getting several thousand lines long. A gui could have all those options in a few tabs and a hovering help box if you really wanted.

      Yeah yeah scripting blah blah, multiple setups, how about taking a screenshot of the gui?

      Maybe you should learn how to configure your editor to show you the difference between a tab and a space. My default vim profile does just that, and so much more.

    3. Re:Because of bad examples by tweak13 · · Score: 1

      How about something not working because you picked two options that conflict with each other? A gui would not allow that.

      Why not? There's nothing inherent about a GUI that prevents you from making mistakes. A poorly designed GUI could very well allow you to select conflicting options, and a good one could make it obvious and prevent it.

      On the other hand, a program using a text based config could just fail silently, or it could print a useful error message that points you directly to the problem. I'm quite certain you can make configuration from great to shitty and everywhere in between in either a GUI or CLI environment.

    4. Re:Because of bad examples by Doogie5526 · · Score: 1

      In the larger and and more critical config files usually we'd validate and keep it under revision control. Unless it's writing out an ascii config file, it's hard to diff a gui or work with example configs. It would be a major pain to take a screen shot of every tab if it's as vebose/complex as you described (and even harder validating from a screen shot of an old config).

      The gui can have niceties like drop downs for enumerated lists or auto-correct for formatting (such as phone numbers).

    5. Re:Because of bad examples by causality · · Score: 1

      Ever see an NFS server not work because the config file had a space instead of a tab?

      That's what we call bad design. Bad design can and has severely screwed up GUI interfaces as well. You had to specifically choose NFS because you are no doubt aware that the vast overwhelming majority of text config files do not care about whitespace and would not have this problem. This is an instance of the exception that proves the rule. It actually weakens your case when this is put into perspective.

      How about something not working because you picked two options that conflict with each other? A gui would not allow that.

      A CLI won't allow that either -- you'll get an error message when you run the program with a faulty config file.

      Thankfully apache split httpd.conf into multiple files because it was getting several thousand lines long.

      More cherry-picking that doesn't represent the majority of command-line tools. You have an opinion and I get that. The need to validate it by cherry-picking only those examples that reinforce it is known as confirmation bias. It'd be a lot more intellectually honest to acknowledge that what you have is a mere preference, that others are not bothered by the things about which you raise objections. In fact, others downright like them and think you're perfectly entitled to agree or disagree with their tastes.

      Apache is a versatile daemon that can do many different things. There are GUI tools both commercial and open source that can configure an Apache server. Webmin is a free open source tool that can do that among many other things. Apache-GUI is a commercial tool. There are others beyond those two examples. If you are editing the Apache config files with a text editor on the command line it's because you are choosing the method that suits you.

      Incidentally a long config file doesn't bother me. Hitting page down a few times is a similar amount of work to me compared to closing the file I'm working on and loading the next one in the text editor. The search function of any decent text editor is how you jump to the section you want instantly. I'll add that most users don't need to tweak every possible option of a complex daemon. Many times, you can use a small config file containing just the options you need. The long-form config files provided by default tend to be configuration examples for reference, with the majority of the content being comments to document them.

      A gui could have all those options in a few tabs and a hovering help box if you really wanted.

      And if you really want, you can normally use a GUI that ultimately produces the same text config file you could have also made on the command line with a text editor. Most common programs have at least one available; many have several from which to choose. You still retain all the advantages of a human-readable text file that can be easily backed up, can be easily edited if something happens to your GUI or it is unavailable (i.e. an SSH session that doesn't have X), can easily be copied to other systems when you need to replicate settings, etc.

      Yeah yeah scripting blah blah, multiple setups, how about taking a screenshot of the gui?

      If the GUI could accept that screenshot as input and automatically check all the boxes for you, so that the GUI now matches perfectly the contents of the screenshot, that might be useful. Otherwise you're back to doing it manually and you're back to doing it the way you prefer -- CLI or GUI.

      Use whichever one floats your boat. Really. I won't try to stop you. I don't need to feel secure about myself by converting you to my way of doing things. That's why I don't need to pretend like my way is

      --
      It is a miracle that curiosity survives formal education. - Einstein
  16. The invention of viris... by Super+Dave+Osbourne · · Score: 1

    I'm not sure if this is the case, yet it seems GUI layers of garbage introduce a layer of viris vulnerabilities. CLI, I'm game with it.

  17. Powershell by jholzer · · Score: 2

    cmd.exe is a terrible shell. The new Powershell Microsoft has is pretty nice. I like it more than Unix shells. I find passing objects between commands to be easier. Now Microsoft just needs to dump their console.

    1. Re:Powershell by Alex+Belits · · Score: 0

      I like it more than Unix shells.

      That's because you are Microsoft user, and this is why I credit Microsoft with destruction of mankind's intellectual potential -- it stuffs terribly wrong ideas into people's heads and keeps a tightly controlled environment where those ideas seem to make sense. Powershell is a great example how Microsoft sees something done in Unix and makes something superficially similar but fundamentally terribly wrong -- in that case, by stuffing it with non-interchangeable interfaces.

      Unix shell's strength is in using Unix interprocess communications and files/devices (and later networking) to pass data between completely unrelated pieces of software. It's actually the only its redeeming quality -- the language (all three of them, with all later versions and extensions) is terrible, but this is completely irrelevant because all functionality is provided by utilities called from shell, and Unix is very efficient at dealing with multiple processes communicating with each other. All interfaces can be done by passing streams of data with minimal predefined formatting -- if one cares about complex processing he can write a complex parser in one of the components, but in general it is not expected to be necessary because most operations are operations on plain text that can be parsed with something like awk. If it was important to do more complex text handling, people would use perl as their shell, but it is not, so they don't.

      Microsoft, on the other hand, looooooves its internal, non-generalized interfaces, single COM umbrella with absolutely no generalization of data formats inside. No communication is possible unless one side is designed specifically to suck on the teat of the other side. Slapping a "shell" on top of this, provided none of advantages that Unix shell has, it merely connects pre-made pieces to each other -- in fact, that thing would be done easier in GUI without losing any of the functionality.

      --
      Contrary to the popular belief, there indeed is no God.
    2. Re:Powershell by lennier · · Score: 1

      All interfaces can be done by passing streams of data with minimal predefined formatting

      I think your analysis of the problem agrees with mine. The brittleness of OO/component programming with strictly typed interfaces vs the freedom of Unix piping.

      Text, though, doesn't seem to quite cut it for exchanging structured data. Could there be a sweet spot in between?

      I've been toying with ideas for universal lightweight 'structured data' languages. What if we had something like a shell which exchanged something like JSON? (Not really JSON because it's not fully universal - you can't, eg, express dictionaries containing dictionaries as keys - but something like that). Could we invent a whole new approach to 'pipeable untyped OO'?

      This is an idea which is germinating in my mind for a new structured data format - table expressions. Very much draft, but I'm wondering if you would have useful comments?

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    3. Re:Powershell by benjymouse · · Score: 1

      ... -- in that case, by stuffing it with non-interchangeable interfaces.

      Ahem. Both COM and .NET allows for interchangeable interfaces. In fact, that is where the model is superior to the "plain text" approach of Unix: Configuration files are singletons. You may develop some smart scripts to manipulate config files used sed or awk - but they will rely heavily on the format of those config files. This in turn imposes restrictions on the product vendor: They cannot change or even evolve the config file format without the risk of breaking someones scripts. With interfaces (COM, .NET or WMI or whatever) as intermediates between config stores and scripts you *can* evolve the product and still maintain perfect backwards compatibility.

      It's actually the only its redeeming quality -- the language (all three of them, with all later versions and extensions) is terrible, but this is completely irrelevant because all functionality is provided by utilities called from shell, and Unix is very efficient at dealing with multiple processes communicating with each other. All interfaces can be done by passing streams of data with minimal predefined formatting -- if one cares about complex processing he can write a complex parser in one of the components

      Indeed that is also the biggest weakness of this "simplicity" of byte streams: There's no accepted way to exchange contracts dynamically. The "simplicity" is fake: You just pushed the complexity on to the utilities. Those utilities may be from different vendors, developed at different times at completely unaware of each other. How do you pass a tree structure from one utility to the next? What PowerShell does is provide an extensible infrastructure on which utilities can rely to discover contracts dynamically.

      Microsoft, on the other hand, looooooves its internal, non-generalized interfaces, single COM umbrella with absolutely no generalization of data formats inside. No communication is possible unless one side is designed specifically to suck on the teat of the other side.

      No, COM, WMI and .NET objects are discoverable. You do not need to design anything to "specifically suck on the teat"[sic]. You can perfectly well design utilities to discover properties etc. That's what PowerShell does.

      And I believe you miss the greater perspective on PowerShell. Unlike the unix shells which are designed primarily for CLI, PowerShell has been designed as a generalized scripting engine which can also be used for application scripting. You can argue that any application may use bash (or indeed just set up pipes between processes directly), but the byte-stream-only interfaces and ex-process model will be a major inhibitor. PowerShell allows cmdlets to be used in-process in the shell as well as in-process in any application. No serialization necessary to leverage cmdlets, be they from the vendor, PowerShell or 3rd party module. This is a major point and one that is sorely missing from the TFA: PowerShell offers a unification model between CLI and GUI. Is it automatic? no. Is it more adequate at that task than bash or POSIX shells? hell, yes, there's no comparison.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  18. remind me again... by Anonymous Coward · · Score: 0

    how this is news?

    Slashdot: News for CEO's, stuff that's obvious!

    --stoops

  19. Dark ages of the C:\ prompt by Sir+Realist · · Score: 5, Insightful

    Anyone who thinks that a command line prompt starts with a 'C:\' has no idea what they're talking about.

    1. Re:Dark ages of the C:\ prompt by Nimey · · Score: 1

      ?SYNTAX ERROR

      --
      Hail Eris, full of mischief...

      E pluribus sanguinem
    2. Re:Dark ages of the C:\ prompt by blair1q · · Score: 1

      Wouldn't it be cool if the thing before the colon were a language the CLI was expecting, not a disk-drive letter parameterizing the defaults to only a few strings you might enter on the CLI?

      Bill Gates was a total idiot, except for the part where he stole that code from Seattle Micro, and then didn't sell it to IBM, which he did before he even stole it.

      I swear the man has a working time machine.

    3. Re:Dark ages of the C:\ prompt by Twinbee · · Score: 1

      Exactly. Mine starts with "C:\Users\Dan>" upon opening, and I suspect yours starts with something similar.

      --
      Why OpalCalc is the best Windows calc
    4. Re:Dark ages of the C:\ prompt by Xacid · · Score: 1

      I'll take a bite out of some humble pie - why isn't cmd considered a CLI?

    5. Re:Dark ages of the C:\ prompt by LordLimecat · · Score: 1

      Some people-- some of them very skilled (*cough mark russinovich cough*) would say "why on earth wouldnt it start with C:\?"

      Windows console is useful when you're...you know, working on windows.

    6. Re:Dark ages of the C:\ prompt by mdielmann · · Score: 1

      It is, but it's an exception to the myriad CLI's out there, and probably less overall usage than the others. Moreover, PowerShell is now being provided, with positive response from the few people I've talked to about it (I don't know if it also starts with C:\>). And even if you use cmd, typing 'telnet' will leave you in deep water if the breadth of your experience begins and ends with the C:\ prompt.

      I've used DOS (or cmd, if you prefer) extensively, and bash less so. But I'm perfectly aware of the power held by bash, and its prowess relative to cmd

      --
      Sure I'm paranoid, but am I paranoid enough?
    7. Re:Dark ages of the C:\ prompt by Anonymous Coward · · Score: 0

      Anyone who thinks that a command line prompt starts with a 'C:\' has no idea what they're talking about.

      Anyone who thinks that dark ages refers to the genesis of an era has no idea what they're talking about.

    8. Re:Dark ages of the C:\ prompt by Anonymous Coward · · Score: 0

      Cmd is a fucking atrocity.

      The fact that I can equally type "cd .." and "cd.." tells me it hasn't got its semantic shit together. Also, "cd ..." and any higher number of dots is apparently equal to "cd .". I don't want to have to see the implementation of the parser underneath this bullshit. My eyes would probably fall out.

    9. Re:Dark ages of the C:\ prompt by maxwell+demon · · Score: 1

      Anyone who thinks that a command line prompt starts with a 'C:\' has no idea what they're talking about.

      Indeed. Everyone knows that the command line prompt reads "A>"!

      --
      The Tao of math: The numbers you can count are not the real numbers.
    10. Re:Dark ages of the C:\ prompt by Xacid · · Score: 1

      Ok, that makes more sense now. Thanks!

    11. Re:Dark ages of the C:\ prompt by LordLimecat · · Score: 1

      So what youre saying is, the fact that I can type "dir" in a bash shell is evidence that Linux doesnt have it together, as dir isnt actually a built in command OR a built in binary?

      And thats to say nothing of Ubuntu's dash-- they actually attempt to interpret not-found commands to find what program you need. Theres nothing wrong with this; command lines dont HAVE to be arcane and klunky to use.

      I might agree with you, of course, if you could demonstrate a single instance where said behavior could ruin otherwise command syntax (certainly I was unaware of it, and have never had issues with it, despite 10 years of batch scripting experience).

    12. Re:Dark ages of the C:\ prompt by Anonymous Coward · · Score: 0

      amen to that

    13. Re:Dark ages of the C:\ prompt by badkarmadayaccount · · Score: 1

      Tiny C Compiler has REPL mode, if you so desire. tcsh is also nice

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  20. systemd by jvillain · · Score: 1

    Systemd will do more to rub out the use of the command line than any thing since the gui. The author has decided for every one that applications should be able to figure every thing out for themselves and passing switches and arguments to them is archaic. This will remove the incentive for application writers to bother adding interfaces to applications that will alter their functionality. That will give us fewer reasons to use the command line. It is a vicious circle.

    1. Re:systemd by Anonymous Coward · · Score: 0

      I'm starting to think that the same mindset at work in firefox development is also in full force at Redhat. Is it really new and cool, or is it just a bunch kids stirring shit up because they don't know any better.

      x11 on tty1 - FFS Why? Solves not one damn problem but soothes some idiots OCD -while pissing off everyone who prefers startx over *dm.

      x11 without network transparency - because some kid at RH doesn't need it.

      POS unneeded unasked for sound server *with* network transparency. Yeah, I know, 3 years later and sucks less. Still sucks enough though.

      Yet another init that can start scripts in parallel. Yay.

    2. Re:systemd by Anonymous Coward · · Score: 0

      Systemd will do more to rub out the use of the command line than any thing since the gui. The author has decided for every one that applications should be able to figure every thing out for themselves and passing switches and arguments to them is archaic

      What, Mr PulseAudio is an idiot? What a shocker!

    3. Re:systemd by blair1q · · Score: 1

      I couldn't even tell you how to get to a command line on my Android phone (though I know it's possible), and yet I can do everything I want to do on my phone.

      CLI exists, the way VMS exists. But most of us, we've evolved past it.

    4. Re:systemd by badkarmadayaccount · · Score: 1

      May I remind you that VMS is probably running the most important systems that affect your life, and doesn't care to go so low as to play you your Justin Beiber videos. The NT kernel design evolved from VMS.

      --
      I know tobacco is bad for you, so I smoke weed with crack.
  21. In the Middle (haha Musical Reference!) by VxJasonxV · · Score: 1

    I'm in the middle. I like GUIs for a lot of advanced program usages that I haven't learned on my own yet, but, for example, I've never found a visual DNS utility I liked. They're all just too slow. Classic (read: non-AJAXy) Web Interfaces are worse. Maintaining a router via it's built-in web server is antagonizingly slow.

    Having said that, most everything else I do is all command line work.

  22. printf ("Enough Already, World.\n"); by revxul · · Score: 2

    The idea that people have to be on either side of the fence is almost as ridiculous as there being a metaphorical fence to begin with. I use a desktop OS (Windows 7) and I love cygwin, which I run in Console2. The two can be used together, you know. There's no need for it to be a black and white discussion -- only useful for making one seem 1337 or 'in the know' and bicker like tools. We have both -- why not love both?

    --
    Truth, Just Us, And Hatred For All Mankind!
    1. Re:printf ("Enough Already, World.\n"); by rk · · Score: 2

      This.

      Like peanut butter and chocolate, GUI and CLI are even better together.

    2. Re:printf ("Enough Already, World.\n"); by Anonymous Coward · · Score: 0

      You're damned right they are. The trouble here is that entrenched cultures are incapable of accepting a non-adversarial relationship; something must always be "against" something else. There must always be an X vs. Y thing going on. That's why the average slob on the street thinks the techworld's culture and its people are dumb asses.

    3. Re:printf ("Enough Already, World.\n"); by furgle · · Score: 1

      I agree I enjoy having multiple terminal windows open. CLI in GUI is great. It also means you can watch startrek while having a terminal open and doing work (by work I mean watching startrek until shit hits the fan). To me a CLI is essentially a programming tool that compiles your code and runs it straight away. much like the python can. You have Resources and functions you can run, Its essentially iterative programming at its simplest, which I think is an essential skill these days, all kids should know how to program a computer (at least understand the fundamentals of programming). -- However I can't deny that clicking something is far quicker than typing it. Are there any Operating Systems with no underlying CLI. iOS maybe?

    4. Re:printf ("Enough Already, World.\n"); by WorBlux · · Score: 1

      We have both -- why not love both?

      Nobody has suggested that this shouldn't be the case except a few all GUI opinions. The point of the article is that CLI is still relevant, and is not something you should forget about or ignore is you want to do any sort of serious system administration.

    5. Re:printf ("Enough Already, World.\n"); by Darinbob · · Score: 1

      I shudder to think of the poor people who are forced to use Windows without cygwin. Being on Windows is like being stuck on a desert island, but add cygwin and it's like being stuck on a desert island with a case of beer.

  23. Menu driven best for many applications by Anonymous Coward · · Score: 0

    I still contend that primarily menu-driven terminal(doesn't actually need to be a terminal but it should operate like one) interface, with more complex textual input as appropriate, is the most efficient method of operating many line of business apps. Simple, focused, repeatable and able to be understood by anyone that can read.

  24. The CLI team is pasting from a spreadsheet? by Anonymous Coward · · Score: 0

    Sounds like a mixture of GUI and CLI.

    Is this really a case against GUIs or really a case for more powerful GUIs? GUI doesn't always mean pulling up a form that matches a record and saving it.

    For example: What if they had a GUI that displayed the network info in a grid of text boxes with configurable rows and columns? What if they could set up the form to match the spreadsheet's rows/columns and paste the spreadsheet data into the grid and update the network tables that way?

  25. Even MS have come around to this by leathered · · Score: 1

    Hence why they came up with Powershell, which I have to say is rather good, and many Server 2008 tasks demand a basic knowledge of it.

    Hell it even has grep (findstr), though sadly it hasn't go a worthy sed substitute.

    --
    For all intensive porpoises your a bunch of rediculous loosers
    1. Re:Even MS have come around to this by BCoates · · Score: 1

      findstr isn't a powershell command, it's just a console .exe program that comes with windows.

    2. Re:Even MS have come around to this by Anonymous Coward · · Score: 0

      too bad it's so damned slow.. they should've written it in a native language, like C++.

    3. Re:Even MS have come around to this by isorox · · Score: 1

      findstr isn't a powershell command, it's just a console .exe program that comes with windows.

      And grep isn't a bash command, it's just a binary that comes with unix (in many flavours, god how I hate solaris)

  26. CLI != DOS by tnk1 · · Score: 4, Insightful

    While the C:\ prompt would really be the Dark Ages all over again, command lines done right can be significantly faster to use for experienced admins. Not to mention they can also be used in diverse interface environments like serial connections in almost exactly the same way that they are used anywhere else. It's significantly easier to script from the command line as well.

    Just about every shell available on a UNIX-like OS is at least ten times better than DOS ever was. Lumping in bash with DOS is like taking a BMW and saying it is equivalent to a Yugo because they both have four wheels and an internal combustion engine.

    There's certainly a place for a GUI, and well designed GUI apps are lifesavers in big environments where seeing a graphical representation of 1000 servers as icons and being able to click and drag to select and execute group commands is a much easier way to work with that many servers. Having 1000 lines of text zoom by is going to be hard to take in at a glance. I love the GUIs that I use for certain tasks like visualization and management of complex environments.

    Still, anyone who considers the command line to be the Dark Ages either doesn't know how to type, doesn't understand how to use a CLI, or is simply trying to sell you a pretty GUI app.

    1. Re:CLI != DOS by lahvak · · Score: 1

      Actually, for 1000 servers, I would much rather work with CLI than GUI, provided the servers are represented by well designed names, so I can group them together into logical groups by using regular expressions or even simple pattern matching on the names.

      Of course I can imagine a well designed GUI, where I could see the 1000 servers represented in some sort of visual way, perhaps as nodes on a graph that would also display connections between them, and where I could, with just a keypress, change the way they are displayed and grouped, and where I could, without using a mouse, type in a regular expression or a pattern that would select a group of them and show me which one of them are selected, etc.

      --
      AccountKiller
  27. The CLI is so awful... by Anonymous Coward · · Score: 1

    that the new ubuntu start menu has a part when you can run programs... by typing the names of them!

    1. Re:The CLI is so awful... by RobbieThe1st · · Score: 1

      Heh. Had that in KDE(/kubuntu) for years now.
      Mind, it's actually a good /compliment/ to a proper command line, and a definite improvement on the classic windows startmenu.

    2. Re:The CLI is so awful... by Noughmad · · Score: 1

      I also heard that the latest version of Firefox comes with a command line. Funny how most people that claim GUI's are the best don't even notice that websites are visited by typing their urls.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    3. Re:The CLI is so awful... by Noughmad · · Score: 1

      Even better is the Alt-F2 launcher, I usually prefer pressing two keys over clicking the menu button.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    4. Re:The CLI is so awful... by RobbieThe1st · · Score: 1

      I dunno. I use that for different things(calculations[Wish I had a list of functions, though], launching scripts and a couple apps), but use the main menu for other things including launching my favorite/constantly-running programs.

  28. because by oliverthered · · Score: 1

    because scripts don't work

    --
    thank God the internet isn't a human right.
  29. CLI and GUI both have their place. by Anonymous Coward · · Score: 0

    There is some places where their use may overlap, and some places where it doesn't.

  30. Raises hand by rk · · Score: 2

    Interestingly, I had to put little watermarks on about 400 images a year ago. It took about 5 minutes of scripting with ImageMagick to do it.

    If I'd done that with Photoshop or GIMP, I'd still be at it!

    1. Re:Raises hand by StikyPad · · Score: 1

      That's not really editing now is it?

    2. Re:Raises hand by WatchMaster · · Score: 2

      ok, you can win by defining "editing" to be something that you can only do with a gui.

    3. Re:Raises hand by SpiralSpirit · · Score: 4, Insightful

      or you could have made a photoshop action while applying the first one, then told it to do the action to every image in the folder. done in less than five minutes. probably only about 1, if you know what you're doing. There's a lot to be said for knowing how to use the tools!

    4. Re:Raises hand by Anonymous Coward · · Score: 0

      ok, you remove his water marks with a GUI then, let us know when you're done

    5. Re:Raises hand by Anonymous Coward · · Score: 0

      You can do this in photoshop in about 10 seconds, with way more than 400 photos. It's called macros.

    6. Re:Raises hand by Jack9 · · Score: 1

      > ok, you can win by defining "editing" to be something that you can only do with a gui.

      That sounds awfully ignorant.

      --

      Often wrong but never in doubt.
      I am Jack9.
      Everyone knows me.
    7. Re:Raises hand by StikyPad · · Score: 1

      Don't be obtuse. Editing involves content-based decision making. Watermarking is a postprocessing effect applied without regard to content.

      If you define editing so broadly that it encompass both of those actions, then you'd have to come up with a new term specifically for editing, which would be redundant.

    8. Re:Raises hand by rk · · Score: 1

      Very true, and that is indeed a two edged sort, is it not?

      I don't mean to get into a CLI vs. GUI pissing contest. Both have their uses, advantages and disadvantages, and as I said in another post, I believe they are better together.

    9. Re:Raises hand by Anonymous Coward · · Score: 0

      I've resized and rotated great swaths of images in the last week or two. Does that count?

    10. Re:Raises hand by Firehed · · Score: 1

      He's making the assumption that 'editing' == 'modifying'. Which is true in the same that f(x) != x, and that bytes changed. By any rational standard, editing is something inherently visual and thus ill-suited to the command line. Batch processing actions (watermarking, scaling, cropping, arguably sharpening, etc.) just happen. It's the difference between shrinking a document by zipping the file versus reading through it and removing unnecessary content. If a human is required, it's editing.

      --
      How are sites slashdotted when nobody reads TFAs?
    11. Re:Raises hand by SpiralSpirit · · Score: 1

      right. the advantage of GUIs is that they are more accessible. anyone can use the file>image processor dialog box without worrying about syntax, and logical operators. I know I don't want to deal with them, if I can avoid it.

    12. Re:Raises hand by AmberBlackCat · · Score: 1

      I could have recorded the first watermarking in a Photoshop macro and run the macro on the other 399 files in less than 5 minutes.

    13. Re:Raises hand by Anonymous Coward · · Score: 0

      While I agree with the point in the post, this is untrue. In Photoshop you could have created an action (macro), turned it into a 'droplet' (an EXE pointing at the action) and dragged your folder onto it. The action recording process in Photoshop would probably have taken less time to set up, since you're working on graphics, in a graphical interface.

    14. Re:Raises hand by zill · · Score: 1

      Your story didn't demonstrated how powerful CLI is. Your story demonstrated how powerful backups could be.

    15. Re:Raises hand by Anonymous Coward · · Score: 0

      Actually, yes it is. He was modifying the original image, "editing" it.

      If you want to take this argument, trying to do something inherently graphic and applying it to a non-graphic environment then I posit this question. When was the last time you wrote a complex program without touching the keyboard. (Or using an on screen keyboard)

    16. Re:Raises hand by Anonymous Coward · · Score: 0

      Looking past he fact that you completely looked past the parent's argument; Photoshop is perfectly capable of batch processing and could also do your task in about 5 minutes via it's GUI.

    17. Re:Raises hand by Anonymous Coward · · Score: 0

      Photoshop and GIMP both have batch processing

    18. Re:Raises hand by lennier · · Score: 5, Insightful

      If a human is required, it's editing.

      That's your opinion. I think the point the original poster is making (certainly the point I'd make) is that our interfaces should be agnostic as to whether a human or a decision-making algorithm is driving them.

      Because otherwise, how are we going to take control of our workflow and delegate the automatable parts of it to automation, if the interfaces we use stubbornly insist that 'no, a human must be in the loop to do that!'

      This attitude, which sadly is rife among GUI designers, is keeping us stuck in the dark ages. It fundamentally shouldn't matter if a human or a program is doin any job on your desktop. End of story. It's not the interface's job to decide. If a script can take a look at a JPEG, apply a beauty algorithm and decide to fudge the colour contrast and recrop - and if a human can look at that afterwards and decide that it's good and keep it - well, then that's editing, isn't it? But it's done by a partnership of human and machine, as it should be.

      Don't force us to decide between human and machine for every job, and especially, as an application designer, don't impose your conception of what tasks should be done by which. As a user, closer to the coalface, I might well have a better idea. If your software gets in the way of my automation, it's wrong.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    19. Re:Raises hand by jbengt · · Score: 1

      . . . editing is something inherently visual and thus ill-suited to the command line.

      As a counter-example, CAD drawings are inherently visual and I find the command line interface in AutoCAD an indispensable aid in editing the drawings. In addition, writing and using lisp routines that add/extend commands for the CLI makes it even more productive. Of course, I still use the mouse to pick points in the drawing, scrolling, etc. It's not that one interface is universally better or worse than the other, but use what works best for the task. For common, known commands or repetitive tasks, the command line works best. For tasks attempted before you've learned much, a well-designed GUI gets you off the starting line quickly. Having both lets you learn as you go, and increases the slope of the learning curve without slowing you down too much at the beginning (assuming you're willing to learn the commands and use the command line).

    20. Re:Raises hand by YoshiDan · · Score: 1

      Photoshop does batch processing and custom macros. It would not be hard to do this in Photoshop at all. Oh look!

    21. Re:Raises hand by im_thatoneguy · · Score: 1

      I had to put little watermarks on about 400 images a year ago. It took about 5 minutes of scripting with ImageMagick to do it.

      If I'd done that with Photoshop or GIMP, I'd still be at it!

      Or you could have learned Photoshop's Actions/Batch operation...

    22. Re:Raises hand by Anonymous Coward · · Score: 0

      Photoshop has a batch automation process that is all done through a gui that could have done the same thing in as much time. I don't see why so many equate automation with CLI.

    23. Re:Raises hand by Culture20 · · Score: 1

      Photoshop has a batch automation process that is all done through a gui that could have done the same thing in as much time. I don't see why so many equate automation with CLI.

      Can Photoshop run an install program on hundreds of computers or alter permissions of a directory on those same computers? Maybe it can change text in text files? The problem with GUI batch-jobs is that they're always specialized for a domain, and if you want to solve a problem in a new domain, you have to write a new GUI program to do it. CLIs are far more flexible.

    24. Re:Raises hand by Anonymous Coward · · Score: 0

      Some of us can neither afford nor pirate Photoshop, you insensitive clod.

    25. Re:Raises hand by Anonymous Coward · · Score: 0

      Except a Photoshop action costs you a whole lot of $$$ to perform, but a simple ImageMagick script is free. And let's be honest, a GUI Photoshop session opening 400 files to apply an action (and yes I have used actions in Photoshop) isn't going to take 'a minute'.

      The CLI is superior for complex batch operations and a GUI is superior for GUI operations. Neither will die. I will say though that documenting a GUI based system setup and configuration is far more difficult and requires GUI based word processors and image editors. You can copy/paste a CLI instructions from a web page to configure an application in 2 seconds. Copying GUI based settings from a web page into my GUI based interface is, well, slow.

    26. Re:Raises hand by Anonymous Coward · · Score: 0

      Pah, its an adobe program, it will take at least 5 minutes just to boot up and display the list of patents they have claimed.

    27. Re:Raises hand by Anonymous Coward · · Score: 0

      Yeah, but that is per definition a repetitive task and easily done with the batch features of modern image editors too (not saying that I doesn't love ImageMagick, but you just told us about a very specific task quite well suited for the tool you chose).

      But how about red eye reduction, applying masks to raise local contrast, and other kinds of editing where you rely on heavy user interaction?

      The reason to why you think it would be harder to do with Photoshop is just because you know ImageMagick better than Photoshop.

      Personally I use both and know that I just open the actions palette, press record and do whatever I want to do with the first image. Press stop and then go into batch processing, choose the image directory and apply the action I just recorded. Done.

    28. Re:Raises hand by master_p · · Score: 1

      Sadly, no major GUI is designed in such a way that it is possible to do what you say.

      In 99.999% of applications, functionality and GUI are so highly mixed that they cannot be separated without a lot of work.

    29. Re:Raises hand by Anonymous Coward · · Score: 0

      Interestingly, I had to put little watermarks on about 400 images a year ago. It took about 5 minutes of scripting with ImageMagick to do it.

      If I'd done that with Photoshop or GIMP, I'd still be at it!

      Right, and you BUILT the watermark image with the CLI?

      No, you just applied it to the file in a fixed location. Yes, a great task for a script. Editing, no you were not.

    30. Re:Raises hand by LordVader717 · · Score: 1

      That works for a strictly repetitive task, but that requires knowing exactly where to find the functions, sorting out all the quirks and if you want something more intricate you will probably have to learn a specific scripting language. Somebody who uses the program all day might be willing to do that, but if you only use it infrequently it may be better to just sacrifice the time to do it manually. A bash script for the CLI is universally applicable and can access all functions of the program.

    31. Re:Raises hand by foniksonik · · Score: 1

      Uh. So you used an $$$$ tool to do something a free tool could do as easily. 1 vs 5 min compared to hours of manual work. Also essentially you used Photoshops CLI scripting with some GUI icons visual icons. Yes PS can be scripted outside it's GUI. Python is a great language to script Adobe apps in (not official) or JavaScript for full access to the API.

      --
      A fool throws a stone into a well and a thousand sages can not remove it.
    32. Re:Raises hand by dunkelfalke · · Score: 1

      So are CLI programs.
      Can you run an install programm on hunderds of computers or alter permission of a directory with that ImageMagick? Guess not.

      --
      "It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
    33. Re:Raises hand by Anonymous Coward · · Score: 0

      In my experience the ImageMagick 5 min already includes applying the script. (Can you call a single command a script?). If you know both tools the commandline tool is faster on simple jobs (resizing, watermarking), but the GUI tool is faster if you are able to record complex interactions you can't describe that easily on the command line. The command line tools also have an advantage at certain jobs, because they don't need to render a compressed image before manipulating it. They are more specialized.

    34. Re:Raises hand by Anonymous Coward · · Score: 0

      Photoshop batch automation is very slow. It gives the same performance as if you'd captured the mouse events and played them back for each file. Maybe the newest versions improved in this respect, but in every version I've used, you'll be prompted on JPG save event for the image quality settings (unless the image has already been saved in Photoshop before).

      I've also used Photoshop scripting, and while it's an improvement over batching actions, much of the program's functionality isn't exposed to the script engine. It's also terribly slow.

      There's a lot to be said for knowing how to use the tools to match the need. Would you suggest using Photoshop to automate this process if there were 10,000 images under discussion. What about a million? On the other hand, I think Photoshop batch actions would be great in this situation if we're dealing with 10 to 50 images. GUI tools are great for ad-hoc, on the fly tasks. And for image editing, I find Photoshop unmatched. For creative image editing, I wouldn't use anything else. For image manipulation, there are more appropriate tools.

    35. Re:Raises hand by Rary · · Score: 1

      Interestingly, I had to put little watermarks on about 400 images a year ago. It took about 5 minutes of scripting with ImageMagick to do it.

      If I'd done that with Photoshop or GIMP, I'd still be at it!

      You're comparing ImageMagick to Photoshop/GIMP, not CLI to GUI.

      There is no reason a GUI application couldn't provide the ability for you to define how a watermark is applied, then select a directory containing 400 images and apply that watermark to those images with a click of the "Apply" button. If they didn't provide that functionality, then that's a design decision, not a limitation of the GUI concept in general.

      --

      "You cannot simultaneously prevent and prepare for war." -- Albert Einstein

    36. Re:Raises hand by lahvak · · Score: 1

      True, but the problem is, the boundary is not sharp. For example, balancing color of a photo is something I would definitely consider editing, since I want to see how the image looks like, and trusting the machine to decide what the color balance should be sometimes works, but often it doesn't. On the other hand, I am often in a situation where I have 50 photos of the same subject or similar subjects, taken in the exact same light conditions. Once I decide what the color balance should be on the first photo, it is generally safe to delegate the rest of the work to the machine. So I want an interface that will let me do that in an easy way. I have not yet seen a gui that would do what I need in this situation.

      Another example: I want to shorten a file that by inspecting it and deleting unnecessary content. I open it in vim and look at it. I realize that I can safely remove every line that is 2 lines below a line that contains the word "blah" or "bloh". In vim, I have a direct access to a command line that will easily let me do this. I consider that a well designed user interface, since it does not force the separation between what you call modifying and editing.

      --
      AccountKiller
    37. Re:Raises hand by marcosdumay · · Score: 1

      I see, it is editing if it uses a convolution filter...

    38. Re:Raises hand by Anonymous Coward · · Score: 0

      If you know how to use the tools - if you have the tools actively set up as your daily-use tools. Sure.

      . . . the real question is - walking into this requirement with no foreknowledge; (and assuming that, lucky lucky you, you have the budget to cough up for photoshop) - what's you're learning curve (either on a STOCK Windows box, or Mac OS box, or Linux box) to figure out how to do those 400 images?

      Windows + Cygwin + ImageMagick + probably about 1 hr to download and install, + 10-30 minutes of MANpage headaches, trial and error, and you're off.
      Windows + Adobe Salesperson (which version of Photoshop should we buy. . . CS? Elements? Can I qualify for the student discount? Do I have an old version floating around that I can upgrade? (oh no, that was a P2P demo crack, nevermind), 4+ hours to get that, get accounting to cut you a check, get a license key, install, fire it up, now. . . let's look at the tutorials. . . . maybe 2 hours, and you are up and running with photoshop actions.

      MacOS and Linux? - well, you can run IM without Cygwin, so save yourself about 30 minutes there.
      Linux? - Photoshop isn't even your choice.

    39. Re:Raises hand by Anonymous Coward · · Score: 0

      Photoshop actions are just scripting shoehorned into the GUI. I already have a language for automating my work-flow: the shell. Why should I have to learn a new one for each tool when application developers can just let go of their walled gardens and expose the functionality the users need?

    40. Re:Raises hand by IrquiM · · Score: 1

      If I'd done that with Photoshop or GIMP, I'd still be at it!

      GIMP has command line options for batch processing for exactly this use case.

      --
      This is blinging
    41. Re:Raises hand by rk · · Score: 1

      "GIMP has command line options for batch processing..."

      What's that, you say? :-)

    42. Re:Raises hand by Risen888 · · Score: 1

      Accessible to who? I wouldn't know where to start with Photoshop, but I could perform the mentioned task in Imagemagick in seconds (not counting processor time). Which is not to say that one is "better" or "worse," but that "accessibility" really varies depending on who's trying to access it.

      --
      Hey, I finally got my first freak! Took you long enough!
  31. A picture is worth a thousand words by bregmata · · Score: 2

    A picture (GUI) is worth a thousand words. Why use a thousand words when one or two CLI words will do?

    1. Re:A picture is worth a thousand words by NewWorldDan · · Score: 1

      Have you ever dug through endless man pages trying to find and understand the one obscure switch you need to make your command work? You're right, a picture (GUI) is worth a thousand words. A good GUI is a very worthwhile thing.

    2. Re:A picture is worth a thousand words by lennier · · Score: 1

      A picture (GUI) is worth a thousand words.

      On a 64-bit system, that's 4Kbytes. That's some compression algorithm you're using!

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  32. Slashdot via CLI? by sunderland56 · · Score: 1

    GUIs are, in fact, essential - without them, slashdot would not exist.

    1. Re:Slashdot via CLI? by Haedrian · · Score: 1

      Never tried visiting /. in lynx?

    2. Re:Slashdot via CLI? by Anonymous Coward · · Score: 0

      Waaaaaaaaaaaa ? Noooooooooooooo ...... We all use Lynx to read slashdot ....... Entire /. is written using Emacs / Vi / Choose your poison... I mean CLI editor

    3. Re:Slashdot via CLI? by Anonymous Coward · · Score: 0

      .. or perhaps links!?

    4. Re:Slashdot via CLI? by Lehk228 · · Score: 1

      i'm using lynx you insensitive clod!

      --
      Snowden and Manning are heroes.
  33. Right on... by Aphrika · · Score: 2

    GUIs are useless at performing repetitive tasks. The emergence of PowerShell on the MS platform in the last few years means I can do stuff that was previously impossible to do - maybe throw user objects around between AD, SQL Server and SharePoint. Heck, even the GUI tools are based on top of the PowerShell commands.

    In fact, PowerShell is one of Microsoft's best moves, and something that has sorely been lacking from the Windows platform for too long.

    1. Re:Right on... by Ryxxui · · Score: 1

      Hell yeah, PowerShell rules. I use it nearly every day for normal scripting language tasks- some small data parsing, the old awk/sed/grep flow, conversion between some simple file types. I've used it for more complicated stuff too. You really can't beat having the .NET framework at your fingertips, and aside from that it's really not that different from Perl all things considered.

    2. Re:Right on... by Desler · · Score: 1

      GUIs are useless at performing repetitive tasks.

      Any good GUI will allow you to set up batch actions. If not it's poorly made.

    3. Re:Right on... by sapphire+wyvern · · Score: 1

      I've been wanting to get to grips with PowerShell for those sort of applications (awk/sed/grep). Do you know of any good tutorials online? I've read MS's introduction to PowerShell, but I didn't really see how the various provided cmdlets are supposed to fit together.

    4. Re:Right on... by LordLimecat · · Score: 1

      The emergence of PowerShell on the MS platform in the last few years means I can do stuff that was previously impossible to do -

      Its been possible to bring user accounts in and out of AD with basic windows console for quite some time now (LDIFDE), and Im pretty sure you could import into SQL server using the Windows console as well.

      That said, powershell really is nice, if they use some ridiculous naming schemes (MoveExchangeUserFromThisServerToThatServer -user= .....).

    5. Re:Right on... by Anonymous Coward · · Score: 0

      GUIs are useless at performing repetitive tasks. The emergence of PowerShell on the MS platform in the last few years means I can do stuff that was previously impossible to do - maybe throw user objects around between AD, SQL Server and SharePoint. Heck, even the GUI tools are based on top of the PowerShell commands.

      In fact, PowerShell is one of Microsoft's best moves, and something that has sorely been lacking from the Windows platform for too long.

      You must be nuts. Powershell is one of MSFT best moves ?! That crappy shell has more bugs that I can think of.

    6. Re:Right on... by benjymouse · · Score: 1

      First you need to accept that PowerShell has been designed for a Windows environment where text files are a lot less important than they are on *nix. In Windows the entire API (COM, .NET and even Win32) is inherently object-oriented or lends itself easily to that model (Win32 is based on the concept of "handles").

      Hence, text manipulation is not as paramount as it is on *nix. Instead, object manipulation is important. And that is what PowerShell is about.

      That said, PowerShell generally views "text" as a sequence of lines which are then just instances of string objects. So any PowerShell cmdlet which is designed to manipulate a generic object will manipulate string objects.

      Also, unline *sh shells, PowerShell has built-in support for regular expressions. The -match, -like, -notmatch, -notlike, -split and -join operators allows for direct regex expressions to be used against strings. For instance, to calculate frequency of each word of a file you can do this:

      (cat .\temp2.txt) -split '\W' | % {$freq=@{}} {$freq[$_]++} {$freq}

      This command will create a 2-column table with each word on its separate line along with its frequency.

      Explanation: cat is an alias for the Get-Content cmdlet which will read a file and return its content as text. -split is an operator which splits text (strings) using a regex, in this case it splits on non-word characters. This yields as stream of strings (the words of the file). This is piped through '%' (alias for the ForEach-Object cmdlet) which takes up to 3 script blocks: initialization, processing and completion. The script blocks are created using the braces. The first creates a (local) hashtable. The second script block is processed for each word and increments the word in the freq table. The last one yields the freq table as the result.

      To sum up: Text processing is not terribly important in the Windows world, but PowerShell still packs in-shell capabilities comparable to those of awk and sed.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
  34. And lets not forget by tthomas48 · · Score: 1

    CLIs are also really good for:

    1) Configuration differences
    2) Compliance logging

    My company (www.uplogix.com) makes a device that does these two things for a wide range of advices. It's pretty damned useful. And it doesn't rely on the GUI maker adding useful logging of each step done in the GUI. You have the text session. You know exactly what the user did.

  35. CLI does not equal DOS 6.22 and friends by WasteOfAmmo · · Score: 2

    As an avid CLI user on *NIX and Windows I would vehemently object if I was dragged back into the "dark ages" (aka 1980s). It seems that as soon as you mention CLI this is what people bring up for an argument. I suspect these are the same people who have not taken the time to objectively evaluate a modern CLI be it bash or powershell or something similar.

    I humbly suggest these are the same people who have never had to log into and click away on a GUI to configure an option because the package does not have any CLI support on 30+ machines. Don't get me wrong, GUIs are great for a great many things but there are many tasks where a good script and a command line beats the GUI hands down. A simple example is turning 70+ machines over in a computer lab to put them in a special "exam state". With scripts and command line this takes literally less than 1 minute to hit all machines. Now I suppose if you had some nice admin tool GUI that allows you to point and click to select a set of actions to perform on each machine or group of machines you could achieve the same thing but I have yet to see it.

    1. Re:CLI does not equal DOS 6.22 and friends by jrumney · · Score: 2

      The worst thing is modal configuration dialogs. When you have to look up some information in the Window behind, you have to cancel your configuration, reposition the Window to where the information you want will be visible when the dialog is displayed (often this involves resizing and repositioning other windows too) before restarting the configuration you were half way through from the beginning again.

    2. Re:CLI does not equal DOS 6.22 and friends by subk · · Score: 1

      Now I suppose if you had some nice admin tool GUI that allows you to point and click to select a set of actions to perform on each machine or group of machines

      Novell Zenworks does exactly that.

      --
      Now, if you'll excuse me, I have backups to corrupt.
    3. Re:CLI does not equal DOS 6.22 and friends by Lehk228 · · Score: 1

      Now I suppose if you had some nice admin tool GUI that allows you to point and click to select a set of actions to perform on each machine or group of machines you could achieve the same thing but I have yet to see it.

      that is the whole point, IMO. with GUI administration if the designer didn't think of something as needing to be done, you can't do it. with a CLI you assemble your tools into a machine and save it as a script.

      --
      Snowden and Manning are heroes.
    4. Re:CLI does not equal DOS 6.22 and friends by Anonymous Coward · · Score: 0

      Opsware

  36. Command line? Seriously? by Stooshie · · Score: 1

    Goddamn, you can tell this is a site for geeks. People who use command line are about 1% of people who use computers. The reason we all have jobs is because so many people use web sites and software these days. The only reason so many people DO use websites is because they DON'T have to use command line!

    --
    America, Home of the Brave. ... .and the Squaw.
    1. Re:Command line? Seriously? by kikito · · Score: 1

      Most people in the world don't use computers. You can go now.

    2. Re:Command line? Seriously? by Stooshie · · Score: 1

      That may be true but most people who DO use computers have never used command line.

      --
      America, Home of the Brave. ... .and the Squaw.
    3. Re:Command line? Seriously? by pseudonomous · · Score: 1

      Then how can they know they don't like them?

    4. Re:Command line? Seriously? by lennier · · Score: 1

      Most people in the world don't use computers. You can go now.

      They don't? So who is it who's pasting captions on all those cats?

      Or what?

      Google? Amazon? Or a supercomputer somewhere in Langley gone quietly rogue?

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    5. Re:Command line? Seriously? by Stooshie · · Score: 1

      Because that's how computers used to be and almost nobody used them apart from us computing science geeks. Are you seriously suggesting your granny should use command line?

      It's like suggesting that we should all still be double-de-clutching when we change gears. Sheesh!

      --
      America, Home of the Brave. ... .and the Squaw.
    6. Re:Command line? Seriously? by marcosdumay · · Score: 1

      That quite a good question. And by all samples I've taken during my life... People don't hate CLIs, they just don't know how to use them, like they just don't know how to use Word, or Photo Shop the first time they try, and wouldn't even try again if they see no use for it. Of course, CLIs are quite harder to learn than those other examples I used, so a user would need to try way harder for mastering it, wat would make him not a normal user anymore, but a power user. Anyway, I've never seen anybody that hates the CLI.

    7. Re:Command line? Seriously? by LordVader717 · · Score: 1

      That might be true for a majority, but there are an awful lot of people out there who use computers all the time for many productive and creative things, but have never had the chance to learn a powerful CLI.

  37. ... and a far higher payoff function by Anonymous Coward · · Score: 2, Insightful

    The difference between a GUI and a CLI is that a CLI rewards understanding with capability.

    GUIs are appropriate to non-expert systems where functionality must be patently clear. Think of your smartphone / PDA, or a consumption-oriented computing device (iPhone, iPad, PowerBook).

    If you're administering or creating content, you'll eventually want the power of a real scripting tool.

    1. Re:... and a far higher payoff function by MrCrassic · · Score: 1

      A big problem with scripting, at least from my limited experience, is that a lot of IT folks (or at least a lot of Windows IT folks) correlate it to programming...the last thing they want to do. Windows has tons of GUI interactivity and easiness, which suits those folks well. The fact that you can do reasonably complicated work solely off the GUI available speaks for how much Microsoft had this down with Windows. Hence, less people choose to learn VBscript (or, god forbid, PowerShell), both of which are considerably easier syntactically than Perl or bash, and, instead, rely on clickety-click for everything.

      This author is dead-on. The problem really begins when companies put out infrastructural products with NO CLI or scripting options. This is fine for those that like GUI, but is HELL for automation. Worse, a lot of those products have really shitty UIs.

    2. Re:... and a far higher payoff function by amliebsch · · Score: 1

      Powershell relies on clickety? How so?

      --
      If you don't know where you are going, you will wind up somewhere else.
    3. Re:... and a far higher payoff function by lennier · · Score: 1

      GUIs are appropriate to non-expert systems where functionality must be patently clear.

      No, restricted interfaces are appropriate to non-expert systems. There's no a priori reason why a GUI must be a restricted interface, or a CLI should be a widely open one. This is the sort of muddled thinking which frustrates me.

      In the days before GUIs, we implemented restricted interfaces either using 'menu' systems, or special-purpose command languages with a 'help' command which listed the available commands. Both are very simple to use. In fact, most GUIs can be seen as just graphical menus - and there's really no reason why an obscure icon should be more immediately understandable than a line of text describing the function. Often the reverse is true - this is why I like tooltips (explanatory text) and dislike Microsoft's 'ribbon' - opaque icons with no text.

      But GUIs for advanced applications like 3D editors are very complicated and are not for beginners. We could make GUIs for the whole system which are just as powerful as CLIs (for example, you could build a 'command graph' rather than a 'command line' out of icons rather than names of tools).

      It's just that we haven't. For historical reasons, not logical ones. The result is a hybrid system which is not entirely logical.

      It's a two-dimensional grid: restricted choice menus vs open modifyable generative system, and CLI vs GUI. We shouldn't conflate the two axes.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  38. scripting by bhenson · · Score: 1

    for scripting things there is nothing like the CLI. only thing i have seen even close is automator on macs

  39. The only problem by Anonymous Coward · · Score: 0

    I have with most GUI'd applications is that they lack the ability to do batch processing, something that is almost completely lost on most devs especially of smaller tools, I ended injecting my own code into the running processes of some (non OSS) applications to get bloody batch processing into them the way I needed it (this may not be a problem in casual use of course, but when you have to perform the same operation on 5000+ files it is, and when the only tool available is one that lacks the functionality, frankly doing this would've taken a couple of days at least, while poking around the application with a debugger and reversing it only took a few hours...)

  40. C:\ Prompt? by defaria · · Score: 1

    What do you mean "C:\ Prompt"? Did you mean the "bash-4.1$" prompt?

  41. "Have fun automated complex tasks" - AutoIt? by Anonymous Coward · · Score: 0

    Have fun automated complex tasks from a GUI.

    How about AutoIt?
    http://www.autoitscript.com/site/autoit/

    Or any number of other GUI automation tools. Did you know that Windows 3.x used to come with one?

    Mind you, it's not very flexible. But neither is 'the CLI' without any number of utilities. E.g. grep. Where would the CLI be without grep?

    But for automating some complex tasks, it's almost just what the doctor ordered - especially when the thing you want to automate doesn't have any CLI option.

    Having read the article, the author's issue seems to be with importing tables. The Linux dude does it via CLI and hey presto, and the Windows dude does it via GUI and hand-enters each individual record and fat-fingers something and screws everything up by the time it goes live.

    Ignoring the cheap Linux vs Windows association... this seems like a gripe with a device that -only- has a GUI front-end which, in addition, despite apparently being marketed at enterprise solutions does -not- have a file field with browse button to browse for a table to import.
    No offense - but that's not a CLI vs GUI issue. That's a CLI vs BAD GUI issue.

    Imagine if the device didn't accept the rule files over the CLI via a file and instead required manual entry, while the GUI version had the file field and browse button. Would he then be praising the GUI?

    "Why Paul Venezia sucks, soon to be revisited" as he's bound to make other such comparisons given his obvious bias.

    1. Re:"Have fun automated complex tasks" - AutoIt? by Anonymous Coward · · Score: 0

      Yes, because an opaque series of "click X" "type Y" "click Z" instructions is SO much more understandable and easily modifiable as "program --update data_src.db".

      I especially love GUI automation tools that lock the mouse to work instead of firing made-up WM_* messages thereby rendering the system unusable for several minutes while the script runs. Heaven help you if you accidentally interact with the window whilst the script is running which instantly breaks the sequence.

      The CLI is a light-weight programming environment, that is ultimately why programmers like it and end users don't, it let's you code a solution to your problem using a standard collection of library toolkits. GUI automation is like a DLL with no function exports, sure you can reverse engineer the code using a disassembler and manually jump into the entrypoints inside the code but it is both extremely fragile (what if the next version moves the interface elements, removes some, rearranges the menu?) and potentially unreliable (Does the script behave correctly if there are several instances of the automated program open?).

    2. Re:"Have fun automated complex tasks" - AutoIt? by Alex+Belits · · Score: 1

      They don't work.

      --
      Contrary to the popular belief, there indeed is no God.
    3. Re:"Have fun automated complex tasks" - AutoIt? by blair1q · · Score: 1

      if 'program' has a '--update' option in it, it's because someone thought to make that an option.

      more often, it's "open .zip file, copy .foo file to the directory you installed program in, putting it in a subdirectory with the name 'bazz'"

      meanwhile, the program i'm typing this into has a Help menu in the standard place with a "Check for updates" menu item. one click on that and then i do the obvious things and then not only don't i have to type in the name of 'data_src.db', i don't even have to know it, or the names of the 4500 other files i'd have to know and type in to update a browser the CLI way.

      and there's that "and then i do the obvious things" thing. that just plain doesn't happen with CLI. to do it in CLI, I first have to find the documentation, then search it for something kind of like what I want to do, then try to figure out if that's really what I want to do...

      GUI rarely loses comparisons to CLI, except in trivial cases. Get used to that.

    4. Re:"Have fun automated complex tasks" - AutoIt? by Anonymous Coward · · Score: 0

      Thank you for your verbose, highly insightful and well-sourced contribution that counters the common argument that programs like AutoIt do, in fact, work by people who are clearly unqualified to make such assessments and merely point to anecdotal evidence in the form of thousands of scripts.

  42. The Memory Connection by macraig · · Score: 3, Insightful

    Command lines discriminate against those with poor memories. GUIs make it possible for people who can't remember detailed shit to be productive without having to constantly refer to some other resource(s).

    I learned English well enough that I rarely require a dictionary, but I was never so lucky with programming languages and other syntaxes. I love my GUI... when it's implemented correctly. Paul Simon wanted his Kodachrome, and I want my GUI.

    1. Re:The Memory Connection by Anonymous Coward · · Score: 0

      I have a hard time remembering which button to push to get the GUI to do what I want it to do... but I also use a CLI 95% of the time for most tasks. Maybe you have an easier time remembering tasks you do more frequently? You know, like everyone on the planet?

      Oh, and tab completion helps.

  43. Why not both? by Kenshin · · Score: 5, Insightful

    Why does this always have to degenerate into a Campbell's Chunky Soup "Fork or Spoon" debate? Why not just use the most appropriate interface for the task at hand?

    A GUI can be shit for some things, and (unless you live and breathe CLI) a CLI can be too complex and unwieldy for other things.

    --

    Does it make you happy you're so strange?

    1. Re:Why not both? by Anonymous Coward · · Score: 0

      Or alternatively you can use a spork

    2. Re:Why not both? by Anonymous Coward · · Score: 0

      It's true. I can run emacs on both, which is all what is needed.

    3. Re:Why not both? by Anonymous Coward · · Score: 0

      I don't think you understand slashdot(or most article-oriented message boards for that matter).

    4. Re:Why not both? by Anonymous Coward · · Score: 0

      My thoughts exactly. Which is better? "It depends."

      Depends on what you're trying to do, whether you've done it before, whether you really know what you're doing (hands up those of us who've never had to "wing it" to solve some user problem in some area you've never been before?). A GUI is useful in that it presents all the options to you in an easy-to-use format, you just pick what you want, let the rest default. If you don't do that task very often, that's great. For something you do all the time, having to pick through a bunch of options on a screen trying not to miss any is a PITA, just copy+paste+edit+enter or script it up is much quicker.

      And documenting how to do things... "type this" vs "press that button then check that box and type this in that field, select that radio button and hit next, ..." plus a bunch of screenshots with red ovals all over them.

    5. Re:Why not both? by Anonymous Coward · · Score: 0

      The vast majority of GUI admin tools (and by far most media tools) under linux have a CLI in the back that does most of the work anyways, the GUI is ok for doing simple tasks, but the CLI is there for doing all the things the GUI can't without adding a million check boxes. Best of both worlds without duplication of effort.

      Or...to keep with your analogy, why be forced to choose between a fork and a spoon when you could just use a spork.

    6. Re:Why not both? by onefriedrice · · Score: 1

      Why does this always have to degenerate into a Campbell's Chunky Soup "Fork or Spoon" debate?

      I have no idea. It's fairly obvious to me that a spoon is the obvious choice when eating a soup of any type.

      --
      This author takes full ownership and responsibility for the unpopular opinions outlined above.
    7. Re:Why not both? by Anonymous Coward · · Score: 0

      Agreed! Vote this one up! People are often trapped by dualities and avoid complexity even when it is necessary for understanding. As a CLI manipulates symbolic text, the reuse, editing, automation, or analysis of command histories is far superior to what is possible with graphic user interfaces. But try editing a photograph using a CLI alone sometime. Now that we have mainstream touch interfaces: we can make additional comparisons: what would it be like to play a Bach fugue with a mouse versus using an iPad.

    8. Re:Why not both? by Anonymous Coward · · Score: 0

      This. Right tool for the job. Real programmers know this.

    9. Re:Why not both? by Anonymous Coward · · Score: 0

      Exactly. Until Adobe has a CLI photoshop where I can type "remove background that's about 20% #ffffff adjacent to center of image", I still need a gui, but that's about all... as a web developer SSH, Screen, SVN and nano (I know, shuttup, I grew up with pine and kept it ever since) are my best friends. My co-workers call PuTTY "the black screen of death" since they have no idea what a CLI really is/does, but they are also always complementing me on my productivity. At the end of the day I can minimize putty and start up WoW, I think that's a great balance.

    10. Re:Why not both? by Anonymous Coward · · Score: 0

      Why does this always have to degenerate into a Campbell's Chunky Soup "Fork or Spoon" debate? Why not just use the most appropriate interface for the task at hand?

      A GUI can be shit for some things, and (unless you live and breathe CLI) a CLI can be too complex and unwieldy for other things.

      There is no reason a program and all of its features could not both be manipulated by some form of command line AND GUI, or a hybrid of the two.

      It's amazing how the intellectual elitists here can point out that there are more capable command line environments than MS-DOS, and claim at the same time that GUIs are categorically weak as if the Windows style interface with dick for (end user!) automation is all there is or could be.

      I guess it would be fair to point out that Windows and OS X GUI programs can be programmatically driven with far more control than a command line interface because there is only so much information a human is willing to type on a line. Yes, serializing complex data types onto a command line while possible, also makes me gag.

    11. Re:Why not both? by /dev/zero · · Score: 1

      Indeed. Put a spork in it; we're done.

      --

      He that breaks a thing to find out what it is has left the path of wisdom.
      -- J.R.R. Tolkien
    12. Re:Why not both? by aug24 · · Score: 1

      Or indeed, the spork option: a GUI with CLI windows in it. (Perhaps "GACLUI"?)

      --
      You're only jealous cos the little penguins are talking to me.
    13. Re:Why not both? by fuzzywig · · Score: 1

      Indeed, the CLI is great for things like (as in TFA) editing a firewall config. But a GUI is much better for, say, displaying your email. Contrarywise, need to alter one port on the firewall? GUI. Need to categorise all the email in a folder? CLI. It's all about knowing how to use the tools you have, and knowing when to use each.

    14. Re:Why not both? by Anonymous Coward · · Score: 0

      I totally agree and in fact I believe a product is not complete unless it has both! I love a gui for a one and done kind of task. It also helps you get familiar with an application. But, sometimes you need to do a batch job or script things out. There are advantages to both approaches and neither is perfect in all situations. We need both people!

    15. Re:Why not both? by Anonymous Coward · · Score: 0

      Ah yes the all mighty spork!

  44. CLI Photo editing by Anonymous Coward · · Score: 0

    > And when's the last time you edited photos [] with a CLI?

    I do that all the time. I want a set of photos that are standardised for size and compression and with a copyright mark. I throw the ones required into a dir (using text mode midnight commander) and run a script.

    The advantage of CLI tools is that if I need a GUI I can easily knock one up to take the parameters and run the CLI tool to do the actual work. In many cases these GUI front ends already exist.

  45. Not convincing by fnj · · Score: 1

    All tabs, one after the other? Every single config page called out from a tree selector in a sidebar? The pages that scroll - carefully scroll each one in turn and make repeated screenshots? You're practically guaranteed to leave something out. Then to recreate the same config on another system what do you do? Repeat the entire exhausting process in reverse? When you're done, you're practically guaranteed to have errors because the entire process relies on a human doing tedious work that a script should be doing perfectly every time.

    how about taking a screenshot of the gui?

    A config file that differentiates between tabs and spaces is an inexcusably badly designed config file. It says nothing about a weakness of the CLI.

    Ever see an NFS server not work because the config file had a space instead of a tab?

  46. Just ask master foo by Anonymous Coward · · Score: 0

    Master Foo Discourses on the Graphical User Interface

    One evening, Master Foo and Nubi attended a gathering of programmers who had met to learn from each other. One of the programmers asked Nubi to what school he and his master belonged. Upon being told they were followers of the Great Way of Unix, the programmer grew scornful.
    "The command-line tools of Unix are crude and backward, he scoffed. a Modern, properly designed operating systems do everything through a graphical user interface."

    Master Foo said nothing, but pointed at the moon. A nearby dog began to bark at the master's hand.

    I don't understand you!, said the programmer.

    Master Foo remained silent, and pointed at an image of the Buddha. Then he pointed at a window.

    "What are you trying to tell me?" asked the programmer.

    Master Foo pointed at the programmer's head. Then he pointed at a rock.

    "Why can't you make yourself clear?" demanded the programmer.

    Master Foo frowned thoughtfully, tapped the programmer twice on the nose, and dropped him in a nearby trashcan.

    As the programmer was attempting to extricate himself from the garbage, the dog wandered over and piddled on him.

    At that moment, the programmer achieved enlightenment.

    (http://www.catb.org/~esr/writings/unix-koans/gui-programmer.html)

  47. Fools Errand to debate by kdsible · · Score: 0

    There is no debate here. The CLi is good at some things and the GUI for others. They both serve valid purposes. I love and hate both at times. --the religious capitalist "send me $50 to be saved"

  48. Why are we choosing between the two? by Redlazer · · Score: 1
    A CLI is really awesome if you're looking to automate repetitive tasks.

    A GUI is really awesome if you want see different information from different sources, and make specific actions that cannot be automated.

    The two of them need to coexist - use the best tool for the job, which could be either a CLI or a GUI.

    --
    Guns don't kill people, "with glowing hearts" kills people.
  49. Why not Both? by duk242 · · Score: 1

    Why not just have both? Lets take apache httpd.conf for example. Someone who's good at CLI can whack that open in vi/emacs, jump down to the line they want and change an option, or write a script that appends their configuration (eg. adding a vhost) automatically then roll it out across multiple servers. And then, for people who aren't doing a specific change and need to be able to see what's going on (eg. first time setup, where you're going through a lot of the options as you go anyway) can have the GUI open, where the GUI is just a pretty front end for the text based config underneath. Cisco routers work this way, they've got the web based gui that you can set things up in, or you can work in the CLI and config everything that way. Why not just offer both and give the users the choice to use whatever they please? Both CLI and GUI have advantages.

  50. In other news... by yelvington · · Score: 1

    In other news, some random computer journal writer said the existence of the right hand should not mean we cut off the left.

  51. I'm sorry, all those words intimidate me by Anonymous Coward · · Score: 0

    Could you please re-architect your post in a GUI expressing the same point?

    1. Re:I'm sorry, all those words intimidate me by blair1q · · Score: 1

      Can't post a screenshot here. But I can describe it.

      Hold your hand up, palm facing away from you. Now fold down your first, third, and fourth fingers and lap your thumb over your folded index finger.

      There. Can you see it?

  52. What about the Applescript model? by Estanislao+Mart�nez · · Score: 1

    Apple has some work on this area that is instructice to consider. Have a look at Applescript, which is an (admittedly crappy) simple language for scripting GUI applications in a standard manner. I do hate Applescript very much, and consider it one of the worst languages ever, but still, the basic mode is the important thing here: GUI applications expose their functionality in a standard fashion through a textual interface that supports programming.

  53. GUI? Seriously? by fnj · · Score: 1

    What do you mean "we," white man? You don't think embedded software development provides jobs? Very little of it has anything to do with GUIs.

    The reason we all have jobs is because so many people use web sites and software these days.

    1. Re:GUI? Seriously? by Stooshie · · Score: 1

      It all relies on there being GUIs. If there weren't GUIs very few people would use computers. Even if you work on the most obscure command-line controlled databases, they are of no use if people can't access the info. The only way people will access the info is if it's easy to use. Command line manipulation requires a lot of knowledge, mental gymnastics and decent eyesight. It's a really bad way to interact with a machine.

      --
      America, Home of the Brave. ... .and the Squaw.
    2. Re:GUI? Seriously? by betterunixthanunix · · Score: 1

      Embedded systems do not rely on GUIs. Do you think your refrigerator's microcontroller needs any sort of graphical output?

      --
      Palm trees and 8
    3. Re:GUI? Seriously? by fnj · · Score: 1

      Your parent fails to comprehend.

    4. Re:GUI? Seriously? by Stooshie · · Score: 1

      No, it doesn't need it. But My car's embedded sytems are the same, but when I go to the garage they plug in a laptop and can check for problems. The garage mechanic is not going to use command line. Graphical interfaces are far superior to command line by a country mile. Just because you hate programming them doesn't mean we should stop. It also prevents a lot of user error.

      --
      America, Home of the Brave. ... .and the Squaw.
  54. Manual hacking of random configuration files by WaffleMonster · · Score: 1

    This article is really about why you should use a provisioning system for backend process management. Using a CLI or GUI to complete the configuration are both lame choices.

    Why pay engineers to continually make redundant configuration changes to backend systems at all?

  55. Speaking of 'creat' by e9th · · Score: 1

    Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: "I'd spell creat with an e."

    --Kenneth Thompson

  56. Actually, bulk editing turns up ... by Anonymous Coward · · Score: 0

    ... with some regularity.

    Especially if your systems administration involves a photo / graphics oriented site. Usually just trivial bulk resizing or cropping, but other edits can also be necessary, whether of photos or art, GUI elements, monitoring plots, and/or A/V / multimedia content, etc. I've heard that there might even be a few of these with significant numbers of users.

    And yes, ImageMagick has powered a few mainstream major (think 40m members+) websites.

  57. Both have their place by gweihir · · Score: 1

    But any person not able to use a CLI effectively is not a "computer professional" let alone admin material. Especially System administration, but basically anything that can be automatized is the domain of the CLI. Those that cannot use the CLI lack essential skills in what is still the most powerful human-computer interface method. GUIs are specialised tools and have a limited scope. Within that scope they may do fine, but that is it.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  58. Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: "I'd spell creat with an e." --Kenneth Thompson

    "creet"? That's even worse!

    1. Re:What? by blair1q · · Score: 1

      My answer to that was always "but it's got an e".

  59. What about all the money the GUI company saves? by Anonymous Coward · · Score: 0

    I mean, if the GUI is really straightforward they could just have the receptionist do it.

  60. Emails are text by cyberspittle · · Score: 1

    Why do we have so much text in GUIs?

  61. Yesterday... by Anonymous Coward · · Score: 0

    Yesterday I had to install some applications. I had a pile of debs. Some were the dependencies and what have you. Installing all those using gui would have taken forever. Or I just did "dpkg -i *.deb" and I was done. Use sed or awk just once and gui is blown away.

  62. pre-history vs. history by mangu · · Score: 3, Funny

    A dividing line in human history is the invention of writing. That's what differentiates pre-history from history. After the invention of writing we have records of what happens, before that it's up to archaeologists to dig ancient garbage dumps to infer things.

    Incredibly, there are people who want to run the inverse way in computing.

    What next, will we have to climb trees to use computers?

    1. Re:pre-history vs. history by Coeurderoy · · Score: 1

      Of course you have to climb trees to compute, but you can use b-trees, straight binary trees or even oriented graph trees or best of all fractal trees..

    2. Re:pre-history vs. history by narcc · · Score: 1

      What next, will we have to climb trees to use computers?

      Don't be ridiculous. The most obvious UI evolution, to be pioneered by Apple, allows you to perform all of your favorite computing tasks by stuffing your face with Doritio's and sweating.

    3. Re:pre-history vs. history by turing_m · · Score: 1

      What next, will we have to climb trees to use computers?

      I'm not sure, but when Slashdot 3.0 adds faeces flinging technlogy to the UI, I'm outtie.

      --
      If I have seen further it is by stealing the Intellectual Property of giants.
  63. Technical Tunnel Vision by raftpeople · · Score: 1

    If you are unable to think of examples in which a GUI is better suited to configuration than a CLI, then I think you have TTV syndrome.

    The rest of us see pros/cons on both sides of the issue.

    1. Re:Technical Tunnel Vision by Lehk228 · · Score: 1

      if it is so easy to come up with an administrative function more efficient with a GUI then out with it.

      --
      Snowden and Manning are heroes.
    2. Re:Technical Tunnel Vision by lennier · · Score: 1

      I think you have TTV syndrome.

      Teletype vampire?
      Talking television?
      Talk to the Vole?
      Tinkertoy vendor? ... oh.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
    3. Re:Technical Tunnel Vision by Cederic · · Score: 1

      Adding a user to a system so that they can log on and gain restricted access to it.

      Before you tell me how easy that is from a command line, bear in mind your CLI using admin is now up against a minimum wage call centre employee.

      Efficiency includes making shit easy for idiots.

      Disclaimers: Most call centre employees I work with have a degree, and I have Cygwin installed on every Windows PC I use. I don't install it on my Linux boxen.

  64. So it all depends on the software. GUI still wins. by scottbomb · · Score: 1

    Get (or write) software for the GUI that does the same thing the CLI does. Choose group of workstations. Put checkmark in box to select all and then deselect the ones you don't want. Click "OK". Done

    Now you don't have to worry about having the wrong (or missing) character in your cryptic string of text commands.

  65. In other news... by Anonymous Coward · · Score: 0

    In other news, using round wheels takes you back to the dark ages.

    Some things will stay for a long time... You can improve on them but their essence will remain.

  66. Living in the past by Anonymous Coward · · Score: 0

    This is an example of someone being right and wrong at the same time. He is right for the year 2011. I work in a massive IT infrastructure and clearly the goal is to cheapen the workforce. This is done through GUI's. The trend is to get unskilled labor to perform the complex tasks SA's et al perform now. Software is starting to get so advanced that you can see the light at the end of the tunnel. One example is Solaris fma which is supposed to manage hardware (normally done by humans now) They have been developing it for a long time and frankly I dont think it works yet, but I think they will succeed some day. I have noticed that the newer talent coming onboard doesn't despise GUI's like us old farts either, they kind of like them. I think that author just committed suicide - he clearly doesn't know what he is talking about, at least from an empire standpoint which is the only thing that really matters.

  67. DOS is dead. by antdude · · Score: 1

    My dotcom boss used to say "DOS is dead" when I was using command line in Windows NT3.5. Hmmph.

    --
    Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    1. Re:DOS is dead. by Jaime2 · · Score: 1

      DOS is dead. The command line in Windows NT3.5 didn't have a DOS lineage. cmd.exe is a DOS command interpreter clone originally written by someone other than Microsoft (I forget who). cmd.exe simply behaves a lot like DOS did, but it has always been a native Windows program and has always had significantly different functionality from DOS's command interpreter. For example, "route print 2>&1 | more" works in both UNIX and Windows NT, but doesn't work in the command.com interpreter or on any non-Windows NT derived version of Windows.

      I'm posting this from Windows 7. I just verified that Microsoft still ships both cmd.exe and command.com with the operating system. command.com is still much slower than cmd.exe and runs using the backward compatibility subsystem (ntvdm) that is built into the operating system.

    2. Re:DOS is dead. by antdude · · Score: 1

      But DOS wasn't dead back during dotcom days! Windows 9x still existed too and used it (F8 IIRC).

      --
      Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
    3. Re:DOS is dead. by VortexCortex · · Score: 1

      My dotcom boss used to say "DOS is dead" when I was using command line in Windows NT3.5. Hmmph.

      He couldn't have been more wrong.

      1. Without Disk Operating Systems we would have no general purpose computers -- Windows / Unix & Linux are all DOS's. The D has been generalized to include Hard as well as soft disks, as well as non-volatile RAM -- persistent RAM Disk, if you will. The Disk in DOS meant that the OS was loaded from storage that's NOT HARD-CODED into the system, (software OS, not hardware based) at the time that was floppy disks... Today's computers all have "D"OSes, even the "hard-coded" parts are flashable software in most cases.

      2. The risk of being subjected to a Denial of Service attact is higher than ever given the larger number of devices and applications connected to the Internet since the "dot com" era.

  68. CLI is all you need... by subk · · Score: 1

    ..because after all, 640k should be enough for everyone.

    --
    Now, if you'll excuse me, I have backups to corrupt.
  69. In the beginning was the command line by Anonymous Coward · · Score: 0

    In the beginning was the command line - a great short story by Neal Stephenson.
    - read it, it helps put things in a more proper perspective.

    http://www.cryptonomicon.com/beginning.html

  70. Is there a Middle Ground? by JuzzFunky · · Score: 1

    After reading yesterday's post on Creating the Software Art In Tron Legacy I started thinking about the limited way I was using the shell in my day to day work. I was thinking that there has to be a better way, some sort of middle ground between the shell and GUI. I don't want to give up the power that the shell provides, I don't even want to take my hands off the keyboard - I just want a richer more contextual display. My computer is capable of rendering very slick graphics but my shell makes no use of it. Does anyone know of any projects that are working towards a graphically enhanced shell?

    --
    Unexpect the expected!
    1. Re:Is there a Middle Ground? by Anonymous Coward · · Score: 0

      That's the thing - the power of shell utilities basically depends on it being raw text. Most modern terminal emulators can render jpg/png images in applications that support them, like the w3m browser's w3m-img package.

  71. Sigh... by kvvbassboy · · Score: 1

    So many comments for a non-story. Yes, most people use both depending on their task, to make the task the most bearable. Both have their plusses and minuses which have been discussed time and time over. If you are one of those people who think that you are leet if you use CLI, or the other kind of person who thinks CLI is for basement dwellers only, I sympathize with you.

  72. Programmers Appreciate GUIs by Capt.Albatross · · Score: 1

    Because if you have a decent shell and you know how to program, half of what you do involves writing little programs for tasks that the GUI designer either did not anticipate, or could not support without incorporating a programming language. Most people who know how to use CLIs use GUIs for the jobs the latter do well, but users who cannot program have no idea of what they are missing from not being able to use the CLI effectively.

    The MS-DOS command line is excluded here, by the above caveat of a 'decent shell'. Trying to do anything useful in a DOS box makes one realize just how clever the creators of Unix were. Fortunately, there is Cygwin...

    1. Re:Programmers Appreciate GUIs by El_Oscuro · · Score: 1

      The DOS prompt is surprisingly powerful. To access its man pages, type "help" at the prompt . Ironically, you will find one of the best man pages written with plenty of detailed examples and useful information. It almost seems !Microsoft.

      It is also an ugly kludge with the "for" command being used for a lot of stuff besides loops, as well plenty of other weird semantics. But it is powerful.

      It won't make you forget BASH but it can make you forget the GUI. I think every Windows system admin should know it. And while cygwin may be more powerful, you can use your scripts on any Windows box you might have to administer. A great advantage if can't install cygwin or another shell.

      --
      "Be grateful for what you have. You may never know when you may lose it."
    2. Re:Programmers Appreciate GUIs by Jaime2 · · Score: 1

      You're looking for an API, not a CLI. I hate trying to call somebody's half-assed CLI tool with its own "special" command-line parameters from a script. Parsing the output is even worse, with a few exceptions. APIs like .Net and COM are well-behaved and don't freak out when a quote or carriage return is embedded in a field somewhere.

      PowerShell makes any decent API behave like a CLI anyways. Writing a CLI is almost unnecessary these days. Look at recent versions of Microsoft Exchange -- everything that can be done in the administrative console can be done through PowerShell, but it has no CLI tools.

  73. Right... by xlsior · · Score: 1

    There will always be a place for the command line:

    GUI's make easy tasks easier, but hard tasks impossible.

    (I have half a dozen command shell windows open at any given time in Windows -- unixtools for windows (sed, awk, grep, etc.) are absolutely invaluable to stay sane.)

  74. be that as it may by brokeninside · · Score: 1

    ... I think the fine article was completely misguided. For example, WSH script could have read the spreadsheet that eas mentioned, parsed the data into URLs that call the web interface for the "GUI" only router, and completed the task in much the same way as the article suggested that the CLI be used to solve the problem.

    In other words, it's not the actual GUI holding the GUI Corp back, but a failure of admins to adequately understand the tools at their disposal. Given that the author is familiar with UNIX, he knows how to do things the Unix way. It should be no surprise that he doesn't know how to do an enterprise level roll out using Windows style tools.

    1. Re:be that as it may by SanityInAnarchy · · Score: 1

      parsed the data into URLs that call the web interface for the "GUI" only router,

      At that point, the router also has an API. A GUI alone won't cut it.

      --
      Don't thank God, thank a doctor!
  75. In other news... by veldon · · Score: 1

    Experts argue that humans should cut off their arms, as they are much worse than legs when used for tasks such as walking and running.

  76. It's pretty easy, young one by brokeninside · · Score: 1

    Just ask anyone old enough to remember Hypercard.

    Or, for that matter, NetBeans.

    New kids on the block may find the SSIS snap-in for MS Visual Studio to be a good example.

    The problem isn't GUI vs, CLI per se. The problem is click and drool interfaces that sacrifice flexibility for simplicity and end up ony approriate for simple tasks.

  77. comand line for artists and designers by Anonymous Coward · · Score: 0

    I'm an artist and have spent a good part of my life working with Max, Maya, Pshop, AutoCAD and many more tools.

    I have long loved the command line of ACAD - it's been well over a decade since I used it in a production environment but I still think that it struck a fine balance between GUI and CLI. I'm not sure if ACAD captures the above Author's intentions but it does illustrate that simple, human-readable text commands are fairly easy to learn with some diligence and can grow to be extremely powerful.

    I used ACAD (back in the version 4-7 days) for many years on my own and in isolation. I used the UI exclusively. I was slow. I later (around when version 13 came out) started working with teams of people. The first day I saw them working, I freaked out. I remember going home and spending days-on-end learning the commands. Within a few months, I was a speed demon like the rest.

  78. Obligatory Futurama Quote by maccodemonkey · · Score: 1

    "I hate these filthy neutrals Kif! With enemies you know where they stand but with neutrals? Who knows! It sickens me."

  79. dark ages of the C:\ prompt. by Culture20 · · Score: 1

    dragging computing back to the 'dark ages of the C:\ prompt.'

    Well there's your problem right there. Comparing all command lines to a command line system where choice.com was king, loops were crafted from GOTO statements, and return values meant nothing consistent. Even the C:\ prompt in Win7 these days is much better. cmd.exe is passable with For, and powershell is quite nice. But [ba/[t]c/k/z]sh is better than anything native on a windows system, not to mention the standard gnu utils.

  80. 1978 called, it wants it's paradigm back. by w0mprat · · Score: 2

    What is Google but a command line interface? Your browser url bar? Your start menu search box with integrated desktop search? Then there's something called the Web.

    It seems CLI and GUI has been hybridized after a brief fad of flashy GUI (now isolated to gimmicky tablets). If you actually IT at the momment, rather than post on a website blog about the IT industry you'll find yourself working more and more with web interfaces. No CLI, no native GUI. It's just how it's all going to be done. (please take away some of the CLI and crappy native interfaces I have to deal with PLEASE!).

    Ultimately 80x50 inline text sucks for representing any information. Since re-flowable HTML and the hyperlink it's as obsolete as dinosaur DNA. Ultimately you can sit down to a very powerful web app or the occasional well designed GUI and start getting shit done. You don't have to read the man page or all but read the source code to use it, which I might add, man pages still don't have examples. GUI you don't learn, you just use it. Ironically, most CLI work is done from a GUI.

    Have worked with CLI for years, I cut my teeth on it way back, it still helps me out but I don't delude myself that CLI is somehow magical or is in some way a superior interface it's not. It's often epic usablility and discoverabiltiy fail and completely ignores advancements in human interface over decades). I don't need that doublethink in order to cope. Admit it, it sucks. But we use it at times and we get awesome shit done.

    Thats what matters.

    --
    After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
  81. Having both is fine by 2bfree · · Score: 1

    Simply use the right tool for the job at hand; both GUIs and CLI have their place.

    This article reeked of 'get off my lawn'.

  82. Both are useful and both can be horrid. by on_the_gls · · Score: 1

    My gripes are less about GUI vs Command Line but more on the designs for these tools. I have used excellent CLIs and terribly horrible CLIs and the same goes for GUIs. If they are done well for their particular purpose then no argument from me, I'll use them. My concern is the # of GUI and CLI interfaces that make me pull my hair out when I go to use them. So often designers and testers are seem to not be testing real world scenarios nor real world scales and some designers seem to not have a clue when a GUI or a CLI is more appropriate. CLIs that are interactive only, don't use return codes effectively, and don't provide easy to understand outputs (where it takes a natural language parser to understand the output for example.) GUIs can offer a whole different set of frustrations.

  83. Why hate guis by drb226 · · Score: 1

    When you can get the best of both worlds? gnome-do. I just type meta+space "te" return and I'm in the terminal. meta+space "ch" return gets me into Chrome. For more obscure programs, the visual feedback is nice, but the intuitiveness of typing is also very nice.

  84. Sitting in my '57 Chevy . . . by NicknamesAreStupid · · Score: 1

    . . .counting my punch cards and listening to Elvis on paper tape. Oh, the good old days.

  85. Pffft, GUI is dead, long live the FUI by evilsofa · · Score: 1

    If proponents of the CLI feel threatened by the GUI, they must be horrified by the FUI.

    On another tack, I did a quick search and nobody seems to be calling the new interface the FUI - Finger User Interface. It seems so obvious that I can't believe I'm the first to do so.

  86. Where's the CLI? by Jaime2 · · Score: 1

    Both scenarios in at "CLI Inc." were cases of editing config files, not using a CLI. The same sed command that was used to modify the config for the BIND server and the Cisco box could have been done better with a good GUI text editor that supports regular expression based find and replace. The Windows admin could have done exactly the same text editing (at least for DNS), or could have scripted the whole thing. I've scripted a web based GUI more than once in my career.

    The sad fact is that most Windows admins are bad at automation. However, it isn't the platform's fault. Windows is so easy to administer that any half-witted moron with enough persistence can manage to hold a job. There are a lot that are good at it and Microsoft has a plethora of tools for those who see the value in them. What is important isn't a CLI, but a usable API on which to build. CLIs are the "lowest common denominator" of APIs. UNIX and Linux have had a hard time establishing a common API, so that's what they are left with. Microsoft has been through several generations of APIs, each better than the one before. In the mid 1990s, any Windows admin worth his paycheck was doing VB Script with COM. Today, they are using PowerShell with .Net classes. Both are vastly superior to a CLI. Most Windows administrative tasks already have a CLI these days. If they don't, or if you want to make a better one, simply whip up a PowerShell script to use as a CLI.

  87. the '90s wants its advocacy piece back by Anonymous Coward · · Score: 0

    OK we get it. Shell scripts and pipelines are still great for system administration and general file system maintenance. GUIs are better for a lot of other things, like surfing the web and (yes) editing documents.

  88. differnt learning styles by letherial · · Score: 1

    While command lines are powerful, and ill admit that the little i know of Linux has taught me it versatile, far more then windows. some people just have a hard time remembering command lines; I am a visual person and remember pictures better then words, therefore, GUI's work best for me. There is nothing wrong with either, Linux has its advantage and M$ also has its advantages (i know, i disgust myself)

  89. Different tools for different jobs. by LongearedBat · · Score: 1

    Simple GUI's for simple jobs, and CLI's for more detailed jobs.
    That's what Apple does with its servers, and it does it fairly well (still a way to go, but it's going in the right direction).

  90. How do GUIs pipe ? by redelm · · Score: 2

    Nevermind the limited menu systems and the unidentifiable icons, GUIs lack any means for users to use multiple programs beyond the clipboard (mouse cut'n'paste) also available on CLIs.
    For example, I type

    $ du -m | sort -n | tail -69

    to get the 69 largest directoriess under the current working directory (often but not always /). And something only slightly more complex to search logs for the IPs who have attacked me most. I have lots of neat one-liners like this stored in my command history ~/.bash_history and will often use one as a template for a new task.

    1. Re:How do GUIs pipe ? by georgesdev · · Score: 1

      yes, cli is great with piping.
      it's also great for automating
      a gui however is great for learning concepts. I prefer using gimp to discover image processing concepts (use layers, filters, undo, etc ...). but then if I need to do an image processing on hundreds of pictures (resize and sharpen for example), then the imagemagick called from a script is what I'll do. It has no limits.
      for example from the command line or a script, it's easy to add sending and email to your mobile phone at the end of a process.
      your-script-or-command | (echo -e "Subject: Done";echo;cat -) | msmtp -t your-address@example.com

    2. Re:How do GUIs pipe ? by Anonymous Coward · · Score: 0

      Yes, in general, due to the nature of how things have been developed thus far, CLIs are currently better at this. But to answer your question... this is one example of how GUIs can pipe: http://lethain.com/static/blog/automator_resize.png An implementation where graphically represented tasks available to the entire environment (all applications) that can be built upon another in a chain is entirely possible, though.

    3. Re:How do GUIs pipe ? by Anonymous Coward · · Score: 0

      Because surely, it's impossible to create a shortcut to your scipt that you can click on, or even have it pop up a dialog asking for input.

      To answer the question in your subject line, the GUI pipes the same way the CLI does, by using pipes, they're a construct that's part of the underlying OS, not a character only accessible by the CLI.. Take a look at Automater on OS X for a great example, it's essentially a drag/drop GUI frontend to piping. Drag/drop your actions, chain them together (piping!) and tweak your parameters, done. Just because you don't know how to do it doesn't mean that it can't be done or that it isn't trivial to do.

      As an aside, I've never had a gui throw "argument list too long" errors at me when batching thousands to tens of thousands of files. Why should I have to resort to mucking around with find or crafting regexps when an asterisk will do (or when I simply drop a folder onto a droplet)?

      There's a time and place for everything, For the most part, I use the CLI to manage my Solaris servers, for example, I say for the most part because managing advanced ACLs is A LOT simpler, not to mention quicker via the GUI, most people who've tried crafting NFSv4 style fine-grained ACL strings by hand will tell you the same.

      I'll use shell scripts to automate where it's convenient, but for example. Photoshop Actions/Droplets are ridiculously more powerful than scripting ImageMagick and it's as simple as performing the task once. (and it won't choke on 16-bit, CMYK, adjustment layers or multi-layer PSD/TiFFs, but that's another matter).

      As with anything else, it's about using the tool that best fits the task and situation, picking a side in some stupid one-size fits all GUI vs CLI holy war only does you a disservice.

  91. Best GUI is one that runs CLI in the background by SunFireSpaz · · Score: 1

    ${SUBJECT}. GUIs that do things in the background using the CLI are really the best that I have used. You get the benefits/eye candy of the GUI, but can script anything you need. Examples are Veritas volume manager and their cluster manager (hagui). They even get bonus points for logging the GUI's command line calls in a log file so you can see what was done. You do it once in the gui and then script the other dozen/hundred actions. (Or, help maintain a change log of the system for recover/rebuild purposes.) EMC's Legato used to do it as well. (Up to early 7.x, not sure how the newer 7.5/7.6 is doing things.)

  92. Who the fuck... by guybrush3pwood · · Score: 1

    Who the fuck is Paul Venezia, and why should we care?

    --
    Perhaps I'm trolling, perhaps I'm not.
  93. Different tools for different tasks by Anonymous Coward · · Score: 0

    This is pointless troll-baiting. GUIs have their place for complex tasks that may be done infrequently. I don't want to have to dig out my reference manual or google search every time I want to perform a task. CLIs are perfect for batch, repetitive tasks that may be done a dozen or more times a day.

    The secret is, most good interfaces offer both a CLI and a GUI.

    Slashdot is such garbage these days it's barely worth visiting.

  94. Strawman article with strawman title by TBBle · · Score: 1

    Despite the heading, the article is "Things that can be scripted make batched actions easier and faster than things that cannot be scripted". The rest of the article is just strawmanning. (That's totally a word now...)

    His router-changes example doesn't even use the CLI interface on the router, it has the router upload the script to a TFTP server, the admin edits it (not using a CLI, I hope, but some kind of text editing software), and causes the router to fetch it back and execute the script. Hell, a router with a web GUI doesn't even need a TFTP server, you can upload and download the file using HTTP. Or edit the script live with a handy javascript syntax checker, if your router developer's so willing...

    I'm going to take this opportunity to scoff at his "lesson in IT", imperilled as I might be.

    *scoff*

    --
    Paul "TBBle" Hampson
    Paul.Hampson@Pobox.Com
    1. Re:Strawman article with strawman title by arthernan · · Score: 1

      And the form where i am typing this is not really GUI. The browser submits the data to a server and I will see my post back as html incoming from it as well????

      Actually FTP, Email, Voice recognition or whatever the transport of the commands may be, is not the escence of the argument. The issue is that, if a configuration change is only available on GUI, it is difficult to automate. While there a many ways to automate a CLI based configuration change. Clearly in software evrything is possible. But out of the box, CLI administration. Particularly LINUX based has many automation tools based on the fact that anything can be done on a command line/text editor.

      There is a MS vs LINUX subtext in the article. Because of the traditions in each of the camps. I do believe that LINUX has an edge once a willing admin is able to endure the hard task of remembering every random and arcane name or switch LINUX has to offer. So for the casual admin MS may be better.

      Sure that may be an acomplishement for LINUX and for corageous admins. But it is far from ideal as well.

    2. Re:Strawman article with strawman title by TBBle · · Score: 1

      That's my point, yes. The article claims to be "GUI vs CLI" but its biggest point is "Changing configuration files versus using an interactive interface".

      And then gives examples of people changing bind config files, versus whatever DNS server requires you to use its GUI to change (which isn't MS's DNS server, that can be batch-modified in active directory -- or the registry for pre-Windows 2000 versions) and calls it a win for Linux.

      Anyway, I thought storing config in text files (e.g., bind) was considered suboptimal compared to putting it into LDAP (e.g., MS DNS server)?

      I guess if you are only ever going to have one DNS server, then text config is fine (as long as that machine's being backed up) but there's then good motivation to move to 0 DNS servers and put it in someone else's hands entirely.

      Then of course you may end up with a non-scriptable interface. ^_^

      --
      Paul "TBBle" Hampson
      Paul.Hampson@Pobox.Com
  95. Headline Fail by jjohnson · · Score: 1

    As proof, a tale of woe

    An anecdote is not even data, let alone proof. And a hypothetical anecdote is even less.

    --
    Anyone who loves or hates any language, platform, or manufacturer, doesn't know what they're talking about.
  96. Poor helpless critters by jabberw0k · · Score: 1

    There's an article about MS bashing being kicking puppies, and here you are kicking cats... what has the (hello,) world (\n) come to?

    1. Re:Poor helpless critters by pjt33 · · Score: 1

      Don't forget that the whole premise of the discussion is kicking mice.

  97. Why do you always complicate things... by Anonymous Coward · · Score: 0

    ... that are really quite simple?

    A GUI is for when you don't know what you are doing.

    A CLI is for when you do.

  98. Off the mark. by Anonymous Coward · · Score: 0

    Retrocomputing is my hobby. My current project is a Origin 300 machine, which I can communicate with in one way: with an old DEC VT525. If I'm feeling feisty, I even have a TTY 43 I've hooked up on occasion, which completely eliminates the possibility of doing anything that requires the cursor to be addressable. That means no vi, emacs, nano, lynx, etc. Just me, ed, awk, sed, and a bottle of scotch. This is a machine that has /dev/tty, and it really means it. 38400 baud, N/8/1. NO keyboard port, and NO framebuffer of any kind.

    Really, what I'm saying is that this is a machine with nothing but the CLI. But this is not what most people are speaking of when they get all GUI-hateful. I can't open a Xterm window, because X is not even installable on this machine. I have to do it the old-fashioned way.

    How I wish I had a GUI, if only so I could pop open a bunch of terminals and arrange them all pretty. And then complain on Slashdot about how the GUI is *ruining* my day. With Firefox, which doesn't count, because even though I pray to the gods of vi, I'm not going to try to use lynx to get that tarball I need. I mean what are we, primitives?

    Be thankful that someone invented GUIs. Hell, be thankful that someone invented the pixel-addressable display for you. I have 80x24, with 4 pages of scrollback, and that's about it.

    Of course, that's what makes it fun, and as a hobby I wouldn't have it any other way, but I'd have to have my head examined if I seriously proposed doing actual work with a strict CLI interface.

  99. How many people are viewing this story by Boawk · · Score: 1

    using a command-line interface. I'm a huge CLI guy, but GUIs have their place.

  100. The third way by 31eq · · Score: 1

    That's the other thing about the CLI vs GUI debate. It doesn't only ignore the fact that you can use both together, but that some applications are neither CLI nor GUI. Yes, they have GUI versions, but emacs and vim are fundamentally not GUI applications. They are, let's speak it, full screen text mode.

    Full screen text mode is not a CLI. There are editors that run in a pure command line. The most famous is ed. When vi was invented, it was a big step up from ed, but it wasn't a full replacement because it required full screen text mode.

    Full screen text mode is certainly not a class of GUI. It doesn't require graphics. It may borrow concepts from a GUI, like pointers, menus, even windows, but it isn't graphical because it doesn't require the operating system to have graphics capabilities.

    Full screen text mode is what we were using before GUIs took off. For certain tasks, it can be as usable as a GUI. It does, however become redundant when you have a GUI, hence vim and emacs get upgraded to GUI applications. The CLI, then, is the survivor, and full screen text mode gets written out of history.

  101. GUI = big, complex, buggy Linux CLI = hard2learn by arthernan · · Score: 1

    When are the teological discusions going to end. This is old news, and still people fight it as if their life depended on it. Chill out.

    As humans we can make sense out of the lack of order in the linux commands. While the windows GUI with it's limitations is much easier to use. The sad part of the story is that we don't really have a better alternative to either of them yet. The windows powershell, althought I have not user it myself may be a wakeup call to Linux, or maybe not. While people are willing to learn arcane nomenclature and adhoc syntax, there is not really much any CLI alternative can do.

    The bigger question is while we invest time in petty MS vs LINUX discussions, we miss the third alternative. What will be the better way to do what we do. the repetitive tasks. As well as ease of use and learning? Does a Steve jobs need to come and spell it out with a product (like he did with the iphone) before we can begin to understand that there ARE other posibilities!!!

    That should be where our energies should be invested towards.

  102. I think it was Rob Pike who quoted this first... by Anonymous Coward · · Score: 0

    I think it was Rob Pike who quoted this first: What You See Is All You Get. (WYSIAYG). Now read that carefully. I didn't type What You See Is What You Get, thats the old WYSIWYG. The idea behind WYSIWYG is that what you see on the screen is what will be printed on your printer. Its doesn't mess with the fonts, or colors, or formatting of the text. Its what most people wanted in the old DOS days when dot matrix printers would give them something very different from the display. When Rob Pike stated "What You See Is All You Get", what he meant is on a graphical user interface, in the name of clarity and forms creation, some information will be left out to make the form less cluttered. In a CLI, they print everything the system can generate, and there are tools the user can use to suss out the various pieces that are immediately relevant. With a CLI, you start off with more than you want, and filter it to get all you want. With a GUI, you get what they give you, some of which might be useful, and some of which might not be useful. They filtered some stuff out when they made the form, and there aren't enough ways to make a form changeable without turning it into a CLI. For printing, WYSIWYG is good. For system administration, WYSIAYG is bad.

  103. You working on an AGC? by Anonymous Coward · · Score: 0

    Executive Overload?

    Perhaps you ought to turn off the approach radar...

  104. !FTFY by 21mhz · · Score: 1

    This is not equivalent. find does a deep search, while globbing */*.jpg will yield all files ending in *.jpg in the first level subdirectories (and only those files and directories whose names don't begin with a dot, except when an obscure shell option is enabled).

    --
    My exception safety is -fno-exceptions.
    1. Re:!FTFY by Boltronics · · Score: 1

      Correct. More accurately, it could be written with the command:

      $ find . -maxdepth 1 -iname "[^\.]*.jpg" -exec ImageProcessor -scale 50p -filter \(contrast, 1.1\) '{}' \;

      Still not 100% identical (it prepends a "./" to each file), but it would take a very obscure/poorly coded program to complain about the differences.

      --
      It's GNU/Linux dammit!
    2. Re:!FTFY by Boltronics · · Score: 1

      And use -name instead of -iname to make it case sensitive like the parent... although normally you would *want* such a query to be case insensitive - another win for the find command.

      --
      It's GNU/Linux dammit!
  105. Don't diss the Yugo by Anonymous Coward · · Score: 0

    A maintained Yugo will run FOREVER, but DOS, specifically, command.com and cmd.exe, are handicapped pita, like a car without wheels or an engine -- its why Microsoft finally built a car, they call it PowerShell

  106. Re:For performance, generally? You can't beat "CLI by Anonymous Coward · · Score: 0

    Thank you so much!

    I was already missing my daily fix of incoherent gibberish and mentally disturbed practices.

    Again, thank you so much. You don't know how much fun you bring into people's lives.

  107. CLI and GUI interfaces arent mutually exclusive by Anonymous Coward · · Score: 0

    This is silly, CLI and GUI interfaces aren't mutually exclusive. They're both good for different things. They're two different tools with the same end goal; an apples vs oranges comparison is relevant here. You can argue about taste, but you can't argue that they both satiate hunger and get the work done.

    That said; as a programmer it makes most sense to create a CLI program and then slap a GUI on top of it. Codewise you can test more easily, you can more easily create logs from the program, and the program becomes easier to script - while still remaining useful and easy to handle for those people who don't intend to use it very often.

    I would like to argue that the elitism caused by pro-cli users will only in the end harm the Linux cause if we want to get normal desktop users to start using it.

  108. Unless the web interface is Java by brokeninside · · Score: 1

    ... it doesn't need an "API" proper. HTML allows for forms to be prefilled via URL calls. Since the fine article stipulated that the router had a web frontend as its GUI interace, a WSH script can prefill and submit any form thatt is displayed merely by calling a URL.

    And, even were that were not the case, so long as the GUI widgets are named, WSH scripts can manipulate them programatically. And, even if they aren't named, there is the possibility that automation is possible via other mechanisms such as manipulation of hot keys, tabs, etc. I wrote some scripts in WSH to do performance testing circa 2005 that did just this. It called a series of proprietary programs, to time how long it would take to log into a database, complete specific tasks tasks, and log out.

    1. Re:Unless the web interface is Java by SanityInAnarchy · · Score: 1

      I understand how the Web works, and that a well-designed website can also function as a GUI. I think you underestimate just how broken it can be, unless the method you're suggesting actually drives a browser. Suppose the web GUI is trying to do everything in JavaScript, with fancy AJAX calls and the like? Reverse-engineering that can't be easier than running a well-documented, well-understood CLI.

      And at the point where you're talking about discovering the name of a GUI widget, understand that you are, in fact, trying to script something which was never intended to be scripted. Yes, it can be done, but as arcane as the shell can be, I can't imagine it approaches this.

      I didn't mean to imply that this is impossible without an API, but I do think you need an API to bring it up to the convenience and reliability you get almost for free from a well-designed commandline environment -- or from the better Web frameworks, I will admit.

      --
      Don't thank God, thank a doctor!
    2. Re:Unless the web interface is Java by brokeninside · · Score: 1

      Suppose the web interface is doing everything in Ajax?

      It's possible, but I've yet to see a web based router do that. And, if it is, unless it's obfuscated, it makes things easier.

      Widget names are fairly trivial to find in WSH. And, as I mentioned, they aren't necessary for the project.

      The bottom line is this, you're presuming a well designed command line interface and a poorly designed Graphical interface. If the Graphical interface is properly designed, there is no prima facie reason why it can't be reliably manipulated programatically just as easily as the command line product.

      That is to say, the problem isn't GUI vs. CLI but good engineering vs. poor engineering.

  109. CLI is best for admin work by doperative · · Score: 1

    CLI is best for admin work, a few scripts and you've semi-automated most of the admin work. Compare that to the click here-and-here-and-here method. That's why it takes less staff to admin a Linux service than a Win er .. GUI one. Even on the desktop, BASH and a few scripts achieves more in a few seconds than minutes of clicking ...

    "Armed with printouts of the spreadsheet, the .. admins sit down .. and painstakingly go through each record .. one by one, typing in each address manually for each record .. It takes several hours at least -- and unbeknownst to them, they've managed to fat-finger a few addresses and swap a digit here or there in the blear of a late Friday night"

    "Meanwhile, an admin over at CLI Inc takes the two address columns from the spreadsheet, copies them to a clipboard, and pastes them into a file on a Linux box. It's the work of 10 seconds to parse that into a usable sed script" link

  110. non story by Anonymous Coward · · Score: 0

    and next time, Marmite, is it tasty, does it make you code better, and ' red of blue ' - which is better ..

  111. Discoverability by Anonymous Coward · · Score: 0

    Yeah, thats it.

  112. If you cannot use the command line... by Arrogant-Bastard · · Score: 1

    ...then you are not a professional.

  113. Its not the GUI that sucks by 3seas · · Score: 1

    What sucks is not the GUI, but the failure of the computer industry to provide the three natural user interfaces to the full user base population as a standard in all applications and OS's. And we know the constraints are done strictly for profit, but it is also the lie of imposed false constraints.

    From Abstraction Physics

    "Primary computer user interfaces:
    Nature likes three (3) in primaries, as color in light (additive - red, blue, green) and paint (subtractive - blue, yellow, red) from which we can create all other colors in the rainbow. This applies to abstraction physics as well, as applied through the tool of computer, for there are three primary user interfaces. The command line, the Graphical User interface (GUI) and the side door port to application and functionality access (known by many different names and application levels such as API, IPC, DCOM, dcop, D-BUS, Plumber, computer sockets, etc., but each having its limitation and typically not so end user friendly as the concept should be.) And like the primary colors, if you take one away or limit its use, you constrain the ability of the user in putting new automatons together or modifying existing ones. Causing false limitations in user ability........."

  114. Then what's the distinction? by jonaskoelker · · Score: 1

    Uh, using a GUI doesn't preclude you from editing text.

    Isn't that like saying "A CLI is a graphical UI, because the monitor needs to be on to use it" or "A CLI can be made into a GUI by using an on-screen keyboard"?

    In my mind there's a real distinction between inventing and typing textual commands, versus choosing stuff from a menu or list of choices. Links (say) is in the latter category. Yes, it's displayed on a text terminal, but it's more like a GUI in that the user chooses from a pre-specified list of commands or actions, rather than composes one of their own.

    Some things are not best done by choosing from a list of pre-specified functions.

  115. The discussion is talking vs painting+signs. by master_p · · Score: 1

    The CLI is like talking. Intent is expressed as a series of written phrases which could have been orally communicated to the computer provided that speech recognition worked effectively.

    The GUI is like painting: Intent is expressed via a series of pictures and gestures.

    Both ways have their pros and cons. They are complementary to each other.

    A good GUI can do things the CLI does not offer, and the CLI can do things that are difficult to express via a GUI.

  116. Why there is no CLI GUI app? by master_p · · Score: 1

    Here is an idea: a GUI application that allows the user to select one or more CLI commands via the mouse, then select the appropriate parameters from a list presented via the GUI, and then optionally linking commands together by drag-n-drop. The GUI could present previews of commands where possible, and allow the user to do an interactive modification of commands.

    Is there such a beast?

  117. Always both! by Anonymous Coward · · Score: 0

    I'd put it more strongly: Every application should have a CLI and a GUI for everything.
    * CLI for logging, interoperability and scriptability,
    * GUI for state visualization, function discovery and safe input (with validation and sanity checks that catch errors before saving them, which doesn't work well over a CLI).

    Additionally, every application should expose all its configuration in one place, in human-readable text files. The article makes a case for these text files to also be human-writable. That means humans and human-written scripts have to be trusted to always get the syntax right, which doesn't seem a good idea (see bad regex in the article). OTOH config files have to be writable to implement versioning. The best approach for solving this dilemma is GUI feedback.

    In the example given in the article, both the CLI and the GUI interface are apparently flawed. The GUI lacks version control (or at least import/export of application state) and bulk data import, the CLI lacks data validation. These are implementation flaws, they can be fixed. They're not fundamental shortcomings of the CLI or the GUI approach per se.

  118. Once again it degenerates into... by Anonymous Coward · · Score: 0

    Once again it degenerates into a my {IDE} is superior to {vi,emacs}. For how many years will people need to point out that it's not one or the other? Both my IDE of choice (IntelliJ IDEA) and my Emacs are set up to auto-synchronize their buffer on any open file change. When I need refactoring, real-time code inspection (even on partial ASTs), etc. I'm under IntelliJ IDEA. When I need to do stuff that only Emacs can do, I switch to Emacs.

    And this is *just* the beginning: one day you'll have {vi,emacs} right in the center of your IDE, as the "text editor" and you'll understand how poor and lame you were to enter the "IDE vs {vi,emacs}" flamewar.

    If anyone here suggests that the text-editor part of their IDE is more powerful than {vi,emacs}, then a visit to the nearest psychiatric hospital is needed. If anyone here suggests that {vi,emacs} offers all the bells & whistles that good IDE offer, the same advice apply.

    It's not "one or the other". I'm using both. It takes *one* shortcut to swith from my IDE to emacs.

    And that is *today*. Tomorrow it's going to be {vi,emacs} at the center of your IDE.

    Live with it.

  119. I use both but.... by Anonymous Coward · · Score: 0

    Currently I work in a healthcare related field doing mostly database work. While personally I'd normally prefer a nice SQL statement, their entire auditing system is set up with automation and error reporting and everything else in Access. Why? Because it's necessary to be able to show the relationships and what's happening to healthcare professionals so they can make clinical based decisions about the validity/results of the tests and forcing them all to learn SQL is

    1)probably a waste of time
    2)can be much more complicated to pick apart than just looking at a graphical representation of database relations.

    Everything has it's place. If it didn't, it would still be around.

  120. The best of both by scharkalvin · · Score: 1

    The best interface would probably be a GUI on top of a CLI interface. There are programs that implement this. EagleCad for example has a command line box in the GUI where you can type in any command. The GUI itself only injects commands into the CLI when you click on the various widgets. The user can drive the program from either input, and sometimes the CLI box gets the job done where the GUI grabs the wrong object.

  121. Try this with a CLI! by Cheney · · Score: 1

    You can't track an IP address in Visual Basic with a CLI. Ha!

    http://www.youtube.com/watch?v=hkDD03yeLnU

  122. Also by ClioCJS · · Score: 1

    Now do the same thing with [some] regular expressions. What?!?! Windows search doesn't take [some] regular expressions? My command-line has since the 1990s. I win. Too bad I didn't think of that as my initial example :D

    --
    -Clio
    Karma: Bad (mostly from not giving a fuck)
    Blog: http://clintjcl.wordpress.com
  123. ugh by FalseModesty · · Score: 1

    This got +5 insightful?? I see nothing but opinions based on two fundamental misconceptions:

    1) Editing C# in a GUI editor means you are "programming in a GUI"

    2) CLI == vt100

    1. Re:ugh by 19thNervousBreakdown · · Score: 1

      1) Editing C# in a GUI editor means you are "programming in a GUI"

      You're going to have to explain how this is a misconception, because I can't even imagine what level of pedantry you're operating on to come to that conclusion.

      2) CLI == vt100

      You're going to have to explain this as well, because I'm assuming that you're referring to my assumption that a CLI will be running on a text terminal, which, given that the post I replied to called VIM and Emacs CLI editors, and given that nobody uses a graphical terminal, is a perfectly valid assumption.

      --
      <xml><I><am><so><damn>Web 2.0</damn></so></am></I></xml>
  124. Can I just have both, please? by jopet · · Score: 1

    Why do some people insist to discuss the question if a screwdriver or a hammer is the better tool? I browse this site in a GUI and I perform complex file operations using pipes with a CLI. There is no way how either can replace the other fully without the overall usefulness of the system going down.
    This is just silly: there are thousands of tools and dialogs for doing stuff in a GUI and there are thousands of commands and features and options for doing stuff on the command line.

    In addition, a system that allows to do most important things thought the CLI in addition to the GUI has several advantages: typical tasks can be written down, copy-pasted and automated easily while you still can achieve it in the more intuitive and easy to remember graphical way too.

    1. Re:Can I just have both, please? by ACE209 · · Score: 1

      just wanted to say the same.
      thank you very much for saving me from some typing.
      (though I would have went with a wrench and hammer comparision)

      --
      "we are all atheists about most of the gods that societies have ever believed in. Some of us just go one god further."
  125. From a security device perspective.... by zildgulf · · Score: 1

    From a Security device perspective I find that the CLI is more flexible and less "you can't get there from here" problems than the GUI.

    The GUI is wonderful if the Ethernet jack is setup correctly. If not, then you are screwed.

    The CLI can always be accessed via a Console port and it is usually more flexible than the GUI for the "aw crap I totally messed up the IP addresses and hosed the device configuration and now the bloody firewall will not connect to anything" situations.

    When the device is working I still find the CLI easier to deal with remotely since I have an SSH client on my IPad and Android phone. I found the CLI via SSH a simpler and more reliable process than with the GUI. Also the GUI drain the batteries faster for some reason. I could tether my laptop to the Android phone but the GUI still eats up batteries on both the laptop and phone plus I burn through my phone's data limit faster, assuming the device's GUI is even working correctly.

    I have seen device's GUI interface lock up solid due to a rampant process or DDOS attack while the CLI still works, albeit at a snail's pace.

    Now I do like the GUI to guide me through setup procedures I rarely use. Multiple choice is always better than having to totally recall arcane CLI commands for rare situations but to eliminate the CLI option makes as little sense as eliminating the GUI option.

  126. cli != scripting by agent59517795 · · Score: 1
    cli vs. gui

    "The Matrix[gui] is everywhere. It is all around us. Even now, in this very room. You can see it when you look out your window or when you turn on your television. You can feel it when you go to work... when you go to church... when you pay your taxes. It is the world that has been pulled over your eyes to blind you from the truth[console]. That you are a slave, Neo. Like everyone else you were born into bondage. Into a prison that you cannot taste or see or touch. A prison for your mind."

    gui was/is a marketing trick played on dummies; it was invented for those intellectually lazy people who are always scared of [new] things they don't understand. and if you don't understand something you shouldn't confuse/scare yourself by pretending to be an expert in it. when a "sysadmin" claims that gui is better than cli (ROFL), you can almost see his carrier path in becoming a "sysadmin"; an old staff member with, in best case scenario, help-desk level of knowledge, which happened to be around when the decision was made to use computerz in a way that needed a server around. they couldn't (didn't bother to) hire a real sysadmin to do the job so they promoted him to $some-mouthful-it-title. to be fair, these people _are_ experts in one thing and that's office politics...

    "most of these people are not ready to be unplugged. And many of them are so inured, so hopelessly dependent on the system, that they will fight to protect it."

    more to the subject, that command line used as an interface is different that scripting a task.

    "I'm trying to free your mind, Neo. But I can only show you the door. You're the one that has to walk through it."

    "You take the red pill, you stay in Wonderland":

    switch to runlevel $console-mode
    chsh to zsh

    put this in your .zshrc (among other goodies you find out there):

    function zle-line-init zle-keymap-select {
    RPS1="${${KEYMAP/vicmd/-- CMD --}/(main|viins)/-- INSERT --}"
    RPS2=$RPS1
    zle reset-prompt
    }
    autoload -Uz compinit promptinit
    compinit
    zle -N zle-keymap-select
    zle-line-init(){
    zle history-incremental-search-backward
    }
    setopt APPEND_HISTORY
    setopt SHARE_HISTORY
    setopt INC_APPEND_HISTORY
    zstyle ':completion:*' verbose yes
    zstyle ':completion::complete:*' use-cache on
    zstyle ':completion:*:match:*' original only
    zstyle ':completion:*:*:kill:*' menu yes select
    zstyle ':completion:*:kill:*' force-list always
    zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
    zstyle ':completion::complete:*' cache-path ~/.zsh/cache
    zstyle ':completion:*:approximate:*' max-errors 1 numeric
    zstyle ':completion:*' menu select=1 _complete _ignored _match _approximate
    zle_highlight=(region:standout special:standout suffix:bold isearch:bold)
    bindkey -M isearch "^I" vi-repeat-search
    bindkey -M vicmd '^[[Z' reverse-menu-complete
    bindkey -M vicmd "^I" history-incremental-search-backward

    "and i show you how deep the rabbit-hole goes".

  127. You're 1 of 3 possible registered LUSERS here... by Anonymous Coward · · Score: 0

    TomHudson, gmhowell, or clone (who I ran off this forums by catching him posting as AC for trolling me before -> http://slashdot.org/comments.pl?sid=1927208&cid=34689576 , AND, upon TomHudson's request he & gmhowell + others do so, shown here -> http://slashdot.org/comments.pl?sid=1646272&cid=32150544 )

    ---

    PERTINENT QUOTE/VERBATIM EXCERPT:

    "Wait until he starts on another kick, then reply to him as an AC. It's the new meme." - by tomhudson (43916) on Sunday May 09 2010, @08:29PM (#32150544) Homepage Journal

    ---

    AND, "lo & behold" in that very URL where that excerpt quote was taken from?

    Well, we have

    Gmhowell
    TomHudson
    Clone

    gmhowell's TomHudson's "sock-puppet" I suspect, since he always shows up whereever TomHudson posts usually, as shown there above no less!

    Also, "Will Wonders NEVER cease?"

    Well - So is clone (under one of his alternate registered user guises of clone52431 or clone53421)

    Clone, in fact, was caught doing AC trolling posts directed @ me here -> http://slashdot.org/comments.pl?sid=1927208&cid=34689576

    He has been driven from this website though, afaik. Neither of his CLONE accounts are in use & have not been since that all happened where he was caught doing that & worse (something w/ the law & MichaelKristopeit accusing him of VERY bad things like theft of IP, death threats, guns, & more where POLICE came into the picture!). I left that be @ that point... can anyone blame me?

    So, in the end, now that THAT's all "said & aside":

    Dearest troll - Is your FAVORITE COLOR, "transparent", or what? I say that, because your PUNY effete tactics are very, Very, VERY EASY to "see thru"... just "too, Too, TOO EASILY" in fact.

    APK

    P.S.=> The funniest part of all though, is that you were FORCED to "downward moderate" my init. post you responded to here:

    http://it.slashdot.org/comments.pl?sid=2070518&cid=35729898

    Simply because my response to your trolling here:

    http://it.slashdot.org/comments.pl?sid=2070518&cid=35731242

    Shows that you KNOW, as do I, that you're an off-topic trolling TRULY "anonymous coward" & nothing more...

    Again - Except that I KNOW that others here who troll me as AC or otherwise, & yes, specifically who in fact, does it to me (see above quote for proof of that much).

    Poor job IF I can find out WHO you are easily, since you seem to "get off" on trolling me as AC (ineffective & PUNY 'tactic' troll... right up there with your off topic trolling, spelling/grammar checks (where there is no such forum here or topics usually either), & technically unjustified mod downs of my posts, not that I care... I have 100's of upward modded ones too!)

    (Whereas @ least by way of comparison, I identify myself in my AC posts (all I ever do is AC ones here))... & if a technically unjustifed effete "mod-down" is "the best you've got"? You're hurting troll... apk

  128. Bash for: spaces in filenames by Compaqt · · Score: 1

    >If you would be really proficient in bash, you would know, for instance, that your for would choke on filenames containing spaces - while his cat | read construction handles it well.

    Does it?

    This works for files with spaces:
    for X in *; do ls "$X"; done

    But if you don't use quotes, it doesn't:
    for X in *; do ls $X; done

    The OP's example should work.

    --
    I'm not a lawyer, but I play one on the Internet. Blog
  129. The Argument is not is GUIs Better than CLIs by salesgeek · · Score: 1

    CLI vs GUI is a silly argument. They both clearly have their place. When it comes to dealing with multitudes of devices or computers, the point is it's a lot easier to write a script to do massive numbers of configuration updates instead of having a room full of Phoenician oarsmen clicking away via web-based GUIs. A home router? GUI is fine. An enterprise WiFi access point that a company will have 200 of? CLI is essential.

    There is a place for the command line, and there is no doubt, a place for the GUI. The key is using them in the *right place*.

    --
    -- $G
  130. Alternative shells by Compaqt · · Score: 1

    Hotwire, an innovative shell
    http://code.google.com/p/hotwire-shell/
    Click here to install on Debian/friends

    PowerShell clone on Linux (warning: uses Mono)
    http://pash.sourceforge.net/

    Ruby-based shell:
    http://rush.heroku.com/

    --
    I'm not a lawyer, but I play one on the Internet. Blog
  131. Re:Off-Topic stalking AC posting cowards say what? by Anonymous Coward · · Score: 0

    U mad or smth?

  132. Your answer, is here already... apk by Anonymous Coward · · Score: 0

    http://it.slashdot.org/comments.pl?sid=2070518&cid=35735382

    I said all I had to there, with backing proofs, so - take a read, & a piece of advice too:

    TomHudson? You can stop your ac stalking & trolling of my posts already! I already KNOW you're about doing this to me, & it's amusing @ the very least.

    APK

    P.S.=> Especially when all you had was a mod-down of my post, rather than disputing anything technical about it... apk

  133. guis are great by Anonymous Coward · · Score: 0

    how else are we going to use up all that excess computer power we have now? It hardly takes a quad processor and 4 gig of memory to send a 140 char text message, now does it?

  134. Re:You're 1 of 3 possible registered LUSERS here.. by Anonymous Coward · · Score: 0

    Are you done yet?

  135. You're nothing but an OFF-TOPIC /. troll by Anonymous Coward · · Score: 0

    See subject-line, + "drink it in & digest it": Because if the "best you've got" is your off-topic trollery & stalking me with AC posts? LMAO!

    APK

    1. Re:You're nothing but an OFF-TOPIC /. troll by Anonymous Coward · · Score: 0

      Do you answer all posts?

  136. Do YOU troll ALL posts, off-topic, as AC always? by Anonymous Coward · · Score: 0

    See subject-line, & answer the question.

    APK

    P.S.=> When you can get "on-topic" also it would be nice... but then, perhaps that is expected a "wee bit much" from "the likes of you" (an AC troll)... apk

  137. Re:Do YOU troll ALL posts, off-topic, as AC always by Anonymous Coward · · Score: 0

    Tell me more about "Do YOU troll ALL posts, off-topic, as AC always?"

  138. An application of "ReVeRsE PsYcHoLoGy" is needed by Anonymous Coward · · Score: 0

    Tell me more about "Do YOU troll ALL posts, off-topic, as AC always?"

    ""?syawla CA sa ,cipot-ffo ,stsop LLA llort UOY oD" tuoba erom em lleT" - by Anonymous Coward on Tuesday April 12, @02:40AM (#35790182)

    ?

    TL:DR

    (LMAO!)

    APK

    P.S.=> So - If you're trying to "get my goat" or "waste my time" (like some loser, or a woman, might think bothers me (NOT) because they're MY minute to waste making you look stupid after all & that's fun)?

    Ahem: They're YOUR MINUTES YOU'RE WASTING TOO, in trolling me... again, like the above - just PUREST "reverse psychology", lol, @ its finest!

    ---

    Besides, I'm happy to have solved a lot of folks problems WORLDWIDE, & in PYTHON (only my 2nd week using it here no less) with the multithreaded timer class today, vs. the "NoneType error is not callable" issue in it today, here:

    http://g-off.net/software/a-python-repeatable-threadingtimer-class

    Simply by using a "Proxy Dummy Launcher function" that takes no parameters, which is what their problem was: passing parameters to functions inside the RepeatTimer class, which was actually a SUBCLASS of Thread that inherits from it, but NOT BUILT TO TAKE PARAMETERIZED FUNCTIONS!

    So, To beat it, you have to setup a "dummy proxy function" as I call it!

    One that CALLS YOUR FUNCTION THAT TAKES PARAMETERS, but, the dummy proxy function, doesn't!

    It works... & allows multithreaded timer usage in Python WITH PARAMETERIZED FUNCTIONS in the RepeatTimer class...

    E.G.-> "Dummy Proxy Function" method:

    def apkthreadlaunch():
            getnortonsafeweb(sAPKFileName = "APK_1_NortonSafeWeb360Extracted.txt".rstrip())

    a = RepeatTimer(900, apkthreadlaunch) # 900 is 15 minutes... apk

    That works, whereas these below, will not!

    a = RepeatTimer(900, getnortonsafeweb(sAPKFileName = "APK_1_NortonSafeWeb360Extracted.txt",rstrip()))

    NOR WILL THIS (though I think this STYLE is actually GOOD PROGRAMMING myself):

    a = RepeatTimer(900, getnortonsafeweb())

    THE PARENTHESIS MESS IT UP yielding a "TypeError: âmoduleâ(TM) object is not callable" abend/error...

    (& it messed up a lot of folks trying to use this subclass of Thread, albeit in a repeated timer, in that programming module's homepage above (which is a threaded timer class object for PyThon programmers))

    This always worked for folks though, calling it with no parameters:

    a = RepeatTimer(900, getnortonsafeweb)

    NOTE THE LACK OF A PARAMETER INTAKE FOR PASSING PARMS ON THE FUNCTION CALL?

    (& that's ok, but makes for less "modular" programming & doesn't allow for parameterized functions (which are great for many things/reasons)).

    So - That's how I spend my free time - helping others, in technical issues in networking, & programming too + even FIXING OTHER PROGRAMMERS MISTAKES FOR THEM, as shown above...!

    So... how about you? Oh, that's right:

    URA TROLL, nothing more... go waste your life some more man... your loss! apk

  139. Re:An application of "ReVeRsE PsYcHoLoGy" is neede by Anonymous Coward · · Score: 0

    Time wasted writing one line time wasted writing wall of gibberish. Dummy.

  140. Re:An application of "ReVeRsE PsYcHoLoGy" is neede by Anonymous Coward · · Score: 0

    *smaller than

  141. Yet another TomHudson "AC troll attack"? by Anonymous Coward · · Score: 0

    See subject-line, & your off topic trolling proves you're nothing but a WASTE OF LIFE, because all you do is troll others here (off topic like usual as well, showing you're nothing but an undereducated dolt typically).

    What I wrote is FAR from "gibberish", & it works.

    I.E.-> 2 lines of code (from "yours truly") that fixed @ LEAST 1/2 a dozen other coders' difficulties in fact, for making a threaded timer class useable by they, with PyThon...

    You can stop posting as AC in your trollish attacks on myself TomHudson. I am "onto you", from your own words giving away the fact you do this to myself on this website:

    So, does TomHudson do that? Well, take a read, & you tell me:

    http://slashdot.org/comments.pl?sid=1646272&cid=32150544 [slashdot.org]

    (Oh, & it's kind of tough to hide yourself as AC tomhudson, when your own words give you & your pals away as doing that to myself, as shown in that URL above)... apk

    APK

    P.S.=> Yes, "not too shabby", on MY part... heh, fact is? YOU WISH YOU WERE ME, lol... apk