Skip to content

Software Engineering Radio

The Podcast for Professional Software Developers

Archive

Tag: patterns

Recording Venue: Skype

Guest: Douglas C. Schmidt

Doug SchmidtIn this episode we talk with Douglas C. Schmidt, who is a professor of computer science at Vanderbilt University and a well-respected authority in the fields of patterns and frameworks for concurrent and networked software. In this interview we talk about these topics in the context of massive open online courses, which are a disruptive technology trend that is profoundly affecting how education is delivered around the world.

Play

Recording Venue: OOPSLA 2007
Guest(s): Erich Gamma

Host(s): Markus
This episode is a conversation with Erich Gamma. We covered the four things he is known for in chronological order. We started with design patterns and the Gang-of-Four book of which he is the lead author. We then looked at JUnit, the testing framework he coauthored with Kent Beck and how it introduced unit testing to the masses. The next topic is obviously Eclipse, where Erich and his lab in Zürich is responsible for the Java Development Tooling. We also briefly discussed The Eclipse Way, the (obviously) successful process the Eclipse team uses for developing Eclipse itself. Finally, we’re looking at Erich’s current endeavour, the Jazz project. Jazz is a technology for collaborative software development.

Links:

Play

Recording Venue: OOP 2007
Guest(s): Charles Weir
James Noble

Host(s): Markus
In this Episode we’re discussing patterns for small memory software with the authors of the like-named book Charles Weir and James Noble. We look at various aspects of the small memory problem: How can you manage memory use across a whole system? What can you do when you have run out of primary storage? How can you fit a quart of data into a pint pot of memory? How can you reduce the memory needed for your data? How do you allocate memory to store your data structures? Answers to all those questions are provided in this Episode, and of course in their book.

Links:

Play

Recording Venue:
Guest(s): Robert S. Hanmer

Host(s): Markus
This is the second part of the discussion on fault tolerance with Bob Hanmer (if you didn’t listen to Episode 77, which contains part one, please go back and listen now; this episode builds on that previous one!)

We start by discussing a set of error detection patterns. Among are the well-known approaches such as checksums and voting. We then look at error recovery patterns, including restart, rollback or roll forward. The next section looks
at error mitigation patterns, which include shedding load and doing fresh work before stale. The last patterns section then looks at fault treatment patterns.

We conclude the episode with a small discussion about how to design systems using (these and other) patterns, and with some thoughts on why actually wrote the book.

Links:

Play

Recording Venue: OOPSLA 2007
Guest(s): Ralph Johnson
James Noble
Host(s): Markus
Recording Venue: OOPSLA 2007
Guest(s): Ralph Johnson
James Noble
Host(s): Markus
In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Martin
In this episode we talk with Gerard Meszaros about problems and challenges doing unit testing in real-world projects. Starting from a short discussion about the importance of automated unit testing we spend most of this episode to talk about every day problems doing unit testing and how those problems can be solved. Based on this book on xunit testing patterns, Gerard talks about his experiences with unit test smells as an analogy to code smells. He describes an impressive set of unit testing patterns to overcome those difficult testing situations and illustrates them with nice examples everybody doing unit testing will feel familiar with.

Links:

Play

Recording Venue: OOP 2007
Guest(s): Kevlin Henney
Frank Buschmann

Host(s): Markus
In this Episode we talked about the new POSA 4 book which has recently been published. We talk to two of the authors, Kevlin Henney and Frank Buschmann (the third author, Doug Schmidt was not available – and he had also been on the podcast a couple of times :-) ). The book contains a pattern language for distributed systems. It contains 114 patterns that had been published before by many different other authors. The patterns have been rewritten to form a consistent language.
We basically talked through the different sections of the book, which gives a really good overview over the challenges and the solutions of building distributed systems. These sections include From Mud to Structure, Distribution Infrastructure, Event Demultiplexing and Dispatching, Interface Partitioning, Component Patitioning, Application Contrl, Concurrency, Synchronization, Object Interaction, Adaptazion and Extension, Modal Behaviour, Resource Management and finally, Database Access.

The book references several other previous works (as listed below). Interestingly, many of these referenced works and authors have also been discussed previously on the podcast. Here are the back references:

Links:

Play

Recording Venue:
Guest(s): Frank Buschmann

Host(s): Michael
This episode is an interview with Frank Buschmann, one of the pioneers of the pattern movement in Europe. Michael and Frank discuss how it all began: the first conferences on patterns and the first publications by the Gang-of-Four and the POSA 1 team. Frank then elaborates on the new volumes in the Pattern-Oriented Software Architecture book series – POSA 4 and POSA 5 – and gives some examples from the books. The episode concludes with a general discussion on software design and architecture, and best practices on software development.

Links:

Play

Recording Venue:
Guest(s): Grady Booch

Host(s): Markus
In this Episode we are happy to talk to Grady Booch. We started off by discussing his Architecture Handbook, how it came into being, the progress, and how it will look like once it’s finished. In this context we also looked at the issue of how to distinguish architecture from design. We then asked him about how “professional” software architecture is these days, as well as about the ubiquity of software product lines in industry. The next couple of minutes looked at the question of whether software development is an engineering discipline, craftsmanship or an art form, and we discussed the key qualifications of software developers. Grady then elaborated on the problems of developing in large teams as well as the potential limits of complexity we can tackle with software.

We then got back to a more technical discussion, where we looked at model-driven development, DSLs, etc. and the role of the UML in that context. Next was a discussion about scripting languages, and the current trend towards new languages. We then looked at component marketplaces and other forms of reuse, as well as the importance of OO these days and the relevance of AO. We concluded with a (small) outlook to the future.

Links:

Play

Recording Venue:
Guest(s):
Host(s): Michael Markus
Recording Venue:
Guest(s):
Host(s): Michael Markus
This is the fourth and final episode on the fundamentals of Software Architecture. We talk mainly about architectural styles and patterns, as introduced in the POSA 1 Book. We also discuss a little bit the process of actually using those patterns for architecting systems.

Links:

Play