Direct download: seradio-episode86-daveThomas.mp3
Category: podcasts -- posted at: 8:06 AM
Comments[0]

Direct download: seradio-episode85-olafZimmermannOnWebServices.mp3
Category: podcasts -- posted at: 8:05 AM
Comments[0]

Direct download: seradio-episode84-dickGabrielOnLisp.mp3
Category: regular/technology -- posted at: 5:05 AM
Comments[0]

Direct download: seradio-episode83-jeffDeLucaOnFeatureDrivenDevelopment.mp3
Category: podcasts -- posted at: 4:54 PM
Comments[0]

Direct download: seradio-episode82-largeCodebasesWithJuergenHoeller.mp3
Category: podcasts -- posted at: 4:54 PM
Comments[0]

Direct download: seradio-episode81-erichGamma.mp3
Category: podcasts -- posted at: 12:21 PM
Comments[0]

Direct download: seradio-episode80-osgiWithKriensAndHardgrave.mp3
Category: podcasts -- posted at: 12:11 AM
Comments[0]

Direct download: seradio-episode79-smallMemoryWithWeirAndNoble.mp3
Category: podcasts -- posted at: 5:10 AM
Comments[0]

Direct download: seradio-episode78-faultToleranceWithBobHanmer_pt2.mp3
Category: podcasts -- posted at: 6:46 AM
Comments[0]

Please go to se-radio.net for the new website and the new feed.
Direct download: seradio-episode77-faultToleranceWithBobHanmer_pt1.mp3
Category: guest/technology -- posted at: 3:02 PM
Comments[0]


Guest: Ralph Johnson, James Noble
Host: Markus

In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble.


Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode76-thePatternsJournal.mp3
Category: interview -- posted at: 8:00 AM
Comments[0]


Host: Bernd and Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode75-theNewWebsite.mp3
Category: notifications -- posted at: 11:16 AM
Comments[0]


Guest: Wolfgang Keller
Host: Alex

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Comments[0]


Guest: Bruce Powel Douglass, Chief Evangelist at Telelogic
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode73-realtimeSystemsWithBrucePowelDouglass.mp3
Category: interview -- posted at: 4:30 PM
Comments[3]


Guest: Erik Meijer
Host: Arno

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.).
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode72-ericMeijerOnLINQ.mp3
Category: interview -- posted at: 7:23 AM
Comments[5]


Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode71-surveyResults.mp3
Category: notifications -- posted at: 6:58 AM
Comments[18]


Guest: Gerard Meszaros
Host: Martin

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

Direct download: seradio-episode70-gerardMeszarosOnXUnitTestPatterns.mp3
Category: interview -- posted at: 12:42 AM
Comments[5]


Guest: Nico Josuttis
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode69-nicoJosuttisOnSOA.mp3
Category: interview -- posted at: 12:49 AM
Comments[1]


Guests: Dan Grossman
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode68-GCandTMwithDanGrossman.mp3
Category: guest/technology -- posted at: 1:09 AM
Comments[1]


Guests: Axel Uhl, Danilo Beuche, Juha Pekka Tolvanen, Tom Stahl, Ruediger Schilling
Host: Markus

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: The lively discussion resolved around topics such as MOF, XMI, the way the OMG defines standards, architecture-driven modernizatin (ADM), and the relationship of the product lines communities and the model-driven and DSL communities.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode67-roundtableOnMDSDandPLE.mp3
Category: interview/roundtable -- posted at: 12:18 AM
Comments[0]


Guest: Gary McGraw
Host: Michael

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'.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode66-garyMcGrawOnSecurity.mp3
Category: interview -- posted at: 4:48 AM
Comments[3]


Hosts: Michael and Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode65-introToEmbeddedSystems.mp3
Category: regular/technology -- posted at: 2:20 PM
Comments[5]


Guest: Luke Hohmann
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode64-architectureAndBusinessWithLukeHohman.mp3
Category: interview -- posted at: 5:40 AM
Comments[0]


Guest: Kevlin Henney and Frank Buschmann
Host: Markus
recorded at: 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:

Here are some of the books and publications mentioned in the discussion:
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Comments[5]


Guest: Martin Odersky
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode62-scalaWithMartinOdersky.mp3
Category: interview -- posted at: 2:42 PM
Comments[0]


Guest: Morgan Deters
Host: Arno

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode61-internalsOfGCC.mp3
Category: guest/technology -- posted at: 3:15 AM
Comments[9]


Guest: Roman Pichler
Host: Alex

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.

You can find out more about Scrum here:

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).

Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode60-romanPichlerOnScrum.mp3
Category: guest/technology -- posted at: 1:46 AM
Comments[2]


Guest: Jonathan Aldrich
Host: Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode59-StaticCodeAnalysis.mp3
Category: guest/technology -- posted at: 1:25 PM
Comments[2]


Hosts: Michael and Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode58-ProductLineEngineering_Pt2.mp3
Category: regular/technology -- posted at: 8:01 AM
Comments[3]


Guest: Laurence Tratt
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Comments[10]


Guest: Steffen Schaefer, IBM
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode56-sensorNetworksWithSteffenSchaefer.mp3
Category: guest/technology -- posted at: 7:36 AM
Comments[1]


Hosts: Martin and Eberhard

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode55-refactoring_pt2.mp3
Category: regular/technology -- posted at: 9:04 AM
Comments[12]


Guest: Frank Buschmann
Host: Michael

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

Direct download: seradio-episode54-frankBuschmann.mp3
Category: interview -- posted at: 1:04 AM
Comments[1]


Hosts: Michael and Markus

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode53-ProductLineEngineering_Pt1.mp3
Category: regular/technology -- posted at: 2:06 AM
Comments[3]


Guest: Obie Fernandez
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode52-DSLsInRuby.mp3
Category: guest/technology -- posted at: 12:01 AM
Comments[1]


Hosts: Arno and Michael

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode51-designByContract.mp3
Category: regular/technology -- posted at: 12:01 AM
Comments[10]

Host: Markus

This is another episode where we mainly announce topics related to the podcast itself. Specifically, this includes:
  • 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.

Direct download: seradio-episode50-announcementsAndRequests.mp3
Category: about/news/feedback -- posted at: 3:48 AM
Comments[1]


Guest: Niclas Nilsson
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode49-dynamicLanguages.mp3
Category: guest/technology -- posted at: 4:11 AM
Comments[3]


Guest: Dragos Manolescu
Host: Markus
Recorded at: 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 :-)
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode48-dragosManolescu.mp3
Category: interview -- posted at: 1:33 AM
Comments[2]


Guest: Grady Booch
Host: Markus

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

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

Direct download: seradio-episode47-gradyBooch.mp3
Category: interview -- posted at: 1:35 AM
Comments[6]


Hosts: Martin and Eberhard

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode46-refactoring_pt1.mp3
Category: regular/technology -- posted at: 5:28 AM
Comments[7]


Guests: Linda Northrop, Doug Schmidt, Kevin Sullivan, Gregor Kiczales
Host: Markus
Recorded at: 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).

Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode45-ultraLargeScaleSystems.mp3
Category: interview/roundtable -- posted at: 1:44 AM
Comments[13]


Guest: Brian Goetz and David Holmes
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode44-goetzAndHolmes.mp3
Category: interview -- posted at: 4:46 AM
Comments[4]


Hosts: Arno and Alex

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode43-eXtremeProgramming_pt2.mp3
Category: regular/technology -- posted at: 1:40 AM
Comments[8]


Guest: Gregor Hohpe
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode42-gregorHohpe.mp3
Category: interview -- posted at: 2:32 AM
Comments[0]


Hosts: Michael and Markus

This is the fourth and final episode on the fundamentals of Software Architecture. We talk mainly about architectural styles and patterns, as introduced in the POSA 1 Book. We also discuss a little bit the process of actually using those patterns for architecting systems.

Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode41-architecture_pt4.mp3
Category: regular/technology -- posted at: 1:28 AM
Comments[7]


Guest: Werner Vogels
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode40-wernerVogels.mp3
Category: interview -- posted at: 2:28 PM
Comments[0]


Guest: Steve Vinoski
Host: Markus
Recorded at: 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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode39-steveVinoski.mp3
Category: interview -- posted at: 2:31 PM
Comments[5]


Guest: James Noble
Host: Markus
Recorded at: AOSD 2006

Designers, programmers, engineers, we must all return to programming!

Very few programmers tend to see their (sometimes rather general) difficulties as the core of the subject and as a result there is a widely held consensus as to what programming is really about. If these notes prove to be a source of recognition or to give you the appreciation that we have simply written down what you already know about the programmer's trade, some of our goals will have been reached.


Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode38-jamesNoble.mp3
Category: podcasts -- posted at: 5:53 PM
Comments[8]


Hosts: Arno and Alex

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.
Publicize:      Digg this      Post to del.icio.us      Post to Slashdot

Direct download: seradio-episode37-extremeProgramming_pt1.mp3
Category: regular/technology -- posted at: 8:48 AM
Comments[10]

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 -
about/news/feedback
code/technology
guest/technology
interview
interview/roundtable
notifications
podcasts
regular/technology

Archives

January
February

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

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

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