Has anybody ever done a usability study on the Linux CLI interface?



  • @Cassidy said:

    Because different distros do things in different ways. There is some commonality between them, but don't assume that just because one distro does it in a specific manner that ALL Linux distros follow that pattern. It's rather like shouting WHO CARES WHAT VERSION OF WINDOWS IM USING ITS NOT RELEVANT ITS ALL MICROSOFT IT SHOULD WORK THE SAME WAY. Linux should be considered the group or the vendor, rather than the product itself.

    Yes but unfortunately there's this nasty double-standard where, whenever a distro does something good it's credited to "Linux", and whenever a distro does something bad, it's "well that's bad but at least Linux isn't affected". It's this nasty double-standard thing that goes on. (This also allows you to say "Linux has {obscure feature}!" even if that feature doesn't ship in any Linux distributions. As I mentioned in a previous post.) It's a fucking pain in the ass debating Linux users because when they say "Linux" they really could be any of a dozen things.

    If I'm supposed to treat Ubuntu as a completely stand-alone OS, that's fine. In fact that makes a lot of sense to me. But Linux fans don't do that. Linux fans just call it "Linux". So I think it's fair that when I criticize it, I just call it "Linux" as well.

    @Cassidy said:

    Okay, I was going to go pedantic dickweed on that - but you kinda answered it for me. You knew what you wanted to do, just not how to do it, and I'll contend that you should be expected to learn/research that stuff in order to perform the required steps correctly to acheive your goals. If you don't put the effort in, you won't get the rewards you deserve.

    Where does this thinking come from? The "reward" is "having MongoDB installed". Anything that gets me to the "reward" quicker allows me to move on to something else and makes me more productive. You're actually arguing AGAINST usability, AGAINST efficiency here. That's ridiculous.

    Fuck, an idiot could read your paragraph there as "wow we made mongodb way too easy to install, we need to add more hoops to jump through!"

    @Cassidy said:

    Now 2 I won't disagree with. Many instructions in the Linux are poorly-written: gramatically incorrect, inaccurate, out of date, inappropriate level of detail, badly-translated, etc. Stupidly, there are some well-written HowTos which shows that it can be done, but I've never expected a particularly high quality of documentation out in the open-source world - they're the expection, rather than the norm, but it's an accepted cost of volunteer-driven projects.

    Good to know unusable software also has unusable documentation. And people like this OS?

    @Cassidy said:

    It's 1 that some people are taking issue with, and most arguments really boil down to "if you're familiar with the process, then following it for the umpteenth time is fairly routine. If you're new, then the process itself isn't easily discoverable and unfamilar people will struggle." As you're using Ubuntu Server I'm guessing you may not have a GUI to play with - otherwise you may find those tools an utter relief from command-line frustration you've encountered.

    I feel like I'm just a parrot repeating myself over and over again:

    1) The Windows install process also sucks. It was better than the Linux process, but it still had way too many hoops to jump through, required way to much domain knowledge in system administration, and took way too long.

    2) There's nothing about the CLI that's inherently difficult to use. The CLI is difficult to use because the people who build it and like it have no concept of usability, they don't do user testing, they don't think about holistic user experience, they're lazy, etc.

    Please stop bringing up points I've already addressed.



  • @Master Chief said:

    If by brainwashed, you mean educated and trained, then yes.

    Since you're educated and trained on the Linux CLI, do you think it's fair to make comparisons to other CLI systems (for example, PowerShell) that you aren't equivalently educated and trained on?

    When you say "Linux CLI is great!" are you really just saying, "I know Linux CLI really well!"

    Human brains are full of bugs. One of those bugs is we tend to like things we've been exposed to a lot, regardless of their actual merit. People who grew up in 1976 when Muskrat Love was in the Billboard Top 40 probably genuinely believe Muskrat Love is a good song. Solely because they heard it a lot on the radio.

    Learn the bugs in your brain and embrace wisdom.



  • @bannedfromcoding said:

    - IF you'd know up-front that Linux software should be installed from the distribuition's package repository (appstore-like concept) and not from the maker's website, do you think you'd avoid making some of the mistakes?

    Answering as a naive user, yes.

    Answering as myself, not quite because there are other problems associated with that: the instructions you get from 10gen are to download the version maintained and supported by 10gen which may or may not be different than the version maintained and supported by Ubuntu. An better solution would be to have an Appstore-like download experience, but end up with the official version of the software on the computer at the end, but as far as I know that isn't available in the Linux package manager world.

    @bannedfromcoding said:

    - IF you'd try to install this software on Windows while being totally unfamiliar with Windows, and the crappy instructions on maker's website would tell you to edit the registry, delete a system file (but only if you don't have service pack 13), and do similarly idiotic things, would you blame Windows or the instructions?

    Too hypothetical for me. When it comes up, I'll tell you. It's never come up, and it never will.

    @bannedfromcoding said:

    I'm genuinely curious.

    The first question sounded genuinely curious. The second sounded like you were trying to collect anti-Windows ForumPointz. Collect 15 and win a free Flamehog!



  • I administrate both Windows and Linux systems. I am familiar with them both, I know how to deal with them. So "your problems" are very alien to me.

    That's why I'm curious about your viewpoint, and I'm trying to clarify my knowledge of it with these questions.



  • @bannedfromcoding said:

    I administer both Windows and Linux systems. I am familiar with them both, I know how to deal with them. So "your problems" are very alien to me.

    That's why I'm curious about your viewpoint, and I'm trying to clarify my knowledge of it with these questions.

    That's the problem! You're stagnant! You know how it works now but you can't conceive of how it should work! You should be spending every minute of every day thinking to yourself, "how could this be made better?" Because computers right now are shit, and need to be made better, and you as a IT professional are exactly the kind of person who needs to understand that.

    And you don't appear to be completely beyond all hope, like Monomelodies or Boomzilla. At least not yet.



  • @blakeyrat said:

    You should be spending every minute of every day thinking to yourself, "how could this be made better?"

    And that's what I'm doing with the stuff that is (currently) under my control.

    The current list includes replacing our current process of setting up production devices with a more efficient and less fragile one, preparing for new hardware that'll be used in production, cleaning up our AD, and many more.

    I don't work at Microsoft, and I'm not a maintainer of any open source project. So I'm the wrong person to be asked to fix either Windows or Linux.

    I'm doing all I can to make our apps end-user-friendly. I also maintain the distinction between an administrator, who should have SOME knowledge, and an end user.



  • I didn't say you needed to act on it, I said you needed to be aware of it. I don't work for Ubuntu or Microsoft either.


  • ♿ (Parody)

    @blakeyrat said:

    1) The Windows install process also sucks. It was better than the Linux process, but it still had way too many hoops to jump through, required way to much domain knowledge in system administration, and took way too long.

    No. No. No. No. This is purely a function of your ignorance of the system that you're using.

    I'll go back to what you said here:

    @blakeyrat said:

    An better solution would be to have an Appstore-like download experience, but end up with the official version of the software on the computer at the end, but as far as I know that isn't available in the Linux package manager world.

    In fact, exactly this is possible, and it's basically what their instructions were trying to do. Anyone can set up their own repositories, set up on their own servers, and make them available in whatever way they want, and users who have access to those servers / repositories can add those repositories as places to look for software for their systems. I have done this, for example, with chrome and opera. They automatically added themselves as software sources after I downloaded and installed their .deb packages from their respective web pages. Now, as far as any of the systems which use APT are concerned, those are just another part of my "app store" from which they fetch stuff like updates or new programs to install.

    Ubuntu also has a system of unofficial repositories called PPAs (personal package archives), which pretty much anyone can start, and are another way to make this sort of thing happen.

    I've mentioned this in several places with respect to the fact that Windows seems to have the required plumbing to allow a centralized way to keep all of your software updated, as opposed to the varied WTFs involved in 3rd party software update checkers.

    The MongoDB instructions were meant to lead you to adding their official (or upstream, in distro-speak) repository so that you could install directly from them and get updates whenever they updated something. The risk, of course, is that they might do something that was incompatible with other stuff in your system, which using your distro's official repos is supposed to prevent (of course, it doesn't always work as planned, but that's the idea).

    Note that an enterprise could, in theory, set up their own mirror of repos, requiring everyone to use those, not only for installation, but for updates. I believe AD can do similar things for Windows updates and so forth. It's just too bad that individual users have no similar abilities in Windows that I'm aware of, and that it only works for updates, not new installations. Maybe the Windows 8 app store stuff will evolve to allow this.

    This, of course, cannot be reasonably read as a defense of anything else (e.g., CLI and the use thereof, poor documentation, etc), but I look forward to your efforts to do so.



  • Dude Boomzilla, stop posting my threads because I don't give a shit. I only ever reply to you by accident. Go away.



  • @Master Chief said:

    That said, CentOS, which for the uninformed is a free version of RedHat with no official support, is quite nice. It's rock solid, I have two machines running it on my home network, neither has been rebooted since we moved in (3+ years).
     

    Ditto - two of my servers run Centy (my home server's Fedora).

    Tried Scientific Linux at all?



  • @Kittemon said:

    @blakeyrat said:
    So if a library exists, WHY THE HOLY SHIT IN HELL IS THE GUI TOOL CALLING THE CLI APP!??!??!!?>!?@>

    Your post explains nothing, it just raises more questions!

    I'm surprised nobody brought up this point previously: the CLI defines a protocol. Anything built against that protocol can be insulated from irrelevant internal changes to the underlying library, so by default, it's preferable to write other software against an app's CLI rather than its library API. It's a basic *nixy philosophy.

    So that explains 1) why it's done, and 2) why there is such strong resistance to changing the way it's done.

    The weird fixation with strings that seems so prevalent in the *nix is something that has been bugging me for a long time already. Of course you can treat the input syntax and output formatting of a specific CLI utility as a protocol - just like you can treat the, I dunno, the public Application Programming Interface of the underyling library as one. Comparing the two approaches, I see the following pros and cons:


      Using the CLI as a protocol:
    • + Output can be interpreted by humans
    • - You're restricted to exchanging strings. Good luck solving the problems of packaging structured information into strings for the 100th time.
    • - Your tools waist CPU by formatting data into a human-readable string, which is then parsed back by the next tool - witout any human ever looking at it.
    • - There can only be one version of the protocol all the time. You have to take great pains to stay backwards compatible to every previous version ever.
    • - Actually, there are no versions at all. There is no structured description of the protocol, except convention and a likely outdated manpage.
    • - Corollay: Every client of your protocol probably parses it subtly different, depending on which particular regex the developer felt like using.
    • - If you want to do anything non-trivial, you'll want to chain different tools together, which all have their own rules on string parsing. Good luck figuring out the correct syntax when multiple tools interact. Examples: find -exec, using bash wildcards on directories with more than 10.000 files.

      Ok, now let's treat the API of the library as a protocol:
    • + Debuggers can generate a "human readable" view of the protocol exchange for you - no need to burden the protocol itself with that.
    • + You have an explicit description of the protocol as header files, type libraries, etc. You can add new functions while keeping your old API completely unchanged for legacy clients.
    • + There is a standard way for launching tools (loading the library), invoking commands (calling function) and exchanging all kinds of data (arguments). You can chain two arbitrary libraries together and don't have to think about how to pass arguments between them! Unbelievable, I know!

      So, please, I'd really like to know this: Apart from "because we've always done it like this", why would the former EVER be a good idea?

  • ♿ (Parody)

    @blakeyrat said:

    Dude Boomzilla, stop posting my threads because I don't give a shit. I only ever reply to you by accident. Go away.

    Yeah, I'm quite familiar with your asshatery. We all know that you just want to rant, and don't really care about information that might contradict the rant.



  • @gu3st said:

    How is one unix system that drastically different than another unix system?
     

    If you've used AIX, HP-UX, Solaris and SCO's OpenSewer then you'll notice quite a number of differences.

    Granted, the end goals are identical - but the individual ways in which they go about it seems totally unrelated in some cases.

    @TwelveBaud said:

    Unfortunately, there's no pretty GUI like Windows' Event Viewer that I've been able to find; the plumbing is all there, but someone forgot to attach the faucet.
     

    Gnome has "System Log Viewer" off the Administration menu:

     

     KDE has "KSystemLog" off the KDE "System" menu.


    There's also Webmin. Personally I use logwatch to trawl and inform me of interesting activitiy.



  • @Soviut said:

    Finally, on the subject of usability, the CLI is the least discoverable interface possible. Even automated phone menus are easier to use since they actually let the user know where they are and what options they have.


    Tab-completion and man pages are also quite effective at telling you what options are available.



  • Is one of the differences between Windows and *nix the way unimportant messages are logged as errors and warnings?



  • @PSWorx said:

    So, please, I'd really like to know this: Apart from "because we've always done it like this", why would the former EVER be a good idea?

    "Because using an API would require you to use a tool to create and debug the script, and it'd be a separate way from the way you're doing manually in the command line".

    Except, I dare saying that powershell solves this exact issue. Of course, in order to create equivalent of powershell in Unix, you'd first need to create an API for all the features...



  • @bannedfromcoding said:

    @PSWorx said:
    So, please, I'd really like to know this: Apart from "because we've always done it like this", why would the former EVER be a good idea?

    "Because using an API would require you to use a tool to create and debug the script, and it'd be a separate way from the way you're doing manually in the command line".

    Except, I dare saying that powershell solves this exact issue. Of course, in order to create equivalent of powershell in Unix, you'd first need to create an API for all the features...

    No, using the CLI requires the exact same tools. It's just that, for historical reasons, those tools already exist - they're called "shells". Like you said, Powershell already bridges that gap in Windows. (Though, thanks to ActiveX and stuff, there is a longer tradition of tools that directly access libraries.) - I'm no Linux expert, but I don't see why the same wouldn't be possible using shared objects on Linux.


  • ♿ (Parody)

    @PSWorx said:

    No, using the CLI requires the exact same tools. It's just that, for historical reasons, those tools already exist - they're called "shells". Like you said, Powershell already bridges that gap in Windows. (Though, thanks to ActiveX and stuff, there is a longer tradition of tools that directly access libraries.) - I'm no Linux expert, but I don't see why the same wouldn't be possible using shared objects on Linux.

    Yes, I'm sure it could be done. The problem, I think, is getting everyone else to adopt it. To a certain extent, MS can enforce this (though they haven't and may never get rid of batch files and CMD). Apple has a grand tradition of lopping off backwards compatibility. But when you're dealing with systems that anyone can ignore anyone else and carry on, it's more difficult to get stuff like that to catch on.

    This is simply human nature and, uh, reality. While there probably is a much better system, it may or may not be worth it to replace everything currently in existence, not to mention obsolete all of the knowledge that exists all over the place. For the readers who like to imagine things, this isn't an argument saying that we shouldn't try to improve things, no matter how much you want it to be that.



  • @blakeyrat said:

    You can do that, it's just not in the contextual menu. It's under the "Filter" button in the "Action" pane …

    I know that, silly ;-) I just figure that if you're going to actually redesign something from scratch, you'd come up with something that makes sense …



  • @blakeyrat said:

    I'm not kidding, I'd love to read the results of such a beast if it exists. Here's my experience trying to install mongodb on a ubuntu (cloud) server:

    The "Linux CLI" is a bit too large of a topic to have a sensible concept of a usability study. It would be a bit like having a usability study on "The Internet." A usability study of "apt" would be much more self contained, and much closer to what you are complaining about.) It's a perfectly learnable tool, but not without rough edges. There are several different layers that interact in the Linux CLI, which is fine when you know most of them and need to learn a new one of them, but can indeed be quite bewildering if you come to it all completely fresh. Honestly, your original post was written from such a peak of frustration that it comes across as borderline trolling. A lot of what you said simply boils down to, "I haven't yet made time to learn the tools, so I am blaming the tools." It isn't necessarily the pencil's fault that I still can't draw, after all. The good news for you is that a lot of the frustrations you are feeling really are humps that you can get over. Obviously at the end of this ordeal, you are learning how to wield tools like sudo, so your next adventure will be a bit less horrible. You have levelled-up. :) I think you did raise some good points about the tools that I would also like to discuss.

    @blakeyrat said:

    I started by trying to follow these directions on mongodb's official website. (As it turns out, this was apparently the incorrect thing to do, but I don't have the weird mental illness that tells Linux users to never follow the official directions for a product on the product's official website.)

    Well, good news! Now you don't suffer that mental illness either. Seriously, one of the big wins of maintaining a Linux system is the fact that the distribution maintains bundled up packages built and tested just for your version. Whenever possible, the path of least resistance is always to start with your package manager. Once you learn to use it, installing software is generally a snap. You will occasionally need software that doesn't exist in your package repositories, and then you'll need to do some of the ugly grunt work. But, stay inside the 'walled garden' of your distribution, and concepts like 'DLL Hell' simply don't exist.

    @blakeyrat said:

    These errors are 100% unsolvable except to the geekiest of geeks, but I happen to know what "permission denied" means, what "root" means, and how you're supposed to magically decorate commands like this that require administrative permissions. So I can fix it. But anybody with less knowledge than me? Would be totally, totally, totally lost at this point if he hadn't already been lost.

    Anybody less geeky wouldn't have been using the command line to install MongoDB. They would be using the GUI package manager to install some GUI app. Nobody has any use for something like MongoDB without taking the time to learn it, so you are kind of out on an obscure ledge. That said, while "Are you root?" Is generally enough for most people to realize they need to be running as root for it to work, I think it's perfectly fair to suggest that the error message could be clearer. The only caveat is whether or not somebody who is so unfamiliar with the system should be installing packages on the command line in this way? You can potentially break your computer using tools like apt. Having a certain expectation of education is actually entirely appropriate.

    @blakeyrat said:

    Here's the point where I hit the Twitters and got the advice: don't use mongodb-10gen even though that is what the official installation instructions written by the company that wrote the software says to do, instead just look for the package with the extremely intuitive command "apt-cache search mongodb". Because obviously when you're searching for something, you want to cache...? it first...? I dunno whatever.

    I actually think you have made an excellent point here. Many package managers (port, yum, brew, etc.) have "install" and "search" as things for a single utility to do. Apt separates the functionality into several different utilities (apt-get, apt-cache, dpkg) and I agree 100% that the distinction isn't very obvious at all. Even as somebody who understands apt reasonably well, I still often try to use apt-get to search for something and get an error.

    @blakeyrat said:

    So that finds it, now I need to know what version it installs. Because for all I know it's 3 years out-of-date and useless to me. My Twitter contact says, "well try installing it, it'll tell you the version, and you can hit yes or no."

    And to be a bit blunt, this is where just sitting down and reading the manual is sometimes more effective than trying to twitter about your angst. Or even just glance at the output of "apt-cache --help" If you google apt-cache, the first result is the manual page for it. You just found out about this new utility, and you aren't sure what it does. You can choose to A) learn about it. B) tweet about it.



  • @blakeyrat said:

    Yes but unfortunately there's this nasty double-standard where, whenever a distro does something good it's credited to "Linux", and whenever a distro does something bad, it's "well that's bad but at least Linux isn't affected". It's this nasty double-standard thing that goes on.
     

    I know this double-standard exists, but frankly if it sucks balls, it sucks balls. It doesn't matter if it's a crack-riddled skank or a mortgage-busting "escort". Your nadges are still being sucked.

    @blakeyrat said:

    Anything that gets me to the "reward" quicker allows me to move on to something else and makes me more productive. You're actually arguing AGAINST usability, AGAINST efficiency here. That's ridiculous.

    No, I'm arguing that for something to be usable, you need to be able to use it, which means an understanding of the underlying concepts. Most graphical stuff is discoverable, much command-based stuff isn't, but that doesn't make it any less usable - it just means there's more effort involved for you, for your particular position. As others have pointed out, they already knew the concepts behind apt so for them it was much more efficient to type in two commands.

    @blakeyrat said:

    Fuck, an idiot could read your paragraph there as "wow we made mongodb way too easy to install, we need to add more hoops to jump through!"

    Possibly. However, I read your original rant as "I don't know how apt works and am receiving meaningless error messages, and there's no guidance about how to use sudo - why should I have to understand all this stuff to install a product?" I don't disagree that there's hoops, just that your lack of familiarity with those commands have introduced many new hoops, and it's a bit unfair to blame that on mongodb or Linux per se.

    @blakeyrat said:

    Good to know unusable software also has unusable documentation. And people like this OS?

    That wasn't what I said. Some usable software has poor-quality documentation, but that doesn't mean the products cannot be used - just that people shouldn't take the documentation as gospel truth. Hell, I'm sure you've come across undocumented features or discrepancies between what's written and how the product can be used.

    My point was that the quality of documentation varies greatly, and yes - I like the OS because I feel more comfortable and productive with it. I have a feel of what works and what doesn't - most of my work involves changing a config setting or two, reloading the service (daemon) then checking its logfiles whilst testing the service. I know the author-supplied documentation may be rough around the edges (and that's being polite - some is utter shite) but that doesn't stop me from using it. If I put in enough effort, I'll come across someone's blog article or a forum post that contains further details of note. But I accept that it's not a perfect world, that the open-source community doesn't owe me anything, and I'll use their products, caveat included.

    @blakeyrat said:

    The CLI is difficult to use because the people who build it and like it have no concept of usability, they don't do user testing, they don't think about holistic user experience, they're lazy, etc.

    But isn't this because the "users" in the CLI world tend to be informed geeks and/or sysadmins, and not novice users? I have a different mindset when using the CLI than using a graphical tool - I expect the latter to provide me with a wonderful front-of-house polished service but the former is the back-kitchen stuff where I've got greater flexibility and control and yet the risk of burning/cutting myself.

    The core premise of your argument is that the CLI is unusable. I'm simply proposing that it's used in a different manner by a different audience.You may find it difficult to use, but plenty of others don't.

    Look, we can argue these points forever and a day: there's definitely some we agree on and others where we're both equidistant from an arbitrary fence, arguing what colour it is simply because that's the colour we see on our respective sides. At the end of all this you managed to get the product installed and working, so you've achieved your goal. Perhaps you could report your experiences to the more appropriate people (mongodb document authors) so that updated documentation will assist the next person and help avoid the frustration you encountered.



  • @blakeyrat said:

    When you say "Linux CLI is great!" are you really just saying, "I know Linux CLI really well!"
     

    Yes.

    Well - speaking personally - I am. I won't evangalise the CLI, but I'm more familiar with it than graphical tools (Windows, Netware, *nix) and have found myself to be more productive at the command line. I understand it's not for everyone, but (for me at least) I agree with your statement.



  • @blakeyrat said:

    You should be spending every minute of every day thinking to yourself, "how could this be made better?"
     

    So, let's call you out on this one: how could the install of mongodb be made better?

    (no, this isn't "put your money where your mouth is". I know you write damn good bug reports and you've got a good eye for how some apps could have bene vastly improved, so I'm interested in knowing your expected process workflow.)



  • @Cassidy said:

    My point was that the quality of documentation varies greatly, and yes - I like the OS because I feel more comfortable and productive with it. I have a feel of what works and what doesn't - most of my work involves changing a config setting or two, reloading the service (daemon) then checking its logfiles whilst testing the service. I know the author-supplied documentation may be rough around the edges (and that's being polite - some is utter shite) but that doesn't stop me from using it. If I put in enough effort, I'll come across someone's blog article or a forum post that contains further details of note. But I accept that it's not a perfect world, that the open-source community doesn't owe me anything, and I'll use their products, caveat included.

    You "feel" more productive, but are you more productive? Software products shouldn't be designed based on "feel". You need to measure and study them, you need statistics, numbers, facts. Nobody in the Linux world does any of that work.

    @Cassidy said:

    Perhaps you could report your experiences to the more appropriate people (mongodb document authors) so that updated documentation will assist the next person and help avoid the frustration you encountered.

    I don't work for them. They're welcome to make me an offer though.



  • @Cassidy said:

    So, let's call you out on this one: how could the install of mongodb be made better?

    I already posted that. Read the thread before replying.



  • @blakeyrat said:

    You "feel" more productive, but are you more productive? Software products shouldn't be designed based on "feel". You need to measure and study them, you need statistics, numbers, facts. Nobody in the Linux world does any of that work.
     

    Few anecdotes. I once parsed a dumped userlist from a SCO server and scripted a load of account creation statements (NET USER) to run on a new Windows server install. It took me 10 mins to write the script and another min to run it - the other admin was manually creating accounts and took the best part of 30 mins to complete things his end.

    Once the other engineers saw how much quicker (and consistent) the automated v manual process was, it became included as a standard part of our migrations.

    I've also changed a few fields around in a CSV file with a quick perl one-liner after someone was taking ages importing and massaging the columns in Excel.

    Other than that... I'm sure there's probably many occasions where using a GUI tool easily beat my commands. But then I had fairly good working knowledge of those GUI tool and could race through them on muscle memory alone.



  • @Cassidy said:

    Few anecdotes. I once parsed a dumped userlist from a SCO server and scripted a load of account creation statements (NET USER) to run on a new Windows server install. It took me 10 mins to write the script and another min to run it - the other admin was manually creating accounts and took the best part of 30 mins to complete things his end.

    So he took 30 minutes to do a task that has to be done once a... what? Year? 5 years? 15 years? And that is the example that demonstrates its productivity? "I saved 19 minutes, which averages out to 1.5 minutes per year." Seriously? This is what you open with?

    @Cassidy said:

    Other than that... I'm sure there's probably many occasions where using a GUI tool easily beat my commands.

    How many? Does it outweigh tasks that go the other way 'round? I can guarantee for me it does, by a million percent*. And that's not even to mention the hundreds of tasks I do every day which are virtually impossible to do in a CLI-- I spent today doing linear editing of videos, for example.

    *) NOTE TO PEDANTIC DICKWEEDS: I did not actually count it



  • @boomzilla said:

    This is simply human nature and, uh, reality. While there probably is a much better system, it may or may not be worth it to replace everything currently in existence, not to mention obsolete all of the knowledge that exists all over the place. For the readers who like to imagine things, this isn't an argument saying that we shouldn't try to improve things, no matter how much you want it to be that.

    Fair enough. I can understand if you have to stick with sub-par solutions due to this being the real world. What I can't understand is actually praising this as the superior thing and selling it as one of the prime features of Linux.


  • ♿ (Parody)

    @blakeyrat said:

    I can guarantee for me it does, by a million percent*. And that's not even to mention the hundreds of tasks I do every day which are virtually impossible to do in a CLI-- I spent today doing linear editing of videos, for example.

    But your example is clearly absurd! Normal users don't do linear video editing! NO ONE WAS TALKING ABOUT LINEAR EDITING OF VIDEOS. Why did you even bring that up?

    Sorry, just trying out the blakeyrant format.

    @blakeyrat said:

    So he took 30 minutes to do a task that has to be done once a... what? Year? 5 years? 15 years? And that is the example that demonstrates its productivity? "I saved 19 minutes, which averages out to 1.5 minutes per year." Seriously? This is what you open with?

    It also saved the hours of investigation and remediation that would have to happen later due to data entry errors, of course. But, good for you, with your No True Scotsman, Productivity Edition! Don't you have an email inbox to clear out?!



  • @blakeyrat said:

    You "feel" more productive, but are you more productive? Software products shouldn't be designed based on "feel". You need to measure and study them, you need statistics, numbers, facts. Nobody in the Linux world does any of that work.

    Some things really do take work. I remember trying to learn regular expressions (admittedly with a version of BBEdit that forced greedy matching, which was truly TRWTF) and often times I'd spend far more time trying to get a working regular expression than it would have taken me to edit the text by hand. And then I'd give up on the regex and edit the text manually anyway. I never gave up until I had basic regular expressions mastered, and I am always glad that I did.

    The problem with GUIs is that they're quite limited in expressiveness: they're relatively discoverable, but there's only so much that you can do with clicks, drags and dialogs. The more you want to be able to pull off, the more you'll head towards the concretion that is Windows 8's Explorer ribbon. And that still doesn't have a fraction of the potential tasks you might want to achieve.

    Microsoft had this argument with Exchange 2007: is the GUI or CLI more powerful? They chose CLI, which means that a lot of simple tasks (e.g. export per-user storage consumption as CSV, trivial in 2003's System Manager) now involve scouring terrible Microsoft documentation and scrutinising blog posts trying to piece together a working PowerShell command to do it, which you'll forget in five minutes. On the other hand, PowerShell gives you the flexibility to issue all kinds of batch processing instructions that remove the need to click through dialog boxes tediously for hours, which you had no choice over before.

    Unfortunately you need PowerShell for way too much of the functionality in Exchange 2007 and 2010, as all the useful commands got omitted from the dreadful new UI. Neither the GUI nor the CLI is the be all and end all of interfaces, and they should be far more tightly integrated than they are now. A good UI does take a lot of work!



  • @Sir Twist said:

    Much like Windows does for Vista and later. Except Windows is smart enough to do the equivalent of “Hey, shithead, you forgot to sudo, should I do it for you?” or “Hey, shithead, you’re not a sudoer, but if you have a login that is, I’ll do it for you.”

    But, somehow, this makes Windows stupid and lame, and Mac OS and Linux k-rad kewl.

     

    Oh, yes. Windows is great at putting dialogs at the user's face all the time, and them blamming the user when he doesn't read them anymore and clicks on the wrong button.

    Guess what, sudo is a security feature. If you give sudo rights to malicious code, your computer is owned, that's why the user must initiate it. If you don't like to type sudo all the time, log as root (and remember to not do anything stupid).

     



  • @Daniel Beardsmore said:

    The problem with GUIs is that they're quite limited in expressiveness: they're relatively discoverable, but there's only so much that you can do with clicks, drags and dialogs. The more you want to be able to pull off, the more you'll head towards the concretion that is Windows 8's Explorer ribbon. And that still doesn't have a fraction of the potential tasks you might want to achieve.

    That's only a problem with bad GUIs. The problem here is that most GUIs are bad. Because all software is bad.


  • ♿ (Parody)

    @PSWorx said:

    Fair enough. I can understand if you have to stick with sub-par solutions due to this being the real world. What I can't understand is actually praising this as the superior thing and selling it as one of the prime features of Linux.

    Well, there's certainly a difference between "ideal" and "better than the alternative." That's not to say that blakeyrat doesn't have a point about being complacent about what exists and not challenging the status quo. Ultimately, there are no solutions, just trade offs. There are certainly a lot of parts of it that suck or could be a lot better, and drawbacks from the overall paradigm, but denying that there are any redeeming / useful / powerful aspects just makes you sound ignorant and just as much of an anti-fanboi as any rabid fanboi who always uses a dollar sign when spelling Microsoft.



  • @blakeyrat said:

    So he took 30 minutes to do a task that has to be done once a... what? Year? 5 years? 15 years?
     

    Every week or two. We were migrating a load of customers off SCO Tetra systems to a Windows-based SAGE financial system, and everything was a time-consuming manual system. I automated a lot of it, which didn't reduce the time a great deal, but did free up the engineers to perform other tasks.@blakeyrat said:

    How many? Does it outweigh tasks that go the other way 'round?

    At a quick count... most SFTP, logfile analysis, mysql and mail server stuff I do tends to be command-driven. I mean, I can guarantee for me the tasks I do in a CLI could easily be done in some graphical tool, but I don't know what the GUI tool is and I don't feel it's worth investing the time and effort into installing some new GUI tool just to modify and retrieve files held on remote servers.

    As an aside: I downloaded many of your youtube vids using a command line python downloader because it was easier for me to drop those URLs into a file and let it chug away in the background on a server of mine than to right-click then pick "save as" for each video in a browser on this netbook. Then again, that server has a faster connection to the internet than this netbook at the time.



  • @Cassidy said:

    At a quick count... most SFTP, logfile analysis, mysql and mail server stuff I do tends to be command-driven. I mean, I can guarantee for me the tasks I do in a CLI could easily be done in some graphical tool, but I don't know what the GUI tool is and I don't feel it's worth investing the time and effort into installing some new GUI tool just to modify and retrieve files held on remote servers.

    What about the rest of the world? The 99.999% of us who don't maintain Unix servers for a living? Fuck everybody who isn't you? Is that the attitude?

    @Cassidy said:

    As an aside: I downloaded many of your youtube vids using a command line python downloader

    I don't recall giving you permission to download them and YouTube sure as fuck didn't.

    @Cassidy said:

    because it was easier for me to drop those URLs into a file and let it chug away in the background on a server of mine than to right-click then pick "save as" for each video in a browser on this netbook.

    Oh well I'm glad you know you optimized your video piracy so well. I'm done with you, go away.



  • @blakeyrat said:

    I can guarantee for me it does, by a million percent*. And that's not even to mention the hundreds of tasks I do every day which are virtually impossible to do in a CLI-- I spent today doing linear editing of videos, for example.
    Jeezus Pete you are an asshole.

    No one mentioned video editing.  Hello!!  I wouldn't edit a video using a command line!  I wouldn't edit a JPG or a BMP or a GIF or any other graphical file using a command line!  I have had command lines generate graphs, but I don't edit the resulting file after that.  GUIs have a purpose and CLIs have a purpose.  GUIs have certain tasks at which they excel; CLIs have certain tasks at which they excel.  There are several tasks at which either interface can be used to varying degrees of ease of use to accomplish the same thing.

    Here's what this thread boils down to:

    1.  You have much practical experience with Windows.

    2.  You have little practical experience with a Ubuntu Linux distribution (which is based off Debian).

    3.  You already knew the foundations of working with Windows so you were able to install MongoDB on it with relative ease.

    4.  You do not have the foundations necessary to work with the Ubuntu Linux distribution, so you scream that it wasn't as easy as Windows even though it's your own damn fault -- you haven't put in the time to understand the tools and how they work.

    5.  You say that a Ubuntu Linux distribution does not need to be like Windows, yet you bitch about how Ubuntu Linux is not like Windows.

    6.  When pointing out that a Ubuntu Linux distribution has a feature that Windows doesn't have, or that regular users find to be better, you don't want to discuss it and tell them to piss off.

    TRWTF is you, sir.  Learn the tools before you start using them.  There are enough people around here to help you if you need it.  Also, you never answered my question about why you even needed to install it under Linux if you have it working under Windows.

    Finally, the second major WTF:

    @blakeyrat said:

    I don't work for them. They're welcome to make me an offer though.

    You're not willing to send them a five minute e-mail:

    "Dear MongoDB maintainers, I had a problem using your instructions to install MongoDB.  I ended up getting the default installation from the Ubuntu distribution.  To do that, I had to type 'sudo apt-get update' and 'sudo apt-get install mongodb'."

    If you don't like using Ubuntu Linux (or any other Linux distribution), fine.  That's your right.  Don't use it.  But if you decide to use it (on your own time or by having a job that requires its use) then that's your own fucking problem.  We're willing to help you but don't come bitching to us just because it's different and you don't know what you're doing.



  • @nonpartisan said:

    We're willing to help you but don't come bitching to us just because it's different and you don't know what you're doing.

    That's not the point of this thread at all. I never asked for your help. And my bitching has nothing to do with me not knowing what I'm doing.

    Somehow over the course of the last few days, you've literally forgotten what this thread is about. If you're not going to talk about the thread, then I'm done. Go away now.

    BTW, this has happened multiple times in this forum, where people are all like, "hey you asked for my help and now you're a jerk for not taking it!" when it turns out I'd never asked for anybody's help in the first goddamned place. I clearly remember the same thing happened in the thread where I was talking about browsers killing connections during BeforeUnload handlers. Why does this happen? What's wrong with people here? God it's infuriating.


  • ♿ (Parody)

    @blakeyrat said:

    What about the rest of the world? The 99.999% of us who don't maintain Unix servers for a living? Fuck everybody who isn't you? Is that the attitude?

    No, that's not the attitude that Cassidy was displaying, but it is your standard strawman. It's comforting to see familiar faces.

    @blakeyrat said:

    And my bitching has nothing to do with me not knowing what I'm doing.

    Very clever. You've just gotten very meta by missing the point that you were totally ignorant about using something and still haven't realized it.

    @blakeyrat said:

    I clearly remember the same thing happened in the thread where I was talking about browsers killing connections during BeforeUnload handlers. Why does this happen? What's wrong with people here? God it's infuriating.

    Yeah, seriously. Why do you keep coming to a discussion forum when you hate discussion so much?



  • @blakeyrat said:

    What about the rest of the world? The 99.999% of us who don't maintain Unix servers for a living?
     

    What about them? I was answering your question about where I felt more productive and had some metrics to back up my experiences, but you keep pushing goalposts.

    @blakeyrat said:

    I don't recall giving you permission to download them and YouTube sure as fuck didn't.

    Fair point. I'll unsubscribe from your channel, then. I didn't realise permission was required to consume your content; I just presumed being on youtube it was freely given to watch.

    @blakeyrat said:

    Oh well I'm glad you know you optimized your video piracy so well.

    Eh? Where did this piracy bit come from?



  • @blakeyrat said:

    And my bitching has nothing to do with me not knowing what I'm doing.
    This, right here, is the problem, and you're too fucking ignorant or proud to recognize it.  I'll still give you the benefit of the doubt and say it's ignorance.



  • @Cassidy said:

    Fair point. I'll unsubscribe from your channel, then. I didn't realise permission was required to consume your content; I just presumed being on youtube it was freely given to watch.

    You don't need permission to consume it. I don't mind if you download it either. But I don't appreciate you downloading it (something you do NOT have permission to do, not from me and not from YouTube) without even giving the common courtesy of asking first.

    @Cassidy said:

    Eh? Where did this piracy bit come from?

    Uh the previous sentence where you admitted to it?



  • @Cassidy said:

    Eh? Where did this piracy bit come from?

    Brainworms.



  • @nonpartisan said:

    @blakeyrat said:
    And my bitching has nothing to do with me not knowing what I'm doing.
    This, right here, is the problem, and you're too fucking ignorant or proud to recognize it.I'll still give you the benefit of the doubt and say it's ignorance.

    My pride or ignorance has nothing to do with the point of this thread which is, simply put: installing MongoDB on Linux is too hard and it shouldn't be. If you think my being ignorant or prideful has anything to do with the thread, you're in the wrong thread.

    The problem is you (and apparently some other people here) have literally forgotten what this thread was about over the past few days, and now you're off in la-la-land and I'm sitting here confused as fuck ("when the shit did I ask anybody for help?") and we're getting nowhere slow.

    If you're not going to discuss the thread, go away. You're wasting everybody's time.



  • @blakeyrat said:

    You don't need permission to consume it. I don't mind if you download it either. But I don't appreciate you downloading it (something you do NOT have permission to do, not from me and not from YouTube) without even giving the common courtesy of asking first.

    Unfortunately I can't consume it without the content being downloaded in some form.

    I'll miss it, but if it's going to cause you some grief it's probably just safer if I unsubscribe.

    @blakeyrat said:

    @Cassidy said:
    Eh? Where did this piracy bit come from?

    Uh the previous sentence where you admitted to it?

     

    So... anyone who watches youtube videos is a pirate? Or anyone who uses a downloader for offline viewing is a pirate?

    I admit I was able to enjoy your EDF videos in smooth 1080p without any jerkiness or buffering interruptions, thanks to "youtube-dl". Sorry if that defines me as a pirate in your book, but you can rest assured that I won't be enjoying another of your premission-required videos.



  • @blakeyrat said:

    . . . simply put: installing MongoDB on Ubuntu Linux when I don't know how to use the system tools is too hard and it shouldn't be.

    You still haven't said why you're having to install it under a Linux-based system when you have it working on WindowsWhy did you even put yourself in this position in the first place?


  • ♿ (Parody)

    @blakeyrat said:

    My pride or ignorance has nothing to do with the point of this thread which is, simply put: installing MongoDB on Linux is too hard and it shouldn't be. If you think my being ignorant or prideful has anything to do with the thread, you're in the wrong thread.

    You're right. It totally wasn't about someone who clearly has no idea about what he was trying to do. I agree that, without understanding anything about Linux, neither my mother nor my 5 year old could probably install MongoDB.

    Your OP was like reading about someone trying to install it on Windows by downloading it via his browser, but not being familiar with the browser to understand that he had to hit enter or the "Go" button to get it to go to the MongoDB page. Then, after you downloaded it, you couldn't figure out where it was saved. Then you freaked out when you got a UAC prompt.

    I guess you would say (when the brainworms quiet down a bit) that your rant was approaching it from a naive user's point of view (and no one here disagrees with that). But, as with mathematical proofs, you have to assume a certain level of sophistication on the part of the reader (or in your post's case, the user who had so much trouble). Clearly, you don't understand the basics of the system you were using, and still are clueless about the use and nature of a Linux distribution's package management system and repositories, even though you have mentioned similar systems in the Johnny-come-lately form of the App Store.



  • @Cassidy said:

    Unfortunately I can't consume it without the content being downloaded in some form.

    Oh come on. You fucking know what I meant you pedantic dickweed asshole. YES TECHNICALLY STREAMING THE VIDEO IS DOWNLOADING IT I AM A ROBOT BEEP BEEP BEEP. "Oh robot friend when human beings say 'download' it means downloading the file and saving it on the local machine, not merely streaming it." I AM A ROBOT I DO NOT UNDERSTAND CONCEPTS SUCH AS THESE!!! Fuck.

    Like I said, I don't care if you download the video. I do care that you didn't ask permission to do so.

    @Cassidy said:

    So... anyone who watches youtube videos is a pirate?

    No.

    @Cassidy said:

    Or anyone who uses a downloader for offline viewing is a pirate?

    Depends on whether they have permission or not. YouTube doesn't grant that permission in its license, and you didn't even fucking bother to ask me for permission. So yes, you were pirating. Clear now?

    @Cassidy said:

    I admit I was able to enjoy your EDF videos in smooth 1080p without any jerkiness or buffering interruptions, thanks to "youtube-dl". Sorry if that defines me as a pirate in your book, but you can rest assured that I won't be enjoying another of your premission-required videos.

    BEING A PIRATE MAKES YOU A PIRATE. If you had asked permission, I would have said yes, and you would not have been a pirate. WHY IS THIS SO HARD! Fuck.



  • @blakeyrat said:

    BEING A PIRATE MAKES YOU A PIRATE. If you had asked permission, I would have said yes, and you would not have been a pirate. WHY IS THIS SO HARD! Fuck.

    Only you could make a mountain out of the molehill that is flattery. Seriously, you scream at people because they need permission to do something that you don't care if they do it? Man alive …



  • @blakeyrat said:

    My pride or ignorance has nothing to do with the point of this thread

    Others keep telling you: your ignorance of Linux concepts has everything to do with the thread.

    @blakeyrat said:

    simply put: installing MongoDB on Linux is too hard and it shouldn't be.

    You found it too hard to install MongoDB on Linux, ergo it must be too hard to do. For everyone. It can't possibly be a lack of knowledge and skills on your end. It's definitely Linux's fault.

    For shits n giggles, I'm gonna have a crack at installing it (later on this week, if I get the chance). But I won't post how easy it is, and how easy everyone else will find it, and anyone who finds it too hard must be a simpleton. I'm not that ignorant to believe my experiences represent the norm.



  • @blakeyrat said:

    @Cassidy said:
    Unfortunately I can't consume it without the content being downloaded in some form.

    Oh come on. You fucking know what I meant you pedantic dickweed asshole.

     

    sigh

    No I meant th

    at watching any youtu

    be video on the speed pipe I ha

    ve at home and work will 

     

    stutter and break up

    .. unless I reduce the size and quality down. So I make use of downloaders to pull down streamed content so I can watch interrupt-free, and I was chuffed to see that your videos were available in 1080p, so leeched the higher-quality ones rather than trying to watch a 4" x 3" version.

    @blakeyrat said:

    BEING A PIRATE MAKES YOU A PIRATE. If you had asked permission, I would have said yes, and you would not have been a pirate. WHY IS THIS SO HARD! Fuck.

    Then please accept my profound and sincere apologies for pirating your content, and I promise I'll never view another one of your videos again. You and Rantis can sleep soundly, knowing your content is safe.


Log in to reply