Posts
- 2024
- platform engineers work on the meta-product, September 23, 2024
- what is platform engineering?, September 9, 2024
- Kratky in the basement, April 1, 2024
- sourcing secrets from 1Password, February 27, 2024
- 2023
- modeling CRDTs in Alloy - counters, November 27, 2023
- sticky table headers with bottom borders, November 13, 2023
- ⭐️ modeling CRDTs in Alloy - introduction and the importance of idempotence, October 9, 2023
- Modeling in-flight requests in Alloy, October 2, 2023
- tsort, September 25, 2023
- Trying and Failing to Implement Artificial Ignorance, September 18, 2023
- crunch_str, September 11, 2023
- once p is true, it's always true, August 28, 2023
- montage, August 21, 2023
- moving genrules to library rules, August 14, 2023
- buck2 basics, August 7, 2023
- Modeling Git Internals in Alloy, Part 3: Operations on Blobs and Trees, April 24, 2023
- Modeling Git Internals in Alloy, Part 2: Commits and Tags, April 10, 2023
- Modeling Git Internals in Alloy, Part 1: Blobs and Trees, April 3, 2023
- aligning Markdown tables in Helix, March 13, 2023
- how to add weak fairness on actions, March 6, 2023
- give aliases when inverting relations, February 27, 2023
- ⭐️ what is the randomart image for?, February 20, 2023
- fields as sets, February 13, 2023
- signing commits with SSH keys, February 6, 2023
- What does expect 1 mean in Alloy?, January 30, 2023
- ⭐️ advice you might as well take, January 22, 2023
- pagerank for my Obsidian notes, January 17, 2023
- The Value of a Model is More Making than Having, January 9, 2023
- ⭐️ Modeling Database Tables in Alloy, January 2, 2023
- 2022
- ⭐️ Digital Gardening in Obsidian, December 26, 2022
- Scope in the TH element, December 19, 2022
- Projects, December 14, 2022
- ⭐️ Alloy, December 12, 2022
- 2021
- ⭐️ tree-grepper, August 31, 2021
- The Four Rules of Simple Design: In Conclusion, August 25, 2021
- Rule 4: Code for Now, July 13, 2021
- Rule 3: Centralize Behavior, July 6, 2021
- Rule 2: Clarify Your Intent, June 29, 2021
- Rule 1: Simplify When the Program Works, June 22, 2021
- My Take on the Four Rules of Simple Design, June 15, 2021
- Trying (and Failing) to Speed Up String.startsWith, March 1, 2021
- ⭐️ nix-script, February 23, 2021
- elm-csv, package and talk, February 15, 2021
- Should Elm files be long or short?, January 11, 2021
- Learning Requires Effort, January 5, 2021
- 2020
- Tracking and Lasting, December 29, 2020
- time-to-horse, December 22, 2020
- Phantom ID Types, December 14, 2020
- Bang Shortcuts, December 8, 2020
- the hyper key, December 2, 2020
- ⭐️ elo-anything, November 24, 2020
- Tradeoffs of Custom ID Types in Elm, October 26, 2020
- Renaming Files with Braces, October 19, 2020
- ⭐️ state-transition tables, October 13, 2020
- clown computing, October 12, 2020
- Fuzzy Finding with Levenstein Distance, October 6, 2020
- callCabal2nix, September 22, 2020
- git root, September 10, 2020
- tmux-session, April 16, 2020
- Reducing Asset Size With Subsetting, March 3, 2020