Computer science

Beyond the Cloud: The Local-First Software Revolution • Brooklyn Zelenka & Julian Wood

Beyond the Cloud: The Local-First Software Revolution • Brooklyn Zelenka & Julian Wood

Distributed systems researcher Brooklyn Zelenka introduces local-first computing, a new paradigm where apps run on user devices, synchronizing via CRDTs like Automerge. This approach offers offline functionality, low latency, and enhanced privacy, ideal for collaborative "cozy web" applications and democratizing development by simplifying the tech stack.

The Best Programmer I Know • Daniel Terhorst-North • GOTO 2024

The Best Programmer I Know • Daniel Terhorst-North • GOTO 2024

Daniel Terhorst-North explores the learnable traits of great programmers, challenging the notion of innate talent. He outlines a three-part framework focusing on effective execution, selecting appropriate tools, and fostering a psychologically safe team environment, emphasizing that greatness is achieved through deliberate practice and a focus on product and people over code.

Lets See What We Can do! with F# Computation Expressions • Andrew Browne • YOW! 2015

Lets See What We Can do! with F# Computation Expressions • Andrew Browne • YOW! 2015

Andrew Browne demystifies F# Computation Expressions, showing how this powerful feature is a simple syntactic transformation. He demonstrates building custom expressions for handling optional values (maybe), asynchronous sequences, and even creating a Domain-Specific Language (DSL) with Free Monads for robust testing.

Balancing Coupling in Software Design • Vlad Khononov & Sheen Brisals

Balancing Coupling in Software Design • Vlad Khononov & Sheen Brisals

Author Vlad Khononov discusses his book "Balancing Coupling in Software Design," explaining how a failed microservices project led him to rediscover timeless design principles from the 1970s. He explores the concepts of local vs. global complexity, the role of modularity as an antidote to complexity, and how managing coupling is crucial for building maintainable systems in any architectural style, from monoliths to cloud-native applications.

Reading Code Effectively: An Overlooked Developer Skill • Marit van Dijk & Hannes Lowette

Reading Code Effectively: An Overlooked Developer Skill • Marit van Dijk & Hannes Lowette

Marit van Dijk and Hannes Lowette discuss why reading code is a critical, yet underdeveloped, skill for software developers. They explore research-backed strategies like structured code reading clubs, leveraging modern IDEs and AI assistants to comprehend complex codebases, and the importance of empathy in code reviews. The conversation emphasizes using tests as documentation and writing clear commit messages to improve collaboration and long-term maintainability.

Combinators Revisited • Edward Kmett • YOW! 2018

Combinators Revisited • Edward Kmett • YOW! 2018

Edward Kmett revisits the historical approach of compiling lambda calculus to a fixed set of combinators, arguing for its renewed relevance. He contrasts it with modern super-combinator techniques (like GHC's G-machine), highlighting the latter's vulnerability to Spectre attacks. Kmett proposes that a combinator-based evaluation model, combined with SPMD on SIMD execution, offers a secure, highly-parallel alternative that could rival the performance of current systems while providing a unified foundation for advanced compiler features.