Internetting

Essayons — Cultivating an Expeditionary Mindset for Problem Solving

An expeditionary mindset is a frame of thinking I attribute to my time as an Army Combat Engineer — a kind of problem-solving posture shared amongst light infantry units that says: when you’re in a jam, you can’t wait for the cavalry to arrive and save the day. You are the cavalry. Essayons is the Combat Engineer regimental motto, and is taken from the French verb essayer. It literally means… Let us try.

Being Very Very computer — How Tech Workers’ Attention Spans Wander

The internet is really good at helping you waste time – often during the pursuit of a work-related goal. Something like that happened to me this evening while I was hunting down the answer to Proxy server & NET:ERR_CERT_AUTHORITY_INVALID . By 7:45, I found myself reading the origins of Care Bear tummy symbols. This post is a recap of my findings…

Illusions of Explanatory Depth (IOED)

In 1993, everyone seemed to know of a pool cleaner who could also build a web site. That’s no longer the case. Now, there are too many sub-disciplines within software engineering for a single person to know how to design, build, test, and deploy a secure application from scratch. Most software engineers know this, but some are convinced they know more than they do – a completely normal phoneomenon known as the illusion of explanatory depth.

If Anthony Bourdain built CI pipelines, they would contain exactly Zero bullshit

Inferred competence is the act of correlating performance of a highly complex range of tasks from a single performance of one (or a few) tasks. When Anthony Bourdain wanted to hire a cook, he’d invite the candidate into his kitchen, and issue a single command: Make me an omelette. A thoughtful CI pipeline tries to duplicate that same simplicity.

CI/CD Dashboards for Observability of Software Build Failures

When you’re one of 42 developers spread out across 5 timezones waiting to merge work into master, flaky test failures in CI can really chap your ass. The video below is a brief show-and-tell of the CI/CD tools and processes I put into place in the summer of 2020 to fix that problem for my engineering team. Details are summarized below the video.

Computationally measuring similarity of terms with 6 algorithms

There are many methods of determining similarity and difference between terms with nltk. None are simpler to implement than the Levenshtein edit distance – but in many ways, this algorithm is grossly insufficient, because it doesn’t take into consideration a word’s meaning or sense (at all!). For accuracy, I’ve found that Wu-Palmer is the all-around most reliable. And even this has some not-too-obvious limitations. This blog post shows how each algorithm stacks up when comparing the word yell with some semantically adjacent verbs. Python code is attached.

NLP Pipeline trained on Modern Art Descriptions

“I have found that the trick to successful modern art isn't the art. It's the description.” – My buddy D

Naturally, ☝🏽this got my wheels turning. Could I design an algorithm that could write convincing modern art installation descriptions? Being a total noob with ai and nlp, how far could I get in a reasonably short amount of time in between work and snow shoveling? Well, I found out.

ORF Specification for Writing bug tickets

ORF is an acronym for Occam’s razor format. It is not real. There is no chance it will become a W3C standard. I made it up years ago (jokingly at first) when I started managing a backlog. But I enjoy acronyms, so I held on to it. Here’s the quick and dirty:

Some bug tickets are unclear despite containing lots of information. Some are very good, despite being tersely worded, sometimes profanity-laced – even ungrammatical. I wanted to better understand why: what makes a good bug ticket good, and a bad one bad.

This blog post is an informal summary of those findings, and a breezy presentation of some simple patterns that have worked well for me and my current teammates.