ca

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




ca

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.




ca

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.




ca

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.




ca

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.




ca

Episode 171: Scala Update with Martin Odersky

This episode is an update on the developments around the Scala language.




ca

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




ca

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.




ca

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.




ca

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




ca

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




ca

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




ca

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




ca

Episode 224: Sven Johann and Eberhard Wolff on Technical Debt




ca

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




ca

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




ca

SE-Radio Episode 236: Rebecca Parsons on Evolutionary Architecture




ca

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




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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.




ca

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,




ca

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




ca

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.




ca

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.




ca

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.




ca

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




ca

Episode 410: Sara Leen on Localizing and Porting Japanese Games

Sara Leen discusses localizing, porting, and modernizing Japanese games with Jeremy Jung.




ca

Episode 412: Sam Gavis Hughson on Technical Interviews

Felienne spoke with Gavis-Hughson about how to prepare for the dreaded 'whiteboard interview'.




ca

Episode 418: Functional Programming in Enterprise Applications

Vladimir Khorikov discusses functional programming in enterprise applications with Jeremy Jung.




ca

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




ca

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.




ca

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.




ca

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.




ca

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




ca

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.




ca

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.




ca

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




ca

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




ca

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.




ca

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




ca

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