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

Every SaaS Integration needs an Upstream Point of Contact

Can you see a pattern in these examples? SendGrid sends emails for you. You provide it with a webhook URL.  It uses the webhook to “call you back” about what happens with those emails, like when they are dropped because your request was invalid. On AWS, you need to listen to an event bus if … Read moreEvery SaaS Integration needs an Upstream Point of Contact

Development aesthetic: experiments

Software development is a neverending string of “What happens if I…?” Each new runtime, language, or tool is a new world with its own laws of nature. We get to explore each one with experiments. Objective Today I added another alias to my PowerShell $profile: To use that alias in my current shell, I need … Read moreDevelopment aesthetic: experiments

Don’t just keep trying; report your limits

The other day we had problems with a service dying. It ran out of memory, crashing and failing to respond to all open requests. That service was running analyses of repositories, digging through their files to report on the condition of the code. It ran out of memory trying to analyze a particular large repository … Read moreDon’t just keep trying; report your limits

Principles of Collaborative Automation

(this is a transcription of the talk by the same name. Here is a video.) Collaboration is crucial in software teams – and not only among people. We need our software, our tools, and our automations to collaborate as well. But what does that mean? I have four prerequisites for you here, and then four precautions … Read morePrinciples of Collaborative Automation

Align the stars (programmatically)

Yesterday I was ready to get some changes into master, so I merged in the latest and opened a PR. But NO, the build on my pull request broke.The error was: ERROR: (jsdoc-format) /long/path/to/file.ts[52, 1]: asterisks in jsdoc must be alignedERROR: (jsdoc-format) /long/path/to/file.ts[53, 1]: asterisks in jsdoc must be alignedERROR: (jsdoc-format) /long/path/to/file.ts[54, 1]: asterisks in … Read moreAlign the stars (programmatically)

Get happy developers to do what you want

(originally published in the SD Times) How do we influence the operation of a complex dynamical system like a team? How do we get a development team to function closer to our preferences, and still let people operate as self-actualized humans? In Dynamics in Action, Alicia Juarrero describes complex systems such as people in terms … Read moreGet happy developers to do what you want

Collective problem solving in music, art, science, and software

Or: the Origins of Opera and the Future of Programming. (video, or TL;DR, or abstract) At the end of this post is an audacious idea about the present and future of software development. In the middle are points about mental models: how important and how difficult they are. But first, a story of the origins … Read moreCollective problem solving in music, art, science, and software