PLAYterm: a New Way To Improve Command Line Skills
chrb writes "Linux Journal points out PLAYterm, an interesting project that offers up recordings of Linux command line sessions, with the aim of helping viewers to improve their skills by watching gurus at work." And there's no bad excuse to link to Neal Stephenson's excellent (and free-to-download in delicious zipped-text form) In the Beginning was the Command Line.
I never quite got this command line fetish (and I mean here bash). You're supposed to to simple things in the commandline, if you need something more complicated then use a proper scripting language like Python or Perl. And people shared Python/Perl snippets from the beginning of time.
guru "unix" command line users know pretty much exactly what they are doing and mostly escape extend their commands and type like there is no tomorrow - you would have to play back these videos in slow motion to really learn from them, command typed, enter pressed, pages of stdout scroll by. nice reference point for learners. the only way to truly learn unix commands and get comfortable with command line tools is to avoid the UI completely. try doing stuff from your tty terminals and disable x11 :) learn to do word processing with latex, telnet into your routers to configure them. if your not up for doing that, forget about using the command line tools. back in the early 90's, we couldn't afford RAM to even start x11 :) i personally use cygwin on windows and terminal on macosx for as much as i can.. never know when you need those command line skills again
According to wikipedia, Stephenson said the following in 2004, right here on /. : "I embraced OS X as soon as it was available and have never looked back. So a lot of In the Beginning...was the Command Line is now obsolete. I keep meaning to update it, but if I'm honest with myself, I have to say this is unlikely."
Here's the article
learn to do word processing with latex
For live preview, you'll need LyX and that needs X11.
telnet into your routers to configure them
Which for some users would require them to buy a router supporting telnet, as opposed to a home gateway appliance supporting only HTTP.
kn0r tmp # how to ssh?
kn0r tmp # ssh yourusername@someserver.com
^C
kn0r tmp #
If only there were a standard file format for textual content.
It's very simple. With CLI you do stuff that cannot be done (easily) with a GUI. Ever used rsync, grep, find or sed? If not, you probably don't really *work* with computers.
Check out my cross-platform apps
When I was a lad, we had to enter JCL commands on punch cards! And if you saw someone with a deck of cards in their hands, you could grab them and scatter them on the floor. Have fun sorting them!
This was probably one of the earliest forms of malicious hacking.
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
"if your not up for doing that, forget about using the command line tools."
That's simple conceit, pure snobbery.
Because I am utterly uninterested in using Latex I should forget about ssh, encfs, apt, yum, git, tar, mencoder, ssh, locate, find, grep, echo, cat etc?
If "your" not up to learning basic English, forget about telling other people in writing what they should or shouldn't be doing.
Either the the supposed "gurus" are actually people who have done nothing more than read the idiots guide to the command line, or we aren't watching them work. Somehow I don't think gurus type out an explanation of what they are doing mid work, somehow I don't think gurus type quite so slowly. Having had a look at these videos they aren't about becoming better at the commandline. They look very basic and require no prior knowledge.
Not that theirs anything wrong with the project, the summary and title are just a load of crap.
I'm actually not quite sure who they are targeting. On the one side they describe how "ls" works, and on the other there's no mention of the tab key, man pages or any of the other really useful things that show what's currently going on and how to get ahead in your terminal session.
The Mac archive was unopenable on my Mac, so I opened the PC version instead. Just incase others encounter the problem. I think Stufffit didn't like what the file was called, but I couldn't be bothered to tinker
Watch those corners
For live preview, you'll need LyX and that needs X11.
Live preview, pfft. Real gurus write LaTeX code in ed and render it in their heads.
For live preview, you'll need LyX and that needs X11.
[La]TeX source does not specify exact layout, and its user should not rely on previews, tweaking the output by issuing random formatting commands until the output looks "right". X and frontends are useful for other purposes, for example, to avoid wasting paper when checking for mistakes in formulas, but this has nothing to do with running a WYSIWYG wordprocessor or imitation of one.
I think, we all went through this discussion when every moron used WYSIWYG HTML generators, and web pages looked like someone vomited markup over a block of text, unless user happened to have exactly the same 800x600 screen and fullscreen IE4 running on it, that "web artist" happened to have.
Which for some users would require them to buy a router supporting telnet, as opposed to a home gateway appliance supporting only HTTP.
All OS used on routers support command line interface. If router does not have command line interface, it was intentionally crippled by manufacturer.
Contrary to the popular belief, there indeed is no God.
the only way to truly learn unix commands and get comfortable with command line tools is to avoid the UI completely. try doing stuff from your tty terminals and disable x11 :) learn to do word processing with latex, telnet into your routers to configure them. if your not up for doing that, forget about using the command line tools.
That's just a load of bull. Learning to use Latex or Telnetin to routers has nothing to do with learning to use command-line.
Not sure if serious or humorous, so I'll bite:
ssh
ssh --help
info ssh
man ssh
That said, I must admit that I seldom learn anything from it. The reason is that all options are shown. While this is good as a reference when you forgot how to use a program, it gives too much information if you want to find out basic usage.
Don't fight for your country, if your country does not fight for you.
Writing and structuring a book by relying only on inline formatting commands is horribly inefficient and has rightly gone the way of the dodo about two minutes after the GUI was invented. Using visual cues to relay structuring or formatting information is not a sin, but an efficient use of a communications channel.
As LyX, FrameMaker, AuthorIT and a host of other applications show, it's entirely possible to separate presentation from content in a GUI (and even a WYSIWYG) environment. You're right that the user should not engage in visual 'cargo cult' formatting, but forcing the user to write in a text-only interface is not the best way to achieve that.
... and disable x11 :) ...
... but I need X11 to open all these terminals!
GP was probably alluding to the fact that any cli session is already txt... what is the point of videoing txt?? You'll still be reading txt, just in a massively less efficient format.
The Admin and the Engineer
$ SHUTDOWN -slashdort NOW!!!!!!
>> HOORAY!
Thanks for shutting down Slashdort. Too many people confused it with Slashdot.
SCNR
The Tao of math: The numbers you can count are not the real numbers.
Funny, stumbled upon PLAYtern two weeks ago and found it cool. But what I wanted to do was posting videos of me playing Zork on YouTube so I wrote a PHP script that converts ttyrec recordings into a bunch of PNGs and an AviSynth script that generates a video (demo). Different TrueType fonts and much of the VT100 command set is supported but I haven't yet found the time to clean up the code. If you are interested voice yourself and maybe I make a release out of it.
On se Internetz nobody noes your German.
I think, we all went through this discussion when every moron used WYSIWYG HTML generators, and web pages looked like someone vomited markup over a block of text, unless user happened to have exactly the same 800x600 screen and fullscreen IE4 running on it, that "web artist" happened to have
Yeah, but just about everyone on the planet uses either letter or A4 paper, and so a hard-coded WYSIWYG approach is reasonable for print, with a low chance that you send an A4 formatted document to a person in the UK who complains because it looks like crap when they try to print it on legal-sized paper.
Learn to love Alaska
If a book is published on paper as well as e-book, there's about 0% chance the book was written using an HTML editor. Instead, it'll be written in a WYSIWYG package and an output processor will be used to create the HTML and PDF.
For ebook-only publications, there may be masochists who'll do the whole thing in an HTML editor, but I suspect that won't be the majority.
The same goes for instruction manuals. WYSIWYG package or a document management system as the source, and automatic processing to create HTML, PDF and whatnot.
# ./do_magic
Profit!!
#
interesting project that offers up recordings of Linux command line sessions
Like .bash_history ?
The three laws of thermodynamics:(1) You can't win. (2) You can't break even. (3) You can't even quit.
Somebody please mod this up. Having bunch of, possibly commented, history files, would be much better than having this information as a movie.
AccountKiller
Search engines can suck too.
Since we're on the subject of shells, up until earlier this year with bash I could use environmental variables to navigate my way around; for example, ls $HOME/<tab> would show me a listing of everything in my home directory, now when you hit the tab it escapes the $ so you end up with \$HOME/ and the expected functionality that has been present for well over a decade no longer works - try searching for that little problem :-)
Search engines can be a pain in the backside just as much as video.
Video does help, you see cadence and sequence much more effectively. You see the actual env being targeted which may not be the same as your own but with the context you can map it to your env more easily.
A fool throws a stone into a well and a thousand sages can not remove it.
Replying to myself: when thinking about it some more, I realized there are two extremely important aspects of CLI use that will not show up in the history file: completion and substitution. The history file will only show the commands that got executed, not how they were entered.
AccountKiller
There's only one good way to learn programming/scripting/whatever technical: sit down with the reference and study, apply what you've learned in examples so it "sticks", lather, rinse, repeat. If the material is difficult to comprehend on an abstract level (or you don't have a reference) it's nice to have someone explain it to you - but learning a new programming language isn't like that unless it incorporates concepts that are foreign.
Emotions! In your brain!
GNU screen is as user unfriendly as GNU Info is. Sure if you're a suspender wearing unix graybeard you probably live it.. O course you probably browse the web with wget, use emacs and still use IRC and USENET for communication and NOT piracy.
but normal people are probably better off using a tabbed terminal in X.
I blame my command-line fetish on the Legend of Zork.
Just because an example was given, it does not mean that the issue collapses to that one point. Man Eating Duck is correct to say that it depends on what you want to do.
I am developing a web- based terminal emulator and one of the most useful features I added was the ability to record and play back sessions in a video- like way. Have you ever tried to read a text log of someone's vim session? Ever wish you could play back the output of top so you could see the history of a process utilization?
Not only that but it wicked cool :)
-Riskable
"Those who choose proprietary software will pay for their decision!"
then downloaded and looked at it with my DVI previewer.
If not X11, then what did your home computer's DVI previewer run on?
I focused on the content, dividing into chapters, lists, equations, references etc.
How many iterations did it take to get an equation looking right?
I *wish* I could get rid of the live preview in Word and just tell it : here's a header, just like all the others.
I thought Word had character and paragraph style sheets (e.g. "Normal", "Heading 1"), where changing the style associated with a style preset would change all text associated with that style preset that hasn't had its style overridden. Templates from publishers come with the style presets that they want you to use.
That's about all you need to start.
That doesn't sound quite right. I did personally learn most of my basic command line skills in a windowing-free environment, but I don't think it's necessary.
I think that even after 20 years of command line experience I could learn new things. Regardless of running X.
See, this is a weird idea, too. That command line skills might come in handy. I use the command line every day. Maybe you use some kind of file management app like Windows Explorer? I file manage through the command line. Probably not the most efficient way (I never did learn tools like Midnight Commander), but the command line works well enough.
Alternatives:
Don't fire off grep when you fire off ps (which you did by piping to grep) — do your grep after the ps completes.
O=`ps -ef`;echo "$O"|grep bluefish|awk '{print $2}'
O=`ps -ef`;echo "$O"|awk '{/bluefish/ print $2}'
If you're not actually looking for something on the command line, don't print whole command lines, just the commands. ps without flags.
ps|awk '/bluefish/ {print $1}'
Specify to ps the executable command you wish ps to show you.
ps -C bluefish|awk '/bluefish/ {print $1}
And output only its PID (and hide output headers).
ps -C bluefish -o "pid" --no-headers
Or use pgrep.
pgrep bluefish
Fast typing is a menace on critical servers.
If all else fails, immortality can always be assured by spectacular error.
telnet router.home.net 80 # No http needed (bonus points for using netcat)
for a slightly more friendly experience:
lynx router.home.net
links router.home.net
or one of the other fine command-line HTTP clients.