Include warning of weak ciphers used by k5srvutil change
[wiki.git] / doc / summer-reading.mdwn
index 48f55544a6eb446ebb1f33ce79c2740fa4626b21..3ab302d12eee1a912eeef2d6becb18598de5239b 100644 (file)
@@ -1,5 +1,9 @@
 [[!meta title="Summer Reading"]]
 
 [[!meta title="Summer Reading"]]
 
+Remember middle school English class, when you got a list of books to read over the summer before class? In some classes there was a list of "optional" books which you were encouraged to read if you were particularly bored over the summer or over term. This list is somewhat like the latter, except even more informal and hopefully more interesting.
+
+Additions are quite welcome.
+
 ## Articles
 
  * [The Kerberos play](http://web.mit.edu/Kerberos/dialogue.html): explains why Kerberos works the way it does
 ## Articles
 
  * [The Kerberos play](http://web.mit.edu/Kerberos/dialogue.html): explains why Kerberos works the way it does
  * On that note, the [GPLv3](http://www.gnu.org/licenses/gpl.html) and [GPLv2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). Dense legal style, but also worth reading once, to understand what free software is about
  * [The Cathedral and the Bazaar](http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/), by Eric Raymond: an overview of closed-source ("cathedral") vs. open-source ("bazaar") design and participation philosophies
  * [Why Nerds are Unpopular](http://www.paulgraham.com/nerds.html), by Paul Graham
  * On that note, the [GPLv3](http://www.gnu.org/licenses/gpl.html) and [GPLv2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html). Dense legal style, but also worth reading once, to understand what free software is about
  * [The Cathedral and the Bazaar](http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/), by Eric Raymond: an overview of closed-source ("cathedral") vs. open-source ("bazaar") design and participation philosophies
  * [Why Nerds are Unpopular](http://www.paulgraham.com/nerds.html), by Paul Graham
- * [How Athena Works](http://web.mit.edu/ghudson/info/athena), by Greg Hudson, longtime Athena engineer and SIPB member
+ * [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
  * [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
 
 
 ## Books online
 
  * 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.
  * 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.
 
 ## Blogs, etc.
 
 
 Don't forget about [Safari](http://safari.oreilly.com/) -- O'Reilly books online, free for MIT people.
 
 ## Blogs, etc.
 
- * [Joel on Software](http://www.joelonsoftware.com), a software developer in charge of a small company who writes well
+ * [Joel on Software](http://www.joelonsoftware.com), written by the author of a small software development firm
   * [Making Wrong Code Look Wrong](http://www.joelonsoftware.com/articles/Wrong.html)
   * [The Law of Leaky Abstractions](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
   * [Making Wrong Code Look Wrong](http://www.joelonsoftware.com/articles/Wrong.html)
   * [The Law of Leaky Abstractions](http://www.joelonsoftware.com/articles/LeakyAbstractions.html)
-  * [Things You Should Never Do](http://www.joelonsoftware.com/articles/fog0000000069.html), i.e., rewrite software from scratch
+  * [Things You Should Never Do, Part I](http://www.joelonsoftware.com/articles/fog0000000069.html): rewrite software from scratch
   * [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 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/), 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.
+ * [The Old New Thing](http://blogs.msdn.com/oldnewthing/), by a Microsoft engineer. The premise of the blog is stupid hacks needed for backwards compatibility, but it also covers general Windows API design.
+ * [Jamie Zawinski's](http://www.jwz.org/doc/) writings / rants. jwz developed Netscape 1-3, and played a role in Netscape being open sourced and becoming Mozilla.
+ * [Paul Graham's Essays](http://www.paulgraham.com/articles.html) on software, startups, and writing. Paul Graham is noted for founding Viaweb (later Yahoo! Store) and Y Combinator.