Added instructions for how to SSH into linerva.
[wiki.git] / doc / SummerReading
1 = Articles =
2
3  * [http://web.mit.edu/Kerberos/dialogue.html The Kerberos play]: explains why Kerberos works the way it does
4  * [http://www.jwz.org/doc/worse-is-better.html The Rise of Worse is Better]: a brief description of the single coding philosophy that most influenced the design of UNIX and many related systems. The [http://web.mit.edu/geofft/Public/gabriel-on-lisp.ps entire article], rather than just the section, is available in PostScript
5  * Tim Berners-Lee's [http://www.w3.org/DesignIssues/ Design Issues] section, and his piece on why [http://www.w3.org/Provider/Style/URI Cool URIs Don't Change]
6  * [http://catb.org/esr/faqs/smart-questions.html How To Ask Questions The Smart Way] -- A document on asking questions in hacker communities in ways that will help you get answers. Many of its points apply to places like Zephyr, too.
7  * A definition of [http://projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html yak shaving], which you'll often find SIPB members unwisely engaging in.
8  * [http://www.gnu.org/philosophy/philosophy.html GNU Philosophy], hardline but worth reading.
9  * On that note, the [http://www.gnu.org/licenses/gpl.html GPLv3] and [http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GPLv2]. Dense legal style, but also worth reading once, to understand what free software is about
10  * [http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ The Cathedral and the Bazaar], by Eric Raymond: an overview of closed-source ("cathedral") vs. open-source ("bazaar") design and participation philosophies
11  * [http://www.paulgraham.com/nerds.html Why Nerds are Unpopular], by Paul Graham
12  * [http://web.mit.edu/ghudson/info/athena How Athena Works], by Greg Hudson, longtime Athena engineer and SIPB member
13  * [http://www.jwz.org/doc/threading.html The e-mail threading algorithm], 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 [http://www.jwz.org/doc/mailsum.html lost argument with Netscape 4's engineers] against replacing the algorithm with something overengineered
14  
15
16 = Books online =
17
18  * Abelson and Sussman, [http://mitpress.mit.edu/sicp/full-text/book/book.html Structure and Interpretation of Computer Programs]: the classic textbook for the famous 6.001
19  * Eric Raymond, [http://www.catb.org/esr/writings/taoup/html/index.html The Art of Unix Programming]: also explains a lot of design
20  * Mark Pilgrim, [http://diveintopython.org/ Dive Into Python]: "a Python book for experienced programmers"
21  * Eric Raymond, ed., [http://catb.org/~esr/jargon/ The Jargon File]: a lot of hacker terminology and lore, plus quite a few interesting articles near the beginning.
22
23 Don't forget about [http://safari.oreilly.com/ Safari] -- O'Reilly books online, free for MIT people.
24
25 = Blogs, etc. =
26  * [http://www.joelonsoftware.com Joel on Software], a software developer in charge of a small company who writes well
27   * [http://www.joelonsoftware.com/articles/Wrong.html Making Wrong Code Look Wrong]
28   * [http://www.joelonsoftware.com/articles/LeakyAbstractions.html The Law of Leaky Abstractions]
29   * [http://www.joelonsoftware.com/articles/fog0000000069.html Things You Should Never Do], i.e., rewrite software from scratch
30   * [http://www.joelonsoftware.com/articles/Unicode.html The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)]
31  * [http://blogs.msdn.com/oldnewthing/ The Old New Thing], an engineer for MS who writes about stupid hacks in the name of backwards compatibility
32  * [http://www.jwz.org/doc/ Jamie Zawinski's] writings / rants. jwz developed Netscape 1-3, and played a role in the open sourcing of Netscape as Mozilla.