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.
Direct download: seradio-episode81-erichGamma.mp3
Category:Episodes -- posted at: 7:37pm CET

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?
Direct download: seradio-episode80-osgiWithKriensAndHardgrave.mp3
Category:Episodes -- posted at: 8:03am CET

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.
Direct download: seradio-episode79-smallMemoryWithWeirAndNoble.mp3
Category:Episodes -- posted at: 10:19am CET

This is the second part of the discussion on fault tolerance with Bob Hanmer (if you didn't listen to Episode 77, which contains part one, please go back and listen now; this episode builds on that previous one!) We start by discussing a set of error detection patterns. Among are the well-known approaches such as checksums and voting. We then look at error recovery patterns, including restart, rollback or roll forward. The next section looks at error mitigation patterns, which include shedding load and doing fresh work before stale. The last patterns section then looks at fault treatment patterns. We conclude the episode with a small discussion about how to design systems using (these and other) patterns, and with some thoughts on why actually wrote the book.
Direct download: seradio-episode78-faultToleranceWithBobHanmer_pt2.mp3
Category:Episodes -- posted at: 11:58am CET

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.
Direct download: seradio-episode77-faultToleranceWithBobHanmer_pt1.mp3
Category:Episodes -- posted at: 8:08pm CET

In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble.
Direct download: seradio-episode76-thePatternsJournal.mp3
Category:Episodes -- posted at: 8:17pm CET

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.
Direct download: seradio-episode75-theNewWebsite.mp3
Category:Episodes -- posted at: 4:18pm CET

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.
Direct download: seradio-episode74-enterpriseArchitecture_II_withWolfgangKeller.mp3
Category:Episodes -- posted at: 12:35pm CET

Episode 73: Real Time Systems with Bruce Powel Douglass This episode is a conversation with Bruce Powel Douglass on real time systems. We started by discussing what real time software is, and explored the difference between hard and soft real time. We then looked at different scheduling strategies, and the meaning of terms like urgency and importance in the context of scheduling. Next was a discussion of typical architectural styles for real time systems and how architectures are described in this context. This led us to a discussion about the importance of modeling, formalisms and languages as well as the role of automatic code generation from those models. We then looked at how to model QoS aspects and the role of SysML for modeling real time systems. We then had a brief look at which programming languages are used these days for real time systems and the role of static analysis to determine various properties of those programs in advance. The last part of the discussion focused on some best practices for building real time systems, the challenges in distributed real time systems and how real time systems can be tested effectively.
Direct download: seradio-episode73-realtimeSystemsWithBrucePowelDouglass.mp3
Category:Episodes -- posted at: 8:23pm CET

Episode 72: Erik Meijer on LINQ 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.).
Direct download: seradio-episode72-ericMeijerOnLINQ.mp3
Category:Episodes -- posted at: 8:13pm CET

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.
Direct download: seradio-episode71-surveyResults.mp3
Category:Episodes -- posted at: 8:09pm CET

Episode 70: Gerard Meszaros on XUnit Test Patterns 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.
Direct download: seradio-episode70-gerardMeszarosOnXUnitTestPatterns.mp3
Category:Episodes -- posted at: 7:59pm CET

Episode 69: Nico Josuttis on SOA (SOA Pt. 3) 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.
Direct download: seradio-episode69-nicoJosuttisOnSOA.mp3
Category:Episodes -- posted at: 12:00am CET

Episode 68: Dan Grossman on Garbage Collection and Transactional Memory 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.
Direct download: seradio-episode68-GCandTMwithDanGrossman.mp3
Category:Episodes -- posted at: 4:22pm CET

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:
Direct download: seradio-episode67-roundtableOnMDSDandPLE.mp3
Category:Episodes -- posted at: 4:30pm CET

Episode 66: Gary McGraw on Security 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'.
Direct download: seradio-episode66-garyMcGrawOnSecurity.mp3
Category:Episodes -- posted at: 12:00am CET

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.
Direct download: seradio-episode65-introToEmbeddedSystems.mp3
Category:Episodes -- posted at: 12:00am CET

Episode 64: Luke Hohmann on Architecture and Business 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.
Direct download: seradio-episode64-architectureAndBusinessWithLukeHohman.mp3
Category:Episodes -- posted at: 12:00am CET

Episode 63: A Pattern Language for Distributed Systems with Henney and Buschmann 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:
Direct download: seradio-episode63-aPatternLanguageOnDistSystemsWithHenneyAndBuschmann.mp3
Category:Episodes -- posted at: 12:00am CET

Episode 62: Martin Odersky on Scala In this Episode we talk about the Scala language with its creator Martin Odersky. Scala is a language that fuses object oriented and functional programming. Martin started out by providing a two-minute overview over the language, and then talked a little bit about its history. We then discussed the basics of functional programming. The main part of the episode features a discussion of some of the important features of the Scala language:
  • Case Classes and Pattern Matching
  • Multiple Inheritance and Compound Types, Traits, Mixins
  • Closures
  • Functions as types, "Function pointers", Anonymous functions
  • Higher Order Functions
  • Currying
  • (Sequence) Comprehensions
  • Generics
  • Type Bounds (Upper, Lower)
  • Static/Dynamic Typing, Type Inference
  • Operators
  • Implicits
We then talked about Scala's actors library, a highly scalable concurrency package. The last part of the episode covered some more general topics, such as where and how Scala is used today, IDE support and the user and developer community. We concluded the episode by looking at current development and next steps in Scala language evolution.
Direct download: seradio-episode62-scalaWithMartinOdersky.mp3
Category:Episodes -- posted at: 12:00am CET

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.
Direct download: seradio-episode61-internalsOfGCC.mp3
Category:Episodes -- posted at: 12:00am CET

Episode 60: Roman Pichler on Scrum 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).
Direct download: seradio-episode60-romanPichlerOnScrum.mp3
Category:Episodes -- posted at: 12:00am CET

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.
Direct download: seradio-episode59-StaticCodeAnalysis.mp3
Category:Episodes -- posted at: 1:52pm CET

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.
Direct download: seradio-episode58-ProductLineEngineering_Pt2.mp3
Category:Episodes -- posted at: 2:02pm CET

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.
Direct download: seradio-episode57-compileTimeMetaprogrammingWithLaurenceTratt.mp3
Category:Episodes -- posted at: 7:07pm CET

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.
Direct download: seradio-episode56-sensorNetworksWithSteffenSchaefer.mp3
Category:Episodes -- posted at: 7:12pm CET

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.
Direct download: seradio-episode55-refactoring_pt2.mp3
Category:Episodes -- posted at: 7:37pm CET

Episode 54: Interview Frank Buschmann 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.
Direct download: seradio-episode54-frankBuschmann.mp3
Category:Episodes -- posted at: 9:06am CET

Michael Kircher and Markus Voelter introduce the topic of software product line engineering. They motivate when and why product lines are important to consider and what makes them so special. Further, they introduce some key terminology, such as platform, core asset, feature model, commonality, and variability.
Direct download: seradio-episode53-ProductLineEngineering_Pt1.mp3
Category:Episodes -- posted at: 9:08am CET

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.
Direct download: seradio-episode52-DSLsInRuby.mp3
Category:Episodes -- posted at: 9:52am CET

In this episode, Arno and Michael take a look at Design by Contract, a programming technique formalized by Bertrand Meyer. The idea is that an interface is more than method signatures - it is also about specifying the expected behavior that implementations must provide. While some languages include direct support for this style of programming, it is a useful mindset when desiging interfaces even without such language features.
Direct download: seradio-episode51-designByContract.mp3
Category:Episodes -- posted at: 9:57am CET

This is another episode where we mainly announce topics related to the podcast itself.
Direct download: seradio-episode50-announcementsAndRequests.mp3
Category:Episodes -- posted at: 8:10am CET

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.
Direct download: seradio-episode49-dynamicLanguages.mp3
Category:Episodes -- posted at: 8:15am CET

Episode 48: Interview Dragos Manolescua 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 :-)
Direct download: seradio-episode48-dragosManolescu.mp3
Category:Episodes -- posted at: 8:50am CET

Episode 47: Interview Grady Booch 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.
Direct download: seradio-episode47-gradyBooch.mp3
Category:Episodes -- posted at: 10:16am CET

Changeable software has been a goal of several technique in software engineering. Probably the most important is Refactoring, changing the code without changing the behaviour (or at least without breaking the tests). In this episode Eberhard talks with Martin Lippert about this technique. The episode covers a history of refactoring, a definition of code smells and how to actually do refactorings in your everyday work. Also some advanced topics - like the ROI of Refactoring or Refactoring in dynamic languages - are covered.
Direct download: seradio-episode46-refactoring_pt1.mp3
Category:Episodes -- posted at: 10:25am CET

Episode 45: Round Table on Ultra Large Scale Systems 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).
Direct download: seradio-episode45-ultraLargeScaleSystems.mp3
Category:Episodes -- posted at: 11:00am CET

Episode 44: Interview Brian Goetz and David Holmes 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.
Direct download: seradio-episode44-goetzAndHolmes.mp3
Category:Episodes -- posted at: 11:06am CET

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.
Direct download: seradio-episode43-eXtremeProgramming_pt2.mp3
Category:Episodes -- posted at: 11:08am CET

Episode 42: Interview Gregor Hohpe 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.
Direct download: seradio-episode42-gregorHohpe.mp3
Category:Episodes -- posted at: 11:13am CET

Note that the this page shows only the 50 most recent episodes. If you want to see older episodes, you need to select the appropriate months from the archives.

Donate

Donate some money so we can buy additional audio equipment and improve our sound quality.

Syndication

Spread the Word

Help us advertise for SE Radio by putting logos on your website or posters into your office.
Get materials here!

License

Creative Commons License
This work is licensed under a Creative Commons License.

Please Vote for us!

... at Podcast Alley
... at digg

Go To ...

Categories
Archives
About the Team
Donate
Search Audio/Notes
Thanks
Other Podcasts

Related Links

SE Radio is (and will continue to be) an independent and non-commercial endeavor. Nonetheless, we want to say 'thank you' to the following organizations who help us to publicize the SE Radio podcast.















Categories

- all -
general
Episodes

Archives

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
June
May
April
March
February
January

December
September
July
June
May
April
February
January

December
November
September
July
June
April
March
February
January

December
October
August
July
June
May
April
March
February
January

November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

December
November
October
September
August
July
June
May
April
March
February
January

Team

This podcast is brought to you by a team of experienced software developers and architects. You can reach the team through


Alexander
Schmid


Arno
Haase


Bernd
Kolb


Eberhard
Wolff


Martin
Lippert


Markus
Voelter
 
Michael
Kircher
 

Search

Search in Show Notes:

Search in Audio Content:
Search Google: Google
Web www.se-radio.net

Thanks...

... to Henning Pauly for poviding the music.
... to LibSyn for hosting and bandwidth.

Other Podcasts

Some interesting podcasts you might want to subscribe to:
Security Now!
Java Posse
This Week in Tech (TWiT)
Futures in Biotech
IT Conversations
TED Talks
HPI Podcast
Tonabnehmer (German)
Manager Tools

Software