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



  • @Daniel Beardsmore said:

    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 …

    There's this thing called "respect".



  • @Cassidy said:

    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,

    Fine, but why didn't you ask first?

    To repeat myself for seemingly the 574th time, I don't care if you download the videos, I do care that you didn't ask me first.

    @Cassidy said:

    and I was chuffed

    What the fuck...? I don't want to hear about the sexual shit man. Fuck.



  • @Cassidy said:

    @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.

    I suppose. I was making more specific comparisons I suppose. Every distro does have variants on how they start services (init.d, upstart, Launchd). Although I use a OSX system, and admin (sorta) a CentOS server for work and run a personal Ubuntu server.. they really aren't that different. 99% of the tasks are the same, just catering to where they differ. Using "service lighttpd restart" rather than "restart lighttpd"... but the process of setting up the software is the same (the launch script differs.. big fucking deal).

    Debian-based, Fedora-based and OSX are all pretty similar for 99% of tasks. It's really not that hard at all.



  • @blakeyrat said:

    Fine, but why didn't you ask first?
     

    Because I honestly didn't think it mattered to you. As long as your subscriptions and viewer impressions rose, and you received feedback about that episode, I didn't think the way in which I viewed it was going to cause an issue.

    @blakeyrat said:

    To repeat myself for seemingly the 574th time, I don't care if you download the videos, I do care that you didn't ask me first.

    Yes, I'm aware. And to repeat myself: it's a moot point; I won't run the risk of your ire by coming anywhere near your content. I'll just steer clear of your channel - it's safer that way. 



  • @blakeyrat said:

    I don't work for Ubuntu
    you also don't work for Norton, Community Server, Mac OS X, Google Chrome, or gasoline. Because they aren't companies.



  • @Cassidy said:

    Because I honestly didn't think it mattered to you.

    YOU DIDN'T ASK! THIS IS THE THING I AM COMPLAINING ABOUT!!! AND IT DOESN'T MATTER TO ME!!!!!

    Ugh, whatever. I'm hitting unsubscribe.



  • @gu3st said:

    Debian-based, Fedora-based and OSX are all pretty similar for 99% of tasks. It's really not that hard at all.
     

    You're right, I guess I was getting into pedantic dickweed territory with the scope of changes.

    I think if you are familiar with only one distro or Unix flavour and you switch to another, the differences can be quite staggering. After spending time in SunOS land I was stunned at just how much AIX differed.

    After getting to grips with those both, I found HP-UX fairly easy to get on with (AIX minus a few features) then picked up SCO quite easily. I think the more differences you're exposed to, the more similar they all seem. New old thing?

    Similarly, after learning the RH and Fedora way, SuSE and Mandrake felt like derivative work. Well, they are, but the apple hasn't fallen too far from the tree. It took me a bit to get to grips with apt over yum when moving into the Debian world, but I found ubuntu fairly easy after that, and Mint quite a doddle compared to ubuntu. CentOS just feels like an older and more mature Fedora that's outgrown some fun packages and "doesn't do that thing anymore", so I have to coerce it into trying out other repos, knowing I may be leading it astray in an effort to install the packages I want and not the ones the stuffy official repos demand I use.

    In all my experiences... the more things change, the more things all seem the same. I seem to reflect with "fundamentally... this ain't all that much different"



  • @sandals said:

    @Socks said:
    Oh by the way, your garden isn't featured in this month's Purple Dildo Magazine because I didn't get a chance to send the photos in.

    For the LAST TIME, I don't give a shit about my garden and you have every right to take AS MANY FUCKING PICTURES AS YOU WANT, but keeping the photos private and NOT REDISTRIBUTING THEM WITHOUT MY PERMISSION is a breach of my trust. If you want a photo of my flowers for your own consumption after I have given you implicit permission, YOU NEED TO FUCKING ASK ME but I don't care.

    Crappy metaphor'd that for you



  • @Cassidy said:

    @gu3st said:

    Debian-based, Fedora-based and OSX are all pretty similar for 99% of tasks. It's really not that hard at all.
     

    You're right, I guess I was getting into pedantic dickweed territory with the scope of changes.

    I think if you are familiar with only one distro or Unix flavour and you switch to another, the differences can be quite staggering. After spending time in SunOS land I was stunned at just how much AIX differed.

    After getting to grips with those both, I found HP-UX fairly easy to get on with (AIX minus a few features) then picked up SCO quite easily. I think the more differences you're exposed to, the more similar they all seem. New old thing?

    Similarly, after learning the RH and Fedora way, SuSE and Mandrake felt like derivative work. Well, they are, but the apple hasn't fallen too far from the tree. It took me a bit to get to grips with apt over yum when moving into the Debian world, but I found ubuntu fairly easy after that, and Mint quite a doddle compared to ubuntu. CentOS just feels like an older and more mature Fedora that's outgrown some fun packages and "doesn't do that thing anymore", so I have to coerce it into trying out other repos, knowing I may be leading it astray in an effort to install the packages I want and not the ones the stuffy official repos demand I use.

    In all my experiences... the more things change, the more things all seem the same. I seem to reflect with "fundamentally... this ain't all that much different"

    Hm. I haven't had the pleasure (misfortune?) of needing to manage too many different *nix distributions. I've pretty much stuck to the 3 more common *nix's (for consumer/normal people anyways. I'm sure in super-server land they're not the majority). Ubuntu (debian), CentOS (Fedora.. yum actually got useful!) and Mac OS X.



    I always did find Solaris to be intriguing.. but I never ever got it installed or did anything to it. Sun had some pretty interesting/random UI concepts at one point that never came to anything.

    Also.. mentioned from this thread.. FreeBSD debian! Really bizzare, but really cool. I wonder if I could coax my VPS provider to deploy an instance of FreeBSD Debian for my own chaos.

    Nevermind the fact that my administration tasks are either managing a LLMP (Linux, Lighty, Mysql, PHP) stack, LAMP, or MLMP (Mac, Lighty, Mysql, PHP) stack. I have managed to somehow setup a Windows server running PHP in IIS.. but that was frustrating (somehow MySQL kept dying during the install process.. for no good reason... and it never explained why it died.. other than it did.) Random brute force of uninstall/reinstall MySQL a few times managed to coax it into installing the full package.



  • @PSWorx said:

    @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.

    Just how much structure do you need? Many useful programs can format their output in a trivial way; that's somewhat the point of the "do one thing only" philosophy. OTOH there isn't anything that restricts you to just the CLI if you really need to do something complex; there are plenty of programs that pass around information in disk files, and plenty of existing formats which can solve your packaging problem.

    @PSWorx said:

    • - 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.

    Unlikely to be significant, and the previous response also applies.

    @PSWorx said:

    • - 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.

    History suggests that the first point doesn't seem to be as painful for developers are you're making it out to be. The second point is speculatory.

    @PSWorx said:

    • - Corollay: Every client of your protocol probably parses it subtly different, depending on which particular regex the developer felt like using.

    s/felt like using/needed to use/ Besides which, who cares? I can't control what the consumer does with the data I produce, no matter what format I've presented it in.

    @PSWorx said:

    • - 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.

    "their own rules on string parsing" is a red herring. To use a tool correctly, you have to know how it works, whether that involves parsing output from the CLI or linking against the API. Moreover, multiple unrelated tools interacting will always have a chance of failing to work as expected.



    You forgot something quite important:

    • + Output can be trivially consumed over the network.

    @PSWorx said:

      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.

    That's reasonable, but now you've burdened the programmer with the need to reconcile two different ways of viewing the protocol, as well as increased your own maintenance load.

    @PSWorx said:

    • + 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.

    An explicit description is nice, but it still doesn't tell you anything about how to use it correctly. Moreover, your header files and type libraries may be less than useful when the client is written in a different programming language than the library. The CLI offers a simple and standard way to access your output.

    Keeping your old API unchanged is also nice, until you realize that you really do need to fix it, at which point you're in the same boat as breaking the CLI. As for adding new functions, how is that going to break the CLI? Legacy clients are not going to invoke your new functions, because those functions didn't exist at the time the clients were written. They shouldn't be receiving the output from your new functions either.

    @PSWorx said:

    • + 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!

    Please leave the idiotic rants to blakeyrat.

    @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?



  • @Daniel Beardsmore said:

    Seriously? The new Event Viewer is horrible. I couldn't imagine a more sluggish behemoth – Linux lets you search or follow logs without needing to sit there while the bloated new UI loads every log entry going back to the extinction of the dinosaurs into RAM first.

    So listen to the API then if you want to form your own analytics. The event viewer is just a UI, much like tailing the logs, except you don't have to "watch carefully" to catch the patterns since they're nicely graphed for you.



  • @Ben L. said:

    Lemme break it down: tail prints the last N lines of a file to standard output. Adding -f (--follow) makes it continue to read until stopped. grep does searching. Those are basic Linux command line tools. You should know them, along with less, man, and :(){:|:&};:

    And when I'm presented with a default prompt on the bash CLI I'm supposed to know this how? This is the whole issue of discoverability, there is none.

    Even automated phone menus tell you where you are and what options you have, the CLI might tell you where you are...if you're lucky. Hell, you're the user, you should know where you are godammit! :P



  • @blakeyrat said:

    Oh what a professional message to put in your installation software, now I know I'll have a well-tested and bug-free product made by mature developers and not aspie 13-year-olds.
      

    That's called an easter egg (and an old one) and, yes, some of us like the fun of seeing one from time to time. I don't think concurrents, like microsoft, pay 13 years olds to build their product. But still, there are easter eggs in lots of them too. I prefer a tool that just says "moo" to a spreadsheet application that comes with an embeded filght simulatore hidden in it!

     

    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.

    I don't see why a lambda user would be trying to install and manage mongodb on a cloud server... You are clearly doing admin job and complaining that your granny couldn't do it. Also, there is a fucking graphical installe for ubuntu that hide all this mess. Just search for mongodb in it an check the "install" box!

     


  • ♿ (Parody)

    @Cassidy said:

    @blakeyrat said:

    Fine, but why didn't you ask first?
     

    Because I honestly didn't think it mattered to you. As long as your subscriptions and viewer impressions rose, and you received feedback about that episode, I didn't think the way in which I viewed it was going to cause an issue.

    I'm not sure I'd categorize it as piracy, but you do appear to be violating YouTube's TOS:
    @YouTube said:


    3.C. You agree not to access Content through any technology or means other than the video playback pages of the Service itself, the Embeddable Player, or other explicitly authorized means YouTube may designate.

    ...

    5.B. Content is provided to you AS IS. You may access Content for your information and personal use solely as intended through the provided functionality of the Service and as permitted under these Terms of Service. You shall not download any Content unless you see a “download” or similar link displayed by YouTube on the Service for that Content. You shall not copy, reproduce, distribute, transmit, broadcast, display, sell, license, or otherwise exploit any Content for any other purposes without the prior written consent of YouTube or the respective licensors of the Content. YouTube and its licensors reserve all rights not expressly granted in and to the Service and the Content.

    So he's definitely correct about this (aside from maybe the designation of your offense as piracy).


  • ♿ (Parody)

    @Soviut said:

    @Ben L. said:
    Lemme break it down: tail prints the last N lines of a file to standard output. Adding -f (--follow) makes it continue to read until stopped. grep does searching. Those are basic Linux command line tools. You should know them, along with less, man, and :(){:|:&};:

    And when I'm presented with a default prompt on the bash CLI I'm supposed to know this how? This is the whole issue of discoverability, there is none.

    False! There are generally two ways to have discoverability on the CLI. Firstly, you check out the man page. Some are better than others. But everything installed on your system should have one by convention.

    Secondly, there is tab completion. This varies widely by tool, but bash (don't know about other shells) has the ability to have program specific completion rules. Some programs have this, some don't. I use it all the time with ant, where it autocompletes command line switches for ant itself, targets from the ant build file, etc.

    So, knowing two general things, you have now learned about discoverability on the CLI. No one except for blakey's straw men (and possibly yours) is saying that the CLI is as or more discoverable than a decent GUI. And as for finding what's available on your system, well...looking through /usr/bin is roughly analogous to looking through stuff in the start menu.

    The last one on Ben L's list is best learned by experience. It teaches you several things.



  • @blakeyrat said:

    This is the typical Linux user experence? I'd have a more pleasant experience if you just hired a midget to kick me in the crotch for an hour.




    I also get annoyed using the linux CLI but to be fair you could say its because its TOO good and I'm just not up to its standards.



    You see, I've always worked on Windows and whilst I use nix boxes at home and my last job involved supporting a lot of Suns its not something I do every day.



    A while back my boss had some money left over in his training budget and said "Here is a list of courses, pick some you'd like to go on.". Not really wanting to go on any of them I picked a couple of nix shell scripting refresher things and grabbed my o'reilly books.



    With the books in front of me I was flying, setting up complex pipes to do all sorts of clever things and it all worked great! Of course back in the real world, the most I'd ever do is install some packages and toggle the odd network adapter, not having any real use for it day to day I soon forgot it all. When I do want to do something fancy in nix, its back to the book again.



    The linux CLI can be complex and combined with the underlying nature of linux can be quite frustrating but I've seen the Sun guy I used to work with equally frustrated and perplexed by a batch file.



    The way I've always described it to people when they ask "Should I try this Linux thing I've heard about on my home PC?" is to use the tried and tested PC-Automobile comparison.

    Windows is like an SUV, its still a car underneath but its wrapped up in such a way that you don't have to worry about that, you just sit in the comfy seat, put your coffee in the cup holder and drive. The dealer takes care of the technical details when it needs servicing and parts so you don't have to worry.

    Linux is like a race car, when put together properly all the parts work in perfect balance to produce a fast efficient tool for winning a particular race. However when you change anything it has knock on effects and the whole system has to be carefully balanced again.



    Obviously with the rise of distros aimed at the home nix is trying to become Windows but its still the race car underneath, I've used ubuntu as a desktop PC and even when I'm not doing anything technical I run into updates that break dependencies and the like, just recently I had to visit my father to sort out just such a problem and of course found myself back at the command line again poking apt.



    I've found that you can consume windows from the outside in like an apple, you don't need to know about the internals, you can just use it and learn about them as you go, the average user never needs to touch a powershell script or know what a registry is.



    Linux is more like a banana, you can even start consuming it until you peel off the skin and start on the inside. This is very frustrating when nix isn't your day to day speciality because when things break its like having to understand the interactions that take place at cell membranes before you can apply a band aid to a cut.



  • @gu3st said:

    I always did find Solaris to be intriguing.. but I never ever got it installed or did anything to it.

    Sun made Solaris free from v8, and it runs on the x86 platform so download and install on a spare PC. The installer's quite a doddle, too - one version gave you a tetris game to play during the install. Another release fired up a browser and let you surf whilst the installer chugged away in the background.

    @gu3st said:

    Sun had some pretty interesting/random UI concepts at one point that never came to anything.
     

    To me, their graphical tools were very "purple celestial" but some of their ideas were badly-implemented. Any new Solaris installation had a number of config settings with poor choices of defaults, and this was never fixed in successive releases. When I'd experienced HP-UX and AIX, I began to see Solaris as quite an immature Unix flavour - tools provided by default in AIX/HP-UX (and Linux) were cost options in Solaris.

    @gu3st said:

    I have managed to somehow setup a Windows server running PHP in IIS..

    I feel your pain: I did the same thing, but after getting IIS to parse PHP the next challenge was PHP connectivity to Oracle and MS-SQL Server. I learned later that those particular choices of RDBMS weren't important (they just wanted to embed some SQL in the middle of their PHP) so I advised them to look for a WAMP stack to practise development.

    Not used lighttpd - how does it compare to Apache?



  • @boomzilla said:

    I'm not sure I'd categorize it as piracy, but you do appear to be violating YouTube's TOS:

    So he's definitely correct about this.

    I have no quibble about that.

    I was only made aware of the TOS when I read that youtube were actively going after proxies and downloading sites, since it seemed to be a way to freely scrape MP3s from youtube's videos without paying for the music. TRWTF in that case is me not reading the TOS, but when I originally signed up (pre-google days) those clauses didn't exist (or rather, I don't remember seeing them).

    As stated, I've deleted the videos I've scraped, including those I haven't yet seen, apologised to Blakey for upsetting him, tried to explain why I did it, and promised not to touch his content again. I'm uncertain what else I need to do, but I've decided it's an area I'll stay away from in future.



  • @boomzilla said:

    There are generally two ways to have discoverability on the CLI. Firstly, you check out the man page.
     

    That's not what "discoverability" means. RTFM is the opposite of discoverability.

    @boomzilla said:

    well...looking through /usr/bin is roughly analogous to looking through stuff in the start menu.

    It is, however, completely analogous to browsing through /windows/, /windows/system32, and /Program Files/.

    In other words, fairly useless because of all the noise files in those folders.

     


  • ♿ (Parody)

    @dhromed said:

    @boomzilla said:
    There are generally two ways to have discoverability on the CLI. Firstly, you check out the man page.

    That's not what "discoverability" means. RTFM is the opposite of discoverability.

    Yeah, I guess. I'm not sure it's quite the opposite, which would be something with no autocomplete and no documentation whatsoever. Some programs, when invoked without any arguments, give a banner and tell you how to get verbose help. Some may supply some basic help. For instance:

    $ hg                                                                                                                                                                      
    Mercurial Distributed SCM                                                                                                                                                                            
    

    basic commands:

    add add the specified files on the next commit
    annotate show changeset information by line for each file
    clone make a copy of an existing repository
    commit commit the specified files or all outstanding changes
    diff diff repository (or selected files)
    export dump the header and diffs for one or more changesets
    forget forget the specified files on the next commit
    init create a new repository in the given directory
    log show revision history of entire repository or files
    merge merge working directory with another revision
    pull pull changes from the specified source
    push push changes to the specified destination
    remove remove the specified files on the next commit
    serve start stand-alone webserver
    status show changed files in the working directory
    summary summarize working directory state
    update update working directory (or switch revisions)

    use "hg help" for the full list of commands or "hg -v" for details

    Still, from a CLI perspective, "man $program-of-interest" is the basis of how you learn about these things. But I suppose giving the user feedback like mercurial does above is more strictly discoverability.

    It's unfortunate that blakey unsubscribed, because this is when he'd chime in to castigate me for trying to imply that a CLI is just as easy (or maybe even easier!) to learn than a GUI. Because that's what people who can't understand what they read do when they read what other people write.



  • @blakeyrat said:

    ... 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.

    The last time I did that I wanted a CLI for it, or even just a user-editable save file.



  • Wtf, where did this thread come from? I'm not going to read five pages of infantile ranting, but I still have an irrational desire to toss in my invaluable opinion. Anyone wish to summarize? Or can we just skip to the part were we talk about video games?


  • FoxDev

    @blakeyrat said:

    UAC is at least smart enough to know when you need to elevate permissions and prompt you at that time

    When you're running a GUI app, that's true. It doesn't always apply to command-line apps e.g. iisreset.exe will bail if you don't have an elevated prompt.

    The same applies to Ubuntu - if you're using a GUI version of apt (aptitude or the Software Centre IIRC), Ubuntu will present you with a UAC-style prompt.

    Methinks you're expecting the CLI to be as helpful as a GUI, which is probably expecting too much.

     



  • @boomzilla said:

    Some programs, when invoked without any arguments, give a banner and tell you how to get verbose help. Some may supply some basic help.
     

    So there are applications that provide a level of discoverable functionality. I think dhromed's point was that if the man pages and TAB key were discoverable, people would have found that out by themselves rather than you have to explain it.

    I think both dhromed and Blakey were alluding to the fact that the shell itself doesn't provide hints to a novice user. I've seen the bash under Ubuntu give some feedback with a mistyped command, suggesting I install a particular package to provide that command - but Linux, like Unix, has a required minimum knowledge level to feel familiar and confident in the shell. Windows has lowered that threshold way low and Blakey's under the impression that all applications should be aimed at this lowest common denomination - others use "my Great Aunt Sally" argument also.

    Unfortunately other devices - and life in general - doesn't work like that, and I believe for all the benefits Microsoft have bought in the IT field, they've done users a disservice with creating a culture that unskilled and untrained people should be able to successfully use any complex application on a PC without external assistance.



  • @boomzilla said:

    Some programs, when invoked without any arguments, give a banner and tell you how to get verbose help. Some may supply some basic help. For instance:
     

    That's discoverable, and it's very good. The difference is that in such a case, the program knows that it makes no sense to invoke it without paramaters, and thus says "Please, let me help you. Here are some basics.", like a little smiling cartoon character going "Hey! Hey! Here I am! This is my feature. I do this!" That is quite different from a program that doesn't work for two or three times until you decide to google it and maybe or maybe not end up with the right instruction which are probably so extensive that you need to study them for a while. It'll probably output "Bitch." when you first run it.



  • @blakeyrat said:

    So you've picked literally the ONLY application that's a counter-example to my claim. Congratulations.
    Actually, I would have said he picked the one main bit of Microsoft software that people would most want to be able to install different versions of. I can't think of many good reasons you'd want different versions of MS Office installed, short of testing, but you'd still be in a minority for testing stuff in different versions of IE. As for other MS software, you're just going further into the minority abyss where you're the only person who cares.


  • ♿ (Parody)

    @Cassidy said:

    I think both dhromed and Blakey were alluding to the fact that the shell itself doesn't provide hints to a novice user.

    Yes, I believe that, too. And I've never argued that the learning curve isn't steeper. I guess my point was that the equivalent of clicking on menus or buttons (or simply hovering over UI elements to look for tool tips) are there in the CLI, even if they aren't as easy to accidentally stumble over. They take a bit of foreknowledge and initiative. And different systems are...different.

    But even that level of GUI discoverability assumes some GUI knowledge on the part of the truly naive user. Consider, for example, Scotty talking to the mouse in Star Trek IV. I was pointing out that there are conventions in the CLI world of Linux, and looking at a man page is one of them, in some ways similar to clicking on menus to see what's there, but also like pulling down the help menu and looking through the online help manual.

    I don't expect the usual suspects to stop whining about the differences between a CLI and a GUI, but they shouldn't expect for people to stop calling them out when they make ridiculous statements, either.



  •  I began using Linux after I got a machine with Vista, but only because Vista was so horrible I had trouble doing my work. I switched back to Windows 7 as soon as it came out. Why? Because I'm a fascist corporate right-wing rat? No, because having instructions telling you to "just write this, then that, then if this happens then..." is just ridiculous. And they're wondering why they're losing the OS wars? Admittedly they have come a long way, but whenever people are too lazy to create proper installers and configuration tools it's bye-bye for me (and let's face it, any culture that thinks vi is a great editor will not win the world. Sorry, but that should be self-explanatory, really (OMG I will be torched to death now!)).



  • @arh said:

    And they're wondering why they're losing the OS wars?
     

    I'm wondering why the world believes such a war existed.

    I can understand the "server wars", and "desktop battles" (and even then that's split into "business desktop skirmish" and "home desktop OS fight") and more recently, "mobile device conflict".

    There ain't one OS to rule them all, no matter what Tolkien said. Different people, different needs, etc.



  • @Cassidy said:

    @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?


    I have not, I'll have to bookmark that and check it out. Looks interesting.



  • @blakeyrat said:

    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.

    Yes, though I haven't yet dug into Powershell, I was formally and passively educated on CMD, and while it has a lot of in-common features, it's just not as powerful, or as far reaching. The big one for me is network transparency. Net use implements some of it, but I can mount and unmount network volumes faster and easier in Bash, and use more of linux's tools once inside them. Once you move to a network drive, CMD gets a little limited. Not to the point of being useless, but definitely limited. For example, try mounting an FTP directory in a vanilla CMD.


  • @boomzilla said:

    Scotty talking to the mouse in Star Trek IV
     

    Obviously he was just a total dumbass.



  • @Monomelodies said:

  • If you're administering a Linux server from the command line, you should know your command line tools. Sorry, but that's just the way it is. Servers aren't meant to be administered by click-monkeys.
  •  

    I agree. It's like buying a new car and then complaining when you try to upgrade it yourself (instead of getting someone who knows what they're doing to do it) that the engine is too complicated and the instructions don't make sense. If you're not familiar with the internals of a car, you shouldn't be attempting to add stuff to the internals of a car, end of.

     @Monomelodies said:

    When you've passed the first step, learn the tools relevant to your current system. A Debian-based system uses APT. If you don't like it, use a RedHat based system, or even go wild with Gentoo or Slackware.

    Personally I prefer YUM instead of APT. It's for the RedHat/Fedora/CentOS type distros, and has a nice rollback feature which is missing from APT.

    @Monomelodies said:

    The error messages, IMHO, make perfect sense: the package was not found, and the file couldn't be locked. A friendly hint was even provided (are you root?). No idea why this pisses you off so much.
    Because he's a very angry man and he forgot to take his meds today.@Monomelodies said:

    @blakeyrat said:

    Linux needs to have feature-parity with Microsoft. It doesn't need to BE Microsoft.

    Let's firmly agree to disagree on THAT one. While obviously Linux has its own areas of improvement, name me one thing that Windows CAN and Linux CAN'T do. I'm sure you'll be able to find one, but I'll name you at least five in return that work the other direction.

    Definitly agree. Why make Linux behave the same as Windows? What would be the point? I can't think of any typical tasks that Windows can do and Linux can't, except for maybe work with some types of webcams, but in the grand scheme that's not a huge loss. There are loads of niche areas where one OS is better than the other, but that's not really the point.

     

     

     

     



  • @Cassidy said:

    @arh said:

    And they're wondering why they're losing the OS wars?
     

    I'm wondering why the world believes such a war existed.

    I can understand the "server wars", and "desktop battles" (and even then that's split into "business desktop skirmish" and "home desktop OS fight") and more recently, "mobile device conflict".

    There ain't one OS to rule them all, no matter what Tolkien said. Different people, different needs, etc.

     

    I totally agree. As a matter of fact, I'm usually considered a [i]kafir[/i] since I mix both Windows and OSX on a daily basis. I think the "OS wars" concept was invented by *nix-people (Mac excluded). At least, I've only heard about that term when it comes to Linux/Unix vs Windows.

    It's kind of natural, though. When I was a kid, those that had Nintendo would fight those that had Sega. We always need a war, you know..

     



  • @arh said:

    When I was a kid, those that had Nintendo would fight those that had Sega. We always need a war, you know..
     

    Peh, you young'uns.

    In my day, it was Commodore v Sinclair. And it was all betterer in 2D.


  • ♿ (Parody)

    @Cassidy said:

    @arh said:
    When I was a kid, those that had Nintendo would fight those that had Sega. We always need a war, you know..

    Peh, you young'uns.

    In my day, it was Commodore v Sinclair. And it was all betterer in 2D.

    Less Filling!


  • Discourse touched me in a no-no place

    @blakeyrat said:

    2) Wouldn't you just get sick of having to type "sudo" for almost everything and just start putting it in front of everything you type by default? Hell I was sure tempted to, and I only typed in like 20 commands.

     For future reference, you can save yourself this trouble by doing "sudo bash" next time.

     The advantage of using sudo for critical stuff is you can't trash your system as easily if you run as a regular user most of the time and only sudo stuff that needs root (or whatever) perms.  I once worked at a place that had a production database where if you wanted to do work with it (dev, not end-user) you had to sudo to a specific user (who wasn't root) who had perms to touch the database.  As long as you weren't running as root, if you weren't doing a sudo, there was nothing you could do that would hurt the database.

     



  • @arh said:

    I think the "OS wars" concept was invented by *nix-people
     

    Of course they did! They're the ones not having any success!

     WE DEMAND EQUAL RIGHTS yes okay but you're just not as gooWE DEMAND EQUAL RIGHTS.



  • @blakeyrat said:

    @boomzilla said:
    This is fucking retarded, even for blakeyrat. So, when you installed it on Windows, and it was so easy, you didn't have to know anything at all? You clicked on the magic "Install MongoDB" button, right?

    Did I ever make that claim? Quote me. I dare you. Because it's not here.

    You MADE IT UP. IN YOUR TINY LITTLE SKULL. Then claim I said it. Like you always do. Because you're Boomzilla: Worst Human Being Alive. DIAF.

    It was a rhetorical question dumbass (mostly because he knew you wouldn't fucking reply like a normal sane human being, but instead fly off the handle with lots of bolded words in your reply - glad you didn't prove wrong!).

     



  • @blakeyrat said:

    @nonpartisan said:
    The point is scope.  You said you were a "system administrator".  If all you ever did was to restart a service when it had problems, you were not a server administrator.  You were a server technician.  You were the equivalent of someone working in the operations center.  If I am a system administrator, I expect to know my administration tools and the operation of the operating system's tools.

    Stop it. Just fucking stop.

    If you are incapable of engaging in a debate without pulling this completely irrelevant "no true scotsman" bullshit then don't even fucking bother typing the posts, because from this point on I'm not fucking reading them. I've told you TWICE that it's irrelevant. IT IS IRRELEVANT. GO AWAY.

     

    Is "no true scotsman" your new favourite phrase? Because you've used it a lot in this thread.

    What he said is pretty much on the ball though. If all you did was restart a service every now and again, that hardly quialifies as a system administrator. Logging in to a computer as the admin user doesn't make you an administrator either by the way.

     



  • @Ben L. said:

    @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). I've used Apache, SQL, several FTP daemons, and host all of my printers on them, and any time there is a problem with something, it's never the CentOS machines.

    It has awful repos and its latest supported version of glibc is 3 major versions behind.

    That's probably the RedHat mentality, they tend to stick closely to older, more stable libs. If you want bleeding edge, go with a version of Fedora.


  • FoxDev

    @blakeyrat said:

    Because you're Boomzilla: Worst Human Being Alive.

    He was simply taking the piss.

    Besides, there are plenty of humans worse than boomzilla: Larry Ellison and John Edward spring to mind.



  • @RaceProUK said:

    Besides, there are plenty of humans worse than boomzilla: Larry Ellison and John Edward spring to mind.
     

    Mao Tse Tung. Saddam Hussein. Paul Ryan. Ricky Gervais.



  • Can't really resist feeding.... 

    @blakeyrat said:

    @Monomelodies said:
    I'd honestly be interested to learn how in fact Windows and OSX pull this off, then. It is my understanding that both run the GUI as a service (iexplore.exe and X respectively, IIRC) and that applications are bound to that (and will refuse to start if it's turned off).

    Haha wow. And you work in IT? You don't know anything.

    iexplore.exe is an application dipshit. I would say you meant "MSHTML.DLL", but that's just a web browser and has nothing to do with the GUI. (Except that, if you point it at a window handle, it can draw a webpage into it.)

    The GUI in OS X and Windows is a first-class citizen. It's not something applications "connect" to. (Again: that statement is total gibberish.) The application says to the OS, "hey open me up a window" and they're a GUI application. There's no "connecting". There's no service involved. The GUI is a first-class citizen because it's the part of the computer users interact with, and therefore by far the most important component.

    Monomelodies is right -- both run the graphics interface as a service. To easily check how Windows looks without the UI started up, you just need to run autochk.exe (a native/NTAPI program)/ "schedule a chkdsk for next reboot". To check how Win32 applications refuse to start when the graphics are turned off, you just need to invoke one (e.g. notepad) from a Interix remote shell, which is started without an active window station (the name Windows gives to a "X session", more or less).

    The error does not look pretty (to be fair, it is actually generated by the Interix subsystem -- without such check the application would just crash).

    And now, when shall a mod close the thread so that the fun ends? :)

     



  • Ah, I see, yes, this is a delightful thread.

    Personally, I like the insert key on the keyboard. Any keyboard without a dedicated insert or sysrq key is just dumb.


  • Discourse touched me in a no-no place

    @ASheridan said:

    Is "no true scotsman" your new favourite phrase? Because you've used it a lot in this thread.
    It's a logical fallacy, like 'strawman'.



  • @blakeyrat said:

    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.
    I think this tends to happen when Linux people talk to Windows people, because the concept of distros is very alien to Windows. About the closest you can get is Windows X Home, Windows X Professional, Windows X Server, etc, but even that's not right, because a more direct comparison in the Linux world would be Ubuntu Desktop, Ubuntu Server, etc, and not the various distros.

    So, one of the reasons why you Linux people talk to you about Linux and not Ubuntu is that you don't know much about Linux (hell, you confused the command line with APT; the equivalen of confusing Windows Control Panel with Windows CLI)

    @blakeyrat said:

    Good to know unusable software also has unusable documentation.
    The documentation sucks in a lot of places, but that doesn't make the software unusable. Great non argument.

     



  • OK, so I know that nobody is going to read this, but i really do understand blakey's frustration. As someone who for the last 2 years or so has worked predominantly on the windows platform, i figgure the root cause of blakey's anger is that he's had to make an installer (for a no doubt complex product, with complex dependencies) which is expected to be useable by any idiot in the fashion "Open", "Next", "I Agree", "next -> next -> next..." and at the end of it all, the thing is meant to work, regardless of the version of the OS, what updates have or haven't been applied, or the presence of other software (including the other web-app that got ahold of port 80 before your app was installed).

    Depending on what your product is, the expectations of business users for windows software can be pretty ruthless in terms of how easily it installs. If you follow his posts Blakey isn't stupid, and if you've ever had to make something "idiot proof" i guess you assume that everyone else should too. Thats why as a windows dev, if you're new to a platform, you're just jealous that they didn't have to make their product "idiot proof" too. I wish i could say to complaining users that our product "wasn't meant to be used by people who don't know what they're doing". In fact, i think i will say that. Maybe then i'll get fired and can then live out my life long fantasy of defaulting on my mortgage and  living a dumpster. Alas, this is the rift between "commercial software" development and "open source"consulting.

    If my experiences in "windows land" serve me right, most companies do what ours do. Fuck whatever else is on the machine, if there is a shared library with the wrong version number, try to play nice and do the whole SxS thing, but if it doesn't work, just use brute force (there are plenty of ways to sidestep UAC). For commercial software vendors, I can assure you, it is common practice to risk fucking up someone else's already installed software to make yours work, simply because it reduces your support burden.  (I'm not a malware author, but if you look at what google toolbar does to IE, you'll get what i mean)

    So i guess TRWTF is that blakey's company decided to take a productive .NET dev and commission him to set up a MongoDB instance in an environment that was foreign to him, without the necessary technical, moral or psychiatric support.

    Although I feel your pain, i kinda wish you had have tried to use the standard server installation of Debian. I might be wrong, but from memory i don't think it has sudo installed by default. so "sudo apt-get install *blah*" results in "command not found". and "apt-get instal sudo" results in "permission denied." The rant would have been so much better. 


  • ♿ (Parody)

    @dhromed said:

    Mao Tse Tung. Saddam Hussein. Paul Ryan. Ricky Gervais.

    One Two of these things are not like the others! Two of these things just don't belong.


  • Considered Harmful

    @caffiend said:

    If you follow his posts Blakey isn't stupid, and if you've ever had to make something "idiot proof" i guess you assume that everyone else should too. Thats why as a windows dev, if you're new to a platform, you're just jealous that they didn't have to make their product "idiot proof" too.

    Make something idiot-proof and the world will build a better idiot.


Log in to reply