Slashdot Mirror


Take This GUI and Shove It

snydeq writes "Deep End's Paul Venezia speaks out against the overemphasis on GUIs in today's admin tools, saying that GUIs are fine and necessary in many cases, but only after a complete CLI is in place, and that they cannot interfere with the use of the CLI, only complement it. Otherwise, the GUI simply makes easy things easy and hard things much harder. He writes, 'If you have to make significant, identical changes to a bunch of Linux servers, is it easier to log into them one-by-one and run through a GUI or text-menu tool, or write a quick shell script that hits each box and either makes the changes or simply pulls down a few new config files and restarts some services? And it's not just about conservation of effort — it's also about accuracy. If you write a script, you're certain that the changes made will be identical on each box. If you're doing them all by hand, you aren't.'"

121 of 617 comments (clear)

  1. Bad GUI and no CLI: way too common by alain94040 · · Score: 5, Informative

    Here is a Link to the print version of the article (that convenientily fits on 1 page instead of 3).

    Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

    A bad GUI with no CLI is the worst of both worlds, the author of the article got that right. The 80/20 rule applies: 80% of the work is common to everyone, and should be offered with a GUI. And the 20% that is custom to each sysadmin, well use the CLI.
    --
    dead simple alternative to incorporating for web startups

    1. Re:Bad GUI and no CLI: way too common by maxwell+demon · · Score: 5, Insightful

      What would be nice is if the GUI could automatically create a shell script doing the change. That way you could (a) learn about how to do it per CLI by looking at the generated shell script, and (b) apply the generated shell script (after proper inspection, of course) to other computers.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:Bad GUI and no CLI: way too common by arth1 · · Score: 2, Insightful

      But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      I disagree. The "great" GUIs teach new users that they don't need a CLI, and many of them will never proceed past the point-and-drool stage, but expect a GUI app for anything they do.

      When push comes to shove, a single line of awk or perl can easily do what half an hour of GUI clicking can't. And there's no way for a GUI to prepare you for perl or awk, only distract you from learning them.

    3. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 3, Informative

      Exchange Server 2007 (and I assume 2010) does this for many of its GUI operations, gives you the powershell after you've run it.

    4. Re:Bad GUI and no CLI: way too common by Alain+Williams · · Score: 4, Informative
      AIX's SMIT did this, or rather it wrote the commands that it executed to achieve what you asked it to do. This meant that you could learn: look at what it did and find out about which CLI commands to run. You could also take them, build them into a script, copy elsewhere, ...

      I liked SMIT.

    5. Re:Bad GUI and no CLI: way too common by triple.eh · · Score: 2, Informative

      I agree with you, AIX's SMIT was an excellent tool for learning. When I first began using AIX all of my UNIX experience was with HPUX, Solaris, Slackware and Red Hat. When I discovered SMIT it was like peering in the Ark without all the melting...

    6. Re:Bad GUI and no CLI: way too common by amRadioHed · · Score: 2, Insightful

      I'm a bit curious, could you explain how powershell encourages screen-scraping for those of us who've never had to deal with that beast.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    7. Re:Bad GUI and no CLI: way too common by Martin+Blank · · Score: 2, Informative

      Aruba's web-based GUI does this. You stack up all of your changes per-page, and you can click on an option at the bottom that shows you the CLI changes that it will make (since it's going to run just those lines when you apply it anyway). It shows you when something is simple and can be done quickly from the CLI, and also when what takes three clicks actually takes five or six somewhat complex lines.

      --
      You can never go home again... but I guess you can shop there.
    8. Re:Bad GUI and no CLI: way too common by Anpheus · · Score: 3, Informative

      Just about every Microsoft tool newer than 2007 does this. Virtual machine manager, SQL Server has done it for ages, I think almost all the system center tools do, etc.

      It's a huge improvement.

    9. Re:Bad GUI and no CLI: way too common by jandrese · · Score: 2, Insightful

      Here's something you might want to try: Next time you're on a Windows box, open up a cmd prompt and type "netsh". You might be surprised what you can accomplish from the commandline, at least if you want to mess with the network settings.

      --

      I read the internet for the articles.
    10. Re:Bad GUI and no CLI: way too common by jpate · · Score: 2, Insightful

      learn about how to do it per CLI by looking at the generated shell script

      Have you ever seen generated code? You do not want to learn shell scripting from generated code...

    11. Re:Bad GUI and no CLI: way too common by jd · · Score: 2

      That would be one option. Another would be to be able to drive the GUI from a script (test systems such as Silk and Selenium already do this). Provided standard options were accessed in a standard way, there is nothing to stop you from driving things from this direction. Alternatively, have a configuration server that applications installed plug-ins for. The configuration server can then abstract out the nuances. You then feed it a script in the server's language and it takes care of the configuration details.

      (This is where LinuxConf and Webmin fell down - they didn't really abstract out a whole lot and didn't allow this kind of autoconfiguring. Great tools for those scared of raw textfiles, though. I convinced more than a few Windows users that Linux wasn't this Big Bad Scary Monster with them.)

      --
      It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
    12. Re:Bad GUI and no CLI: way too common by GumphMaster · · Score: 2, Insightful

      Ditto, pretty well executed I thought.

      --
      Patent litigation: A doctrine of Mutually Assured Destruction... in which everyone seems willing to push the button
    13. Re:Bad GUI and no CLI: way too common by SudoGhost · · Score: 2, Interesting

      But by the same token, I can click and drag a file from a folder to the desktop, easily. Much 'easier' than typing it out on the CLI, and much quicker for most people.

      Not saying it's easier for all people, but for most people, I can see where they're coming from. Sadly, I know alot of companies who don't want their admins to be the best, they want their admins to be the most efficient. They equate 'clicking' with quick, and typing out 'lines and lines of code' as long and arduous, and expensive.

    14. Re:Bad GUI and no CLI: way too common by petermgreen · · Score: 4, Insightful

      Have you ever seen generated code?
      Yes

      You do not want to learn shell scripting from generated code...
      IMO the generation process should be limited to taking the users input and "plugging it in" to a "template" command or short sequence of commands. If a process that is simple in the GUI is complex in the CLI then your system has a design fault.

      It's not about teaching the user how to write complex scripts with lots of conditionals (manuals and tutorials are better for that). It's about teaching the users the command line equivalents of their GUI actions and hence creating a bridge between the "discoverability" of a GUI and the power and repeatability of a CLI.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    15. Re:Bad GUI and no CLI: way too common by turbidostato · · Score: 2, Informative

      "What would be nice is if the GUI could automatically create a shell script doing the change"

      AIX's SMIT, and it's... how old? merely 20 years now?

    16. Re:Bad GUI and no CLI: way too common by h4rr4r · · Score: 2, Informative

      Cool, now move only the files that end in mp3, do not contain a number in the name and are between 10 and 60 days old. I bet the CLI starts looking might fast then.

    17. Re:Bad GUI and no CLI: way too common by DAldredge · · Score: 3, Informative

      Is it really too much to expect people on /. Modern to actually know what they are talking about when it comes to Windows and Microsoft?

      Screen-scraping?  Really?

    18. Re:Bad GUI and no CLI: way too common by arth1 · · Score: 2, Insightful

      A pipe to xargs isn't always more efficient.

      Consider a script that has to be portable and operate on files with spaces in the name. Portability precludes the -print0 option to find and -0 option to xargs. Nothing is more inefficient than a command that doesn't work correctly, and I've seen plenty of examples of "find ... | xargs ..." that don't work, where an -exec would.

      Also consider the situation where you only want to act on a small number out of a large number of files. Then the pipe to xargs will delay execution until you've exhausted the search, while the -exec will perform the job as the files are found. It won't return any quicker, but the load will be spread out, with the first few tasks happening sooner.

    19. Re:Bad GUI and no CLI: way too common by MaskedSlacker · · Score: 2, Insightful

      Your entire argument is specious--it boils down to thinking that because people don't already know it, it's too hard. With logic like that we'd still be living in the Stone Age.

      Much 'easier' than typing it out on the CLI

      No. Marginally easier. And that's the bottom line--GUIs make already easy tasks marginally easier, and they make hard tasks (like one of your other repliers suggestion) vastly harder. Unless you never use your computer to do anything complicated, the GUI is a step back.

    20. Re:Bad GUI and no CLI: way too common by Ephemeriis · · Score: 2, Informative

      What would be nice is if the GUI could automatically create a shell script doing the change. That way you could (a) learn about how to do it per CLI by looking at the generated shell script, and (b) apply the generated shell script (after proper inspection, of course) to other computers.

      Cisco's GUI stuff doesn't really generate any scripts, but the commands it creates are the same things you'd type into a CLI. And the resulting configuration is just as human-readable (barring any weird naming conventions) as one built using the CLI. I've actually learned an awful lot about the Cisco CLI by using their GUI.

      We've just started working with Aruba hardware. Installed a mobility controller last week. They've got a GUI that does something similar. It's all a pretty web-based front-end, but it again generates CLI commands and a human-readable configuration. I'm still very new to the platform, but I'm already learning about their CLI through the GUI. And getting work done that I wouldn't be able to if I had to look up the CLI commands for everything.

      Microsoft's more recent tools are also doing this. Exchange 2007 and newer, for example, are really completely driven by the PowerShell CLI. The GUI generates commands and just feeds them into PowerShell for you. So you can again issue your commands through the GUI, and learn how you could have done it in PowerShell instead.

      --
      "Work is the curse of the drinking classes." -Oscar Wilde
    21. Re:Bad GUI and no CLI: way too common by Tanktalus · · Score: 2, Insightful

      I have seen generated code. And I've written code generators. And really, the quality of the generated code is completely dependant on whether the developer of the generation tool was merely doing whatever was required to get working generated code, or to provide a useful tool to users to learn and expand upon.

      Too often I see devs handed a task and do the bare minimum to get that one specific task completed. Instead of looking for a bigger picture of the task and seeing if they can get more out of it with little to no extra effort. Because, really, getting your output to be readable is not nearly as complex as creating the UI for it anyway. Took me on the order of hours to tweak my output to look right, and not even 50% of that time again to tweak it in the way that feedback recommended (some of which I disagreed with and responded as such, the rest I agreed with or was ambivalent upon and thus changed). The rest of the project took months of effort. Skimping out on readable output is a false savings here.

      It's not hard to do. A good template tool (in perl, I use Template Toolkit), and 90% of the problem of readable output is solved.

      The only times I don't care about readable output have been generating xml and xhtml. Even when I generate C++ and Java code that is going directly from there to the compiler and not read by any user, I try to get the output reasonably readable - which makes it much easier to deal with compile errors when they point to a line number that has only a single statement on it, or when I bring the resultant app up in a debugger and want to step through the code for one reason or another. The time saved in debugging compile or runtime errors alone can pay for the effort in readable output over and over again.

    22. Re:Bad GUI and no CLI: way too common by afidel · · Score: 2, Informative

      But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      I couldn't agree more which is why it's really cool that the Exchange GUI tools will show you the exact PowerShell commands they are running if you want to learn how to use the CLI (and in fact that are still things that can only be done in the CLI, though the list is greatly reduced in EX 2010 vs 2007).

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    23. Re:Bad GUI and no CLI: way too common by afidel · · Score: 2, Informative

      It's always worked dcpromo /unatted:unattend.txt, how do you think server core DC's get built? One of the last major obstacles in many environments to running core was the broken Broadcomm teaming tools but that issue has been resolved for a couple months.

      --
      There are 4 boxes to use in the defense of liberty: soap, ballot, jury, ammo. Use in that order. Starting now.
    24. Re:Bad GUI and no CLI: way too common by Peach+Rings · · Score: 2, Interesting

      Why would you even want Server 2008 to run without a GUI? The windows command line tools are dodgy and it only takes up like 64MB of your 16GB server memory.

    25. Re:Bad GUI and no CLI: way too common by ToasterMonkey · · Score: 4, Insightful

      Providing a great GUI for complex routers or Linux admin is hard. Of course there has to be a CLI, that's how pros get the job done. But a great GUI is one that teaches a new user to eventually graduate to using CLI.

      Just about everyone reading this is heavily biased one way or another, and there is too much presumption that a CLI is this or a GUI is that.

      Why can't we break this down into what makes any type of interface good or bad, and keep open to the possibility of new types of interfaces or better ways of implementing existing ones?
      If we can bitch and moan about CLI vs. GUI with little choice in the matter I think the floor's open to made up interfaces too. These are qualities I think any computer interface should have.

      Learning curve no steeper than the underlying concepts. Probably even lower.
      Consistent, and predictable.
      Expressive, and concise.
      Integrity. Um.. as in, the state of the machine vs. what's conveyed to the user. Accurate?
      Available over a network.
      Can be automated.
      Online documentation. Of the interface. If you have trouble describing the concepts in your native language, maybe it sucks.
      Efficient, in the sense of labor involved, but in the sense of learning too, like my first rule.

      That's a start anyway. I don't see why any kind of interface can't shoot for those. For sure if you're going to deliver more than one kind if interface they should relate to each other as much as possible. A CLI is dead simple to turn into script, but a GUI could also be. A CLI should map so closely to a corresponding GUI that it effectively IS a script of the GUI. A GUI should convey state information just by looking at it. Duh. If it doesn't HAVE to be an either/or situation, why make it into one?

       

    26. Re:Bad GUI and no CLI: way too common by MightyMartian · · Score: 3, Insightful

      What would be REALLY nice for you all router manufacturers who are using Linux underneath the hood is to give shell access so that we could gain full access to iptables, vpn and routing. Just about every one of these Linux-based routers has all that power locked up in your crappy web-based configuration tools that render them all but brain dead. Yeah, I know, there's DD-WRT and its various iterations, but these only work on a subset of Linux-based routers.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    27. Re:Bad GUI and no CLI: way too common by Kymermosst · · Score: 2

      Why are you and the GP talking about SMIT in the past tense? ("did this," "was") It still exists and it still does this.

      --
      "Alcohol, Tobacco, Firearms, and Explosives" should be a convenience store, not a government agency.
    28. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 2, Interesting

      What would be even nicer is if they started using OpenBSD on the routers so we could use pf instead of iptables.

    29. Re:Bad GUI and no CLI: way too common by Penguinisto · · Score: 2, Interesting

      I couldn't agree more which is why it's really cool that the Exchange GUI tools will show you the exact PowerShell commands they are running if you want to learn how to use the CLI (and in fact that are still things that can only be done in the CLI, though the list is greatly reduced in EX 2010 vs 2007).

      Crap. I was hoping they would've encouraged more CLI and less GUI... (using Exch2k7 here - haven't had time to dink with 2010 yet). I'm guessing the typical MCSE types (comprising the majority, not the whole) have decided that command-line stuff must be too hard to learn.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    30. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 5, Insightful

      > * It requires a sysadmin with a clue
      > * You need to not be a mouth-breather to configure it

      Still wonder why you're not taken seriously, eh?

      I like Samba. It could use less advocates like you.

    31. Re:Bad GUI and no CLI: way too common by McNally · · Score: 2, Interesting

      AIX's SMIT did this, or rather it wrote the commands that it executed to achieve what you asked it to do. This meant that you could learn: look at what it did and find out about which CLI commands to run.

      It's been years since I administered an AIX machine but my recollection is that the CLI command strings it came up with were generally amusingly-specific unique-to-AIX commands with very long names like resizepartitionandinstallbootblock or something like that. They were generally specialty scripts built to parallel SMIT menu choices and you'd never wind up guessing the command without SMIT telling you what to use, but having the command-line version was nice because you could do something by menus in SMIT on one machine and then use the command-line equivalents to automate the same operations on dozens of other hosts.

    32. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 4, Informative

      You forgot:

      = Still alpha code.
      = Cannot handle multiple group membership from a Linux file system, such as NFSv4 (http://www.pubbs.net/201004/samba/41361-samba-viewing-if-not-editing-nfsv4-acls-from-samba-shares.html).

    33. Re:Bad GUI and no CLI: way too common by starfishsystems · · Score: 3, Insightful

      For sure if you're going to deliver more than one kind if interface they should relate to each other as much as possible.

      Under this expanded mandate, let's also compare the programmatic interface to the system with the command and graphical interfaces. I've always been bothered that there isn't a tight relationship between the standard Unix command set and their programmatic equivalents. It's pretty accidental, and that's a shame. As long as the coupling is not rigorous, that means two learning curves as well as two compatibility surfaces to maintain.

      I used to ponder this a lot, so it was very instructive to work with the Symbolics Lisp Machine for a few years. Here we had an environment which was Lisp from the microcode upward. It was a completely fresh start, a chance to do it right. The operating system was very open. And with Lisp being an interpreted language, you'd think it would be dead easy to provide a rich CLI that gave direct access to both the system and the GUI.

      Well, no, that's not how it worked out. Part of that is due to our natural fondness for line breaks as command delimiters. Lisp wants things to be delimited by parentheses. But that's not an insurmountable problem. Unfortunately, the Symbolics developers thought it was, and they instead went off and built a CLI that was only vaguely coupled with the corresponding system methods. It was heartbreaking to see such a basic advantage thrown away.

      To make matters worse, when the CLI ended up throwing an exception (which was not all that uncommon in such an experimental environment) what you saw on the stack bore little resemblance to the documented system methods. See, most of those were not really methods at all but wrapper macros of one kind or another. So, you'd execute a shell command, which would invoke one of these macros, which would push some undocumented methods on the stack. And since the CLI didn't relate to the system documentation, you'd have to guess where to go to find the documented methods.

      It could have been the best. Instead it was kind of the worst. Well, I guess it beat looking at IBM core dumps.

      --
      Parity: What to do when the weekend comes.
    34. Re:Bad GUI and no CLI: way too common by keith_nt4 · · Score: 2, Insightful

      I've never been in a decision-making position for choosing a server for a company but over the last ~seven or eight years I've come to conclusion (I'm some will correct me if I'm wrong) that there aren't really meetings in which a group managers balance the pluses and minuses of Linux/Samba verses whichever Windows server. That look at entire apparent cost-of-ownership, in particular the support contract.

      In other words the main draw is the service contract: if any hardware fails on any server an 800 number is called and less than 24 hours later either the replacement part is delivered or a tech of some sort is there ready to install the part that needs replacing.

      I don't think most at least large companies really care about brands so much. I mean I don't think they're loyal to Windows in so much as the Dells and HPs of the world will win the bid for phone support/hardware replacement for three or five or whatever number of years at a time. And that Dell contract will extend to an MS support contract along with server/desktop licensing etc. Companies pay huge amounts of money for things like always having someone that can be called and a replacement part in under 24 hours.

      So, am I way off?

      --
      "UNIX is very simple, it just needs a genius to understand its simplicity." -Dennis Ritchie
    35. Re:Bad GUI and no CLI: way too common by MaskedSlacker · · Score: 2, Interesting

      1) Your argument against CLI is a moronic volume mounting system designed explicitly to only be used with a GUI. Really, the whole C:, D:, E: thing was fucking moronic. The Unix scheme of mounting seamlessly as a folder under /, in a way which renders the underlying volumes invisible is far saner (which is, of course, an entirely separate debate from the merits of CLI vs. GUI, but a personal pet peeve with Windows).

      2) Tab completion. I don't think I've ever typed more than 5 letters of a filename, of any length.

    36. Re:Bad GUI and no CLI: way too common by TheLink · · Score: 2, Insightful

      In my experience perl is on most unix machines, and works quite well for cross-platform tasks.

      Can't depend on Java or GNU tools to be present everywhere, but so far I've found perl on OSX, Solaris, OpenSolaris, AIX, most Linux distros and FreeBSD.

      So if I ever had to write a cross platform unix/linux virus I'd write it in perl :).

      --
    37. Re:Bad GUI and no CLI: way too common by pjt33 · · Score: 2, Informative

      My root has the ability to download and upload the config as xml. I downloaded it, noticed that it's possible to change the admin's username, and did, thinking that it's an extra step towards defence in depth. Of course, the router didn't like it - it accepted the config but now neither the old username nor the new one work. If I ever want to change the config again I'll have to reset to factory defaults first.

    38. Re:Bad GUI and no CLI: way too common by __aardcx5948 · · Score: 2, Insightful

      I've seen this in a few places, why is pf preferred over iptables? What can it do that iptables cannot? Or is it performance related? Security?

    39. Re:Bad GUI and no CLI: way too common by Anonymous Coward · · Score: 2, Funny

      And so you've reached exactly alain94040's point -- a gui (ala Windows's search for files & folders) that can output its resulting find command for the user to learn from.

      Also...

      Cool, now move only the files that end in mp3, do not contain a number in the name and are between 10 and 60 days old. I bet the CLI starts looking might fast then.

      I dunno -- is it faster to do nothing with a CLI or a GUI?

    40. Re:Bad GUI and no CLI: way too common by lidocaineus · · Score: 2, Insightful

      Ridiculous. I am all for Unix tools and prefer the Unix way for most server related tasks and apps, but Samba4 doesn't even come close to being able to dealing with an ADSI install. Even doing something basic like rolling out GPOs is either a giant pain in the ass, requires Windows-based tools still, or is impossible. As a generic SMB server, Samba is excellent. As a domain controller/active directory store, it has a LONG way to go before it's even close to viable as a replacement for AD.

    41. Re:Bad GUI and no CLI: way too common by ubersoldat2k7 · · Score: 2, Interesting

      GUIs are unquestionably faster for simple things. Copy this file here. Select this word that's miles away from the input cursor.

      Even for simple tasks I find the CLI faster. A few days ago I was playing with this idea, so I ran a little timer ($time read x) to find out how much time did it take to do simple tasks like the ones you mention. In every tasks, I was faster in the CLI, except for renaming one file.

    42. Re:Bad GUI and no CLI: way too common by Enleth · · Score: 3, Interesting

      Could be configuraion syntax. Simple, readable, concise, possible to understand even in very complicated scripts without looking at the manual. I'm using iptables routinely, but I liked pf for its simplicity.

      --
      This is Slashdot. Common sense is futile. You will be modded down.
    43. Re:Bad GUI and no CLI: way too common by WongsHongKongTailor · · Score: 2, Informative

      pf example: pass in on $ext_if inet proto tcp from any to ($ext_if) \ port $tcp_services flags S/SA keep state pass in on $ext_if inet proto tcp from any to $comp3 port 80 \ flags S/SA synproxy state iptables example: iptables -A INPUT -i $ext_if -p tcp --dport $tcp_services --syn -j ACCEPT iptables -A FORWARD -i $ext_if -p tcp -d $comp3 --dport 80 --syn -j ACCEPT Personally I find the pf format much easier to read/remember/use/debug. Read into it you will find out it is pretty neat.

  2. GUIs make documentation hard by petes_PoV · · Score: 5, Interesting
    All good admins document their work (don't they? DON'T THEY?).

    With a CLI or a script that's easy: it comes down to "log in as user X, change to directory Y, run script Z with arguments A B and C - the output should look like D". Try that when all you have is a GLUI (like a GUI, but you get stuck): open this window, select that option, drag a slider, check these boxes, click Yes, three times. The output might look a little like this blurry screen shot and the only record of a successful execution is a window that disappears as soon as the application ends.

    I suppose the Linux community should be grateful that windows made the fundemental systems design error of making everything graphic. Without that basic failure, Linux might never have even got the toe-hold it has now.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    1. Re:GUIs make documentation hard by maxwell+demon · · Score: 2, Insightful

      GUI's are better for reporting and displaying information

      In my experience, GUIs tend to display less information (probably to not "confuse" users). But from the basic ability to provide useful information, I don't see why one should have an advantage over the other. After all, the information is just text; if that text is shown on the console or in a window with "OK" button doesn't matter. What does matter is whether the text is informative (e.g. "foo.cfg: file not found") or uninformative (e.g. "unable to change configuration" as only error message).

      --
      The Tao of math: The numbers you can count are not the real numbers.
    2. Re:GUIs make documentation hard by petes_PoV · · Score: 2, Insightful

      Oh there's much more to it than merely the O/S. It's all the applications and third party management tools, too. They all provide GUIs (sometimes only GUIs) as they think it makes their stuff look easy to use. In fact all it does is make it easier to sell to decision makers who don't have the background to distinguish "friendly" from repeatable.

      --
      politicians are like babies' nappies: they should both be changed regularly and for the same reasons
    3. Re:GUIs make documentation hard by skids · · Score: 4, Insightful

      I think this is a stronger point than the OP: GUIs do not lead to good documentation. In fact, GUIs pretty much are limited to procedural documentation like the example you gave.

      The best they can do as far as actual documentation, where the precise effect of all the widgets is explained, is a screenshot with little quote bubbles pointing to each doodad. That's a ridiculous way to document.

      This is as opposed to a command reference which can organize, usually in a pretty sensible fashion, exact descriptions of what each command does.

      Moreover, the GUI authors seem to have a penchant to find new names for existing CLI concepts. Even worse, those names are usually inappropriate vagueries quickly cobbled together in an off-the-cuff afterthought, and do not actually tell you where the doodad resides in the menu system. With a CLI, the name of the command or feature set is its location.

      Not that even good command references are mandatory by today's pathetic standards. Even the big boys like Cisco have shown major degradation in the quality of their documentation during the last decade.

    4. Re:GUIs make documentation hard by Haeleth · · Score: 2, Funny

      GUIs tend to display less information

      I think you'll find a graph can be used to display large amounts of information in a small(variable) area, and it makes the data easier to interpret and anomalies easier to spot.

      That's true, but has absolutely nothing to do with what he said. GUIs do not usually display graphs. They usually display a little message box saying "An error occurred. Please try again. If the problem persists, contact your system administrator."

  3. Better test! by AnonymousClown · · Score: 5, Insightful

    If you write a script, you're certain that the changes made will be identical on each box.

    One little mistake in the script and you fuck up the whole organization.

    --
    RIP America

    July 4, 1776 - September 11, 2001

    1. Re:Better test! by Steve+Max · · Score: 3, Insightful

      So you test your script offline? You know, exactly like you test the changes you will do through a GUI in an offline server before going to the live one?

    2. Re:Better test! by snspdaarf · · Score: 5, Insightful

      Ah, but with a script you have a record of what was done. The GUI does not provide that, unless the author had the sense to write the changes to a log file.

      --
      Why, without your clothes, you're naked, Miss Dudley!
    3. Re:Better test! by skids · · Score: 3, Interesting

      Well, one little mistake pushing a windows domain policy via GUI, and the same.

      This is one of the weakest points in the article, IMO, though. It's quite possible (even if MS MMC is a kludgy example) to GUIfy multi-system administration.

      There will always be a place for both GUI and CLI -- status screens, for example, generally demand a GUI (and yes, ANSI menu systems are a GUI.)

    4. Re:Better test! by fruviad · · Score: 2, Insightful

      If you write a script, you're certain that the changes made will be identical on each box.

      One little mistake in the script and you fuck up the whole organization.

      Perhaps so, but the scripted mistake is easily fixed because every single machine exhibits the same symptoms. Easy to debug. Once debugged, easy to fix.

      Do you think it better to have a half-dozen different mistakes on a half-dozen different servers in a pool of 40?

    5. Re:Better test! by arth1 · · Score: 4, Informative

      Yeah, cause we all have test environments.

      Yes, we do. In many case it's called a chroot jail which acts as a sandbox.
      In other cases, a VM that can be rolled back is the way to go.

      There are two words describing those who run untested changes directly on production systems: Former employees.

    6. Re:Better test! by Waffle+Iron · · Score: 4, Funny

      Ah, but with a script you have a record of what was done.

      True, unless your script was:

      #!/bin/sh
      rm $0

    7. Re:Better test! by panda · · Score: 2, Interesting

      If you write a script, you're certain that the changes made will be identical on each box.

      One little mistake in the script and you fuck up the whole organization.

      It is also easier to fix scripted errors because the error is identical in all places. I often find myself using sed to make complicated changes to config files and keeping backups or putting the changed config into a temporary file to get diffs of the results. In the odd case that something gets messed up in production, then it is usually another sed command or two to fix it.

      With a GUI it is harder to verify that you are making the desired changes beforehand, and if you do mess it up royally, then you are usually touching all of the configs individually with the GUI to fix your mistake.

      With the cli in the hands of someone who know what they are doing, the fixes can be implemented in seconds (or less).

      --
      Just be sure to wear the gold uniform when you beam down -- you know what happens when you wear the red one.
    8. Re:Better test! by dbIII · · Score: 2, Insightful

      One little mistake in a global GUI and you not only fuck up the whole organization but can't really be sure what you did unless you had something capturing the screen while you were making the changes.
      Scripts can be debugged, working out which pictures were pointed at is a bit more tricky.
      Communicating with computers can be compared to communicating with people. You can get somewhere by pointing at things but you get better results faster if you can use words as well.

    9. Re:Better test! by jimjamjoh · · Score: 2, Funny

      i thought you were gonna say "rock star" :( :(

    10. Re:Better test! by Shadow99_1 · · Score: 2, Interesting

      Actually they had no clue what a 'good server' was, so when they left it up to me they were functional and up to date systems. Though most of our windows servers were from HP's server line.

      Others not so much, like when they decided web hosting should move in house and gave me a zero dollar budget. So I cannibalized a bunch of antique desktops and made a new 'linux apache web server'.

      Funny enough I'd gotten a 5k raise every year (much needed though as the pay started fairly low for an network admin). Though with a change in leadership the board took power and they decided I was to expensive and outsourced me about a year ago. Hence it was 'my last employer'.

      OOS did ok, though it's still not the year of the linux desktop. Remember I said I had to keep a bunch of antiques running and made them linux? Well normal people would use them, or more not use them. They were considered non-functional by everyone that used them and this is ubuntu, so the interface wasn't exactly CLI and not terribly unlike windows. On the server end I could have probably pieced together another antique web server, but I didn't really need much of a test system for a limited use web server...

      Btw I argued against getting the web server in house. We existed on a 2Mb fiber connection (they chose to only pay for 2Mbps anyways), having the web server take away from our already pathetic bandwidth was a bad idea...

      --
      we are all invisible unless we choose otherwise
  4. One small problem... by pedantic+bore · · Score: 4, Insightful

    I think the author might not fully understand who most admins are. They're people who couldn't write a shell script if their lives depended on it, because they've never had to. GUI-dependent users become GUI-dependent admins.

    As a percentage of computer users, people who can actually navigate a CLI are an ever-diminishing group.

    --
    Am I part of the core demographic for Swedish Fish?
    1. Re:One small problem... by Darkness404 · · Score: 4, Interesting

      More and more people are switching to things like Ubuntu for small business things like file-servers and the like.

      Its cheap, its easy and its stable. I'm sure if you look through all of the businesses running servers, very few of them are ran by real "admins" but rather by the employee who "knows about computers"

      --
      Taxation is legalized theft, no more, no less.
  5. GUI interface can sell a product to management by MichaelSmith · · Score: 5, Interesting

    Without a GUI it will be hard to sell, but automation is next to impossible with GUIs, so they are expensive to use in the long run because you have to pay for more Users.

  6. not entirely sys admin related by ThorGod · · Score: 2, Interesting

    In most of my professional life, if there's an OSS alternative the OSS alternative is usually better. LateX is more professional than Office, in my opinion. I prefer the look and repeatability of gnuplot over Excel. Python is much more extensible than VBA. SQLite and python really helped me clean data for my professional paper, as well.

    Granted, I'm using Microsoft Office in addition to the aforementioned (except LateX).

    --
    PS: I don't reply to ACs.
  7. /etc/resolv.conf by kharchenko · · Score: 2, Interesting

    Agreed. For instance, I've been trying to figure out how to add a simple "search" entry into resolv.conf in Fedora .. it keeps overwriting it on boot no matter what level scripts I modify (e.g. going up to DHCP config, etc.) - because some genius came up with a new admin tool and thought that something as basic as resolv.conf doesn't need to be followed.

    1. Re:/etc/resolv.conf by cheater512 · · Score: 4, Informative

      Usually there will be resolv.conf.head and resolv.conf.tail files somewhere which get stuck at the beginning and end of the generated resolv.conf.
      That way you get a semi-dynamic and semi-static config.

    2. Re:/etc/resolv.conf by arth1 · · Score: 4, Informative

      /etc/init.d/NetworkManager stop
      chkconfig NetworkManager off
      chkconfig network on
      vi /etc/sysconfig/network
      vi /etc/sysconfig/network-scripts/eth0

      At least they named it NetworkManager, so experienced admins could recognize it as a culprit. Anything named in CamelCase is almost invariably written by new school programmers who don't grok the Unix toolbox concept and write applications instead of tools, and the bloated drivel is usually best avoided.

    3. Re:/etc/resolv.conf by IICV · · Score: 5, Insightful

      And to drive the point of this article home: how long would your post have been if you'd had to describe how to do this through the GUI? Would it have even been possible without screenshots?

    4. Re:/etc/resolv.conf by AlexiaDeath · · Score: 2, Interesting

      You missed last two steps. I have a kid sister with ubuntu laptop. She is OK with computers as a user, but even then nothing beats being able to paste a few lines through MSN to fix whatever. The talk-throughs Ive had to do for windows users have been HORRIBLE experiences. Ive managed to talk her through things I wouldn't even dream of doing on windows including building a wireless driver from source, installing 3rd party kernel and modifying grub config.

  8. More and more... by Darkness404 · · Score: 5, Insightful

    There are more and more small businesses (5, 10 or so employees) realizing that they can get things done easier if they had a server. Because the business can't really afford to hire a sysadmin or a full-time tech person, its generally the employee who "knows computers" (you know, the person who has to help the boss check his e-mail every day, etc.) and since they don't have the knowledge of a skilled *Nix admin, a GUI makes their administration a lot easier.

    So with the increasing use of servers among non-admins, it only makes sense for a growth in GUI-based solutions.

    --
    Taxation is legalized theft, no more, no less.
    1. Re:More and more... by oatworm · · Score: 5, Insightful

      Bingo. Realistically, if you're a company with less than a 100 employees (read: most companies), you're only going to have a handful of servers in house and they're each going to be dedicated to particular roles. You're not going to have 100 clustered fileservers - instead, you're going to have one or maybe two. You're not going to have a dozen e-mail servers - instead, you're going to have one or two. Consequently, the office admin's focus isn't going to be scalability; it just won't matter to the admin if they can script, say, creating a mailbox for 100 new users instead of just one. Instead, said office admin is going to be more focused on finding ways to do semi-unusual things (e.g. "create a VPN between this office and our new branch office", "promote this new server as a domain controller", "install SQL", etc.) that they might do, oh, once a year.

      The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it? If you try to do both, there will be inconsistencies because the grammar of the config files is too ambiguous; consequently, the GUI config file parser will probably just overwrite whatever manual changes it thinks is "invalid", whether it really is or not. If you let the GUI manage it, you better hope the GUI has the flexibility necessary to meet your needs. If, for example, YaST doesn't understand named Apache virtual hosts, well, good luck figuring out where it's hiding all of the various config files that it was sensibly spreading out in multiple locations for you, and don't you dare use YaST to manage Apache again or it'll delete your Apache-legal but YaST-"invalid" directive.

      The only solution I really see is for manual config file support with optional XML (or some other machine-friendly but still human-readable format) linkages. For example, if you want to hand-edit your resolv.conf, that's fine, but if the GUI is going to take over, it'll toss a directive on line 1 that says "#import resolv.conf.xml" and immediately overrides (but does not overwrite) everything following that. Then, if you still want to use the GUI but need to hand-edit something, you can edit the XML file using the appropriate syntax and know that your change will be reflected on the GUI.

      That's my take. Your mileage, of course, may vary.

    2. Re:More and more... by DAldredge · · Score: 2

      Don't you think you are splitting hairs just a little too fine?

      http://www.youtube.com/watch?v=fVU1FOLnu_E

    3. Re:More and more... by turbidostato · · Score: 2, Insightful

      "Realistically, if you're a company with less than a 100 employees [...] it just won't matter to the admin if they can script, say, creating a mailbox for 100 new users instead of just one."

      Well... it won't matter till the day your single server dies and you learn that, being a little drop in the sea, you don't have a "gold support contract" and it takes you one week to get a new spec'ed server (if only I weren't such a cheap ass and I'd buy two...). And when you turn on the new server you learn that you don't have the slightest idea about how it was exactly configured with all the tweaks you added through the years.

      "The trouble with Linux, and I'm speaking as someone who's used YaST in precisely this context, is that you have to make a choice - do you let the GUI manage it or do you CLI it?"

      Your problem is YaST, not your approach.

      "The only solution I really see is for manual config file support with optional XML"

      I'll tell you a better one (XML for configurations is almost never the answer).

      1) Proper engineering practices. Most of them are quite simple, once you get them. Just an example that it would be quite apt to this case: Debian favours as much as possible having configurations for complex services in its own directory, '/etc/complexservice.d/' where you drop "config snippets" instead of a big /etc/complexservice.conf file. If Suse did the same, YaST could be able to tweak the config snippets you allow it and you could manage by hand the ones you wanted/needed. But ask yourself why are you still using Suse and you probably will have to answer yourself "because YaST". Suse has no interest on making YaST a proper configuration tool because YaST is a lock-in tool instead. For the "easy" things you go with YaST, so you don't learn how to do it "by hand" on the cases where it makes more sense, the easy ones; by the time YaST gets short you don't know how to fully do it "by hand" and you can't manage it partly "by hand" because YaST will overwrite it. Net result: you end up locked in Suse.

      2) Today, almost any "workgroup-graded" server has enough horsepower to handle virtualization. Fire up a virtual guest, test your new configs in the test environment, making use of the GUI tools if needed, and then go analyze the resultant configuration and replicate it by hand in your production environment. This will bring you the best of both worlds: fast entry path for new things by means of the GUI while retaining full customization abilities on production (and the analysis part will make you learn a lot at a very fast pace).

  9. Config files. by Timmmm · · Score: 2, Insightful

    Config files are one of the problems with linux. Most of them are far too hard to parse and modify so there aren't any GUI tools to do so. For example, how do you change the PATH in linux through the GUI? As far as I know there is no way. In windows it is (fairly) simple.

    Of course there's no reason why you can't have the best of both worlds - every program can be abstracted into a CLI and GUI on top of the same base library.

    1. Re:Config files. by Svartalf · · Score: 3, Informative

      Really? Ever heard of editing /etc/profile and changing the PATH statement there? No, there's no GUI tool- but under Windows it's not wholly clear like you make it out to be where it is. Yeah you can change it- but then so can I under Linux in as much of an easy way as you can under Windows- it's just different and if you're unfamiliar with one or the other, you're not going to be doing it on EITHER.

      --
      I am not merely a "consumer" or a "taxpayer". I am a Citizen of the State of Texas
    2. Re:Config files. by mirix · · Score: 2, Interesting

      Yeah, instead of flat text conf files, why don't we put a whole bunch of config in some obscure place in the registry somewhere...

      i entirely fail to see the point as to why you would want a gui to do something that is integral to the cli.

      --
      Sent from my PDP-11
  10. Webgui? Just use cUrl by icebraining · · Score: 5, Interesting

    I have a cheap router with only a web gui. I wrote a two line bash script that simply POSTs the right requests to URL.

    Simply put, HTTP interfaces, especially if they implement the right response codes, are actually very nice to script.

  11. Yes by prichardson · · Score: 2, Insightful

    This is also a problem with Max OS X Server. Apple builds their services from open source products and adds a GUI for configuration to make it all clickable and easy to set up. However, many options that can be set on the command line can't be set in the GUI. Even worse, making CLI changes to services can break the GUI entirely.

    The hardware and software are both super stable and run really smoothly, so once everything gets set up, it's awesome. Still, it's hard for a guy who would rather make changes on the CLI to get used to.

    --
    Help I'm a rock.
  12. Well there's another side to that by Sycraft-fu · · Score: 5, Insightful

    I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem. Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are. They are related, but proficiency in one is not the same as the other. I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this.

    While I realize a simple (emphasis on simple) script isn't quite the same thing, this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

    Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on. That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

    They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

    I'm not saying there's anything wrong with the command line, or that it should go away. However the idea that everything should be CLI based is silly.

    1. Re:Well there's another side to that by Anonymous Coward · · Score: 2, Insightful

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem. Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are.

      A recording engineer should be musically literate, though. He should know keys, tempos, styles, and so on, in order to be able to have a productive session with the recording artist. He may not be the best player in the world but he had better know his shit.

    2. Re:Well there's another side to that by __aarhwn4941 · · Score: 2, Interesting

      I'm a "technical support guy" whose job is basically to support engineering users at our company. Recently, when working with a "system administrator" who was charged with cleaning up a mess that was made by his team's failure to oversee a contractor, I had to listen to this: "we don't really have any scripters on our team". Yup, all they have are administrative functionaries or people who know how to enter single commands. Not a one of them has taken the initiative to cultivate skills beyond the minimum that is in "the contract". Guess what? "Engineering" (myself and my engineering customers) cleaned up the mess.

    3. Re:Well there's another side to that by turbidostato · · Score: 5, Insightful

      "I find it rather disturbing the UNIX ideal that sysadmins should be programmers."

      That should be the case, but it isn't firstly because becoming a good sysadmin is a full time activity as it is being a good programmer and secondly because of subtle character differences between the people that choose one role or the other.

      "I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this."

      Yes, there is, and very wrong. Maturity of current IT systems is still far away to what's needed to be able to work in aisles. A programmer doesn't need to be a top notch sysadmin nor the other way around, but they both need to have very clear ideas about the other's trade because is needed both to understand where your program is going to be run and how and what would make proper practices to acomodate the programs within a wider and partially peculiar local environment (and in order to recognize properly engineered programs from lame intents).

      "Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it."

      And, in fact, not everyone needs to learn that skill, it's only sysadmins that need it. And take for granted you are not excluding interesting people to fill a sysadmin role if they don't have at least clear foundations on programming.

      "Also there's the simple matter that GUIs work better for unfamiliar situations."

      Quite true (but proper man pages with examples and tutorials work almost as well).

      "Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. "

      But don't forget a *very* critical point: a new thing is only novelty the first time you do it. Do not let a bit of easiness for your first time getting in your way for the subsequent 10.000 times you will do it again from then on.

      And that's exactly why GUIs sell so good. When you are "buying" something new (it might mean literarilly exchanging money, but it means commiting yourself to the effort that will require work with new thingie) it usually will be to do new things, which is the kind of situation when GUIs (and "wizards", for that matter) will help, so the GUI by itself will be a very valuable agent to sell the app/services. By the time you understand that the shiny GUI gets in the middle you have invested too much in the app (money, time and effort) to get away from it. Microsoft, for instance, has learnt that leson very, very well.

      "They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file."

      That's not an argument, it only seems to. While "manual handling" is prone to syntax failures, GUIs are prone to knowledge failures which are, by the way, much, much more dificult to debug. For each time you had a student making a severe syntax error on a DNS zone file, I can show you a self-called sysadmin making horrible design choices that led to situations dificult to repair and problems dificult to debug because the GUI allowed for an action on Windows environments (which was not a failure of the GUI itself, because the action was correct under the proper circumnstances, but because the GUI allowed for someone without enough knowledge on the consecuences of their acts to do "something" resulting in an "OK" message: a case of "garbage in, garbage out").

      So it's a stalemate on this.

      "In Windows? Not a problem"

      Now that you mention the text config files vs. GUIs on a multiple admins (some of them students) environment, here comes a hugh problem with the vast majority of GUIs:

      You get at work early in the morning and something is not working properly. You summon your minions and tell them "something is broken; what have you messed up since yesterday?"

      On a text files-based environment the answer is easy and you already advanced it: "we have it in a versioning system so

    4. Re:Well there's another side to that by 10101001+10101001 · · Score: 3, Insightful

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem.

      I'd presume this comes about from the fact that [administration] software used to be very expensive so it was normally cheaper to hire a sysadmin/programmer than to hire a sysadmin and seperate software. The fact that most sysadmins used to be at least minimally programmers (ie, they could write a shell script) certainly helped in that.

      Ok but the thing is programming and systems administration are not identical skills any more than say being a musician and being a recording engineer are. They are related, but proficiency in one is not the same as the other. I know more than a few programmers that are abysmal at system administration, and I know sysadmins that can't program. There is nothing wrong with this.

      Quite true. Meanwhile, most companies demand the equivalent of musician/recording engineers for the price of slightly more than a musician. And that tends to drive down the wages of those who are the equivalent of just recording engineers. That's just economics at play.

      While I realize a simple (emphasis on simple) script isn't quite the same thing, this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

      Yes, and that's why Windows System Administrators tend to be paid less than UNIX/Linux System Administrators. And where Windows can be said to excel is in providing for common tasks for very small businesses (ie, they only have one or two IT staff) in a GUI format so no programmer is needed.

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience.

      No, I think it would be said that a good admin should know how to learn in an unfamiliar situation. GUIs can certainly facilitate this, but GUIs don't magically remove the need to understand.

      Part of systems administration is being able to solve novel problems. Ok well GUIs help in that regard, at least when well designed. They show you your options, and how they flow, what ones exclude and influence others and so on. That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

      I think that heavily depends on your use of the word "novel". Most problems in system administration aren't really novel. They're merely new to the system administrator. In that regard, GUIs are great for helping prove the mechanism to do useful IT work. But, once you step into areas which are actually novel, GUIs by definition can rarely be of help. But, then, CLIs may be of little help either. At that point, you really do need to program, be it a script or an actually C/Java/whatever program.

      They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file. If you do the formatting incorrect, screw up the serial number, etc and suddenly things stop working (we have it in a versioning system so it can be undone easily, of course). In Windows? Not a problem. The GUI keeps you from screwing things up. You can still make a bad entry or whatever, but you can't go and break the entire server.

      Very true, much like how client-side javascript can aid people in validating their input before it's actually used. That's certainly good strength of a GUI when it's dealing with well-understood, common content.

      --
      Eurohacker European paranoia, gun rights, and h
    5. Re:Well there's another side to that by Shadow99_1 · · Score: 2, Interesting

      All I have to say is: Amen! (in a nonreligious sort of way)

      I'm a not very good programmer who is a good system admin. I've been fighting the general apathy to anyone who can't read the source for the linux kernel in the linux world for going on a decade now! I'm always being told 'write it yourself' when I bump into a wall in administering linux systems that would be a simple button press in Windows... I don't want to reinvent the wheel! I'd frankly suck at it! That A) doesn't mean I'm a bad admin and B) Isn't something I even have time for in my day.

      I can just see my last employer waiting as I read through 10k lines of source code to figure out why X isn't working with Y. Those above me want things to 'just work' and when they don't and it takes time to fix it's the end of the world. I'll take tracking down the idiot on the campus who plugged the network cable into the same switch twice over writing my own app any day.

      --
      we are all invisible unless we choose otherwise
    6. Re:Well there's another side to that by arth1 · · Score: 2, Insightful

      "They also can help prevent errors. For example I can't count the number of times our DNS has been temporarily broken by a student messing up the file."

      That's not an argument, it only seems to. While "manual handling" is prone to syntax failures, GUIs are prone to knowledge failures which are, by the way, much, much more dificult to debug.

      Never mind the things that the GUI just can't do, because the GUI is limited by the knowledge of the person who wrote it. Try entering an rdata_44 record in the DNS through a GUI -- chances are it won't let you. Or set up logging for a single client. Or remove all entries from the zone that has an expiration of a certain number of minutes (which is something you might want to do when replacing a DHCP server or similar). The limitations are endless, unless the UI simply integrates a text editor, in which case the question is why bother?

    7. Re:Well there's another side to that by codepunk · · Score: 2, Informative

      "I find it rather disturbing the UNIX ideal that sysadmins should be programmers."

      Funny, nobody finds it disturbing when I interview for a job. Usually they just say holy crap
      you are a experienced and accomplished programmer as well as a crack administrator, hired.

      --


      Got Code?
    8. Re:Well there's another side to that by Rantastic · · Score: 2, Interesting

      I find it rather disturbing the UNIX ideal that sysadmins should be programmers. The opinion seems to be that it is perfectly ok for someone to need to do a fair bit of programming work to solve a system problem.

      Not only have I spent over 10 years as a professional *nix system administrator, I currently work training professional system administrators. I don't know *anyone* who thinks that a system administrator should be a programmer. That being said, shell scripting is a tool of the skilled system administrator. Writing simple scripts is nothing like programming. While shell scripts can be quite complex, most that a system administrator would write are very simple. Really just a series of commands.

      I know more than a few programmers that are abysmal at system administration...

      And how! The vast majority of developers I know are terrible system administrators. There is a reason we keep them as far from the production systems as possible. The problem is that they think they do know system administration, but they have a completely different mindset.

      ...this attitude smacks of the "People should just get down and code what they need," thing. No, not really. Not everyone should have to learn that skill, and you could well be excluding people you want by requiring it.

      Again, I don't know anyone who thinks this. People should learn the tools they are being paid to work with. That includes shell scripting. Now, some shops like to write a lot of in house tools in perl or python and will look for people skilled in system administration as well as those languages. Most big shops have a small number of sys admins who can write such tools. Don't confuse the tools team with the rest of the sys admins. This is a specialized role.

      Also there's the simple matter that GUIs work better for unfamiliar situations. While it might be easy to just say "Well a good admin should know about this," that is rather stupid. Nobody knows everything, you never get someone with limitless experience. Part of systems administration is being able to solve novel problems.

      I could not disagree more. While a GUI might help someone plod through without really understanding what they are doing, this is not a good thing. I agree that no one knows everything. However, a skilled sys admin can research and learn new things when needed. Most GUIs just get in the way of learning and deeply understanding. Then when something doesn't work as expected, you are SOL. Or you miss a subtle issue that bites you in the ass later.

      I'd like to point out that I use GUI tools all the time. However, I make a point of learning the technology I am paid to understand. When I use a GUI it is because it is the best or most convenient way to get something done. I can also tell you all the places on the system that GUI changed and what to do if something went wrong.

      That can make it much faster to deal with something you are not familiar with. This is important and useful in real IT work.

      I have worked in IT for long enough to know this isn't true. The simple reality is that most people working in IT suck. Seriously. I have interviewed and worked with more than enough of them. They use GUIs as crutches. They are over worked and have no time to learn anything even if they were so inclined. They have a very shallow understanding of the technology they are paid to understand. They choose "easy" tools instead of tools that require learning. It is the sad state of things that truly skilled system administrators are a rare find.

      Should everything be CLI? Of course not. Should everything be GUI, of course not. However, to say that GUI tools are better because you don't have to be familiar with them is a very scary attitude if you ask me.

      --
      Ask Slashdot: Where bad ideas meet poor googling skills.
    9. Re:Well there's another side to that by sjames · · Score: 2, Insightful

      If you type a question mark in the IOS CLI, it will show you all of your possible options from that point. Tab completion is another way to accomplish that, some CLIs use that.

      In Unix, you have the tab completion, man and apropos to help you out.

      Shell languages are designed with an emphasis on very simple "programming" tasks such that a sysadmin can easily use it for simple string substitutions and such while it remains a turing complete language (meaning anything that can be expressed to a computer can be expressed in the shell language)

      It's really sad watching some poor schlep clicking and typing all day when a simple "for i in" one-liner could have done the job in 30 seconds.

      Now, you have a problem that has brought the network to it's knees. What do you want swimming upstream to your terminal so you can fix the problem, a GUI desktop pixel by pixel or a # character? (we'll presume at this point you have a senior admin rather than an intern working the problem).

      BTW, if you do DNS right, you will at most break one zone. The log output will tell you what is wrong and you can fix it quickly. If it's a big change, try it out on a test box first, then just push the debugged files to production when ready. BTW, it was possible to put your DNS under change management because it was in the form of text files rather than an undocumented binary blob produced from a GUI app.

      You can set up a really simple ability to back a change out as well. cp pz/example.com back/; vi pz/example.com. If it really messes up and going back is your best bet, cp back/example.com pz.

      If you MUST have a GUI, why not an app that loads in the text file, presents it as a GUI and allows editing, then writes it back out as the text file again?

      A key takaway from this is exactly what TFA was talking about. File and CLI based configuration can easily have GUI, change management, etc overlaid on top of it, but if you start with a GUI, you're pretty much stuck there.

      Meanwhile, why is a student making changes directly to a production box? Let them mess around on the test boxes for a while until they become comfortable with the process, then they'll make a lot less mistakes.

  13. Re:ITT: "Get off my lawn" by ak_hepcat · · Score: 4, Interesting

    Probably because it's also about the ease of troubleshooting issues.

    How do you troubleshoot something with a GUI after you've misconfigured?
    How do you troubleshoot a programming error (bug) in the GUI -> device communication?
    How do you scale to tens, hundreds, or thousands of devices with a GUI?

    CLI makes all this easier and more manageable.

    --
    Support FSF: Stop thinking with your wallet, and think with your imagination. (cc/non-commercial)
  14. Exchange 2007 and Powershell by maotx · · Score: 3, Insightful

    That's one thing Microsoft did right with Exchange 2007. They built it entirely around their new powershell CLI and then built a GUI for it. The GUI is limited in compared to what you can do with the CLI, but you can get most things done. The CLI becomes extremely handy for batch jobs and exporting statistics to csv files. I'd say it's really up there with BASH in terms of scripting, data manipulation, and integration (not just Exchange but WMI, SQL, etc.)

    They tried to do similar with Windows 2008 and their Core feature, but they still have to load a GUI to present a prompt...

    --
    I'm a virgo and on Slashdot. Coincidence? Yes.
    1. Re:Exchange 2007 and Powershell by shutdown+-p+now · · Score: 3, Informative

      There has been a steady transition to PowerShell for all Microsoft server products, precisely so as to enable CLI scripting with full feature coverage, similar to what has been enjoyed on Unix for a long time. It had started with Exchange 2007, but the most recent addition (to the best of my knowledge) is SharePoint 2010.

  15. Re:And the whole GUI overhead by sirsnork · · Score: 4, Informative

    it's called a "core" install in Server 2008 and up, and if you do that, there is no going back, you can't ever add the GUI back.

    What this means is you can run a small subset of MS services that don't need GUI interaction. With R2 that subset grew somwhat as they added the ability to install .Net too, which mean't you could run IIS in a useful manner (arguably the strongest reason to want to do this in the first place).

    Still it's a one way trip and you better be damn sure what services need to run on that box for the lifetime of that box or you're looking at a reinstall. Most windows admins will still tell you the risk isn't worth it.

    Simple things like network configuration without a GUI in windows is tedious, and, at least last time i looked, you lost the ability to trunk network poers because the NIC manufactuers all assumed you had a GUI to configure your NICs

    --

    Normal people worry me!
  16. Re:ITT: "Get off my lawn" by arth1 · · Score: 2, Insightful

    Why would I want to read a bunch of documentation, mess with command line options, then read whole block of text to see what it did?

    I'd much rather sit back in my chair, click something, and then see if it worked. Don't make me read a bunch of man pages just to do a simple task.

    Because then you'll be stuck at doing simple tasks, and will never be able to do more advanced tasks. Without hiring a team to write an app for you instead of doing it yourself in two minutes, that is.

    The time you spend reading man pages is an investment which pays off in the long run. But if you belong to the instant gratification generation, that may not be what you want, no...

  17. Do this with your GUI by fishbowl · · Score: 2, Insightful

    In a directory hierarchy, find files with the extension ".ftl" that have been modified since the last SVN revision, and containing the expression "${inventoryItem.qoh}", and for each of these, substitute "${inventoryItem.atp}".

    I'd love to see GUI's that can facilitate the kinds of work I do on a constant basis, but since there's no such thing, I've become something of a Unix shell power user over the past couple of decades.

    --
    -fb Everything not expressly forbidden is now mandatory.
    1. Re:Do this with your GUI by Nethead · · Score: 2, Funny

      How, pray tell, do you export that to a CSV file?

      Print Screen and OCR, then write a perl script.

      --
      -- I have a private email server in my basement.
  18. Re:ITT: "Get off my lawn" by fandingo · · Score: 3, Interesting

    I don't think you really understand systems administration. 'Users,' or in this case admins, don't typically do stuff once. Furthermore, they need to know what he did and how to do it again (i.e. new server or whatever) or just remember what he did.
    One-off stuff isn't common and is a sign of poor administration (i.e. tracking changes and following processes).

    What I'm trying to get at is that admins shouldn't do anything without reading the manual. As a Windows/Linux admin, I tend to find Linux easier to properly administer because I either already know how to perform an operation or I have to read the manual (manpage) and learn a decent amount about the operation (i.e. more than click here/use this flag).

    Don't get me wrong, GUIs can make unknown operations significantly easier, but they often lead to poor process management. To document processes, screenshots are typically needed. They can be done well, but I find that GUI documentation (created by admins, not vendor docs) tend to be of very low quality. They are also vulnerable to 'upgrades' where vendors change the interface design. CLI programs typically have more stable interfaces, but maybe that's just because they have been around longer...

  19. Paul Venezia's keen grasp of the obvious by rlh100 · · Score: 2, Insightful

    Duhh... He does show a keen grasp of the obvious. And for people who use command lines he is preaching to the choir.

    On the other hand for the GUI based people, they will miss it entirely. They will talk about add on GUI replay tools that allow one set of mouse clicks to be replayed to many different servers, or configuration management tools that do the work for you. I believe they truly do not understand that someone could get 20 mouse clicks on 40 different servers wrong. "Why would someone ever click the wrong check box?" They also believe that screen shots are valid ways to store configuration information off line.

    Only half in jest.

    RLH

  20. Re:Each in their place by maxwell+demon · · Score: 2, Insightful

    OTOH, I'd say if there's an important security setting, and it's not set to the secure value by default (or, if that is not possible, gives an error when not set explicitly), that's a design error in the application.
    Also, empty configuration files IME are rare nowadays; usually they are pre-filled with (mostly commented-out) example-settings with explanations in comments. Which often allows you to just uncomment the settings you want, instead of writing the complete command by hand.

    BTW, comments are another advantage of config files vs. GUIs. Not only because you can state the reason why you put a certain setting right at the setting itself, but also because when you change a setting you can just comment out the previous setting, and therefore easily undo whatever you changed (another option for that is, of course, to make a backup copy of the original config file). I don't see how you can do that with a GUI.

    --
    The Tao of math: The numbers you can count are not the real numbers.
  21. Another example by Estanislao+Mart�nez · · Score: 2

    A few other people have mentioned UIs that do precisely this, but to add another example: a lot of database administration GUI tools allow you to graphically create tables, indexes and other schema objects, and export the SQL script to recreate them automatically.

  22. Re:And the whole GUI overhead by shutdown+-p+now · · Score: 2, Informative

    it's called a "core" install in Server 2008 and up, and if you do that, there is no going back, you can't ever add the GUI back.

    Win2008 Core still has a GUI. It's just that it's a GUI that only has a single graphical terminal window open by default, but nonetheless there's a window manager and all the other stuff. And you can open more terminals, and run GUI apps which open their own windows as well (if I remember correctly, it does have Notepad out of the box which can be used that way).

    That said, resources consumed by such a thing are so tiny that they won't be noticed even on a mid-range modern desktop, much less an actual server. And it does make life somewhat easier when you actually have to work with it directly (e.g. because ssh is failing for some mysterious reason).

  23. Re:Couldn't agree more by value_added · · Score: 2, Insightful

    But what happens if the system stores those values opaquely, so that you can't ever know what they are, or refer to them as something distinct from the system itself?

    The Windows registry.

    Apparently, it's fully documented, and much easier to understand, parse, manipulate, backup and restore than those nasty "config files" that need to be "edited manually" using "cryptic commands".

    Or so I'm told. ;-)

    Your comment on the "rote memorization" aspect of using GUIs I found particularly astute. When I see official documentation that consists of a little other than a series of screenshots, I wonder how it came to be that behaving like a monkey, or more charitably, aspiring to ignorance, became not only widespread, but acceptable.

  24. Why I moved to FreeBSD by Charles+Dodgeson · · Score: 3, Insightful

    Probably Debian would have been OK, but I was finding admin of most Linux distros a pain for exactly these reasons. I couldn't find a layer where I could do everything that I needed to do without worrying about one thing stepping on another. No doubt there are ways that I could manage a Linux system without running into different layers of management tools stepping on each other, but it was a struggle.

    There were other reasons as well (although there is a lot that I miss about Linux), but I think that this was one of the leading reasons.

    (NB: I realize that this is flamebait (I've got karma to burn), but that isn't my intention here.)

    --
    Prime numbers are exactly what Alan Greenspan says they are -S. Minsky
  25. got this from Fyodor's Good Reading List by sp0tter · · Score: 2, Interesting

    http://www.insecure.org/stf/scoville_unix_as_literature.txt Sums up my feelings very nicely. Sure the GUI is good for some things, but after hours it leaves me lacking in understanding, since I have been essentially reacting to my computer instead of telling it when I want it to do.

    --
    you don't eat crackers in the bed of your future--or else you'll get all scratchy
  26. Re:ITT: "Get off my lawn" by Shadow99_1 · · Score: 2, Informative

    'admins don't typically do stuff once' WTF world do you live in...? I administered a 500 user network a bit over a year ago and very few things were repeated. I set up servers once, and then unless I needed to change something I didn't need to reconfigure them. Now some things like new user accounts is common and repeatable... But those take 2 or 3 minutes and it's done, unless you really cycle massive amounts of employees this should never be more than a half hours work... And a GUI is easily adept at simple repeated tasks. In my 4 years I found little need for scripted anything outside an oracle database and maybe some rare cases with exchange (of all things). Everything else was usually taken care of from a centralized system once, and rarely if ever done again.

    --
    we are all invisible unless we choose otherwise
  27. Re:There is no real difference by turbidostato · · Score: 2, Insightful

    "If your GUI dosn't offer the same advantages than a console/terminal text interface, then your GUI is lacking some features and is a GUI for some but not all your needs, very common in the nix world btw"

    Now, please, tell me how well a GUI-oriented environment copes with:
    * Repeatability (I want exactly the same you did yesterday on server A, now on server B)
    * Auditory (what did change in this server from yesterday, who did it?)
    * Automation (remember what you did yesterday on server A? I want you to do it again on server B; but do it tonight at 2AM -no, no extra hours payment allowed)
    * Conformance (now that we know how exactly it has to be done from our working on the test environment, let's do it -without mistakes, in our 100 production servers)
    * Orchestration (let's do changes a, b and c on servers A, B and C as fast as possible, without mistakes, in proper order and each step only after being sure the previous one is properly working -oh, and let's do it at 2AM -why do you ask it again? No, no extra hours payment allowed)

    For I know all of them are virtually trivial on text-based CLI-oriented systems.

  28. Refusing to feed the beast is not mindless by jabberw0k · · Score: 2, Interesting

    The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista. And in all these years of supporting dozens of computers I have never heard of PowerShell until this article. It's nice to hear that Microsoft is starting to do what I did on Unix in 1980. Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

    1. Re:Refusing to feed the beast is not mindless by Gadget_Guy · · Score: 2, Insightful

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista.

      I was like you. I advised people to avoid Vista without having tried it too. Then I did try it and found that most of the bad things people said about it were just outright lies. There were some problems, but it was nowhere near as bad as everyone claimed.

      And in all these years of supporting dozens of computers I have never heard of PowerShell until this article.

      I'm not surprised since your clients were taking your advice and you hadn't heard of it. It stands to reason that they wouldn't be using it. Powershell has been around for 4 or 5 years now, and it does appear in everyone's Windows Update list as an optional download. No offense, but I'm not sure how you support Windows users with only knowledge of Windows 98.

      Too bad they did not build on Xenix, and save everyone much grief. Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      The problem with Windows isn't with the core technology. The NT kernel is quite solid. The problem is what they did on top of that. ActiveX in a browser was just asking for trouble. Leaving ports open and services running by default might make it easy for plebs to run programs and network services without having to configure them, but it is suicide for security. Even if it had Xenix underneath, they still would have been up the creek with idiotic decisions like that.

    2. Re:Refusing to feed the beast is not mindless by jschottm · · Score: 2, Insightful

      I'm a little puzzled why your clients pay you for advice on Windows when you don't use or pay attention to it. PowerShell has close to 4 million hits with a Google search and was much discussed on slashdot.

      NT derived Windows have some amazingly powerful command line tools that in some cases are far better than *nix tools. Check out Ed Skoudis' many articles and podcasts on command line kung fu.

      Too bad they did not build on Xenix, and save everyone much grief.

      As someone else noted, the NT kernel is really pretty good. It was buggy third party drivers and bad non-kernel decisions that created the vast majority of the problems. Any OS that allows a wide range of hardware is going to be vulnerable to buggy drivers.

      Imagine where Apple could have been in the 90s, had they switched to Unix a decade earlier.

      They did.

      http://en.wikipedia.org/wiki/A/UX

    3. Re:Refusing to feed the beast is not mindless by tehcyder · · Score: 3, Insightful

      The last Microsoft product I bought was Windows 98, so I have mercifully missed the whole disaster since then. All my clients are just now starting to switch from XP to Windows 7, because I advised against Vista.

      You are not qualified to advise people on using Windows XP, Vista or 7 if your knowledge stops at Windows 98.

      If I said Linux was a shitty desktop OS, because when I used it in 1998 the sound didn't work properly, everyone would just laugh.

      --
      To have a right to do a thing is not at all the same as to be right in doing it
    4. Re:Refusing to feed the beast is not mindless by jedidiah · · Score: 2, Insightful

      This would sound a bit convincing if you actually mentioned a feature by name rather than spouting something that sounds like vague marketing propaganda.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    5. Re:Refusing to feed the beast is not mindless by DAldredge · · Score: 2, Informative

      http://en.wikipedia.org/wiki/Windows_PowerShell

      Another concept used by PowerShell is that of a pipeline. Like Unix pipelines, PowerShell pipelines are used to compose complex commands, allowing the output of one command to be passed as input to another. A pipeline is set up by piping the output of one command (or pipeline) to another command, using the | operator. But, unlike its Unix counterpart, the PowerShell pipeline is an object pipeline; that is, the data passed between cmdlets are fully typed objects, rather than character streams. When data is piped as objects, the elements they encapsulate retain their structure and types across cmdlets, without the need for any serialization or explicit parsing  of the stream, as would be the need if only character streams were shared. An object can also encapsulate certain functions that work on the contained data. These also become available to the recipient command for use.[13][14] For the last cmdlet in a pipeline, PowerShell automatically pipes its output object to the Out-Default cmdlet, which transforms the objects into a stream of format objects and then renders those to the screen.[15][16]

      Because all PowerShell objects are .NET objects, they share a .ToString() method, which retrieves the text representation of the data in an object. Windows PowerShell uses this method to convert an object to text. In addition, it also allows formatting definitions to be specified, so the text representation of objects may be customized by choosing which data elements to display, and how. However, in order to maintain backwards compatibility, if an external executable is used in a pipeline, it receives a text stream representing the object, and does not integrate with the PowerShell type system.

      The PowerShell Extended Type System (ETS) is based on the .NET type system, but with extended semantics (e.g. propertySets and 3rd party extensibility) . For example, it enables the creation of different views of objects by exposing only a subset of the data fields, properties, and methods, as well as specifying custom formatting and sorting behavior. These views are mapped to the original object using XML-based configuration files.[17]

  29. Re:Couldn't agree more by starfishsystems · · Score: 2, Insightful

    It wouldn't have been so bad if Microsoft had just supplied a generalized configuration parser for application developers to use. Then it could be applied to files, streams, digitally signed blobs, whatever.

    But no, they had to build another way to lock you in, didn't they? So you don't get the security controls or network transparency of the file system. You're not reusing the file system, so you have added another source of complexity and another attack surface for security. You don't get composability or scope control where one subsystem can feed live configuration data to another.

    And if the Registry breaks, you're kind of hooped. Sure, there's regedit, but it's off to the side, not part of the main paradigm. Mostly it serves to remind you of what you're missing. It's far from common practice to track changes to the Registry in order to monitor how an application has been configured. And that's because the application has not necessarily used the Registry. So tracking it is in general neither necessary nor sufficient.

    Ooh. Don't get me going.

    --
    Parity: What to do when the weekend comes.
  30. Re:That is entirely irrelevant by Tharsman · · Score: 2, Interesting

    Only that you went back to mention Scripting under CLI. True, every OS I seen that implements it allows for it to be scripted, but this is not necessarily true.

    An application can be written with dual interfaces, GUI + CLI (at least in windows) and [arguably] bad design can lead the CLI to require a user to confirm actions without allowing the confirmation to be scripted.

    On a similar line, I have seen GUI programs that have designed CLI equivalents for every menu and button with confirmation bypass parameters.

    As you said at first, in the end, it's just a third tool, one meant for programmers or at least power users with at least minimal programming experience.

    This will sound odd, but there are users that can work a CLI but can never ever program a single line of code. I worked in a company that has a completely CLI collection software. Not only is it impossible to script, but everyone uses it yet these are people that can't get the difference between shutdown and hibernate.

  31. In Google's World by ALimoges · · Score: 2, Insightful

    If you were to read a how-to on a blog about configuring a router using a GUI, it would take a few pages. If it were about configuring a router using a CLI, it would fit in one page. Bottom line: in today's world where a forgotten command can be remembered quickly using our friend Google, I much prefer CLI because it makes me read less, and do more.

    --
    iTx Technologies: Open source development in Montreal
  32. Re:ITT: "Get off my lawn" by Johnny+Mnemonic · · Score: 2, Insightful


    GUIs can make unknown operations significantly easier

    IMO, this is the biggest advantage that GUIs have over CLI: they allow you to see all of the legal choices at once, and as you make a change in one field you can see which other fields are now made illegal. Good "help" in a CLI can help, but it's much more trial and error. Esp if the help isn't good, and you combine illegal choices.

    --

    --
    $tar -xvf .sig.tar
  33. YaST works in CLI by houghi · · Score: 2, Interesting

    Funny the article singles out YaST as an example of GUI work. YaST works great in CLI. here an example. I have used it both as GUI and CLI (over e.g. ssh) and alongside 'normal' CLI commands for e.g. the firewall and editing things by hand and what not.

    This means that if you want standard options, you can easily use YaST (in GUI or CLI after ssh) or use anything else if you want. So it is very strange that he uses YaST as an example for GUI only ways of doing things.

    --
    Don't fight for your country, if your country does not fight for you.
    1. Re:YaST works in CLI by Junta · · Score: 2, Insightful

      YaST over SSH in not CLI, it's TUI. The important difference is CLI is scriptable, TUI has the lack of scriptability of a GUI, but the bandwidth characteristics of CLI.

      I think it's a nice example of how something running in a text-only mode is not necessarily a sufficient improvement over GUI.

      --
      XML is like violence. If it doesn't solve the problem, use more.
  34. GUIs are a management requirement by SpaghettiPattern · · Score: 5, Insightful

    GUIs usually are a management requirement. The common misconception is that sysadmin GUIs make you more productive. Well, they don't. On the contrary, they slow you down, cause repetitive and boring activities where the human factor thrives (E.g. copy paste from spreadsheet.) GUIs look good on presentations but are crap to operate.

    But it's not only the god forsaken Windows platform that has them. Ever tried configuring network interfaces and the DHCP server on OpenSolaris? Ever tried getting a readable manual on how to do either by editing files or through command line? That for me was the practical reason for discarding OpenSolaris and continuing with FreeBSD.

    In an ideal world, configuration files adhere to a specific syntax. Libraries are available and convenience tools and utilities (CLI and GUI) should be based on them and are equally effective.

    Cheerfully ignore comments stating that scripts for changing configuration files can screw up production. Hobbyists stating such manure apparently don't know you should run unit and integration tests before deploying any change whatsoever in a production environment. Nowadays any half professional organisation can afford multiple test environments to minimise production failures caused by untested software.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  35. Grandpa, Really? by TheNetAvenger · · Score: 2, Insightful

    Wow, I can't believe that this is just accepted.

    With the advances in GUI design and beyond GUI design technology, a CLI should be obsolete, even if it is not obsolete in practice on the specific examples.

    There is no reason a written script should be necessary, when an object constructed visual script could also be generated that is just as specific and functional. Again, just because the tools and technology are not common does not mean it is the standard and will always be a truth.

    There was a time that writing software required 'writing code' as well, and today we have technologies that let graphic designers put together robust applications without writing a single line of code. (MS Blend for a simple example of XAML based GUI development.)

    By nature Unix based OS models are CLI dependent(textual pipes and generic I/O constructs); however, this is not true of all OS models(NT is an object based OS, where a CLI is counter intuitive which makes PowerShell a brilliant CLI model that came years after the OS, and uses the object nature of the OS design).

    Even with some imagination this isn't a 'truth' in a UNIX OS model either. There is no reason that all constructs have to derive or remain at a CLI level with a GUI strapping onto the CLI. Replace the CLI constructs with GUI based interactions and instead of textual pipes, object and graphical piping could be the model that replaces the CLI nature of UNIX.

    This line of thinking is a failure of imagination and factually incorrect when viewed from an object based OS design like NT where the CLI(PowerShell) was an achievement to harness objects at a regressed CLI level.

    1. Re:Grandpa, Really? by TheNetAvenger · · Score: 2, Insightful

      Sadly you don't even understand how silly your response is.

      NT and piping are opposites in how the OS is designed. NT deals with objects and object passing and referencing, not generic I/o and piping.

      Nt is specifically not designed like unix, which was my point and what you do not understand.

      An OS that deals with an object model instead of generic I/o has no need for textual passing or piping.

      More slashdot peeps truly should take a minute to learn why makes NT different and unique from standard unix OS models.

      *posted from my droid...

  36. A few hundred? by phorm · · Score: 2, Informative

    Eh? We've got several thousand users, a working master/slave replication setup, and very few issues with our LDAP. Usually if something goes awry it's indicative of another problem that also has side-effects on LDAP....