The Architecture of Open Source Applications: The Blog

  • Michael DiBernardo - Thu 03 April 2014 -

    Are you coming to PyCon 2014? If so, we invite you to join us at the 500 Lines or Less Open Space!

    The purpose of the Open Space is to discuss some sample programs and chapters that have been written so far, and to brainstorm possible directions that this work could take from here.

    The open space is at 1PM on Sunday April 14th in room 522A.

    There's no requirement to sign up beforehand -- all you have to do is show up.

    Hope to see you there!


  • Michael DiBernardo - Fri 03 January 2014 -

    While the Performance of Open Source Applications was released just a few months ago, work on the fourth AOSA book is already well underway!

    This volume is called 500 Lines or Less, and is focused on short but complete implementations of canonical programs and architectural patterns in computer science.

    The motivation is described succinctly in the project statement:

    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.

    Each chapter will consist of a (max) 500 line, self-contained program, and a narrative surrounding that program that describes how it works, and (more importantly) why it is designed the way it is.

    Contributors are already working on their 500 line implementations. Once each contributor completes a "first draft" of their code, we assign them a technical reviewers to provide constructive commentary.

    That's where we need your help.

    There are a lot of contributors to this project, and we want them to get as much feedback as possible before they begin writing up their chapters!

    We're looking for reviewers at all levels of experience. If you're still early in your programming career, we'd especially love to hear from you, as your opinions as to which parts are easily accessible and which are confusing will be incredibly helpful.

    In terms of scheduling, our first-draft code submissions are due by end of February, but many contributors are ahead of schedule and could use reviewers right now!

    We're also hoping that our code reviewers will stick around to provide commentary on the drafts of completed chapters once those start to roll in from March onwards.

    All technical reviewers will of course receive credit for their work in the book, and will be supporting a good cause -- all royalties from paid-for versions of the book will go to Amnesty International.

    If this sounds fun to you, please sign up here.

    Questions? Please ask at aosa@aosabook.org. We look forward to having you on board!


  • Tavish Armstrong - Sun 03 November 2013 -

    The Performance of Open Source Applications is now available for the Kindle through Amazon. As with the other electronic versions, this one costs USD$5.99, with royalties going to Amnesty International.

    If you don't have a Kindle, see the Buy page for more information on available formats.

    Enjoy!


  • Tavish Armstrong - Fri 01 November 2013 -

    The Performance of Open Source Applications is now available in ePub and PDF formats on Lulu.com. Both cost USD$5.99 and as with the print edition, the royalties go to Amnesty International.

    Enjoy!


  • Tavish Armstrong - Mon 07 October 2013 -

    I'm happy to announce that The Performance of Open Source Applications is finally out. You can read it on our main site or buy a paper copy from Lulu for US$25.00. As with the previous two books, all royalties go to Amnesty International.

    Thank you to everyone who contributed, and everyone who cheered us on. I hope you learn as much from the authors as I did.

    The cover for The Performance of Open Source Applications


  • Tavish Armstrong - Thu 08 August 2013 -

    The Performance of Open Source Applications isn't here yet, but it will be soon. In the mean time, I'll post the chapter list.

    1. High Performance Networking in Chromium by Ilya Grigorik
    2. From SocialCalc to EtherCalc by Audrey Tang
    3. Ninja by Evan Martin
    4. Parsing XML at the speed of light by Arseny Kapoulkine
    5. Memshrink by Kyle Huey
    6. Applying Optimization Principle Patterns to Component Deployment and Configuration Tools by Doug C. Schmidt, William R. Otte, and Aniruddha Gokhale
    7. Infinispan by Manik Surtani
    8. Talos by Clint Talbert and Joel Maher
    9. Zotonic by Michiel KLønhammer, Arjan Scherpenisse, and Marc Worrell
    10. Secrets of Mobile Network Performance by Bryce Howard
    11. Warp by Kazu Yamamoto, Michael Snoyman and Andreas Voellmy
    12. Working with Big Data in Bioinformatics by Eric McDonald and C. Titus Brown

    I'd like to take this moment also to thank everyone who responded to this tweet asking for help with proofreading. You know who you are, and you are great.


  • Greg Wilson - Wed 30 January 2013 -

    Releng 2013 is a one day workshop (co-located with ICSE) to bring together release engineers and researchers to discuss the challenges in release engineering and develop areas for further research. Areas of discussion include research and practice of all activities in between regular development and actual usage of a software product by the end user, i.e., integration, build, test execution, packaging and delivery of software. The conference is May 20 in San Francisco and deadline for submission of talks in February 7th. For more information see http://releng.polymtl.ca.


  • Greg Wilson - Mon 12 November 2012 -

    One of the reasons we started this project is that almost every other book on software architecture doesn't actually show readers the architectures of any actual systems. In particular, most university students can get through a four-year degree without ever seeing how large applications are put together. We're therefore very excited to learn that Dr. Neil Ernst is using AOSA in an undergrad course he's teaching at the University of British Columbia. If you'd like to see what his students think of the systems we've described, their presentations are online. And if you know of anyone else doing this, please send us a pointer.


  • Tony Arkles - Tue 30 October 2012 -

    Yesterday we received our first first draft for POSA! My guess is that things are going to start getting busy soon...


  • Greg Wilson - Thu 04 October 2012 -

    Traffic

    Now, if only we could tell how much of each page each visitor is reading... :-)


  • Tony Arkles - Tue 25 September 2012 -

    Well, it's been a busy two months since Tavish or I have posted anything on here. Things have been progressing nicely though! We've got 21 authors lined up, and have already gone through 13 proposed outlines. I'm extremely excited with the proposed chapters so far! We've got a great mixture of low-level nitty-gritty projects and higher level applications.

    Here's a few more examples:

    • Ilya Grigorik is going to be discussing the insane number of hoops that the Chrome team has jumped through to improve Chrome's network performance
    • Clint Talbert and Joel Maher are going to be recounting the journey of improving Talos, the performance testing framework at Mozilla.
    • Michael Snoyman and Kazu Yamamoto are writing about Warp, their high-performance Haskell-based HTTP engine.

    The first drafts of the chapters will (hopefully) start rolling in, and we should have a preliminary table of contents ready to go in the next month or so.

    Thanks again to everyone who has responded! Reading through your outlines, I'm super excited about the book and the fantastic material that's going into it!

    Cheers,

    Tony


  • Greg Wilson - Sun 23 September 2012 -

    Dear GitHub,

    You provide a wonderful workspace where millions of people can share what they make, but there's something you could do to make yourself even better. Could you please provide a way for us to create plug applications directly into your site the way Facebook does? Thousands of really cool software tools are just waiting to be discovered, from code analyzers to project history visualizers, and while your APIs already let them use your data on their own web sites, people would be much more likely to find them and use them if they were nested directly in projects' GitHub pages. It wouldn't be much of a technological challenge—given the way Facebook's stock has been doing, you could probably even persuade one or two of their engineers to come and help build it—and it would kickstart the same healthy explosion of third-party tools we saw when Eclipse first came on the scene.

    Thanks very much,

    Us.

    p.s. If you like this idea, please tweet the following:

    Dear @github, please let us build plugins #githubplugins http://www.aosabook.org/blog/2012/09/dear-github/


  • Tavish Armstrong - Fri 21 September 2012 -

    We're happy to announce that Volume II of The Architecture of Open Source Applications is now available in ePub format. As always, royalties go to Amnesty International. Happy reading!


  • Greg Wilson - Thu 30 August 2012 -

    John Hunter, the creator of matplotlib and a contributor to Volume 2 of this series, passed away on August 28 as a result of complications arising from treatment for cancer. A memorial fund has been set up to help with his three children's education; please give generously.


  • Tavish Armstrong - Sat 21 July 2012 -

    A few weeks ago Greg posted about the next book we're doing: The Performance of Open Source Applications. Well, we don't have a book yet, but we've made some progress. Earlier this week we had our 15th "yes" from an author, which puts us close to the chapter counts of AOSA. We're excited about that and we hope you are too. Here are a couple of the chapters we're planning:

    • Jessica McKellar on Twisted again, getting into the details of asynchronous I/O.
    • Audrey Tang on profiling and optimizing Ethercalc, a Google Docs-esque spreadsheet application written in node.js.
    • Kyle Huey on Mozilla's Memshrink project, which aims to make Firefox faster and "slimmer".
    • Rosangela Canino-Koning and Eric McDonald on processing terabytes of data in the Khmer project, which is a "library and toolkit for doing k-mer-based dataset analysis and transformations".

    Remember, if you want to see your favourite Open Source Application discussed in the new book, we're accepting contributions. If you're interested, please get in touch at posabook@gmail.com. If you don't want to write a chapter yourself, why not send someone our way?


  • Greg Wilson - Wed 27 June 2012 -

    We are pleased to announce that we are starting work on a third book in this series, which will be titled The Performance of Open Source Applications. Each chapter will discuss a performance issue in a real open source system—it could be an over-the-shoulder view of how a performance problem was fixed, a discussion of how design decisions affected performance in a particular application, or something else along those lines. Each entry will be 12-15 pages long, and we hope to have first drafts by the end of October so that we can publish the book in Spring 2013. As with AOSA, royalties will go to Amnesty International and the book will be available for free online under a Creative Commons license. If you are interested in participating, please contact us at posabook@gmail.com.

    Why performance rather than architecture? Because it's something that every programmer has to deal with eventually, but which is usually left out of their education. The last general book on making programs fast that we know of was Jon Louis Bentley's Writing Efficient Programs, which was published thirty years ago. There have been lots of more specialized books since (we're particularly fond of Steve Souders' High Performance Web Sites and Even Faster Web Sites, and of John Lakos's Large-Scale C++ Software Design), but we think the time is right for something that touches on everything from squeezing the last few cycles out of every precious milliwat in an embedded sensor to maximizing throughput of large-scale e-commerce applications. We hope you'll think so too, and we look forward to hearing from you.


  • Greg Wilson - Fri 08 June 2012 -

    Amy Brown, our indefatigable editor, has posted a series of articles on her blog about what's involved in going from LaTeX to a published book on Lulu. We think this is a great alternative to traditional (read: expensive and restricted) academic publishing, and would welcome other tips and tricks.

    1. Headers and Footers
    2. Fonts and Captions
    3. Table of Contents and Chapter Title Pages
    4. Custom Commands and Environments
    5. Other Useful Packages and Settings
    6. Pulling It All Together
    7. Making AOSA: Tools



Content © The AOSA Editors.
Proudly powered by bootstrap, pelican, python and Alex!