ic Episode 33: Service Oriented Architecture, Pt.2b By feedproxy.google.com Published On :: Mon, 23 Oct 2006 13:19:03 +0000 This is the second snippet of the SOA 2 double-episode. Eberhard and Markus continue the discussion with the issue of service reuse and a couple of development process issues. We also look at the duality between infrastructure development and application development in the context of an SOA. We then discuss the great spaghetti misunderstanding :-). We conclude this episode with a look at how to integrate BPM into the conceptual SOA framework we've built up to now, and we'll also briefly skim over a number of technologies related to SOA. Note that this episode, as well as the last one, is based on a set of slides; these can be downloaded from here. This episode covers slides 39 through 74. Full Article
ic Episode 49: Dynamic Languages for Static Minds By feedproxy.google.com Published On :: Sun, 18 Mar 2007 07:15:03 +0000 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. Full Article
ic Episode 59: Static Code Analysis By feedproxy.google.com Published On :: Sat, 16 Jun 2007 11:52:04 +0000 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. Full Article
ic Episode 60: Roman Pichler on Scrum By feedproxy.google.com Published On :: Mon, 25 Jun 2007 22:00:00 +0000 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). Full Article
ic Episode 69: Nico Josuttis on SOA (SOA Pt. 3) By feedproxy.google.com Published On :: Mon, 24 Sep 2007 22:00:00 +0000 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. Full Article
ic Episode 81: Interview Erich Gamma By feedproxy.google.com Published On :: Sun, 23 Dec 2007 18:37:22 +0000 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. Full Article
ic Episode 84: Dick Gabriel on Lisp By feedproxy.google.com Published On :: Tue, 22 Jan 2008 17:50:43 +0000 In this Episode we're talking with Dick Gabriel on Lisp. We started by looking at artificial intelligence as the historic context of Lisp, the goals AI tried to reach, and how Lisp was supposed to help reach those. We then discussed the language itself, starting with the Data As Program / Program As Data concept that is a foundation for Lisp. Then we discussed adding a meta-circular interpreter, programming as language development, and the blurred boundary between language and frameworks (because everything uses the same syntax). We then talked about Lisp's type system and the importance of macros to extend the language. The next section concerned CLOS, the Common Lisp Object System and its important concepts: generic functions, multimethods, mixins, and method combination. We also briefly looked at the meta-object protocol but agreed this is a topic for a separate episode. After a discussion about the various dialects of Lisp and Scheme, we concluded the Lisp discussion by explaining why Lisp did not really catch on ("AI Winter") and Lisp's role in today's industry. We ended the episode with a couple of details about Dick's other life as a poet and his Poem a Day effort. Make sure you listen till the end, where we have added a song about Lisp (courtesy of Prometheus Music.) Full Article
ic Episode 85: Web Services with Olaf Zimmermann By feedproxy.google.com Published On :: Fri, 01 Feb 2008 20:45:36 +0000 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. Full Article
ic Episode 116: The Semantic Web with Jim Hendler By feedproxy.google.com Published On :: Fri, 07 Nov 2008 07:47:58 +0000 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. Full Article
ic Episode 117: Bran Selic on UML By feedproxy.google.com Published On :: Mon, 17 Nov 2008 05:48:32 +0000 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. Full Article
ic Episode 119: DSLs in Practice with JP Tolvanen By feedproxy.google.com Published On :: Sun, 07 Dec 2008 17:35:25 +0000 In this episode, Markus talks with Juha-Pekka Tolvanen about using DSLs and code generation in practice. The main part of the episode is the discussion about a number of case studies that show how DSLs and code generation are used in practice. Omega Tau, Markus' new podcast mentioned in the beginning of the show Full Article
ic Episode 121: OR Mappers with Michael Plöd By feedproxy.google.com Published On :: Sat, 27 Dec 2008 17:20:02 +0000 In this episode, Michael Plöd is interviewed about Object-Relational Mapping technology. He talks about the common concepts, compares the range of different tools that go by this name, and goes into the design and architectural consequences of using an OR mapper. Full Article
ic Episode 123: Microsoft OSLO with Don Box and Doug Purdy By feedproxy.google.com Published On :: Fri, 16 Jan 2009 07:58:06 +0000 In this episode we discuss Microsoft's OSLO platform with Doug Purdy and Don Box. We briefly discuss what OSLO is in general and then look at the various components of OSLO. We also look at how OSLO fits in with the general Microsoft strategy and how it compares to other DSL/Model-driven approaches. We then look at language modularization and composition and discuss the similarities with XML and Smalltalk. Finally, we discuss possible integrations of OSLO with other MD* approaches and technologies. Full Article
ic Episode 124: OpenJDK with Dalibor Topic By feedproxy.google.com Published On :: Mon, 26 Jan 2009 16:25:48 +0000 In this episode we look at SUN's open source strategy for the OpenJDK. We discuss challenges in creating such a big open source project, and ways to keep it focused and organized. We discuss what it means for the Java runtime to be adopted as the technological foundation for other programming languages. Full Article
ic Episode 130: Code Visualization with Michele Lanza By feedproxy.google.com Published On :: Fri, 27 Mar 2009 20:17:08 +0000 This episode is a discussion about code and metrics visualization with Michele Lanza. Michele invented the Code Cities idea about which he talks in this episode. Full Article
ic Episode 134: Release It with Michael Nygard By feedproxy.google.com Published On :: Wed, 06 May 2009 07:25:03 +0000 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. Full Article
ic Episode 141: Second Life and Mono with Jim Purbrick By feedproxy.google.com Published On :: Mon, 27 Jul 2009 07:14:41 +0000 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. Full Article
ic Episode 158: Rich Hickey on Clojure By feedproxy.google.com Published On :: Mon, 22 Mar 2010 19:56:03 +0000 This episode is a coversation with Rich Hickey about his programming language Clojure. Clojure is a Lisp dialect that runs on top of the JVM that comes with - among other things - persistent data structures and transactional memory, both very useful for writing concurrent applications. Full Article
ic Episode 161: Agile Product Management with Roman Pichler By feedproxy.google.com Published On :: Mon, 03 May 2010 08:47:33 +0000 In this episode, we discuss with Roman Pichler how Scrum impacts product management and how agile product management differs from traditional approaches. The topics covered include product owners on large projects and product owner teams, facilitating customer feedback through early and frequent releases, envisioning the product, and creating products with the minimum functionality. Enjoy! Full Article
ic Episode 182: Domain-Specific Languages with Martin Fowler and Rebecca Parsons By www.se-radio.net Published On :: Wed, 25 Jan 2012 03:43:44 +0000 In this episode, Markus talk with Martin Fowler and Rebecca Parsons about domain-specific languages. Full Article
ic Episode 185: Dwight Merriman on Replication By www.se-radio.net Published On :: Tue, 10 Apr 2012 22:42:28 +0000 Recording Venue: MongoSF, San Francisco Guest: Dwight Merriman As application data size and throughput have outgrown the processing and storage needs of commodity servers, replication has become an increasingly important strategy. In this episode, Robert talks with Dwight Merriman about database replication. Topics covered include replication basics, master-slave versus master-master, failure and recovery, replication versus […] Full Article
ic Episode 189: Eric Lubow on Polyglot Persistence By www.se-radio.net Published On :: Fri, 16 Nov 2012 20:35:40 +0000 Recording Venue: Skype Guest: Eric Lubow Eric Lubow and Robert discuss polyglot persistence, a term used to describe systems that incorporate multiple specialized persistent stores rather than a single general-purpose database. Eric provides insights into the forces driving this trend: including diverse data usage patterns, low latency, and increasing volumes of data. The emergence of […] Full Article
ic Episode 194: Michael Hunger on Graph Databases By www.se-radio.net Published On :: Wed, 22 May 2013 17:23:04 +0000 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 […] Full Article
ic Episode 199: Michael Stonebraker on Current Developments in Databases By www.se-radio.net Published On :: Thu, 05 Dec 2013 16:59:05 +0000 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 […] Full Article
ic Episode 200: Markus Völter on Language Design and Domain Specific Languages By www.se-radio.net Published On :: Mon, 13 Jan 2014 18:00:21 +0000 For Episode 200 of Software Engineering Radio, Diomidis Spinellis interviews Markus Völter, the podcast’s founder. Markus works as an independent researcher, consultant, and coach for itemis AG in Stuttgart, Germany. His focus is on software architecture, model-driven software development and domain specific languages as well as on product line engineering. Markus also regularly publishes articles, […] Full Article
ic Episode 201: Martin Thompson on Mechanical Sympathy By www.se-radio.net Published On :: Wed, 19 Feb 2014 18:59:34 +0000 Martin Thompson, proprietor of the blog Mechanical Sympathy, founder of the LMAX disruptor open source project, and a consultant and frequent speaker on high performance computing talks with Robert about computer program performance. Martin explains the meaning of the term “mechanical sympathy,” derived from auto racing, and its relevance to program performance: the importance of […] Full Article
ic Episode 206: Ken Collier on Agile Analytics By www.se-radio.net Published On :: Fri, 18 Jul 2014 17:43:02 +0000 Johannes Thönes talks to Dr. Ken Collier, Director of Agile Analytics at ThoughtWorks about Agile Analytics. The outline includes: descriptive analytics, predictive analytic and prescriptive analytics; artificial intelligence, machine learning, data mining and statistics; collaborative filtering; data science and data scientists; data warehousing and business intelligence; online analytical processing (OLAP), extract transform load (ETL), feature […] Full Article
ic Episode 210: Stefan Tilkov on Architecture and Micro Services By www.se-radio.net Published On :: Wed, 17 Sep 2014 22:54:56 +0000 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. […] Full Article
ic Episode 213: James Lewis on Microservices By www.se-radio.net Published On :: Wed, 29 Oct 2014 21:18:21 +0000 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 […] Full Article
ic Episode 224: Sven Johann and Eberhard Wolff on Technical Debt By traffic.libsyn.com Published On :: Tue, 31 Mar 2015 21:44:21 +0000 Full Article
ic Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years By traffic.libsyn.com Published On :: Wed, 13 May 2015 17:21:09 +0000 Full Article
ic Episode-227:-Eric-Brewer:-The-CAP-Theorem,-Then-and-Now By traffic.libsyn.com Published On :: Wed, 27 May 2015 20:46:32 +0000 Full Article
ic SE-Radio-Episode-233-Fangjin-Yang-on-OLAP-and-the-Druid-Real-Time-Analytical-Data-Store By traffic.libsyn.com Published On :: Tue, 28 Jul 2015 20:43:16 +0000 Full Article
ic SE-Radio Episode 239: Andrew Clay Shafer on Modern Platform-as-a-Service By traffic.libsyn.com Published On :: Fri, 02 Oct 2015 19:29:32 +0000 Full Article
ic SE-Radio Episode 240: The Groovy Language with Cédric Champeau By traffic.libsyn.com Published On :: Thu, 22 Oct 2015 17:24:10 +0000 Full Article
ic SE-Radio-Episode-255:-Monica-Beckwith-on-Java-Garbage-Collection By traffic.libsyn.com Published On :: Tue, 26 Apr 2016 19:56:41 +0000 Monica Beckwith joins Robert Blumen for a discussion of java garbage collection. What is garbage collection? GC algorithms; history of GC in the java language; fragmentation and compaction; generational strategies; causes of pauses; impact of pauses on application performance; tuning GC; GC on multi-core and large memory machines; should production servers be implemented in non-GC languages?; going off heap and other programming techniques to avoid garbage; the future of java GC. Full Article
ic SE-Radio Episode 257: Michael Nygard on Clojure in Practice By traffic.libsyn.com Published On :: Tue, 17 May 2016 18:07:40 +0000 Michael Nygard of “Release It!” fame talks with Stefan Tilkov about his experience using the Clojure programming language. Topics include the tool chain and development process, the Clojure learning curve, and on-boarding new developers. Michael explains the similarities and differences compared to typical OO languages when implementing domain logic, and uses both game development and typical web development projects as examples. Finally, the two discuss how well Clojure can be used in the face of long-running projects, and some typical obstacles and strategies for introducing it to real-world scenarios. Full Article
ic SE-Radio Episode 264: James Phillips on Service Discovery By traffic.libsyn.com Published On :: Tue, 02 Aug 2016 23:35:07 +0000 Charles Anderson talks with James Phillips about service discovery and Consul, an open-source service discovery tool. The discussion begins by defining what service discovery is, what data is stored in a service discovery tool, and some scenarios in which it’s used. Then they dive into some details about the components of a service discovery tool and how reliability is achieved as a distributed system. Finally, James discusses Consul, the functions it provides, and how to integrate it with existing applications, even if they use configuration files instead of a service discovery tool. Full Article
ic SE-Radio-Episode-274-Sam-Aaron-on-Sonic-Pi By traffic.libsyn.com Published On :: Tue, 08 Nov 2016 18:11:39 +0000 Felienne talks with Sam Aaron on Sonic Pi about how he designed Sonic Pi, a language, both for professional musicians performing with code as well as for schoolchildren. Full Article
ic SE-Radio Episode 290: Diogo Mónica on Docker Security By traffic.libsyn.com Published On :: Mon, 08 May 2017 20:39:40 +0000 Docker Security Team lead Diogo Mónica talks with SE Radio’s Kim Carter about Docker Security aspects. Simple Application Security, which hasn’t changed much over the past 15 years, is still considered the most effective way to improve security around Docker containers and infrastructure. The discussion explores characteristics such as Immutability, the copy-on-write filesystem, as well as orchestration principles that are baked into Docker Swarm, such as mutual TLS/PKI by default, secrets distribution, least privilege, content scanning, image signatures, and secure/trusted build pipelines. Diogo also shares his thoughts around the attack surface of the Linux kernel; networking, USB, and driver APIs; and the fact that application security remains more important to focus our attention on and get right. Full Article
ic SE-Radio Episode 292: Philipp Krenn on Elasticsearch By traffic.libsyn.com Published On :: Tue, 30 May 2017 21:20:57 +0000 Phillipp Krenn talks with SE Radio’s Jeff Meyerson about Elasticsearch, a scalable search index. The conversation begins with a discussion of search, how it compares to database queries, and what an inverted index is. Phillipp introduces Wikipedia as an example that runs throughout the episode because Wikipedia uses Elasticsearch to power its full-text search. A discussion of Elasticsearch’s scalability ensues, including basic terminology and an explanation of other applications of Elasticsearch. Full Article
ic SE-Radio Episode 295: Michael Feathers on Legacy Code By traffic.libsyn.com Published On :: Tue, 27 Jun 2017 21:20:25 +0000 Felienne talks with Michael Feathers about Legacy Code. When is something legacy? Is working on legacy different from working on greenfield code? Do developers need different skills and techniques? Testing legacy code. How to test a legacy system? When do we have enough tests to feel safe to start coding? Techniques to make legacy systems more testable. Full Article
ic SE-Radio Episode 305: Charlie Berger on Predictive Applications By traffic.libsyn.com Published On :: Mon, 09 Oct 2017 19:58:19 +0000 Edaena Salinas talks with Charlie Berger about Predictive Applications. The discussion begins with an overview of how to build a Predictive Application and the role of Machine Learning. It then explores different Machine Learning algorithms that can be implemented natively in a database. Full Article
ic SE-Radio Episode 306: Ron Lichty on Managing Programmers By traffic.libsyn.com Published On :: Mon, 16 Oct 2017 21:14:07 +0000 Ron Lichty talks with SE Radio’s Nate Black about managing programmers. Topics include: why programming management is hard, what makes a good programming manager, the costs of micromanagement, self-organizing teams, team dynamics and motivation, and product team performance. Full Article
ic SE-Radio-Episode-309-Zane-Lackey-on-Application-Security By traffic.libsyn.com Published On :: Mon, 13 Nov 2017 19:32:36 +0000 Founder of Signal Sciences Zane Lackey talks with Kim Carter about Application Security around what our top threats are today, culture, threat modelling, and visibility, and how we can improve our security stature as Software Engineers. Full Article
ic SE-Radio Episode 316: Nicolai Parlog on Java 9 By se-radio.net Published On :: Tue, 30 Jan 2018 20:21:35 +0000 Nate Black talks with Nicolai Parlog about Java 9. Topics include: a timeline of Java features; new patterns enabled by Java 8 lambdas, default interface implementations and how they enable code evolution; how Java 9 takes this further with private default methods; an introduction to Java modules: the Java Platform Module System (JPMS); “launch time” dependency validation; module “requires” and “exports”: documentation as code and a new topic for code reviews; how to migrate an existing codebase to Java 9 and modules; benefits of Java modules: reliable configuration and a smaller Java runtime; the new Java release schedule. Full Article
ic SE-Radio Episode 319: Nicole Hubbard on Migrating from VMs to Kubernetes By traffic.libsyn.com Published On :: Tue, 13 Mar 2018 03:45:39 +0000 Edaena Salinas talks with Nicole Hubbard at KubeCon 2017. They discuss why WP engine is migrating from VMs to Kubernetes and how the migration is structured. Nicole explained the VM infrastructure at WP Engine and why there was a need to move... Full Article
ic SE-Radio Episode 330: Natalie Silvanovich on Attack Surface Reduction By se-radio.net Published On :: Mon, 16 Jul 2018 23:22:31 +0000 Natalie Silvanovich and Kim Carter discuss reducing the attack surface of the software that Engineers are creating today. Code sharing, third-party code, Developer workflow, and a collection of 0 day bugs are all discussed. Full Article
ic SE-Radio 336: Sasa Juric on Elixir By traffic.libsyn.com Published On :: Tue, 28 Aug 2018 18:19:04 +0000 Saša Jurić, author of Elixir in Action, explains the Elixir programming language and how it unlocks the benefits of the Erlang ecosystem, revealing the “sweet spot” for Elixir programs: highly scalability and fault tolerant systems with a simple arc Full Article
ic SE-Radio 341: Michael Hausenblas on Container Networking By traffic.libsyn.com Published On :: Wed, 10 Oct 2018 16:57:39 +0000 Michael Hausenblas talks with host Kim Carter about topics covered in Michael’s ebook Container Networking, such as single vs. multi-host container networking, orchestration, Kubernetes, service discovery, and many more. Michael and Kim also discuss the roles that IPTables plays, how the allocation of IP addresses is handled, along with the assignment of ports. Overlay networks are covered along with topics such as the open Container Network Interface (CNI). Full Article