ac

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.




ac

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.




ac

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.




ac

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.




ac

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



    ac

    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.




    ac

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




    ac

    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.




    ac

    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 […]




    ac

    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 […]




    ac

    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 […]




    ac

    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 […]




    ac

    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 […]




    ac

    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 […]




    ac

    Episode 229: Flavio Junqueira on Distributed Coordination with Apache ZooKeeper

     




    ac

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

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




    ac

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




    ac

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




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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?




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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,




    ac

    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.




    ac

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




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

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




    ac

    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.




    ac

    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.




    ac

    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




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.




    ac

    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.