Jeff's Learning for Geeks Page

Hone the mad geek skillz!

Here are resources I've found to be useful. Rather than being an exhaustive list, I've included only what I consider the best. If there is overlap in coverage it's because both works have enough merit to be included. I have either used these resources myself or have it on good authority they are useful. If you go to people who know and ask "what's the best tutorial on..." these resources will pop up.

As always, if you think you know of something better or disagree with my recommendations, let me know. I'm always looking for better resources.

Quick links: General Linux Programming Web Perl Java Documentation

General Topics

O'Reilly Open Books project

Here is a list of freely books downloadable books from O'Reilly. Most were taken out of print, or intentionally released under open license.

Quality stuff on make, Docbook, network administration, open source, CGI and more.

This is a just in time publishing company that prints a book as it's ordered. Some can be downloaded cheaply or for free.

Pretty much what it says, a referance on protocols. Sections on TCP/IP, VoIP, Cellular, etcetera.

General Linux

The Linux Documentation Project

Old and respected repository of all Linux knowledge. At one time, everything worth reading was here. It eroded into a poorly maintained collection of out of date HOW-TOs, but over the last few years they've worked to get up to date. The guides are good and in many cases are the best online resource on the topic.


A community based site to help people learn about the kernel. Also good for compiling and patching kernel. Definitely worth checking out.

General Programming

How to think like a Computer Scientist

A beginner's programming tutorial based on Python. Also widely regarded as the best way to learn Python.

Programming from the Ground Up

This is an introductory book on programming using Linux assembly language. Available as a PDF, and also in print. Does a good job of explaining the basics of computer operation and programming in a compact format. Also introduces high level languages and even GUI programming.

How to Design Programs

An introduction to programming and computing. An online programming text from MIT press. Uses Scheme as a programming language.

Web Programming

The WWW Security FAQ

Basic guide to security for web hosts and users. Good information on writing secure CGI scripts and configuring apache for security. Many links to other resources.

HTML help by the Web Design Group

A good reference on all kinds of basic web design/production stuff. Lots of resources, FAQs, etc.

456 Berea St

A bloggish site with information on web design. Seems pretty up to date and useful.

Perl Programming

Robert's Perl Tutorial

I have every major O'Reilly Perl book and have wanted to learn it for years. It wasn't until I found this tutorial that I actually did it. Covers all the basics. It's Windows oriented, but I didn't find that a hindrance. The original author isn't available, so I've mirrored it here without permission. I've updated it to "modern" HTML, but tried to keep it untouched otherwise.

The Perl You Need to Know

Another Perl tutorial. This ones handles references, database queries and other advanced topics.

Java Programming

Thinking in Java

An online book by Bruce Eckels. Considered one of the best books on the subject.

Documentation/Technical Writing

Docbook: The Definitive Guide

If you're going to write documentation on Linux, you'll need to know Docbook/XML. Not only is this a complete reference, it's also quite readable. You can also look for the current version here. Docbook standards aren't quickly adopted, though, so the current version may not be the best one to start with.

GNOME Documentation Style Guide

Although it was written to describe GNOME documentation standards, this is an excellent, readable guide to writing documentation.

A Handbook for Technical Writers and Editors

NASA's technical writing handbook. Dry but worth a read. PDF available.

O'Reilly Default Stylesheet

O'Reilly Publishing writing standards.

Plain Language

A guide to writing user-friendly documents.