Winamp Logo
Software Engineering Radio - The Podcast for Professional Software Developers Cover
Software Engineering Radio - The Podcast for Professional Software Developers Profile

Software Engineering Radio - The Podcast for Professional Software Developers

English, Computing/Technology, 1 season, 631 episodes, 3 days, 6 hours, 17 minutes
About
Software Engineering Radio is a podcast targeted at the professional software developer. The goal is to be a lasting educational resource, not a newscast. Every 10 days, a new episode is published that covers all topics software engineering. Episodes are either tutorials on a specific topic, or an interview with a well-known character from the software engineering world. All SE Radio episodes are original content — we do not record conferences or talks given in other venues. Each episode comprises two speakers to ensure a lively listening experience. SE Radio is an independent and non-commercial organization.
Episode Artwork

SE Radio 626: Ipek Ozkaya on Gen AI for Software Architecture

Ipek Ozkaya, Principal Researcher and Technical Director of the Engineering Intelligent Software Systems group at the Software Engineering Institute, Carnegie Mellon, discusses generative AI for Software Architecture with SE Radio host Priyanka Raghavan. The episode delves into fundamental definitions of software architecture and explores use cases in which gen AI can enhance architecture activities. The conversation spans from straightforward to challenging scenarios and highlights examples of relevant tooling. The episode concludes with insights on verifying the correctness of output for software architecture prompts and future trends in this domain. Brought to you by IEEE Computer Society and IEEE Software magazine.
7/23/202459 minutes, 33 seconds
Episode Artwork

SE Radio 625: Jonathan Schneider on Automated Refactoring with OpenRewrite

Jonathan Schneider, the cofounder of Moderne and the creator of OpenRewrite, talks with SE Radio's Gregory Kapfhammer about automated software maintenance. In addition to exploring the design and implementation of OpenRewrite, Schneider explains how the tool can automatically support software maintenance tasks such as framework migration and security fixes for programs implemented in languages like Java. The episode also explores how OpenRewrite uses the lossless semantic tree to support automated refactoring though the use of recipes. Brought to you by IEEE Computer Society and IEEE Software magazine.
7/16/202452 minutes, 45 seconds
Episode Artwork

SE Radio 624: Marcelo Trylesinski on FastAPI

Marcelo Trylesinski, a senior software engineer at Pydantic and a maintainer of open-source Python tools including Starlette and Uvicorn, joins host Gregory M. Kapfhammer to talk about FastAPI. Their conversation focuses on the design and implementation of FastAPI and how programmers can use it to create web-based APIs. They also explore how to create and deploy a FastAPI implemented in the Python programming language. Brought to you by IEEE Computer Society and IEEE Software magazine.
7/11/202441 minutes, 5 seconds
Episode Artwork

SE Radio 623: Michael J. Freedman on TimescaleDB

Michael J. Freedman, the Robert E. Kahn Professor in the Computer Science Department at Princeton University, as well as the co-founder and CTO of Timescale, spoke with SE Radio host Gavin Henry about TimescaleDB. They revisit what time series data means in 2024, the history of TimescaleDB, how it integrates with PostgreSQL, and they take the listeners through a complete setup. Freedman discusses the types of data well-suited for a timeseries database, the types of sectors that have these requirements, why PostgreSQL is the best, Pg callbacks, Pg hooks, C programming, Rust, their open source contributions and projects, data volumes, column-data, indexes, backups, why it is common to have one table for your timeseries data, when not to use timescaledb, IoT data formats, Pg indexes, how Pg works without timescaledb, sharding, and how to manage your upgrades if not using Timescale Cloud. Brought to you by IEEE Computer Society and IEEE Software magazine.
7/3/20241 hour, 5 minutes, 43 seconds
Episode Artwork

SE Radio 622: Wolf Vollprecht on Python Tooling in Rust

Wolf Vollprecht, the CEO and founder of Prefix.dev, speaks with host Gregory M. Kapfhammer about how to implement Python tools, such as package managers, in the Rust programming language. They discuss the challenges associated with building Python infrastructure tooling in Python and explore how using the Rust programming language addresses these concerns. They also explore the implementation details of Rust-based tooling for the Python ecosystem, focusing on the cross-platform Pixi package management tool, which enables developers to easily and efficiently install libraries and applications in a reproducible fashion. Brought to you by IEEE Computer Society and IEEE Software magazine.
6/26/202455 minutes, 10 seconds
Episode Artwork

SE Radio 621: Xe Iaso on Fly.io

Xe Iaso of Fly.io discusses their hosting platform with host Jeremy Jung. They cover building globally distributed applications with Anycast, using Wireguard to encrypt inter-service communication, writing custom code to handle load balancing and scaling with fly-proxy, why serving EU customers has unique requirements, letting users use docker images without the docker runtime by converting them to firecracker and cloud hypervisor microVMs, the differences between regular VMs and microVMs, challenges of acquiring and serving GPUs to customers. when to use Kubernetes, and dealing with abuse on the platform. Brought to you by IEEE Computer Society and IEEE Software magazine.
6/19/202447 minutes, 33 seconds
Episode Artwork

SE Radio 620: Parker Selbert and Shannon Selbert on Robust Job Processing in Elixir

Shannon Selbert, co-founder of Soren and developer of Oban, and Parker Selbert, creator of the Oban background job framework, chief architect at dscout, and co-founder of Soren, speak with SE Radio host Gavin Henry about robust job processing in Elixir. They explore the reliability, consistency, and observability in relation to job processing, to understand how Oban, Elixir, and PostgreSQL deliver them. The Selberts describe why Oban was created, its history, which parts of the Elixir ecosystem they use, and why this would not be possible without PostgreSQL and Elixir. They discuss the lessons learned in the 5 years since the first release, as well as use cases, job throughput, the hardest problem to solve so far, workers, queues, CRON, distributed architectures, retry algorithms, just-once methodologies, the reliability the beam brings, consistency across nodes, how PostgreSQL is vital, telemetry data, best use cases for Oban, and the most common issues that new users face. Brought to you by IEEE Computer Society and IEEE Software magazine.
6/12/202459 minutes, 42 seconds
Episode Artwork

SE Radio 619: James Strong on Kubernetes Networking

Infrastructure engineer and Kubernetes ingress-Nginx maintainer James Strong joins host Robert Blumen to discuss the Kubernetes networking layer. The discussion draws on content from Strong’s book on the topic and covers a lot of ground, including: the Kubernetes network's use of different IP ranges than the host network; overlay network with its own IP ranges compared to using expanded portions of the host network ranges; adding routes with kernel extension points; programming kernel extension points with IP tables compared to eBPF; how routes are updated as the host network gains or loses nodes, the use of the Linux network namespace to isolate each pod; routing between pods on the same host; routing between pods across the host network; the container-network interface (CNI); the CNI ecosystem; differences between CNIs; choosing a CNI when running on a public cloud service; the Kubernetes service abstraction with a cluster-wide IP address; monitoring and telemetry of the Kubernetes network; and troubleshooting the Kubernetes network. Brought to you by IEEE Software magazine and IEEE Computer Society.
6/5/202449 minutes, 55 seconds
Episode Artwork

SE Radio 618: Andreas Møller on No-Code Platforms

Andreas Møller, founder of Toddle, a no-code tool for building scalable performant web applications, speaks with SE Radio's Brijesh Ammanath about no-code platforms. They discuss the role of developers in a no-code ecosystem and explore scalability and performance considerations, as well as enterprise adoption of no-code tools. Andreas also expands on why he built Toddle.dev and its unique features. Brought to you by IEEE Computer Society and IEEE Software.
5/29/202453 minutes, 53 seconds
Episode Artwork

SE Radio 617: Frances Buontempo on Modern C++

Frances Buontempo, author of the new book Learn C++ by Example, discusses the C++ programming language, a widely used general-purpose programming language. Host Philip Winston spoke with Buontempo about where C++ fits into the landscape of existing programming languages and how recent C++ standards have changed things. They talk about specific language features such as lambdas, templates, concurrency, ranges, concepts along with tips for learning and using C++. Brought to you by IEEE Software and IEEE Computer Society.
5/23/20241 hour, 11 minutes, 16 seconds
Episode Artwork

SE Radio 616: Ori Saporta on the Role of the Software Architect

Ori Saporta, co-founder and Systems Architect at vFunction, joins host Jeff Doolittle for a conversation about the role of the software architect. The episode begins with Ori’s thoughts on what is typically missed or overlooked regarding this role. The conversation then explores aspects of both hard and soft skills required of software architects. Other topics include the relationship of the software architect to other roles, to design and process, and to quality. The show concludes by addressing the importance of dependency management by software architects. Brought to you by IEEE Software magazine and IEEE Computer Society.
5/15/202454 minutes, 56 seconds
Episode Artwork

SE Radio 615: Kent Beck on "Tidy First?"

Kent Beck, Chief Scientist at Mechanical Orchard, and inventor of Extreme Programming and Test-Driven Development, joins SE Radio host Giovanni Asproni for a conversation on software design based on his latest book "Tidy First?". The episode starts with exploring the reasons for writing the book, and introducing the concepts of tidying, cohesion, and coupling. It continues with a conversation about software design, and the impact of tidyings. Then Kent and Giovanni discuss how to balance design and code quality decisions with cost, value delivered, and other important aspects. The episode ends with some considerations on the impact of Artificial Intelligence on the software developer's job. Brought to you by IEEE Software and IEEE Computer Society.
5/10/20241 hour, 1 minute, 51 seconds
Episode Artwork

SE Radio 614: Wouter Groeneveld on Creative Problem Solving for Software Development

Wouter Groeneveld, author of The Creative Programmer and PhD researcher at KU Leuven, discusses his research related to programming education with host Jeremy Jung. Topics include evaluating projects, constraints, social debt in teams, common fallacies in critical thinking, maintaining flow state, documenting and retaining knowledge, and creating environments that encourage creativity. Brought to you by IEEE Software and IEEE Computer Society.
5/3/202451 minutes, 10 seconds
Episode Artwork

SE Radio 613: Shachar Binyamin on GraphQL Security

Shachar Binyamin, CEO and co-founder of Inigo, joins host Priyanka Raghavan to discuss GraphQL security. They begin with a look at the state of adoption of GraphQL and why it's so popular. From there, they consider why GraphQL security is important as they take a deep dive into a range of known security issues that have been exploited in GraphQL, including authentication, authorization, and denial of service attacks with references from the OWASP Top 10 API Security Risks. They discuss some mitigation strategies and methodologies for solving GraphQL security problems, and the show ends with discussion of Inigo and Shachar's top three recommendations for building safe GraphQL applications. Brought to you by IEEE Software and IEEE Computer Society.
4/24/202456 minutes, 17 seconds
Episode Artwork

SE Radio 612: Eyal Solomon on API Consumption Management

Eyal Solomon, CEO and co-founder of Lunar.dev, joins SE Radio’s Kanchan Shringi for a discussion on tooling for API consumption management. The episode starts by examining why API consumption management is an increasingly important topic, and how existing tooling on the provider side can be inadequate for client-side issues. Eyal talks in detail about issues that are unique to API consumers, before taking a deep dive into the evolution of middleware built by teams and companies to address these issues and the gaps. Finally they consider how Lunar.dev seeks to solve these issues, as well as Eyal's vision of lunar.dev as a open source platform. This episode is sponsored by WorkOS.
4/16/202453 minutes, 30 seconds
Episode Artwork

SE Radio 611: Ines Montani on Natural Language Processing

Ines Montani, co-founder and CEO of Explosion, speaks with host Jeremy Jung about solving problems using natural language processing (NLP). They cover generative vs predictive tasks, creating a pipeline and breaking down problems, labeling examples for training, fine-tuning models, using LLMs to label data and build prototypes, and the spaCy NLP library.
4/9/20241 hour, 11 minutes, 32 seconds
Episode Artwork

SE Radio 610: Phillip Carter on Observability for Large Language Models

Phillip Carter, Principal Product Manager at Honeycomb and open source software developer, talks with host Giovanni Asproni about observability for large language models (LLMs). The episode explores similarities and differences for observability with LLMs versus more conventional systems. Key topics include: how observability helps in testing parts of LLMs that aren't amenable to automated unit or integration testing; using observability to develop and refine the functionality provided by the LLM (observability-driven development); using observability to debug LLMs; and the importance of incremental development and delivery for LLMs and how observability facilitates both. Phillip also offers suggestions on how to get started with implementing observability for LLMs, as well as an overview of some of the technology's current limitations. This episode is sponsored by WorkOS.
4/3/20241 hour, 5 minutes, 6 seconds
Episode Artwork

SE Radio 609: Hyrum Wright on Software Engineering at Google

Hyrum Wright, Senior Staff Engineer at Google, discusses the book he co-edited, “Software Engineering at Google,” with host Gregory M. Kapfhammer. Wright describes the professional and technical best practices adopted by the software engineers at Google. The wide-ranging conversation investigates an array of topics, including measuring engineering productivity and writing effective test cases. This episode is sponsored by the Algorand Foundation.
3/28/202456 minutes, 48 seconds
Episode Artwork

SE Radio 608: Lane Wagner on Revisiting the Go Language

Lane Wagner of Boot.dev speaks with host Philip Winston about Go, the programming language that's popular for web, cloud, devops, networking, and other types of development. In addition to discussing existing features such as structs, interfaces, concurrency, and error handling, Lane and Philip take a deep look at generics, a recent addition to the language. They also explore the developer experience with Go.
3/20/20241 hour, 8 minutes, 23 seconds
Episode Artwork

SE Radio 607: John Frandsen on Geospatial Technologies

John Frandsen, Chief Product officer for Elebase, joins host Jeff Doolittle for an exploration of geospatial technologies. The conversation begins with a discussion of the history of mapping and global information systems (GIS) technologies. John describes the underlying technologies used in location-aware applications and the ways that developers can incorporate maps in their own applications. The conversation also highlights recent changes and innovations in the space, as well as the challenges and opportunities of incorporating your own data into existing base map providers. This episode is sponsored by WorkOS.
3/12/20241 hour, 2 minutes, 23 seconds
Episode Artwork

SE Radio 606: Charlie Jones on Third-Party Software Supply Chain Risks

Charlie Jones, Director of Product Management at ReversingLabs and subject matter expert in supply chain security, joins host Priyanka Raghavan to discuss tackling third-party software risks. They begin by defining different types of third-party software risks and then take a deep dive into case studies where third-party components and software have had cascading effects on downstream systems. They consider some frameworks for secure software development that can be used to evaluate third-party software and components – both as a publisher or as a consumer – and end by discussing laws and regulations with final advise from Charlie on how enterprises can tackle third-party software risks. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode is sponsored by WorkOS.
3/7/202451 minutes, 29 seconds
Episode Artwork

SE Radio 605: Yingjun Wu on Streaming Databases

Yingjun Wu, founder of RisingWave Labs and previously a software engineer at Amazon Web Services and researcher at IBM Almaden Research Center, speaks with SE Radio host Brijesh Ammanath about streaming databases. After considering the benefits and unique challenges, they delve into the architecture and design patterns of streaming databases, as well as the evolution and security considerations. Yingjun also talks about the future of streaming databases, including the potential impact that Amazon S3 Express One Zone will have on the streaming landscape, and how the unified batch and streaming might evolve in the database world. Brought to you by IEEE Computer Society and IEEE Software magazine.
2/28/202454 minutes, 9 seconds
Episode Artwork

SE Radio 604: Karl Wiegers and Candase Hokanson on Software Requirements Essentials

Karl Wiegers, Principal Consultant with Process Impact and author of 14 books, and Candase Hokanson, Business Architect and PMI-Agile Certified Practitioner at ArgonDigital, speak with SE Radio host Gavin Henry about software requirements essentials. They explore five different parts of requirements engineering and how you can apply them to any ongoing project. Wiegers and Hokanson describe why requirements constantly change, how you can test that you're meeting them, and why the tools you have at hand are suitable to start straight away. They discuss the need for requirements in every software project and provide recommendations on how to gather, analyze, validate, and manage those requirements. Candase and Karl offer in-depth perspectives on a range of topics, including how to elicit requirements, speak with users, get to the source of the business or user goal, and create requirement sets, models, prototypes, and baselines. Finally, they look at specifications you can use, and how to validate, test, and verify them. Brought to you by IEEE Computer Society and IEEE Software magazine.
2/22/20241 hour, 7 minutes, 2 seconds
Episode Artwork

SE Radio 603: Rishi Singh on Using GenAI for Test Code Generation

Rishi Singh, founder and CEO at Sapient.ai, speaks with SE radio’s Kanchan Shringi about using generative AI to help developers automate test code generation. They start by identifying key problems that developers are looking for in an automated test-generation solution. The discussion explores the capabilities and limitations of today’s large language models in achieving that goal, and then delves into how Sapient.ai has built wrappers around LLMs in an effort to improve the quality of the generated tests. Rishi also suggests how to validate the generated tests and outlines his vision of the future for this rapidly evolving area. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode is sponsored by WorkOS.
2/15/202448 minutes, 10 seconds
Episode Artwork

SE Radio 602: Nicolas Carlo on Improving Legacy Code

Nicolas Carlo talks with host Sam Taggart about Nicolas’s recent book, Legacy Code First Aid Kit. They start by defining legacy code and the general issues that developers face when dealing with it. Nicolas describes some of the tools in his book and provides examples of where he has found them useful. The episode also touches briefly on the role of AI and some other tools Nicolas has discovered since writing the book. This episode sponsored by WorkOS.
2/7/202452 minutes, 17 seconds
Episode Artwork

SE Radio 601: Han Yuan on Reorganizations

Han Yuan, an accomplished Chief Product and Technology Officer, joins host Priyanka Raghavan to discuss reorganizations. The conversation starts with a broad discussion of reorganizations and reasons that companies choose to undertake them. They then consider organizational behavior and topics such as Conway's law and the theory of constraints. Han offers some advice on key steps to take when planning for a reorg, including how software teams could organize themselves based on technology, frameworks, or user journeys. The episode ends with some discussion of metrics and lessons learned. Brought to you by IEEE Computer Society and IEEE Software magazine.
1/31/202448 minutes, 26 seconds
Episode Artwork

SE Radio 600: William Morgan on Kubernetes Sidecars and Service Mesh

William Morgan, founder of the Linkerd service mesh and CEO of Bouyant, joins SE Radio’s Robert Blumen for a discussion of sidecars, service mesh, and a forthcoming enhancement to kubernetes to support sidecars natively. The conversation explores the origin of sidecars, sidecars and service mesh, and migrating service mesh to kubernetes. They take a deep dive into some aspects of running service mesh on kubernetes, the difficulties in running a sidecar container in a pod, and Kubernetes Enhancement Proposal (KEP) 753, which is intended to provide better native support for sidecar containers. William also gives some thoughts on the continuing relevance of service mesh.
1/26/202445 minutes, 31 seconds
Episode Artwork

SE Radio 599: Jason C. McDonald on Quantified Tasks

Jason C. McDonald, author of the book Dead Simple Python, speaks with host Samuel Taggart about leveraging quantified tasks to improve estimation, particularly across projects. They discuss the origin of the concept and its relationship with story points, and Jason offers examples to show how quantified tasks can capture nuances in software tasks that are often lost with story points. He also points to the ability to compare them across projects as a major advantage of quantified tasks. Among other topics, they consider also how to use quantified tasks to analyze the stability of a codebase. Brought to you by IEEE Computer Society and IEEE Software magazine.
1/17/202444 minutes, 32 seconds
Episode Artwork

SE Radio 598: Jonathan Crossland on the AMMERSE Framework

Jonathan Crossland, software architect, author, and business owner, joins host Jeff Doolittle for a conversation about the AMMERSE framework of design principles. They start by discussing the agile manifesto as a statement of values, and Jonathan shares his perspective based on his experience as a software developer and business owner. They then explore the three layers of the AMMERSE framework and how they help business and engineering leaders to align their values, thereby improving their ability to collaborate and reach common goals. Brought to you by IEEE Computer Society and IEEE Software magazine.
1/11/20241 hour, 7 minutes, 50 seconds
Episode Artwork

SE Radio 597: Coral Calero Muñoz and Félix García on Green Software

Coral Calero Muñoz and Felix Garcia, professors at the University of Castilla-La Mancha, speak with host Giovanni Asproni about green and sustainable software—an approach to software development aimed at creating software systems that consume less energy and produce less CO2 during their entire lifetimes with minimal impact on their functionality and other qualities. The episode starts by describing why green software matters, particularly in the context of global warming, and introducing the key concepts. Continues discussing the current status of the field, in both academia and industry, and finishes with hints and tips that can be readily applied by development teams to make their systems greener. Brought to you by IEEE Computer Society and IEEE Software magazine.
1/8/20241 hour, 3 minutes, 50 seconds
Episode Artwork

SE Radio 596: Maxim Fateev on Durable Execution with Temporal

Maxim Fateev, the CEO of Temporal, speaks with SE Radio's Philip Winston about how Temporal implements durable execution. They explore concepts including workflows, activities, timers, event histories, signals, and queries. Maxim also compares deployment using self-hosted clusters or the Temporal Cloud.
12/27/20231 hour, 8 minutes, 54 seconds
Episode Artwork

SE Radio 595: Llewelyn Falco on Approval Testing

Llewelyn Falco, creator approval tests, talks with SE Radio host Sam Taggart about testing code in general and the various types of testing that developers perform. Llewelyn elaborates on how approval tests can help test code at a higher level than traditional unit tests. They also discuss using approval tests to help get legacy code under test. This episode sponsored by Data Annotation.
12/19/20231 hour, 3 minutes, 34 seconds
Episode Artwork

SE Radio 594: Sean Moriarity on Deep Learning with Elixir and Axon

Sean Moriarity, creator of the Axon deep learning framework, co-creator of the Nx library, and author of Machine Learning in Elixir and Genetic Algorithms in Elixir, published by the Pragmatic Bookshelf, speaks with SE Radio host Gavin Henry about what deep learning (neural networks) means today. Using a practical example with deep learning for fraud detection, they explore what Axon is and why it was created. Moriarity describes why the Beam is ideal for machine learning, and why he dislikes the term “neural network.” They discuss the need for deep learning, its history, how it offers a good fit for many of today’s complex problems, where it shines and when not to use it. Moriarity goes into depth on a range of topics, including how to get datasets in shape, supervised and unsupervised learning, feed-forward neural networks, Nx.serving, decision trees, gradient descent, linear regression, logistic regression, support vector machines, and random forests. The episode considers what a model looks like, what training is, labeling, classification, regression tasks, hardware resources needed, EXGBoost, Jax, PyIgnite, and Explorer. Finally, they look at what’s involved in the ongoing lifecycle or operational side of Axon once a workflow is put into production, so you can safely back it all up and feed in new data. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode sponsored by Miro.
12/14/202357 minutes, 43 seconds
Episode Artwork

SE Radio 593: Eric Olden on Identity Orchestration

Eric Olden talks with host Giovanni Asproni about identity orchestration, a software approach for managing distributed identity and access management (IAM) and integrating multiple identity systems or providers (IDPs) to make them look like a single system from a user perspective. The episode starts with a refresher in identity and access management, then introduces identity orchestration and some of the challenges it helps to address, such as integrating disparate identity management systems after company mergers or acquisitions; managing identities in situations where some of the IAM systems are unreachable; and implementing more secure identity management in legacy applications. Brought to you by IEEE Computer Society and IEEE Software magazine.
12/7/20231 hour, 3 minutes, 25 seconds
Episode Artwork

SE Radio 592: Jaxon Repp on Distributed Data Infrastructure

Jaxon Repp of HarperDB speaks with Brijesh Ammanath about distributed data infrastructure, including what it is and why it's important. They discuss the key factors that make distributed data infrastructure attractive, as well as challenges to implementing it. The episode explores the architecture and design principles, the key security considerations, and the transition factors for distributed data Infrastructure. Brought to you by IEEE Computer Society and IEEE Software.
11/30/202353 minutes, 38 seconds
Episode Artwork

SE Radio 591: Yechezkel Rabinovich on Kubernetes Observability

Yeckezkel Rabinovich, CTO of Groundcover, speaks with host Philip Winston about observability and eBPF as it applies to Kubernetes. Rabinovich was previously the chief architect at the healthcare security company CyberMDX and spent eight years in the cyber security division of the Israeli Prime Minister’s Office. This episode explores the three pillars of observability, extending the Linux Kernel with eBPF, the basics of Kubernetes, and how Groundcover uses eBPF as the basis for its observability platform.
11/22/20231 hour, 2 minutes, 14 seconds
Episode Artwork

SE Radio 590: Andy Suderman on Standing Up Kubernetes

Andy Suderman, CTO of Fairwinds, joins host Robert Blumen to talk about standing up a kubernetes cluster. Their discussion covers build-your-own versus managed clusters provided by cloud services, and how to determine the number of kubernetes clusters an organization needs. Andy describes best practices for automating cluster provisioning, and offers recommendations about customizations and opinionation of cloud service providers, choice of container registry, and whether you should run complementary services such as CI and monitoring on the same cluster. The episode also examines the day 0/day 1/day 2 lifecycle, cluster auto-scaling at the cloud service level, integrating stateful services and other cloud services into your cluster, and kubernetes secrets and alternatives. Finally, they consider the container-network interface (CNI), ingress and load balancers, and provisioning external DNS and TLS certificates for cluster services.
11/15/202354 minutes, 14 seconds
Episode Artwork

SE Radio 589: Zac Hatfield-Dodds on Property-Based Testing in Python

Zac Hatfield-Dodds, the Assurance Team Lead at Anthropic, speaks with host Gregory M. Kapfhammer about property-based testing techniques and how to use them in an open-source tool called Hypothesis. They discuss how to define properties for a Python function and implement a test case in Hypothesis. They also explore some of the advanced features in Hypothesis that can automatically generate a test case and perform fuzzing campaigns.
11/9/202356 minutes, 47 seconds
Episode Artwork

SE Radio 588: José Valim on Elixir, Machine Learning, and Livebook

José Valim, creator of the Elixir programming language, Chief Adoption Officer at Dashbit, and author of three programming books, speaks with SE Radio host Gavin Henry about what Elixir is today, what Livebook is, the five spearheads of the new machine learning ecosystem for Elixir, and how they all fit together. Valim describes why he created Elixir, what “the beam” is, and how he pitches it to new users. This episode examines things you can do with Livebook and how it is well-aligned with machine learning, as well as why immutability is important and how it works. They take a detailed look at a range of topics, including tensors with Nx, traditional machine learning with Scholar, data munging with Explorer, deep learning and neural networks with Axon, Bumblebee and Huggingface, and model creation basics. Brought to you by IEEE Computer Society and IEEE Software magazine.
11/2/20231 hour, 3 minutes, 33 seconds
Episode Artwork

SE Radio 587: M. Scott Ford on Managing Dependency Freshness

M. Scott Ford, the CTO of Corgibytes and host of the Legacy Code Rocks podcast, discusses managing dependency freshness. SE Radio’s Sam Taggart speaks with him about why dependency freshness is important to ensure that your code has all the latest bug fixes, how exactly to measure dependency freshness, and some of the insights that teams can gain from monitoring freshness over time. Brought to you by IEEE Computer Society and IEEE Software Magazine.
10/25/202354 minutes, 53 seconds
Episode Artwork

SE Radio 586: Nikhil Shetty on Virtual Private Cloud

Nikhil Stetty, an expert in networking and distributed systems, speaks with SE radio's Kanchan Shringi about virtual private cloud (VPC) and related technologies. They explore how VPC relates to public cloud, private cloud, and virtual private networks (VPNs). The discussion delves into why VPC is fundamental to building on the cloud, as well as configuring a VPC, subnets, and the address space that can be assigned to the VPC. During this episode they look into route tables, network address translation, as well as security groups, network access control lists, and DNS. Finally, Nikhil helps compare VPC offerings from Amazon Web Services (AWS) and Oracle Cloud Infrastructure (OCI).
10/20/20231 hour, 7 minutes, 16 seconds
Episode Artwork

SE Radio 585: Adam Frank on Continuous Delivery vs Continuous Deployment

Adam Frank, SVP of Product and Marketing at Armory.io, speaks with SE Radio’s Kanchan Shringi about continuous integration, continuous delivery, and continuous deployment – and how they differ. Frank suggests that organizations begin by identifying how the CI/CD process aligns best with their unique goals, noting that such goals might be different for B2C versus B2B SAAS (software as a service). They also discuss how the process can differ for monoliths compared to microservices-based products. Finally, they talk about continuous deployment as a service and some unique aspects of Armory’s approach.
10/11/202343 minutes, 22 seconds
Episode Artwork

SE Radio 584: Charles Weir on Ruthless Security for Busy Developers

Charles Weir—developer, security researcher, and Research Fellow at Security Lancaster—joins host Giovanni Asproni to discuss an approach that development teams can use to create secure systems without wasting effort on unnecessary security work. The episode starts with a broad description of the approach, which is based on Weir's research and on a free Developer Security Essentials workshop he created. Charles presents some examples from real-world projects, his view on AI's impact on security, and information about the workshop and where to find the materials. During the conversation, they consider several related topics including the concept of "good enough" security; security as a product decision; risk assessment, classification, and prioritization; and how to approach security in startups, greenfield, and legacy systems.
10/5/20231 hour, 49 seconds
Episode Artwork

SE Radio 583: Lukas Fittle on Postgres Performance

Lukas Fittl of pganalyze discusses the performance of Postgres, one of the world’s most popular database systems. SE Radio host Philip Winston speaks with Fittl about database indexing, queries, maintenance, scaling, and stored procedures. They also discuss some features of pganalyze, such as the index and vacuum advisors.
9/27/20231 hour, 11 minutes, 24 seconds
Episode Artwork

SE Radio 582: Leo Porter and Daniel Zingaro on Learning to Program with LLMs

Dr. Daniel Zingaro and Dr. Leo Porter, co-authors of the book Learn AI-Assisted Python Programming, speak with host Jeremy Jung about teaching programming with the aid of large language models (LLMs). They discuss writing a book to use in Leo's introductory CS class and explore how GitHub Copilot de-emphasizes syntax errors, reduces the need to memorize APIs, and why they want students to write manual test cases. They also discuss possible ethical concerns of relying on commercial tools, their impact on coursework, and why they aren't worried about students cheating with LLMs.
9/20/20231 hour, 2 minutes, 22 seconds
Episode Artwork

SE Radio 581: Zach Lloyd on Terminal Emulators

Zach Lloyd, CEO of Warp.dev, discusses how to implement and effectively use command-line terminals. Host Gregory Kapfhammer speaks with Lloyd about how command-line terminals work and how the Warp terminal uses the GPU and AI to enhance a software developer’s productivity. They also discuss the trade-offs associated with using the Rust programming language to implement a command-line terminal. Brought to you by IEEE Computer Society and IEEE Software magazine.
9/14/20231 hour, 4 minutes, 44 seconds
Episode Artwork

SE Radio 580: Josh Doody on Mastering Business Communication for Software Engineers

Josh Doody, author of Mastering Business Email, speaks with host Brijesh Ammanath about how software engineers can master business communication. They begin with an exploration of various communication modes, including Slack, virtual meetings, emails, and presentations. Josh shares several strategies to improve communication skills and cross-cultural communication, but if there's one key take away from this episode, it might be: “use positive language for any medium of communication; be kind and use positive words.” Brought to you by IEEE Software magazine and IEEE Computer Society.
9/7/20231 hour, 8 minutes, 29 seconds
Episode Artwork

SE Radio 579: Arun Gupta on Open Source Strategy and Community

Arun Gupta, Vice President and General Manager of Open Ecosystem Initiatives at Intel Corporation, discusses open-source strategy and community with SE Radio host Kanchan Shringi. They explore the business case and business model for why and how big tech participates in the open-source ecosystem. Arun describes ways to foster a culture of engagement with open source within companies such as Intel, Amazon, and Apple. They then consider how the principles can be applied to closed-source software within the company. Finally, they discuss some of the benefits that Intel has gained from more than 20 years of open source contributions and look at the company’s plan for the year ahead. SE Radio is rought to you by IEEE Software magazine and IEEE Computer Society.
8/31/202348 minutes, 21 seconds
Episode Artwork

SE Radio 578: Ori Mankali on Secrets Management using Distributed Fragments Cryptography

In this episode, Ori Mankali, senior VP of engineering at cloud security startup Akeyless, speaks with SE Radio’s Nikhil Krishna about secrets management and the innovative use of distributed fragment cryptography (DFC). In the context of enterprise IT, 'secrets’ are crucial for authentication in providing access to internal applications and services. Ori describes the unique challenges of managing these sensitive data, particularly given the complexities of doing so on a large scale in substantial organizations. They discuss the necessity for a secure system for managing secrets, highlighting key features such as access policies, audit capabilities, and visualization tools. Ori introduces the concept of distributed fragment cryptography, which boosts security by ensuring that the entire secret is never known to any single entity. The episode explores encryption and decryption and the importance of key rotation, as they consider the challenges and potential solutions in secrets management.
8/22/202342 minutes, 41 seconds
Episode Artwork

SE Radio 577: Casey Muratori on Clean Code, Horrible Performance?

Casey Muratori caused some strong reactions with a blog post and an associated video in which he went through an example from the “Clean Code” book by Robert Martin to demonstrate the negative impact that clean code practices can have on performance. In this episode, he joins SE Radio’s Giovanni Asproni to talk about the potential trade-offs between performance and the qualities that make for maintainable code, these qualities being the main focus of Clean Code. Brought to you by IEEE Computer Society and IEEE Software magazine.
8/18/20231 hour, 10 minutes, 41 seconds
Episode Artwork

SE Radio 576: Jens Neuse on Back Ends for Front Ends

Jens Neuse, founder of Wundergraph, joins SE Radio host Jeff Doolittle for a conversation about back ends for front ends, or BFF. Jens begins by explaining how a heavy integration burden is often placed on front-end development teams. When multiple APIs must be integrated, it can be challenging for client development in web, mobile, and desktop environments. Explaining how APIs should be treated as dependencies, just like packages, the episode explores BFF patterns and use cases, as well as the future potential emergence of a “git for APIs” standard. This episode is sponsored by ClickSend. 
8/9/202359 minutes, 39 seconds
Episode Artwork

SE Radio 575: Nir Valtman on Pipelineless Security

Nir Valtman, co-Founder and CEO at Arnica, discusses pipelineless security with SE Radio host Priyanka Raghavan. They start by defining pipelines and then consider how to add security. Nir lays out the key challenges in getting good code coverage with the pipeline-based approach, and then describes how to implement a pipelineless approach and the advantages it offers. Priyanka quizzes him on the concept of "zero new hardcoded secrets," as well as some ways to protect GitHub repositories, and Nir shares examples of how a pipelineless approach could help in these scenarios. They then discuss false positives and handling developer fatigue in dealing with alerts. The show ends with some discussion around the product that Arnica offers and how it implements the pipelineless methodology.
8/1/202356 minutes, 49 seconds
Episode Artwork

SE Radio 574: Chad Michel on Software as an Engineering Discipline

Chad Michel, Senior Software Architect at Don’t Panic Labs and co-author of Lean Software Systems Engineering for Developers, joins host Jeff Doolittle for a conversation about treating software development as an engineering discipline. They begin by discussing the need for engineering rigor in the software industry. Chad points out that many developers lack awareness of good engineering practice and are often unaware of resources such as the Software Engineering Body of Knowledge (SWEBOK). Among the many topics explored in this episode are design methodologies such as volatility-based decomposition and the work of David Parnas, as well as important topics such as quality, how to address complexity, designing for change, and the role of the chief engineer. This episode is sponsored by ClickSend. SE Radio listeners can get a $50 credit by following the link.
7/27/20231 hour, 7 minutes, 13 seconds
Episode Artwork

SE Radio 573: Varun Singh on Evolution of Internet Protocols

In this episode, Varun Singh, Chief Products and Technology Officer at Daily.co, speaks with host Nikhil Krishna about the 30-year evolution of web protocols. In particular, they explore the impact of protocol ossification, which has supported the Internet’s success but also limits the flexibility of evolving protocol suites such as TCP/IP and UDP by constraining future development. Varun points out how the end-to-end principle emphasizes full flexibility for end hosts, but the TCP implementation in the OS kernel as well as in “middle boxes” such as ISPs contributes to the constraints of ossification by blocking certain types of traffic. Further, the development of new protocols is challenging due to the need for backward compatibility with existing protocols. They discuss Google’s efforts – and the challenges it has faced – in working to move the HTTP protocol forward. The role of standards bodies such as the IETF and collaboration between industry stakeholders is crucial for the evolution of internet protocols, requiring a balance between maintaining backward compatibility and introducing new protocols such as QUIC and HTTP/3 to address existing constraints and improve internet performance and security. indeed, QUIC includes features that seek to actively avoid ossification and encourage evolution.
7/19/202357 minutes, 33 seconds
Episode Artwork

SE Radio 572: Gregory Kapfhammer on Flaky Tests

Gregory Kapfhammer, associate professor at Allegheny College, discusses the common problem of ‘flaky tests’ with SE Radio’s Nikhil Krishna. Flaky tests are test cases that unreliably pass or fail even when no changes are made to the source code under test or to the test suite itself, which means that developers can’t tell whether the failures indicate bugs that needs to be resolved.  Flaky tests can hinder continuous integration and continuous development by undermining trust in the CI/CD environment. This episode examines sources of flaky tests, including physical factors such as CPU or memory changes, as well as program-related factors such as performance issues. Gregory also describes some common areas that are prone to flaky tests and ways to detect them. They discuss tooling to detect and automatically mark flaky tests, as well as how to tackle these issues to make tests more reliable and even ways to write code so that it's less susceptible to flaky tests.
7/13/202342 minutes, 36 seconds
Episode Artwork

SE Radio 571: Jeroen Mulder on Multi-Cloud Governance

Jeroen Mulder, author of Multi-Cloud Strategy for Cloud Architects, joins host Robert Blumen for a discussion of public cloud, private cloud, and multi-cloud computing architectures and trends. They start by considering what defines cloud computing and what differentiates the major cloud providers, including whether they are more alike or different in the services they offer.  Jeroen discusses governance, regulatory compliance, and data locality as drivers of where enterprises want to run their workload. They explore use cases for multi-cloud, and discuss architectural challenges in migrating to kubernetes, as well as issues with networking, security, and identity management with multi-cloud architectures. Finally, they discuss running public cloud compute on on-prem resources with Anthos, Outback, and related technologies.
7/5/202359 minutes, 38 seconds
Episode Artwork

SE Radio 570: Stanisław Barzowski on the jsonnet Language

Stanisław Barzowski of XTX Markets and a committer on the jsonnet project joins SE Radio's Robert Blumen for a conversation about the jsonnet programming language. A superset of JSON, jsonnet adds programming language capabilities, particularly to address the need to handle large but mostly repetitive JSON configurations. They discuss the project’s history, use cases for Grafana and Kubernetes config, interoperability with YAML, and consider details including the command line, constrained capabilities of the language, and objects and inheritance. They examine the toolchain: compiler, formatter, and linter, as well as test frameworks and testing, package management, and the language’s performance. Barzowski describes four implementations -- go, C++, Rust, and Scala -- as well as popular libraries and the standard library.
6/27/202339 minutes, 7 seconds
Episode Artwork

SE Radio 569: Vladyslav Ukis on Rolling out SRE in an Enterprise

Vladyslav Ukis, author of the book Establishing SRE Foundations: A Step-by-Step Guide to Introducing Site Reliability Engineering in Software Delivery Organizations, discusses how to roll out SRE in an enterprise. SE Radio host Brijesh Ammanath speaks with Vlad about the origins of SRE and how it complements ITIL (Information Technology Infrastructure Library). They examine how firms can establish foundations for rolling out SRE, as well as how to overcome challenges they might face in adopting. Vlad also recommends steps that organizations can take to sustain and advance their SRE transformation beyond the foundations.
6/22/202353 minutes, 31 seconds
Episode Artwork

SE Radio 568: Simon Bennetts on OWASP Dynamic Application Security Testing Tool ZAP

Simon Bennetts, a distinguished engineer at Jit, discusses one of the flagship projects of OWASP: the Zed Attack Proxy (ZAP) open source security testing tool. As ZAP’s primary maintainer, Simon traces the tool's origins and shares some anecdotes with SE Radio host Priyanka Raghavan on why there was a need for it. They take a deep dive into ZAP’s features and its ability to integrate with CI/CD, as well as shift security left. Bennetts also considers what it takes to build a successful open source project before spending time on ZAP’s ability to script to provide richer results. Finally, the conversation ends with some questions on ZAP’s future in this AI-powered world of bots.
6/14/202350 minutes, 36 seconds
Episode Artwork

SE Radio 567: Dave Cross on GitHub Actions

Dave Cross, owner of Magnum Solutions and author of GitHub Actions Essentials (Clapham Technical Press), speaks with SE Radio host Gavin Henry about GitHub actions, the value they provide, and the best practices for using them in your projects. Cross describes the vast range of things that developers can do with GitHub Actions, including some use cases you might never have thought about. They start with some general discussion of CI/CD and then consider the three main types of events that drive GitHub actions before digging in to details about fine-grained action events, Action Marketplace, contexts, yaml, docker base images, self-hosted runners, and more. They further explore identity management, permissions, dependency management, saving money, and how to keep your secrets secret.
6/6/202358 minutes, 27 seconds
Episode Artwork

SE Radio 566: Ashley Peacock on Diagramming in Software Engineering

Ashley Peacock, author of the book Creating Software with Modern Diagramming Techniques, speaks with SE Radio host Akshay Manchale about diagrams in software engineering. They discuss the power of diagramming and some reasons we don’t fully use it as often as we should. Ashley contrasts historical use of UML diagrams versus modern diagrams, which don't have hard rules about representations. The episode examines different types of diagrams through an example application and how it could be built with modern tools such as Streamy to simplify the building, versioning, and maintenance of diagrams.
5/31/202354 minutes, 26 seconds
Episode Artwork

SE Radio 565: Luca Galante on Platform Engineering

Luca Galante, head of product at Humanitec, joins host Jeff Doolittle for a conversation about platform engineering. They begin by defining platform engineering and its relationship to, and distinction from, DevOps. Tracing platform engineering's history, Luca describes how internal developer platforms are fundamental, and then explores the goals of addressing complexity and reducing the cognitive load on developers by creating golden paths.
5/23/20231 hour, 6 seconds
Episode Artwork

SE Radio 564: Paul Hammant on Trunk-Based Development

Paul Hammant, independent consultant, joins host Giovanni Asproni to speak about trunk-based development—a version control management practice in which developers merge small, frequent updates to a core “trunk” or main branch. The episode explores the technique in some detail, including its pros and cons and some examples from real projects, and offers suggestions on how to get started. The conversation touches on a set of related topics, including code reviews, feature flags, continuous integration, and testing.
5/17/20231 hour, 23 seconds
Episode Artwork

SE Radio 563: David Cramer on Error Tracking

In this episode, David Cramer, co-founder and CTO of Sentry, joins host Jeremy Jung for a conversation about error tracking. The discussion starts with treating performance problems as errors, why you might not need logs, and how most applications share the same problems. From there they consider other topics including capturing information by hooking into runtimes and frameworks, issues with the quality of Open Telemetry data, how front-end applications are constantly changing and why that makes them hard to instrument. Finally, they discuss how Sentry's architecture has evolved, and why they switched from a permissive license to the Business Source License.
5/10/20231 hour, 13 minutes, 41 seconds
Episode Artwork

SE Radio 562: Bastian Gruber on Rust Web Development

Bastian Gruber, author of the book Rust Web Development, speaks with host Philip Winston about creating server-based web applications with Rust. They explore Rust language features, tooling, and web frameworks such as Warp and Tokyio. From there, they examine the steps to build a simple web server and a RESTful API, as well as modules, logging and tracing, and other aspects of web development with Rust.
5/3/20231 hour, 8 minutes, 24 seconds
Episode Artwork

SE Radio 561: Dan DeMers on Dataware

Dan Demers of Cinchy.com joins host Jeff Doolittle for a conversation about data collaboration and dataware. Dataware platforms leverage an operational data fabric to liberate data from apps and other silos and connect it together in real-time data networks. They explore a range of key topics, including zero-copy integration, encapsulation and information hiding, handling changes to data models over time, and latency and access issues. The discussion also explores dataware management and security concerns, as well as the concept of 'data plasticity' as an analogy to neuroplasticity, which is where the nervous system can respond to stimuli such as injuries by reorganizing its structure, functions, or connections.
4/27/20231 hour, 9 minutes, 34 seconds
Episode Artwork

SE Radio 560: Sugu Sougoumarane on Distributed SQL with Vitess

Sugu Sougoumarane discusses the challenges of horizontally scaling MySQL databases through the Vitess distribution engine and Planetscale, a service built on top of Vitess. The journey began with the growing pains of scale at YouTube around the time of Google’s acquisition of the video service. This episode explores ideas about topology management, sharding, Paxos, connection pooling, and how Vitess handles large transactions while abstracting complexity from the application Layer.
4/19/202348 minutes, 53 seconds
Episode Artwork

SE Radio 559: Ross Anderson on Software Obsolescence

Ross John Anderson, Professor of Security Engineering at University of Cambridge, discusses software obsolescence with host Priyanka Raghavan. They examine risks associated with software going obsolete and consider several examples of software obsolescence, including how it can affect cars. Prof. Anderson discusses policy and research in the area of obsolescence and suggests some ways to mitigate the risks, with special emphasis on software bills of materials. He describes future directions, including software policy and laws in the EU, and offers advice for software maintainers to hedge against risks of obsolescence.
4/12/202358 minutes, 7 seconds
Episode Artwork

SE Radio 558: Michael Fazio on Modern Android Development

Michael Fazio, Engineering Manager (Android) at Albert and author of Kotlin and Android Development featuring Jetpack from the Pragmatic Programmers, speaks with SE Radio's Gavin Henry about how the Android ecosystem looks today, and why it's an excellent time to write native Android apps. They explore a wide range of topics about modern Android development, including when to go native, how to keep a lot of decisions in your back-end API, Kotlin co-routines, Jetpack and Jetpack Compose, the MVVM design pattern, and threads, as well as activities, fragments, Dagger, room, navigation, Flutter, and improvements in simulators. They also examine details such as IDEs, API selection, how to choose a list of support devices, Java vs Kotlin, handset manufacturers, XML layouts, and why Jetpack is a safe bet for all your future Android development.
4/5/20231 hour, 10 minutes, 53 seconds
Episode Artwork

SE Radio 557: Timothy Beamish on React and Next.js

Timothy Beamish of BenchSci discusses React and Next.js, two of today's most popular front-end frameworks. Host Philip Winston speaks with Beamish about components, routing, JSX, client-side and server-side rendering, single-page applications, automatic code-splitting, image optimization, and more. Beamish also details his experience moving a real-world application to Next.js.  
3/28/20231 hour, 3 minutes, 56 seconds
Episode Artwork

SE Radio 556: Alex Boten on Open Telemetry

Software engineer Alex Boten, author of Cloud Native Observability with Open Telemetry, joins SE Radio host Robert Blumen for a conversation about software telemetry and the OpenTelemetry project. After a brief review of the topic and the OpenTelemetry project's origins rooted in the need for interoperability between telemetry sources and back ends, they discuss the open telemetry server and its features, including transforms, filtering, sampling, and rate limiting. They consider a range of topics, starting with alternative topologies with and without the telemetry server, server pipelines, and scaling out the server, as well as a detailed look at extension points and extensions; authentication; adoption; and migration.
3/23/202342 minutes, 49 seconds
Episode Artwork

SE Radio 555: On Freund on Upskilling

On Freund, founder of Wilco and former VP of Engineering at WeWork, speaks with SE Radio’s Brijesh Ammanath about “upskilling” – going deeper or increasing the breadth of your skills. On has years of experience in helping developers master the skills needed to advance in their careers. This episode explores the importance of upskilling in a constantly evolving tech landscape. They focus particularly on how and why senior and expert developers should keep learning, upskilling, and reskilling throughout their careers. Freund offers suggestions on how to face some common challenges, especially for remote or distributed workers, and how and why engineering managers can help enable upskilling for their teams.
3/15/20231 hour, 42 seconds
Episode Artwork

SE Radio 554: Adam Tornhill on Behavioral Code Analysis

Adam Tornhill, founder and CTO of CodeScene, joins host Giovanni Asproni to speak about behavioral code analysis. Behavioral code analysis is a set of practical techniques aimed at identifying patterns in how a development organization interacts with the codebase they're building. It can be used to prioritize technical debt to maximize return on investment; to identify communication and team-coordination bottlenecks in code; to drive refactorings guided by data from how the system evolves; and to detect code quality problems before they become maintenance issues. The episode starts with a broad description of the techniques, providing some examples from real projects, and ends with suggestions on how to get started with applying them. During the conversation, Adam and Giovanni touch on a set of related topics, including the applicability of the techniques to legacy, green-, and brown-field projects; ethical and privacy implications; and the importance of context when judging code quality.
3/8/202354 minutes, 19 seconds
Episode Artwork

SE Radio 553: Luca Casonato on Deno

Luca Casonato joins SE Radio's Jeremy Jung for a conversation about Deno and Deno Deploy. They start with a look at JavaScript runtimes and their relation to Google’s open source JavaScript and WebAssembly engine V8, and why Deno was created. They discuss the WinterCG W3C group for server-side JavaScript, why it's difficult to ship new features in Node, and the benefits of web standards. From there they consider the benefits of creating an all-inclusive toolset like Rust and Go rather than relying on separate solutions, Deno's node compatibility layer, use cases for WebAssembly, benefits and implementation of Deno Deploy, reasons to deploy on the edge, and what's coming next.
3/1/20231 hour, 3 minutes, 30 seconds
Episode Artwork

SE Radio 552: Matt Frisbie on Browser Extensions

Matt Frisbie, author of Building Browser Extensions, speaks with host Kanchan Shringi about browser extensions, including key areas where they've been successful. Based on Matt’s experience as a developer working for Google, Doordash, and a startup he founded, they examine tools for building extensions, as well as APIs they have access to. The conversation presents detailed issues such as cross-browser compatibilities to keep in mind when developing extensions and mechanisms in the browser to prevent security vulnerabilities, and finally examines how emerging platforms can help developers take advantage of exciting new possibilities with web extensions.
2/23/20231 hour, 3 minutes, 43 seconds
Episode Artwork

Episode 551: Vidal Graupera on Manager 1-1 with Direct Reports

Vidal Graupera, an Engineering Manager at LinkedIn, speaks with SE Radio’s Brijesh Ammanath about the importance of managers' one-on-one meetings with direct reports. They start by considering how a 1:1 meeting differs from other meetings...
2/15/202355 minutes, 40 seconds
Episode Artwork

Episode 550: J.R. Storment and Mike Fuller on Cloud FinOps (Financial Operations)

J.R. Storment and Mike Fuller discuss cloud financial operations (FinOps) with host Akshay Manchale. They consider the importance of a financial operations strategy for cloud-based infrastructure. J.R. and Mike discuss the differences between operating your own data center and running in the cloud, as well as the problems that doing so creates in understanding and forecasting cloud spend. Mike details the Cloud FinOps lifecycle by first attributing organizational cloud spend through showbacks and chargebacks to individual teams and products. JR describes the two levers available for optimization once an organization understands where they're spending their cloud budget. They discuss complexities that arise from virtualized infrastructure and techniques to attribute cloud usage to the correct owners, and close with some recommendations for engineering leaders who are getting started on cloud FinOps strategy.
2/9/202358 minutes, 12 seconds
Episode Artwork

Episode 549: William Falcon Optimizing Deep Learning Models

William Falcon of Lighting AI discusses how to optimize deep learning models using the Lightning platform, optimization is a necessary step towards creating a production application. Philip Winston spoke with Falcon about PyTorch, PyTorch Lightning...
2/3/20231 hour, 1 minute, 15 seconds
Episode Artwork

Episode 548: Alex Hidalgo on Implementing Service Level Objectives

Alex Hidalgo, principal reliability advocate at Nobl9 and author of Implementing Service Level Objectives, joins SE Radio's Robert Blumen for a discussion of service-level objectives (SLOs) and error budgets. The conversation covers the meaning...
1/25/202348 minutes, 30 seconds
Episode Artwork

Episode 547: Nicholas Manson on Identity Management for Cloud Applications

Nicholas Manson, a SaaS Architect with more than 2 decades of experience building cloud applications, speaks with host Kanchan Shringi about identity and access management requirements for cloud applications. They begin by examining what a digital...
1/18/202358 minutes, 33 seconds
Episode Artwork

Episode 546: Dietrich Ayala on the InterPlanetary File System

Nikhil Krishna speaks with Dietrich Ayala about IPFS in depth. They cover what it is, how it works in detail and how one could leverage IPFS and libp2p in one's own application or to host one's content. The discussion goes into the IPFS ecosystem...
1/12/202359 minutes, 11 seconds
Episode Artwork

Episode 545: John deVadoss on Design Philosophies that Drive .NET/Azure

We talk with John deVadoss about the philosophies underlying the development of .NET and Azure software. We discuss the "Fiefdoms and Emissaries" concept of building loosely coupled systems, talk about strengths and drawbacks and how to build services...
1/4/202343 minutes, 8 seconds
Episode Artwork

Episode 544: Ganesh Datta on DevOps vs Site Reliability Engineering

Ganesh Datta, CTO and cofounder of Cortex, joins SE Radio's Priyanka Raghavan to discuss site reliability engineering (SRE) vs DevOps. They examine the similarities and differences and how to use the two approaches together to build better software...
12/28/202259 minutes
Episode Artwork

Episode 543: Jon Smart on Patterns and Anti-Patterns for Successful Software Delivery in Enterprises

Jon Smart, author of the book Sooner Safer Happier: Patterns and Antipatterns for Business Agility, discusses patterns and anti-patterns for the success of enterprise software projects. Host Brijesh Ammanath speaks with him about the various common...
12/21/202257 minutes
Episode Artwork

Episode 542: Brendan Callum on Contract-Driven APIs

Brendan Callum, engineering manager for the Pinterest developer platform team, discusses the "spec first" approach to API development and how it's different from "API first." Brendan speaks with host Kanchan Shringi about the challenges and advantages...
12/15/202245 minutes, 43 seconds
Episode Artwork

Episode 541: Jordan Harband and Donald Fischer on Securing the Supply Chain

Open source developers Jordan Harband and Donald Fischer join host Robert Blumen for a conversation about securing the software supply chain, especially open source. They start by reviewing supply chain security concepts, particularly as related to open..
12/7/202251 minutes, 48 seconds
Episode Artwork

Episode 540: Joe Nash on DevRel

Joe Nash of Twillio's TwilioQuest discusses the role of developer relations/advocate, which is a role at tech companies in-between developers, marketing, sales, and HR. Host Felienne speaks with Nash about the skills people need if they want to become...
12/1/202254 minutes, 18 seconds
Episode Artwork

Episode 539: Adam Dymitruk on Event Modeling

Adam Dymitruk, CEO and founder of Adaptech Group, joins host Jeff Doolittle for an exploration of the event modeling approach to discovering requirements and designing software systems. Adam explains how the structured approach eliminates the specifics of implementation details and technology decisions, enabling clearer communication for all stakeholders while keeping conversations focused on the business opportunity. Using concrete examples of event modeling in practice, they examine event modeling in the context of other related approaches and methodologies, including event sourcing, event storming, CQRS, and domain-driven design.  
11/23/20221 hour, 4 minutes, 56 seconds
Episode Artwork

Episode 538: Roberto Di Cosmo on Archiving Public Software at Massive Scale

Roberto Di Cosmo, Computer Science professor at University Paris Diderot and founder of the Software Heritage initiative, discusses how to protect against sudden loss from the collapse of a "free" source code repository provider, how to protect...
11/18/20221 hour, 12 minutes, 6 seconds
Episode Artwork

Episode 537: Adam Warski on Scala and Tapir

Adam Warski, the co-founder and CTO of SoftwareMill, discusses Scala programming and the Tapir library. Scala is a general-purpose JVM language, and Tapir is a back-end library used to describe HTTP API endpoints as immutable Scala values. Host Philip Winston speaks with Warski about the implications of Scala being a JVM language, the Scala type system, the Scala community's view of functional vs. object-oriented programming, and the transition of the ecosystem from Scala 2 to Scala 3. The Tapir discussion explores why Tapir is a library and not a framework, how server interpreters work in Tapir, how interceptors work, and what observability features are included with Tapir.
11/9/20221 hour, 7 minutes
Episode Artwork

Episode 536: Ryan Magee on Software Engineering in Physics Research

Ryan Magee, postdoctoral scholar research associate at LIGO Laboratory – Caltech, joins host Jeff Doolittle for a conversation about how software is used by scientists in physics research. The episode begins with a discussion of gravitational waves...
11/2/202255 minutes, 34 seconds
Episode Artwork

Episode 535: Dan Lorenc on Supply Chain Attacks

Dan Lorenc, CEO of Chainguard, a software supply chain security company, joins SE Radio editor Robert Blumen to talk about software supply chain attacks. They start with a review of software supply chain basics; how outputs become inputs of someone...
10/25/202249 minutes, 34 seconds
Episode Artwork

Episode 534: Andy Dang on AI/ML Observability

Andy Dang, Head of Engineering at WhyLabs discusses observability and data ops for AI/ML applications and how that differs from traditional observability. SE Radio host Akshay Manchale speaks with Andy about running an AI/ML model in production and how...
10/20/202254 minutes, 17 seconds
Episode Artwork

Episode 533: Eddie Aftandilian on GitHub Copilot

Eddie Aftandilian, Principal researcher at GitHub discusses GitHub copilot and how it can improve developer productivity with host Priyanka Raghavan. The discussion explores various subtopics such as the history of copilot, how it can improve developer...
10/11/202243 minutes, 35 seconds
Episode Artwork

Episode 532: Peter Wyatt and Duff Johnson on 30 Years of PDF

Peter Wyatt, CTO at PDF Association and project co-Leader of ISO 32000 (the core PDF standard), Duff Johnson CEO at PDF Association and ISO Project co-Leader and US TAG chair for both ISO 32000, discuss the 30 years' history of PDF, how to make a PDF...
10/5/20221 hour, 13 minutes, 31 seconds
Episode Artwork

Episode 531: Xe Iaso on Tailscale

Xe Iaso of Tailscale discusses how a VPN can be a useful tool when building software. SE Radio host Jeremy Jung spoke with Iaso about what VPNs are, onboarding, access control, authentication in the network vs individual services, peer-to-peer vs...
9/30/202250 minutes, 15 seconds
Episode Artwork

Episode 530: Tanmai Gopal on GraphQL

Tanmai Gopal, CEO of Hasura.io, joined SE Radio host Jeff Doolittle for a conversation about GraphQL. They discussed the history and rationale behind the original conception of GraphQL, as well as some of the use cases it is best suited for...
9/21/20221 hour, 42 seconds
Episode Artwork

Episode 529: Jeff Perry on Career Management for Software Engineers

Jeff Perry, career coach with experience in multiple engineering and technology fields discusses how software engineers can be intentional and proactive in evaluating and pursuing career options, with host Kanchan Shringi.
9/14/20221 hour, 3 minutes, 7 seconds
Episode Artwork

Episode 528: Jonathan Shariat on Designing to Avoid Worst Case Outcomes

Jonathan Shariat, coauthor of the book Tragic Design, discusses harmful software design. SE Radio host Jeremy Jung speaks with Shariat about how poor design can kill in the medical industry, accidentally causing harm with features meant to bring joy...
9/7/202256 minutes, 20 seconds
Episode Artwork

Episode 527: Adrian Kennard and Kevin Hones on Writing a Network OS from Scratch

Adrian Kennard and Kevin Hones, Founders of FireBrick routers and firewalls, discuss how to design, build, test and support a hardware router and network operating system from scratch, while sharing the lessons learned. You'll also learn that in certain..
8/30/20221 hour, 3 minutes, 1 second
Episode Artwork

Episode 526: Brian Campbell on Proof of Possession Defenses

Brian Campbell, Distinguished Engineer at Ping Identity discusses cryptographic defences against stolen tokens for the OAUTH2 protocol with host Priyanka Raghavan. The discussion explores various subtopics such as the history of Proof of possession...
8/24/202253 minutes, 45 seconds
Episode Artwork

Episode 525: Randy Shoup on Evolving Architecture and Organization at eBay

Randy Shoup of eBay discusses the evolution of eBay's tech stack. SE Radio host Jeremy Jung speaks with Shoup about eBay's origins as a single C++ class with an Oracle database, a five-year migration to multiple Java services, sharing a database...
8/17/202258 minutes, 54 seconds
Episode Artwork

Episode 524: Abi Noda on Developer Experience

In this episode, Abi Noda, founder of Pull Panda and DX, discusses developer experience with SE Radio host Brijesh Ammanath. They examine the basic concept of DX and its importance before diving into a wide variety of issues, including methodologies...
8/11/202257 minutes, 40 seconds
Episode Artwork

Episode 523: Jessi Ashdown and Uri Gilad on Data Governance

Jessi Ashdown and Uri Gilad, authors of the book "Data Governance: The Definitive Guide," discuss what data governance entails, why it's important, and how it can be implemented. Host Akshay Manchale speaks with them about why data governance...
8/3/20221 hour, 4 minutes, 14 seconds
Episode Artwork

Episode 522: Noah Gift on MLOps

Noah Gift, author of "Practical MLOps", discusses MLOps, which are tools are techniques used to operationalize machine learning applications. Host Akshay Manchale spoke to Noah about the foundational aspects such as basic automation through DevOps, data...
7/27/202252 minutes, 1 second
Episode Artwork

Episode 521: Phillip Mayhew on Test Automation in Gaming

Phillip Mayhew of GameDriver discusses test automation for games and game-like applications. Host Philip Winston spoke with Mayhew about the increasing role of test automation in modern game development, the impact on the QA role, how to run tests...
7/21/202259 minutes, 52 seconds
Episode Artwork

Episode 520: John Ousterhout on A Philosophy of Software Design

John Ousterhout, professor of computer science at Stanford University, joined SE Radio host Jeff Doolittle for a conversation about his book, A Philosophy of Software Design. They discussed the history and ongoing challenges of software system design, especially the nature of complexity and the difficulties handling it. The conversation also explored various design concepts from the book, such as modularity, layering, abstraction, information hiding, maintainability, and readability.
7/12/20221 hour, 4 minutes, 39 seconds
Episode Artwork

Episode 519: Kumar Ramaiyer on Building a SaaS

Kumar Ramaiyer, CTO, Planning Business Unit at Workday, discusses the Infrastructure services needed for and the design of Building and lifecycle of supporting a SaaS application.
7/6/202255 minutes, 54 seconds
Episode Artwork

Episode 518: Karl Wiegers on Software Engineering Lessons

Karl Wiegers, Principal Consultant with Process Impact and author of 13 books, discusses specific software development practices that can help you make sure that you don't repeat the same problems he sees time and time again with every customer...
6/29/20221 hour, 5 minutes, 5 seconds
Episode Artwork

Episode 517: Jordan Adler on Code Generators

In this episode, SE Radio host Felienne speaks with Jordan Adler of OneSignal about code generation, a technique to generate code from specifications like UML or from other programming languages such as Typescript. They also discuss code transformation, which can be us
6/21/202252 minutes, 24 seconds
Episode Artwork

Episode 516: Brian Okken on Testing in Python with pytest

In this episode, we explore the popular pytest python testing tool with author Brian Okken, author of Python Testing with pytest. We start by discussing why pytest is so popular in the Python community: its focus on simplicity, readability, and developer ease-of-use; what makes pytest unique; the setup and teardown of tests using fixtures, parameterization, and the plugin ecosystem; mocking; why we should design for testing, and how to reduce the need for mocking; how to set up a project for testability; test-driven development, and designing your tests so that they support refactoring. Finally, we consider some complementary tools that can improve the python testing experience.
6/16/202250 minutes, 39 seconds
Episode Artwork

Edpisode 515: Swizec Teller on Becoming a Senior Engineer

This week, senior software engineer, instructor, and blogger Swizec Teller spoke with SE Radio's Brijesh Ammanath about the "senior mindset." Becoming a senior engineer is about more than just years of experience but rather about cultivating a different..
6/8/20221 hour, 2 minutes, 56 seconds
Episode Artwork

Episode 514: Vandana Verma on the Owasp Top 10

Vandana Verma, Security Leader at Snyk and vice-chairperson of the OWASP Global Board of directors, discusses the "OWASP top 10" with host Priyanka Raghavan. The discussion explores various subtopics such as the history behind OWASP, the OWASP top 10 security risks, example of common vulnerabilities and ends with information on top projects in OWASP and how can contribute to it.
5/31/202249 minutes, 7 seconds
Episode Artwork

Episode 513: Gil Hoffer on Applying DevOps Practices to Managing Business Applications

Gill Hoffer, co-founder and CTO at Salto, talks with SE Radio host Kanchan Shringi about a new persona -- the Business Engineer -- created by the rise of SaaS and adoption of best-of-breed business applications for back office systems. They examine...
5/25/202251 minutes, 17 seconds
Episode Artwork

Episode 513: Gil Hoffer on Applying DevOps Practices to Managing Business Applications

Gill Hoffer, co-founder and CTO at Salto, talks with SE Radio host Kanchan Shringi about a new persona -- the Business Engineer -- created by the rise of SaaS and adoption of best-of-breed business applications for back office systems. They examine...
5/25/20220
Episode Artwork

Episode 512: Tim Post on Rubber Duck Debugging

Tim Post of echoreply.io discusses Rubber Duck Debugging, a way to wrap your head about problems and solutions. Host Felienne spoke with Post about Rubber Duck debugging, and how it can help you to find answers to complex problems.
5/17/202249 minutes, 52 seconds
Episode Artwork

Episode 511: Ant Wilson on Supabase (Postgres as a Service)

Ant Wilson of Supabase discusses building an open source alternative to Firebase with PostgreSQL. SE Radio host Jeremy Jung spoke with Wilson about how Supabase compares to Firebase, building an API layer with postgREST, authentication using GoTrue...
5/10/202254 minutes, 6 seconds
Episode Artwork

Episode 510: Deepthi Sigireddi on How Vitess Scales MySQL

In this episode, Deepthi Sigireddi of the Cloud Native Computing Foundation (CNCF) spoke with SE Radio host Nikhil Krishna about how Vitess scales MySQL. They discuss the design and architecture of the product; how Vitess impacts modern data problems;...
5/4/20221 hour, 13 minutes, 56 seconds
Episode Artwork

Episode 509: Matt Butcher and Matt Farina on Helm Charts

Matt Butcher and Matt Farina, authors of the book Learning Helm join SE Radio host Robert Blumen to discuss Helm, the package manager for kubernetes. Beginning with a review of kubernetes and Helm, this episode explores the history of helm;...
4/26/202253 minutes, 59 seconds
Episode Artwork

Episode 508: Jérôme Laban on Cross Platform UI

Jérôme Laban, CTO of Uno Platform, joined host Jeff Doolittle for a conversation about Cross-platform User Interfaces. The conversation addressed the unique challenges and possibilities related to applications designed to run on multiple platforms...
4/19/20221 hour, 3 minutes, 3 seconds
Episode Artwork

Episode 507: Kevin Hu on Data Observability

Kevin Hu, co-founder and CEO at Metaplane discusses "Data Observability" with host Priyanka Raghavan. The discussion touches upon Data observability roots, components, differences with software observability and tooling.
4/13/202250 minutes, 20 seconds
Episode Artwork

Episode 506: Rob Hirschfeld on Bare Metal Infrastructure

Rob Hirschfeld CEO of RackN discusses Bare Metal as a Service. Host Brijesh Ammanath spoke with Hirschfeld about all things bare metal. Hirschfeld starts with the basics before doing a deep dive into bare metal configuring, provisioning, common failures..
4/6/202248 minutes, 7 seconds
Episode Artwork

Episode 505: Daniel Stenberg on 25 years with cURL

Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project.
3/29/20221 hour, 3 minutes, 14 seconds
Episode Artwork

Episode 505: Daniel Stenberg on 25 years with cURL

Daniel Stenberg, founder and lead developer of cURL and libcurl, and winner of the Polhem Prize, discusses the history of the project, key events in the project timeline, war stories, favorite command line options and various experiences from 25 years of developing an Open Source project.
3/29/20220
Episode Artwork

Episode 504: Frank McSherry on Materialize

Frank McSherry, Chief Scientist at Materialize talks to Host Akshay Manchale about Materialize which is a SQL database that maintains incremental views over streaming data. Frank talks about how Materialize can complement analytical systems...
3/22/202257 minutes, 49 seconds
Episode Artwork

Episode 503: Diarmuid McDonnell on Web Scraping

Diarmuid McDonnell , a Lecturer in Social Sciences, University of the West of Scotland talks with host Kanchan Shringi about his experience as a social scientist on the need for computational approaches for data collection and analysis as well as the...
3/16/202251 minutes, 28 seconds
Episode Artwork

Episode 502: Omer Katz on Distributed Task Queues Using Celery

Omer Katz, a software consultant and core contributor to the Celery discusses the Celery task processing framework with host Nikhil Krishna. We discuss in depth, the Celery task processing framework, it's architecture and the underlying messaging...
3/11/20221 hour, 3 minutes, 6 seconds
Episode Artwork

Episode 501: Bob Ducharme on Creating Technical Documentation for Software Projects

Nikhil Krishna speaks to Bob DuCharme an experienced technical writer and author about how to write and maintain technical documentation for software products. In the episode different mediums to distribute documentation and tools to maintain documentation are discussed.
3/1/202255 minutes, 24 seconds
Episode Artwork

Episode 500: Sergey Gorbunov on Blockchain Interoperability

Sergey Gorbunov of Axelar discusses blockchain interoperability, a technology that enables decentralized applications to work across multiple blockchain ecosystems. Host Philip Winston spoke with Gorbunov about programmable blockchains, distributed vs. centralized changes, the Ethereum virtual machine, Axelar's Cross-Chain Gateway Protocol and Cross-Chain Transfer Protocol, security issues, delegated proof of stake...
2/23/202255 minutes, 45 seconds
Episode Artwork

Episode 499: Uma Chingunde on Building a PaaS

Uma Chingunde of Render compares building a PaaS with her previous experience running the Stripe Compute team. Host Jeremy Jung spoke with Chingunde about the role of a PaaS, building on public cloud providers, build vs buy, choosing features, user experience, managing databases, Series A vs later stage startups, and why internal infrastructure teams should run themselves like product teams.
2/15/202256 minutes, 5 seconds
Episode Artwork

Episode 498: James Socol on Continuous Integration and Continuous Delivery (CICD)

James Socol of Policygenius discusses continuous integration and continuous delivery, ways to test and deploy software quickly and easily. SE Radio host Felienne spoke with Socol about why CI and CD matter for the development process, what tools to use...
2/9/202251 minutes, 42 seconds
Episode Artwork

Episode 497: Richard L. Sites on Understanding Software Dynamics

Richard L. Sites discusses his new book Understanding Software Dynamics, which offers expert methods and advanced tools for understanding complex, time-constrained software dynamics in order to improve reliability and performance. Philip Winston spoke with Sites about the five fundamental computing resources CPU, Memory, Disk, Network, and Locks, as well as methods for observing and reasoning when investigating performance problems using the open-source utility KUtrace.
2/1/202252 minutes, 50 seconds
Episode Artwork

Episode 496: Bruce Momjian on Multi-Version Concurrency Control in Postgres (MVCC)

This week, Postgres server developer Bruce Momjian joins host Robert Blumen for a discussion of multi-version concurrency control (MVCC) in the Postgres database. They begin with a discussion of the isolation requirement in database transactions (I in ACID); how isolation can be achieved with locking; limitations of locking; how locking limits concurrency and creates variability in query runtimes; multi-version concurrency control as a means to achieve isolation; how Postgres manages multiple versions of a row; snapshots; copy-on-write and snapshots; visibility; database transaction IDs; how tx ids, snapshots and versions interact; the need for locking when there are multiple writers; how MVCC was added to Postgres; and how to clean up unused space left over from aged-out versions.
1/25/20221 hour, 25 seconds
Episode Artwork

Episode 495: Vaughn Vernon on Strategic Monoliths and Microservices

Vaughn Vernon, author of the book “Strategic Monoliths and Microservices” discusses his book with host Akshay Manchale about strategies for purposeful architecture from the perspective of both business decision makers and technical leaders.
1/19/20221 hour, 53 seconds
Episode Artwork

Episode 494: Robert Seacord on Avoiding Defects in C Programming

Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.
1/12/20221 hour, 12 minutes, 18 seconds
Episode Artwork

Episode 494: Robert Seacord on Avoiding Defects in C Programming

Robert Seacord, author of Effective C, The CERT C Coding Standard and Secure Coding in C and C++, discusses why the C programming language can be insecure, the top 5 security issues and the tools and techniques you can employ to write secure code in C.
1/12/20220
Episode Artwork

Episode 493: Ram Sriharsha on Vectors in Machine Learning

Ram Sriharsha of Pinecone discusses the role of vectors in machine learning, a technique that lies at the heart of many of the machine learning applications we use every day. Host Philip Winston spoke with Sriharsha about the basics of vectors, vector...
1/4/202239 minutes, 59 seconds
Episode Artwork

Episode 492: Sam Scott on Building a Consistent and Global Authorization Service

Sam Scott, CTO of Oso discusses how to build a global authorization service and challenges with host Priyanka.
12/28/202146 minutes, 1 second
Episode Artwork

Episode 491: Chase Kocher on The Recruiting LifeCycle

Chase Kocher, the Founder and CEO of aim4hire, a technology recruitment agency, discusses the recruiting lifecycle from the candidate, the company and the recruiter’s point of view with host Kanchan Shringi.
12/21/20211 hour, 2 minutes, 7 seconds
Episode Artwork

Episode 490: Tim McNamara on Rust 2021 Edition

Tim McNamara, author of Rust in Action, discusses the top three benefits of Rust and why they make it a performant, reliable and productive programming language.
12/14/202150 minutes, 53 seconds
Episode Artwork

Episode 489: Sam Boyer Package Management

Guest Sam Boyer, author of So you want to write a package manager talks about package management. The discussion covers - what is a package? what does it mean to manage package? package meta-data; package versioning; the quantity of packages in modern...
12/8/202155 minutes, 27 seconds
Episode Artwork

Episode 488: Chris Riccomini and Dmitriy Ryaboy on the Missing Readme

Chris Riccomini and Dmitriy Ryaboy discuss their book, The Missing Readme, which is intended to be the missing manual for new software engineers. Felienne spoke with Riccomini and Ryaboy about a range of topics that new software engineers might not have..
12/1/202151 minutes, 58 seconds
Episode Artwork

Episode 487: Davide Bedin on Dapr Distributed Application Runtime

Davide Bedine, a cloud solution architect at Microsoft and professional Dapr enthusiast joined host Jeff Doolittle to discuss his book, Practical Microservices with Dapr and .NET. Dapr, the Distributed Application Runtime, simplifies cloud-native...
11/23/20211 hour, 11 minutes, 32 seconds
Episode Artwork

Episode 486: Bob Nystrom on Dart

Bob Nystrom, author of Crafting Interpreters and a software engineer at Google working on the Dart programming language, discusses the key features of Dart which make it an excellent choice for fast apps on any platform.
11/17/20211 hour, 2 minutes, 9 seconds
Episode Artwork

Episode 485: Howard Chu on B+tree Data Structure in Depth

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP project, discusses the key features of B+Tree Data Structures which make it the default selection for efficient and predictable storage of sorted data.
11/9/20211 hour, 2 minutes, 2 seconds
Episode Artwork

Episode 484: Audrey Lawrence on Timeseries Databases

Audrey Lawrence of Amazon discusses Timeseries Databases and their new database offering Amazon Timestream. Philip Winston spoke with Lawrence about data modeling, ingestion, queries, performance, life-cycle management, hot data vs. cold data...
11/2/202152 minutes, 47 seconds
Episode Artwork

Episode 483: Alexander Pugh on Robotic Process Automation

Alexander Pugh discusses why and when to use Robotic Process Automation (RPA). Host Jeremy Jung spoke with Pugh about interacting with systems without APIs like mainframes; the importance of having developers involved when building bots; the difficulty...
10/27/20211 hour, 8 minutes, 11 seconds
Episode Artwork

Episode 482: Luke Hoban on Infrastructure as Code

Luke Hoban, CTO of Pulumi, joined host Jeff Doolittle for a conversation about infrastructure as code (IAC), which allows software development teams to configure and control their cloud infrastructure assets using code in contrast to other approaches...
10/20/20211 hour, 5 minutes, 11 seconds
Episode Artwork

Episode 481: Ipek Ozkaya on Managing Technical Debt

Ipek Ozkaya joined host Jeff Doolittle to discuss a book she co-authored entitled Managing Technical Debt. In the book, Ozkaya describes nine principles of technical debt management to aid software companies in identifying, measuring, tracking...
10/12/20211 hour, 18 seconds
Episode Artwork

Episode 480: Venky Naganathan on Chatbots

Host Kanchan Shringi speaks with Venky Naganathan,Sr. Director of Engineering at Conga specializing in Artificial Intelligence and Chatbots about the Conversational UI paradigm for Enterprise Apps as well as the enablers and business use cases suited...
10/6/20211 hour, 2 minutes, 24 seconds
Episode Artwork

Episode 479: Luis Ceze on the Apache TVM Machine Learning Compiler

Luis Ceze of OctoML discusses Apache TVM, an open source machine learning model compiler for a variety of different hardware architectures with host Akshay Manchale. Luis talks about the challenges in deploying models on specialized hardware and how TVM.
9/29/202151 minutes, 29 seconds
Episode Artwork

Episode 478: Satish Mohan on Network Segmentation

Satish Mohan, CTO of AirGapNetworks discussed "Air Gapped Networks" with host Priyanka Raghavan.
9/24/202153 minutes, 10 seconds
Episode Artwork

Episode 477: Josef Strzibny on Self Hosting Applications

Josef Strzibny the author of Deployment from Scratch discusses how and why it's valuable to learn how to self host applications.
9/15/20211 hour, 7 minutes, 6 seconds
Episode Artwork

Episode 476: Leonid Shevtsov on Transactional Email

Leonid Shevtsov talks with host Robert Blumen about email protocols and transactional email.
9/8/202151 minutes, 14 seconds
Episode Artwork

Episode 475: Rey Bango on Secure Coding Veracode

Rey Bango, Senior Director of Developer and Security Relations at Veracode discussed Secure coding with host Priyanka Raghavan.
8/31/202155 minutes, 41 seconds
Episode Artwork

Episode 474: Paul Butcher on Fuzz Testing

Paul Butcher of AdaCore discusses Fuzz Testing, an automated testing technique used to find security vulnerabilities and other software flaws. Host Philip Winston spoke with Butcher about negative testing, brute-force fuzz testing...
8/24/202142 minutes, 35 seconds
Episode Artwork

Episode 473: Mike Del Balso on Feature Stores

Mike Del Balso, co-founder of Tecton discusses Feature Stores which are data platforms to operationalize Machine Learning applications. He talks about challenges faced by teams in creating custom data pipelines to serve models in production...
8/17/202155 minutes, 2 seconds
Episode Artwork

Episode 472: Liran Haimovitch on Handling Customer Issues

Liram Haimovitch talks about how a business handles customer issues with a software product. How issues start out with a dedicated customer-facing team and when they may be escalated to engineering.
8/11/202147 minutes
Episode Artwork

Episode 471: Jason Meller on Choosing the Right Tech Stack for a Greenfield Project

CEO and security expert Jason Meller discusses modern tech stacks across a variety of programming languages to consider when building your next project or startup.
8/3/20211 hour, 8 minutes
Episode Artwork

Episode 470: L. Peter Deutsch on the Fallacies of Distributed Computing

L Peter Deutsch of Aladdin Enterprises and formerly of Sun Microsystems joined host Jeff Doolittle to discuss the fallacies of distributed computing. Peter retold the history and origin of the fallacies and how they have been addressed over...
7/27/20211 hour, 4 minutes, 30 seconds
Episode Artwork

Episode 469: Dhruba Borthakur on Embedding Real-time Analytics in Applications

Dhruba Borthakur, CTO and co-founder of Rockset, discusses the use cases and core requirements of real-time analytics, as well as the evolution from batch to real time and the need for a new architecture with host Kanchan Shringi.
7/22/20211 hour, 10 minutes, 55 seconds
Episode Artwork

Episode 468: Iljitsch van Beijnum on Internet Routing and BGP

Networking researcher Iljitsch van Beijnum discusses internet routing and the border gateway protocol (BGP) with host Robert Blumen.
7/13/202154 minutes, 14 seconds
Episode Artwork

Episode-467-Kim-Carter-on-Dynamic-Application-Security-Testing

Kim Carter of BinaryMist discusses Dynamic Application Security Testing (DAST) and how the OWASP purpleteam project can improve early defect detection. Host Justin spoke with Carter about how DAST can provide meaningful feedback loops to developers...
7/7/202150 minutes, 36 seconds
Episode Artwork

Episode 466: Casey Aylward on Venture Capital for Software Investing

Casey Aylward, Principal at Costanoa Ventures discusses Venture capital with a focus on early stage investing from the perspective of the entrepreneur and the VC with host Kanchan Shringi.
6/29/202150 minutes, 58 seconds
Episode Artwork

Episode 465: Kevlin Henney and Trisha Gee on 97 Things Every Java Programmer Should Know

Trisha Gee and Kevlin Henney of 97 things every Java developer should know discusses their book, which is a collection of essays by different developers covering the most important things to know. Host Felienne spoke withGee and Henney about all things...
6/22/202155 minutes, 17 seconds
Episode Artwork

Episode 464: Rowland Savage on Getting Acquired

Rowland Savage, author of How to Stick the Landing: The M&A Handbook for Startups, discusses how company acquisitions work, the three types, and why it is so important for software engineering startups to know the details to make an acquisition happen.
6/16/202157 minutes, 7 seconds
Episode Artwork

Episode 463: Yaniv Tal on Web 3.0 and the Graph

Yaniv Tal discusses The Graph’s key features and also explains to user basics of blockchain infrastructure, Ethereum.
6/10/202145 minutes, 51 seconds
Episode Artwork

Episode 462: Felienne on the Programmers Brain

Felienne joins host Jeff Doolittle as a guest on the show to discuss her book, The Programmers Brain. While programmer’s brains are not special in comparison to the brains of others, they face unique cognitive challenges...
6/2/20211 hour, 10 minutes, 17 seconds
Episode Artwork

Episode 461 Michael Ashburne and Maxwell Huffman on Quality Assurance

Michael Ashburne and Maxwell Huffman discuss Quality Assurance with Jeremy Jung.
5/26/202159 minutes, 54 seconds
Episode Artwork

Episode 460: Evan Weaver on FaunaDB

Evan Weaver of Fauna discusses the Fauna distributed database. Host Felienne spoke with him about its design and properties, as well as the FQL query language, and the different models it supports: document-based as well as relational.
5/18/202157 minutes, 12 seconds
Episode Artwork

Episode 459: Otakar Nieder on Gaming vs Simulation Engines

Otakar Nieder, Senior Director of Development at Bohemia Interactive Simulations, discusses how simulation apps are different from gaming with host Kanchan Shringi.
5/12/202153 minutes, 16 seconds
Episode Artwork

Episode 458: Daniel Roth on Blazor

Daniel Roth from Microsoft discusses Blazor’s key features and benefits of using c# full stack for building web apps with host Priyanka Raghavan.
5/6/202148 minutes, 52 seconds
Episode Artwork

Episode 457: Jeffery D Smith on DevOps Anti Patterns

Jeffery D Smith, author of Operations Anti-Patterns, DevOps Solutions, talks about how things can go wrong in development organizations and what DevOps has to offer with host Robert Blumen.
4/27/20211 hour, 36 seconds
Episode Artwork

Episode 456: Tomer Shiran on Data Lakes

Tomer Shiran, co-founder of Dremio, talks about managing data inside a data lake, historical changes and motivations for managing data as a data lake, and the common tools and methods for ingestion, storage, and analytics on top of the underlying data.
4/21/202148 minutes, 15 seconds
Episode Artwork

Episode 455: Jamie Riedesel on Software Telemetry

Jamie author of Software Telemetry book discusses Software Telemetry, why telemetry data is so important and the discipline of tracing, logging, and monitoring infrastructure.
4/13/20211 hour, 3 minutes, 31 seconds
Episode Artwork

Episode 454: Thomas Richter Postgres as an OLAP database

Thomas Richter is the founder of Swarm64, a Postgres extension company designed to boost performance of your Postgres instance. This episode examines the internals of Postgres, performance considerations, and relational database types.
4/9/202156 minutes, 9 seconds
Episode Artwork

Episode 453: Aaron Rinehart on Security Chaos Engineering

Aaron Rinehard, CTO of Verica and author, discusses security chaos engineering (SCE) and how it can be used to enhance the security of modern application architectures.
3/30/20211 hour, 11 minutes, 17 seconds
Episode Artwork

Episode 452: Scott Hanselman on .NET

Scott Hanselman discusses .NET with Jeremy Jung
3/23/202155 minutes, 23 seconds
Episode Artwork

Episode 451: Luke Kysow on Service Mesh

Luke Kysow from Hashicorp does a deep dive into the key features of Consul with host Priyanka Raghavan.
3/16/202148 minutes, 22 seconds
Episode Artwork

Episode 450: Hadley Wickham on R and Tidyverse

Hadley Wickham, chief scientist at RStudio and creator of the Tidyverse, discusses how R and its data science package the TidyVerse are used and created. Host Felienne speaks with Wickham about the design philosophy of the Tidyverse, and how it supports..
3/9/202151 minutes, 17 seconds
Episode Artwork

Episode 449: Dan Moore on Build vs Buy

Dan Moore, cofounder of Vaporware, discusses the benefits and drawbacks of building or buying software solutions, including evaluation criteria, how to inspect an API, and cost considerations for purchasing software from external vendors.
3/5/202155 minutes, 37 seconds
Episode Artwork

Episode 448: Matt Arbesfeld Starting Your Own Software Company

Matt Arbesfeld, cofounder of LogRocket, discusses the benefits and drawbacks of starting a software company as a software engineer, including finding cofounders, fundraising, and determining what ideas are worth pursuing.
2/27/202150 minutes, 13 seconds
Episode Artwork

Episode 447: Michael Perry on Immutable Architecture

Michael L. Perry discusses his recently published book, The Art of Immutable Architecture, distinguishing immutable architecture from other approaches and, using familiar examples such as git and blockchain, addresses some possible misunderstandings...
2/18/202158 minutes, 42 seconds
Episode Artwork

Episode 446: Nigel Poulton on Kubernetes Fundamentals

Nigel Poulton, author of The Kubernetes Book and Docker Deep Dive, discusses Kubernetes fundamentals, why Kubernetes is gaining so much momentum, deploying an example app, and why Kubernetes is considered "the" Cloud OS.
2/10/20211 hour, 6 minutes, 20 seconds
Episode Artwork

Episode 445: Thomas Graf on eBPF (extended Berkeley Packet Filter)

Thomas Graf, Co-Founder of Cilium, discusses eBPF and XDP and how they can be leveraged for a wide variety of use cases across networking, observability, and security.
2/2/20211 hour, 9 minutes, 6 seconds
Episode Artwork

Episode 444: Tug Grall on Redis

Tug Grall of Redis Labs discusses Redis, its evolution over the years and emerging use cases today,its module based ecosystem and Redis’ applicability in a wide range of applications beyond being a layer for caching data such as search, machine learning
1/29/20211 hour, 2 minutes, 55 seconds
Episode Artwork

Episode 443: Shawn Wildermuth on Diversity and Inclusion in the Workplace

Felienne discusses diversity and inclusivity in software development with Shawn Wildermuth, Microsoft MVP and creator of the Hello World movie.
1/20/20211 hour, 11 minutes, 18 seconds
Episode Artwork

Episode 442: Arin Bhowmick on UX Design for Enterprise Applications

Arin Bhowmick, Global Vice President and Chief Design Officer at IBM, discusses why and how UX design for enterprise applications is different than for consumer applications.
1/14/20211 hour, 2 minutes, 57 seconds
Episode Artwork

Episode 441 Shipping Software - With Bugs

James Smith, CEO and co-founder of Bugsnag discusses “Why it is ok to ship your software with Bugs.”
1/5/202159 minutes, 26 seconds
Episode Artwork

Episode 440: Alexis Richardson on gitops

Alexis Richardson discusses gitops - a deployment model based on convergent infrastructure as code with host Robert Blumen.
12/24/202051 minutes
Episode Artwork

Episode 439: JP Aumasson on Cryptography

JP Aumasson, author of Serious Cryptography, discusses cryptography, specifically how encryption and hashing work and underpin many security functions.
12/18/20201 hour, 8 minutes, 22 seconds
Episode Artwork

Episode 438: Andy Powell on Lessons Learned from a Major Cyber Attack

Andy Powell is the CISO of AP Moller Maersk and discusses the 2017 cyber attack that hit the company and the lessons learned for preventing and recovering from future attacks.
12/12/202050 minutes, 59 seconds
Episode Artwork

Episode 437: Architecture of Flutter

Tim Sneath, product management for Flutter and Dart at Google discusses what Flutter is, why it was created, where Dart came from, what the different layers of Flutter are, why it is so popular and why it makes a developers life much easier.
12/8/20201 hour, 14 minutes, 29 seconds
Episode Artwork

Episode 436: Apache Samza with Yi Pan

Yi Pan is the lead maintainer of the Apache Samza project and discusses the use cases for stream processing frameworks, how to use them, and the benefits & drawbacks of a framework like Samza.
11/24/20201 hour, 3 minutes, 25 seconds
Episode Artwork

Episode 435: Julie Lerman on Object Relational Mappers and Entity Framework

Julie Lerman discusses Object Relational Mappers and Entity Framework with Jeremy Jung.
11/17/20201 hour, 4 minutes, 56 seconds
Episode Artwork

Episode 435: Julie Lerman on Object Relational Mappers and Entity Framework

Julie Lerman discusses Object Relational Mappers and Entity Framework with Jeremy Jung.
11/17/20200
Episode Artwork

Episode 434: Steven Skiena on Preparing for the Data Structures and Algorithm Job Interview

Steven Skiena speaks with SE Radio’s Adam Conrad about practical applications for data structures and algorithms, as well as take-aways on how to best study Skiena’s book when prepping for the technical interview process.
11/10/202058 minutes, 37 seconds
Episode Artwork

Episode 433: Jay Kreps on ksqlDB

Jay Kreps, CEO and Co-founder of Confluent discusses ksqlDB which is a database built specifically for stream processing applications to query streaming events in Kafka with SQL like interface.
11/6/202058 minutes
Episode Artwork

Episode 432: brian d foy on Perl 7

brian d foy, author of many Perl books discusses what Perl 7 is, where it’s going, what you need to do to get ready and various pieces advice on making the most of your Perl and programming life.
10/30/20201 hour, 8 minutes, 52 seconds
Episode Artwork

Episode 431: Ken Youens-Clark on Learning Python

Felienne spoke with Youens-Clark about new features in Python, why you should teach testing to beginners from the start and the importance of the Python ecosystem.
10/23/20201 hour, 10 minutes, 27 seconds
Episode Artwork

Episode 430: Marco Faella on Seriously Good Software

Felienne interviews Marco Faella about his book ‘Seriously Good Software,’ which aims to teach programmers to use six key qualities to better analyze the quality of their code bases.
10/16/20201 hour, 6 minutes, 48 seconds
Episode Artwork

Episode 429: Rob Skillington on High Cardinality Alerting and Monitoring

Rob Skillington discusses the architecture, data management, and operational issues around monitoring and alerting systems with a large number of metrics and resources.
10/8/202057 minutes, 22 seconds
Episode Artwork

Episode 428: Matt Lacey on Mobile App Usability

Matt Lacey, author of the Usability Matters book discusses what mobile app usability is and why it can make or break an app destined for consumers, business users or in-house users and what you can do to make the best app possible.
9/30/20201 hour, 5 minutes, 23 seconds
Episode Artwork

Episode 427: Sven Schleier and Jeroen Willemsen on Mobile Application Security

Sven Schleier and Jeroen Willemsen from the OWASP Mobile Application Security Verification Standard and Testing Guide project discuss mobile application security and how the verification standard and testing guide can be used to improve your app’s...
9/23/20201 hour, 9 minutes, 22 seconds
Episode Artwork

Episode 426: Philip Kiely on Writing for Software Developers

Philip Kiely discusses his book Writing for Software Developers. Software development primarily involves writing code but strong written communication skills are critical. Technical comprehension is vital but solid written communication skills are also...
9/15/202052 minutes, 53 seconds
Episode Artwork

Episode 425: Paul Smith on The Crystal Programming Language and the Lucky Web Framework

Paul Smith discusses the Crystal Programming Language and the Lucky web framework with Jeremy Jung.
9/9/20201 hour, 12 minutes, 11 seconds
Episode Artwork

Episode 424: Sean Knapp on Dataflow Pipeline Automation

Sean Knapp of Ascend.io talks to Robert Blume about data pipeline automation with an orchestration layer.
9/2/202058 minutes, 15 seconds
Episode Artwork

423: Ryan Singer on Remote Work

Ryan Singer, Head of Strategy at Basecamp discusses the mindset and culture behind a successful remote work for engineers. Akshay spoke with Ryan about communication, collaboration and cultural aspects of working remotely.
8/25/202057 minutes, 42 seconds
Episode Artwork

Episode 422: Michael Geers on Micro Frontends

Kanchan spoke with Michael Geers on the Micro Frontends. Micro Frontends is an architectural style that aims to extends the benefits of microservices to UI.
8/17/202050 minutes, 58 seconds
Episode Artwork

Episode 421: Doug Fawley on gRPC

Doug Fawley of the gRPC project discusses gRPC with host Robert Blumen. Their conversation covers the HTTP layer, protobuf, and use cases within microservices architectures.
8/11/202049 minutes, 44 seconds
Episode Artwork

Episode 420: Ryan Ripley on Making Scrum Work

Kanchan spoke with Ryan Ripley about the pre-requisites for an organization to adopt scrum, need for management buy-in, the importance of scrum values and the key responsibilities of the roles defined by scrum and the anti-patterns to watch out for...
8/6/20201 hour, 10 minutes, 22 seconds
Episode Artwork

Episode 419: John Ellithorpe on the Role of a CTO

Host Kanchan Shringi spoke with Ellithorpe about defining the core essence of the CTO role, the skills that are key for success in the role, how to gain these skills and mentor others.
7/28/202055 minutes, 49 seconds
Episode Artwork

Episode 418: Functional Programming in Enterprise Applications

Vladimir Khorikov discusses functional programming in enterprise applications with Jeremy Jung.
7/22/20201 hour, 7 minutes, 8 seconds
Episode Artwork

Episode 417: Alex Petrov on Database Storage Engines

Alex Petrov, author of Database Internals explains the ins and outs of database storage engines. What are they? How do they differ? What problems do they solve? Host Adam Gordon Bell spoke with Alex about these questions as well as how information...
7/16/202055 minutes, 45 seconds
Episode Artwork

416: Adam Shostack on Threat Modeling

Adam Shostack of Shostack & Associates and author of Threat Modeling: Designing for Security discussed different approaches to threat modeling, the multiple benefits it can provide, and how it can be added to an organization’s existing software proc
7/9/20201 hour, 18 minutes, 20 seconds
Episode Artwork

Episode 415: Berkay on Incident Management

Berkay Mollamustafaoglu, founder of Ops Genie, discusses the keys to an effective incident management process. Many aspects of incident management are counter intuitive. Why does increasing the rate of change increase uptime? Why is culture the most...
6/30/20201 hour, 46 seconds
Episode Artwork

Episode 414: Jens Gustedt on Modern C

Jens Gustedt, author of the Modern C book discusses Modern C, what is legacy C and all aspects of the C programming world with its historic flaws, modern improvements and simple beauty.
6/23/20201 hour, 9 minutes, 36 seconds
Episode Artwork

Episode 413: Spencer Kimball on CockroachDB

Spencer Kimball talks to Akshay Manchale about CockroachDB which is a distributed, resilient, SQL database system. He talks about challenges of using single node databases and features and principles behind CockroachDB that make it a better alternative open source database.
6/16/202054 minutes, 57 seconds
Episode Artwork

Episode 412: Sam Gavis Hughson on Technical Interviews

Felienne spoke with Gavis-Hughson about how to prepare for the dreaded 'whiteboard interview'.
6/9/20201 hour, 1 minute, 40 seconds
Episode Artwork

Episode 411: Aaron Vonderhaar on Elm

Aaron Vonderhaar, maintainer and open source contributor to the Elm programming language, talks with host Adam Conrad about the Elm language, its foundations, features, and applications in the front end web development ecosystem.
5/28/20201 hour, 3 minutes, 1 second
Episode Artwork

Episode 410: Sara Leen on Localizing and Porting Japanese Games

Sara Leen discusses localizing, porting, and modernizing Japanese games with Jeremy Jung.
5/19/20201 hour, 12 minutes, 27 seconds
Episode Artwork

Episode 409: Joe Kutner on the Twelve Factor App

Joe Kutner, Software Architect for Heroku at Salesforce.com, spoke with host Kanchan Shringi about the 12-Factor App methodology, which aids development of modern apps that are portable, scalable, easy to test, and continuously deployable.
5/14/202055 minutes, 42 seconds
Episode Artwork

Episode 408: Mike McCourt on Voice and Speech Analysis

Felienne spoke with Mike McCourt on difficulties in processing voice data using machine learning.
5/4/202053 minutes, 17 seconds
Episode Artwork

Episode 407: Juval Lowy on Righting Software

Juval Löwy, Software Legend and Founder of IDesign discusses his recently published book, Righting Software, with host Jeff Doolittle. This episode focuses on Löwy’s belief that the software industry is in a deep crisis, evident from the numerous...
4/24/20201 hour, 2 minutes, 35 seconds
Episode Artwork

Episode 406: Torin Sandall on Distributed Policy Enforcement

Torin Sandall of Styra and Open Policy Agent discussed OPA and policy engines and how they can benefit software projects security and compliance. Host Justin Beyer spoke with Sandall about the benefits of removing authorization logic from your application...
4/14/202043 minutes, 10 seconds
Episode Artwork

Episode 405: Yevgeniy Brikman on Infrastructure as Code Best Practices

Yevgeniy Brikman, author of Terraform: Up & Running: Writing Infrastructure as Code and co-founder of Gruntwork talks with host Robert Blumen about how to apply best practices from software engineering to the development of infrastructure as code...
4/7/20201 hour, 25 seconds
Episode Artwork

Episode 404: Bert Hubert on DNS Security

Bert Hubert, author of the open source PowerDNS nameserver discusses DNS security and all aspects of the Domain Name System with its flaws and history.
3/26/20201 hour, 17 minutes, 35 seconds
Episode Artwork

Episode 403: Karl Hughes on Speaking at Tech Conferences

Felienne interviews Karl Hughes about doing tech talks. How to get into conferences and how to design and deliver a great talk.
3/18/20201 hour, 2 minutes, 53 seconds
Episode Artwork

Episode 402: Rich Harris on the Svelte JavaScript Framework

Rich Harris, author of the JavaScript module bundler Rollup, discusses his JavaScript framework Svelte as a high-performance alternative to mainstay frameworks like React, Angular, and Vue. We begin with a brief overview of the framework and how...
3/12/202056 minutes, 46 seconds
Episode Artwork

Episode 401: Jeremy Miller on Waterfall Versus Agile

Jeremy Miller, Senior Software Architect at Calavista Software, compares and contrasts his experiences with waterfall and agile methodologies. Host Jeff Doolittle spoke with Miller about the history of these methodologies and how teams can experience...
3/3/20201 hour, 6 minutes, 2 seconds
Episode Artwork

Episode 400: Michaela Greiler on Code Reviews

Michaela Greiler spoke with SE Radio’s Felienne about code review best practices and how to improve the effectiveness of your reviews.
2/26/202056 minutes, 9 seconds
Episode Artwork

Episode 399: Sumit Kumar on Building Maps using Leaflet

Sumit Kumar, Head of Engineering at SHARE NOW talks with Jeremy Jung about creating mapping applications in JavaScript using the Leaflet library.
2/20/20201 hour, 11 minutes, 2 seconds
Episode Artwork

Episode 398: Apache Kudu with Adar Leiber Dembo

Adar Leiber-Dembo talks to SE Radio’s Akshay Manchale about Apache Kudu, a system for fast analytics in a column-based storage system. They explore how to leverage Kudu for data analytics, as well as its rich feature set and integration options with other SQL and analytical engines.
2/12/202046 minutes, 52 seconds
Episode Artwork

Episode 397: Pat Helland on Data Management with Microservices.mp3

Pat Helland talks to host Akshay Manchale about Data Management at scale in a Microservices world. Pat talks about trends in managaging data in a distributed microservices world, immutability, idempotence, inside and outside data, descriptive...
2/6/202051 minutes, 32 seconds
Episode Artwork

Episode 396: Barry O’Reilly on Antifragile Architecture

Barry O’Reilly of Black Tulip Technology discusses Antifragile Architecture, an approach for designing systems that actually improve in the face of complexity and disorder.
1/24/20201 hour, 5 minutes, 16 seconds
Episode Artwork

Episode 395: Katharine Jarmul on Security and Privacy in Machine Learning

Katharine Jarmul of DropoutLabs discusses security and privacy concerns as they relate to Machine Learning. Host Justin Beyer spoke with Jarmul about attack types and privacy-protected ML techniques.
1/10/20201 hour, 5 minutes, 3 seconds
Episode Artwork

Episode 394: Chris McCord on Phoenix LiveView

Chris McCord, author of the Phoenix Framework and Programming Phoenix 1.4, discusses Phoenix's LiveView functionality to showcase the power or real-time applications without the need for writing a single line of JavaScript.
1/3/202052 minutes, 14 seconds
Episode Artwork

Episode 393: Jay Kreps on Enterprise Integration Architecture with a Kafka Event Log

Jay Kreps, CEO of Confluent, talks with Robert Blumen about how an enterprise integration architecture organized around a Kafka event log simplifies integration and enables rich forms of data sharing. #podcast #seradio #ieeecs #ComputerSociety
12/18/201958 minutes, 53 seconds
Episode Artwork

Episode 392: Stephen Wolfram on Mathematica

Stephen Wolfram, creator of Mathematica and Wolfram Alpha discusses the wolfram language, the language behind both projects. Host Adam Gordon Bell spoke with Stephen Wolfram about computing, computational essays, building a language, notebook based...
12/13/20191 hour, 2 minutes, 11 seconds
Episode Artwork

Episode 391: Jeremy Howard on Deep Learning and fast.ai

Jeremy Howard from fast.ai explains deep learning from concept to implementation. Thanks to transfer learning, individuals and small organizations can get state-of-the-art results on machine learning problems using the open source fastai library...
12/5/201957 minutes, 4 seconds
Episode Artwork

SE-Radio Episode 390: Sam Procter on Security in Software Design

Sam Procter of the SEI discusses architecture design languages, specifically Architecture Analysis and Design Language, and how we can leverage the formal modeling process to improve the security of our application design and improve applications overall.
11/26/201939 minutes, 55 seconds
Episode Artwork

Episode 389: Ryan Singer on Basecamp's Software Development Process

Ryan Singer on Basecamp’s “Shape Up” software development process. Basecamp has ditched the backlog and 2-week sprint in favor of solution “shaping” and strategic 6-week projects, using tools like scope mapping, checklists, and hill charts to understand and reduce risk.
11/18/20191 hour, 8 minutes, 14 seconds
Episode Artwork

Episode 388: Bob Kepford on Decoupled Content Management Systems

Bob Kepford discusses Decoupled CMS. Many CMS practitioners are adopting a decoupled approach to improve scale, allow for more specialized roles, and to separate data collection from delivery. Host Jeff Doolittle spoke with Kepford about what makes a Decoupled CMS different.
11/12/201949 minutes, 52 seconds
Episode Artwork

Episode 387: Abhinav Asthana on Designing and Testing APIs

Abhinav Asthana, a founding partner and CEO of the API development tool Postman, discusses API design and testing, where to start, which types of APIs to offer, what tools you can use, what features to expose and what is his favorite API to reference.
11/7/20191 hour, 5 minutes, 2 seconds
Episode Artwork

Episode 386: Building Low Latency Applications with WebRTC

WebRTC provides real time video and audio streaming capabilities to applications. Spencer Dixon explains the different parts of WebRTC and how they used it to build a pair programming application.
10/30/20191 hour, 9 minutes, 26 seconds
Episode Artwork

Episode 385: Evan Gilman and Doug Barth on Zero-Trust Networks

Evan Gilman and Doug Barth, authors of Zero-Trust Networks: building secure systems in untrusted networks discuss zero-trust networks.
10/22/201958 minutes, 7 seconds
Episode Artwork

Episode 384: Boris Cherny on TypeScript

Boris Cherny, author of Programming TypeScript, explains how TypeScript can scale JavaScript projects to larger teams, larger code bases, and across devices. Topics include: gradual typing, type refinement, structural typing, and interoperability...
10/16/201950 minutes, 8 seconds
Episode Artwork

Episode 383: Neil Madden On Securing Your API

Neil Madden, author of the API Security in Action book discusses the key requirements needed to secure an API, the risks to consider, models to follow and which task is the most important.
10/10/20191 hour, 11 minutes, 20 seconds
Episode Artwork

Episode 382: Michael Chan on Learning ReactJS

Michael Chan has been teaching React since 2013 and is the host of the React Podcast. He currently works at Ministry Centered Technologies as a Frontend Architect.
9/26/20191 hour, 6 minutes, 39 seconds
Episode Artwork

Episode 381: Josh Long on Spring Boot

Josh Long, developer advocate at Pivotal, discusses using Spring Boot to efficiently develop production ready enterprise web applications. Josh talks about working with different databases, and developing and testing microservices using Spring Boot.
9/23/20191 hour, 11 minutes, 43 seconds
Episode Artwork

Episode 380: Margaret Burnett on GenderMag

Felienne interviews Margaret Burnett on GenderMag, a systematic way to assess the inclusivity of software.
9/10/201956 minutes, 53 seconds
Episode Artwork

Episode 379: Claire Le Goues on Automated Program Repair

Felienne interviews Claire Le Goues about automatic program repair. Can programs repair themselves and what techniques are involved in that?
9/3/201956 minutes, 34 seconds
Episode Artwork

Episode 378: Joshua Davies on Attacking and Securing PKI

Joshua Davies discusses TLS, PKI vulnerabilities in the PKI, and the evolution of the PKI to make it more secure, with host Robert Blumen.
8/28/20191 hour, 11 minutes, 36 seconds
Episode Artwork

Episode 377: Heidi Howard on Distributed Consensus

Heidi Howard, a researcher in the field of distributed systems, discusses distributed consensus. Heidi explains when we need it, when we don't need and the algorithms we use to achieve it.
8/20/201949 minutes, 29 seconds
Episode Artwork

Episode 376: Justin Richer On API Security with OAuth 2

Justin Richer, lead author of the OAuth2 In Action book discusses the key technical features of the OAuth2 authorization protocol and the current best practices for selecting the right parts of it for your use case.
8/13/20191 hour, 13 minutes, 55 seconds
Episode Artwork

Episode 375: Gabriel Gonzalez on Configuration

Gabriel Gonzalez, the creator of Dhall the programmable configuration language, discusses configuration, why it is important and how we can make it better. Adam Gordon Bell spoke Gonzalez about Dhall, yaml, total functional programming and dealing...
8/7/201952 minutes, 2 seconds
Episode Artwork

Episode 374: Marcus Blankenship on Motivating Programmers

Motivation comes through relationships, safety, and environments which allow everyone to contribute.
7/24/201957 minutes, 34 seconds
Episode Artwork

Episode 373: Joel Spolsky on Startups Growth, and Valuation

Joel Spolsky on founding Stack Overflow, “land grabs” vs. “bootstrapping with profitability”, raising more money using “proof points”, what developers and companies get massively wrong, choosing your next job, and how to ask and answer on Stack Over
7/18/201951 minutes, 24 seconds
Episode Artwork

Episode 372: Aaron Patterson on the Ruby Runtime

Aaron Patterson of GitHub discusses the Ruby language and its runtime.  Host Jeremy Jung spoke with Aaron about the Ruby language and how it works.  They discuss the language virtual machine, concurrency, garbage collection, and JIT compilation.
7/12/20191 hour, 12 minutes, 7 seconds
Episode Artwork

Episode 371: Howard Chu on the Lightning Memory Mapped Database (LMDB)

Howard Chu, CTO of Symas Corp and chief architect of the OpenLDAP Project, discusses the key technical features of the Lightning Memory-mapped Database (LMDB) that make it one of the fastest, most efficient and safest embedded data stores in the world.
6/25/201948 minutes, 39 seconds
Episode Artwork

Episode 370: Chris Richardson on Microservice Patterns

Chris Richardson of microservices.io and author of the book Microservice Patterns discuss microservice patterns which constitute a set of best practices and building-block solutions to problems inherent microservice architecture.
6/18/20191 hour, 2 minutes, 29 seconds
Episode Artwork

Episode 369: Derek Collison on Messaging Systems and NATS

Learn how to simplify your application architecture with the introduction of a messaging system. You'll hear how different messaging patterns can make your application more flexible, easier to maintain, and improve its performance.
6/11/20191 hour, 9 minutes, 27 seconds
Episode Artwork

Episode 368: Bryan Helmig on Managing Distributed Teams

The use of distributed and remote software teams have grown dramatically in the past five years, presenting new challenges for managers and engineers alike. Bryan Helmig talks about the best practices his company, Zapier, uses to manage remote software...
5/30/20191 hour, 51 seconds
Episode Artwork

Episode 367: Diomidis Spinellis on Debugging

Felienne talks to Diomidis Spinellis about different forms of debugging. From using print-statements to version-control systems and operating system tools. We also discuss debugging strategies for different types of programming systems.
5/21/201953 minutes, 5 seconds
Episode Artwork

366: Test Automation with Arnon Axelrod

Arnon Axelrod speaks with SE Radio’s Simon Crossley about test automation, a large complex subject that most listeners will have at least some familiarity with. Axelrod has worked in software engineering and test automation in several high-tech companie...
5/16/201952 minutes, 54 seconds
Episode Artwork

365: Thorsten Ball on Building an Interpreter

Today's guest is Thorsten Ball, author of Writing an interpreter in Go as well as its sequel Writing a Compiler in Go. Thorsten lives near Frankfurt, Germany. Thorsten loves to deep dive into programming topics like programming languages, interpreters...
5/7/20191 hour, 4 minutes, 2 seconds
Episode Artwork

364: Peter Zaitsev on Choosing the Right Open Source Database

Peter Zaitsev explains: avoiding vendor lock-in, judging what databases are bad at, why not to copy the big players, when to "go with the crowd", when to use cloud services vs. running your own infrastructure, and the role of containerization.
4/30/20191 hour, 11 minutes, 17 seconds
Episode Artwork

363: Jonathan Boccara on Understanding Legacy Code

Jonathan Boccara, author of The Legacy Code Programmer’s Toolbox discusses understanding and working with legacy code. Working with legacy code is a key skill of professional software development that is often neglected.
4/16/20191 hour, 23 seconds
Episode Artwork

SE-Radio Episode 362: Simon Riggs on Advanced Features of PostgreSQL

Simon Riggs, founder and CTO of 2nd Quadrant, discusses the advanced features of the Postgres database, that allow developers to focus on applications whilst the database does the heavy lifting of handling large and diverse quantities of data.
4/10/201958 minutes, 1 second
Episode Artwork

SE-Radio Episode 361: Daniel Berg on Istio Service Mesh

Daniel Berg, a distinguished Engineer at IBM cloud unit, talks with host Nishant Suneja, about Istio service mesh and how it lets developers deploy microservices into the cloud in a secure, efficient fashion by taking away the burden of devops...
3/27/20191 hour, 6 minutes, 46 seconds
Episode Artwork

SE-Radio Episode 360: Pete Koomen on A/B Testing

Pete Koomen, Co-founder and CTO at Optimizely discusses A/B testing. Edaena Salinas spoke with Pete about how A/B testing is used in software products, and how A/B tests can be written. Pete explained the components of A/B testing and lessons learned from running over 200,000 A/B tests.
3/13/201956 minutes, 13 seconds
Episode Artwork

SE-Radio Episode 359: Engineering Maturity with Jean-Denis Greze

How can you scale an engineering organization when you haven’t already experienced rapid growth? Jean-Denis Greze of Plaid explains how to proactively enhance team capabilities and readiness by “leveling up” through a maturity map.
3/6/201957 minutes, 40 seconds
Episode Artwork

SE-Radio Episode 358: Probabilistic Data Structure for Big Data Problems

Dr. Andrii Gakhov, author of the book Probabilistic Data Structures and Algorithms for Big Data Applications talks about probabilistic data structures and their application to the big data domain with host Robert Blumen.
2/27/20191 hour, 19 seconds
Episode Artwork

SE-Radio Episode 357: Adam Barr on Code Quality

Felienne interviews Adam Barr about code quality? Why do programmers pick up bad habits about programming and what can be done to improve that?
2/20/20191 hour, 1 minute, 41 seconds
Episode Artwork

SE-Radio Episode 356: Tim Coulter on Truffle, Smart Contracts and DApp Development with Truffle, Truffle Ecosystem and Roadmap

Tim Coulter, the founder of Truffle (Ethereum DApp development framework) discusses the Truffle framework for Ethereum SmartContracts and Decentralized App development. Kishore Bhatia spoke with Tim Coulter about: Ethereum Decentralized Apps (DApps)...
2/14/20191 hour, 19 minutes, 54 seconds
Episode Artwork

SE-Radio Episode 355: Randy Shoup Scaling Technology and Organization

Randy Shoup talks with SE-Radio’s Travis Kimmel about how to scale technology and organizations together, so that an organization can move faster as they grow (and not slow down). Their discussion covers how to effectively scale culture, process...
2/8/20191 hour, 2 minutes, 59 seconds
Episode Artwork

SE-Radio Episode 354: Avi Kivity on ScyllaDB.mp3

Avi Kivity of Scylladb deep dives into the internals of Scylladb and what makes it a high performant version of Cassandra, a distributed key-value datastore. The discussion covers the architecture of Scylladb, its relationship with high performance...
2/1/20191 hour, 1 minute, 11 seconds
Episode Artwork

SE-Radio Episode 353: Max Neunhoffer on Multi-model databases and ArangoDB

Max Neunhoffer of ArangoDB discusses about multi-model databases in general, and open source ArangoDB, in specific, with show host Nishant Suneja. The show discussion covers motivation behind deploying a multi-model database in an enterprise setting, and deep dives into ArangoDB internals.
1/25/20191 hour, 21 minutes, 4 seconds
Episode Artwork

SE-Radio episode 352: Johanathan Nightingale on Scaling Engineering Management

Travis Kimmel talks with Johnathan Nightingale about scaling engineering management. Their discuss when to hire additional engineering managers and how to set them up for success, how leaders can prepare for “growing pains” as an organization scales,
1/16/20191 hour, 4 minutes, 41 seconds
Episode Artwork

Episode 351 - Bernd Rücker on Orchestrating Microservices with Workflow Management

Bernd Rücker, who has contributed to multiple open source workflow management projects, discusses orchestrating microservices with workflow management.  As distributed systems evolve into a family of microservices that must handle long-running stateful processes with time-dependent actions, events, multiple paths through the system, and complex rollbacks, the workflow management model provides a way to ensure clear modeling, correctness, and separation of concerns.   Rücker recommends a federated model in which each microservice is paired with its own workflow to handle retries and other policies and failure modes around that service.  Robert Blumen spoke with Rücker about microservice architecture, event-driven systems, long-running stateful processes versus synchronous request/response, event handling, time-outs, and handling exceptional conditions with compensating transactions. Rücker compares the choreography versus orchestration models for collaboration and discusses why orchestration provides a better separation of concerns.  The discussion delves into the implementation of workflow management systems including persistence, scaling, event handling, timers and scheduling, and similarities to CQRS.  The discussion wraps up with monitoring and visualization.
1/10/20191 hour, 4 minutes, 26 seconds
Episode Artwork

SE-Radio Episode 350: Vivek Ravisankar on HackerRank

Vivek Ravisankar, the CEO and founder of HackerRank spoke with SE Radio’s Kishore Bhatia about automated coding skills assessments and the HackeRank platform. Topics include: HackerRank as a coding skills assessment platform and how such platforms help in skills assessments and coding interviews - both for developers and employers. The interview also covers the journey from developer learning to getting assessed & recruited through these platforms. Learning from Vivek’s experience giving coding interviews and automating the process of technical screening for Hiring Software Engineers.
12/19/201848 minutes, 39 seconds
Episode Artwork

SE-Radio Episode 349: Gary Rennie on Phoenix

Gary Rennie, a core contributor to Phoenix and Plug, discusses the Phoenix, a web framework for Elixir. Host Nate Black talks with Gary about the parts of Phoenix, writing a Phoenix application, and troubleshooting performance issues.
12/12/20181 hour, 7 minutes, 41 seconds
Episode Artwork

SE-Radio Episode 348 Riccardo Terrell on Concurrency

Felienne interviews Riccardo Terrell on his book ‘Concurrency in .NET: Modern patterns of concurrent and parallel programming’ on concurrency, parallelism and immutability and common issues that developers run into when solving concurrent problems.
12/5/20181 hour, 37 seconds
Episode Artwork

SE-Radio Episode 347: Daniel Corbett on Load Balancing and HAProxy

Guest Daniel Corbett discusses how to scale your application with the help of load balancing. Hear details on HAProxy and the load balancing ecosystem as a whole.
11/28/201850 minutes, 11 seconds
Episode Artwork

SE-Radio Episode 346: Stephan Ewen on Streaming Architecture

Edaena Salinas talks with Stephen Ewen about streaming architecture. Stephen is one of the original creators of Apache Flink. Topics discussed: stream processing vs batch processing, architecture components of stream architectures, Apache Flink...
11/14/20181 hour, 2 minutes, 56 seconds
Episode Artwork

SE-Radio Episode 345: Tyler McMullen on Content Delivery Networks (CDNs)

Learn how to protect and speed up your application with the help of a Content Delivery Network. You'll also hear about advancements in CDNs that allow you to handle application logic and dynamic content at the edge.
11/7/20181 hour, 6 minutes, 44 seconds
Episode Artwork

SE-Radio Episode 344: Pat Helland on Web Scale

Edaena Salinas talks with Pat Helland about Web Scale. Pat is a Principal Software Architect at Salesforce where he works on a cloud based multi-tenant database technology. The discussion covers: Datacenters and hardware, DevOps, developing at scale, stateless vs stateful services, preparing a system for failures and sql vs nosql databases.
10/31/20181 hour, 1 minute, 17 seconds
Episode Artwork

SE-Radio Episode 343: John Crain on Ethereum and Smart Contracts

Kishore Bhatia discussed Ethereum and Smart Contracts with John Crain. Topics include: understanding the motivations for a decentralized computing model, Application architecture on Ethereum, development frameworks and tools. John’s experience developing and launching his own product Pixura on Ethereum mainnet, approaches,
10/24/20181 hour, 30 minutes, 59 seconds
Episode Artwork

SE Radio Episode 342 - István Lam on Privacy by Design with GDPR

István Lam of Tresorit talks with host Kim Carter about GDPR (the EU General Data Protection Regulation, which has been described as “the most important change in data privacy regulation in 20 years.”)  The discussion covers terminology, planning, implementation, users' rights regarding their personal data, managing personally identifiable information (PII) across an organization, and required documentation. István talks about establishing the intent of different types of PII; when data can be shared or sold, when PII can be stored; storage of backups, and the ability to reveal, modify, or remove all of a customer's PII.
10/18/201857 minutes, 18 seconds
Episode Artwork

SE-Radio 341: Michael Hausenblas on Container Networking

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).
10/10/20181 hour, 10 minutes, 30 seconds
Episode Artwork

SE-Radio Episode 340: Lara Hogan and Deepa Subramaniam on Revitalizing a Cross-Functional Product Organization

Travis Kimmel talks with Lara Hogan and Deepa Subramaniam about evidence-based tactics that product and engineering leaders can use to can use to diagnose problems that are holding back their teams, and build healthier, high-performing organizations.
10/3/201859 minutes, 23 seconds
Episode Artwork

SE-Radio Episode 339: Jafar Soltani on Continuous Delivery for Multiplayer Games.mp3

Jafar Soltani of Rare (Microsoft Studios) discusses Continuous Delivery in AAA Games and how it can increase quality, reduce crunch, and deliver games faster. Topics include implementation and architecture, asset and delivery pipelines, and special challenges of games.
9/26/20181 hour, 31 minutes, 41 seconds
Episode Artwork

SE-Radio Episode 338: Brent Laster on the Jenkins 2 Build Server

Brent Laster, author of a book on Jenkins 2, speaks with host Robert Blumen about the Jenkins 2 build server, CI/CD, DevOps and “pipeline as code”.
9/19/20181 hour, 2 minutes, 57 seconds
Episode Artwork

SE-Radio Episode 337: Ben Sigelman on Distributed Tracing

Ben Sigelman CEO of LightStep and co-author of the OpenTracing standard discusses distributed tracing, a form of event-driven observability for debugging distributed systems, understanding latency outlyers, and delivering "white box" analytics.
9/11/20181 hour, 2 minutes, 4 seconds
Episode Artwork

SE-Radio 336: Sasa Juric on Elixir

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
8/28/20181 hour, 39 minutes, 34 seconds
Episode Artwork

SE-Radio Episode 335: Maria Gorlatova on Edge Computing

Edaena Salinas talks with Maria Gorlatova about Edge Computing. Maria Gorlatova is an Associate Research Scholar at Princeton University Department of Electrical Engineering. The discussion covers: IoT, edge computing, the architecture of edge computing, running a machine learning model on the edge, and the benefits of edge computing.
8/20/201855 minutes, 38 seconds
Episode Artwork

SE-Radio Episode 334: David Calavera on Zero-downtime Migrations and Rollbacks with Kubernetes

Jeremy Jung talks with David Calavera about zero-downtime migrations and rollbacks with Kubernetes. In this episode we define migrations, rollbacks, and discuss how Netlify was able to migrate to Kubernetes and roll back off of it multiple times without impacting their users. David explains how developers can run old and new systems simultaneously, the importance of defining errors in your system, and when to apply fixes vs rolling back. We also discuss their decision to move to Kubernetes, and the benefits they received.
8/14/201858 minutes, 40 seconds
Episode Artwork

SE-Radio Episode 333: Marian Petre and André van der Hoek on Software Design.mp3

Felienne interviews Marian Petre & André van der Hoek on their book ‘Software Design Decoded’, which contains 66 scientifically backed insights for the design process.
8/6/20181 hour, 5 minutes, 40 seconds
Episode Artwork

SE-Radio Episode 332: John Doran on Fixing a Broken Development Process

Learn how a business that struggled with outages, performance problems, and an inability to ship overcame their problems by introducing monitoring, docker, continuous integration, and some fresh perspectives.
7/31/20181 hour, 3 minutes, 59 seconds
Episode Artwork

SE-Radio Episode 331: Kevin Goldsmith on Architecture and Organizational Design

Travis Kimmel and Kevin Goldsmith discuss the correspondence between organizational design and software architecture. Their conversation covers: what Conway’s Law is; Kevin’s experiences in different organizational structures (e.g., Avvo, Spotify, Adobe, and Microsoft) and how those structures influenced the software architecture; what the “Reverse Conway Maneuver” is and how organizations can leverage it; how organizations can evolve existing architectures.
7/24/20181 hour, 3 minutes, 1 second
Episode Artwork

SE-Radio Episode 330: Natalie Silvanovich on Attack Surface Reduction

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.
7/16/201856 minutes, 12 seconds
Episode Artwork

SE-Radio Episode 329 Andreas Stefik on Accessibility for the Visually

Felienne interviews Andreas Stefik about creating programs that are accessible for blind and visually impaired users. How do they consume and create software?
6/26/20181 hour, 36 seconds
Episode Artwork

SE-Radio Episode 328: Bruce Momjian on the Postgres Query Planner

Postgres developer Bruce Momjian joins Robert Blumen for a discussion of the SQL query optimizer in the Postgres RDBMS. They delve into the internals of query planning and look at how developers can make it work for their apps.
6/19/20181 hour, 3 minutes, 6 seconds
Episode Artwork

SE-Radio Episode 327: Glynn Bird on Developer Productivity with Open Source

Nate Black interviews Glynn Bird on using open source to develop your career or get a job, and how maximize productivity and learning. We discuss how to get your pull request accepted, how to make your own project successful, and how to survive updates.
6/12/20181 hour, 11 minutes
Episode Artwork

SE-Radio Episode 326 Dmitry Jeremov and Svetlana Isakova on the Kotlin Programming Language

Dmitry Jeremov and Svetlana Isakova speak to Matthew Farwell about the Kotlin programming language.
6/5/201857 minutes, 7 seconds
Episode Artwork

SE-Radio Episode 325: Tammy Butow on Chaos Engineering

Edaena Salinas talks with Tammy Butow about Chaos Engineering. Tammy is a Principal Site Reliability Engineer at Gremlin. The discussion covers: how Chaos Engineering emerged, the types of chaos that can be introduced to a system, and how to structure...
5/29/20181 hour, 3 minutes, 3 seconds
Episode Artwork

SE-Radio Episode 324: Marc Hoffmann on Code Test Coverage Analysis and Tools

What is code coverage, how can you measure it, and what are the pitfalls of this metric? Diomidis Spinellis talks with Marc Hoffmann, a key developer of the JaCoCo code coverage library for Java, on how code test coverage can improve software reliability
5/21/201851 minutes, 2 seconds
Episode Artwork

SE-Radio Episode 323: Lin Clark on WebAssembly

Lin Clark speaks to Matthew Farwell on WebAssembly
5/7/20181 hour, 2 minutes
Episode Artwork

SE-Radio Episode 322: Bill Venners on Property Based Tests

Bill Venners speaks to Matthew Farwell about Property Based Tests, how they can be used, when they should not be used. We also cover how to define a property, how to generate the data required for a property based test.
4/30/201858 minutes, 30 seconds
Episode Artwork

SE-Radio Episode 321: Péter Budai on End to End Encryption

Péter Budai and Kim Carter discuss End to End Encryption (E2EE), backdoors, the scenarios where E2EE can be and should be used. IM, VoIP, Email scenarios, interservice communication scenarios such as securing data in use.
4/10/20181 hour, 12 minutes, 10 seconds
Episode Artwork

SE-Radio Episode 320: Nate Taggart on Serverless Paradigm

Kishore Bhatia discusses with Nate Taggart about Serverless. Topics include: understanding the motivations for this computing model, deep dive learning about Serverless architecture, development frameworks and tools. Learn from Nate’s experience with Serverless paradigm developing Operations tools at Stackery and find out various approaches, challenges and best practices for architecting and building Serverless applications.
3/27/20181 hour, 33 minutes, 35 seconds
Episode Artwork

SE-Radio Episode 319: Nicole Hubbard on Migrating from VMs to Kubernetes

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...
3/13/201847 minutes, 57 seconds
Episode Artwork

SE Radio Episode 318: Veronika Cheplygina on Image Recognition

Felienne interviews Veronika Cheplygina about image recognition. We cover the basic concepts of computer vision, it’s applications and relationship to machine learning.
2/20/201852 minutes, 37 seconds
Episode Artwork

SE-Radio Episode 317: Travis Kimmel on Measuring Software Engineering Productivity

Kishore Bhatia talks with Travis Kimmel about Engineering Impact: In the age of data-driven decision making, how does one go about measuring, communicating, and improving engineering productivity? We’ll learn from Travis’ experience building data analytics tools in this space, with insights and best practices for engineering teams and business stakeholders for measuring value and productivity.
2/6/20181 hour, 9 minutes, 38 seconds
Episode Artwork

SE-Radio Episode 316: Nicolai Parlog on Java 9

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.
1/30/20181 hour, 7 minutes, 58 seconds
Episode Artwork

SE-Radio Episode 315: Jeroen Janssens on Tools for Data Science

Felienne interviews Jeroen Janssens about data science, examining the basic concepts, as well as the skills and tools needed to be(come) a data scientist.
1/23/201853 minutes, 1 second
Episode Artwork

SE-Radio Episode 314: Scott Piper on Cloud Security

Scott Piper and Kim Carter discuss Cloud Security. The Shared Responsibility Model, assets, risks, and countermeasures, evaluation techniques for comparing the security stature of CSPs. Scott discusses his FLAWS CTF engine. Covering tools Security Monkey and StreamAlert.
1/15/20181 hour, 13 minutes, 34 seconds
Episode Artwork

SE-Radio Episode 313: Conor Delanbanque on Hiring and Retaining DevOps

Kishore Bhatia talks with Conor Delanbanque about DevOps Hiring, building and retaining top talent in the DevOps space. Topics include DevOps as a special Engineering skill, building DevOps mindset and culture, challenges in hiring and retaining top talent and building teams and best practices for DevOps engineers and employers hiring for these skills.
12/18/20171 hour, 12 minutes, 35 seconds
Episode Artwork

SE-Radio Episode 312: Sachin Gadre on the Internet of Things

Edaena Salinas talks with Sachin Gadre about the internet of things. The discussion begins with an overview of what IoT is and how businesses are adopting it. It then explores the architecture of an IoT application and the security implications of these systems.
12/12/201748 minutes, 50 seconds
Episode Artwork

SE-Radio Episode 311: Armon Dadgar on Secrets Management

Armon Dadgar speaks to Matthew Farwell about Secrets Management.
12/5/201756 minutes, 44 seconds
Episode Artwork

SE-Radio Episode 310: Kirk Pepperdine on Performance Optimization

Kirk Pepperdine talks with Diomidis Spinellis about performance optimization. Topics include development practices, tools, as well as the role of software architecture, programming languages, algorithms, and hardware advances.
11/28/201755 minutes, 24 seconds
Episode Artwork

SE-Radio-Episode-309-Zane-Lackey-on-Application-Security

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.
11/13/20171 hour, 11 minutes, 49 seconds
Episode Artwork

SE Radio Episode 308: Gregor Hohpe on It Architecture and IT Transformation

Bryan Reinero talks with Gregor Hohpe about IT Transformation, the process by which organizations adapt and reorganize themselves in response to evolution and how the Enterprise Architect leads that transformation.
11/8/20171 hour, 39 seconds
Episode Artwork

SE-Radio Episode 307: Harsh Sinha on Product Management

Bryan Reinero talks with Harsh Sinha, VP of  Engineering at TransferWise, about Product Management. Mr. Sinha details how requirements are derived from user needs, how to measure product success, and how successful product management is done.
10/30/20171 hour, 27 seconds
Episode Artwork

SE-Radio Episode 306: Ron Lichty on Managing Programmers

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.
10/16/20171 hour, 2 minutes, 21 seconds
Episode Artwork

SE-Radio Episode 305: Charlie Berger on Predictive Applications

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.
10/9/20171 hour, 2 minutes, 48 seconds
Episode Artwork

SE-Radio Episode 304: Evgeny Shadchnev on Code Schools

Felienne talks with Evgeny Shadchnev about Code Schools, programs that prepare people to become a software developer in a few months. This episode explores the idea of code schools. Can we really teach programming in a few months rather than in a few years in university? Who teaches at those programs? Who attends them? What are their business models and should we teach programming online or offline?
9/25/201753 minutes, 26 seconds
Episode Artwork

SE-Radio Episode 303: Zachary Burt on Freelancing as a Career Option

Felienne interviews Zachary Burt about freelancing as a career option. How does freelancing differ from employment? How to do personal marketing and sales? How to find a work-life balance when you are self-employed? We also cover practical tips like deciding on an hourly rate and managing demanding customers.
9/18/20171 hour, 3 minutes, 28 seconds
Episode Artwork

SE-Radio Episode 302: Haroon Meer on Network Security

Founder of Thinkst, Haroon Meer talks with Kim Carter about Network Security. Topics include how attackers are gaining footholds into our networks, moving laterally, and exfilling our precious data, as well as why we care and what software engineers can do about it.
9/11/20171 hour, 13 minutes, 23 seconds
Episode Artwork

SE-Radio Episode 301: Jason Hand Handling Outages

Bryan Reinero talks with Jason Hand about handling outages and responding to failures. The episode explores basic problem-solving strategies and diagnostic techniques, organizing teams to address incidents efficiently, communicating with stakeholders, learning from incidents, and managing stress.
8/28/20171 hour, 3 minutes, 26 seconds
Episode Artwork

SE-Radio Episode 300: Jonathan Stark on Mobile App Development

Nate Black talks with Jonathan Stark about platforms for mobile development, making decisions about how to develop mobile apps, how to deploy mobile apps, native apps vs. progressive web apps, React Native, and the future of mobile applications.
8/15/20171 hour, 10 minutes, 52 seconds
Episode Artwork

SE-Radio Episode 299: Edson Tirelli on Rules Engines

Robert Blumen talks to Edson Tirelli about business rules, rules engines, and the JBoss Drools engine.
8/7/201757 minutes, 51 seconds
Episode Artwork

SE-Radio Episode 298: Moshe Vardi on P versus NP

Felienne talks with Moshe Vardi about P versus NP. Why is this problem so central to computer science? Are we close to solving it?  Is it necessary to solve it? Progress toward computing hard problems efficiently with SAT solvers.  How SAT solvers work,; applications of SAT like formal verification.
7/25/201750 minutes, 43 seconds
Episode Artwork

SE-Radio-Episode-297:-Kieren-James-Lubin-on-Blockchain

Kishore Bhatia talks with Kieren James-Lubin about Blockchains. Topics include Blockchains, Cryptocurrency, Bitcoin, Ethereum, Smart Contract development with Solidity, ICO’s and Tokens.
7/18/201753 minutes, 25 seconds
Episode Artwork

SE-Radio Episode 296: Type Driven Development with Edwin Brady

Edwin Brady speaks to Matthew Farwell about Type Driven Development and the Idris Programming language. The show covers: what a type is; static vs dynamic types in programming languages; dependent types; the Idris programming language; why Idris was created. Type safe printf modelling state in Idris modelling protocols in Idris modelling concurrency in Idris type driven development and how it changes the development process.
7/10/201758 minutes, 25 seconds
Episode Artwork

SE-Radio Episode 295: Michael Feathers on Legacy Code

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.
6/27/201758 minutes, 24 seconds
Episode Artwork

SE-Radio-Episode-294-Asaf-Yigal-on-Machine-Learning-in-Log-Analysis

Asaf Yigal talks with SE Radio’s Edaena Salinas about machine learning in log analysis. The discussion starts with an overview of the structure of logs and what information they can contain. Asaf discusses what the log analysis process looks like without machine learning -- and the role of humans in this – before moving on to how the process is improved by incorporating external resources using machine learning. Topics include: log analysis, machine learning, operations.
6/19/201740 minutes, 41 seconds
Episode Artwork

SE-Radio Episode 293: Yakov Fain on Angular

Yakov Fain talks with SE Radio’s Matthew Farwell about the Angular web development framework. The show covers the philosophy behind Angular; who would want to use the framework; how an Angular application is composed, including how to handle form submission and validation; why Typescript was chosen for Angular; how Angular uses reactive programming (RxJS, in particular); how to test an Angular application; security concerns of web applications; who developed Angular and how it is supported, and performance considerations of an Angular application.
6/5/201755 minutes, 58 seconds
Episode Artwork

SE-Radio Episode 292: Philipp Krenn on Elasticsearch

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.
5/30/201755 minutes, 24 seconds
Episode Artwork

SE-Radio Episode 291: Morgan Wilde on LLVM

Morgan Wilde talks with SE Radio’s Jeff Meyerson about the LLVM compiler toolchain. They begin with a discussion of how a compiler works and how compiled code executes against different processor architectures. Using the JVM as a model for interoperability, they move on to how LLVM is a system that optimizes an intermediate representation (IR), which is similar to the Java bytecode: every programming language that compiles down to IR can leverage the same optimizations of that IR. The conversation concludes with a discussion of applications of LLVM and the future of the ecosystem.
5/15/201753 minutes, 44 seconds
Episode Artwork

SE-Radio Episode 290: Diogo Mónica on Docker Security

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.
5/8/20171 hour, 9 minutes, 19 seconds
Episode Artwork

SE-Radio Episode 289: James Turnbull on Declarative Programming with Terraform

James Turnbull joins Robert Blumen for a discussion of Terraform, an infrastructure-as-code tool, and a deep dive into how Terraform implements the declarative programming model.
4/25/20171 hour, 1 minute, 14 seconds
Episode Artwork

SE-Radio Episode 288: DevSecOps

Francois Raynaud and Kim Carter cover moving to DevSecOps from traditional delivery approaches. Shifting security focus up front. Building a development team with not only development specialties, but also security and operations.
4/18/20171 hour, 17 minutes, 22 seconds
Episode Artwork

SE-Radio-Episode-287:-Success-Skills-for-Architects-with-Neil-Ford

Neal Ford chats with Kim Carter about the required skills of a Software Architect, creating and maintain them, transition roles. The importance of history, developing soft skills, and dealing with losing technical skills.
4/11/20171 hour, 5 minutes, 52 seconds
Episode Artwork

SE-Radio-Episode-286-Katie-Malone-Intro-to-Machine-Learning

Show host Edaena Salinas talks with Katie Malone about Machine Learning.  Katie Malone is a Data Scientist in the Research and Development department at Civis Analytics. She is also an instructor of the Intro to Machine Learning online course from Udacity and host of Linear Digressions, a podcast about machine learning. Topics include: machine learning, data science, a career in machine learning.
3/28/201748 minutes, 46 seconds
Episode Artwork

SE-Radio Episode 285: James Cowling on Dropbox’s Distributed Storage System

James Cowling of Dropbox tells Robert Blumen about their massive migration from Amazon’s S3 to their own distributed storage system.
3/14/201745 minutes, 58 seconds
Episode Artwork

SE-Radio Episode 284: John Allspaw on System Failures: Preventing, Responding, and Learning From

John Allspaw CTO of Etsy speaks with Robert Blumen about systemic failures and outages. Why they cannot be totally prevented, how to respond, and what we can learn from them.
3/7/201751 minutes, 43 seconds
Episode Artwork

SE-Radio Episode 283: Alexander Tarlinder on Developer Testing

Felienne talks with Alexander Tarlinder on how to test as a developer. What can and should developers test?
2/28/20171 hour, 9 minutes, 42 seconds
Episode Artwork

SE-Radio-Episode-282-Donny-Nadolny-on-Debugging-Distributed-Systems

Donny Nadolny of PagerDuty joins Robert Blumen to tell the story of debugging an issue that PagerDuty encountered when they set up a Zookeeper cluster that spanned across two geographically separated datacenters in different regions.
2/14/20171 hour, 8 minutes, 28 seconds
Episode Artwork

SE-Radio-Episode-281-James-Whittaker-on-Career-Strategy

Edaena Salinas talks with James Whittaker about Career Strategy in the technology field. James is a Distinguished Technical Evangelist at Microsoft and author of “How Google Tests Software” and the viral blog post “Why I left Google”. Topics include: Career Management, the role of mentors and managers in your career, a discussion on 1:1 meetings, job specialization and advice on when to switch jobs.
2/7/201749 minutes, 36 seconds
Episode Artwork

SE-Radio-Episode-280-Gerald-Weinberg-on-Bugs-Errors-and-Software-Quality

Host Marcus Blankenship talks with Gerald Weinberg about his new book, Errors: Bugs, Boo-boos, and Blunders, focusing on why programmers make errors, how teams can improve their software, and how management should think of and discuss errors.
1/24/201757 minutes, 38 seconds
Episode Artwork

SE-Radio Episode 279: Florian Gilcher on Rust

Eberhard talks with Florian Gilcher about the programming language Rust. Rust originates from Mozilla research. Its focus is on system programming and it is often used to replace C or C++. Topics include the concepts behind Rust; concurrent and safe programming; advanced and unique features like ownership and borrowing; the rust type system (which supports other features like traits, generics and macros). The show finishes with: the evolution of Rust based, features of libraries, and how the community works.
1/10/20171 hour, 10 minutes, 41 seconds
Episode Artwork

SE-Radio Episode 278: Peter Hilton on Naming

Felienne talks with Peter Hilton on how to name things. The discussion covers: why naming is much harder than we think, why naming matters in programming and program comprehension, how to create good names, and recognize bad names, and how to improve your naming skills.
12/20/201649 minutes, 26 seconds
Episode Artwork

SE-Radio Episode 277: Gil Tene on Tail Latency

Gil Tene joins Robert Blumen for a discussion of tail latency. What is latency? What is "tail latency"? Why are the upper percentiles of latency more relevant to humans? How is human interaction with an application influenced by tail latency? What are the economics of tail latency? What are the origins of tail latency within a system? What is the difference between response time and service time? How does queuing within a system contribute to response time? Java garbage collection and its contribution to latency outliers. How can we build systems with bounded tail latency out of components with variable latency? What type of observability to do we need to build systems with bounded latency? How is latency a driver of capacity planning?
12/14/20161 hour, 3 minutes, 17 seconds
Episode Artwork

SE-Radio-Episode-276-Björn-Rabenstein-on-Site-Reliability-Engineering

Björn Rabenstein discusses the field of Site Reliability Engineering (SRE) with host Robert Blumen. The term SRE has recently emerged to mean Google's approach to DevOps. The publication of Google's book on SRE has brought many of their practices into more public discussion. The interview covers: what is distinct about SRE versus devops; the SRE focus on development of operational software to minimize manual tasks; the emphasis on reliability; Dickerson's hierarchy of reliability; how reliability can be measured; is there such a thing as too much reliability?; can Google's approach to SRE be applied outside of Google?; Björn's experience in applying SRE to Soundcloud - what worked and what did not; how can engineers best apply SRE to their organizational situation?; the importance of monitoring; monitoring and alerting; being on call, responding to incidents; the importance of documentation for responding to problems; they wrap up with a discussion of why people from non-computer science backgrounds are often found in devops and SRE.
12/6/201657 minutes, 24 seconds
Episode Artwork

SE-Radio-Episode-275:-Josh-Doody-on-Salary-Negotiation-for-Software-Engineers

Marcus Blankenship talks with Josh Doody about salary negotiation. Topics include a framework for thinking about salary negotiations, how you can know what you're worth, the employers view of salary negotiation, and missed negotiation opportunities. Also discussed are common fears about negotiating and how to overcome them, common mistakes during negotiations, and how negotiation makes your more desirable as an employee.
11/22/20161 hour, 5 minutes, 10 seconds
Episode Artwork

SE-Radio-Episode-274-Sam-Aaron-on-Sonic-Pi

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.
11/8/20161 hour, 1 minute, 2 seconds
Episode Artwork

SE-Radio-Episode-273-Steve-McConnell-on-Software-Estimation

Sven Johann talks with Steve McConnell about Software Estimation. Topics include when and why businesses need estimates and when they don’t need them; turning estimates into a plan and validating progress on the plan; why software estimates are always full of uncertainties, what these uncertainties are and how to deal with them. They continue with: estimation, planning and monitoring a Scrum project from the beginning to a possible end. They close with estimation techniques in the large (counting, empirical data) and in the small (e.g. poker planning).
11/1/20161 hour, 7 minutes, 4 seconds
Episode Artwork

SE-Radio Episode 272: Frances Perry on Apache Beam

Jeff Meyerson talks with Frances Perry about Apache Beam, a unified batch and stream processing model. Topics include a history of batch and stream processing, from MapReduce to the Lambda Architecture to the more recent Dataflow model, originally defined in a Google paper. Dataflow overcomes the problem of event time skew by using watermarks and other methods discussed between Jeff and Frances. Apache Beam defines a way for users to define their pipelines in a way that is agnostic of the underlying execution engine, similar to how SQL provides a unified language for databases. This seeks to solve the churn and repeated work that has occurred in the rapidly evolving stream processing ecosystem.
10/25/201657 minutes, 42 seconds
Episode Artwork

SE-Radio Episode 271: Idit Levine on Unikernelsl

Jeff Meyerson talks to Idit Levine about Unikernels and unik, a project for compiling unikernels. The Linux kernel contains features that may be unnecessary to many application developers--particularly if those developers are deploying to the cloud. Unikernels allow programmers to specify the minimum features of an operating system we need to deploy our applications. Topics include the the Linux kernel, requirements for a cloud operating system, and how unikernels compare to Docker containers.
10/11/201652 minutes, 51 seconds
Episode Artwork

SE-Radio Episode 270: Brian Brazil on Prometheus Monitoring

Jeff Meyerson talks with Brian Brazil about monitoring with Prometheus, an open source tool for monitoring distributed applications. Brian is the founder of Robust Perception, a company offering Prometheus engineering and consulting. The high level goal of Prometheus is to allow developers to focus on services rather than individual instances of a given service. Prometheus is based off of the Borgmon monitoring tool, widely used at Google, where Brian previously worked. Jeff and Brian discuss the tradeoffs of choosing not to replicate our monitoring data. In some situations, the monitoring system will lose data because of this decision. Other topics that are discussed are distributed consensus tools, integrations with Prometheus, and the broader topic of monitoring itself.
10/4/201651 minutes, 51 seconds
Episode Artwork

SE-Radio-Episode-269-Phillip-Carter-on-F#

Eberhard Wolff talks with Phillip Carter about F# - a multi-paradigm programming language supporting object-oriented, imperative, and functional programming paradimgs. Its unique features make it especially fit for parallel programming or DSLs.
9/27/201652 minutes, 8 seconds
Episode Artwork

SE-Radio Episode 268: Kief Morris on Infrastructure as Code

Kief Morris talks to Sven Johann about Infrastructure as Code and why it is important in the “Cloud Age”. Kief talks about the practices and benefits and why you should treat your servers as cattles, not pets.
9/13/201659 minutes, 54 seconds
Episode Artwork

SE-Radio-Episode-267-Jürgen-Höller-on-Reactive-Spring-and-Spring-5.0

Eberhard Wolff talks with Jürgen Höller about Reactive Spring. Reactive programming is a hot topic, but adoption has been slow in the enterprise. Spring 5 incorporates Reactor and the RxJava API to help Java developers build scalable high-performance web applications. The discussion explores architectural challenges, transactions, porting existing applications, and increased code complexity.
9/6/201653 minutes, 18 seconds
Episode Artwork

SE-Radio-Episode-266:-Charles-Nutter-on-the-JVM-as-a-Language-Platform

Charles Nutter from the JRuby project talks to Charles Anderson about JRuby and the Java Virtual Machine (JVM) as a platform for implementing programming languages. They begin by discussing the Java platform beyond just the Java language. As a case study in implementing a language other than Java on the JVM, they discuss JRuby - what it is and how it’s implemented on the JVM. They discuss recent additions to the Java platform like the invoke-dynamic byte code and lambdas in Java 8. The conversation concludes by discussing the future of the Java language, platform, and virtual machine.
8/16/201658 minutes, 9 seconds
Episode Artwork

SE-Radio-Episode-265-Pat-Kua-on-Becoming-a-Tech-Lead

Johannes Thönes talks to Patrick Kua about the role of a technical lead and how to become one. The show starts with introducing the concept of a lead and contrasts the lead role with other roles, such as technical manager, architect and senior developer.  The discussion continues to the responsibilities of a tech lead (supporting engineering practices, managing, resolving conflict, and growing people). The discussion continues on to talk about the challenges of becoming a tech lead and how to overcome them and closes with the question: “how can you tell if you are succeeding as a tech lead”?
8/5/20161 hour, 1 minute, 28 seconds
Episode Artwork

SE-Radio Episode 264: James Phillips on Service Discovery

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.
8/2/201655 minutes, 29 seconds
Episode Artwork

Camille Fournier on Real-World Distributed Systems

Stefan Tilkov talks to Camille Fournier about the challenges developers face when building distributed systems, whether the can avoid building them at all, and what changes occur once they do.
7/19/201659 minutes, 21 seconds
Episode Artwork

SE-Radio Episode 262: Software Quality with Bill Curtis

Sven Johann talks with Bill Curtis about Software Quality. They discuss examples of failed systems like Obama Care; the role of architecture; move an org from chaos to innovation; relation between Lean, quality improvement and CMM; Team Software Process.
7/12/20161 hour, 8 minutes, 13 seconds
Episode Artwork

SE-Radio-Episode-261:-David-Heinemeier-Hansson-on-the-State-of-Rails,-Monoliths,-and-More

David Heinemeier Hansson, creator of the Ruby on Rails framework and a partner at the software development company Basecamp, talks to Stefan Tilkov about the state of Ruby on Rails and its suitability for long-term development. He addresses some of its common criticisms, such as perceived usefulness for only simple problems, claimed lack of scalability, and increasing complexity. David also talks about the downsides of building JavaScript-centric, “sophisticated” web UIs, and why he prefers well-structured, “majestic” monoliths to microservices.
6/28/20161 hour, 3 minutes, 1 second
Episode Artwork

SE-Radio Episode 260: Haoyuan Li on Alluxio

Jeff Meyerson talks to Haoyuan Li about Alluxio, a memory-centric distributed storage system. The cost of memory and disk capacity are both decreasing every year–but only the throughput of memory is increasing exponentially. This trend is driving opportunity in the space of big data processing. Alluxio is an open source, memory-centric, distributed, and reliable storage system enabling data sharing across clusters at memory speed. Alluxio was formerly known as Tachyon. Haoyuan is the creator of Alluxio. Haoyuan was a member of the Berkeley AMPLab, which is the same research facility from which Apache Mesos and Apache Spark were born. In this episode, we discuss Alluxio, Spark, Hadoop, and the evolution of the data center software architecture.
6/14/201644 minutes, 25 seconds
Episode Artwork

SE-Radio-Episode-259:-John-Purrier-on-OpenStack

John Purrier talks with Jeff Meyerson about OpenStack, an open-source cloud operating system for managing compute resources. They explore infrastructure-as-a-service, platform-as-a-service, virtualization, containers, and the future of systems development and management.
6/7/201656 minutes, 13 seconds
Episode Artwork

SE-Radio Episode 258: Cody Voellinger on Recruiting Software Engineers

Robert Blumen talks with Cody Voellinger, the founder of a recruiting firm that specializes in filling software engineer roles for San Francisco-area startups, about how jobs are created and how companies and engineers get matched up. Their discussion covers the entire job search process, from job descriptions to salary negotiations. They look at the job market from both sides: how companies define what they want, find the right people, and evaluate candidates, and how job seekers can position themselves for the role they want. Other topics include culture fit versus skill and resumes in an age of social networking. They conclude with a look at the mistakes that job seekers, recruiters, and companies should avoid.
5/24/201659 minutes, 41 seconds
Episode Artwork

SE-Radio Episode 257: Michael Nygard on Clojure in Practice

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.
5/17/201657 minutes, 28 seconds
Episode Artwork

SE-Radio Episode 256: Jay Fields on Working Effectively with Unit Tests

5/3/201651 minutes, 23 seconds
Episode Artwork

SE-Radio-Episode-255:-Monica-Beckwith-on-Java-Garbage-Collection

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.
4/26/201652 minutes, 43 seconds
Episode Artwork

SE-Radio Episode 254: Mike Barker on the LMAX Architecture

Mike Barker talks with Sven Johann about the architecture of the LMAX system. LMAX is a low-latency, high-throughput trading platform. Their discussion begins with what LMAX does; the origins of LMAX; and extreme performance requirements faced by LMAX. They then delve into systems that LMAX communicates with; LMAX users; the two main components of the system (broker and exchange); Mechanical Sympathy as an architectural driver; message flow using the Disruptor library; and lock-free algorithms. Mike and Sven wrap up by discussing how a well modeled domain model can improve the performance of any system; automated (performance) tests; continuous delivery; and measuring response times.
4/11/20161 hour, 2 seconds
Episode Artwork

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.
3/23/201655 minutes, 36 seconds
Episode Artwork

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.
3/15/201655 minutes
Episode Artwork

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.
3/3/201652 minutes, 26 seconds
Episode Artwork

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?
2/22/201643 minutes, 23 seconds
Episode Artwork

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

2/11/20161 hour, 2 minutes, 15 seconds
Episode Artwork

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.
1/28/20161 hour, 3 minutes, 13 seconds
Episode Artwork

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.
1/20/20161 hour, 4 minutes, 41 seconds
Episode Artwork

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
1/7/201657 minutes, 19 seconds
Episode Artwork

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

12/28/201554 minutes, 12 seconds
Episode Artwork

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.
12/16/201552 minutes, 10 seconds
Episode Artwork

SE-Radio Episode 243: RethinkDB with Slava Akhmechet

11/20/201557 minutes, 2 seconds
Episode Artwork

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

11/13/20151 hour, 3 minutes, 52 seconds
Episode Artwork

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

11/3/20151 hour, 1 minute, 15 seconds
Episode Artwork

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

10/22/20151 hour, 8 minutes, 38 seconds
Episode Artwork

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

10/2/20151 hour, 16 minutes, 35 seconds
Episode Artwork

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

9/22/20151 hour, 2 minutes, 44 seconds
Episode Artwork

Episode 238: Linda Rising on the Agile Brain

9/11/20151 hour, 6 minutes, 24 seconds
Episode Artwork

SE-Radio Episode 236: Rebecca Parsons on Evolutionary Architecture

8/21/201555 minutes
Episode Artwork

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

0 0 1 85 489 IEEE 4 1 573 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;} 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.
8/17/201549 minutes, 17 seconds
Episode Artwork

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

8/4/20151 hour, 1 minute, 50 seconds
Episode Artwork

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

7/28/201551 minutes, 19 seconds
Episode Artwork

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

7/16/20151 hour, 7 minutes
Episode Artwork

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

7/1/201557 minutes, 23 seconds
Episode Artwork

Episode 230: Shubhra Khar on NodeJS

6/26/201557 minutes, 28 seconds
Episode Artwork

Episode 229: Flavio Junqueira on Distributed Coordination with Apache ZooKeeper

0 0 1 120 685 IEEE 5 1 804 14.0 Normal 0 false false false EN-US JA X-NONE /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-priority:99; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin-top:0in; mso-para-margin-right:0in; mso-para-margin-bottom:10.0pt; mso-para-margin-left:0in; line-height:115%; mso-pagination:widow-orphan; font-size:11.0pt; font-family:Calibri; mso-ascii-font-family:Calibri; mso-ascii-theme-font:minor-latin; mso-hansi-font-family:Calibri; mso-hansi-theme-font:minor-latin;}  
6/16/201549 minutes, 36 seconds
Episode Artwork

Episode 228: Software Architecture Sketches with Simon Brown

6/10/201556 minutes, 36 seconds
Episode Artwork

Episode-227:-Eric-Brewer:-The-CAP-Theorem,-Then-and-Now

5/27/201545 minutes, 53 seconds
Episode Artwork

Episode-226-Eric-Evans-on-Domain-Driven-Design-at-10-Years

5/13/201554 minutes, 26 seconds
Episode Artwork

Episode 225 Brendan Gregg on Systems Performance

4/14/20150
Episode Artwork

Episode 224: Sven Johann and Eberhard Wolff on Technical Debt

3/31/201556 minutes, 58 seconds
Episode Artwork

Episode 223: Joram Barrez on the Activiti Business Process Management Platform

Josh Long talks to Activiti cofounder Joram Barrez about the wide world of (open source) workflow engines, the Activiti BPMN2 engine, and what workflow implies when you’re building process-driven applications and services. Joram was originally a contributor to the jBPM project with jBPM founder Tom Baeyens at Red Hat. He cofounded Activiti in 2010 at […]
3/18/20151 hour, 2 minutes, 17 seconds
Episode Artwork

Episode 222: Nathan Marz on Real-Time Processing with Apache Storm

Nathan Marz is the creator of Apache Storm, a real-time streaming application. Storm does for stream processing what Hadoop does for batch processing. The project began when Nathan was working on aggregating Twitter data using a queue-and-worker system he had designed. Many companies use Storm, including Spotify, Yelp, WebMD, and many others. Jeff and Nathan […]
3/6/201557 minutes, 22 seconds
Episode Artwork

Episode 221: Jez Humble on Continuous Delivery

Johannes Thönes interviews Jez Humble, senior vice president at Chef, about continuous delivery (CD). They discuss continuous delivery and how it was done at Go, CD, and HP firmware; the benefits of continuous delivery for developers; Conway’s law and cross-functional teams; scary releases and nonscary releases; fix-forward, blue-green deployments, and A/B testing; origins of continuous […]
2/24/20151 hour, 5 minutes, 46 seconds
Episode Artwork

Episode 220: Jon Gifford on Logging and Logging Infrastructure

Robert Blumen talks to Jon Gifford of Loggly about logging and logging infrastructure. Topics include logging defined, purposes of logging, uses of logging in understanding the run-time behavior of programs, who produces logs, who consumes logs and for what reasons, software as the consumer of logs, log formats (structured versus free form), log meta-data, logging […]
2/18/201554 minutes, 13 seconds
Episode Artwork

Episode 219: Apache Kafka with Jun Rao

Jeff Meyerson talks to Jun Rao, a software engineer and researcher (formerly of LinkedIn). Jun has spent much of his time researching MapReduce, scalable databases, query processing, and other facets of the data warehouse. For the past three years, he has been a committer to the Apache Kafka project. Jeff and Jun first compare streaming […]
2/9/20151 hour, 3 minutes, 1 second
Episode Artwork

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, […]
1/30/20151 hour, 2 minutes, 28 seconds
Episode Artwork

Episode 217: James Turnbull on Docker

James Turnbull joins Charles Anderson to discuss Docker, an open source platform for distributed applications for developers and system administrators. Topics include Linux containers and the functions they provide, container images and how they are built, use cases for containers, and the future of containers versus virtual machines. Venue: Internet Related Links James’s home page: […]
1/7/20151 hour, 1 minute, 40 seconds
Episode Artwork

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 […]
12/9/20141 hour, 9 minutes, 25 seconds
Episode Artwork

Episode 215: Gang of Four – 20 Years Later

Johannes Thönes talks with Erich Gamma, Ralph Johnson and Richard Helm from the Gang of Four about the 20th anniversary of their book Design Patterns. They discuss the following topics: the definition of a design pattern and each guest’s favorite design pattern; the origins of the book in architecture workshops; the writing of the book […]
11/20/20141 hour, 12 minutes, 38 seconds
Episode Artwork

Episode 214: Grant Ingersoll on his book, Taming Text

Grant Ingersoll, founder and CTO of LucidWorks, talks with Tobias Kaatz about his book Taming Text: How to Find, Organize, and Manipulate It. They begin by discussing popular existing systems for the automated understanding of contextual information. One such system, IBM Watson, drew attention for its victory in the “Jeopardy” game show. They proceed to […]
11/11/20141 hour, 4 minutes, 21 seconds
Episode Artwork

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 […]
10/29/20141 hour, 2 minutes, 53 seconds
Episode Artwork

Episode 212: Randy Shoup on Company Culture

Tobias Kaatz talks to former Kixeye CTO Randy Shoup about company culture in the software industry in this sequel to the show on hiring in the software industry (Episode 208). Prior to Kixeye, Randy worked as director of engineering at Google for the Google App Engine and as chief engineer and distinguished architect at eBay. […]
10/22/20141 hour, 40 seconds
Episode Artwork

Episode 211: Continuous Delivery on Windows with Rachel Laycock and Max Lincoln

Johannes talks with Rachel Laycock and Max Lincoln from ThoughtWorks about continuous delivery on Windows. The outline includes: introduction to continuous delivery; continuous integration; DevOps and ChatOps; decisions to be taken when implementing continuous delivery on windows; build tools on windows; packaging and deploy on windows; infrastructure automation and infrastructure as code with chef, puppet […]
9/30/20141 hour, 3 minutes, 51 seconds
Episode Artwork

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. […]
9/17/201454 minutes, 47 seconds
Episode Artwork

Episode 209: Josiah Carlson on Redis

Josiah Carlson discusses Redis, an in-memory single-threaded data structure server. A Redis mailing list contributor and author, Josiah talks with Robert about the differences between Redis and a key-value store, client-side versus server-side data structures, consistency models, embedding Lua scripts within the server, what you can do with Redis from an application standpoint, native locking […]
9/5/20141 hour, 7 minutes, 47 seconds
Episode Artwork

Episode 208: Randy Shoup on Hiring in the Software Industry

With this episode, Software Engineering Radio begins a series of interviews on social/nontechnical aspects of working as a software engineer as Tobias Kaatz talks to Randy Shoup, former CTO at KIXEYE, about hiring in the software industry. Prior to KIXEYE, Randy worked as director of engineering at Google for the Google App Engine and as […]
8/26/20141 hour, 5 minutes, 40 seconds
Episode Artwork

Episode 207: Mitchell Hashimoto on the Vagrant Project

Charles Anderson talks to Mitchell Hashimoto about the Vagrant open source project, which can be used to create and configure lightweight, reproducible, and portable development environments. Vagrant aims to make new developers on a project productive within minutes of joining the project instead of spending hours or days setting up the developer’s workstation. The outline […]
7/28/201447 minutes, 54 seconds
Episode Artwork

Episode 206: Ken Collier on Agile Analytics

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 […]
7/18/20141 hour, 2 minutes, 37 seconds
Episode Artwork

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 […]
6/27/201453 minutes, 58 seconds
Episode Artwork

Episode 204: Anil Madhavapeddy on the Mirage Cloud Operating System and the OCaml Language

Robert talks to Dr. Anil Madhavapeddy of the Cambridge University (UK) Systems research group about the OCaml language and the Mirage cloud operating system, a microkernel written entirely in OCaml. The outline includes: history of the evolution from dedicated servers running a monolithic operating system to virutalized servers based on the Xen hypervisor to micro-kernels; […]
5/30/20141 hour, 5 minutes, 29 seconds
Episode Artwork

Episode 203: Leslie Lamport on Distributed Systems

Leslie Lamport won a Turing Award in 2013 for his work in distributed and concurrent systems. He also designed the document preparation tool LaTex. Leslie is employed by Microsoft Research, and has recently been working with TLA+, a language that is useful for specifying concurrent systems from a high level. The interview begins with a […]
4/29/201448 minutes, 50 seconds
Episode Artwork

Episode 202: Andrew Gerrand on Go

Andrew Gerrand works on the Go programming language at Google. His conversation with Jeff begins with a history of the language, including the details behind how Go was conceived and how the open source community contributes to it. Andrew explains how Go intends to simplify problems which have been motifs as Google has scaled. The […]
3/14/201441 minutes, 30 seconds
Episode Artwork

Episode 201: Martin Thompson on Mechanical Sympathy

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 […]
2/19/201453 minutes, 4 seconds
Episode Artwork

Episode 200: Markus Völter on Language Design and Domain Specific Languages

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, […]
1/13/201457 minutes, 15 seconds
Episode Artwork

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 […]
12/5/20131 hour, 7 minutes, 41 seconds
Episode Artwork

Episode 198: Wil van der Aalst on Workflow Management Systems

Recording Venue: WebEx Guest: Wil van der Aalst Robert Blumen interviews Professor Wil van der Aalst of the Technical University of Eindhoven, one of the world’s leading researchers in business process management and workflow systems. Professor van der Aalst leads off with an overview of the main concepts in the field business processes, business process […]
9/30/20131 hour, 5 minutes, 39 seconds
Episode Artwork

Episode 197: Lars Vogel on Android

Recording Venue: WebEx Guest: Lars Vogel Lars Vogel, consultant, Eclipse committer, and owner of vogella.com, gives an overview of the Android operating system. His conversation with Jeff begins with a definition of Android and a brief history. Android is an operating system programmed in Java. It can be found on different types of devices such […]
9/6/201342 minutes, 21 seconds
Episode Artwork

Episode 196: Personal Kanban with Jim Benson

Recording Venue: WebEx Guest: Jim Benson Jim Benson is CEO of Modus Cooperandi, a collaborative management consultancy in Seattle, Washington. After being steeped in Agile for many years, Jim started working with Kanban and Lean thinking in 2005. In 2008, he started taking this idea further with Personal Kanban, which brings flow based work to the […]
7/31/201341 minutes, 30 seconds
Episode Artwork

Episode 195: Ellen Gottensdiener and Mary Gorman

Recording Venue: WebEx Guest: Ellen Gottensdiener and Mary Gorman Ellen Gottensdiener and Mary Gorman of EBG Consulting talk with Neil Maiden about agile projects, requirements practices and their new book entitled Discover to Deliver: Agile Product Planning and Analysis. The conversation begins with an exploration of how agile has changed requirements and project practices over the […]
6/19/201359 minutes, 9 seconds
Episode Artwork

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 […]
5/22/20131 hour, 2 minutes, 38 seconds
Episode Artwork

Episode 193: Apache Mahout

Recording Venue: Skype Guest: Grant Ingersoll Grant Ingersoll, founder of the Mahout project, talks with Robert about machine learning.   The conversation begins with an introduction to machine learning and the forces driving the adoption of this technique. Grant explains the three main use cases, similarity metrics, supervised versus unsupervised learning, and the use of large data […]
4/22/20131 hour, 8 minutes, 10 seconds
Episode Artwork

Episode 192: Open Source Development: Perspectives From Management Science

Recording Venue: Swiss Federal Institute of Technology, Zürich Guest: Georg von Krogh Open source development has had a major impact on both private and public development and use of software. This is an interview with one of the key researchers on open source development, Professor Georg von Krogh of the Swiss Federal Institute of Technology in […]
2/13/201318 minutes, 10 seconds
Episode Artwork

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 […]
1/7/201345 minutes, 22 seconds
Episode Artwork

Episode 190: Lean (Software) Development

Recording Venue: WebEx Guest: Christof Ebert Christof Ebert, managing director of Vector Consulting Services talks with Frances Paulisch on his insights to how lean applies to product development. The interview centers around five key principles of lean development, namely end-to-end focus on creating value for the customer, eliminating waste, optimizing value streams, empowering people, and […]
12/18/20121 hour, 3 minutes, 23 seconds
Episode Artwork

Episode 189: Eric Lubow on Polyglot Persistence

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 […]
11/16/201251 minutes, 45 seconds
Episode Artwork

Episode 188: Requirements in Agile Projects

Recording Venue: Paddington, London Guests: Suzanne Robertson and James Robertson, Atlantic Systems Guild Neil Maiden, Editor of the Requirements column in IEEE Software, talks with Suzanne and James Robertson of the Atlantic Systems Guild about the emergence and impact of agile practices on requirements work. The interview begins with an exploration of how agile practices have […]
9/12/20121 hour, 1 second
Episode Artwork

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 […]
7/18/201251 minutes, 59 seconds
Episode Artwork

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 […]
6/1/201248 minutes, 13 seconds
Episode Artwork

Episode 185: Dwight Merriman on Replication

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 […]
4/10/201250 minutes, 3 seconds
Episode Artwork

Episode 184: The Mainframe with Jeff Frey

Recording Venue: Phone Guest: Jeff Frey System z, or the Mainframe, holds most of us in awe — the ultimate computing platform, referenced in Hollywood as well as by those who thought they were dealing with “legacy” systems — but what does Mainframe really mean? What does its stack look like? This leading virtualized infrastructure […]
3/14/20121 hour, 24 minutes, 35 seconds
Episode Artwork

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.
2/7/201221 minutes, 55 seconds
Episode Artwork

Episode 182: Domain-Specific Languages with Martin Fowler and Rebecca Parsons

In this episode, Markus talk with Martin Fowler and Rebecca Parsons about domain-specific languages.
1/25/20121 hour, 7 minutes, 19 seconds
Episode Artwork

Episode 181: Distributed Scrum with Rini van Solingen

In this episode we talk with Rini van Solingen about scrum and agile software development in distributed settings.
12/7/201155 minutes, 51 seconds
Episode Artwork

Episode 180: Leading Agile Developers with Jurgen Appelo

In this episode Michael interviews Jurgen Appelo on the topic of leading agile developers.
10/25/201136 minutes, 7 seconds
Episode Artwork

Episode 179: Cassandra with Jonathan Ellis

Cassandra is a distributed, scalable non-relational data store influenced by the Google BigTable project and many of the distributed systems techniques pioneered by the Amazon Dynamo paper.
10/8/201159 minutes, 31 seconds
Episode Artwork

Episode 178: Akka With Jonas Boner

This episode is a conversation with Jonas Boner about Akka.
8/10/20111 hour, 19 minutes, 46 seconds
Episode Artwork

Episode 177: IBM i (OS/400) Operating System with Steve Will

Recording Venue: Phone Guest: Steve Will IBM i (formerly known as OS/400) is an advanced object-based operating system by IBM that runs thousands of businesses around the world.  Steve Will, the Chief Architect of IBM i speaks with us about the history, technical features, and underlying architecture discussing the concepts of Single Level Store, integrated […]
7/6/20111 hour, 3 minutes, 15 seconds
Episode Artwork

Episode 176: Quantum Computing with Martin Laforest

We talk with Martin Laforest about topics ranging from how quantum computing works, which different models of quantum computing are explored, current and future uses of the approach as well as the current state of the art.
6/3/20111 hour, 5 minutes, 30 seconds
Episode Artwork

Episode 175: Game Development with Andrew Brownsword

We discuss characteristics and performance properties of modern games and outline the challenges for software development.
5/6/20111 hour, 4 minutes, 3 seconds
Episode Artwork

Episode 174: Chip Manufacturing and Waferscanners

Guest: Wilbert Albers Host: Markus In this episode we take a look at microchip production, with a special focus on waferscanners. To do this, we talked with Wilbert Albers of ASML, the leading waferscanner manufacturer in the world. In the episode, we talk about the overall chip production process (from silicon sand over wafer cutting […]
4/8/201149 minutes, 36 seconds
Episode Artwork

Episode 173: Feature-Oriented Software Development with Sven Apel – Pt 2

Recording Venue: University of Passau Guest: Sven Apel Host: Stefan In this second episode on Feature-Oriented Software Development (FOSD), Sven Apel gives us an overview of programming language and tool support for FOSD. He introduces the Eclipse-based FeatureIDE which covers important phases of the FOSD process, namely domain implementation as well as configuration and generation. […]
3/19/201157 minutes, 44 seconds
Episode Artwork

Episode 172: Feature-Oriented Software Development with Sven Apel – Pt 1

Sven Apel explains why developing software in a feature-oriented manner is so vital for us as software engineers and why objects are simply not enough.
2/19/201156 minutes, 31 seconds
Episode Artwork

Episode 171: Scala Update with Martin Odersky

This episode is an update on the developments around the Scala language.
2/2/201152 minutes, 54 seconds
Episode Artwork

Episode 170: Large Agile Software Development with Bas Vodde

In this episode Michael talks with Bas Vodde about how to apply agile principles to large and distributed development organizations.
1/5/201149 minutes, 10 seconds
Episode Artwork

Episode 169: Memory Grid Architecture with Nati Shalom

In this episode, Robert talks with Nati Shalom about the emergence of large-system architectures consisting of a grid of high-memory nodes.
11/30/20101 hour, 3 minutes, 33 seconds
Episode Artwork

Episode 168: Being a Consultant

This episode is about being a consultant in the software business.
10/22/201056 minutes, 39 seconds
Episode Artwork

Episode 167: The History of JUnit and the Future of Testing with Kent Beck

In this episode we talk with Kent Beck about automated unit testing and JUnit.
9/26/201050 minutes, 36 seconds
Episode Artwork

Episode 166: Living Architectures with John Wiegand

This time we have John Wiegand on the mic for an episode on architectures and agile software development. We talk about the role of architectures in an agile world and why architectures change and need to change over time. We discuss the characteristics of those living architectures, using the Eclipse and the Jazz projects as examples, and the surrounding development methods for such environments.
8/18/201043 minutes, 14 seconds
Episode Artwork

Episode 165: NoSQL and MongoDB with Dwight Merriman

Dwight Merriman talks with Robert about the emerging NoSQL movement, the three types of non-relational data stores, Brewer's CAP theorem, the weaker consistency guarantees that can be made in a distributed database, document-oriented data stores, the data storage needs of modern web applications, and the open source MongoDB.
7/16/201058 minutes, 5 seconds
Episode Artwork

Episode 164: Agile Testing with Lisa Crispin

This episode covers the topic of agile testing. Michael interviews Lisa Crispin as an practionier and book author on agile testing. We cover several topics ranging from the role of the tester in agile teams, over test automation strategy and regression testing, to continuous integration.
6/16/201047 minutes, 11 seconds
Episode Artwork

Episode 163: State of the Union

Announcement regarding the release cycle.
6/3/201017 minutes, 43 seconds
Episode Artwork

Episode 162: Project Voldemort with Jay Kreps

Jay Kreps talks about the open source data store Project Voldemort. Voldemort is a distributed key-value store used by LinkedIn and other high-traffic web sites to overcome the inherent scalability limitations of a relational database. The conversation delves into the workings of a Voldemort cluster, the type of consistency guarantees that can be made in a distributed database, and the tradeoff between client and the server.
5/16/20101 hour, 13 minutes, 36 seconds
Episode Artwork

Episode 161: Agile Product Management with Roman Pichler

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!
5/3/20101 hour, 47 seconds
Episode Artwork

Episode 160: AspectJ and Spring AOP with Ramnivas Laddad

This episode is a conversation with Ramnivas Laddad about aspect-oriented programming (AOP), Aspect J, and Spring AOP. We review the fundamental concepts of AOP, discuss AspectJ (an open source compiler that extends java with support for AOP), and cover the Spring Framework's proxy-based AOP system. Laddad also gives his thoughts on the use cases for AOP and where we are in the technology adoption curve, and updates on the state of the AspectJ project itself.
4/19/20101 hour, 2 minutes, 7 seconds
Episode Artwork

Episode 159: C++0X with Scott Meyers

This episode is a conversation with Scott Meyers about the upcoming C++0x standard. We talk a bit about the reasons for creating this new standard and then cover the most important new features, including upport for concurrency, implicitly-typed variables, move semantics, variadic templates, lambda functions, and uniform initialization syntax. We also looked at some new features in the standard library.
4/5/20101 hour, 4 minutes, 30 seconds
Episode Artwork

Episode 158: Rich Hickey on Clojure

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.
3/22/201058 minutes, 2 seconds
Episode Artwork

Episode 157: Hadoop with Philip Zeyliger

Philip Zeyliger of Cloudera discusses the Hadoop project with Robert Blumen. The conversation covers the emergence of large data problems, the Hadoop file system, map-reduce, and a look under the hood at how it all works. The listener will also learn where and how Hadoop is being used to process large data sets.
3/8/201051 minutes, 4 seconds
Episode Artwork

Episode 156: Kanban with David Anderson

This episode is part of our series on agile software development. We talk with David Anderson about Kanban, an agile software development method that is quite different from most of the other agile methods out there. We discuss the basic ideas behind Kanban, the differences between Kanban and Scrum and when and why projects can benefit from using Kanban. This episode is done in cooperation with the German magazine ObjektSpektrum (thanks for sharing this interview with us).
2/22/20101 hour, 1 minute, 58 seconds
Episode Artwork

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.
2/8/20101 hour, 2 minutes, 5 seconds
Episode Artwork

Episode 154: Ola Bini on Ioke

This is a conversation with Ola Bini on his experimental language Ioke. We cover the idea behind the Ioke experiment as well as important language concepts and the thinking behind them.
1/25/201059 minutes, 23 seconds
Episode Artwork

Episode 153: Jan Bosch on Product Lines and Software Ecosystems

This episode is a conversation with Jan Bosch about product line engineering (PLE). Jan has worked in various roles and industries and academia in the context of product lines. In this episode we look at Jan's view of what is next for product lines: software ecosystems. What is their relationship to PLE and how should PLE change to remain relevant?
1/11/201056 minutes
Episode Artwork

Episode 152: MISRA with Johan Bezem

Our guest Johan Bezem explains the idea behind and the benefits of MISRA. MISRA defines guidelines for C and C++ programming in order to ensure quality. While it got started for embedded automotive development, it is more generally applicable.
12/28/200940 minutes, 40 seconds
Episode Artwork

Episode 151: Intentional Software with Shane Clifford

This episode is a discussion with Shane Clifford, who is a development manager at Intentional Software. We discuss the idea behind intentional programming, key concepts of the technology as well as example uses and a little bit of history.
12/14/20091 hour, 3 minutes, 4 seconds
Episode Artwork

Episode 150: Software Craftsmanship with Bob Martin

This episode is a conversation with "Uncle Bob" Bob Martin about agile software development and software craftsmanship specifically. We talk about the history of the term, the reasons for coming up with it some of the practices and the relationship to other agile approaches. We conclude our discussion with an outlook on some of todays new and hyped programming languages.
11/30/200958 minutes, 43 seconds
Episode Artwork

Episode 149: Difference between Software Engineering and Computer Science with Chuck Connell

Michael discusses with his guest Chuck Connell the differences between software engineering and computer science. What makes software engineering so unpredictable, with so few formal results? And how can we advance the field of software engineering without these results?
11/16/200936 minutes, 36 seconds
Episode Artwork

Episode 148: Software Archaeology with Dave Thomas

Dave explains why reading source code is at least as important a skill as writing source code. He shares approaches for how to get to grips with unknown and undocumented source code even if it is non-trivial in size. He finishes with advice for how to get started reading code.
11/2/200958 minutes, 42 seconds
Episode Artwork

Episode 147: Software Development Manager

Michael and Markus discuss what makes a good R&D manager and how to potentially become an R&D manager. You will learn what some of the essential skills are, what the challenges are, and what the 'mission/vision/strategy thing' is actually good for.
10/19/200941 minutes, 34 seconds
Episode Artwork

Episode 146: Interesting Patterns at EuroPLoP 2009

This episode is a discussion with various authors of patterns reviewed at EuroPLoP 2009. Topics include Product Line Engineering, Distributed Development, Open Source and Embedded Systems
10/5/20091 hour, 5 minutes, 16 seconds
Episode Artwork

Episode 145: Spring in 2009 with Eberhard Wolff

In this episode we discuss the current state of the spring framework. We talk about core features (dependency injection, AOP) but also about the spring universe, i.e. some of the more specific frameworks such as Spring Batch.
9/21/20091 hour, 4 minutes, 6 seconds
Episode Artwork

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.
9/7/200955 minutes, 22 seconds
Episode Artwork

Episode 143: API Design with Jim des Rivieres

This episode is a discussion with Jim Des Rivieres about APIs: How to design good APIs, the role of the documentation/specification in APIs, API evolution and other relevant topics.
8/24/200944 minutes, 44 seconds
Episode Artwork

Episode 142: Sustainable Architecture with Kevlin Henney and Klaus Marquardt

This is another episode recorded at OOP 2009, thanks to SIGS Datacom and programme chair Frances Paulisch for making this possible. Here is the abstract from the conference program: Many software systems have fragile architectures that are based on brittle assumptions or rigid architectures that reduce options and make change difficult. On the one hand, an architecture needs to be fit for the present day, suitable for immediate use, and on the other it needs to accommodate the future, absorbing reasonable uncertainty. However, an approach that is overly focused on today's needs and nothing more can create an inflexible architecture. An approach that becomes obsessed with possible future changes creates an overly complex architecture that is unfit for both today's and tomorrow's needs. Both approaches encourage an early descent into legacy for a system. The considerations presented in this talk reflect an approach that is more about thinking in the continuous present tense than just the present or the future tense. This includes principles from lean thinking, practices common in agile processes and techniques for loosely coupled design.
8/10/20091 hour, 1 minute, 48 seconds
Episode Artwork

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.
7/27/200942 minutes, 3 seconds
Episode Artwork

Episode 140: Newspeak and Pluggable Types with Gilad Bracha

This episode is a conversation with Gilad Bracha about Newspeak, type systems in general and optional/pluggable types in particular. It was recorded during DSL Devcon in the gardens of the Microsoft campus, and thanks to Gilad's "speaking like a book" way of talking it is published completely unedited :-)
7/13/200943 minutes, 52 seconds
Episode Artwork

Episode 139: Fearless Change with Linda Rising

This episode is once again with Linda Rising, this time on the book she coauthored with Mary Lynn Manns on introducing ideas into organizations. The talk is another one of the SE Radio Live sessions recorded at OOP 2009 - thanks to SIGS Datacom and programme chair Frances Paulisch for making this possible.
6/29/20091 hour, 8 minutes, 13 seconds
Episode Artwork

Episode 138: Learning as a Part of Development with Allan Kelly

In this episode, Allan shares his insights about how learning is a necessary part of software development. He covers the personal as well as the team and the organizational level and offers practical advice.
6/15/200959 minutes, 13 seconds
Episode Artwork

Episode 137: SQL with Jim Melton

In this episode, Arno talks to Jim Melton about the SQL programming language. In addition to covering the concepts and ideas behind SQL, Jim shares stories and insights based on his many years' experience as SQL specification lead.
6/5/20091 hour, 2 minutes, 45 seconds
Episode Artwork

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.
5/26/20091 hour, 32 seconds
Episode Artwork

Episode 135: Introduction to Software Configuration Management with Petri Ahonen

In this episode Michael interviews one of our regular listeners: Petri Ahonen. Petri introduces Software Configuration Management by defining key terms and describing relevant concepts.
5/16/200930 minutes, 20 seconds
Episode Artwork

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.
5/6/200948 minutes, 58 seconds
Episode Artwork

Episode 133: Continuous Integration with Chris Read

In this episode Markus discusses with Chris Read basics and some advanced topics in the space of continuous integration. We cover concepts, some tools, as well as a number of best practices.
4/26/200950 minutes, 7 seconds
Episode Artwork

Episode 132: Top 10 Architecture Mistakes with Eoin Woods

This is a discussion with Eoin Woods about his collection of top 10 software architecture mistakes. Looking at things that don't work is always a good way to learn what you should actually do.
4/16/200947 minutes, 53 seconds
Episode Artwork

Episode 131: Adrenaline Junkies with DeMarco and Hruschka

This episode is an interview with Tom DeMarco and Peter Hruschka about the new book of the Altantic Systems Guild: Adrenaline Junkies and Template Zombies: Understanding Patterns of Project Behavior. This is a session recorded live at OOP 2009. SE Radio thanks Tom and Peter, SIGS Datacom and the programme chair, Frances Paulisch, for their great support!
4/6/200948 minutes, 29 seconds
Episode Artwork

Episode 130: Code Visualization with Michele Lanza

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.
3/27/200932 minutes, 21 seconds
Episode Artwork

Episode 129: F# with Luke Hoban

This episode is a discussion about F# with Microsoft's F# program manager Luke Hoban.
3/17/200925 minutes, 29 seconds
Episode Artwork

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!
3/7/200959 minutes, 2 seconds
Episode Artwork

Episode 127: Usability with Joachim Machate

This episode is an introduction to user interface design with Joachim Machate of UID. We talk about the importance of user interface design, about its relationship to the overall software engineering process, as well as about UID's process for systematic user interface design.
2/25/200950 minutes, 17 seconds
Episode Artwork

Episode 126: Jetbrains MPS with Konstantin Solomatov

In this episode we take a brief look at Jetbrains' Meta Programming System, a language workbench for creating external DSLs or for extending existing languages (such as Java). In a brief telephone discussion, Konstantin Solomatov explains what the system does and how it works. The system has recently been released into public beta and will be made available under then Apache 2.0 Open Source license.
2/15/200917 minutes, 46 seconds
Episode Artwork

Episode 125: Performance Engineering with Chris Grindstaff

In this episode Martin talks with Chris Grindstaff about the fundamentals of performance engineering. The episode discusses when and how to work on performance of client- and server-side systems, what you should take into account during development to avoid performance issues, typical situations that cause performance problems, and some common pitfalls when analysing performance.
2/5/200952 minutes, 28 seconds
Episode Artwork

Episode 124: OpenJDK with Dalibor Topic

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.
1/26/200953 minutes, 28 seconds
Episode Artwork

Episode 123: Microsoft OSLO with Don Box and Doug Purdy

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.
1/16/200946 minutes, 46 seconds
Episode Artwork

Episode 122: Interview Janos Sztipanovits

This is a discussion with Janos Sztipanovits about Cyber Physical Systems and how DSLs are used to approach some of the challenges in that domain. Specifically, in the second part we talk about formalizing DSL semantics.
1/6/200926 minutes, 12 seconds
Episode Artwork

Episode 121: OR Mappers with Michael Plöd

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.
12/27/200854 minutes, 38 seconds
Episode Artwork

Episode 120: OCL with Anneke Kleppe

In this episode we're talking to Anneke Kleppe about model-driven software development and language engineering. We start with her involvement in the creation of the Object Constraint Language (OCL) and discuss the intial expactations, actual experiences, and the place of OCL in the current day. From here, Anneke talks us through her take on the formative years of UML and MDA. From here, we expand to the realm of Domain-Specific Languages and Anneke discusses their place in software engineering in general and why we should expect DSLs in significant numbers to become a common sight.
12/17/200841 minutes, 43 seconds
Episode Artwork

Episode 119: DSLs in Practice with JP Tolvanen

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
12/7/200851 minutes, 26 seconds
Episode Artwork

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.
11/27/200854 minutes, 33 seconds
Episode Artwork

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.
11/17/20081 hour, 7 minutes, 27 seconds
Episode Artwork

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.
11/7/200828 minutes, 50 seconds
Episode Artwork

Episode 115: Architecture Analysis

During Evolution of a software system, it becomes more and more difficult to understand the originally planned software architecture. Often an architectural degeneration happens because of various reasons during the development phases. In this session we will be looking how to avoid such architectural decay and degeneration and how continuous monitoring can improve the situation (and avoid architectural violations). In addition we will look at "refactoring in the large" and how refactoring can be simulated. A new family of "lint like tools for software architectures" is currently emerging in the marketplace I will show some examples and how they scale and support you in real world projects.
10/28/200844 minutes, 48 seconds
Episode Artwork

Episode 114: Christof Ebert on Requirements Engineering

In this episode we talk to Christof Ebert about requirements engineering. As the name "engineering" suggests, we need to be systematic when working and managing requirements. Christof will structure RE into several activities, namely elicitation (identifying the relevant requirements), specification (clearly describing requirements), analysis (synthesizing a solution), verification and validation (achieving good requirements quality), comittment (allocating requirements to a project, product release or iteration), and management (keeping track of the implementation status of requirements). In this episode we discuss these activities and highlight lots of practical guidance.
10/18/200859 minutes, 55 seconds
Episode Artwork

Episode 113: Building Platforms with Jeff McAffer

In this episode we talk with Jeff McAffer about building platforms. We start with a brief discussion about what a platform is in contrast to a framework or an application. Drawing from his experiences working on the Eclipse platform for years, Jeff talks with us about how to develop platforms, why developing a platform is different from developing an application, what makes a good platform great, and why API design becomes so extremely important for platforms. He provides us with some insights on how the development process and the client collaboration for platform development could look like and what has and has not worked in the past.
10/8/200857 minutes, 9 seconds
Episode Artwork

Episode 112: Roles in Software Engineering II

This is the second part of the two part topic on roles in software engineering. Michael and Markus discuss role definitions in a corporate environment. For several typical roles we give hints on the expected skills, knowledge, and mindset. In this episode we discuss the roles technical lead, technologist, requirements engineer, product manager, and project manager.
9/28/200844 minutes, 45 seconds
Episode Artwork

Episode 111: About Us 2008

In this episode we discuss the status of SE Radio today and introduce the team members. Among other things, Markus discusses stats, sound quality, partners, transcripts, and the cooperation with Hillside Europe. Also, the team members introduce themselves with a one to two minute clip.
9/22/200837 minutes, 1 second
Episode Artwork

Episode 110: Roles in Software Engineering I

This is the first part of a two part topic on roles in software engineering. Michael and Markus discuss role definitions in an corporate environment. For several typical roles we give hints on the expected skills, knowledge, and mindset. In this episode we discuss the roles junior developer, senior developer, and software architect.
9/18/200850 minutes, 22 seconds
Episode Artwork

Episode 109: eBay’s Architecture Principles with Randy Shoup

In this episode we discuss with Randy Shoup, Distinguished Architect at eBay, about architectural pinciples and patterns used for building the highly scalable eBay infrastructure. The discussion is structured into four main ideas: partition everything, use asynchrony everywhere, automate everything, and design the system keeping in mind that everything fails at some point in a large distributed system.
9/8/20081 hour, 4 seconds
Episode Artwork

Episode 108: Simon Peyton Jones on Functional Programming and Haskell

We start our discussion with a brief look at what Haskell is and how a pure functional language is different from non-pure languages. We then look at the basic building blocks and the philosophy of the language, discussing concepts such as the lambda calculus, closures, currying, immutability, lazy evaluation, memoization, and the role of data types in functional languages. A significant part of the discussion is then spent on the management of side effects in a pure language - in other words, the importance of monads. We conclude the episode with a look at Haskell's importance and community today.
8/29/200850 minutes, 51 seconds
Episode Artwork

Episode 107: Andrew Watson on the OMG

This episode is a discussion with Andrew Watson, Technical Director of the Object Management Group. The episode is structured into five parts. We start with the history of the OMG and its early work. Then we look at the set of standards it has been (or is currently) working on. Next is a discussion of the standardization process used by the OMG, including the much-debated topic of compliance testing. We then look at OMG's relationship to other standards bodies (W3C, OASIS). Finally Andrew and I briefly discuss our common passion, gliding :-)
8/19/20081 hour, 7 minutes, 25 seconds
Episode Artwork

Episode 106: Introduction to AOP

This episode is a systematic introduction to Aspect Oriented Programming (in contrast to the interview with Gregor Kiczales). We discuss the fundamentals of AOP, define many of the relevant terms and also look at how and where AOP is used in practice, as well as at some current research trends.
8/9/20081 hour, 4 minutes, 48 seconds
Episode Artwork

Episode 105: Retrospectives with Linda Rising

In this episode we're talking to Linda Rising about retrospectives. We start by defining what a retrospective is and discuss some of the logistics of making it work for software projects. We then look at the different phases of a retrospective. The main part then is a discussion about some of the practices or games that are used to facilitate the retrospective. We conclude the retrospective discussion with destroying some of the prejudices against it and the relationship to process improvement and CMM. At the end of the interview we talk a little about Linda's current interest: how does the brain work?
7/30/20081 hour, 13 minutes, 36 seconds
Episode Artwork

Episode 104: Plugin Architectures

In this episode we talk with Klaus Marquardt about building systems out of plugins. After briefly introducing the concept of a plugin in contrast to modules and related software engineering concepts, we discuss different views on plugins and different ways of working with plugins for developing software. We are looking at plugins for embedded systems as well as large business systems, at how plugins change the working mode and team organization, and discuss the possibilities of why and when to use plugins for implementing software systems.
7/20/200856 minutes, 22 seconds
Episode Artwork

Episode 103: 10 years of Agile Experiences

In this episode we're talking to Jens Coldewey about his experiences in 10 years of introducing agile techniques to project teams. We discuss real-world examples and the lessons learned and strategies derived from them.
7/10/200855 minutes, 9 seconds
Episode Artwork

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.
6/30/20081 hour, 3 minutes, 54 seconds
Episode Artwork

Episode 101: Andreas Zeller on Debugging

In this episode we're talking to Andreas Zeller. about debugging. We started the discussion with an explanation of what debugging and how it works in principle. We then briefly discussed the relationship between debugging and testing. Next was the importance of the scientific method for debugging. We then looked as debugging as a search problem, leading to a discussion about delta debugging, the main topic of this discussion. We concluded the discussion by looking at the practical usability of delta debugging and the relationship to other means of automatically finding problems in software.
6/20/200834 minutes, 10 seconds
Episode Artwork

Episode 100: Software in Space

In this episode we're talking to Hans-Joachim Popp, CIO at DLR about software in space. We start out by reviewing some well-known accidents of unmanned space flight that were caused by software faults and use this as a motivation to discuss how to avoid these in the future. We discuss culture, process, techniques and tools that DLR uses to create high-quality software for use in unmanned space systems.
6/10/200836 minutes, 14 seconds
Episode Artwork

Episode 99: Transactions

This episode takes a close look at transactions from different angles, starting with their fundamental properties of Atomicity, Consistency, Isolation, Durability but also investigating advanced topics like distributed or business transactions.
5/31/20081 hour, 1 minute, 11 seconds
Episode Artwork

Episode 98: Stefan Tilkov on REST

In this episode we discuss REST (Representational State Transfer) with Stefan Tilkov. We started out by discussing the 5 steps to REST: IDs, links, Standard Methods, multiple representations and stateless communication. We then looked at how to use HTTP for REST, and discussed about how to use it for Web Services. We then we discussed whether and how to use REST for enterprise applications, and not just for apps on the internet. We concluded the discussion with a couple of recommendations.
5/23/200855 minutes, 52 seconds
Episode Artwork

Episode 97: Interview Anders Hejlsberg

In this episode we have the pleasure of talking to Anders Hejlsberg, Chief Language Strategist at Microsoft. We started by discussing his more distant past, namely, his involvement with Turbo Pascal and Borland's Delphi. We then looked at the influences Delphi had on C# and how C# evolved from Delphi. In the next section we discussed a couple of general language design issues, among them components and checked vs. unchecked exceptions. Next, we discussed interesting issues about languages of the future, static vs. dynamic typing, functional programming, meta programming as well as the importance of good support for concurrency. We concluded the discussion by looking at the interplay between languages and IDEs.
5/16/200848 minutes
Episode Artwork

Episode 96: Interview Krzysztof Czarnecki

This episode is the long-awaited (and much requested) interview with Krzysztof Czarnecki, the author, together with Ulrich Eisenecker, of the book Generative Programming. In the interview we discussed the state of generative programming today and related it to model-driven development and DSLs. We then talked a little bit about product lines in general. We then discussed his current field of research, which currently focusses on framework-specific modeling languages and non-trivial roundtrip engineering.
5/8/200833 minutes, 1 second
Episode Artwork

Episode 95: The New Guardian.co.uk website with Matt Wall and Erik DoernenBurg

In this episode we talk to Matthew Wall (Guardian News and Media) and Erik Doernenburg (Thoughtworks) about their work on the new guardian.co.uk website. We discuss the challenge of scalability and interactivity, their use of Domain Driven Design, some of the technical building blocks as well as the approaches they use for performance measuring and scalability tuning.
5/1/200844 minutes, 12 seconds
Episode Artwork

Episode 94: Open Source Business Models with Dirk Riehle

In this episode we're talking to Dirk Riehle about open source business models. We started looking at the way OS projects work and defined different kinds of open source projects. In the main part of the discussion we looked at various ways of how to make money with open source: consulting, support contracts, commercial variant of an open source project, etc. We then looked at the chances and risks of each of these approaches. The next part focused on different open source licenses and how they are suitable for open source business. We concluded the episode by discussing a couple of specific questions and loose ends. After the show, Dirk informed me about the following three corrections: Black Duck Software's main product is called protexIP not IP Central, there are presently 70 licenses approved by the Open Source Initiative, and EnterpriseDB has so far acquired $37M in venture capital
4/23/20081 hour, 3 minutes, 48 seconds
Episode Artwork

Episode 93: Lessons Learned From Architecture Reviews with Rebecca Wirfs-Brock

In this episode, Markus talks to Rebecca Wirfs-Brock on what she has learned from architecture reviews. This is a very complement to the earlier episode on architecture evaluation.
4/15/200852 minutes, 5 seconds
Episode Artwork

Episode 92: Introduction to Game Development

In this Episode, Arno talks with Oliver Jucknath about the art of writing computer games. A lot of myth is attached to this area of computing, and while a game technically is just another program, it is written in a different context than typical business applications. This is true at the code level, where aggressive optimization is a focus throughout development. It also applies at the team level, where collaboration between specialists is pronounced. And the business context is different as well, which in turn influences the development effort as a whole.
4/7/200848 minutes, 53 seconds
Episode Artwork

Episode 91: Kevlin Henney on C++

In this episode, we talk with Kevlin Henney about the C++ programming language. We look at the history and the culture of the language, and how it went through several phases in its evolution. We also take a look at some of the special language features of C++ and their overall influence.
3/30/20081 hour, 4 minutes, 19 seconds
Episode Artwork

Episode 90: Product Line Engineering, Pt. 3, with Charles Krueger

In this episode Charles Krueger, a well-known member of the product line engineering community, talks about his long term experiences in the field. Charles is also the founder and CEO of a company that provides tooling for variability management and product derivation. Besides some clarifications on terms like product line architecture and reference architecture, you also learn what kind of preconditions need to exist before product line engineering can be applied successfully.
3/22/200836 minutes, 56 seconds
Episode Artwork

Episode 89: Joe Armstrong on Erlang

In this Episode we're talking about Erlang with its creator Joe Armstrong. We started by looking at the history of the Erlang language and why it is so relevant today. We then looked at Joe's approach to Concurrency Oriented Programming and its main ingredients: share nothing, lightweight concurrency and pure message passing. We also compared this to the classic shared memory approach to concurrency. We then looked at other interesting aspects of Erlang, such as its functional nature (and why this is important to concurrency) and pattern matching. Next we discussed how to implement distribution and fault tolerance, and we took a look at OTP, the "application server" for Erlang. We concluded the conversation with a littel discussion about how Erlang was designed, it's current community as well as its future.
3/12/200853 minutes, 20 seconds
Episode Artwork

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.
3/2/200846 minutes, 35 seconds
Episode Artwork

Episode 87: Software Components

In this episode, Michael and Markus talk about software components. We first looked at a couple of attempts at defining what a component is. We then provided our own definition that will be used in the rest of the episode. We then looked at the promises of component-based development: why are components useful? We then discussed some of the typical metadata components should specify to make them useful. We discussed to some extent typical variations in component models. The next topic was the separation of concerns between the component functionality and functionality provided by the component's execution environment (aka. container). We then compared components with other (more or less) related technologies such as OO and SOA. We concluded the episode with the notion of architecture as language, where you use a formal DSL to describe a system's architecture. Components are the basic building block for this approach.
2/21/200859 minutes, 53 seconds
Episode Artwork

Episode 86: Interview Dave Thomas

This episode is an interview with Dave Thomas (OTI Dave or Smalltalk Dave, not PragDave). We started our discussion with a look at the (non-)success of objects and components. We then discussed some history behine Eclipse and Dave's role in OTI. We then compared Smalltalk and Ruby and looked at the promises of small and powerful languages such as Lisp. We also discussed the role of (static) type systems and the role of tool support for languages. We then switched gears and looked at what is necessary to scale agile development to the level of large organizations and how techniques from lean production and manufacturing as well as product management can play an important role. In the last part of the interview we looked at the state of research today, and especially the relationship between industry and academia in this area. We concluded the interview with Dave's opinion on what it takes to be a good developer.
2/11/200840 minutes, 10 seconds
Episode Artwork

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.
2/1/200851 minutes, 55 seconds
Episode Artwork

Episode 84: Dick Gabriel on Lisp

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.)
1/22/20081 hour, 7 seconds
Episode Artwork

Episode 83: Jeff DeLuca on Feature Driven Development

In this episode we talk with Jeff DeLuca about Feature Driven Development (FDD). As one member of the agile methods family FDD is not so famous as Scrum or Extreme Programming but is becoming more and more popular, especially for situations where you have fixed price contracts. As the inventor of FDD Jeff gives short introduction to the method itself, talks about the basic ideas behind FDD and discusses with us how FDD relates to other members of the agile family.
1/12/200839 minutes, 50 seconds
Episode Artwork

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.
1/2/200850 minutes, 56 seconds
Episode Artwork

Episode 81: Interview Erich Gamma

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.
12/23/200741 minutes, 51 seconds
Episode Artwork

Episode 80: OSGi with Peter Kriens and BJ Hargrave

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?
12/13/200745 minutes, 23 seconds
Episode Artwork

Episode 79: Small Memory Software with Weir and Noble

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.
12/3/20071 hour, 5 seconds
Episode Artwork

Episode 78: Fault Tolerance with Bob Hanmer Pt. 2

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.
11/23/200745 minutes, 46 seconds
Episode Artwork

Episode 77: Fault Tolerance with Bob Hanmer Pt. 1

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.
11/13/200745 minutes, 47 seconds
Episode Artwork

Episode 76: Special Episode on the Patterns Journal

In this special Episode we briefly discuss the upcoming Patterns Journal with the two editors, Ralph Johnson and James Noble.
11/9/200715 minutes, 31 seconds
Episode Artwork

Episode 75: The New Website

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.
11/4/20077 minutes, 33 seconds
Episode Artwork

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.
11/3/200745 minutes, 13 seconds
Episode Artwork

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.
10/24/20071 hour, 16 seconds
Episode Artwork

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.).
10/17/200752 minutes, 51 seconds
Episode Artwork

Episode 71: Survey Results

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.
10/13/200732 minutes, 25 seconds
Episode Artwork

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.
10/4/200752 minutes, 43 seconds
Episode Artwork

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.
9/24/200756 minutes, 47 seconds
Episode Artwork

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.
9/14/200754 minutes, 19 seconds
Episode Artwork

Episode 67: Roundtable on MDSD and PLE

This is a roundtable discussion on model-driven software develoment and product line engineering. It was recorded at the Model-Driven Development and Product Lines: Synergies and Experience conference in October 2006 in Leipzig. The panelists are: Axel Uhl, SAP Danilo Beuche, Pure Systems Juha Pekka Tolvanen, MetaCase Tom Stahl, b+m Ruediger Schilling, Delta Software Technology
9/4/200748 minutes, 41 seconds
Episode Artwork

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'.
8/24/200741 minutes, 1 second
Episode Artwork

Episode 65: Introduction to Embedded Systems

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.
8/14/200744 minutes, 1 second
Episode Artwork

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.
8/4/200752 minutes, 46 seconds
Episode Artwork

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: Domain Driven Design, Eric Evans Messaging Patterns, Gregor Hohpe POSA 2 Patterns, Doug Schmidt Concurrency: Part 1, Part 2, Part 3 and the interview with Goetz and Holmes Remoting Patterns Part 1 and Part 2 POSA3, Resource Management
7/25/20071 hour, 6 minutes, 39 seconds
Episode Artwork

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.
7/15/200753 minutes, 57 seconds
Episode Artwork

Episode 61: Internals of GCC

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.
7/5/200753 minutes, 14 seconds
Episode Artwork

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).
6/25/20071 hour, 38 seconds
Episode Artwork

Episode 59: Static Code Analysis

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.
6/16/200745 minutes, 47 seconds
Episode Artwork

Episode 58: Product Line Engineering Pt. 2

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.
6/6/200748 minutes, 3 seconds
Episode Artwork

Episode 57: Compile-Time Metaprogramming

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.
5/27/200744 minutes, 54 seconds
Episode Artwork

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.
5/17/200744 minutes, 34 seconds
Episode Artwork

Episode 55: Refactoring Pt. 2

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.
5/7/200732 minutes, 8 seconds
Episode Artwork

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.
4/27/200742 minutes, 22 seconds
Episode Artwork

Episode 53: Product Line Engineering Pt. 1

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.
4/17/200744 minutes, 50 seconds
Episode Artwork

Episode 52: DSL Development in Ruby

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.
4/7/200750 minutes, 41 seconds
Episode Artwork

Episode 51: Design By Contract

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.
3/28/200737 minutes, 13 seconds
Episode Artwork

Episode 50: Announcements and Requests

This is another episode where we mainly announce topics related to the podcast itself.
3/22/20078 minutes, 25 seconds
Episode Artwork

Episode 49: Dynamic Languages for Static Minds

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.
3/18/200733 minutes, 6 seconds
Episode Artwork

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 :-)
3/8/200745 minutes, 17 seconds
Episode Artwork

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.
2/26/200740 minutes, 30 seconds
Episode Artwork

Episode 46: Refactoring Pt. 1

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.
2/16/200737 minutes, 8 seconds
Episode Artwork

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).
2/6/200752 minutes, 23 seconds
Episode Artwork

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.
1/27/200749 minutes, 26 seconds
Episode Artwork

Episode 43: eXtreme Programming Pt.2

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.
1/17/20071 hour, 14 minutes, 32 seconds
Episode Artwork

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.
1/7/20071 hour, 4 minutes, 55 seconds
Episode Artwork

Episode 41: Architecture Patterns (Architecture Pt. 4)

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.
12/27/200647 minutes, 21 seconds
Episode Artwork

Episode 40: Interview Werner Vogels

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
12/16/200640 minutes, 41 seconds
Episode Artwork

Episode 39: Interview Steve Vinoski

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.
12/6/200638 minutes, 37 seconds
Episode Artwork

Episode 38: Interview James Noble

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.
11/26/200620 minutes, 51 seconds
Episode Artwork

Episode 37: eXtreme Programming Pt.1

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.
11/18/20061 hour, 2 minutes, 54 seconds
Episode Artwork

Episode 36: Interview Guy Steele

This episode is an interview with Guy L. Steele Jr.. Guy is a Sun Fellow and heads the Programming Language Research Group within Sun, and a generally well known "programming language guy" (see here for details). We briefly talk about Lisp and the resurgence of dynamic languages before we delve into the main topic, the Fortress programming language he is working on. Fortress is a language intended to replace Fortran as a scientific computing language. We talk about how mathematical notations, syntax extensio and built-in support for parallelism are crucial properties of such a language. We then briefly talk about potentials for compiler optimization before taking a closer look at the type system (static typing, type inference), traits and contract specification as well as first-class support for hierarchical components. We conclude the discussion with a look at automatic partitioning and distribuion of concurrent algorithms and a brief look at the future roadmap for the Fortress language.
11/10/200628 minutes, 28 seconds
Episode Artwork

Episode 35: Roadmap

This episode mainly outlines the upcoming programming and interviews.
11/8/200610 minutes, 36 seconds
Episode Artwork

Episode 34: Enterprise Architecture

In this episode Markus and our Guest Andy Longshaw talk about enterprise architecture. More specifically, we talk about some of the patterns in Andy Longshaw's and Paul Dyson's book Architecting Enterprise Solutions: Patterns for High-Capability Internet-based Systems. These includes things like replication, load balancing, monitoring and application management.
11/2/20061 hour, 1 minute, 13 seconds
Episode Artwork

Episode 33: Service Oriented Architecture, Pt.2b

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.
10/23/200645 minutes, 39 seconds
Episode Artwork

Episode 32: Service Oriented Architecture, Pt.2a

In this, as well as in the next episode Eberhard and Markus continue their discussion about SOA (the episode got too long, so we had to split it into two ... SOA 2a and SOA 2b). In this episode, we talk about the various perspectives on SOA (CBD, EAI, BPM), about fundamental requirements towards an SOA, and we discuss the role of models in defining sustainable architectures. We also discuss how a programming model based on the described approach typically looks like. We then discuss a number of issues any large-scale SOA faces (and for which the SOA paradigm does not really provide an out-of-the-box solution: In this episode we discuss data type ownership and (weak) typing of data types.
10/13/200651 minutes, 52 seconds
Episode Artwork

Episode 31: Agile Documentation

In this episode, our guest Andreas Rueping and Markus talk about documenting software. While this is a topic that many people don't like or consider fun, it is nonetheless very important. Based on his book, Agile Documentation, we talk about various aspects documenting software such as what to document, when to document, which media to use as well as specifically a number of layouting tips for nice documents.
10/3/200644 minutes, 2 seconds
Episode Artwork

Episode 30: Architecture Pt.3

In this third Episode on software architecture, Michael and Markus talk about the basic tools that an architect uses when architecting systems. These tools include things like separation, abstraction, compression and sharing. We also relate these tools to the quality attributes we introduced in previous archtecture episodes.
9/22/200630 minutes, 8 seconds
Episode Artwork

Episode 29: Concurrency Pt.3

The third part of our concurrency series by Michael and Alexander discusses how to build highly scalable servers. The discussion focusses especially on event-driven servers. As possible solution patterns a reactor-based design is suggested along-side several patterns for multi-threading issues: Reader/Writers Locks, Thread Pools, and Leader/Followers.
9/12/200636 minutes, 28 seconds
Episode Artwork

Episode 28: Type Systems

In recent episodes we have discusses statically and dynamically typed languages and domain specific languages - topics that are much talked about in the community at the moment. In this episode we look at the foundation of programming languages : types. We explain what a type actually is, how type systems work and what polymorphism works.
9/2/200646 minutes, 52 seconds
Episode Artwork

Episode 27: Service Oriented Architecture Pt.1

SOA (Service Oriented Architecture) appears to be just another hype - after all we have been building distributed systems for quite a while now. But the real value of SOA is non-technical. In this episode Eberhard and Markus discuss the advantages and disadvantages, what SOA actually is and how it compares to other approaches that have been tried out before.
8/23/200648 minutes, 49 seconds
Episode Artwork

Episode 26: Interview Jutta Eckstein

In this Episode, Arno, Bernd and Markus interview Jutta Eckstein. Jutta is a pioneer and expert on using Agile software development, specifically in larger teams. In the interview we talk about the agile manifesto, the role of personal relationships and trust in software projects, differences between agility in the small and in the large, as well as offshoring.
8/13/200645 minutes, 39 seconds
Episode Artwork

Episode 25: Architecture Pt. 2

In this Episode, Michael and Markus continue the discussion about the fundamentals of software architecture (we're doing it without Alex, because it is really hard to find a suitable time for all of us on the phone :-)). We talk about the various quality attributes (such as performance, scalability, maintainability and many more) and how they relate to each other.
8/3/200632 minutes, 55 seconds
Episode Artwork

Episode 24: Development Processes Pt.1

In this episode Arno and Alex talk about the basics of software development processes. They discuss why and when software development processes are needed and also why some developers don't like them. They discuss the theories behind different processes and talk about defined vs empiric processes in general. This episode is the first in a row that will later on describe specific processes like eXtreme programming or the unified process.
7/24/200647 minutes, 10 seconds
Episode Artwork

Episode 23: Architecture Pt. 1

This is the first of a series of Episodes on Software Architecture. Alex, Michael and Markus talk about rather fundamental topics in this episode, we'll go into much more detail in subsequent episodes in that series. Topics in this episode include: What is architecture, how is it different from design what different kinds of architecture are there in addition to software architecture the role of the architect, do we have one or more? architecture in agile software development tasks of the architect architect vs. the technical project lead architecture and project politics architecture requirements, estimating, team assembling There aren't too many good references for this general architecture discussion. You might want to take a look at Software Architecture in Practice by Len Bass, or, if you speak German, at the book Software-Architektur by Vogel, Arnold, Chugtai, Ihler, Mehlig, Neumann, Voelter and Zdun.
7/14/200642 minutes, 32 seconds
Episode Artwork

Episode 22: Feedback

This is an episode with some more of your feedback. Specifically, the episode also contains a 5 minute section from Geert Bevin where he explains how Continuations are used an implemented in the Rife Framework. This is in response to a discussion about continuations and Rife in Episode 15, Future of Enterprise Java. We also have some feedback from Bill Pugh about flaws in our description about the problems of double-checked locking in Java.
7/9/200623 minutes, 8 seconds
Episode Artwork

Episode 21: Error Handling Pt. 2

In this Episode, Arno and Michael take a closer look at Exceptions and Error conditions, how to categorize them and how to deal with them. We look at the different levels of guarantee that a piece of code can provide with regard to exceptional condition and finish with a discussion of a number of best practices and their respective trade-offs.
7/4/200635 minutes, 58 seconds
Episode Artwork

Episode 20: Interview Michael Stal

In this Episode, we talk to Michael Stal, a Senior Principal Engineer at Siemens Corporate Technology, POSA 1 and 2 Co-Author and Editor of the german JavaSpetrum magazine. Since Michael's core focus is middlware, much of our discussion centered around that topic. Webservices and SOA, of course, have also been covered. Other topics include Java vs. .NET as well as Patterns.
6/24/200643 minutes, 58 seconds
Episode Artwork

Episode 19: Concurrency Pt. 2

In this second part of our concurrency series Michael and Alexander talk about basic patterns for concurrent programming, such as Active and Monitor Object, Scoped Locking and Futures. Further, they discuss some architectural considerations regarding the number of threads and resource usage in general. For more information, see the references for part one as well as the following links
6/14/200627 minutes, 41 seconds
Episode Artwork

Episode 18: Resource Management

In this episode Michael and our guest Prashant Jain talk about patterns for resource management. Efficient management of resources is critical in the execution of any kind of software. Ranging from embedded software in a mobile device to software in a large enterprise server, it is important that the resources, such as memory, threads, file handles, or network connections, are managed efficiently to allow the systems to function properly and effectively. Michael and Prashant discuss various patterns, such as Lazy Acquisition, Caching, Leasing and Evictor and explain when, why, and how to apply them for effective resource management.
6/4/200643 minutes, 29 seconds
Episode Artwork

Episode 17: Feedback and Roadmap

This is a short episode that outlines the upcoming episodes and interviews, as well as reports on some listener feedback.
5/29/200614 minutes, 54 seconds
Episode Artwork

Episode 16: MDSD Pt. 3, Hands-On

This episode provides a hands-on guided tour through a simple model-driven software project. It is based on an actual code sample (see link below) and takes a look at the typical steps of real-life code generation: prototypical implementation, defining the metamodel, reading a model into a metamodel instance, writing templates and validating the model. The example for the episode uses openArchitectureWare as a generator environment, but the overall approach is tool independent. This episode is the first in a new category "code/technology" that discusses technical concepts based on actual code. Please give feedback whether you find this format useful or not.
5/25/20061 hour, 16 seconds
Episode Artwork

Episode 15: The Future of Enterprise Java

A very important area for Java are Enterprise Systems. With the advent of new technologies like Ruby on Rails, Java EE 5 or EJB 3 the landscape for Enterprise Systems appears to be changing a lot at the moment. In this episode Markus talks with Eberhard about what Enterprise Java actually is, why and where it is used. Based on that they discuss what the future might look like and how to make Enterprise Java shine in the future.
5/15/200637 minutes, 54 seconds
Episode Artwork

Episode 14: Interview Ted Neward

In this Episode we talk to Ted Neward. Since Ted is active in the .NET and Java universes, we started out by discussing some of the differences between the two platforms. The main discussion, however, focussed on new features in the C# 3.0 language. These include LINQ (language-integrated query). A very interesting discussion about extension methods, lamda expression, typing (dynamic, duck, compiler) and other language "tricks" follows. We also visited the topic of language development on the .NET and Java platforms in general, also looking at topics such as concurrency and the Scala language.
5/5/20061 hour, 4 minutes, 36 seconds
Episode Artwork

Episode 13: Ruby in Practice

Ruby has been getting more and more attention by the developer community over the last couple of years. Nevertheless Ruby as language and as a plattform is not too widespread. Most developers don't know people who have actually done commercial Ruby projects. Therefore it is sometimes hard to judge if Ruby is just a hype topic or if Ruby can be used for serious projects today. In this episode Alexander speaks with Thomas Quas about a commercial Ruby project Thomas finished a while ago. Thomas shares his insights and practical experiences with Ruby doing a project under strong time pressure. As Thomas has many years experience doing Java projects we also do some high level comparisons between both platforms.
4/26/200631 minutes, 50 seconds
Episode Artwork

Episode 12: Concurrency Pt. 1

This is the first part of a series of Concurrency episodes. In this part Alex and Michael motivate and introduce the topic. We explain fundamental terms, such as thread, process, or mutex and dicuss typical challenges, such as deadlocks and race conditions.
4/18/200625 minutes, 15 seconds
Episode Artwork

Episode 11: Interview Gregor Kiczales

In this Episode we have the pleasure of talking with Gregor Kiczales. Gregor is one of the fathers of aspect-oriented programming (AOP). Today he is a professor of computer science at the University of British Columbia. Back in his days at Xerox Parc, he and a number of other people worked on the early forms of AOP as well as on some of its forerunners, such as meta object protocols. In this interview, we talk about a number of interesting topics, such as the history of AOP, the relationship of AO to interceptors, the industry acceptance of AOP, early aspects (i.e. using AO in development phased before implementation) as well as adoption strategies for AOP.
4/8/200634 minutes, 13 seconds
Episode Artwork

Episode 10: Remoting Pt. 2

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

Episode 9: Remoting Pt.1 and Listener Feedback

This Episode as well as the next one take a look at remoting infrastructures such as CORBA, .NET Remoting or Webservices. In this first part we will take a look at why remote communication is necessary in the first place, what remoting middleware can do for you as well as which other middleware technologies exist in addition to OO-RPC systems, such as messaging middleware. Finally, we conclude with a brief overview of what the broker pattern can do for us in the context of remoting middleware.
3/19/200640 minutes, 12 seconds
Episode Artwork

Episode 8: Interview Eric Evans

Eric Evans is the author of the well known Domain-Driven Design book. In his day job he works as a consultant and coach for his own company, Domain Language. In this interview, Eric talks about the essential building blocks of domain-driven design as well as about a set of best practices on how to address complex projects. In a third part, he elaborates on the relationship of domain-driven design and MDSD/MDA.
3/8/200638 minutes, 44 seconds
Episode Artwork

Episode 7: Error Handling

This week, Arno and Markus take a look at error handling at the architectural level. They discuss the different kinds of errors, the groups of people who need to know about them and proven high-level approaches. Later episodes will investigate more technical aspects of error handling, such as idioms for using exceptions or a discussion of checked vs. unchecked exceptions.
2/27/200629 minutes, 42 seconds
Episode Artwork

Episode 6: Model-Driven Software Development Pt. 2

After discussing some of the more technical aspects of MDSD in the last episode, we take a look at other important topics in this one. This includes some tips on how to introduce MDSD into projects and how the development process has to be adapted for this to work, as well as a look at the return on investment for MDSD. The relationship of MDSD and Agile software development is also discussed. Finally, we take a look at offshoring in the context of MDSD.
2/18/200621 minutes, 39 seconds
Episode Artwork

Episode 5: Model-Driven Software Development Pt. 1

In this Episode, Eberhard and Markus provide an introduction to Model-Driven Software Development. Since the discussion turned out to be too long, we separated things into two episodes, thus Episode 6 will be the second part of this discussion. In this first part we disucsss core concepts of MDSD, the relationship to MDA, and hint at a couple of tools.
2/9/200633 minutes, 54 seconds
Episode Artwork

Episode 4: Scripting Languages

In this Episode, Alexander and Markus talk about scripting languages. Topics include the definition of what a scripting language is, typical usage scenarios, performance issues, programming styles and IDE support. In later Episodes we will talk about more specific topics, such as dynamic typing, reflection, functional programming as well as specific languages such as Ruby.
2/1/200637 minutes, 29 seconds
Episode Artwork

Episode 3: Interview Doug Schmidt

In this episode we talk with Doug Schmidt. Doug is a professor of computer science at Vanderbilt University and a well-respected authority in the fields of middleware, patterns and model-driven development. In this interview we talk about these topics in the context of distributed, realtime embedded (DRE) systems.
1/25/200658 minutes, 17 seconds
Episode Artwork

Episode 2: Dependencies

Eberhard and Markus discuss the important topic of associations and dependencies in this show. While OO languages provide direct support for subtyping, most don't provide a first-class construct for other relationships between objects. The discussion elaborates on the problem and looks at various remedies, most importantly, dependency injection.
1/24/200639 minutes, 56 seconds
Episode Artwork

Episode 1: Patterns

In this episode Michael and Markus talk about patterns. Starting with some of their "most used" patterns, they go into some detail about the history of patterns. They then discuss the various pattern forms as well as some misconceptions about patterns. Other topics include the domains that are covered by patterns as well as pattern languages.
1/22/200635 minutes, 47 seconds
Episode Artwork

Episode 0: About

This is the first episode (actually, episode zero) of software engineering radio. The episode does not contain real content, rather, Markus explains what the podcast is all about.
1/21/20065 minutes, 23 seconds