empathy — noun meaning “the ability to understand and share the feelings of another.”
I was recently told that empathy had no place in engineering decision making, which was a bit surprising, so I asked “Why? What do you believe [inspires innovation] if not empathy?” The response was (paraphrased), “As a libertarian, I believe in rationality and reason. Feelings don’t matter.”
Even if you ignore the past four decades of work in cognitive science, there’s a lot to unpack in that statement. When I mentioned this encounter to a friend, they said, “You got them to say the silent part…
or How to get into a cycle of continuous learning and better business outcomes
Do your teams suffer from frequent priority shifts and unknown requirements? Do they frequently have to stop project work to handle other “critical” tasks? Are they ever uncertain that the work they’re doing is important or even necessary? If the answer to any of these questions is “Yes!” you need to fix your planning process (and maybe your organization).
Organizational planning is hard, especially in high-growth businesses with several cross-functional teams. And yet, a frequent complaint is “We spend too much time in planning!” …
Honesty and trust are critical prerequisites to reliability. When trust is broken, the most natural outcomes are information hiding, and fear of retribution, which are the natural enemies of a blameless postmortem culture and the high-trust candor required to create high-quality user experiences in complex problem domains.
Dishonesty is often a natural reaction in some situations. People will justify the little white lie to protect someone’s feelings, or prevent giving bad news because of various personal fears. I remember many years ago I was in charge of a project to tear down a cluster, do a hardware refresh, and turn…
“9’s don’t matter if users aren’t happy” — Charity Majors
I wrote this up quickly for a friend who was asking about it. It’s not rocket science, and I’m sure this restates what many have said before, but this chart should make it simple to understand your list of priorities for different service or application failure modes. If you like it leave a clap, or a positive comment. If not, I appreciate constructive feedback. All the best. j-
To compliment my previous article about migrating kubelets to containerd, this will be about migrating a single node control plane cluster from docker to containerd. My homelab is built from
kubeadm init running on Ubuntu 20.04. Backups are stored on the kubernetes control node itself, but syncing these to a NAS or a cloud bucket would not be a bad idea. Keeping those backups safe is left as an exercise for the reader.
One thing to note, my homelab cluster doesn’t use any special flags. The move to containerd and the systemd cgroup driver requires a modified kubelet config according to…
Adventures in bare metal homelab kubernetes administration.
Kubernetes has deprecated support for dockershim after version 1.20 which is currently running on my homelab. So I thought, how hard can it be to make the switch to containerd? It turns out, not that bad for kubelets. I’m still working out how to convert my single node control plane in a non-destructive way. Here’s the process I used to convert all kubelets from docker to containerd.
(Note: Part 2 which deals with a single node control plane is out if you’d rather start there)
My cluster is running on ubuntu 20.04, so…
In a previous update, I talked about setting up a service specific NFS mount path using a synology diskstation, and left getting shared storage for another day. Well, another day came, and I now have a common pool of storage for all my kubernetes applications.
This followup is intended to be a simple how-to to replicate the results.
Setup the NFS Shared Persistent Volume…
The important parts in this manifest…
This how-to will walk through the process of setting up an application with a persistent volume claim backed by a Synology NFS shared folder.
To use a centralized NFS share and mount subdirectories for services requires using a specialized NFS provisioner. Maybe I’ll look into that one day. For now, there’s a shared folder for each application for which you want to mount a persistent volume.
(Update 2018–04–14: Shared NFS storage doesn’t require a special provisioner. An updated how-to is here: https://www.j03.co/2018/04/14/shared-nfs-and-subpaths-in-kubernetes/)
My home network has the usual things. A cable modem, a wireless router/firewall combo, and a bunch of internet of things devices. I also have a few services exposed through port forwarding, and since this is the internet, they are almost always under some sort of attack. One device in particular gives a loud warning beep when under attack, which is great, but also acts as a pager at 3am, which frankly sucks (esp. if I’m, say — sleeping, or something).
So rather than getting woken up at odd hours, I decided to do a couple of things. First, I…
“After forty years of research and development of military personnel selection practices, it is now abundantly clear that there is no satisfactory and reliable technique for locating personnel with leadership potentials. Only the selection of specialists for particular technical jobs seems feasible.” — Morris Janowitz, The Professional Soldier, 1964
A friend posted this quote on Facebook along with the assertion that hiring for leadership is almost pointless. The implication is, of course, that there’s no way to determine future success based on interview performance alone. …
I'm an engineering leader who is passionate about reliability engineering and building sustainable/scalable teams.