You appear to have Javascript turned off or are not using a Javascript enabled browser. There are many features on Podcast Alley that require Javascript. For the best experience, please turn Javascript on or use a Javascript enabled browser.
Pick a Podcast Genre:
Search for a Podcast:
 
Top Podcasts
Add Your Podcast
Podcast Alley Badges

Site Statistics
Podcasts: 75,257
Comments: 236,203
Episodes:  5,076,051


Special Offers
GoDaddy Promo Codes
PetMeds Coupons
Brookstone Coupons
PETCO Discount



E-Content 100 Winner

Software Engineering Radio

SHOW STATS
CATEGORY:

 Technology

COMMENTS:

 133 Total
 0 February

VOTES:

 331 Total
 0 February

RANK:

 1133 Average
 February #5795

Software Engineering Radio is a regular podcast covering topics interesting to professional software developers. The show is produced by a group of experienced software developers and architects. Episodes include coverage of important topics such as programming language concepts, patterns, middleware, enterprise architecture, as well as topics from the area of development process and project organization. From time to time, we will have interviews with interesting people from the software development field. The show is hosted at www.se-radio.net and you can get the feed from www.se-radio.net/rss.
Recent Episodes for Software Engineering Radio
DATE: Mon, 08 Feb 2010
SIZE: 56.8 MB
DOWNLOAD EPISODE
Episode 155: Johannes Link & Lasse Koskela on TDD

Podcast (MP3): Download Hosts: Markus  Guests: Johannes Link & Lasse Koskela   Recording venue: Skype In this episode Johannes Link interviews Lasse Koskela - the author of "Test-Driven" - about test-driven development (TDD). We cover the basics, the rationale behind it and the challenges you face when doing it in more difficult environments. Links Book: Test-Driven JDave RSpec FitNesse Cucumber Johannes Link Lasse Koskela

DATE: Sun, 24 Jan 2010
SIZE: 54.3 MB
DOWNLOAD EPISODE
Episode 154: Ola Bini on Ioke

Podcast (MP3): Download Hosts: Markus  Guests: Ola Bini   Recording venue: Skype This is a conversation with Ola Bini on his experimental language Ioke. We cover the idea behind the Ioke experiment as well as important language concepts and the thinking behind them. Links Ola Bini's website Ioke

DATE: Sun, 10 Jan 2010
SIZE: 51.2 MB
DOWNLOAD EPISODE
Episode 153: Jan Bosch on Product Lines and Software Ecosystems

Podcast (MP3): Download Hosts: Markus  Guests: Jan Bosch   Recording venue: Practical Product Lines This episode is a conversation with Jan Bosch about product line engineering (PLE). Jan has worked in various roles and industries and academia in the context of product lines. In this episode we look at Jan's view of what is next for product lines: software ecosystems. What is their relationship to PLE and how should PLE change to remain relevant? Links Jan Bosch's book on PLE Wikipedia: Product Family Engineering

DATE: Mon, 28 Dec 2009
SIZE: 37.2 MB
DOWNLOAD EPISODE
Episode 152: MISRA with Johan Bezem

Podcast (MP3): Download Hosts: Michael  Guests: Johan Bezem   Recording venue: Our guest Johan Bezem explains the idea behind and the benefits of MISRA. MISRA defines guidelines for C and C++ programming in order to ensure quality. While it got started for embedded automotive development, it is more generally applicable. Links Book: C - A Reference Manual, by Harbison, Steele MISRA MISRA for C MISRA for C++ Code example

DATE: Mon, 14 Dec 2009
SIZE: 57.7 MB
DOWNLOAD EPISODE
Episode 151: Intentional Software with Shane Clifford

Podcast (MP3): Download Hosts: Markus  Guests: Shane Clifford   Recording venue: Skype This episode is a discussion with Shane Clifford, who is a development manager at Intentional Software. We discuss the idea behind intentional programming, key concepts of the technology as well as example uses and a little bit of history. Links Intentional Software Various Papers and Presentations Good overview video from MS DSL Devcon

DATE: Mon, 16 Nov 2009
SIZE: 33.5 MB
DOWNLOAD EPISODE
Episode 149: Difference between Software Engineering and Computer Science with Chuck Connel

Podcast (MP3): Download Hosts: Michael  Guests: Chuck Connell   Recording venue: Skype Michael discusses with his guest Chuck Connell the differences between software engineering and computer science. What makes software engineering so unpredictable, with so few formal results? And how can we advance the field of software engineering without these results? Links Article: "Difference between Software Engineering and Computer Science" Grady Booch's handbook of software architecture Steve McConnell's blog about software development NASA page about formal software methods Chuck Connell's other essays about software engineering

DATE: Mon, 19 Oct 2009
SIZE: 38.0 MB
DOWNLOAD EPISODE
Episode 147: Software Development Manager

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: Michael and Markus discuss what makes a good R&D manager and how to potentially become an R&D manager. You will learn what some of the essential skills are, what the challenges are, and what the 'mission/vision/strategy thing' is actually good for. Links Wikipedia: The Seven Habits of Highly Effective People Wikipedia: Eisenhower time management Podcast: Manager Tools

DATE: Mon, 21 Sep 2009
SIZE: 58.6 MB
DOWNLOAD EPISODE
Spring in 2009 with Eberhard Wolff

Podcast (MP3): Download Hosts: Markus  Guests: Eberhard Wolff   Recording venue: In this episode we discuss the current state of the spring framework. We talk about core features (dependency injectioin, AOP) but also about the spring universe, i.e. some of the more specific frameworks such as Spring Batch. Links Eberhard Wolff's Blog Spring Framework Docs Spring Framework

DATE: Mon, 24 Aug 2009
SIZE: 40.9 MB
DOWNLOAD EPISODE
Episode 143: API Design with Jim de Rivieres

Podcast (MP3): Download Hosts: Markus  Guests: Jim de Rivieres   Recording venue: JAOO 2008 This episode is a discussion with Jim De Rivieres about APIs: How to design good APIs, the role of the documentation/specification in APIs, API evolution and other relevant topics. Links Wikipedia: API Book: The art of the metaobject protocol

DATE: Mon, 10 Aug 2009
SIZE: 56.5 MB
DOWNLOAD EPISODE
Episode 142: Sustainable Architecture with Kevlin Henney and Klaus Marquardt

Podcast (MP3): Download Hosts: Markus  Guests: Kevlin Henney and Klaus Marquardt   Recording venue: OOP 2009 This is another episode recorded at OOP 2009, thanks to SIGS Datacom and programme chair Frances Paulisch for making this possible. Here is the abstract from the conference program: Many software systems have fragile architectures that are based on brittle assumptions or rigid architectures that reduce options and make change difficult. On the one hand, an architecture needs to be fit for the present day, suitable for immediate use, and on the other it needs to accommodate the future, absorbing reasonable uncertainty. However, an approach that is overly focused on today's needs and nothing more can create an inflexible architecture. An approach that becomes obsessed with possible future changes creates an overly complex architecture that is unfit for both today's and tomorrow's needs. Both approaches encourage an early descent into legacy for a system. The considerations presented in this talk reflect an approach that is more about thinking in the continuous present tense than just the present or the future tense. This includes principles from lean thinking, practices common in agile processes and techniques for loosely coupled design. Links Wikipedia: Software Architecture Kevlin Henney's Homepage Klaus Marquardt's Homepage Book: 97 Things Every Software Architect Should Know Mind Map concerning Sustainable Architectures

DATE: Mon, 27 Jul 2009
SIZE: 38.5 MB
DOWNLOAD EPISODE
Second Life and Mono with Jim Purbrick

Podcast (MP3): Download Hosts: Markus  Guests: Jim Purbrick   Recording venue: JAOO 2008 In the first part of this episode we discuss a couple of basics about SecondLife (scaling, partitioning, etc). The second part specifically looks at how the dev team tackled a number of interesting problems in the context of executing their own LSL scripting language on top of Mono. Links Jim Purbrick's Blog SecondLife Linden Lab LSL Mono

DATE: Mon, 13 Jul 2009
SIZE: 40.1 MB
DOWNLOAD EPISODE
Episode 140: Newspeak and Pluggable Types with Gilad Braha

Podcast (MP3): Download Hosts: Markus  Guests: Gilad Braha   Recording venue: DSL Devcon This episode is a conversation with Gilad Braha about Newspeak, type systems in general and optional/pluggable types in particular. It was recorded during DSL Devcon in the gardens of the Microsoft campus, and thanks to Gilad's "speaking like a book" way of talking it is published completely unedited :-) Links Gilad's website Newspeak website Pluggable Types

DATE: Mon, 29 Jun 2009
SIZE: 62.4 MB
DOWNLOAD EPISODE
Episode 139: Fearless Change with Linda Rising

Podcast (MP3): Download Hosts: Markus  Guests: Linda Rising   Recording venue: OOP 2009 This episode is once again with Linda Rising, this time on the book she coauthored with Mary Lynn Manns on introducing ideas into organizations. The talk is another one of the SE Radio Live sessions recorded at OOP 2009 - thanks to SIGS Datacom and programme chair Frances Paulisch for making this possible. Links Linda's website Book: Fearless Change

DATE: Mon, 15 Jun 2009
SIZE: 54.2 MB
DOWNLOAD EPISODE
Episode 138: Learning as a Part of Development with Allan Kelly

Podcast (MP3): Download Hosts: Arno  Guests: Allan Kelly   Recording venue: Skype In this episode, Allan shares his insights about how learning is a necessary part of software development. He covers the personal as well as the team and the organizational level and offers practical advice. Links Book: Changing Software Development: Learning to Become Agile, Allan Kelly Book: The Living Company, Arie de Geus Book: The Fifth Discipline, Peter Senge Book: The Knowing-Doing Gap, Pfeffer & Sutton Paper: How do Committees invent?, Melvin Conwy

DATE: Thu, 04 Jun 2009
SIZE: 57.4 MB
DOWNLOAD EPISODE
Episode 137: SQL with Jim Melton

Podcast (MP3): Download Hosts: Arno  Guests: Jim Melton   Recording venue: Skype In this episode, Arno talks to Jim Melton about the SQL programming language. In addition to covering the concepts and ideas behind SQL, Jim shares stories and insights based on his many years' experience as SQL specification lead. Links Book: SQL for Smarties Book: SQL Performance Tuning

DATE: Tue, 26 May 2009
SIZE: 55.4 MB
DOWNLOAD EPISODE
Episode 136: Past Present and Future of MDA with David Frankel

Podcast (MP3): Download Hosts: Markus  Guests: David Frankel   Recording venue: *** INCOMPLETE PLACEHOLDER - SHOWNOTES WILL BE FIXED *** In this episode, Dirk talks with David Frankel about MDA Links MDA on Wikipedia

DATE: Sun, 26 Apr 2009
SIZE: 45.8 MB
DOWNLOAD EPISODE
Episode 133: Continuous Integration with Chris Read

Podcast (MP3): Download Hosts: Markus  Guests: Chris Read   Recording venue: JAOO In this episode Markus discusses with Chris Read basics and some advanced topics in the space of continuous integration. We cover concepts, some tools, as well as a number of best practices. Links Chris' Blog Martin Fowler, Continuous Integration Paper Cruise, CI and Release Management Tool Chris' Employer Continuous Integration and Testing Conference

DATE: Thu, 16 Apr 2009
SIZE: 43.8 MB
DOWNLOAD EPISODE
Episode 132: Top 10 Architecture Mistakes with Eoin Woods

Podcast (MP3): Download Hosts: Markus  Guests: Eoin Woods   Recording venue: JAOO This is a discussion with Eoin Woods about his collection of top 10 software architecture mistakes. Looking at things that don't work is always a good way to learn what you should actually do. Links Eoin's web site Book: Software Systems Architecture IASA ATAM Book: Blueprints for High Availability Book: In Search of Clusters Book: Patterns for Internet Base Systems

DATE: Mon, 06 Apr 2009
SIZE: 44.3 MB
DOWNLOAD EPISODE
Episode 131: Adrenaline Junkies with DeMarco and Hruschka

Podcast (MP3): Download Hosts: Markus  Guests: Tom DeMarco and Peter Hruschka   Recording venue: OOP This episode is an interview with Tom DeMarco and Peter Hruschka about the new book of the Altantic Systems Guild: Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior. This is a session recorded live at OOP 2009. SE Radio thanks Tom and Peter, SIGS Datacom and the programme chair, Frances Paulisch, for their great support! Links Altantic Systems Guild Book: Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior

DATE: Tue, 17 Mar 2009
SIZE: 23.3 MB
DOWNLOAD EPISODE
Episode 129: F# with Luke Hoban

Podcast (MP3): Download Hosts: Markus  Guests: Luke Hoban   Recording venue: This episode is a discussion about F# with Microsoft's F# program manager Luke Hoban. Links F# Luke's Blog Book: Expert F# Book: F# for Scientists

DATE: Wed, 25 Feb 2009
SIZE: 54.0 MB
DOWNLOAD EPISODE
Episode 128: Web App Security with Bruce Sams

Podcast (MP3): Download Hosts: Markus  Guests: Bruce Sams   Recording venue: OOP 2009 The majority of hacker attacks (70 %) are directed at weaknesses that are the result of problems in the implementation and/or architecture of the application. This session shows how you can protect your web applications (J2EE or .NET) against these attacks. The session covers lots of practical examples and techniques for attack. Furthermore, it shows strategies for defense, including a "Secure Software Development Lifecycle". A "Live Hacking" demo rounds it out. This is a session recorded live at OOP 2009. SE Radio thanks Bruce, SIGS Datacom and the programme chair, Frances Paulisch, for their great support! Links Bruce's company The premier site for application security information

DATE: Thu, 05 Feb 2009
SIZE: 48.0 MB
DOWNLOAD EPISODE
Episode 125: Performance Engineering with Chris Grindstaff

Podcast (MP3): Download Hosts: Martin  Guests: Chris Grindstaff   Recording venue: In this episode Martin talks with Chris Grindstaff about the fundamentals of performance engineering. The episode discusses when and how to work on performance of client- and server-side systems, what you should take into account during development to avoid performance issues, typical situations that cause performance problems, and some common pitfalls when analysing performance. Links Chris' Homepag Article on rich client performance, part 1 Article on rich client performance, part 2 Best practices for server apps

DATE: Mon, 26 Jan 2009
SIZE: 48.9 MB
DOWNLOAD EPISODE
Episode 124: OpenJDK with Dalibor Topic

Podcast (MP3): Download Hosts: Arno  Guests: Dalibor Topic   Recording venue: In this episode we look at SUN's open source strategy for the OpenJDK. We discuss challenges in creating such a big open source project, and ways to keep it focused and organized. We discuss what it means for the Java runtime to be adopted as the technological foundation for other programming languages. Links OpenJDK Languages on the JVM

DATE: Fri, 16 Jan 2009
SIZE: 42.8 MB
DOWNLOAD EPISODE
Episode 123: Microsoft OSLO with Don Box and Doug Purdy

Podcast (MP3): Download Hosts: Markus  Guests: Don Box and Doug Purdy   Recording venue: In this episode we discuss Microsoft's OSLO platform with Doug Purdy and Don Box. We briefly discuss what OSLO is in general and then look at the various components of OSLO. We also look at how OSLO fits in with the general Microsoft strategy and how it compares to other DSL/Model-driven approaches. We then look at language modularization and composition and discuss the similarities with XML and Smalltalk. Finally, we discuss possible integrations of OSLO with other MD* approaches and technologies. Links Doug's Blog Don's Blog Oslo Videos from PDC Oslo Developer Center

DATE: Tue, 06 Jan 2009
SIZE: 23.9 MB
DOWNLOAD EPISODE
Episode 122: Interview Janos Sztipanovits

Podcast (MP3): Download Hosts: Markus  Guests: Janos Sztipanovits   Recording venue: This is a discussion with Janos Sztipanovits about Cyber Physical Systems and how DSLs are used to approach some of the challenges in that domain. Specifically, in the second part we talk about formalizing DSL semantics. Links Janos' Website CPS @ Wikipedia CPS

DATE: Wed, 17 Dec 2008
SIZE: 38.1 MB
DOWNLOAD EPISODE
Episode 120: OCL with Anneke Kleppe

Podcast (MP3): Download Hosts: Ronk  Guests: Anneke Kleppe   Recording venue: In this episode we're talking to Anneke Kleppe about model-driven software development and language engineering. We start with her involvement in the creation of the Object Constraint Language (OCL) and discuss the intial expactations, actual experiences, and the place of OCL in the current day. From here, Anneke talks us through her take on the formative years of UML and MDA. From here, we expand to the realm of Domain-Specific Languages and Anneke discusses their place in software engineering in general and why we should expect DSLs in significant numbers to become a common sight. Links Book: Software Language Engineering OCL on Wikipedia

DATE: Sun, 07 Dec 2008
SIZE: 47.0 MB
DOWNLOAD EPISODE
Episode 119: DSLs in Practice with JP Tolvanen

Podcast (MP3): Download Hosts: Markus  Guests: JP Tolvanen   Recording venue: In this episode, Markus talks with Juha-Pekka Tolvanen about using DSLs and code generation in practice. The main part of the episode is the discussion about a number of case studies that show how DSLs and code generation are used in practice. Omega Tau, Markus' new podcast mentioned in the beginning of the show Links Article: DSM introduction Article: 20+ DSM cases (SPLC2005) Book: DSM book Juha-Pekka’s blog MetaCase DSMForum Example cases (careful, marketing :-))

DATE: Wed, 26 Nov 2008
SIZE: 49.9 MB
DOWNLOAD EPISODE
Episode 118: Eelco Visser on Parsers

Podcast (MP3): Download Hosts: Laurence  Guests: Eelco Visser   Recording venue: Code Generation 2008 In this episode we're talking to Eelco Visser about parsing text. We start at the basics - what is parsing? - covering classic tools such as Yacc and classic parsing approaches such as LALR before examining how more recent approaches such as scannerless parsing can make parsing easier and enable previously impractical use cases. Links YACC Parsing on Wikipedia SDF Stratego/XT Noam Chomsky Formal Grammar Formal Language BNF

DATE: Sat, 18 Oct 2008
SIZE: 54.8 MB
DOWNLOAD EPISODE
Episode 114: Christof Ebert on Requirements Engineering

Podcast (MP3): Download Hosts: Markus  Guests: Christof Ebert   Recording venue: In this episode we talk to Christof Ebert about requirements engineering. As the name "engineering" suggests, we need to be systematic when working and managing requirements. Christof will structure RE into several activities, namely elicitation (identifying the relevant requirements), specification (clearly describing requirements), analysis (synthesizing a solution), verification and validation (achieving good requirements quality), comittment (allocating requirements to a project, product release or iteration), and management (keeping track of the implementation status of requirements). In this episode we discuss these activities and highlight lots of practical guidance. Links Vector Consulting Services Systematisches Requirements Engineering und Management (in German language). Dpunkt-Verlag, 2. fully revised edition, 2008. Free access to papers and presentations

DATE: Tue, 07 Oct 2008
SIZE: 52.3 MB
DOWNLOAD EPISODE
Episode 113: Building Platforms with Jeff McAffer

Podcast (MP3): Download Hosts: Martin  Guests: Jeff McAffer   Recording venue: In this episode we talk with Jeff McAffer about building platforms. We start with a brief discussion about what a platform is in contrast to a framework or an application. Drawing from his experiences working on the Eclipse platform for years, Jeff talks with us about how to develop platforms, why developing a platform is different from developing an application, what makes a good platform great, and why API design becomes so extremely important for platforms. He provides us with some insights on how the development process and the client collaboration for platform development could look like and what has and has not worked in the past. Links "Platform" at Wikipedia Eclipse-Wiki Eclipse API Central Eclipse Equinox Project CODA withe paper

DATE: Sat, 27 Sep 2008
SIZE: 40.9 MB
DOWNLOAD EPISODE
Episode 112: Roles in Software Engineering II

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: This is the second part of the two part topic on roles in software engineering. Michael and Markus discuss role definitions in a corporate environment. For several typical roles we give hints on the expected skills, knowledge, and mindset. In this episode we discuss the roles technical lead, technologist, requirements engineer, product manager, and project manager. Links Previous episode: Roles in Software Engineering I Matrix Organizations

DATE: Sun, 21 Sep 2008
SIZE: 33.8 MB
DOWNLOAD EPISODE
Episode 111: About Us 2008

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: In this episode we discuss the status of SE Radio today and introduce the team members. Among other things, Markus discusses stats, sound quality, partners, transcripts, and the cooperation with Hillside Europe. Also, the team members introduce themselves with a one to two minute clip. Links Hillside Europe

DATE: Thu, 18 Sep 2008
SIZE: 46.1 MB
DOWNLOAD EPISODE
Episode 110: Roles in Software Engineering I

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: This is the first part of a two part topic on roles in software engineering. Michael and Markus discuss role definitions in an corporate environment. For several typical roles we give hints on the expected skills, knowledge, and mindset. In this episode we discuss the roles junior developer, senior developer, and software architect. Links Manager Tools The back of the napkin hillside.net - pattern writing community

DATE: Sun, 07 Sep 2008
SIZE: 54.9 MB
DOWNLOAD EPISODE
Episode 109: eBay's Architecture Principles with Randy Shoup

Podcast (MP3): Download Hosts: Markus  Guests: Randy Shoup   Recording venue: QCon 2007 In this episode we discuss with Randy Shoup, Distinguished Architect at eBay, about architectural pinciples and patterns used for building the highly scalable eBay infrastructure. The discussion is structured into four main ideas: partition everything, use asynchrony everywhere, automate everything, and design the system keeping in mind that everything fails at some point in a large distributed system. Links Home page Slides: eBay's Architectural Principles Video: eBay's Architectural Principles Interview: The eBay Architecture Scalability Best Practices - Lessons from eBay Panel: Scalability

DATE: Fri, 29 Aug 2008
SIZE: 46.5 MB
DOWNLOAD EPISODE
Episode 108: Simon Peyton Jones on Functional Programming and Haskell

Podcast (MP3): Download Hosts: Markus  Guests: Simon Peyton Jones   Recording venue: QCon 2007 We start our discussion with a brief look at what Haskell is and how a pure functional language is different from non-pure languages. We then look at the basic building blocks and the philosophy of the language, discussing concepts such as the lambda calculus, closures, currying, immutability, lazy evaluation, memoization, and the role of data types in functional languages. A significant part of the discussion is then spent on the management of side effects in a pure language - in other words, the importance of monads. We conclude the episode with a look at Haskell's importance and community today. Links Haskell Community Haskell Cafe mailing list HOPL Paper on Haskell Book: Haskell, the craft of functional programming Book: Functional Programming in Haskel Book: Real-World Haskel

DATE: Mon, 18 Aug 2008
SIZE: 61.7 MB
DOWNLOAD EPISODE
Episode 107: Andrew Watson on the OMG

Podcast (MP3): Download Hosts: Markus  Guests: Andrew Watson   Recording venue: OOP 2008 This episode is a discussion with Andrew Watson, Technical Director of the Object Management Group. The episode is structured into five parts. We start with the history of the OMG and its early work. Then we look at the set of standards it has been (or is currently) working on. Next is a discussion of the standardization process used by the OMG, including the much-debated topic of compliance testing. We then look at OMG's relationship to other standards bodies (W3C, OASIS). Finally Andrew and I briefly discuss our common passion, gliding :-) Links CORBA UML BPMN SBVR ODM SysML MDA ADM KDM QVT BPDM BPMM DDS

DATE: Sat, 09 Aug 2008
SIZE: 59.3 MB
DOWNLOAD EPISODE
Episode 106: Introduction to AOP

Podcast (MP3): Download Hosts: Markus  Guests: Christa Schwanninger, Iris Groher   Recording venue: This episode is a systematic introduction to Aspect Oriented Programming (in contrast to the interview with Gregor Kiczales). We discuss the fundamentals of AOP, define many of the relevant terms and also look at how and where AOP is used in practice, as well as at some current research trends. Links "The" AOSD home page, also for the international conference on AOSD Project web site of an European funded project on AOSD Project web site of the Aspect-Oriented Model-Driven Product Line Engineering funded project Home page of the AOP-Alliance, that does quasi standards for AOP Spring (Java framework including AOP support) Spring for .NET AspectJ project on Eclipse Home page of the early aspects (RE and design) community JBossAOP

DATE: Wed, 30 Jul 2008
SIZE: 67.3 MB
DOWNLOAD EPISODE
Episode 105: Retrospectives with Linda Rising

Podcast (MP3): Download Hosts: Markus  Guests: Linda Rising   Recording venue: QCon London, 2008 In this episode we're talking to Linda Rising about retrospectives. We start by defining what a retrospective is and discuss some of the logistics of making it work for software projects. We then look at the different phases of a retrospective. The main part then is a discussion about some of the practices or games that are used to facilitate the retrospective. We conclude the retrospective discussion with destroying some of the prejudices against it and the relationship to process improvement and CMM. At the end of the interview we talk a little about Linda's current interest: how does the brain work? Links Retrospectives mailing list Linda's web site Retrospectives Facilitator's Gatherings Norm's book

DATE: Sun, 20 Jul 2008
SIZE: 51.6 MB
DOWNLOAD EPISODE
Episode 104: Plugin Architectures

Podcast (MP3): Download Hosts: Martin  Guests: Klaus Marquardt   Recording venue: In this episode we talk with Klaus Marquardt about building systems out of plugins. After briefly introducing the concept of a plugin in contrast to modules and related software engineering concepts, we discuss different views on plugins and different ways of working with plugins for developing software. We are looking at plugins for embedded systems as well as large business systems, at how plugins change the working mode and team organization, and discuss the possibilities of why and when to use plugins for implementing software systems. Links Plugin at Wikipedia Book with patterns on plugins Article (German) contrasting plug-ins with components and demonstrating extension points Eclipse Article: Notes on the Eclipse Plug-in Architecture OSGi Paper: Patterns for Plugins Simple code example

DATE: Thu, 10 Jul 2008
SIZE: 50.4 MB
DOWNLOAD EPISODE
Episode 103: 10 years of Agile Experiences

Podcast (MP3): Download Hosts: Markus  Guests: Jens Coldewey   Recording venue: In this episode we're talking to Jens Coldewey about his experiences in 10 years of introducing agile techniques to project teams. We discuss real-world examples and the lessons learned and strategies derived from them. Links Jens' Homepage Jens' Blog (in German)

DATE: Mon, 30 Jun 2008
SIZE: 58.5 MB
DOWNLOAD EPISODE
Episode 102: Relational Databases

Podcast (MP3): Download Hosts: Arno  Bernd  Guests:   Recording venue: In this espisode we take a closer look at relational database systems and the concepts behind them. We start by discussing the relational paradigm, its concepts and ramifications, and go on to architectural aspects. Links RDBMS at Wikipedia Comparison of RDBMS Codd's Original Article

DATE: Fri, 20 Jun 2008
SIZE: 31.2 MB
DOWNLOAD EPISODE
Episode 101: Andreas Zeller on Debugging

Podcast (MP3): Download Hosts: Markus  Guests: Andreas Zeller   Recording venue: JAOO 2007 In this episode we're talking to Andreas Zeller. about debugging. We started the discussion with an explanation of what debugging and how it works in principle. We then briefly discussed the relationship between debugging and testing. Next was the importance of the scientific method for debugging. We then looked as debugging as a search problem, leading to a discussion about delta debugging, the main topic of this discussion. We concluded the discussion by looking at the practical usability of delta debugging and the relationship to other means of automatically finding problems in software. Links Andreas' Homepage Why Programs Fail Beautiful Code Delta Debugging Mining Software Archives

DATE: Tue, 10 Jun 2008
SIZE: 33.1 MB
DOWNLOAD EPISODE
Episode 100: Software in Space

Podcast (MP3): Download Hosts: Markus  Guests: Hans-Joachim Popp, CIO, DLR   Recording venue: OOP 2008 In this episode we're talking to Hans-Joachim Popp, CIO at DLR about software in space. We start out by reviewing some well-known accidents of unmanned space flight that were caused by software faults and use this as a motivation to discuss how to avoid these in the future. We discuss culture, process, techniques and tools that DLR uses to create high-quality software for use in unmanned space systems. Links Deutsches Zentrum für Luft- und Raumfahrt IT at DLR (in German) Simulation and Software Technology Optical Systems (in German) Mariner 4 Voyager Mission Mars Climate Orbiter Virtis Ariane 5 Crash A320 Crash Mulhouse V Model

DATE: Sat, 31 May 2008
SIZE: 56.0 MB
DOWNLOAD EPISODE
Episode 99: Transactions

Podcast (MP3): Download Hosts: Arno  Bernd  Guests:   Recording venue: This episode takes a close look at transactions from different angles, starting with their fundamental properties of Atomicity, Consistency, Isolation, Durability but also investigating advanced topics like distributed or business transactions. Links ACID The Two-Phase Commit Protocol Book: Transaction Processing: Concepts and Techniques

DATE: Thu, 22 May 2008
SIZE: 51.1 MB
DOWNLOAD EPISODE
Episode 98: Stefan Tilkov on REST

Podcast (MP3): Download Hosts: Markus  Guests: Stefan Tilkov   Recording venue: OOP 2008 In this episode we discuss REST (Representational State Transfer) with Stefan Tilkov. We started out by discussing the 5 steps to REST: IDs, links, Standard Methods, multiple representations and stateless communication. We then looked at how to use HTTP for REST, and discussed about how to use it for Web Services. We then we discussed whether and how to use REST for enterprise applications, and not just for apps on the internet. We concluded the discussion with a couple of recommendations. Links Stefan's Blog Article: REST Introduction Article: Addressing Doubts about REST Fielding's dissertation on REST REST Wiki Book: Restful Web Services

DATE: Thu, 08 May 2008
SIZE: 30.2 MB
DOWNLOAD EPISODE
Episode 96: Interview Krzysztof Czarnecki

Podcast (MP3): Download Hosts: Markus  Guests: Krzysztof Czarnecki   Recording venue: JAOO 2007 This episode is the long-awaited (and much requested) interview with Krzysztof Czarnecki, the author, together with Ulrich Eisenecker, of the book Generative Programming. In the interview we discussed the state of generative programming today and related it to model-driven development and DSLs. We then talked a little bit about product lines in general. We then discussed his current field of research, which currently focusses on framework-specific modeling languages and non-trivial roundtrip engineering. Links Krzysztof's Homepage Book: Generative Programming Paper: Automatic extraction of framework-specific models from framework-based application code

DATE: Thu, 01 May 2008
SIZE: 40.4 MB
DOWNLOAD EPISODE
Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

Podcast (MP3): Download Hosts: Markus  Guests: Matthew Wall Erik Doernenburg   Recording venue: OOP 2008 In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and interactivity, their use of Domain Driven Design, some of the technical building blocks as well as the approaches they use for performance measuring and scalability tuning. Links Guardian.co.uk

DATE: Wed, 23 Apr 2008
SIZE: 58.4 MB
DOWNLOAD EPISODE
Episode 94: Open Source Business Models with Dirk Riehle

Podcast (MP3): Download Hosts: Markus  Guests: Dirk Riehle   Recording venue: In this episode we're talking to Dirk Riehle about open source business models. We started looking at the way OS projects work and defined different kinds of open source projects. In the main part of the discussion we looked at various ways of how to make money with open source: consulting, support contracts, commercial variant of an open source project, etc. We then looked at the chances and risks of each of these approaches. The next part focused on different open source licenses and how they are suitable for open source business. We concluded the episode by discussing a couple of specific questions and loose ends. After the show, Dirk informed me about the following three corrections: Black Duck Software's main product is called protexIP not IP Central, there are presently 70 licenses approved by the Open Source Initiative, and EnterpriseDB has so far acquired $37M in venture capital Links Open Source Definition Dirk Riehle's commentary on Open Source Research The Total Growth of Open Source Open Source Business Models and Developer Careers Resolving the Naming Confusion Mark Radcliffe on legal issues

DATE: Tue, 15 Apr 2008
SIZE: 47.6 MB
DOWNLOAD EPISODE
Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock

Podcast (MP3): Download Hosts: Markus  Guests: Rebecca Wirfs-Brock   Recording venue: JAOO 2007 In this episode, Markus talks to Rebecca Wirfs-Brock on what she has learned from architecture reviews. This is a very complement to the earlier episode on architecture evaluation. Links Rebecca's Website More of her Writings

DATE: Sat, 29 Mar 2008
SIZE: 58.8 MB
DOWNLOAD EPISODE
Episode 91: Kevlin Henney on C++

Podcast (MP3): Download Hosts: Arno  Guests: Kevlin Henney   Recording venue: In this episode, we talk with Kevlin Henney about the C++ programming language. We look at the history and the culture of the language, and how it went through several phases in its evolution. We also take a look at some of the special language features of C++ and their overall influence. Links Kevlin's Website Homepage of the ISO C++ standards committee The Annotated Reference Manual (ARM) The Boost Library Bjarne Stroustrup paper: Evolving a language in and for the real world: C++ 1991-2006

DATE: Sat, 22 Mar 2008
SIZE: 33.8 MB
DOWNLOAD EPISODE
Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

Podcast (MP3): Download Hosts: Michael  Guests: Charles W. Krueger   Recording venue: In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company that provides tooling for variability management and product derivation. Besides some clarifications on terms like product line architecture and reference architecture, you also learn what kind of preconditions need to exist before product line engineering can be applied successfully. Links BigLever Charles' Company Product lines community web site

DATE: Wed, 12 Mar 2008
SIZE: 48.8 MB
DOWNLOAD EPISODE
Episode 89: Joe Armstrong on Erlang

Podcast (MP3): Download Hosts: Markus  Guests: Joe Armstrong   Recording venue: JAOO 2007 In this Episode we're talking about Erlang with its creator Joe Armstrong. We started by looking at the history of the Erlang language and why it is so relevant today. We then looked at Joe's approach to Concurrency Oriented Programming and its main ingredients: share nothing, lightweight concurrency and pure message passing. We also compared this to the classic shared memory approach to concurrency. We then looked at other interesting aspects of Erlang, such as its functional nature (and why this is important to concurrency) and pattern matching. Next we discussed how to implement distribution and fault tolerance, and we took a look at OTP, the "application server" for Erlang. We concluded the conversation with a littel discussion about how Erlang was designed, it's current community as well as its future. Links Joe's Website Erlang Website Concurrency Orienged Programming The Actor Model Message Passing Concurrency

DATE: Thu, 21 Feb 2008
SIZE: 54.8 MB
DOWNLOAD EPISODE
Episode 87: Software Components

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: In this episode, Michael and Markus talk about software components. We first looked at a couple of attempts at defining what a component is. We then provided our own definition that will be used in the rest of the episode. We then looked at the promises of component-based development: why are components useful? We then discussed some of the typical metadata components should specify to make them useful. We discussed to some extent typical variations in component models. The next topic was the separation of concerns between the component functionality and functionality provided by the component's execution environment (aka. container). We then compared components with other (more or less) related technologies such as OO and SOA. We concluded the episode with the notion of architecture as language, where you use a formal DSL to describe a system's architecture. Components are the basic building block for this approach. Links Software Components @ Wikipedia Book: Clemens Szyperski: Component Software: Beyond Object-Oriented Programming The Slides we mentioned in the podcast CORBA Component Model DCOM Java EE Dependency Injection The Spring Framework AUTOSAR - Automotive Open System Architecture Service Component Architecture Windows Communication Foundation (Indigo)

DATE: Mon, 11 Feb 2008
SIZE: 36.7 MB
DOWNLOAD EPISODE
Episode 86: Interview Dave Thomas

Podcast (MP3): Download Hosts: Markus  Guests: Dave Thomas   Recording venue: OOPSLA 2007 This episode is an interview with Dave Thomas (OTI Dave or Smalltalk Dave, not PragDave). We started our discussion with a look at the (non-)success of objects and components. We then discussed some history behine Eclipse and Dave's role in OTI. We then compared Smalltalk and Ruby and looked at the promises of small and powerful languages such as Lisp. We also discussed the role of (static) type systems and the role of tool support for languages. We then switched gears and looked at what is necessary to scale agile development to the level of large organizations and how techniques from lean production and manufacturing as well as product management can play an important role. In the last part of the interview we looked at the state of research today, and especially the relationship between industry and academia in this area. We concluded the interview with Dave's opinion on what it takes to be a good developer. Links Dave Thomas' website Object Technology International (OTI) Dave's company, Bedarra Research Labs Another company Dave is involved in: Object Mentor Lean Software Development (Poppendieck)

DATE: Fri, 01 Feb 2008
SIZE: 47.5 MB
DOWNLOAD EPISODE
Episode 85: Web Services with Olaf Zimmermann

Podcast (MP3): Download Hosts: Markus  Guests: Olaf Zimmermann   Recording venue: OOPSLA 2007 In this Episode we're talking about Web Services with IBM's Olaf Zimmermann. We mainly focus on the WS-* stack. We also discuss a couple of SOA foundations and architectural decisions that need to be taken when building an SOA using Web Serivces. We also briefly mention the REST vs. WS-* debate. Links Book: Perspectives on Web Services Olaf's Team at IBM Olaf's OOPSLA 07 Tutorial World Wide Web W3C Web Services activities OASIS WS-Interoperability (WS-I) Apache Web Services projects SOA Decision Modeling Project Further Links

DATE: Sat, 12 Jan 2008
SIZE: 36.4 MB
DOWNLOAD EPISODE
Episode 83: Jeff DeLuca on Feature Driven Development

Podcast (MP3): Download Hosts: Martin  Guests: Jeff DeLuca   Recording venue: In this episode we talk with Jeff DeLuca about Feature Driven Development (FDD). As one member of the agile methods family FDD is not so famous as Scrum or Extreme Programming but is becoming more and more popular, especially for situations where you have fixed price contracts. As the inventor of FDD Jeff gives short introduction to the method itself, talks about the basic ideas behind FDD and discusses with us how FDD relates to other members of the agile family. Links Website: Feature-Driven Development The Agile Manifesto Book: Jim Highsmith: Agile Software Development Ecosystems

DATE: Wed, 02 Jan 2008
SIZE: 46.6 MB
DOWNLOAD EPISODE
Episode 82: Organization of Large Code Bases with Juergen Hoeller

Podcast (MP3): Download Hosts: Eberhard  Guests: Juergen Hoeller   Recording venue: In this episode Eberhard Wolff speaks with Jürgen Höller, the co-found of the Spring framework. Spring is a tremendously successful Java framework so they discuss the design of large frameworks and the issues that arise in the evolution. Jürgen explains the management of dependencies in the framework, how to structure such a framework, how to offer compatibility for the existing user base while evolving the framework and the role of metrics during development. Links The Spring Framework JDepend SonarJ Structure 101

DATE: Sun, 23 Dec 2007
SIZE: 38.3 MB
DOWNLOAD EPISODE
Episode 81: Interview Erich Gamma

Podcast (MP3): Download Hosts: Markus  Guests: Erich Gamma   Recording venue: OOPSLA 2007 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 The Gang-Of-Four Book: Design Patterns The JUnit project's home page The eclipse community site The Jazz project's community site

DATE: Thu, 13 Dec 2007
SIZE: 41.5 MB
DOWNLOAD EPISODE
Episode 80: OSGi with Peter Kriens and BJ Hargrave

Podcast (MP3): Download Hosts: Bernd  Martin  Guests: Peter Kriens BJ Hargrave   Recording venue: This episode is about OSGi, the dynamic module system for Java. Our guests are Peter Kriens (OSGI's Technical Director) and BJ Hargrave (OSGI's CTO). We'll discuss what OSGi is all about and why and in which contexts it is useful. Additionally we are having a look at the different layers of OSGI and where and how they are used. Other questions discussed are: What means dynamicity in an OSGI environment? Where is OSGI used? What’s the future of OSGI? How does OSGI interact with existing middleware solutions? How can I run several versions of the same JAR at the same time? Where are OSGI’s problems? Links The Website of the OSGi Alliance The OSGi Specification A repository of all kinds of different osgi modules JSR 291: Dynamic Component Support for Java SE The free OSGi Implementation Equinox The free OSGi Implementation Apache Felix The free OSGi Implementation Knopflerfish The Spring Framework can run on OSGi as well Run OSGi inside an App-Server Peter’s tools Tutorials for OSGi Peters blog Part 1 of a webinar series on OSGi – Running OSGi Part 2 of a webinar series on OSGi - Installing some bundles Part 3 of a webinar series on OSGi – Running some games Part 4 of a webinar series on OSGi – Installing a php wiki on top of OSGi

DATE: Mon, 03 Dec 2007
SIZE: 55.0 MB
DOWNLOAD EPISODE
Episode 79: Small Memory Software with Weir and Noble

Podcast (MP3): Download Hosts: Markus  Guests: Charles Weir James Noble   Recording venue: OOP 2007 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 Book Homepage Book at Amazon Symbian Developer Homepage SonyEricsson Developer Homepage Windows Mobile Developer Homepage Book: Garbage Collection and Memory Management Penrillian - Charles' company

DATE: Tue, 13 Nov 2007
SIZE: 41.9 MB
DOWNLOAD EPISODE
Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

Podcast (MP3): Download Hosts: Markus  Guests: Robert S. Hanmer   Recording venue: In this Episode we discuss fault tolerance based on the new book by Bob Hanmer. This is the actually the first part of the discussion, the remainder will be published in the next episode of SE Radio. We start by discussing some of the context for fault tolerant systems and the imperfect world assumption. We then discuss a number of terms we will need when discussing the fault tolerance patterns. We then discuss the fault tolerance mindset and connect fault tolerance to a number of related subject areas, such as software quality. We then discuss the shared context for the patterns that follow, among them the important observation that fault tolerance does not come for free! Finally we provide an overview over the different sections covered in the book and start the detailed discussion of the patterns by looking at the Architectural Patterns section. The next episode will discuss the remaining patterns in the book. Links Telecom I/O Patterns Bob's Book at Wiley Book Bob's Book at Amazon A NASA tutorial on Software Fault Tolerance "Dependability and Its Threats: A Taxonomy" by Algirdas Avizienis, Jean-Claude Laprie and Brian Randell "Computers in Spaceflight: The NASA Experience" by James E. Tomayko

DATE: Fri, 09 Nov 2007
SIZE: 14.2 MB
DOWNLOAD EPISODE
Episode 76: Special Episode on the Patterns Journal

Podcast (MP3): Download Hosts: Markus  Guests: Ralph Johnson James Noble   Recording venue: OOPSLA 2007 In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble. Links Patterns Journal Website The Hillside Group

DATE: Sun, 04 Nov 2007
SIZE: 6.91 MB
DOWNLOAD EPISODE
Episode 75: The New Website

Podcast (MP3): Download Hosts: Bernd  Markus  Guests:   Recording venue: In this special Episode we briefly discuss our new website. We will migrate to our new website during the coming week. If you experience any difficulties, contact the team or temporarily go to the old site at seradio.libsyn.com.

DATE: Sat, 03 Nov 2007
SIZE: 41.3 MB
DOWNLOAD EPISODE
Episode 74: Enterprise Architecture II

Podcast (MP3): Download Hosts: Alexander  Guests: Wolfgang Keller   Recording venue: Enterprise Architecture is already common practice in most Fortune 100 companies. As the topic is comparably young, knowledge about it is not so widespread in the Software Architects Community, who deals mostly with project architectures. In this episode Alex speaks with Wolfgang Keller who has practical experience as an enterprise architect and has written a book on the topic. He is a Partner with BusinessGlue Consulting. They are specializing in the relationship between EAM and SOA. This episode gives a rough overview what Enterprise Architecture actually is touches the standards in the field and also gives hints on the practical work of Enterprise Architects. Links Wolfgang's Book, IT Unternehmensarchitektur The TOGAF Framework COBIT Itil

DATE: Wed, 17 Oct 2007
SIZE: 48.3 MB
DOWNLOAD EPISODE
Episode 72: Erik Meijer on LINQ

Podcast (MP3): Download Hosts: Arno  Guests: Erik Meijer   Recording venue: This episode is a discussion with Erik Meijer on LINQ. This is a relatively technical discussion about the following topics: what is LINQ, what are the common abstractions between the different data structures one can access with LINQ, what is the relationship to established languages for querying, how does the integration into the type system of the host language work, how to specify the mapping between the language level classes and the data, and how optimizations are implemented (lazy loading, prefetching, etc.). Links Erik's web page The LINQ project LINQ explained at Wikipedia Video Interview with Anders Hejlsberg on LINQ

DATE: Sat, 13 Oct 2007
SIZE: 29.6 MB
DOWNLOAD EPISODE
Episode 71: Survey Results

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: In this Episode I talk about the results of the listener survey and reply to some of the suggestions and criticism expressed in survey replies.

DATE: Thu, 04 Oct 2007
SIZE: 48.2 MB
DOWNLOAD EPISODE
Episode 70: Gerard Meszaros on XUnit Test Patterns

Podcast (MP3): Download Hosts: Martin  Guests: Gerard Meszaros   Recording venue: 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 Book: xUnit Test Patterns – Refactoring Test Code Website on xUnit Test Patterns xUnit on Wikipedia

DATE: Mon, 24 Sep 2007
SIZE: 51.9 MB
DOWNLOAD EPISODE
Episode 69: Nico Josuttis on SOA (SOA Pt. 3)

Podcast (MP3): Download Hosts: Markus  Guests: Nico Josuttis   Recording venue: This Episode is part five in our (probably ongoing) series on service oriented architecture. In this episode we talk to Nico Josuttis, who has recently published a book on this topic. As its title "SOA in Practice" suggests, it is a very pragmatic book based on Nico's experience as architect and project lead in a number of enterprise-level projects - not all of them had been called SOA, since they at the time the term was not yet coined. The episode discusses some technical aspects of SOA (such as loose coupling, messaging and ESBs), but mainly focusses on non-technical aspects of implementing an SOA. Links Nico's Homepage SOA in Practice book Nico's SOA Glossary Book: Service Orientation: Winning Strategies and Best Practices by Paul Allan Book: Service Orient or Be Doomed - How Service Orientation Will Change Your Business by Jason Bloomberg, Ronald Schmelzer The Business Process Modeling Notation Book: Service-Oriented Architecture - Concepts, Technology, and Design by Thomas Erl

DATE: Fri, 14 Sep 2007
SIZE: 49.7 MB
DOWNLOAD EPISODE
Episode 68: Dan Grossman on Garbage Collection and Transactional Memory

Podcast (MP3): Download Hosts: Markus  Guests: Dan Grossman   Recording venue: OOPSLA 2007 This episode features a discussion with Dan Grossman about an essay paper he wrote for this year's OOPSLA conference. The paper is about an analogy between garbage collection and transactional memory. In addition to seeing the beauty of the analogy, the discussion also serves as a good introduction to transactional memory (which was mentioned in the Goetz/Holmes episode) and - to some extent - to garbage collection. Links Wikipedia on Transactional Memory The paper on which this episode is based. You should read it to see the full beauty of the analogy Wikipedia on Garbage Collection A unified theory of garbage collection Transactional memory: architectural support for lock-free data structures

DATE: Tue, 04 Sep 2007
SIZE: 44.5 MB
DOWNLOAD EPISODE
Episode 67: Roundtable on MDSD and PLE

Podcast (MP3): Download Hosts: Markus  Guests: Axel Uhl, Danilo Beuche, Juha Pekka Tolvanen, Tom Stahl, Ruediger Schilling   Recording venue: This is a roundtable discussion on model-driven software develoment and product line engineering. It was recorded at the Model-Driven Development and Product Lines: Synergies and Experience conference in October 2006 in Leipzig. The panelists are: Axel Uhl, SAP Danilo Beuche, Pure Systems Juha Pekka Tolvanen, MetaCase Tom Stahl, b+m Ruediger Schilling, Delta Software Technology Links OMG's Meta Object Facility (MOF) an overview over the CDIF standard XML Meta Data Interchange (XMI) Query/Views/Transformations OMG's Architecture-Driven Modernization workgroup The Common Warenhouse Meta Model (CWM)

DATE: Fri, 24 Aug 2007
SIZE: 37.5 MB
DOWNLOAD EPISODE
Episode 66: Gary McGraw on Security

Podcast (MP3): Download Hosts: Michael  Guests: Gary McGraw   Recording venue: This episode features an interview with the software security expert Gary McGraw. Gary explains why this topic is so important and gives several security deficiencies examples that he found in the past. The second half of the interview is about his latest book 'Exploiting Online Games' where he explains how online games are hacked and why this is relevant to everybody, not only gamers in their 'First Life'. Links Software Security - one of Gary McGraw's web sites Exploiting Online Games - his latest book

DATE: Tue, 14 Aug 2007
SIZE: 40.2 MB
DOWNLOAD EPISODE
Episode 65: Introduction to Embedded Systems

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: This episode is an introduction to embedded system. It is an introduction in the sense that we cover many topics very briefly: upcoming episodes will provides details for many of these topics. We start by discussing what an embedded system is an what the important characteristics are. Among them is limited resources, concurrency, real time and hardware integration. We also discuss the range of embedded systems from small mirocontrollers to mobile phones to distributed real time embedded systems. We also cover the different business case for embedded systems (per unit cost) and some non-trivial developmental aspects (cross compilation debugging, heisenbugs). We close the episode by discussing some important architectural styles (time triggered, event-based, microkernels, state machines) as well as tools of the trade: languages, operating systems and middleware.

DATE: Sat, 04 Aug 2007
SIZE: 48.3 MB
DOWNLOAD EPISODE
Episode 64: Luke Hohmann on Architecture and Business

Podcast (MP3): Download Hosts: Markus  Guests: Luke Hohmann   Recording venue: In this episode we talk about the relationship between software architecture and the business. Based on his book, Beyond Software Architecture we discuss how things such as branding, licensing, updating or different deployment scenarios influence the technical architecture of a system. We also discuss issues such as portability that add a huge amount of complexity, although from a business perspective it often does not make much sense. In the second part of the interview we discuss how the technical team and the business team can improve the way they work together. We look at some of the games (such as Buy a Feature or Give them a Hot Tub) from his new book Innovation Games, which discusses how to use collaborative play to be more creative and innovative in product creation. Links Luke's web site Book: Beyond Software Architecture Book: Innovation Games

DATE: Wed, 25 Jul 2007
SIZE: 61.0 MB
DOWNLOAD EPISODE
Episode 63: A Pattern Language for Distributed Systems with Henney and Buschmann

Podcast (MP3): Download Hosts: Markus  Guests: Kevlin Henney Frank Buschmann   Recording venue: OOP 2007 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: Domain Driven Design, Eric Evans Messaging Patterns, Gregor Hohpe POSA 2 Patterns, Doug Schmidt Concurrency: Part 1, Part 2, Part 3 and the interview with Goetz and Holmes Remoting Patterns Part 1 and Part 2 POSA3, Resource Management Links POSA 1 POSA 2 POSA 3 POSA 4 POSA 5 Server Component Patterns book Remoting Patterns book Eric Evans's DDD book Martin Fowler's Analysis Patterns Patterns of Enterprise Architecture Gregor Hohpe's Messaging book Security Patterns book Jens Coldewey's Database Stuff

DATE: Thu, 05 Jul 2007
SIZE: 48.7 MB
DOWNLOAD EPISODE
Episode 61: Internals of GCC

Podcast (MP3): Download Hosts: Arno  Guests: Morgan Deters   Recording venue: This show takes a behind-the-scenes look at compilers and their inner workings, using the Gnu compiler collection (GCC) as an example. Arno interview Morgan Deters, covering all steps from the parsing of different programming languages to machine independenet optimizations and generating processor specific binary code. Links Aho, Sethi, Ullmann: Compilers: Principles, Techniques and Tools (the Dragon book) The Gnu Compiler Collection (GCC) *the* GCC INTERNALS document

DATE: Mon, 25 Jun 2007
SIZE: 55.5 MB
DOWNLOAD EPISODE
Episode 60: Roman Pichler on Scrum

Podcast (MP3): Download Hosts: Alexander  Guests: Roman Pichler   Recording venue: This episode features Scrum, a very popular Agile software development framework. We interview Roman Pichler, a Certified ScrumMaster Trainer and independent consultant. Roman explains the principles behind Scrum, its roles and its key practices. He also answers FAQs. This episode continues our track on software development processes discussing an additional Agile method. Roman is currently writing a book on Scrum in German that provides more in-depth information of the topics discussed in the podcast. The book will be available in autumn 2007 published by d.punkt (Heidelberg, Germany). Links The Scrum Alliance Web Site Ken Schwaber, Mike Beedle: Agile Software Development with SCRUM, Prentice Hall, 2001 Ken Schwaber: Agile Project Management with Scrum, Microsoft Press. 2004 Ken Schwaber: Scrum et al. Google Video Roman's Web Site

DATE: Sat, 16 Jun 2007
SIZE: 41.9 MB
DOWNLOAD EPISODE
Episode 59: Static Code Analysis

Podcast (MP3): Download Hosts: Markus  Guests: Jonathan Aldrich   Recording venue: OOPSLA 2006 This episode is a discussion with Jonathan Aldrich (Assistant Professor at CMU) about static analysis. The discussion covered theory as well as practice and tools. We started with an explanation of what static analysis actually is, which kinds of errors it can find and how it is different from testing and reviews. The core challenge of such an analysis tool is to understand the semantics of the program and reduce its possible state space to make it analysable - in effect reconstructing the programmer's intent from the code. The user can "help" the tool with this challenge by using suitable annotations; also, languages could do a better job of being analysable. The conceptual discussion was concluded by looking at the principles of static analysis (termination, soundness. precision) and how this approach relates to model analysis. The second more practical part started out with a discussion of how Microsoft successfully uses static analysis in their Windows development. We then discussed some of the tools available; these include Findbugs, Coverity, Codesonar, Clockwork, Fortify, Polyspace and Codesurfer. To conclude the discussion of tools, we discussed the commonalities and differences with architecture visualization tools as well as metrics and heuristics. Part three of the discussion briefly looked at how to introduce static analysis tools into an organization's development process and tool chain. We concluded the discussion by looking at situations where static analysis does not work, as well as at the FLUID research project at CMU. Links Jonathan's web page Findbugs Coverity CodeSonar Klocwork Fortify Polyspace CodeSurfer

DATE: Wed, 06 Jun 2007
SIZE: 44.0 MB
DOWNLOAD EPISODE
Episode 58: Product Line Engineering Pt. 2

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: Variability is one of the key concerns in software product line engineering. The episode introduces the concepts of structural and non-structural (or configurative) variability. It also discusses how to find and model variability, and especially how to implement variability in the solution artifacts. Michael and Markus discuss a series of variability mechanisms that can be used with today's programming languages and technologies. Links A nice report on Variability in Software Product Lines by Felix Bachmann Workshop proceedings of the SPLC 2006 workshop on Variability Management - Working with Variability Mechanisms A presentation that covers most of the aspects discussed in this episode

DATE: Sun, 27 May 2007
SIZE: 41.1 MB
DOWNLOAD EPISODE
Episode 57: Compile-Time Metaprogramming

Podcast (MP3): Download Hosts: Markus  Guests: Laurence Tratt   Recording venue: JAOO 2006 This episode is about compile-time metaprogramming, and specifically, about implementing DSLs via compile-time metaprogramming. Our guest, Laurence Tratt, illustrates the idea with his (research) programming language called Converge. We started by talking about the importance of a custom syntax for DSL and took a brief look at the definition of DSLs by a chap called Paul Hudak. We then briefly covered the disctinction between internal and external DSLs. More to the point of this episode, we discussed the concept of compile-time metaprogramming, and the language features necessary to achieve it: in converge, these concepts are called splice, quasi-quote and insertion. We then looked at how the Converge compiler works, and at the additional features that are required to implement DSLs based on the metaprogramming features mentioned above. Using an example, we then walked through how to implement a simple DSL. Looking at some of the more technical details, we discussed the difference between the parse tree and the abstract syntax tree and at different kinds of parsers - specifically, the Earley parser used by Converge. In multi-stage languages (i.e. languages that execute programs and meta programs) error reporting is important, but non trivial. We discussed how this is done in Converge. We finally looked at how to integrate Converge's expression language into your DSL and how to package DSL definition for later use. The last segment look at the process of implementing a DSL in converge and about some of the history and practical experience with Converge. Lessons learned from building Converge wrap up the episode. Links Hudak's definition of DSL The Converge Language The concepts of compile-time metaprogramming (find the paper in the list of publications) The concepts of compile-time metaprogramming II How the converge compiler works Parse Tree vs. Abstract Syntax Tree

DATE: Thu, 17 May 2007
SIZE: 40.8 MB
DOWNLOAD EPISODE
Episode 56: Sensor Networks

Podcast (MP3): Download Hosts: Markus  Guests: Steffen Schaefer, IBM   Recording venue: OOPSLA 2006 In this episode we discuss sensor networks with our guest Steffen Schaefer, who is the Technical Thought Leader for Sensors & Actuator Solutions at IBM. The discussion resolves around the TREC device, which can be mounted on containers to track them on their journey over seas, railway tracks and roads. The TREC is a small embedded device developed by Steffen's employer, IBM, that has various sensors and communications channels. In the episode we first talked about container transport in general, and then looked at how the TREC device works - specifically, it's hardware, software and power management. We then looked at the necessary backend infrastructure. The main part of the discussion covered the communication between the device and the backend, using technologies such as Zigby, GSM and satellite communications. We also looked at the middleware infrastructures used, such as the MQtt messaging tool. We closed the episode with a little discussion of the "Internet of Things" and some discussion about embedded software devleopment in general. Note that SE Radio will feature more embedded topics in the future - an introduction to embedded development will be put online soon. Links information on a pilot project IBM did on tracking containers stuffed with Heineken beer interesting workshop papers from OOPSLA06 workshop on Building Software for Sensor Networks. The paper 'Secure Trade Lane: A Sensor Network Solution for more predictable and more secure container shipments' contains details on technology and architecture rfidjournal.com - great source for any kind of information regarding RFID epcglobalinc.org - cross-industry RFID standards flash demo on How the EPC Network works Sensor Network solutions from IBM Information on intelligent utility networks Sun Spots - small wireless Java programmable devices from Sun MQ Telemetry Transport - Messaging infrastructure for mobile and embedded devices Zigbee Alliance - information on the Zigbee standard

DATE: Mon, 07 May 2007
SIZE: 29.4 MB
DOWNLOAD EPISODE
Episode 55: Refactoring Pt. 2

Podcast (MP3): Download Hosts: Eberhard  Martin  Guests:   Recording venue: In the first episode on Refactoring we talked about the basic ideas behind refactoring and some base principles why refactoring is a key part of software engineering. Now we move on to more complicated refactorings and discuss three major situations, their problems and possible solutions: advanced refactorings in large projects that can hardly be finished in a few minutes or hours and refactoring in larger teams. Also covered are the refactoring of published APIs and how merciless refactoring could be aligned with backward compatibility of published APIs, and refactorings that affect more than just code like for example database schemas. Links Martin Fowler's site about refactoring, including a list of refactoring tools for various languages and environments Refactoring mailing list at Yahoo Book: Lippert, Roock: Refactoring in Large Software Projects - Performing Complex Restructurings Successfully Book: Ambler, Sadalage: Refactoring Databases: Evolutionary Database Design Article: Public versus Published Interfaces, Martin Fowler Refactoring Thumbnails by Sven Gorts, a nice way to describe and visualize larger refactorings

DATE: Fri, 27 Apr 2007
SIZE: 38.7 MB
DOWNLOAD EPISODE
Episode 54: Interview Frank Buschmann

Podcast (MP3): Download Hosts: Michael  Guests: Frank Buschmann   Recording venue: 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 Hillside web site EuroPLoP - the European Conference on Pattern Languages of Programs Books on Pattern-Oriented Software Architecture

DATE: Sat, 07 Apr 2007
SIZE: 46.4 MB
DOWNLOAD EPISODE
Episode 52: DSL Development in Ruby

Podcast (MP3): Download Hosts: Markus  Guests: Obie Fernandez   Recording venue: JAOO 2006 In this episode, we're talking to Obie Fernandez about agile DSL development in Ruby. We started our discussion by defining what a DSL is, the difference between internal and external DSLs as well as the importance of the flexibly syntax of the host language in order to make DSLs worthwhile. We then looked at a couple of real world examples for DSLs, specifically, at Business Natural Languages. We then progressed to the main part of the discussions, which centered around the features of Ruby that are important for building DSLs. These include the flexible handling of parentheses, symbols, blocks as well as literal arrays and hashes. We then discussed Ruby's meta programming feautures and how they are important for building DSLs: instantiation, method_missing callback, class macros, top level functions and sandboxing. Features like eval, class_eval, instance_eval and define_method are also important for DSLs in Ruby, as well as using alias_method for simple AOP. Links Obie's Web Site The slides on which this episode is based Martin Fowler's article on Language Workbenches

DATE: Thu, 22 Mar 2007
SIZE: 7.70 MB
DOWNLOAD EPISODE
Episode 50: Announcements and Requests

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: This is another episode where we mainly announce topics related to the podcast itself. Links Please spread the word for Software Engineering Radio by using logos, banners and posters from this page Please don't forget to vote for us at Podcast Alley from time to time. Finally, we are asking for help with our website. If you want to build a real nice website for us, including a good content management system, a forum, tagging, etc. please contact the team.

DATE: Sun, 18 Mar 2007
SIZE: 30.3 MB
DOWNLOAD EPISODE
Episode 49: Dynamic Languages for Static Minds

Podcast (MP3): Download Hosts: Markus  Guests: Niclas Nilsson   Recording venue: OOPSLA 2006 In this Episode we talk about dynamic languages for statically-typed minds, or in other words: which are the interesting features people should learn when they go from a langauge such as Java or C# to a language like Python or Ruby. We used Ruby as the concrete example language. We started the discussion about important features with the concept of dynamically changing an object's type and the idea of message passing. We then looked at the concepts of blocks and closures. Next in line is a discussion about functions that create functions as well as currying. This lead into a quick discussion about continuations. Open classes, aliasing and the relationship to AOP was next on our agenda. We then looked considered a somewhat more engineering-oriented view and looked at the importance of testing and what are the best steps of getting from static programming to dynamic programming. Finally, we discussed a bit about the current (as of October 2006) state of dynamic languages on mainstream platforms. Links Niclas Nilsson's blog Jim Weirichs blog The Seaside web framework AspectR, AOP for Ruby IronPython, Python on .Net JRuby, Ruby on the JVM Groovy

DATE: Thu, 08 Mar 2007
SIZE: 41.4 MB
DOWNLOAD EPISODE
Episode 48: Interview Dragos Manolescua

Podcast (MP3): Download Hosts: Markus  Guests: Dragos Manolescu   Recording venue: JAOO 2006 In this Episode we discuss software architecture evaluation with Dragos Manolescu, an architect at Microsoft's patterns & practices group. We start off the discussion by trying to define what software architecture evaluation is and when and you want to evaluate an architecture in the system's lifecycle. We then make sure evaluators set the expectations for the evaluation process right - it is important to understand that architecture evaluation is typically not primarily a review of the technology decisions made for the architecture. We then discuss the kinds of notations that are useful for describing architectures, and which of these are especially helpful for the evaluator. Next we look at the core of the architecture evaluation task, namely, the integration of the various stakeholders and their views. We also discuss real reviews from reviews that are staged "for show" only. Next in the discussion is a brief look at the tools you can use for architecture evaluation, as well as a closer look at the various methods for achitecture evalualtion proposed by the Software Engineering Institute (SEI). We conclude the discussion by outlining how architecture evaluation fits into an agile development process. ... and finally, we briefly plug the PLOPD5 book, on which Dragos, Markus and James Noble have been working recently :-) Links Dragos' Homepage Dragos' slides on architecture evaluation Detailed description of ATAM (PDF) Information about ATAM from softwarearchitectures.com. Microsoft's patterns & practices group Inforation about the PLOPD5 book

DATE: Mon, 26 Feb 2007
SIZE: 37.0 MB
DOWNLOAD EPISODE
Episode 47: Interview Grady Booch

Podcast (MP3): Download Hosts: Markus  Guests: Grady Booch   Recording venue: 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 Grady's Blog SEI Software Architecture site Book: Design Patterns, by the Gang of Four Some of the books by Henry Petroski Info on CelsiusTech's Ship System 2000 product line Info on the Turing Lecture; here are Grady's slides Book: Distributed Work, by by Pamela J. Hinds and Sara Kiesler (eds) Book: Organizational Patterns by Jim Coplien and Neil Harrisson Book: The Sciences of the Artificial, Herbert Simon Info on the LabView toolkit from National Instruments The approach used by Nokia for mobile phone software development A paper describing the approach to software development by Intentional Software, Charles Simonyi

DATE: Tue, 06 Feb 2007
SIZE: 47.9 MB
DOWNLOAD EPISODE
Episode 45: Round Table on Ultra Large Scale Systems

Podcast (MP3): Download Hosts: Markus  Guests: Linda Northrop, Doug Schmidt, Kevin Sullivan, Gregor Kiczales   Recording venue: OOPSLA 2006 This Episode is a round table discussion about Ultra-Large Scale Systems. In 2006, a number of authors (among them our guests Linda Northrop, Doug Schmidt, Kevin Sullivan, and Gregor Kiczales) have produced a report that addressed the following question: Given the issues with today's software engineering, how can we build the systems of the future that are likely to have billions of lines of code? In this episode, our guests discuss many of the issues that arise from this kind of system and provide an overview of the research areas that should be investigated in order to tackle the challenge. If you want to get more detailed information, you can read the ULS Report (PDF). Links The ULS Report (PDF).

DATE: Sat, 27 Jan 2007
SIZE: 45.2 MB
DOWNLOAD EPISODE
Episode 44: Interview Brian Goetz and David Holmes

Podcast (MP3): Download Hosts: Markus  Guests: Brian Goetz David Holmes   Recording venue: OOPSLA 2006 This is another episode on concurrency. We talk to two experts in the field, Brian Goetz and David Holmes about aspects of concurrency we hadn't really covered before. We start out by discussing liveness and safety and then continue to talk about synchronizers (latches, barriers, semaphores) as well as the importance of agreeing on protocols when developing concurrent applications. We then talked about thread confinement as a way of building thread-safe programs, as well as using functional programming and immutable data. The next set of topics covers various ways of how compilers can optimize the performance wrt. to concurrency, talking about techniques such as escape analysis as well as lock elision and coarsening. We then covered how to test concurrent programs and the consequences of the Java memory model on concurrency. We then went on to look at some more advanced topics, namely, lock-free programming and atomic variables. We also briefly discussed the idea of transactional memory. Finally, we looked at how better language support - specifically, a more declarative style of concurrent programming as e.g. in the Fortress language - can aid in improving the quality of concurrent programs. Links Brian's Homepage The book, Java Concurrency in Practice

DATE: Wed, 17 Jan 2007
SIZE: 68.2 MB
DOWNLOAD EPISODE
Episode 43: eXtreme Programming Pt.2

Podcast (MP3): Download Hosts: Alexander  Arno  Guests:   Recording venue: This is the second part of our two part discussion of the eXtreme Programming development methodology. While the first part introduced the values, principles and basic practices, this time Arno and Alex speak about the practices that set the context for an XP project and how to get started, and they discuss some FAQs they often get when introducing XP. Links Extreme Programming Wiki Martin Fowler's article on XP Kent Beck, Martin Fowler: Planning Extreme Programming, Addison Wesley, ISBN 0-201-71091-9

DATE: Sun, 07 Jan 2007
SIZE: 59.4 MB
DOWNLOAD EPISODE
Episode 42: Interview Gregor Hohpe

Podcast (MP3): Download Hosts: Markus  Guests: Gregor Hohpe   Recording venue: JAOO 2006 In this episode, Gregor Hohpe gives us a great introduction to enterprise messaging based on his EAI Patterns book. Before we started discusssing the patterns in his book, we characterized messaging and talked about the various interaction styles. We also contrasted the messaging architectural style with an RPC based approach. We then took a look at the relationship to SOA, the role of contracts and the orchestration-vs-choreography discussion. We briefly discussed the nature of pattern languages before we then went through the different section in the book. There are six main sections: channel, message, routing, transfomation, endpoint as well as management and monitoring. We discussed the core patterns for each of these sections. This should give listeners a good high-level view of message-based systems. We concluded the discussion by looking at the critical importance of systems management and monitoring. Links Gregor's Homepage Gegor's Blog His Book Online Version of his Book

DATE: Wed, 27 Dec 2006
SIZE: 43.3 MB
DOWNLOAD EPISODE
Episode 41: Architecture Patterns (Architecture Pt. 4)

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: 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 Book: POSA 1

DATE: Sat, 16 Dec 2006
SIZE: 37.2 MB
DOWNLOAD EPISODE
Episode 40: Interview Werner Vogels

Podcast (MP3): Download Hosts: Markus  Guests: Werner Vogels   Recording venue: JAOO 2006 This episode is an interview with Werner Vogels, the CTO of amazon.com. We first talked about what scalability is, and which aspects there are to scalability. We then took a brief look at the technologies used at amazon, specifically, the middleware systems and the issue of vendor lock-in. Web services, and the role of SOA was the next topic. Then we covered what a service actually is add Werner explained the term "pizza teams". Testing and Deployment was the next topic followed by a look at architectural characteristics of scalable systems, the value of simplicity and the CAP theorem. We concluded the discussion with a brief look at the future of distributed systems Links Werner Vogels' Blog Amazon S3 Elasitc Compute Cloud

DATE: Wed, 06 Dec 2006
SIZE: 35.3 MB
DOWNLOAD EPISODE
Episode 39: Interview Steve Vinoski

Podcast (MP3): Download Hosts: Markus  Guests: Steve Vinoski   Recording venue: JAOO 2006 This episode is an interview with Steve Vinoski. Steve works as the Chief Engineer for IONA. He's what you'd call a middleware guru, he was for example deeply involved with CORBA. So, this interview centers mainly around middleware. We begin by talking about his own history wrt. middleare and ORBs and how ORBs evolved over time. We then talked about whether coarse-grained, stateless components might be a better abstraction for distributed systems than "objects". We then covered the future of CORBA, it's use in ethe embedded space as well as the practical relevance of the POSA patterns when building ORBs. Then we switched topics and addressed the role of web services as a "middleware middleware" and the maturity of WS-* specifications. We then looked at what Steve is working on these days, which is e.g. the Advanced Message Queueing Protocol (AMQP) as well as dynamic languages. We concluded the interwiew with his view on SOA. Links Steve's Blog His Book, Advanced CORBA Programming with C++ CeltixFire Service Framework QPid AMQP implementation IONA's Artix ESB

DATE: Sat, 18 Nov 2006
SIZE: 57.5 MB
DOWNLOAD EPISODE
Episode 37: eXtreme Programming Pt.1

Podcast (MP3): Download Hosts: Alexander  Arno  Guests:   Recording venue: This is the first of two episodes where Arno and Alex discuss eXtreme Programming in se-radio's development process track. eXtreme Programming (XP) revolutionized the way of thinking about software development methodologies and helped to make the agile movement popular. In this episode they discuss the very basics of XP, its value system, principles and the basic practices used in an XP project. The second episode will continue the introduction adding the missing practices and how to introduce XP into projects. Links extremeprogramming.org xprogramming.com Kent Beck et al: Extreme Programming Explained. Embrace Change. 1st Edition, Addison Wesley, 2000 Kent Beck et al: Extreme Programming Explained. Embrace Change. 2nd Edition, Addison Wesley, December 2004 Pete McBreen: Questioning Extreme Programming, Addison Wesley, 2002

DATE: Fri, 10 Nov 2006
SIZE: 26.0 MB
DOWNLOAD EPISODE
Episode 36: Interview Guy Steele

Podcast (MP3): Download Hosts: Markus  Guests: Guy L. Steele Jr.   Recording venue: JAOO 2006 This episode is an interview with Guy L. Steele Jr.. Guy is a Sun Fellow and heads the Programming Language Research Group within Sun, and a generally well known "programming language guy" (see here for details). We briefly talk about Lisp and the resurgence of dynamic languages before we delve into the main topic, the Fortress programming language he is working on. Fortress is a language intended to replace Fortran as a scientific computing language. We talk about how mathematical notations, syntax extensio and built-in support for parallelism are crucial properties of such a language. We then briefly talk about potentials for compiler optimization before taking a closer look at the type system (static typing, type inference), traits and contract specification as well as first-class support for hierarchical components. We conclude the discussion with a look at automatic partitioning and distribuion of concurrent algorithms and a brief look at the future roadmap for the Fortress language. Links Guy's web page at Sun There's even a Wikipedia page where you can also find a lot of information about his career and achievements The web page of the Programming Language Resarch group at Sun Fortress Tutorial Slides Fortress FAQ Fortress Spec Wikipedia page on the Occam language mentioned in the interview The Common Lisp book he wrote

DATE: Wed, 08 Nov 2006
SIZE: 9.70 MB
DOWNLOAD EPISODE
Episode 35: Roadmap

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: This episode mainly outlines the upcoming programming and interviews.

DATE: Thu, 02 Nov 2006
SIZE: 56.0 MB
DOWNLOAD EPISODE
Episode 34: Enterprise Architecture

Podcast (MP3): Download Hosts: Markus  Guests: Andy Longshaw   Recording venue: In this episode Markus and our Guest Andy Longshaw talk about enterprise architecture. More specifically, we talk about some of the patterns in Andy Longshaw's and Paul Dyson's book Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems. These includes things like replication, load balancing, monitoring and application management. Links Andy's Web Site The book on which this episode is roughly based We mentioned the book on Security Patterns We also talked about a paper on Service Composition by Paris Avgeriou

DATE: Mon, 23 Oct 2006
SIZE: 41.8 MB
DOWNLOAD EPISODE
Episode 33: Service Oriented Architecture, Pt.2b

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: This is the second snippet of the SOA 2 double-episode. Eberhard and Markus continue the discussion with the issue of service reuse and a couple of development process issues. We also look at the duality between infrastructure development and application development in the context of an SOA. We then discuss the great spaghetti misunderstanding :-). We conclude this episode with a look at how to integrate BPM into the conceptual SOA framework we've built up to now, and we'll also briefly skim over a number of technologies related to SOA. Note that this episode, as well as the last one, is based on a set of slides; these can be downloaded from here. This episode covers slides 39 through 74. Links Java Business Integration (JBI) Service Component Architecture (SCA) The Spaghetti Monster (as mentioned in the podcast by Eberhard :-))

DATE: Fri, 13 Oct 2006
SIZE: 47.4 MB
DOWNLOAD EPISODE
Episode 32: Service Oriented Architecture, Pt.2a

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: In this, as well as in the next episode Eberhard and Markus continue their discussion about SOA (the episode got too long, so we had to split it into two ... SOA 2a and SOA 2b). In this episode, we talk about the various perspectives on SOA (CBD, EAI, BPM), about fundamental requirements towards an SOA, and we discuss the role of models in defining sustainable architectures. We also discuss how a programming model based on the described approach typically looks like. We then discuss a number of issues any large-scale SOA faces (and for which the SOA paradigm does not really provide an out-of-the-box solution: In this episode we discuss data type ownership and (weak) typing of data types. Links Note that this episode, as well as the next one, is based on a set of slides; these can be downloaded from here. This episode covers slides 1 through 38.

DATE: Tue, 03 Oct 2006
SIZE: 40.3 MB
DOWNLOAD EPISODE
Episode 31: Agile Documentation

Podcast (MP3): Download Hosts: Markus  Guests: Andreas Rueping   Recording venue: In this episode, our guest Andreas Rueping and Markus talk about documenting software. While this is a topic that many people don't like or consider fun, it is nonetheless very important. Based on his book, Agile Documentation, we talk about various aspects documenting software such as what to document, when to document, which media to use as well as specifically a number of layouting tips for nice documents. Links Andreas' Web Site His book, Agile Documentation Paper: The Structure and Layout of Technical Documents Paper: Typography And Desktop Publishing A really nice German book on typography and layout called Mut zur Typographie (yes the title is a bit strange, but the book is good Another great book called Universal Principles of Design: 100 Ways to Enhance Usability, Influence Perception, Increase Appeal, Make Better Design Decisions, and Teach Through Design (yes, the title is a bit long, but the book is good!)

DATE: Fri, 22 Sep 2006
SIZE: 27.5 MB
DOWNLOAD EPISODE
Episode 30: Architecture Pt.3

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: In this third Episode on software architecture, Michael and Markus talk about the basic tools that an architect uses when architecting systems. These tools include things like separation, abstraction, compression and sharing. We also relate these tools to the quality attributes we introduced in previous archtecture episodes. Links CRC Cards as introducted by Kent Beck and Ward Cunningham at OOPSLA 1989 Pattern Oriented Software Architecture, Vol.1 # Software Architecture in Practice

DATE: Tue, 12 Sep 2006
SIZE: 33.3 MB
DOWNLOAD EPISODE
Episode 29: Concurrency Pt.3

Podcast (MP3): Download Hosts: Alexander  Michael  Guests:   Recording venue: The third part of our concurrency series by Michael and Alexander discusses how to build highly scalable servers. The discussion focusses especially on event-driven servers. As possible solution patterns a reactor-based design is suggested along-side several patterns for multi-threading issues: Reader/Writers Locks, Thread Pools, and Leader/Followers. Links Here the link to the Leader/Followers pattern, it is also contained in the POSA2 book An interesting discussion on how to best implement Reader-Writer Locks Further, we can recommend the book on Patterns for Parallel Programming The C++ Network Programming by Doug Schmidt and Steve Huston explains how to use use the C++ framework ACE to build networked and concurrent applications. Brian Goetz' new book on Concurrency (in principle this is Java specific, but there are many good explanation of general concurrency topics)

DATE: Sat, 02 Sep 2006
SIZE: 42.9 MB
DOWNLOAD EPISODE
Episode 28: Type Systems

Podcast (MP3): Download Hosts: Arno  Eberhard  Guests:   Recording venue: In recent episodes we have discusses statically and dynamically typed languages and domain specific languages - topics that are much talked about in the community at the moment. In this episode we look at the foundation of programming languages : types. We explain what a type actually is, how type systems work and what polymorphism works. Links The well known On Understanding Types, Data Abstraction, and Polymorphism paper with an impressive number of citations. Definition of Type Systems at Wikipedia

DATE: Wed, 23 Aug 2006
SIZE: 44.6 MB
DOWNLOAD EPISODE
Episode 27: Service Oriented Architecture Pt.1

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: SOA (Service Oriented Architecture) appears to be just another hype - after all we have been building distributed systems for quite a while now. But the real value of SOA is non-technical. In this episode Eberhard and Markus discuss the advantages and disadvantages, what SOA actually is and how it compares to other approaches that have been tried out before. Links Defintion at Wikipedia with many interesting links SOA-News at InfoQ Some products for SOA

DATE: Sun, 13 Aug 2006
SIZE: 41.8 MB
DOWNLOAD EPISODE
Episode 26: Interview Jutta Eckstein

Podcast (MP3): Download Hosts: Arno  Bernd  Markus  Guests: Jutta Eckstein   Recording venue: In this Episode, Arno, Bernd and Markus interview Jutta Eckstein. Jutta is a pioneer and expert on using Agile software development, specifically in larger teams. In the interview we talk about the agile manifesto, the role of personal relationships and trust in software projects, differences between agility in the small and in the large, as well as offshoring. Links Jutta's Homepage Jutta's Book, Agile Software Development in the Large Agile Alliance Agile Manifesto

DATE: Thu, 03 Aug 2006
SIZE: 30.1 MB
DOWNLOAD EPISODE
Episode 25: Architecture Pt. 2

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: In this Episode, Michael and Markus continue the discussion about the fundamentals of software architecture (we're doing it without Alex, because it is really hard to find a suitable time for all of us on the phone :-)). We talk about the various quality attributes (such as performance, scalability, maintainability and many more) and how they relate to each other. Links A nice article about requirements categorization from Kevlin Henney Design & Use of Software Architectures - Adopting and evolving a product-line approach by Jan Bosch contains a very practical introduction to software architecture Large scale software architecture

DATE: Mon, 24 Jul 2006
SIZE: 43.1 MB
DOWNLOAD EPISODE
Episode 24: Development Processes Pt.1

Podcast (MP3): Download Hosts: Alexander  Arno  Guests:   Recording venue: In this episode Arno and Alex talk about the basics of software development processes. They discuss why and when software development processes are needed and also why some developers don't like them. They discuss the theories behind different processes and talk about defined vs empiric processes in general. This episode is the first in a row that will later on describe specific processes like eXtreme programming or the unified process. Links Kent Beck: Extreme programming explained XP on the Web Schwaber, Beedle: Agile Software Development with Scrum Scrum on the Web Poppendieck: Lean Software Development Homepage of Mary Poppendieck Cockburn: Agile Software Development

DATE: Tue, 04 Jul 2006
SIZE: 32.9 MB
DOWNLOAD EPISODE
Episode 21: Error Handling Pt. 2

Podcast (MP3): Download Hosts: Arno  Michael  Guests:   Recording venue: In this Episode, Arno and Michael take a closer look at Exceptions and Error conditions, how to categorize them and how to deal with them. We look at the different levels of guarantee that a piece of code can provide with regard to exceptional condition and finish with a discussion of a number of best practices and their respective trade-offs. Links Herb Sutter, Exceptional C++ A paper by Kevlin Henney on idiomatic use of C++ to write exception-safe code A collection of patterns, some of which show idioma tic Java for exception-safe code

DATE: Sat, 24 Jun 2006
SIZE: 40.2 MB
DOWNLOAD EPISODE
Episode 20: Interview Michael Stal

Podcast (MP3): Download Hosts: Markus  Guests: Michael Stal   Recording venue: In this Episode, we talk to Michael Stal, a Senior Principal Engineer at Siemens Corporate Technology, POSA 1 and 2 Co-Author and Editor of the german JavaSpetrum magazine. Since Michael's core focus is middlware, much of our discussion centered around that topic. Webservices and SOA, of course, have also been covered. Other topics include Java vs. .NET as well as Patterns. Links Michael's Homepage Pattern Oriented Software Architecture, Volume 1 Pattern Oriented Software Architecture, Volume 2 Article by Michael on SOA A Blog Entry by Michael on SOA Michael's magazine, JavaSpektrum (german) Java vs. .NET: at O'Reilly Java vs. .NET: at Java World Michael's Pattern Laws

DATE: Wed, 14 Jun 2006
SIZE: 25.3 MB
DOWNLOAD EPISODE
Episode 19: Concurrency Pt. 2

Podcast (MP3): Download Hosts: Alexander  Michael  Guests:   Recording venue: In this second part of our concurrency series Michael and Alexander talk about basic patterns for concurrent programming, such as Active and Monitor Object, Scoped Locking and Futures. Further, they discuss some architectural considerations regarding the number of threads and resource usage in general. For more information, see the references for part one as well as the following links Links Double-checked Locking risks: JavaWorld Article by Brian Goetz A discussion of the topic by Bill Pugh The Singleton Pattern... ... and its problems

DATE: Sun, 04 Jun 2006
SIZE: 39.8 MB
DOWNLOAD EPISODE
Episode 18: Resource Management

Podcast (MP3): Download Hosts: Michael  Guests: Prashant Jain   Recording venue: In this episode Michael and our guest Prashant Jain talk about patterns for resource management. Efficient management of resources is critical in the execution of any kind of software. Ranging from embedded software in a mobile device to software in a large enterprise server, it is important that the resources, such as memory, threads, file handles, or network connections, are managed efficiently to allow the systems to function properly and effectively. Michael and Prashant discuss various patterns, such as Lazy Acquisition, Caching, Leasing and Evictor and explain when, why, and how to apply them for effective resource management. Links POSA3, Patterns for Resource Management, the book on which this episode is based Small Memory Software - Patterns for Systems with Limited Memory documents some resouce management patterns especially for memory as resource. Use the Patterns Almanac for finding concrete instances of Caching, Lazy* patterns etc.

DATE: Mon, 29 May 2006
SIZE: 13.6 MB
DOWNLOAD EPISODE
Episode 17: Feedback and Roadmap

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: This is a short episode that outlines the upcoming episodes and interviews, as well as reports on some listener feedback.

DATE: Thu, 25 May 2006
SIZE: 55.1 MB
DOWNLOAD EPISODE
Episode 16: MDSD Pt. 3, Hands-On

Podcast (MP3): Download Hosts: Arno  Markus  Guests:   Recording venue: This episode provides a hands-on guided tour through a simple model-driven software project. It is based on an actual code sample (see link below) and takes a look at the typical steps of real-life code generation: prototypical implementation, defining the metamodel, reading a model into a metamodel instance, writing templates and validating the model. The example for the episode uses openArchitectureWare as a generator environment, but the overall approach is tool independent. This episode is the first in a new category "code/technology" that discusses technical concepts based on actual code. Please give feedback whether you find this format useful or not. Links openArchitectureWare Sample code for the State Machine example. Note that you need a running installation of openArchitectureWare Additional Documentation for the State Machine example Eclipse Modelling Framework Book on State Machines (Practical State Charts in C/C++, by Miro Samek) Design Patterns Book MDSD Book

DATE: Mon, 15 May 2006
SIZE: 34.7 MB
DOWNLOAD EPISODE
Episode 15: The Future of Enterprise Java

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: A very important area for Java are Enterprise Systems. With the advent of new technologies like Ruby on Rails, Java EE 5 or EJB 3 the landscape for Enterprise Systems appears to be changing a lot at the moment. In this episode Markus talks with Eberhard about what Enterprise Java actually is, why and where it is used. Based on that they discuss what the future might look like and how to make Enterprise Java shine in the future. Links Spring AppFuse Trails Grails AspectJ EJB3.0

DATE: Fri, 05 May 2006
SIZE: 59.1 MB
DOWNLOAD EPISODE
Episode 14: Interview Ted Neward

Podcast (MP3): Download Hosts: Markus  Guests: Ted Neward   Recording venue: In this Episode we talk to Ted Neward. Since Ted is active in the .NET and Java universes, we started out by discussing some of the differences between the two platforms. The main discussion, however, focussed on new features in the C# 3.0 language. These include LINQ (language-integrated query). A very interesting discussion about extension methods, lamda expression, typing (dynamic, duck, compiler) and other language "tricks" follows. We also visited the topic of language development on the .NET and Java platforms in general, also looking at topics such as concurrency and the Scala language. Links Ted's web site An article by Ted on LINQ and related technologies Some information about the Scala language Robert Tolksdort page on languages for the JVM ... and a page on languages for the .NET platform Brian Goetz' book on concurrency Absil toolkit The F# language

DATE: Tue, 18 Apr 2006
SIZE: 23.1 MB
DOWNLOAD EPISODE
Episode 12: Concurrency Pt. 1

Podcast (MP3): Download Hosts: Alexander  Michael  Guests:   Recording venue: This is the first part of a series of Concurrency episodes. In this part Alex and Michael motivate and introduce the topic. We explain fundamental terms, such as thread, process, or mutex and dicuss typical challenges, such as deadlocks and race conditions. Links Good explanations of terms at Wikipedia POSA 2 contains patterns for concurrent systems Concurrent Programming in Java: Design Principles and Patterns - the 3rd edition seems to be ready soon. We already found the 2nd edition really great

DATE: Wed, 29 Mar 2006
SIZE: 31.7 MB
DOWNLOAD EPISODE
Episode 10: Remoting Pt. 2

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: This is the second part of the remoting infrastructures discussion started in Episode 9. We take a look at how remoting infrastructures such as CORBA, .NET Remoting or Web Services work internally. This includes the low level details of the transport layer, marshalling, client proxies as well as interceptors and asynchronous communication. At the end, Michael will explain how all this relates to CORBA and Markus will map the concepts to .NET remoting. We don't have additional links in these show notes since all the relevant links had been posted for Episode 9 already.

DATE: Sun, 19 Mar 2006
SIZE: 36.8 MB
DOWNLOAD EPISODE
Episode 9: Remoting Pt.1 and Listener Feedback

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: This Episode as well as the next one take a look at remoting infrastructures such as CORBA, .NET Remoting or Webservices. In this first part we will take a look at why remote communication is necessary in the first place, what remoting middleware can do for you as well as which other middleware technologies exist in addition to OO-RPC systems, such as messaging middleware. Finally, we conclude with a brief overview of what the broker pattern can do for us in the context of remoting middleware. Links Remoting Patterns, the book that contains the patterns based on which we explain remoting middleware POSA 1, the book which contains the broker pattern. The Broker Pattern Revisited, a paper describing the essence of the Broker Pattern POSA 2 contains a number of implementation patterns for concurrent systems Enterprise Integration Patterns take a look at messaging middleware CORBA information .NET Remoting overview Web Services information at W3C Web Services standards at OASIS

DATE: Wed, 08 Mar 2006
SIZE: 35.4 MB
DOWNLOAD EPISODE
Episode 8: Interview Eric Evans

Podcast (MP3): Download Hosts: Markus  Guests: Eric Evans   Recording venue: Eric Evans is the author of the well known Domain-Driven Design book. In his day job he works as a consultant and coach for his own company, Domain Language. In this interview, Eric talks about the essential building blocks of domain-driven design as well as about a set of best practices on how to address complex projects. In a third part, he elaborates on the relationship of domain-driven design and MDSD/MDA. Links Domain-Driven Design, the book About Eric Eric's Time and Money project at Sourceforge Eric's company, Domain Language

DATE: Mon, 27 Feb 2006
SIZE: 27.2 MB
DOWNLOAD EPISODE
Episode 7: Error Handling

Podcast (MP3): Download Hosts: Arno  Markus  Guests:   Recording venue: This week, Arno and Markus take a look at error handling at the architectural level. They discuss the different kinds of errors, the groups of people who need to know about them and proven high-level approaches. Later episodes will investigate more technical aspects of error handling, such as idioms for using exceptions or a discussion of checked vs. unchecked exceptions.

DATE: Sat, 18 Feb 2006
SIZE: 19.8 MB
DOWNLOAD EPISODE
Episode 6: Model-Driven Software Development Pt. 2

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: After discussing some of the more technical aspects of MDSD in the last episode, we take a look at other important topics in this one. This includes some tips on how to introduce MDSD into projects and how the development process has to be adapted for this to work, as well as a look at the return on investment for MDSD. The relationship of MDSD and Agile software development is also discussed. Finally, we take a look at offshoring in the context of MDSD.

DATE: Thu, 09 Feb 2006
SIZE: 31.0 MB
DOWNLOAD EPISODE
Episode 5: Model-Driven Software Development Pt. 1

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: In this Episode, Eberhard and Markus provide an introduction to Model-Driven Software Development. Since the discussion turned out to be too long, we separated things into two episodes, thus Episode 6 will be the second part of this discussion. In this first part we disucsss core concepts of MDSD, the relationship to MDA, and hint at a couple of tools. Links Frank's Tonabnehmer Java Posse Eclipse Modelling Framework Eclipse Graphical Modeling Framework Eclipse Generative Model Transformer openArchitectureWare androMDA OMG's MDA Some of Markus' conference slides on MDSD

DATE: Wed, 01 Feb 2006
SIZE: 30.0 MB
DOWNLOAD EPISODE
Episode 4: Scripting Languages

Podcast (MP3): Download Hosts: Alexander  Markus  Guests:   Recording venue: In this Episode, Alexander and Markus talk about scripting languages. Topics include the definition of what a scripting language is, typical usage scenarios, performance issues, programming styles and IDE support. In later Episodes we will talk about more specific topics, such as dynamic typing, reflection, functional programming as well as specific languages such as Ruby. Links perl.com perl.org python.org ruby-lang.org rubycentral.com groovy.codehaus.org Hello World in many, many languages A comparison between C++/Java/Python/Ruby

DATE: Wed, 25 Jan 2006
SIZE: 46.6 MB
DOWNLOAD EPISODE
Episode 3: Interview Doug Schmidt

Podcast (MP3): Download Hosts: Markus  Guests: Doug Schmidt   Recording venue: In this episode we talk with Doug Schmidt. Doug is a professor of computer science at Vanderbilt University and a well-respected authority in the fields of middleware, patterns and model-driven development. In this interview we talk about these topics in the context of distributed, realtime embedded (DRE) systems. Links Doug's Web Site TAO, The ACE ORB CORBA OMG Data Distribuion Service POSA 2 Book OMG MIC PSIG Vanderbilt ISIS GME Tool

DATE: Tue, 24 Jan 2006
SIZE: 32.0 MB
DOWNLOAD EPISODE
Episode 2: Dependencies

Podcast (MP3): Download Hosts: Eberhard  Markus  Guests:   Recording venue: Eberhard and Markus discuss the important topic of associations and dependencies in this show. While OO languages provide direct support for subtyping, most don't provide a first-class construct for other relationships between objects. The discussion elaborates on the problem and looks at various remedies, most importantly, dependency injection. Links Spring Framework Dependency Finder Software Tomography SonarJ (German Site) Observer Pattern, in the GoF Book AspectJ

DATE: Sat, 21 Jan 2006
SIZE: 28.6 MB
DOWNLOAD EPISODE
Episode 1: Patterns

Podcast (MP3): Download Hosts: Markus  Michael  Guests:   Recording venue: In this episode Michael and Markus talk about patterns. Starting with some of their "most used" patterns, they go into some detail about the history of patterns. They then discuss the various pattern forms as well as some misconceptions about patterns. Other topics include the domains that are covered by patterns as well as pattern languages. Links Hillside Group EuroPLoP 2006 Conference # PLOD5 book GoF Book POSA 1 Book

DATE: Fri, 20 Jan 2006
SIZE: 4.31 MB
DOWNLOAD EPISODE
Episode 0: About

Podcast (MP3): Download Hosts: Markus  Guests:   Recording venue: This is the first episode (actually, episode zero) of software engineering radio. The episode does not contain real content, rather, Markus explains what the podcast is all about.

Recent Comments for Software Engineering Radio

The content is concise and to the point. The topical areas are a satisfactory balance between software engineering, software ecosystems, and software architecture. The lessons learned are both invaluable and timeless.

Submitted By: douglas.minnaar@... (on 12-2009)

Best Serious Podcast

Submitted By: dzejms@... (on 11-2009)


Top 10 Podcasts
 Double Feature
 Keith and The Girl
 Free Talk Live
 Keith and The Girl TV
 The Super Secret Backs...
 RED BAR RADIO .com
 BLAST THE RIGHT
 Wreckless Media Radio
 Best of the Left Podca...
 MuggleCast

5 Featured Podcasts
 Buzz Out Loud from CNE...
 Lab Rats
 Tech Weekly
 Up Next at CES Podcast...
 TechVi - All Shows

5 Newest Podcasts
 Quantum Power Chair - ...
 Pride Victory - Americ...
 Pride Revo Scooter - A...
 <![CDATA[stop forec...
 <![CDATA[sell my ho...




home | about | support this site | contact | MEVIOoffers | MEVIO
© 2004 - 2010 Chris McIntyre and PodcastAlley.com