Difference between revisions of "Learning Resource Recommendations"

From the Linux and Unix Users Group at Virginia Teck Wiki
Jump to: navigation, search
imported>Mjh
(Added ECE, PGP, Opsec links; converted everything to tables)
imported>Pew
 
(27 intermediate revisions by 7 users not shown)
Line 1: Line 1:
 +
''fwiw this information is 5 years old, so don't expect to see any guides to learn rust or anything
 +
 
This page contains recommendations for learning technical information on a variety of subjects. Note that "<code>*</code>" denotes a resource unavailable on dead-tree format.
 
This page contains recommendations for learning technical information on a variety of subjects. Note that "<code>*</code>" denotes a resource unavailable on dead-tree format.
 +
 +
==Others' Lists==
 +
* [http://creativecodeworks.com/blog/programacion/libros-gratuitos-sobre-programacion.html Free Programming Books]
 +
* [http://en.tldp.org/HOWTO/Reading-List-HOWTO/b80.html Linux and Unix Bibliography] - Eric S. Raymond
 +
* [http://www.tldp.org/ The Linux Documentation Project]
  
 
==Reference Cards==
 
==Reference Cards==
Line 10: Line 17:
 
* [http://public.cranfield.ac.uk/c5354/teaching/dip/opencv/manual/opencv_cheatsheet.pdf OpenCV 2.3]
 
* [http://public.cranfield.ac.uk/c5354/teaching/dip/opencv/manual/opencv_cheatsheet.pdf OpenCV 2.3]
 
* [http://www.dayid.org/os/notes/tm.html Screen/Tmux cheat sheet]
 
* [http://www.dayid.org/os/notes/tm.html Screen/Tmux cheat sheet]
 +
 +
==RFCs==
 +
* '''[https://tools.ietf.org/html/rfc2119 RFC 2119: Key words for use in RFCs to Indicate Requirement Levels] (short, must read)
 +
* [https://tools.ietf.org/html/rfc1178 RFC 1178: Choosing a Name for Your Computer]
 +
* [https://tools.ietf.org/html/rfc1918 RFC 1918: Address Allocation for Private Internets]
 +
* [https://tools.ietf.org/html/rfc1459 RFC 1459: Internet Relay Chat Protocol]
 +
* [https://tools.ietf.org/html/rfc2812 RFC 2812: Internet Relay Chat: Client Protocol]
 +
* [https://tools.ietf.org/html/rfc1149 RFC 1149: A Standard for the Transmission of IP Datagrams on Avian Carriers]
 +
* [https://tools.ietf.org/html/rfc2324 RFC 2324: Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)]
  
 
==Non-technical==
 
==Non-technical==
Line 23: Line 39:
 
|-
 
|-
 
|Hacking || [http://www.amazon.com/Hackers-Heroes-Computer-Revolution-Anniversary/dp/1449388396 Hackers: Heroes of the Computer Revolution] || Steven Levy || Book on the history of hacking
 
|Hacking || [http://www.amazon.com/Hackers-Heroes-Computer-Revolution-Anniversary/dp/1449388396 Hackers: Heroes of the Computer Revolution] || Steven Levy || Book on the history of hacking
 +
|-
 +
|History || [http://pthree.org/2009/12/31/the-meaning-of-su/ The Meaning of 'su'] || Aaron Toponce ||
 
|-
 
|-
 
|LUGs || [http://www.tldp.org/HOWTO/User-Group-HOWTO.html Linux Users Group HOWTO] || Rick Moen || TLDP page on starting or running a LUG
 
|LUGs || [http://www.tldp.org/HOWTO/User-Group-HOWTO.html Linux Users Group HOWTO] || Rick Moen || TLDP page on starting or running a LUG
Line 80: Line 98:
 
|-
 
|-
 
| Java || Effective Java ||  ||  
 
| Java || Effective Java ||  ||  
 +
|-
 +
| Lisp || [http://mitpress.mit.edu/sicp/ Structure and Interpretation of Computer Programs] || Harold Abelson, Gerald Sussman ||
 
|-
 
|-
 
| Perl || Learning Perl ||  ||  
 
| Perl || Learning Perl ||  ||  
Line 98: Line 118:
 
|-
 
|-
 
| Software Engineering || The Practice of Programming || Brian Kernighan ||
 
| 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.
 
|-
 
|-
 
|}
 
|}
Line 146: Line 168:
 
|-
 
|-
 
| General || [http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957 The Art of Electronics] || Paul Horowitz || Excellent textbook and reference for both analog and digital circuits
 
| General || [http://www.amazon.com/Art-Electronics-Paul-Horowitz/dp/0521370957 The Art of Electronics] || Paul Horowitz || Excellent textbook and reference for both analog and digital circuits
 +
|-
 +
| General || [http://www.electronics-tutorials.ws/ Electronics Tutorials] || Wayne Storr || Basic tutorials on a variety of circuit elements
 +
|-
 +
| PCB Design || [http://www.ece.vt.edu/cel/docs/PC_Board_Design_Example_v2.pdf CEL PCB Design Example] || The Bob Lineberry || For ECE 4534
 +
|-
 +
| Soldering || [http://workmanship.nasa.gov/lib/insp/2%20books/frameset.html NASA Soldering Standards] || NASA || A good pictorial reference on soldering quality
 +
|-
 +
| Soldering || [http://filebox.ece.vt.edu/%7Elineb/Soldering_Prototypes.html CEL Soldering Videos] || The Bob Lineberry ||
 
|-
 
|-
 
|}
 
|}
Line 157: Line 187:
 
|-
 
|-
 
| BSD || Berkeley Unix: A Simple and Comprehensive Guide ||  ||  
 
| BSD || Berkeley Unix: A Simple and Comprehensive Guide ||  ||  
 +
|-
 +
| Linux || [http://nixsrv.com/llthw Learn Linux the Hard Way] || ||
 +
|-
 +
| Unix || [http://ardensdd.com/ UNIX Tutorial for Beginners] ||  ||
 
|-
 
|-
 
| Unix || Unix Made Easy ||  ||
 
| Unix || Unix Made Easy ||  ||
Line 171: Line 205:
 
|-
 
|-
 
| Unix || Using C on the UNIX System ||  ||
 
| Unix || Using C on the UNIX System ||  ||
 +
|-
 +
| Unix || [http://www.linusakesson.net/programming/tty/ The TTY Demystified] || Linus Akesson ||
 
|-
 
|-
 
|}
 
|}
Line 178: Line 214:
 
|-
 
|-
 
! Topic !! Title !! Author !! Notes  
 
! Topic !! Title !! Author !! Notes  
|-
 
| Cryptography || Applied Cryptography ||  ||
 
 
|-
 
|-
 
| Cryptography || Handbook of Applied Cryptography* ||  ||
 
| Cryptography || Handbook of Applied Cryptography* ||  ||
Line 216: Line 250:
 
|-
 
|-
 
| Software || The Book of PF (2nd edition) ||  ||  
 
| Software || The Book of PF (2nd edition) ||  ||  
|-
 
|}
 
 
==Web Development==
 
{| class="wikitable sortable"
 
|-
 
! 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 ||  ||
 
 
|-
 
|-
 
|}
 
|}
Line 241: Line 258:
 
* PostScript Language *
 
* PostScript Language *
 
* [http://fileformats.archiveteam.org/wiki/Main_Page File Formats Wiki] - Archive Team
 
* [http://fileformats.archiveteam.org/wiki/Main_Page File Formats Wiki] - Archive Team
 +
* [https://help.ubuntu.com/community/PXEInstallMultiDistro PXE Install Multiple Distros]
  
==External Lists==
+
[[Category:Software]]
* [http://creativecodeworks.com/blog/programacion/libros-gratuitos-sobre-programacion.html Free Programming Books]
+
[[Category:Reference]]
* [http://en.tldp.org/HOWTO/Reading-List-HOWTO/b80.html Linux and Unix Bibliography] - Eric S. Raymond
+
[[Category:Featured content]]
* [http://www.tldp.org/ The Linux Documentation Project]
 

Latest revision as of 10:32, 6 January 2018

fwiw this information is 5 years old, so don't expect to see any guides to learn rust or anything

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)

Other