
Sign up to save your podcasts
Or


Gernot Starke talks about arc42: an open-source set of templates he developed to document software architecture based on his practical experience with real projects. Also Gernot and host Eberhard then discuss how documenting architecture fits into agile processes and how to find the right amount of documentation for a system. They walk through the different parts of the arc42 templates covering requirements and the context of the system and the solution structure, including building blocks, runtime, and deployment. They discuss tooling, versioning, testing documentation, and how to keep documentation up to date.
Slava Akhmechet and Jeff Meyerson discuss RethinkDB, an open source database for the real-time Web. RethinkDB pushes data to the application rather than requiring the application to poll the database for updates. The discussion begins with the question of why databases need to be rethought–why is it better to build JSON-pushing into the database layer rather than the application layer? Slava explains how RethinkDB changes a full-stack architecture and discusses how Meteor's JavaScript framework is a good model for how to think about applications which use push. The discussion continues with an exploration of RethinkDB's transaction model, its data model, and its guarantees. The conversation concludes with an exploration of tradeoffs between different programming languages. Slava explains why RethinkDB was written in C++ rather than Go, or another language.
Sven Johann talks with Dave Thomas about innovating legacy systems. Dave clarifies first why legacy systems are both valuable and problematic. Next, they discuss bad systemic and good incremental approaches for innovation of legacy systems; why you shouldn't rewrite an old system but rather focus on tactical changes to reduce cost or increase productivity within one quarter; examples of how to measure success of the innovation; how to get full support from management to use any technology you want; when cleaning up the codebase makes sense and when not; good ideas to innovate the codebase; approaches to introduce tests; and how to deal with data
Kyle Kingsbury, known as Aphyr on Twitter and for his blog by the same name, talks to Stefan Tilkov about consensus in distributed systems and about his experience in testing systems to see how they behave in case of failures. In addition to discussing some of the theoretical foundations, such as the CAP theorem, isolation levels, and consensus protocols, Kyle talks about some specific databases, including MongoDB, Riak, and Redis, and discusses how they maintain and achieve — or fail to achieve — a consistent state. Finally, there's some advice for practitioners on how to pick a solution and understand its properties.
Josh Long talks to Cédric Champeau about the latest and greatest in the Groovy JVM language, how it has evolved over the years, and where it's going. They start by talking about the existing features in the language, the language's history and then move on to discuss where the language is going, how Java 8 changes things, and what the recent move to Apache means for the language and the community.
Josh Long talks to Pivotal's Andrew Clay Shafer about the state of platforms-as-a-service (PaaS; like Cloud Foundry). They cover how pass relates to the fast-evolving container-ready distributed runtimes such as Lattice, Kubernetes and Mesos. The discussion starts with a look at what PaaS means and moves on to how the technology has evolved, the community has grown, and how the community now shapes its development. Then, the discussion turns to the future of the Cloud Foundry technology and where it lives in a crowded field.
SE Radio Editor Robert Blumen begins with a history of the show, what he has been doing since he became the show editor a year ago, and where he wants the show to go in the future. The remainder of the show is a series of interviews with all of the active hosts, the founder of the show Markus Voelter, the most recent and current IEEE Software magazine editors Forrest Shull and Diomidis Spinellis, and Brian Brannon from the management and production side.
Johannes Thönes talks to Linda Rising, author, speaker and independent consultant, about the Agile Brain. They start by talking about the fixed, talent-oriented mindset and then contrast with the learning-oriented mindset. After establishing the terms, Linda explains how we know which mindset we are in currently and how we can change it for us and others, for instance, by offering praise in the right way.
In the second part of the interview, they discuss why scientific experiments would be necessary to improve our work, and how we can port some of these practices in our daily work — for instance through retrospectives.
This episode was recorded one day before Linda's 73th birthday.
Johannes Thönes talks to Rebecca Parsons, Chief Technology Officer at ThoughtWorks, about evolutionary architecture. The practice of evolutionary software architecture means making decisions as late as possible (last responsible moment) and setting up cross-functional requirements that the architecture has to meet (architectural fitness function).
In the beginning, Parsons and Thönes introduce the term evolutionary architecture and explain the difference to emergent design. Parsons also explains why big design upfront is a bad idea and why we still need architecture even in Agile projects.
Parsons then describes five principles of evolutionary architecture (last responsible moment, architect and develop for evolvability, Postel's law, architect for testability, and Conway's law). She goes on to highlight three techniques of evolutionary architecture (database refactoring, continuous delivery, and microservices).
Ben Hindman talks to Jeff Meyerson about Apache Mesos, a distributed systems kernel. Mesos abstracts away many of the hassles of managing a distributed system. Hindman starts with a high-level explanation of Mesos, explaining the problems he encountered trying to run multiple instances of Hadoop against a single data set. He then discusses how Twitter uses Mesos for cluster management. The conversation evolves into a more granular discussion of the abstractions Mesos provides and different ways to leverage those abstractions.
From the publisher's feed