This is the source for the book 500 Lines or Less, the fourth in the
Architecture of Open Source Applications series. As
with other books in the series, all written material will be covered by the
Creative Commons - Attribution license, and all code by the MIT License: please
see the license description for details. In addition, all
royalties from paid-for versions will all go to Amnesty International.
Every architect studies family homes, apartments, schools, and other common
types of buildings during her training. Equally, every programmer ought to
know how a compiler turns text into instructions, how a spreadsheet updates
cells, and how a browser decides what to put where when it renders a page.
This book’s goal is to give readers that broad-ranging overview, and while
doing so, to help them understand how software designers think.
Contributions should not focus on the details of one algorithm or on the
features of a particular language. Instead, they should discuss the decisions
and tradeoffs software architects make when crafting an application:
Writing for a book like this should be fun, so we’re trying to keep process to
minimum. Here is our basic set of procedural guidelines:
When you start coding, try to submit one pull request early (e.g. somewhere
between 50-100 lines), so that we can catch any early problems that we never
thought about.
After that first commit, feel free to submit pull requests as often or as
infrequently as you like.
When you are done your “first draft” of your code, do let us know in the
commit message, or by emailing us directly (emails below). We’ll assign a
reviewer or two to your work at that time.
| Name | Affiliation | Project | Online | GitHub | Email (if you choose) |
|---|---|---|---|---|---|
| Mike DiBernardo | freelance | editorial | MichaelDiBernardo | mikedebo@gmail.com | |
| Dustin Mitchell | Mozilla | cluster | djmitche | dustin@mozila.com | |
| Audrey Tang | g0v.tw, Socialtext, Apple | spreadsheet | audreyt | audreyt@audreyt.org | |
| Greg Wilson | Mozilla | web-server | gvwilson | gvwilson@third-bit.com | |
| Kresten Krab Thorup | Trifork | torrent client | krestenkrab | krab@trifork.com | |
| Taavi Burns | Points.com | data-store | taavi | taavi.burns@points.com | |
| Guido van Rossum | Dropbox | crawler | gvanrossum | guido@python.org | |
| Erick Dransch | Upverter | Modeller | EkkiD | erick.dransch@upverter.com | |
| Sarah Mei | Ministry of Velocity | testing framework | sarahmei | ||
| Leah Hanson | static analysis | astrieanna | leah.a.hanson@gmail.com | ||
| Christian Muise | University of Melbourne | flow-shop | haz | christian.muise@gmail.com | |
| Carlos Scheidegger | AT&T Research | rasterizer | cscheid | carlos.scheidegger@gmail.com | |
| Marina Samuel | Mozilla | ocr | emtwo | msamuel@mozilla.com | |
| Cate Huston | Image Filter app | catehstn | catehuston@gmail.com | ||
| Yoav Rubin | Microsoft | In-memory functional database | yoavrubin |
We use cookies to analyze traffic and improve your experience. You can accept or reject analytics cookies.