= Articles = * [http://web.mit.edu/Kerberos/dialogue.html The Kerberos play]: explains why Kerberos works the way it does * [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 * 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] * [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. * 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. * [http://www.gnu.org/philosophy/philosophy.html GNU Philosophy], hardline but worth reading. * 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 * [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 * [http://www.paulgraham.com/nerds.html Why Nerds are Unpopular], by Paul Graham * [http://web.mit.edu/ghudson/info/athena How Athena Works], by Greg Hudson, longtime Athena engineer and SIPB member * [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 = Books online = * 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 * Eric Raymond, [http://www.catb.org/esr/writings/taoup/html/index.html The Art of Unix Programming]: also explains a lot of design * Mark Pilgrim, [http://diveintopython.org/ Dive Into Python]: "a Python book for experienced programmers" * 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. Don't forget about [http://safari.oreilly.com/ Safari] -- O'Reilly books online, free for MIT people. = Blogs, etc. = * [http://www.joelonsoftware.com Joel on Software], a software developer in charge of a small company who writes well * [http://www.joelonsoftware.com/articles/Wrong.html Making Wrong Code Look Wrong] * [http://www.joelonsoftware.com/articles/LeakyAbstractions.html The Law of Leaky Abstractions] * [http://www.joelonsoftware.com/articles/fog0000000069.html Things You Should Never Do], i.e., rewrite software from scratch * [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://blogs.msdn.com/oldnewthing/ The Old New Thing], an engineer for MS who writes about stupid hacks in the name of backwards compatibility * [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.