se

Episode 56: Sensor Networks

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.




se

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




se

Episode 74: Enterprise Architecture II

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.




se

Episode 82: Organization of Large Code Bases with Juergen Hoeller

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.




se

Episode 85: Web Services with Olaf Zimmermann

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.




se

Episode 88: The Singularity Research OS with Galen Hunt

In this episode we talk to Galen Hunt about the Singularity research OS. Galen is the head of Microsoft's OS Research Group and, together with a team of about 30 other researches, has built Singularity. We started our discussion by covering the basics of Singularity: why it was designed, what the goals of the project are as well as some of the architectural foundations of Singularity: software isolated processes, contract-based channels and manifest-based programs. In this context we also looked at the role of the Spec# and Sing# programming languages and the role of static analysis tools to statically verify important properties of a singularity application. We then looked a little bit more closely at the role of the kernel and how it is different from kernels in traditional OSes. In a second part of the discussion we looked at some of the experiments the group did based on the OS. These include compile-time reflection, using hardware protection domains, heterogenerous multiprocessing as well as the typed assembly language We closed the conversation with a look at some of the performance characteristics of Singularity, compatibility with traditional operating systems and a brief look at how the findings from Singularity influence product development at Microsoft.




se

Episode 102: Relational Databases

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.




se

Episode 116: The Semantic Web with Jim Hendler

In this episode we're talking to James A. Hendler about the semantic web. We start with a definition of the semantic web and by discussing the main ingredients. We then look at (more or less) related topics such as prolog, artificial intelligence, wisdom of the crowds, and tagging. In the next section we discuss the core semantic web technologies: RDF, OWL, inference engines, SPARQL, and GRDDL. We conclude our discussion by looking at the status of the semantic web today and a couple of example applications.




se

Episode 117: Bran Selic on UML

In this episode we're talking to Bran Selic of Malina Software about modelling in general and UML2 in particular. Bran covers the basics of modelling, the history of UML, and what's new in UML2.




se

Episode 118: Eelco Visser on Parsers

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.




se

Episode 128: Web App Security with Bruce Sams

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!




se

Episode 134: Release It with Michael Nygard

This episode is a discussion with Michael Nygard about his book "Release It" which covers aspects of software architecture you often don't think of initially when starting to build a system. Some of the points we discussed were capacity planning, recovery as well as making the system suitable for operation in a data center.




se

Episode 136: Past Present and Future of MDA with David Frankel

In this episode, Dirk talks with David Frankel, resident Metamodeller and MDA expert at SAP Labs LLC, SAP's subsidiary in the Silicon Valley. Dave's extensive experience provides a big picture, from the early days of CORBA all the way to current issues that are bugging most enterprise architects' work with MDA.




se

Episode 141: Second Life and Mono with Jim Purbrick

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.




se

Episode 144: The Maxine Research Virtual Machine with Doug Simon

In this episode we talk with Doug Simon from Sun Microsystems Laboratories about the Maxine Research VM, a so-called meta-circular virtual machine. Maxine is a JVM that is written itself in Java, but aims at taking JVM development to the next level while using highly integrated Java IDEs as development environments and running and debugging the VM itself directly from the Inspector, an IDE-like tool specialized for the Maxine VM. During the episode we talk about the basic ideas behind Maxine, what exactly "meta-circular" means and what makes it interesting and promising to build a Java VM in Java. We talk about the relationship to Sun's current production JVM (HotSpot) and about ideas and directions for the future of Maxine.




se

Episode 155: Johannes Link & Lasse Koskela on TDD

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.




se

Episode 183: SE Radio becomes part of IEEE Software

SE Radio will continue producing podcasts under the wings of IEEE Software, a respected magazine published by the IEEE Computer Society.




se

Episode 186: Martin Fowler and Pramod Sadalage on Agile Database Development

Recording Venue: Skype Guest: Martin Fowler and Pramod Sadalage In this episode, we talk with Pramod Sadalage and Martin Fowler about database evolution and agile database development. We discuss the basic challenges for working with a database in an agile development culture and how to include database design and most of all, database evolution, in […]




se

Episode 187: Grant Ingersoll on the Solr Search Engine

Recording Venue: Lucene Revolution 2012 (Boston) Guest: Grant Ingersoll Grant Ingersoll, a committer on the Apache Solr and Lucene, talks with Robert about the  problems of full-text search and why applications are taking control of their own search, and then continues with a dive into the architecture of the Solr search engine. The architecture portion of the […]




se

Episode 191: Massively Open Online Courses

Recording Venue: Skype Guest: Douglas C. Schmidt In this episode we talk with Douglas C. Schmidt, who is a professor of computer science at Vanderbilt University and a well-respected authority in the fields of patterns and frameworks for concurrent and networked software. In this interview we talk about these topics in the context of massive […]




se

Episode 194: Michael Hunger on Graph Databases

Recording Venue: Skype Guest: Michael Hunger Michael Hunger of Neo Technology, and a developer on the Neo4J database, joins Robert to discuss graph databases. Graph databases fall within the larger category of NoSQL databases but they are not primarily a solution to problems of scale. They differentiate themselves from RDBMS in offering a data model built […]




se

Episode 199: Michael Stonebraker on Current Developments in Databases

Recording Venue: Skype Guest: Michael Stonebraker Dr. Michael Stonebraker, one of the leading researchers and technology entrepreneurs in the database space, joins Robert for a discussion of database architecture and the emerging NewSQL family of databases. Dr. Stonebraker opens with his take on how the database market is segmented around a small number of use […]




se

Episode 205: Martin Lippert on Eclipse Flux

Eberhard Wolff talks with Martin Lippert of Pivotal about the Eclipse Flux project. This projects is in its early stages — and has a very interesting goal: It aims to put software development tools into the cloud. It is a lot more than just an IDE (integrated development environment) in a browser. Instead the IDE […]




se

Episode 210: Stefan Tilkov on Architecture and Micro Services

Micro services is an emerging trend in software architecture that focuses on small, lightweight applications as a means to avoid large, unmaintainable, monolithic systems. This approach allows for individual technology stacks for each component and more resilient systems. Micro services uses well-known communication schemes such as REST but also require new technologies for the implementation. […]




se

Episode 213: James Lewis on Microservices

Johannes Thönes talks to James Lewis, principal consultant at ThoughtWorks, about microservices. They discuss microservices’ recent popularity, architectural styles, deployment, size, technical decisions, and consumer-driven contracts. They also compare microservices to service-oriented architecture and wrap up the episode by talking about key figures in the microservice community and standing on the shoulders of giants. Recording […]




se

Episode 216: Adrian Cockcroft on the Modern Cloud-based Platform

Adrian Cockcroft discusses the challenges in creating a dynamic, flexible, cloud-based platform with SE Radio host Stefan Tilkov. After briefly discussing the definition of “cloud computing,” Adrian explains the history behind Netflix’s move to the cloud (which he led). After highlighting some of the differences that have developers and architects must face, Adrian talks about […]




se

Episode 218: Udi Dahan on CQRS (Command Query Responsibility Segregation)

Guest Udi Dahan talks with host Robert Blumen about the CQRS (command query responsibility segregation) architectural pattern. The discussion begins with a review of the command pattern. Then a high-level overview of CQRS, which consists of a separation of a command processing subsystem that updates a write model from one or more distinct and separate, […]




se

SE Radio 225 - Brendan Gregg on Systems Performance

Senior performance architect and author of *Systems Performance* Brendan Gregg talks with Robert Blumen about systems performance: how the hardware and OS layers affect application behavior. The discussion covers the scope of systems performance, systems performance in the software life cycle, the role of performance analysis in architecture, methodologies for solving performance problems, dynamic tracing and tracing tools such as DTrace, the disk and file subsystems, the CPU and memory subsystems, and the challenges virtualization poses for performance analysts.




se

SE-Radio-Episode-231:-Joshua-Suereth-and-Matthew-Farwell-on-SBT-and-Software-Builds




se

SE-Radio-Episode-232:-Mark-Nottingham-on-HTTP/2




se

SE-Radio-Episode-233-Fangjin-Yang-on-OLAP-and-the-Druid-Real-Time-Analytical-Data-Store




se

SE-Radio-Episode-234:-Barry-O'Reilly-on-Lean-Enterprise




se

SE-Radio-Episode-235:-Ben-Hindman-on-Apache-Mesos

Ben Hindman talks to Jeff Meyerson about Apache Mesos, a distributed systems kernel. Mesos abstracts away many of the hassles of managing a distributed system. Hindman starts with a high-level explanation of Mesos, explaining the problems he encountered trying to run multiple instances of Hadoop against a single data set. He then discusses how Twitter uses Mesos for cluster management. The conversation evolves into a more granular discussion of the abstractions Mesos provides and different ways to leverage those abstractions.




se

SE-Radio Episode 236: Rebecca Parsons on Evolutionary Architecture




se

SE-Radio Episode 237: Software Engineering Radio: Go Behind the Scenes and Meet the Team




se

SE-Radio Episode 239: Andrew Clay Shafer on Modern Platform-as-a-Service




se

SE-Radio Episode 240: The Groovy Language with Cédric Champeau




se

SE-Radio Episode 241: Kyle Kingsbury on Consensus in Distributed Systems




se

SE-Radio Episode 242: Dave Thomas on Innovating Legacy Systems




se

SE-Radio Episode 243: RethinkDB with Slava Akhmechet




se

SE Radio Episode 244: Gernot Starke on Architecture Documentation using arc42

Gernot Starke talks about arc42: an open-source set of templates he developed to document software architecture based on his practical experience with real projects. Also Gernot and host Eberhard then discuss how documenting architecture fits into agile processes and how to find the right amount of documentation for a system. They walk through the different parts of the arc42 templates covering requirements and the context of the system and the solution structure, including building blocks, runtime, and deployment. They discuss tooling, versioning, testing documentation, and how to keep documentation up to date.




se

SE-Radio-Episode-245-John-Sonmez-on-Marketing-Yourself-and-Managing-Your-Career




se

SE-Radio-Show-246:-John-Wilkes-on-Borg-and-Kubernetes

John Wilkes from Google talks with Charles Anderson about managing large clusters of machines. The discussion starts with Borg, Google’s internal cluster management program. John discusses what Borg does and what it provides to programmers and system administrators. He also describes Kubernetes, an open-source cluster management system recently developed by Google using lessons learned from Borg, Mesos, and Omega




se

SE-Radio Episode 247: Andrew Phillips on DevOps

Sven Johann talks with Andrew Phillips about DevOps. First, they try to define it. Then, they discuss its roots in agile operations, its relationship to lean development and continuous delivery, its goals, and how to get started. They proceed to system thinking and what “You build it, you run it” means for a system when developers have pager duty.

They continue with the diversity of DevOps requirements among companies and industries; copying ideas versus finding your own way; culture, mindset, and recommended practices; and the mandatory tool chain. They wrap up by discussing architectural styles that support DevOps and DevOps costs versus benefits.




se

SE-Radio Episode 248: Axel Rauschmayer on JavaScript and ECMAScript 6

Johannes Thönes talks to Axel Rauschmayer about JavaScript and ECMAScript 6. They talk about the origin and version history. Then they dive into key JavaScript concepts and explain the features coming into the language with ECMAScript 6.




se

SE-Radio-Episode-249:-Vaughn-Vernon-on-Reactive-Programming-with-the-Actor-Model




se

SE-Radio Epislode 250: Jürgen Laartz and Alexander Budzier on Why Large IT Projects Fail

Alex Budzier of the Oxford Saïd Business School and Jürgen Laartz of McKinsey Berlin join Robert Blumen to talk about the their research on large IT project failures. Why do large projects fail and to what extent are these failures avoidable?




se

SE-Radio Episode 251: Martin Klose on Code Retreats

Martin Klose talks with Eberhard Wolff about Coderetreats - events where developers practice development techniques to become better programmers. He explains how to join such events and what it takes to do your own Coderetreat.




se

SE-Radio Episode 252: Christopher Meiklejohn on CRDTs

Robert Blumen talks to Christopher Meiklejohn about conflict-free replicated data types. The discussion covers consistency in distributed systems, CRDTs, and their use in NoSQL databases.




se

SE-Radio-Episode-253-Fred-George-on-Developer-Anarchy

Fred George talks with Eberhard about "Developer Anarchy" - a manager-less development approach Fred has been using very successfully in different organizations - combined with microservices.