I consider Stephen King to be one of the best 20th century writers in the English language and I am sorely disappointed he chooses to write in the "Horror" genre because I really don't like horror, even when the prose is crafted so exquisitely. Every few months, I dip into a Stephen King book to be elevated by the sublime, exquisitely crafted writing and literary genius of this fabulous author. I (almost) always enjoy the experience. Great horror story, 4/5 Stars. @StephenKing: Please write more historical fiction and thrillers.
Saturday, April 25, 2020
Wednesday, April 22, 2020
Maps, Territory, and Naming in our Software
I recently started reading through Kai Wai Cheung's book on "Naming things," in software development and wrote about why I am interested here in my blog. I also gave this keynote presentation about inferring user identity a while back where I touched lightly and obliquely on this topic of naming variables and database fields with words such as "visitor" instead of customer to account for bots. I have recently come across a few situations at work where the mental models of my peers are unrelated to the reality we are seeing. The problem is amplified by the names we attach to the entities we discuss, and the lack of shared meaning (common understanding ) among the people discussing "the territory" of our business phenomenon.
The Map Territory relation
From wikipedia:
The map–territory relation describes the relationship between an object and a representation of that object, as in the relation between a geographical territory and a map of it."
In the example from my presentation on inferring a person's identity from their behaviors instead of relying on their cookies, sign-in credentials, what they have, what they know, etc. I recommend that database fields, object names, code variables, and other naming of the entity connecting to your web site be labeled "visitor" instead of "user." And instead of confusing an account with a single, registered "user" we should carefully name the entity an account. After all, one person or bot may have many accounts, and one "household," "shared," or "company" account may have many different people or programs operating using that account.
The same many-to-many mappings exist for devices to humans (or bots) and most other identifiers.
Cause - Effect Confusion
Among the many, odd business situations I encounter at work, one of the most frustrating is confusion and frequent self-deception about causation, correlation, bias, and the prediction afforded by evidence-based science. I wrote about one example relating to agile practice a while ago. The "cargo cult" practice or belief that when B follows A that A causes B, or in Latin: post hoc, ergo propter hoc is much worse than one would expect in business.
As always, I welcome your comments, good, bad, and non-sequitor.
Labels:
software-engineering
Tuesday, April 21, 2020
We are poisoning ourselves because of our paranoia
The US centers for disease control (CDC) has released a study indicating that Americans are poisoning ourselves trying to kill the respiratory infection over which the world has lost its collective mind.
Labels:
covid19
Monday, April 20, 2020
YAML intellisense completion macro family for vim
If you spend a lot of time editing kubernetes YAML in vim, consider checking out this introduction to coc-vim and coc-yaml. Video version here.
Labels:
devops
LinuxKit, Azure, and Unikernels
Steve Follis takes us on a very simple small-scale implementation of creating a modern LinuxKit VM image on Azure optimized for docker containers. Docker appears to be steering LinuxKit into a half-way measure between pure Unikernels and modern, immutable single-purpose VMs. His tour shows off some of the new Azure features and is a quick read.
Labels:
devops
Why Open Policy Agent (OPA) and the Rego language are so odd
Tim Hinrichs takes us on a 3-part series explaining the origins of the Rego domain specific language for OPA.
Labels:
devops
DevSecOps: InfoSec and DevOps working together
Kelly Shortridge takes us on a deep journey into the relationship between InfoSec and DevOps, complete with game theory analysis and some great references.
Labels:
devops
Sunday, April 19, 2020
detailed, tutorial example of github action
Github actions are all the rage right now as people realize github itself is a lighter, more powerful, and better Jenkins for many applications. Jeff Rafter wrote this extremely detailed example and explanation in typescript (a JavsScript dialect with Types) complete with testing and other details.
Labels:
devops
Learning is different from Fixing
John Allspaw summarizes some useful information and advice, mostly from Ryan Kitchens' "learning from incidents" web site.
Labels:
devops
Saturday, April 18, 2020
Subscribe to:
Posts (Atom)