
The Architecture of Open Source Applications - ryanatallah
http://aosabook.org/en/index.html
======
infinii
Take a look at the pricing page. The ePub and PDF versions are a fraction of
the cost of the paperbacks. Finally someone with a clue! It's always annoyed
me to no ends that Amazon only provides a small discount for their Kindle
version compared to a paperback.

[http://aosabook.org/en/buy.html](http://aosabook.org/en/buy.html)

~~~
hga
_It 's always annoyed me to no ends that Amazon only provides a small discount
for their Kindle version compared to a paperback._

That's entirely up to the publisher. A lot of books that are self-published
have a significant price difference, e.g. Kindle version at something under
$5, paperback something over $10. I get the impression that at least some of
the new publishing houses that are establishing themselves are following this
model for the titles they will also offer in print.

------
kkl
This is a fantastic book. I recommend both the section on Google Chrome [1]
and GHC [2]. Regardless of your level of interest in web browsers or
compilers, they are both really educational and interesting reads.

[1] [http://aosabook.org/en/posa/high-performance-networking-
in-c...](http://aosabook.org/en/posa/high-performance-networking-in-
chrome.html) [2]
[http://aosabook.org/en/ghc.html](http://aosabook.org/en/ghc.html)

~~~
erikb
Huh? I've read many articles from it before, but haven't seen Chrome before.
Did they add that later on?

~~~
kalmar
It's from a more recent addition to the series, focused on performance. I
reviewed that chapter and it's very well written.

------
Flux159
This seems like a great resource to read about the architecture behind a lot
of great applications and tools (nginx, scalable web architecture, nosql
databases, git just to name a few). Definitely going to bookmark for later.

Related to that, I wonder if there are similar resources for learning about
Blender's architecture (open source 3d modeler that has its own tiled UI
system and integrates with an internal python interpreter) or the Linux
kernel. I feel like those could be immensely useful for studying/understanding
those large codebases for newcomers.

~~~
SwellJoe
There are several documentation projects about the Linux kernel, of wildly
varying quality. Honestly, though, I believe you'd be better served by the
Stevens books and the Tanenbaum MINIX book, if you're not already familiar
with kernels or the UNIX architecture, in general. The Stevens books are, bar
none, the best books about UNIX programming and TCP/IP network programming,
and as far as I can tell every serious Linux developer has a working knowledge
of Stevens, and many have referenced Stevens when discussing implementation
details. And, of course, Linux was originally developed as kind of a response
to MINIX and shares many characteristics, and was designed as a teaching
operating system (there are other teaching operating systems, but none are
probably closer to Linux than older MINIX versions).

Here's some Linux kernel specific stuff:

[http://tldp.org/LDP/tlk/tlk.html](http://tldp.org/LDP/tlk/tlk.html)

[http://www.kroah.com/lkn/](http://www.kroah.com/lkn/)

[http://www.amazon.com/Linux-System-Programming-Talking-
Direc...](http://www.amazon.com/Linux-System-Programming-Talking-
Directly/dp/1449339530/ref=pd_sim_sbs_b_2?ie=UTF8&refRID=0C0WQPSNFZGST1372VTZ)

The first two have some age on them, but are still relatively reflective of
the overall architecture of Linux, even if a lot of detail has changed.
Anyway, these three are of reasonable quality. Some of the other stuff out
there is pretty rough.

~~~
mkesper
Where did you conclude from Linux was designed as a teaching operating system?

~~~
SwellJoe
I was speaking of MINIX. I can see how my language wasn't clear, though. Linux
was not designed as a teaching operating system. Though Linus did hint that he
was using it to learn about operating systems.

------
colund
Here's an old thread
[https://news.ycombinator.com/item?id=6404929](https://news.ycombinator.com/item?id=6404929)

------
galilyou498
Interesting work. The part on scalable web architecture is very nicely written
and the advice there is very valuable.
[http://aosabook.org/en/distsys.html](http://aosabook.org/en/distsys.html)

~~~
guiomie
I went thru that section, and it's all concepts I learnt on the job in the
last 4 years. It would have been good to have read this at the beginning of my
career.

------
kcsarath
This series of books has been a great resource and I have been reading them
for some time.

Thanks to the authors and editors for creating such an awesome resource. A
must read for engineers who want to learn.

Some of my favorites have been
[http://aosabook.org/en/nginx.html](http://aosabook.org/en/nginx.html)
[http://aosabook.org/en/sqlalchemy.html](http://aosabook.org/en/sqlalchemy.html)
[http://aosabook.org/en/distsys.html](http://aosabook.org/en/distsys.html)
from the first volume.

[http://aosabook.org/en/graphite.html](http://aosabook.org/en/graphite.html)
[http://aosabook.org/en/llvm.html](http://aosabook.org/en/llvm.html)
[http://aosabook.org/en/asterisk.html](http://aosabook.org/en/asterisk.html)
from the second volume.

The new volume on Performance is also very good with the
[http://aosabook.org/en/posa/high-performance-networking-
in-c...](http://aosabook.org/en/posa/high-performance-networking-in-
chrome.html) and [http://aosabook.org/en/posa/secrets-of-mobile-network-
perfor...](http://aosabook.org/en/posa/secrets-of-mobile-network-
performance.html)

being my favorites.

------
anon3_
My favorites so far:

* [http://aosabook.org/en/sqlalchemy.html](http://aosabook.org/en/sqlalchemy.html)

* [http://aosabook.org/en/llvm.html](http://aosabook.org/en/llvm.html)

* [http://aosabook.org/en/asterisk.html](http://aosabook.org/en/asterisk.html)

I have no opinion on the performance book yet, however if you're interested
the _architecture_ , look at those books one and two.

