Getting Started In Linux
In previous posts, I've asked for the Slashdot community to help me identify good books and websites for developers and I thought the response was really useful. This time, I'd like to ask you all for your recommendations for great Linux beginner books and also what you think is the best way of showing off Linux on TV. Read on for more info ...
I do this thing twice on month on TechTV's "The Screen Savers" where I try to show off something neat about Linux and Open Source software. At the end of each segment, I give out my email address for people to send questions. The question I get most is "What book should I get to help me learn Linux?" I have a couple of books that I do recommend, but I want to hear what you guys think so I can link to this conversation and have it be available for everyone to refer to.
Additionally, any tips on what you guys would think would make good open-source oriented TV and make people really want to try out Linux would be appreciated.
Learn to use the command line and not a pretty gui, it will teach you alot about how Unix and Linux works, Plus it makes you look cool to your friends when ur flying though the command line:)
Gotta love the tab key!
keanmarine.com
Something I meant to put in my first comment re: Learning up above -- the most important thing, I would say, is to make sure you give 'em a book with the distro on CD. Those poor saps on d/u will appreciate it.
Carousel is a lie!
Just a thought...
Since the submitter (chrisd) asked for opinions and got feedback, wouldn't it be nice if someone filtered the responses and provided a digest? The original queries were for books for developers and books for web development. Furthermore, if someone already has done some filtering, it would be great to see the results.
S
While what I have in mind is nothing special or cool, it is something that I think many people really need to see. My parents, for example, use the computer to play games, mostly card games, browse the web, send email, and other every day things. The thing that bothers them is that they have no control whatsoever. Something crashes and they have no clue what they can do as a user.
It would be beneficial to many average users to see that Linux can do all of the every day tasks they perform. Show them the simple things. They can use email, web browsers, play games that come with kde or gnome, and still play web-based games like Yahoo! Pool. Getting them started on something they feel comfortable with will be an easy step they can make. Then they can move onto controlling and customizing the OS one piece at a time.
That is one thing that really impressed me when converting, i install a program and it worked.. no reboot! *gasp* As for showing things on tv, play some dvd's and mp3's, chat a little on gaim, stuff that people do on a regular basis. I've been talking to people about linux lately, and there are a lot of misconceptions... try to debunk some big ones. I have a friend who swears that whenever you add any new hardware, you HAVE to re-compile the kernel. Another thing i hear a lot is that even if a game has linux binaries, it runs like crap. play some unreal or wolfenstien (the new ones ;)) to show it's quite fine.
Another good idea would be to show them some of the free software out there. if they need to edit some pix, they can just d/l the gimp... no need to pirate/look for cracks.
One last thought about helping people that are new to linux: it's a completely different perspective of an operating system. It's taken from a muilti-user perspective, whereas windows is pretty much one person on one computer. Once you understand this, things make more sense..especially the file system layout. when i first started i always wondered why everything went on / instead of breaking it up into drives. and why do i have a home directory? if you tihnk in terms of only one person on a computer, it's hard to get the concept.
I'm generally not a big consumer of computer books because most of them suck, but when looking for a general Linux book I found Linux Cookbook to be pretty neat and useful. It's somewhat Debian-centric, but useful for anyone. Another good book in the same vein is Linux System Administration by Michel Gagne. Both these books are centered on doing typical things that people want to do with their (Linux) computers. I like them both, but I do like the Linux Cookbook better.
Unfortunately I wasted a week with maddog's Dummies book. Jon's a great guy, but a computer manual for novices author he ain't.
Then I got Running Linux. I was up and going in no time and years later I still refer to it. At this point I don't recommend *any* other book for the newbie. There's no fluff in this book. It's the straight dope, dense but completely readable, technical but not over the newbie's head (at least if they're the sort who's eyes don't glaze the second you say "compiler," but I don't think of The Screen Savers viewers in that catagory), more in depth where it needs to be than any other newbie manual I've ever seen while at the same time running a broad overview of everything you need to at least hear about ( and refering you to other great O'Reilly books that cover the subject in greater depth).
Throw in Linux in a Nutshell and the Armadillo book ( Essential System Administration) and you've pretty much covered everything you'll ever need to keep a basic Linux system ( or network) up and running in any enviroment from your home desktop to the small corporation data center.
These three books are the grand triumvirate. The first to buy, the first to read and the first you'll turn to when all others have failed you in some way. All others are but shadows on the wall of the cave.
Beyond these three the first book a newbie is going to want is a dedicated manual for his choice of text editor, that would be vi of course. Running Linux gives an overview and In a Nutshell gives a reference but nothing beats a dedicated book for learning. Once you know it pretty well you'll keep it on the shelf but really only need In a Nutshell for a quick reference. O'Reilly wins again here with their Learning the vi Editor.
Ok, ok, some wrong thinking people are going to want to go with emacs instead. For them O'Reilly has Learning GNU emacs.
Congratulations, your viewers have just gone from newbies to system admin gurus in just four short books.
Here's where I step away from the crowd a bit. I'm a firm believer that any serious Linux newbie should do a little programing right off the bat, and do it in C, on the command line. O'Reilly loses here. The two volume C For Dummies books are the ones to grab. They're the best Dummies books I've seen. They're the best newbie intro to programing books I've seen for that matter. Not for the hardcore geek, but complete, understandable and fun. They'll have grandma writting her own prank commands in a couple of hours and LIKE it!
Now we've gone up to a full library of Linux books, all the books most people will ever need, including C programing manuals, and we haven't even used up a foot of bookshelf space yet so I guess throw in the Camel book for good measure.
Done, your viewers are now Linux grandmasters and *still* have a couple inches short of a foot of bookshelf space left they can fill with whatever special interest book catches their fancy from what they learned in Running Linux.
What can you do on the show to impress people with Linux? Damned if I know. The most impressive things about Linux aren't visual. In fact the *most* impressive thing about Linux is *philosophy.* Not in the philosphical sense itself, but what that philosophy *means* to the average user. No one really explains that well.
vim doesn't break. vim doesn't change to an incompatible file format to force you to download the latest version. All files written in vim are readable by all versions of vim and *all other text/word processors.* No lock in, no lock out. Ever. If the current maintainers lose interest, because it is open source, *any* programer with the interest can just pick it up and start maintaining it-without even having to ask permission (although this is good form), let alone spend years with a room full of lawyers to make the arrangements. If you don't like something about vim and are willing to put in the work you can bloody well change it yourself, at will, again without even asking permission. YOUR vim is yours to do with as you please.
And because all of this is possible with a Linux system running GPLed software tens of thousands of programers are working at it around the clock, so even if *you* never touch a line of code you directly benifit from its openness.
This is the true power of Linux, this is the part that's truely impressive. You can't show it. You have to explain it. Explain what being ope *means,* and means to *them.*
And what it means is freedom.
What feature is more important than that? Can MS or Apple match Linux, *feature for feature?*
KFG
I agree with your main point, though. I learned most of what I know about Linux on slack; Red Hat 5.0 seemed like my blindly clicking a bunch of dialogue boxes that masked the internal operations of the machine. However, I didn't switch until I felt confident in my ability to navigate man pages and the web to find what I needed.
--All your stolen base are belong to Rickey Henderson
"player 4 hit player 1 with 0 stroms"
GNU tried to innovate in unix documentation with info, but the results were dismal. This is the year 2002, documentation doesn't have to be like this. We have learned a lot about presenting formatted documents from the web. A replacement for manpages should have hyperlinks, semantic markup, good search functionality, a good command-line reader, a GUI reader, and most importantly, quality documentation. Documentation with good formatting, good use of hyperlinks, and standard sections for quick access to relevant information. A format with these things could blow both manpages and info out of the water. It could even become a standard format for more than just unix commands. It could become a self-contained manual for using a unix system in a way that manpages aren't, and info wants to be but isn't. Wouldn't that be nice?
main(c,r){for(r=32;r;) printf(++c>31?c=!r--,"\n":c<r?" ":~c&r?" `":" #");}
My article Why We Should All Test the New Linux Kernel gives some tips on how to get started building new kernels (although it emphasizes testing the development patches).
The #kernelnewbies IRC channel has a website at www.kernelnewbies.org that you will find helpful.
And finally there is of course The Linux Kernel HOWTO.
Request your free CD of my piano music.