The Curious Engineer

All blogs / DevOps / SRE / infrastructure

Brave New Geek

bravenewgeek.com

Introspections of a software engineer

DevOps / SRE / infrastructureDistributed systems / cloudSoftware / engineering practice

Posts
114 from 1 Dec 2012 to 8 May 2025
Posting
now and then
Kind
personal blog
Feed
https://bravenewgeek.com/index.xml

2025 2

  1. What is Koreo?
  2. Controller-Driven Infrastructure as Code

2024 10

  1. Platform Engineering as a Service
  2. Deployment-Driven Development
  3. Automating Infrastructure as Code with Vertex AI
  4. Understanding Konfig’s Opinionation
  5. No assembly required: the benefits of an opinionated platform
  6. How Konfig provides an enterprise platform with GitLab and Google Cloud
  7. Security, Maintainability, Velocity: Choose One
  8. Introducing Konfig: GitLab and Google Cloud preconfigured for startups and enterprises
  9. Choosing Good SLIs
  10. Cloud without Kubernetes

2022 1

  1. Meeting notes lose value the moment you finish writing them—and it’s time to fix that

2021 1

  1. SRE Doesn’t Scale

2020 10

  1. Structuring a Cloud Infrastructure Organization
  2. We suck at meetings
  3. Getting big wins with small teams on tight deadlines
  4. Continuous Deployment for AWS Glue
  5. Implementing ETL on GCP
  6. Using Google-Managed Certificates and Identity-Aware Proxy With GKE
  7. #94 06-22 Zero-Trust Security on GCP With Context-Aware Access
  8. #93 04-28 Liftbridge 1.0
  9. #92 02-05 Digitally Transformed: Becoming a Technology Product Company
  10. #91 01-03 Microservice Observability, Part 2: Evolutionary Patterns for Solving Observability Problems

2019 9

  1. #90 10-03 Microservice Observability, Part 1: Disambiguating Observability and Monitoring
  2. #89 09-17 What’s Going on with GKE and Anthos?
  3. #88 08-20 Serverless on GCP
  4. #87 04-26 Planting Perennials Next to Potholes
  5. #86 03-26 Security by Happenstance
  6. #85 01-29 Authenticating Stackdriver Uptime Checks for Identity-Aware Proxy
  7. #84 01-25 API Authentication with GCP Identity-Aware Proxy
  8. #83 01-24 Operations in the World of Developer Enablement
  9. #82 01-03 How to Level up Dev Teams

2018 11

  1. #81 09-14 Multi-Cloud Is a Trap
  2. #80 09-12 The Observability Pipeline
  3. #79 07-27 Introducing Liftbridge: Lightweight, Fault-Tolerant Message Streams
  4. #78 07-17 GCP and AWS: What’s the Difference?
  5. #77 04-18 Scaling DevOps and the Revival of Operations
  6. #76 04-11 More Environments Will Not Make Things Easier
  7. #75 02-06 There and Back Again: Why PaaS Is Passé (And Why It’s Not)
  8. #74 01-29 Plant Trees Before You Need the Shade
  9. #73 01-23 Building a Distributed Log from Scratch, Part 5: Sketching a New System
  10. #72 01-18 Building a Distributed Log from Scratch, Part 4: Trade-Offs and Lessons Learned
  11. #71 01-08 Building a Distributed Log from Scratch, Part 3: Scaling Message Delivery

2017 12

  1. #70 12-27 Building a Distributed Log from Scratch, Part 2: Data Replication
  2. #69 12-21 Building a Distributed Log from Scratch, Part 1: Storage Mechanics
  3. #68 11-30 Thrift on Steroids: A Tale of Scale and Abstraction
  4. #67 10-04 Software Is About Storytelling
  5. #66 08-02 FIFO, Exactly-Once, and Other Costs
  6. #65 07-24 Are We There Yet: The Go Generics Debate
  7. #64 06-30 You Cannot Have Exactly-Once Delivery Redux
  8. #63 06-29 Smart Endpoints, Dumb Pipes
  9. #62 06-03 Engineering Empathy
  10. #61 05-03 The Future of Ops
  11. #60 04-07 Pain-Driven Development: Why Greedy Algorithms Are Bad for Engineering Orgs
  12. #59 04-05 Decision Impact

2016 9

  1. #58 12-28 Fast Topic Matching
  2. #57 12-20 Take It to the Limit: Considerations for Building Reliable Systems
  3. #56 11-27 Benchmarking Commit Logs
  4. #55 11-16 You Are Not Paid to Write Code
  5. #54 04-14 Shit Rolls Downhill
  6. #53 02-27 Abstraction Considered Harmful
  7. #52 02-24 So You Wanna Go Fast?
  8. #51 02-13 Benchmarking Message Queue Latency
  9. #50 01-01 From the Ground Up: Reasoning About Distributed Systems in the Real World

2015 20

  1. #49 12-27 Breaking and Entering: Lose the Lock While Embracing Concurrency
  2. #48 12-15 Infrastructure Engineering in the 21st Century
  3. #47 12-12 Everything You Know About Latency Is Wrong
  4. #46 12-06 Probabilistic algorithms for fun and pseudorandom profit
  5. #45 09-22 You Own Your Availability
  6. #44 08-23 What You Want Is What You Don’t: Understanding Trade-Offs in Distributed Messaging
  7. #43 07-21 Designed to Fail
  8. #42 06-07 Service-Disoriented Architecture
  9. #41 06-03 Distributed Systems Are a UX Problem
  10. #40 05-20 Go Is Unapologetically Flawed, Here’s Why We Use It
  11. #39 05-05 Product Development is a Trust Fall
  12. #38 04-18 CAP and the Illusion of Choice
  13. #37 04-07 Writing Good Code
  14. #36 03-25 You Cannot Have Exactly-Once Delivery
  15. #35 03-08 If State Is Hell, SOA Is Satan
  16. #34 02-13 Stream Processing and Probabilistic Methods: Data at Scale
  17. #33 02-01 On Hireability and Recruiting
  18. #32 01-18 CS Literature of the Day
  19. #31 01-10 Fast, Scalable Networking in Go with Mangos
  20. #30 01-02 Benchmark Responsibly

2014 13

  1. #29 12-06 Not Invented Here
  2. #28 11-12 Sometimes Kill -9 Isn’t Enough
  3. #27 11-01 From Mainframe to Microservice: An Introduction to Distributed Systems
  4. #26 10-21 Scaling Shared Data in Distributed Systems
  5. #25 09-24 Understanding Consensus
  6. #24 08-28 The Sharing Economy: A Race to the Bottom
  7. #23 07-22 Iris Decentralized Cloud Messaging
  8. #22 07-07 Dissecting Message Queues
  9. #21 06-29 A Look at Nanomsg and Scalability Protocols (Why ZeroMQ Shouldn’t Be Your First Choice)
  10. #20 06-11 Distributed Messaging with ZeroMQ
  11. #19 05-27 Using Make with React and RequireJS
  12. #18 05-21 Building User Interfaces with React
  13. #17 03-08 Real-Time Client Notifications Using Redis and Socket.IO

2013 9

  1. #16 12-09 No More Ninjas
  2. #15 09-07 The Art of Software
  3. #14 06-10 Discipline in Prototyping
  4. #13 06-09 Productivity Over Process
  5. #12 06-08 How is Software Valued?
  6. #11 03-19 Bluetooth Blues
  7. #10 01-05 Implementing Spring-like Classpath Scanning in Android
  8. #9 01-04 Introducing InfinitumFramework.com
  9. #8 01-01 He Sed, She Sed

2012 7

  1. #7 12-27 Modularizing Infinitum: A Postmortem
  2. #6 12-19 The Importance of Being Idle
  3. #4 12-17 Proxies: Why They’re Useful and How They’re Implemented
  4. #5 12-17 Dalvik Bytecode Generation
  5. #3 12-04 A Look at Spring’s BeanFactoryPostProcessor
  6. #2 12-02 Probabilistic Primality Testing
  7. #1 12-01 Solving the Referential Integrity Problem