John Hughes shows how to explore the possible bugs of a code by creating a series of tests in Erlang and using multiple test frameworks, discovering the faults through successive tests and evaluating the frameworks while doing it.
Stefan Norberg introduces Domain Event-Driven Architecture, how it helps SOA, and how it has been used by Unibet to make its architecture less coupled, resulting in better performance and scalability. Norberg offers practical advice, presenting technical details of the technologies used: JMS, XML, JSON, Google Protocol Buffers, ActiveMQ and Spring.
Enda Farrell discusses how CouchDB is used by BBC for some of its websites, presenting the context it is deployed in, the operations performed against it, how replication and compacting works, some statistics, and how it is used at scale.
Stefan Tilkov discusses SOA basic concepts by making a number of claims, such as “Application architecture is irrelevant for your SOA” or “An ESB should not be at the core of your SOA”, followed by explanations and related recommendations.
Andres Kutt discusses his experience as architect at Skype for five years, sharing some of the lessons learned: rules of thumb do not always apply, functionality is important, use simple solutions, buzzwords are dangerous, the architecture needs to fit into the organization, and communication is important.
Josh Graham explains what monads are, how and why they are used, including several concrete examples of monads like Identity, Maybe, List, and Continuation. (This session is based on Amanda Laucher’s presentation “Demystifying Monads.”)
Chris Richardson presents the details of deploying multi-tier Apache/Tomcat/MySQL applications on Amazon EC2, what it takes to access EC2, to deploy a web server, an application server, and a database, handling security, making a case for PaaS which does not require an administration effort.
Joe Walker explains Bespin, Mozilla’s open source web-based code editor, its architecture and chosen implementation solution, detailing some of its features like collaboration and version control.
Ulf Wiger shows how concurrency can lead to accidental complexity if it is badly implemented in code, becoming a project’s point of failure. Wiger also advises on how concurrency should be addressed in order to avoid complexity.
Dylan Schiemann presents the current status of web development engulfed in lots of frameworks, languages, and browsers, advising on choosing the right technologies to secure the future of a web application.
R.I. Pienaar discusses how operations should empower devs by providing them accessible platforms which are easy to understand, to use and to access, by creating a simple network infrastructure accompanied by the right tools to monitor and analyze the systems, so developers can have a clear view of the network they are deploying to.
Simon Marlow explains through code samples what Haskell has to offer for concurrent programming through concurrent data structures and thread-based concurrency, and Haskell’s tools for parallel programming.