Software is Complicated, Given Enough Time

this is complicated at some level, but I don't want to look at it that closely

I often say that software these days is complex. But is it? In Cynefin terms, it’s more like an airplane than a family: it’s complicated. Given enough expertise, all the code, lots of data, and enough time, we could analyze the causal structure of any particular system behavior. We can reason about complicated systems. When … Read moreSoftware is Complicated, Given Enough Time

A Developer’s Starting Point for Integrating with LLMs

Here’s what I know so far, from a lay-developer’s perspective (no AI or ML experience). So you’re a coder, and you’ve been asked to integrate with ChatGPT. What do you need to know? ChatGPT is an example of a Large Language Model (LLM). LLMs are a kind of machine learning (call it AI if you … Read moreA Developer’s Starting Point for Integrating with LLMs

Why we use kubernetes

There once was a little app, proudly running in a container. The container let the app have its favorite operating system and libraries, all snug and separate. The little app shared a container runtime with its friend, a firefly. Sometimes the app’s code would crash (through no fault of the code, of course; must have … Read moreWhy we use kubernetes

The Viable Systems Model, and where my team fits

A viable system continues to function in a changing environment. We want our companies—and some teams—to be sustainable this way. How does your team contribute? Does your team have all the components of a viable system… and should it? Stafford Beer (1926-2002) coined the Viable Systems Model to describe what it takes. A Viable System … Read moreThe Viable Systems Model, and where my team fits