Add djb's UNIX Security Holes course notes
[wiki.git] / doc / summer-reading.mdwn
index ac0f8d44b993d4f5daa8242957fc2fe81d5047e7..8ef0b87ced891204c5c192138bfef174d3f0b6bc 100644 (file)
@@ -18,6 +18,7 @@ Additions are quite welcome.
  * [How Athena Works](http://web.mit.edu/ghudson/info/athena), by Greg Hudson, longtime Athena engineer and SIPB member. Note that sections 5 through 11 don't really apply any more.
  * [The e-mail threading algorithm](http://www.jwz.org/doc/threading.html), by Jamie Zawinski (jwz), old Netscape hacker. Interesting not only for the algorithm per se, but for his description of the process leading to its development, and his [lost argument with Netscape 4's engineers](http://www.jwz.org/doc/mailsum.html) against replacing the algorithm with something overengineered
  * [HOWTO Encourage Women in Linux](http://valerieaurora.org/howto.html), by Valerie Aurora, a Linux kernel hacker.
+ * [The Unix Time-Sharing System](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.1204&rep=rep1&type=pdf), by Dennis Ritchie and Ken Thompson. From 1974, but still almost entirely accurate. Sections 3, 5, and 6 are particularly good
 
 ## Books online
 
@@ -25,6 +26,7 @@ Additions are quite welcome.
  * Eric Raymond, [The Art of Unix Programming](http://www.catb.org/esr/writings/taoup/html/index.html): also explains a lot of design
  * Mark Pilgrim, [Dive Into Python](http://diveintopython.org/): "a Python book for experienced programmers"
  * Eric Raymond, ed., [The Jargon File](http://catb.org/~esr/jargon/): a lot of hacker terminology and lore, plus quite a few interesting articles near the beginning.
+ * Not a book, but D. J. Bernstein's [course notes from MCS 494, UNIX Security Holes](http://cr.yp.to/2004-494.html) are worth working through. At the least, any programmer who expects other people to run his or her code needs to be able to pass the final exam.
 
 Don't forget about [Safari](http://safari.oreilly.com/) -- O'Reilly books online, free for MIT people.
 
@@ -37,3 +39,4 @@ Don't forget about [Safari](http://safari.oreilly.com/) -- O'Reilly books online
   * [The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)](http://www.joelonsoftware.com/articles/Unicode.html)
  * [The Old New Thing](http://blogs.msdn.com/oldnewthing/), by an engineer for MS who writes about stupid hacks in the name of backwards compatibility
  * [Jamie Zawinski's](http://www.jwz.org/doc/) writings / rants. jwz developed Netscape 1-3, and played a role in the open sourcing of Netscape as Mozilla.
+ * [Paul Graham's Essays](http://www.paulgraham.com/articles.html) on Software, Startups, and Writing.