Learning Resource Recommendations

From the Linux and Unix Users Group at Virginia Teck Wiki
Revision as of 02:59, 19 June 2013 by 23.25.115.145 (talk) (Electrical and Computer Engineering)
Jump to: navigation, search

This page contains recommendations for learning technical information on a variety of subjects. Note that "*" denotes a resource unavailable on dead-tree format.

Others' Lists

Reference Cards

RFCs

Non-technical

Topic Title Author Notes
Hacking How To Become a Hacker Eric Raymond Introduction to hacking
Hacking The Jargon File Eric Raymond Glossary of hacker jargon with historical background
Hacking The Word "Hacker" Paul Graham Another introduction
Hacking Hackers: Heroes of the Computer Revolution Steven Levy Book on the history of hacking
History The Meaning of 'su' Aaron Toponce
LUGs Linux Users Group HOWTO Rick Moen TLDP page on starting or running a LUG
Support How to Ask Questions the Smart Way Eric S. Raymond

Productivity

Topic Title Author Notes
Regex Mastering Regular Expressions
Shell Learning the Bash Shell
Shell From Bash to Z Shell: Conquering the Command Line
Version Control Version Control with Git

Programming

Topic Title Author Notes
ASM PC Assembly Language *
C The C Programming Language Brian Kernighan, Dennis Ritchie
C C: A Reference Manual
C The Standard C Library
C The Elements of C Programming Style
C 21st Century C
C Mastering Algorithms with C
C++ The C++ Programming Language
C++ C++ The Core Language
C++ Practical C++ Programming
C++ Safe C++
C++ Effective STL
C++ C++: The Good Parts Still being written as of Dec. 2012
Haskell Learn You a Haskell for Great Good
Java Thinking in Java *
Java Effective Java
Lisp Structure and Interpretation of Computer Programs Harold Abelson, Gerald Sussman
Perl Learning Perl
R R Language Definition *
R An Introduction to R *
Ruby Ruby on Rails Tutorial: Learn Web Development with Rails (2nd edition)
Software Engineering Beautiful Code
Software Engineering The Art Of Readable Code
Software Engineering Code Simplicity
Software Engineering Design Patterns Gang of Four Classic book on OOP design paradigms
Software Engineering The Practice of Programming Brian Kernighan
Software Engineering Write Great Code, Volume 2 Randall Hyde About how to choose the best high level constructs that translate into efficient low-level code.

Computer Science

Topic Title Author Notes
Algorithms Intro to Algorithms Corman, Leiserson, Rivest, Stein
Algorithms The Art Of Computer Programming: Fundamental Algorithms Knuth
Algorithms The Art Of Computer Programming: Seminumerical Algorithms Knuth
Algorithms The Art Of Computer Programming: Sorting and Searching Knuth
Algorithms The Art Of Computer Programming: Combinatorial Algorithms, Part 1 Knuth
Compilers The Art of Compiler Design
Computer Architecture What Every Programmer Should Know About Memory *
Computer Vision Learning OpenCV
Machine Learning Machine Learning for Hackers
Networking TCP/IP Illustrated, Volume 1
Operating Systems Mac OS X Internals

Electrical and Computer Engineering

Topic Title Author Notes
General All About Circuits Free online intro-level circuits textbook.
DIY ladyada wiki Limor Fried, et al Good reference for hobbyists
DIY Partfinder Limor Fried, et al Wiki page with links to distributors of various parts (including sampling)
DIY Arduino Playground Arduino Official Arduino wiki
ICs 74 Series Logic ICs John Hughes Broad overview of the IC family and summary of the more common chips
General The Art of Electronics Paul Horowitz Excellent textbook and reference for both analog and digital circuits
General Electronics Tutorials Wayne Storr Basic tutorials on a variety of circuit elements
PCB Design CEL PCB Design Example The Bob Lineberry For ECE 4534
Soldering NASA Soldering Standards NASA A good pictorial reference on soldering quality
Soldering CEL Soldering Videos The Bob Lineberry

Operating Systems

Topic Title Author Notes
BSD The Design and Implementation of the 4.4 BSD Operating System
BSD Berkeley Unix: A Simple and Comprehensive Guide
Linux Learn Linux the Hard Way
Unix UNIX Tutorial for Beginners
Unix Unix Made Easy
Unix The Unix Programming Environment
Unix Advanced Programming in the Unix Environment (2nd Edition)
Unix The Art of Unix Programming Eric S. Raymond
Unix Unix Systems for Modern Architectures
Unix UNIX Power Tools
Unix Using C on the UNIX System
Unix The TTY Demystified Linus Akesson

Security

Topic Title Author Notes
Cryptography Handbook of Applied Cryptography*
Cryptography Applied Cryptography: Protocols, Algorithms, and Source Code in C
Cryptography Cryptography I Dan Boneh Stanford's crypto class, all materials are freely available
General Schneier on Security Blog Bruce Schneier Security blog and rants about the TSA
OpSec Surveillance Self-Defense EFF Guide to protecting your data from the Powers That Be
OpSec Cyphernomicon Timothy May
OpSec CryptoParty Handbook (crowd-sourced) Guide to running a CryptoParty and using basic tools (Tor, Truecrypt, PGP, etc)
OpSec Don't Talk to Police James Duane Youtube video from US attorney on dealing with police encounters
OpSec Encrypt Everything Pirate Party of Canada
PGP OpenPGP best practices Riseup Labs
PGP Keysigning Party HOWTO V. Alex Brennen Guide to efficient group keysigning
PGP Biglumber Coordinates keysigning parties by geographical area
PGP comp.security.pgp FAQ Wouter Slegers
PGP RFC 4880 J. Callas, et al OpenPGP message format
PGP Always sign your PGP key Keith Parkins
PGP GnuPG FAQ
Software The Art of Software Security Assessment
Software The Book of PF (2nd edition)

Web Development

See Recommended Web Design Reference Documentation.

Other