Programmer bleg and rant: Adrift in the amateurish world of open source
Open source software is nice in that it is free, and there are lots of great tools out there. But I'm not sure if developers, often upset by the fact this free software has not swept the field, are aware of how amateurish the design of the user experience often feels.
I installed Ubuntu Linux on my Chromebook. (The operation of the Ubuntu GUI itself is very buggy, and it has the same "sophisticated" GUI-look of, say, Windows 3.) Then I began using 'git', a source-code control tool, to place my code in an online repository.
The git documentation is pretty terrible: it is written by experts who cannot recall what using git was like when they started out. In other words, if you already know the system well and have forgotten some detail, it is probably excellent, but if you are trying to learn the system, it is incomprehensible.
Worse yet, when a command just failed, I tried to pull up help for the command, and found that this attempted to display a 'man' page... but my Ubuntu installation came without the man command! ('man' is the standard command-line help system for UNIX.)
Ah, but the fellow who wrote the page telling me how to install Ubuntu talked about this! Great, he says to use 'apt-get.' So I try 'apt-get install man' only to find that apt-get only installs "packages." So, Ubuntu has left out one of the most basic UNIX commands, and now I have to go hunting for what "package" it is in. Ah, but there is a search tool for packages. I type 'man' in that... and get dozens and dozens of hits, most of which appear to be games.
So I am now fifteen minutes distant from starting my original task, which was trying to check in my new code, and instead am searching for how to get help on how to get help on how to install the basic UNIX command for getting help!
Open sourcers, this kind of rigmarole is not going to woo the average Windows or Mac user!
My bleg: Can any of you nice programmers out there tell me how to get 'man' onto my Ubuntu system?
I installed Ubuntu Linux on my Chromebook. (The operation of the Ubuntu GUI itself is very buggy, and it has the same "sophisticated" GUI-look of, say, Windows 3.) Then I began using 'git', a source-code control tool, to place my code in an online repository.
The git documentation is pretty terrible: it is written by experts who cannot recall what using git was like when they started out. In other words, if you already know the system well and have forgotten some detail, it is probably excellent, but if you are trying to learn the system, it is incomprehensible.
Worse yet, when a command just failed, I tried to pull up help for the command, and found that this attempted to display a 'man' page... but my Ubuntu installation came without the man command! ('man' is the standard command-line help system for UNIX.)
Ah, but the fellow who wrote the page telling me how to install Ubuntu talked about this! Great, he says to use 'apt-get.' So I try 'apt-get install man' only to find that apt-get only installs "packages." So, Ubuntu has left out one of the most basic UNIX commands, and now I have to go hunting for what "package" it is in. Ah, but there is a search tool for packages. I type 'man' in that... and get dozens and dozens of hits, most of which appear to be games.
So I am now fifteen minutes distant from starting my original task, which was trying to check in my new code, and instead am searching for how to get help on how to get help on how to install the basic UNIX command for getting help!
Open sourcers, this kind of rigmarole is not going to woo the average Windows or Mac user!
My bleg: Can any of you nice programmers out there tell me how to get 'man' onto my Ubuntu system?
Very strange to leave out "man"...
ReplyDeleteTry: apt-get install man-db manpages
I have installed and used Ubuntu for development in the recent past and I still can't confidently respond to your bleg. Which is supporting evidence for usability rant. But try this to ensure essential development tools and man pages are installed:
ReplyDeletesudo apt-get install build-essential
sudo apt-get install manpages-dev autoconf automake libtool
Incidentally, I was dragged kicking and screaming into using git and also found the interface laughably bad. After using it for a few months and getting the hang of it I no longer would want to use any older tools, but I still maintain that the interface is horrendous.
Ubuntu and other Linux distributions have progressed to the point where they can by usable by non-technical folk for simple things, but once you step into development land it still remains a world of scouring the internet and deciphering poor documentation (if you're lucky) to get anything working. I've never seen much incentive for open-source developers to create easy-to-use software with beautiful UX (Android being the only exception that comes to mind, and quite debatable at that).
Per wins. (Except you forgot "sudo")
ReplyDeleteI use Xubuntu. I've found that the Xfce based interface is generally more reliable than the Unity interface that regular Ubuntu uses. It's simple, but it's effective.
ReplyDeleteI think most of the man pages are in the package "manpages" that Per Johanssen mentions above, though some are in other packages. In Xubuntu "manpages" is installed by default so I've never fiddled with them. I also find docs irritating on Ubuntu variants. Often the docs for something are hidden in another package. Installing the info-pages for the GNU programs that use them is also irritating often they're hidden in packages like "emacs24-common-non-dfsg". That's because of the spat between Debian and the FSF years ago about the GNU free documentation license. Ubuntu don't take the same attitude as Debian, but because they copy Debian's packaging so rigidly they end up inheriting the same problems. I'm considering moving to Arch.
The Git docs are so famously bad that there's computer-generated satire of them http://git-man-page-generator.lokaltog.net/
Arch Linux is an absolute pain in the ass to setup. No simple installer, the network doesn't work without a manual fix, and the bootloader isn't a part of the base package.
Delete