Computer science

Effect Oriented Programming • Bill Frasure, Bruce Eckel, James Ward & Andrew Harmel-Law

Effect Oriented Programming • Bill Frasure, Bruce Eckel, James Ward & Andrew Harmel-Law

Authors Bill Frasure, Bruce Eckel, and James Ward discuss the core concepts of Effect-Oriented Programming, explaining how effects are composable operations that encapsulate side effects and defer execution. They highlight how effect systems use compiler-checked types to manage unpredictability, improve testability, and make functional programming concepts accessible without intimidating jargon.

State of the Art of Container Security • Adrian Mouat & Charles Humble • GOTO 2026

State of the Art of Container Security • Adrian Mouat & Charles Humble • GOTO 2026

Adrian Mouat from Chainguard discusses the evolution of container security, highlighting the flaws of traditional Linux distributions for modern container workflows. He explains how Chainguard's approach of building minimal, 'distroless' images from source using Wolfi addresses the noise from vulnerability scanners, and delves into the importance of SBOMs, attestations, and a 'defense in depth' strategy, contextualized by recent major security incidents like the XZ Utils backdoor and Shai-hulud attacks.

Effect Oriented Programming • Bill Frasure, Bruce Eckel, James Ward & Andrew Harmel-Law • GOTO 2026

Effect Oriented Programming • Bill Frasure, Bruce Eckel, James Ward & Andrew Harmel-Law • GOTO 2026

Authors Bill Frasure, Bruce Eckel, and James Ward discuss the core concepts of Effect-Oriented Programming. They explain how effects are composable operations that encapsulate side effects and defer execution, allowing developers to manage unpredictability with compiler-checked types. The conversation covers ZIO, the expansion of effect systems into languages like TypeScript and Kotlin, and their unique, constraint-driven writing process.

Java Generics and Collections • Maurice Naftalin & Stuart Marks

Java Generics and Collections • Maurice Naftalin & Stuart Marks

Maurice Naftalin and Stuart Marks discuss the second edition of "Java Generics and Collections," 19 years after the first. They explore the evolution of Java from version 5 to 25, focusing on major shifts like the move toward immutability, the introduction of sequenced collections and streams, and the critical design principles of collection encapsulation. The conversation delves into the anemic domain model anti-pattern, the controversial `UnsupportedOperationException`, and the framework's inconsistent null handling, reflecting on decades of experience with the Java Collections Framework.

Clean Architecture with Python • Sam Keen & Max Kirchoff • GOTO 2025

Clean Architecture with Python • Sam Keen & Max Kirchoff • GOTO 2025

Sam Keen discusses his book “Clean Architecture with Python,” explaining how to apply architectural principles in a pragmatic, Pythonic way. The conversation covers thoughtful dependency management, the onion model, and the crucial link between good architecture and testability. Sam also explores how these principles provide a robust foundation for AI-assisted coding by creating well-defined, scoped problems for AI agents, ultimately leading to more maintainable and resilient software.

How to Get People Excited about Functional Programming • Russ Olsen & James Lewis

How to Get People Excited about Functional Programming • Russ Olsen & James Lewis

In this interview from GOTO Copenhagen 2024, author Russ Olsen and software architect James Lewis dive deep into the philosophy and practice of functional programming, using Clojure and Lisp as key examples. They discuss effective strategies for learning and teaching complex technical concepts, the cultural nuances of programming communities, and the inspirational power of large-scale engineering achievements like the Apollo moon landings.