today-i-learned icon indicating copy to clipboard operation
today-i-learned copied to clipboard

A repo to keep track of random things I learned. Most technical, many not.

Today I Learned

A place for me to write down all of the little things I learn every day. This serves largely as a way for me to remember little things I'd otherwise have to keep looking up.

Many of these will be technical. Many of these will not.

Behold my periodic learnings, and judge me for my ignorance.

Tech and Team

"Worky" things. Mostly (or entirely) technical and team leadership learnings.

AWS

  • Amazon EBS volume type details (21 March 2021)

Bash

  • Bash shell prompts (6 May 2020)
  • Bash shell prompt statement variables (6 May 2020)
  • Move to the root of a Git directory (6 May 2020)
  • One-liner to calculate the md5sum of a Linux path (7 May 2020)
  • Safer bash scripts with set -euxo pipefail (14 May 2020)
  • Ring the audio bell (18 May 2020)
  • Don't do grep | wc -l (25 May 2020)
  • A generalized single-instance bash script (23 June 2020)

Calculations and Estimations

  • Approximate with powers (25 May 2020)
  • Ballpark I/O performance figures (25 May 2020)
  • Little's Law (25 May 2020)
  • Rule of 72 (25 May 2020)
  • Calculating IOPS (21 June 2020)
  • π seconds is a nanocentury (22 June 2020)

Consul

  • Ingress Gateways (18 June 2020)

Containers

  • Non-privileged containers based on the scratch image (15 June 2020)

Git

  • Using core.excludesFile to define a global git ignore (26 June 2020)

Go

  • Check whether a file exists (27 April 2020)
  • Generate a hash from files in a path (27 April 2020)
  • Ristretto: a high-performance Go cache (13 June 2020)
  • OpenTelemetry: Tracer (29 June 2020)
  • Using error groups in Go (29 June 2020)

Kubernetes

  • Install TLS certificates as a Kubernetes secret (29 April 2020)

Linux

  • Create a cron job using bash without the interactive editor (7 May 2020)
  • Create a Linux service with systemd (8 May 2020)
  • The socat (SOcket CAT) command (15 May 2020)
  • The lastlog utility (23 May 2020)
  • Sparse files (23 May 2020)

Mac

  • The osascript command is a thing (18 May 2020)
  • Installing flock(1) on Mac (21 June 2020)

Miscellaneous

  • Install and set up the Hugo static site generator (7 June 2020)
  • Chesterton's Fence (27 May 2020)
  • Easily Create New Google Docs/Sheets/Forms/Slideshows (22 September 2020)

SSH

  • Break out of a stuck SSH session (30 April 2020)
  • Exit SSH automatically on network interruptions (30 April 2020)

Software Architecture

  • Hexagonal architecture (30 May 2020)

Team

  • Amazon leadership principles (3 May 2020)
  • Never attribute to stupidity that which is adequately explained by opportunity cost (4 May 2020)
  • Stop writing code and engineering in the critical path (3 May 2020)

Terraform

  • Custom Terraform module variable validation rules (20 May 2020)
  • Terraform plugin basics (3 May 2020)
  • Terraform provider plugin development (3 May 2020)
  • Terraform provider for generic REST APIs (26 June 2020)
  • Terraform provider for time (15 June 2020)

TLS/SSL

  • Anatomy of a TLS+SSL certificate (6 May 2020)
  • Using Hashicorp Vault to build a certificate authority (CA) (6 May 2020)

Non-Technical Things

Non-work things: baking, gardening, and random cool trivia.

Baking

  • Banana bread recipe - 2lb loaf (Bread Machine) (23 April 2020)
  • Perfect Pie Crust (7 March 2021)
  • The Best Chocolate Chip Cookie Recipe Ever (9 May 2020)
  • Apple Pie (12 October 2021)
  • The Great Pumpkin Pie Recipe (12 October 2021)

Gardening

  • Why are the cotyledon leaves on a tomato plant falling off? (5 May 2020)

History

  • The Late Bronze Age collapse (17 May 2020)
  • Geological eons and eras (1 June 2020)

Miscellaneous

  • "Button up" vs "button down" (6 May 2021)
  • Converting a YouTube video to a Zoom background (23 April 2020)
  • Voronoi diagram (17 June 2020)

Services

Vocabulary

  • Sealioning (13 May 2020)