Learning Resource Recommendations
Revision as of 23:16, 18 February 2013 by imported>Timelord (→RFC)
This page contains recommendations for learning technical information on a variety of subjects. Note that "*
" denotes a resource unavailable on dead-tree format.
Contents
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 |
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 | ||
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 |
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 |
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 | ||
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 |
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
Topic | Title | Author | Notes |
---|---|---|---|
Node.js | Node: Up and Running | ||
HTML | HTML & CSS: The Good Parts | ||
JavaScript | Eloquent JavaScript* | ||
JavaScript | JavaScript: The Good Parts | ||
WebGL | WebGL: Up and Running |
Other
- Checking C Programs with lint
- PDF Explained
- PostScript Language *
- File Formats Wiki - Archive Team
- PXE Install Multiple Distros
External Links
- Free Programming Books
- Linux and Unix Bibliography - Eric S. Raymond
- The Linux Documentation Project