You mean it's not a bunch of little elves with hammers in there?
June 1, 2006 1:46 PM   Subscribe

What is the most useful computer/IT topic for an ordinary user to study ?

My friends come to me with their computer problems, and often I can solve them. But then, my friends are technophobes, and my skill set includes things like running a defragmenter, finding out what port something is using, or installing a new sound card. Pretty impressive, huh?

I find that there are few things I enjoy so much as making the computer do something it doesn't want to do. I would like to learn to fix more problems, or to tweak systems in new and interesting ways. So, um, how do I do that?

This is the king of vague questions, I know, but despite the high opinion of my friends, I am a computer dumb-ass. I don't know what I don't know, I just know there's a lot. I don't even know what the computer specialities mean, in practical terms.

Can you computer gods offer book or website or class recommendations that will initiate me into the mysteries?
posted by Methylviolet to Technology (20 answers total) 4 users marked this as a favorite
You should read In The Beginning Was The Command Line. While not technical per se, it will begin to educate you into the mysteries.
posted by jellicle at 2:06 PM on June 1, 2006

Study networking. A computer by itself is simply a tool that does things faster than you can. Put it in a network and it becomes a doorway to a world of information.
posted by forrest at 2:15 PM on June 1, 2006

Something I've learned after a half dozen years in said IT biz: _everybody's_ in the "I don't know what I don't know" boat.

For any given IT track, be it support, programming/development, whatever - nothing stays the same. Ever. Sure, overarching themes' ebb and flow don't usually change much, but the application of whatever area you specialize in sure as hell will. PS/2 devices, SIMMS, and the floppy disk - all more or less industry standard a decade ago, are, of course, all dinosaurs now. I can think of only a precious few things that don't seem to follow this trend. Digg. Build computers for people. Fix their computers when they break. Steal some code and make a program do something. Do whatever you want... Just as important as your area of speciality is your ability to stay current on said area, and its ubiquitous "best practices".

Figure out what you LIKE doing, then it.
posted by porntips guzzardo at 2:37 PM on June 1, 2006

Study the 3 main operating systems: Windows, Linux and OSX. If you understand how they're setup and how they work, you should be able to do pretty much anything with them.
posted by blue_beetle at 2:38 PM on June 1, 2006

Get to know exactly how an operating system works, like memory management, process creation/control, and device drivers. I was lucky enough to take Linux Kernel Programming at NJIT, and it was an awesome class. Once you learn exactly how a computer does what it does, everything else becomes easy. We used the O'Reilly book: Understanding the Linux Kernel. It is a very technical book, not for the feignt of heart, but its informative. The linux kernel is a good base to know, as the other OS's are basically built the same way.
posted by Mach5 at 3:31 PM on June 1, 2006

I think it is impossible to answer your question without knowing what you hope to do with this knowledge or your career. Maintaining a desktop machine, database, network or server is different to programming, which is different to business / systems analysis, which is different to project management or strategy, and so on. If you are taking an IT subject as part of a degree in another field (eg business), as I assume, then you would be best ignoring anything too low-level & technical.

From your perspective, things like kernels, networks etc can pretty much just be assumed to exist & work without you knowing a thing about how. What you need is enough understanding of the big picture that your IT people / consultants cannot completely pull the wool over your eyes. There should be plenty of introductory subjects that fit this requirement, but if not look out for things like IT architecture, enterprise computing, current trends in IT etc.
posted by UbuRoivas at 4:24 PM on June 1, 2006

Whoops. Missed your [more inside] blurb. Not part of a degree, I guess...?
posted by UbuRoivas at 4:28 PM on June 1, 2006

Well, assuming you want to learn more hardwarey stuff, this is a neat little page of info.
posted by eurasian at 5:25 PM on June 1, 2006

I would recommend getting yourself a guide to the A+ certification. I'm not saying that you should earn that certification (depends on if it would make any difference in your career), but books like this one are basically guides to how computers actually work. As someone who is only a step or two ahead of you, I think you'd enjoy it.
posted by bingo at 6:05 PM on June 1, 2006

In the beginning was the command line is a fascinating historical survey of the history of the operating system, but its technical information is superficial and dated anyway. Its well worth reading for its own sake (it probably inspired more more than any essay I've ever read), but its not a valuable technical document.

I'd second reading digg. And, at the risk of reccomending medicine I haven't taken myself yet, the single most mind-opening skill I think I could reccomend is to learn to write a little assembly language; x86, the real thing (I learned MIPS). Here's a good tutorial.
posted by gsteff at 6:51 PM on June 1, 2006

I deal with this at work every day. The best advice for common users (ie, people who use computers to do their real work) is to compile a list of frequently performed tasks and instruct them in the "best practices" for these tasks. Examples: how to organize files into folders, how to back up files to the network or other secodary medium, how to organize e-mail, etc.

Administrative tasks (your example: defragging the hard drive) should not be the primary focus. A user will get more mileage out of learning how to properly organize a spreadsheet than how to install more memory.
posted by SPrintF at 7:01 PM on June 1, 2006

Best answer: Networking: Pursue the dual track CCNA, it will provide a good basis.

Sites? Arstechnica, Digg, Alterslash, reddit

What to study? Depends on what you want to do, best bet ? Pick up an old computer, install Slackware, or OpenBSD. Set up a VPN server, web server, file share, work on building LAMP from scratch.

The above will break you in to a wide array of systems, applications, and networks.

Best way to learn is to drive yourself batshit doing it yourself.

I say Slack and OpenBSD because they still require you to do some real work and not become a point and drool installer/configurer. Any other distribution allows you to do the same but you'll learn more choosing a distribution that requires more manual configuration.
posted by iamabot at 7:03 PM on June 1, 2006

Do you know how to program? If so you really ought to learn. All the software you use on your computer was programmed (obviously) so once you know how to program you'll have a much better understanding of how it all works.

You'll also have a much better idea of what you need to learn next.
posted by delmoi at 7:08 PM on June 1, 2006

Response by poster: Thank you all for your advice.

I have started reading In the Beginning, jellicle, but I wish the guy would stop with the analogies and start slanging knowledge. It is kind of telling me what things are, though, which is good. GUI!

I have just gone back to school to finish my Molecular Biology degree (what I really do); I have now decided to take a computer class in the fall. There isn't anything called "operating system," "kernel," or "networking," though there are a lot of things that I don't know what they are. This one's in English -- "programming and problem solving." Something about C++ --?

What do you guys think? Is this a good start?

SPrintF, I do know how to do what I need need, and what I don't know about MS Office or whatever, I know how to find out. It's the miracles I want to learn. Elves-with-Hammers Relations.

You give a tantalizing suggestion, iamabot -- I can learn by borking a craigslist computer instead of the one I use. Yah! Like a fetal pig for would-be computer gods.

I have learned a little HTML and Visual Basic (is that programming?) -- but everything I learned to do was boring. Maybe I have a longer attention span now.

And I will check out that hardware page, Eurasian. I like how idiot proof, yet hardcore-seeming, manipulating hardware is.
posted by Methylviolet at 7:39 PM on June 1, 2006

I would skip paying for the class and use the money to build your own computer from parts gathered at something like Through the process of selecting components, installing them, returning the wrong ones, and installing the operating system, you'll get a much higher than average understanding of what's going on. Use sites like Anandtech and HardOCP to help you build and select components. At the end of the process you'll have a much higher knowledge of how everything works than the average user and you'll be able to help average users with most problems. AND, instead of having a certificate you'll have a brand new computer you can use.

Then, I second the suggestion of installing other operating systems on a partition on your new computer. Do a couple varieties of Linux and/or BSD.

From there it makes more sense and will be much easier to pick up programming, writing device drivers, networking and so on. And have fun! Build a gaming rig, even if you don't play many games.
posted by ontic at 8:38 PM on June 1, 2006

Visual Basic (is that programming?)

Prepare for people to be snobby, but, yes.

Definitely, learn to program. And if you're in the Biology field, you might want to learn Perl, which is quite big in that area for some reason.
posted by AmbroseChapel at 8:55 PM on June 1, 2006

You'll get plenty of exposure to hybrid scripting languages if you build your own unix machine and set some goals. As a general rule you'll be well served by learning perl as AmbroseChapel indicates, an alternate is Python.

Perl and to some extent Python are very useful tools in application, systems or network specific fields. As a generalist you'll find yourself piddling around with perl nearly every day.

As a start I'd focus on learning the structure of computing languages and how to read most of the big ones in a pinch, learning how to write code and to write good code is a longer process than you might want to undertake until you have narrowed your scope a bit.

The general idea is to not get intimidated by this stuff, the internets contain all the info you'll need.
posted by iamabot at 10:15 PM on June 1, 2006

If doing Windows stuff is what you're enjoying, you might get some of the study materials for the Microsoft Certified Desktop Support Technician certification. Whether you actually pursue certification is up to you, but that will give you a really thorough overview of modern workstation and OS architecture. It will help you start to figure out what you don't know and what you think is coolest.
posted by Lyn Never at 6:35 AM on June 2, 2006

Best answer: So you want magic? How about learning from the book with the wizard on the cover?

Don't wait until the fall to take your first programming class. MIT's famed introduction to programming class is available online on open courseware, including full video of the lectures.

Beside, C++ is a terrible first programming language.
posted by gmarceau at 9:02 AM on June 2, 2006

Response by poster: Oh Joy! Something I can learn for free, through lectures rather than puzzling out a book.

But Lyn Never with the MS desktop and Bingo with the A+ hardware thingy give me excellent suggestions to check out at the library. And hell, if I did get certified it would make be more attractive to biolabs, where usually nobody wants to mess with the computers.

So when do I get the cape?
posted by Methylviolet at 9:33 AM on June 2, 2006

« Older Pricing website creation.   |   Program to find duplicate song files? Newer »
This thread is closed to new comments.