James Coplien explains the DCI (Data, Context, Interaction) paradigm used to better represent the user’s mental model in code through system state and behavior. Coplien makes an attempt to reintroduce architecture to Lean and Agile projects due to its value in sustaining high velocity and change resiliency.
Lars George and Fabrizio Schmidt present Germany’s largest social networks, Schuelervz, Studivz and Meinvz, the problems they are facing daily, the architecture used in the past and the need to move to a NoSQL solution. The presentation concludes with lessons learned and plans for the future.
Simon Oxley presents how his team built a monitoring and reporting web application, what were the challenges encountered and the decision made upfront, what were the technologies and tools used, and what are the their plans for the future.
Simon Stewart presents the activity of Google’s Engineering Productivity team and the role Software Engineers in Test (SETs) play in helping software developers to make their code more maintainable, recommending some of their tools: Gold linker, Eclipse, distcc, JDepend, graphviz.
Justin Sheehy explains why a paradigm shift is necessary when dealing with large concurrent distributed systems and what are some of their requirements: no global state is shared, ACID no longer works but rather BASE and CAP, getting rid of RPC and using protocols over APIs instead, prepare for failure, degradation, understanding the harvest-yield balance, and using measurement.
Jon Skeet presents Noda Time, a .NET port of Joda Time which is a Java library for handling date and time. Skeet discusses the troubles handling date and time with the standard .NET API, and how Noda Time simplifies and solves those issues.
Torrey Rice presents some of the relevant milestones in the evolution of the web from a UX perspective, starting with one of the first game consoles, the appearance of email and HTML to the latest developments in mobile computing, then trying to foresee the future of web development and what it will mean for developers and casual people.
Geir Magnusson explains how Gilt Groupe is using Project Voldemort to scale out their e-commerce transactional system. The initial SQL solution had to be replaced because it could not handle the transactional spikes the site is experiencing daily due to its particular way of selling their inventory: each day at noon. Magnusson explains why they chose Voldemort and talks about the architecture.
Julian Simpson recommends practices to bring together development and operations, like: collaboration, don’t use email for internal communication, respect everyone, have lunch with the other team, discuss problems, joined retrospectives and stand-up meetings, co-locate sysadmins and developers, teach sysadmin to use VC, use CI and continues deployment, separate binaries and configuration files.
Alex Buckley presents some of the challenges for JVM to become a universal virtual machine, serving the needs of Java and non-Java languages, being useful both to statically and dynamically-typed languages, and supporting an ever growing number of languages and their features targeting the platform.
Oren Eini talks about the difficulty to build N-tiered systems that are highly scalable, presenting several concepts – divide and conquer, background evaluation, one way messaging, the single responsibility principle - along with .NET frameworks – NServiceBus, Rhino ESB, Mass Transit, Rhino PHT, Rhino DHT, Raven DB - which help solving the scalability problem.