7 ms·
Miguel de Icaza: Learning Unix
- LeafStorm 15y agoI need to remember this one: "And you will offer to buy me a beer, which I will refuse because I rather have you buy me a freshly squeezed orange juice."
- mahmud 15y agoScrew-driver then.
- bitops 15y agoThat could be considered the "Beer Ware" license for San Francisco in the 21st century. And it should be certified organic/vegan/etc.
- middus 15y agoI created a "license" and put in on GitHub: https://github.com/felixmiddendorf/ojware-license/blob/master/en https://github.com/felixmiddendorf/ojware-license/blob/maste... http://news.ycombinator.com/item?id=2984233 http://news.ycombinator.com/item?id=2984233
- dmboyd 15y agoMavis beacon teaches typing.. Seriously?
- deleted 15y ago[deleted]
- wyclif 15y agoIf you can't touch type fast, you can't program fast.
- andrewhare 15y agoHe sounded pretty serious to me. Do you have a better suggestion? The Mavis Beacon software does a perfectly fine job at teaching touch-typing.
- SkyMarshal 15y agoKtouch is awesome, Free, and in the Deb repo's, maybe others. Simple, effective, nice UI, and you can learn any layout from Qwerty to Colemak.
- ginkgo 15y agoWhen I forced myself to learn touch-typing with a qwerty keyboard i used gtypist. I found it to be sufficient for its purpose. The only gripe i had with it was that it required typing two spaces after a period. I found this just plain weird, so I fixed it in the tutorial files. I guess using a blank keyboard also helped quite a bit..
- okal 15y agoSorry, hadn't seen your comment. Gtypist did a lot for my muscle memory, yet I barely scraped the surface. It's probably time I went through the remaining tutorials.
- okal 15y agoGNU gtypist. Got me from "hunt and peck" to touch typing with a decent wpm count within 2 weeks. Considering I used fewer than half of the tutorials, I think that's pretty awesome. It's an old GNU utility so it should be in any repos. Even had it on Cygwin.
- thristian 15y agoWell, I guess there's no memetically famous touch-typing tutorials software for Linux or Mac. In fact, the only other memetically famous touch-typing software I know of is Typing Of The Dead¹, and that's not exactly widely-available. ¹: http://en.wikipedia.org/wiki/The_Typing_of_the_Dead http://en.wikipedia.org/wiki/The_Typing_of_the_Dead
- officemonkey 15y agoIn the 80s, I learned how to touch type by playing Infocom games like Zork. The key to learning how to touch type is just typing _a lot_. You might not be very fast (I'm not), but you can at least get your eyes off your keyboard and use more than one finger per hand.
- lucasjung 15y ago>The key to learning how to touch type is just typing _a lot_. Absolutely. I don't think that typing-tutor software really does very much teaching at all, it's just a good tool for drilling yourself. But why not have fun in the process, rather than boring and mindless drills? I learned by playing the early Sierra adventure games, before they switched to the all-point and click interface. Now I'm feeling all nostalgic...time to go download ScummVM.
- initself 15y agoI did MBTT version 1.0 either on Dos or Win 3.1 (can't remember) when I was like 9 years old and I am currently the fastest typist I know.
- foob 15y agoI would like to add the Advanced Bash-Scripting Guide (http://tldp.org/LDP/abs/html/ http://tldp.org/LDP/abs/html/) as an incredible resource. It's obviously geared towards scripting but most of what it teaches is extremely useful for working in an interactive shell as well. I had been using linux and bash for years before I read it and I still picked up quite a bit when I finally got around to working through it.
- gecko 15y agoThe only thing I don't quite grok is that, as the complexity of a given bash script increases, it moves ever-closer to looking exactly like the well-written-by-90s-standards Perl I remember from when I was just learning Unix. Given that Perl's about as ubiquitous as bash (and arguably more so, since I literally don't know any mainstream *nix that ships without Perl in the core, and I know several that ship without bash), why not just use Perl in the first place? This is exactly what it was designed to do well, back in the beginning.
- Scaevolus 15y agoLearning the different things you can do with bash scripts, especially the string operations, made me a lot faster at doing batch tasks from the command-line. For longer-term scripts over a few lines, it's easier to use a powerful language you're comfortable with (maybe one of Perl, Python, Ruby) than to waste time (re)learning shell scripting whenever you need to extend the script.
- peterwwillis 15y agoSince OP's subject is becoming a better Unix hacker, I recommend staying away from Bash's more advanced (or just useful) features. The more Unix you touch, the more you realize you can't rely on Bash to work how you expect it across all different systems (if they have Bash installed). You will end up relying more on sed, awk, grep and your shell scripting will become more generic - but more portable. On the other hand, Perl rarely changes. If you find yourself forced into a Perl 4 system you can still use the basics of Perl 5. IMO, if you have a relatively complex job to perform, Perl is going to be more reliable than Bash.
- sciurus 15y agoHe's right when he says Unix Power tools "is the atomic bomb of Unix knowledge".
- deleted 15y ago[deleted]
- shaggyfrog 15y agoI still have my copy of UNIX for the Impatient I bought in 1997 and I still find myself referring to it occasionally (less so these days, with Internet references being more accessible generally). Quite a thing for that book to stand the test of time so well to still find it recommended -- 1995 edition and all. The C equivalent would probably be Advanced Programming in the UNIX Environment.
- tingletech 15y agoin a computer lab between pepper canyon and warren college at UCSD in 1991 it was written to type 'man man' and maybe even 'apropos' was written up there on a chalk board. I taught myself unix from the manual. A few years later, I learned perl starting with 'perldoc perldoc'.
- flatwhatson 15y agoIn all my years of using and loving (and abusing) the shell, I've never encountered apropos. I'm really amazed that something so fundamental has somehow been left out of the many unix/shell articles (such as this one) that I've read. Anyhow, you've made my day. Thanks!
- juiceandjuice 15y agoAre most people not touch typers? I've noticed my boss isn't really a touch typer, despite programming since before I was born, but I always assumed the majority of CS people were.
- bitops 15y agoYou'd be surprised how many senior-level people are hunt and peck typers. I've met several software engineers with 10+ years of experience who don't type with all 10 fingers (assuming they have that many).
- zura 15y agoYes. Actually, I don't understand why people emphasize on touch typing here. Engineering is not a data entry job.
- ordinary 15y agoFaster typing is more code is better. Seems pretty straightforward to me. Now, does doubling your typing speed also double your productivity? No, of course not, you spend time thinking, looking through code, reading specs, searching for solutions, compiling, etc. But I don't see how improving your typing speed would not result in at least some productivity gains.
- officemonkey 15y agoIt's not so much "touch typing", it's being efficient with the main tool (the keyboard) that you use to interact with the computer. You don't need to be a 60 wpm typist, you just need to be able to communicate without stopping everytime to find out where the "@" symbol is.
- aangjie 15y agoHmm.. interesting.I actually touch-type, but definitely have to look up the symbols. maybe i should learn that part too..
- sb 15y agoHm, instead of MC I prefer dired+ within Emacs, I have never used anything more powerful than this (particularly with TRAMP and the regex features.) So, if you are already learning Emacs, I think it pays off to at least take a look at dired(+). (Minor remark: for smaller tasks [and instead of launching a terminal window] I prefer to use the DirOpus clone "worker" on UNIX.)
- pointyhat 15y agoWithout starting a religious war, it's essential to learn the basics of vi for it is ubiquitous on all UNIX variants. Even if you use emacs, it's essential knowledge.
- jrockway 15y agoWhy? vi isn't even the default editor on many Linux distributions anymore.
- pointyhat 15y agoIt is on Debian and CentOS server installs and is available on a Ubuntu default install. It's the common denominator. Why frig around with emacs, pico, nano etc when vi is always there and is the same?
- rat 15y agoI'm pretty sure its vim-tiny
- pointyhat 15y agoPlease substitute "vi" in my comments for "vi or appropriate compatible substitute" such as nvi, vim, elvis etc. They all work the same with the usual subset of commands :)
- jrockway 15y agoThe Debian base system comes with both vim-tiny and nano. Nano is the default; when the installer wants you to edit something, you get nano: $ ls -l ./etc/alternatives/editor lrwxrwxrwx 1 root root 9 Sep 7 06:19 ./etc/alternatives/editor -> /bin/nano If you want to use vim for development, use vim. But "it's the default" is simply an untrue statement. Vim (-full) is no more "the default" than Emacs. Both need to be manually installed on nearly every operating system. (OpenBSD ships with both nvi and mg, FWIW.)
- darklajid 15y ago
- gcb 15y agolearn unix ... use midnight commander. lolwat?
- jrockway 15y agoKeep in mind that the same person wrote both this blog post and Midnight Commander.
- gcb 15y agoand that validates midnight commander as a tool with the unix philosophy how? downvote all you want. but a clone of norton commander was and always will be a joke. ...saw several sysadmins using it to delete files named with dash because they didn't know "--" is posix for stop taking flags. and that's just one bad vice it foments.
- angrycoder 15y ago> but a clone of norton commander was and always will be a joke why? P.S. - if you can answer without the elitist bullshit, people will probably stop down voting you.
- pivo 15y agoFor me MC has always struck me as something someone uses as a crutch when they're not interested in learning the "unix way" of doing things, which usually means using the command line. The idea of MC never appealed to me so I admit I've never used it. When I see other people using it it seems awkward and slow, and the people using it never seem to know much about unix. Of course it could be that they just don't know the application well and it is in fact really fantastic. So my perception could be completely wrong.
- gcb 15y agodespite it being a GUI tool that can't be piped, that loose all the shell goodness such as command history and text substitution, I already did in my example. the sysadmins in question used mc to delete weird named files just because they never bothered to learn correct argument passing in bash. they didn't know about quotes for filenames with spaces, they didn't know about '--' flag parsing termination argument. when their badly written script broke, they just manually fixed with mc and call it a day. it's like seeing someone not using the scroll wheel to scroll. If you think that's elitist so be it. http://www.reddit.com/tb/df8cd http://www.reddit.com/tb/df8cd
- bostonvaulter2 15y agoDoes anyone know any good online typing tutors? Especially for people who are already reasonably proficient (~60 wpm)
- shawndumas 15y agonot on-line but... http://www.gnu.org/s/gtypist/ http://www.gnu.org/s/gtypist/
- dramaticus3 15y agoMiguel, please learn Unix
- gradstudent 15y agoDoes anyone else find it deliciously ironic that, in such a pro-Unix article, Miguel recommends Mavis Beacon? According to Amazon, it's available only for Windows and OSX :p
- skb_ 15y agoI'm surprised he didn't recommend gtype, it's probably the best and fastest way to learn how to type in that there are no unnecessary graphics and you need not ever touch a mouse. Fits the Unix approach much better imo.
- rbanffy 15y agoapt-get install gtype didn't work ;-) Googling for it led to a couple false hints, dead-ends and lots of information about viruses (not the computer kind)
- spiffytech 15y agoI had to spend several years in Middle School with Mavis Beacon and it didn't do anything for my typing abilities. When I was done with my computer classes I still couldn't hit 35 WPM. Then I picked up computers as a hobby. With all the random typing I did as part of the hobby I quickly found myself in the 70-100 WPM range. You don't really need a typing tutor program with its learning modules and fluff. You just need to spend time typing. I recommend printing out a color-coded image[1] of a keyboard that shows which fingers to use for which keys and just spending a little time on http://typeracer.com http://typeracer.com every day trying to stay on home row and follow the color guide. [1] http://www.tranexp.com/win/05_Finger-placement.jpg http://www.tranexp.com/win/05_Finger-placement.jpg
- kasperset 15y agoAnother good book with historical perspective. Harley Hahn's Guide to Unix and Linux
- RyanMcGreal 15y agoI loved this: > Save yourself the embarrassment, and avoid posting on the comments section jwz's quote on regular expressions. You are not jwz.
- dools 15y agoI personally though this was quite hilarious: "But unless you touch-type, you are neither awesome, nor you are in a position to judge the qualities of the world as an oyster or any James Cameron movies." Thoroughly enjoyable read I must say.