The Curious Engineer

All blogs / Distributed systems / cloud

Colin Breck

blog.colinbreck.com

Essays on software, engineering, people, and teams.

Distributed systems / cloudRustDatabasesEngineering management / careersAI / ML

Posts
100 from 28 Mar 2014 to 20 Sep 2026
Posting
monthly (9 in the last year)
Kind
personal blog
Feed
https://blog.colinbreck.com/rss/

2026 9

  1. I Don’t Want to Read What You Didn’t Write
  2. Adapting to AI: Leadership
  3. When Impressive Performance Gains Do Not Matter
  4. Adapting to AI: Adapting Organizations
  5. Adapting to AI: Write Things Down
  6. Adapting to AI: What Is Software Engineering?
  7. Adapting to AI: Code Review
  8. Operational Benefits of Databases Built on Object Storage
  9. Adapting to AI: Reflections on Productivity

2025 3

  1. Deleting the Wrong Part or Process: Concrete Thinking in Software Organizations
  2. Making Unsafe Rust a Little Safer: Find Memory Errors in Production with GWP-ASan
  3. Securing DuckDB, Improving Startup Time, and Working Offline

2024 7

  1. Making Even Safe Rust a Little Safer: Model Checking Safe and Unsafe Code
  2. Making Unsafe Rust a Little Safer: Tools for Verifying Unsafe Code, Including Libraries in C and C++
  3. Predicting the Future of Distributed Systems
  4. Administrivia: Reconsidering the Engineering and Management Tracks
  5. Is the Scientific Method Valuable in Engineering?
  6. Future Software Should Be Memory Safe: Reflections on A Path Toward Secure and Measurable Software
  7. Object Storage and In-Process Databases are Changing Distributed Systems

2023 2

  1. An Interview Process That Works For Me
  2. Choosing a WebAssembly Run-Time

2022 3

  1. WebAssembly at the IoT Edge: A Motivating Example
  2. Why Am I Excited About WebAssembly?
  3. Our Transition to Renewable Energy: Motivating the Most Challenging Problems in Distributed Computing and IoT

2021 5

  1. Cancer: A Twenty-Year Reflection
  2. Engineering Management: Three Books and Three Videos
  3. Masking the Problem: Representing Complex State Without Strings
  4. Version Too
  5. Twitter: A Love-Hate Relationship

2020 6

  1. The State of the Art for IoT
  2. Kubernetes Startup Probes: Getting Your Feet Under You
  3. Love
  4. SARS-CoV-2 and the Future of Work
  5. Reflecting on Our Core Values
  6. Understanding Our Core Values: An Exercise for Individuals and Teams

2019 11

  1. Shared-Nothing Architectures for Server Replication and Synchronization
  2. On Embracing Error in Distributed Software Systems
  3. Rethinking Streaming Workloads with Akka Streams: Part III
  4. On Eliminating Error in Distributed Software Systems
  5. Engineering as Sketch Comedy
  6. Rethinking Streaming Workloads with Akka Streams: Part II
  7. Observations on Observability
  8. Rethinking Streaming Workloads with Akka Streams: Part I
  9. Licensing Software for Mutual Success
  10. Kubernetes Liveness and Readiness Probes: Looking for More Feet
  11. Kubernetes Liveness and Readiness Probes Revisited: How to Avoid Shooting Yourself in the Other Foot

2018 11

  1. Essential Software Tools for Developing Operational Technologies
  2. Kubernetes Liveness and Readiness Probes: How to Avoid Shooting Yourself in the Foot
  3. Backoff and Retry Error-Handling for Akka Streams
  4. Techniques for Improving Your Technical Writing
  5. What Are Left-Hanging Releases and Why Should You Embrace Them?
  6. What Makes an Internship Successful?
  7. Partitioning Akka Streams for Scalability and High-Availability
  8. Partitioning Akka Streams to Maximize Throughput
  9. From a Time-Series Database to a Key Operational Technology for the Enterprise: Part III
  10. From a Time-Series Database to a Key Operational Technology for the Enterprise: Part II
  11. From a Time-Series Database to a Key Operational Technology for the Enterprise: Part I

2017 11

  1. Maximizing Throughput for Akka Streams
  2. The Importance of Agency
  3. Scala's Future.successful: Do Not Block Your Future Success
  4. Integrating Akka Streams and Akka Actors: Part IV
  5. Reflections on Using Quality Views
  6. Integrating Akka Streams and Akka Actors: Part III
  7. Integrating Akka Streams and Akka Actors: Part II
  8. Reflections on Being a Team Lead
  9. Integrating Akka Streams and Akka Actors: Part I
  10. Patterns for Streaming Measurement Data with Akka Streams
  11. Akka Streams: A Motivating Example

2016 12

  1. Using Quality Views to Communicate Software Quality and Evolution
  2. Calling Blocking Code: There Is No Free Lunch
  3. Performance Considerations for Akka Debug Logging
  4. The Cost of a Meeting: Is the Daily Stand-Up Worth It?
  5. Making Your Resume Stand Out From the Crowd
  6. Writing Acceptance Tests for Collections: Two Approaches
  7. The Iceberg Secret Is Just the Tip of the Iceberg
  8. On Being a Team Lead: Welcome to Our Team
  9. The Benefits of Blogging
  10. Sharing Tests and Generating Tests in Scala
  11. An Interview as a Listening Session
  12. Practising Empathy in Technical Interviews

2015 12

  1. Encapsulating More than Just Resources with Test Context Classes
  2. Automatic Resource Management in Scala: Revisiting Test Context Classes
  3. Should We Write a Unit Test or an End-to-End Test?
  4. My Initial Impressions of Scala
  5. Interviews for Programmers Should Involve Code Review
  6. The Most Difficult Bug I Have Encountered
  7. Be More Productive By Not Finishing Your Work
  8. Considering Time in a Streaming Data System
  9. Test-Driven Career Development
  10. In Defence of Testing One Thing Per Test Method
  11. Programmatically Generating Tests Using a Visual Studio T4 Text Template
  12. Revisiting Test Context Classes in C++

2014 8

  1. Practical Considerations for Using Disposable Resource-Context Classes for Functional Tests in C#
  2. Disposable Resource-Context Classes for Functional Tests in C#
  3. Reflections on Enforcing Coding Style to Commit Code
  4. Writing Automated Tests for Custom Windows Performance Counters
  5. Tricks with Windows Performance Counters for Automated Tests
  6. Tests That Involve Time Are Hard
  7. Avoid Handling Exceptions in Negative Tests
  8. Inaugural Post