top | item 9418788

The Architecture of Open Source Applications

116 points| ryanatallah | 11 years ago |aosabook.org

15 comments

order

infinii|11 years ago

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

hga|11 years ago

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.

Flux159|11 years ago

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|11 years ago

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://www.kroah.com/lkn/

http://www.amazon.com/Linux-System-Programming-Talking-Direc...

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.

galilyou498|11 years ago

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

guiomie|11 years ago

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|11 years ago

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/sqlalchemy.html http://aosabook.org/en/distsys.html from the first volume.

http://aosabook.org/en/graphite.html http://aosabook.org/en/llvm.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... and http://aosabook.org/en/posa/secrets-of-mobile-network-perfor...

being my favorites.