8 ms·
The Command Line Challenge.
- wvenable 15y agoI suppose now we have a new generation of developers who have never had nothing but a DOS prompt to stare at. I have no desire to relive the days before high resolution displays, mice, and the most amazing software that has ever existed.
- eropple 15y agoHave to agree. I mean, I probably count as the tail end of that generation, at least in terms of actual programming (though I sort-of-fondly remember the joys of SUBSTing drive letters for games in DOS when I was five or six...), but I do definitely remember 80x25-and-that's-all-you-get (heck--QBasic, anybody?). I have been to the land of stone knives and bearskins, and I am so very grateful we don't still live there.
- Karunamon 15y agoShort answer: No. Lynx/links/elinks are not acceptable substitutes for a modern browser. The command line is a powerful tool, and it has its place, like any other tool. This just reeks of "all I have is a hammer..." syndrome.
- chavezgu 15y agoIt's not intended as a full replacement. It's about reducing your technology for a few days in order to get proficient in the console. The browsers are just because we all need google or hacker news sooner or later.
- eropple 15y agoWith respect: "larval mode makes you learn things" is obvious even without a blog post.
- jbri 15y agoI think you've misinterpreted the article somewhat. The best way to rid yourself of "I have this hammer..." syndrome is to get rid of the hammer temporarily, and force yourself to use the alternatives for a while. That way you get to know them, and can recognize when they're a better choice than a hammer. After that you start using the hammer again, but now you can put it aside when you need to. That's why the author suggests giving up your GUI-based tools for a short time.
- unimpressive 15y agoOn image viewing: You can use the (terribly named.) libcaca. Or you can use fbi as root and take advantage of having a display that isn't a physical teletype.
- derleth 15y agoIf you let 'console' include 'xterm' (in Ratpoison, perhaps) then w3m displays images in an xterm just fine.
- enneff 15y agoMore like "the terminal challenge." Curses-based programs (like vim, mutt and lynx) still have graphical user interfaces, they just have really shitty graphics. (And that's not a criticism of those programs.) Try spending a week using just ed, mail, and curl. Those are actual command-line programs, not just terminal-based programs. The litmus test is whether they would work with a real paper teletype.
- seancron 15y ago"When I log into my Xenix system with my 110 baud teletype, both vi and Emacs are just too damn slow. They print useless messages like, ‘C-h for help’ and ‘“foo” File is read only’. So I use the editor that doesn't waste my VALUABLE time. Ed, man! !man ed" http://www.gnu.org/fun/jokes/ed.msg.html http://www.gnu.org/fun/jokes/ed.msg.html
- derleth 15y agoCurses-based programs (like vim, mutt and lynx) still have graphical user interfaces, they just have really shitty graphics. (And that's not a criticism of those programs.) I'd say the keyboard-centricness still separates them from, say, Eclipse.
- deleted 15y ago[deleted]
- koningrobot 15y agoFor those looking for a keyboard-driven browser, try http://conkeror.org/ http://conkeror.org/
- klez 15y agoor http://uzbl.org http://uzbl.org
- icebraining 15y agoor http://dactyl.sourceforge.net/pentadactyl/ http://dactyl.sourceforge.net/pentadactyl/ or http://luakit.org/projects/luakit/ http://luakit.org/projects/luakit/
- sliverstorm 15y agoMy (unintentional) Command Line Challenge was trying to build Gentoo on a 100MHz laptop with no other computers around. That was about 2 days of compute work. At the time, it didn't compile reliably either, so emerge would crash 5-10 times while trying to get to Xorg. Learning to fix the problems, particularly via lynx, brought me up to speed more quickly than anything else. Something to be said for leaning by immersion.
- unicron 15y agoSimilar! I was using Debian on a compaq dual 200MHz Pentium Pro desktop until about '02. I was pretty much 100% of the time on the shell so I really didn't need anything more. Mutt for email, irssi for IRC, links for browser, vi for the editor and a 512k ADSL connection. That was about it. The whole machine cost me 10GBP (about $15). It replaced an old Sun machine I found in a skip in 1997. I bought my first new computer in 2004 :) The console rocks.
- MatthewPhillips 15y agoI agree with your general point, but configuring Xorg is a form of torture no man deserves to go through.
- count 15y agoHah, kids these days. Xorg is a DREAM compared to it's predecessors X11 and friends.
- MatthewPhillips 15y agoXorg is fine today, it's pretty much automatic. I'm talking about 6 or 7 years ago when you had to dive into xorg.conf to get 75% of graphics cards to work.
- HoverHell 15y agoProbably not so useful but a more hardcore challenge: limit yourself to a visual equivalent of a braille terminal.
- rcthompson 15y agoI upvoted this because it links to a lot of useful-looking terminal programs that I didn't already know about.
- icebraining 15y agoRelated, a great list of them: http://jaredandcoralee.com/CLIapps.html http://jaredandcoralee.com/CLIapps.html
- tikhonj 15y agoAmusingly, Emacs can do pretty much all he listed. Of course, as somebody who pretty much lives in Emacs and a browser, I'm probably the wrong demographic :). Also, I'm annoyed at other commenters' equating "command line" with primitive: just because GUIs are newer does not mean they are superior or that the command line is obsolete! For a large range of tasks like file management or system administration it is actually superior; for quite a lot of other things it's completely usable. I'm not saying GUIs are useless or that the command line is perfect for everything, but it is far from obsolete or inferior. Now, doing everything in a terminal is overkill, which is why this is a challenge--you're not expected to use a terminal forever, just long enough to get sufficiently acquainted with it so that when you do things the terminal is great at--which you will--you will be able to use it as efficiently as possible. And, since all the readers here doubtlessly spend very large amounts of time behind a computer, being as efficient as possible there should be a priority. Coincidentally, I say all this as somebody who started using a computer with Windows 95. I only learned how to use the command line (first a bit on Windows then on Linux) because it looked cool; I continue using it because it turned out to be more efficient at a whole host of tasks than using a GUI.
- ocivelek 15y agoCLI is great from *NIX perspective and I believe most of us had used it extensively in the past. I still use CLI but if and only if it suits as the best tool for the problem I'm working on. The fact is, that the paradigm has changed, therefore the way we interact with our computing devices. IMHO, bigotry is not only bad in politics. We have to embrace the change, learn new tools, improve, share our knowledge and not only make our jobs better for ourselves, but also for others. Especially for rookies, who will have to be doing more tomorrow than what we do today. I don't believe `libcaca` has anything to serve this purpose. Using mutt instead of gmail; I'd ask "Why?". We don't need to stick with the tools we've used 10 years ago. If I'd be looking for a challenge as a sysadmin, I'd learn ways to better utilize cloud environments, look for better ways to serve static content for large volume systems, improve my tool base for managing geographically distributed servers, learn about the requirements of the new era of real time web, how to deploy node.js on my servers, etc.
- DanBC 15y agoYou point out that you're familiar with the command line, thus this article isn't really for you. For people who haven't used CLI before; or who don't have much experience of the command line: it makes some things about the Unix way a bit clearer. One program does one task, but does it well. You pass the output from one command into the input of another. Input and output are text, because text is universal. These are important powerful concepts and I'm disappointed that they've largely been forgotten in the GUI world. I'm also baffled that my vastly powerful computer has areas of lagginess when grinding through some seemingly trivial things. A pure-CLI trivially-easy-to-install distro[1] isn't going to happen, but imagine the use people could get from all those old computers which are not coping with modern OSs. [1] Linux from scratch definitely does not count. TinyCore doesn't really count. Arch sort of comes close, but would need to be i) Much easier to install and ii) have a specific repository for CLI / Curses / etc software.
- klez 15y agoUntil you screw your X configuration very badly. For this exact reason, in my first experiences with GNU/Linux, I reinstalled the distro every time X was screwed.
- djhworld 15y agoI use a lot of command line tools these days, but I always use a web browser for browsing the web and a proper music player too. I don't think "going cold turkey" from the GUI is really a good idea. Both have their place.
- icebraining 15y agoproper music player I can understand the browser - I use a graphical one too - but except for CD covers there's really no content a music player needs images for. Ncmpcpp has a clear, nice interface with features like automated lyrics downloading, database management, tags editor, playlists, etc. And the advantage is that since it's only an MPD frontend, you can still use mpc to script stuff.
- newman314 15y agoHonestly, I'm going to fall back on right tool for the right task. I just happen to be able to get a lot done using a terminal. However, that does not mean I want to be doing something Excel-ish in anything but Excel.
- chernevik 15y agoYes. But. The trick is knowing other tools in sufficient depth to know when Excel is an anti-pattern. Which is hard, b/c it's so flexible that it gets adapted to a lot of stuff it really shouldn't be. A big chunk of Corporate America uses Excel the way our foreprogrammers used Perl or Bash, adapting it to all manner of tasks because it's what they know. I admire their resourcefulness (and scorn their IT environment for limiting their access to better tools) but that handiness leads them into solutions that are fragile, unmaintainable, uncheckable and unscaleable. The step from Excel to broader, more flexible tools is the move away from graphically delineated relationships to logically stated relationships. It's a very hard step, and one most people won't make unless they force themselves through a period of clumsiness while they orient themselves to a new approach. Exercises like the OP are a great way to do just that: "I'm going to force myself in this direction by setting some simple but arbitrary obstacle that will build capabilities I can use elsewhere." Doing so on tasks that are well understood may help even more -- "I know how I would do this in Excel, how do I do it in Python?" -- because your knowledge of the problem frees you to learn the new things about this new sort of solution. The OP isn't saying the CLI is the right tool for everything, he's saying this is a way to build the understanding that lets you move to it freely when it is the right.
- bnegreve 15y agoI recommend Vim because I use it every day. I have to say that I haven't seen such a fair argument in favor of emacs or vi for years.
- drstrangevibes 15y agoI draw the line at viewing pictures in text. C'mon Son!
- hereonbusiness 15y agoWill using cli tools for no real reason be the next hipster retro thing? If so, I just want to state that I've used the terminal and cli applications/tools long before it was cool :p
- super_mario 15y agoI do this. I live in the command line exclusively and have for over a decade, except for web browsing (Lynx is extremely useful though) with Firefox + pentadactyl, and PDF/image,video viewing/editing. But then again I'm a little biased, since I work for a company that makes our own vi, perl, awk port of entire POSIX APIs for Windows and UNIX shells etc. And cross platform ALM suite of applications (Linux, Solaris, AIX, HPUX, Windows, Mac OS X). I can't imagine being a developer and not being in the CLI 99% of the time.
- MatthewPhillips 15y agoIt's frustrating. I envy you.
- drhowarddrfine 15y agoSame here but not as much. I do all my work that way in FreeBSD but with another FreeBSD box sitting next to it running X for any graphical stuff I need to look at.
- MatthewPhillips 15y ago> lynx has more options and is more powerful in general, but elinks has a better rendering and looks. I've never understood why lynx gets so much more love and respect than elinks. Elinks has tabs, lynx doesn't. Elinks supports some EMCAscript, lynx does not. What are these special features that only lynx has?
- dsr_ 15y agoYeah, so, I did that. On VT-220 and VT-320 terminals, connected to VMS on VAX and Solaris on Sun. Oh, and command line on a 486DX33 running Linux so long ago that the concept of a distribution was new. I love command lines, and I use them every day. Most of my work is on a command line... in a term window in X. The Linux virtual terminal system was a great advantage. The ability to run multiple terminal windows on-screen at the same time, with a clipboard! that was an amazing achievement. Virtual desktops? Great. All of these things are advantages, and you don't need to stop using the good stuff that works in order to use the new stuff that works. Today I click on one of my sidebar icons to summon the terminal windows in which I do most of my work. I have enough RAM that I can keep heavy graphical browsers open -- FF and Chrome -- with hundreds of tabs open. I'm happy to be able to use everything. I'm happy to have choices.
- sgtsugarfingers 15y agoThe article didn't make any religious argument for the command line opposed to a GUI. His background is the opposite of yours. For him, relying on the ease of a graphical interface was a habitual deterrent to stepping out of his comfort zone and learning the CLI. Temporarily restricting himself to use only CLI was a focusing mechanism to help him gain strength in a weak area. His efforts demonstrate the hacker ethic quite well. He could have easily stuck with the familiar, but decided to force himself to go out on a limb.