RSS.Social

bytes.zone

follow: @[email protected]

Posts

Should we design for iffy internet?

LFFS update, June 2025

a dilemma, or is it a conundrum? Maybe it's a dilendrum!

some time tracking results

Local-First Foundations

LFFS: both a TUI and a GUI?

Depth Year - January

early thoughts on using beeps

LFFS: Simplicity vs Efficiency

Local-First From Scratch, part 1

Local-First From Scratch

CRDTs for tinyping

doing in a day what I could not in 6 months

you can try tinyping, if you want

platform engineers work on the meta-product

what is platform engineering?

platform engineer at PayNearMe

Notes from setting up Nomad

Kubernetes whoops

tinyping's stack

tinyping and scrub moves

tinyping

elm-duet 0.1.0

Stopping thing-a-month

elm-duet

tinyping month 2

Kratky in the basement

elm-duet

seeing the forest through the trees

app architecture

what's between two pings?

messing around with statistics

wrapping up month 0

thing-a-month (awareness)

sourcing secrets from 1Password

running this blog on Kubernetes

Ukulele seems nice

getting back off the CI train

getting on the CI train

moving Kubernetes to New Jersey

first light on HTTP

a Kubernetes shopping list

shopping for a scheduler

thing-a-month

kicking off thing-a-month

meta: micro posts are in the feed now

thing-a-month (meta)

modeling CRDTs in Alloy - counters

sticky table headers with bottom borders

engineering design systems at Vendr

modeling CRDTs in Alloy - introduction and the importance of idempotence

Modeling in-flight requests in Alloy

growing hydroponic lettuce

tsort

Trying and Failing to Implement Artificial Ignorance

crunch_str

once p is true, it's always true

montage

launch ftw, part 13

moving genrules to library rules

buck2 basics

Do I want to learn Dafny?

launch ftw, part 12

launch ftw, part 11

launch ftw, part 10

launch ftw, part 9

launch ftw, part 8

launch ftw, part 7

launch ftw, part 6

launch ftw, part 5

launch ftw, part 4

launch ftw, part 3

launch ftw, part 2

launch ftw, part 1

Modeling Git Internals in Alloy, Part 3: Operations on Blobs and Trees

Modeling Git Internals in Alloy, Part 2: Commits and Tags

Modeling Git Internals in Alloy, Part 1: Blobs and Trees

aligning Markdown tables in Helix

how to add weak fairness on actions

give aliases when inverting relations

what is the randomart image for?

fields as sets

signing commits with SSH keys

What does expect 1 mean in Alloy?

advice you might as well take

pagerank for my Obsidian notes

The Value of a Model is More Making than Having

Modeling Database Tables in Alloy

Digital Gardening in Obsidian

Scope in the TH element

Projects

bold

Alloy

learning Alloy

home recycling

being the wandering toolmaker

tree-grepper

The Four Rules of Simple Design: In Conclusion

Rule 4: Code for Now

Rule 3: Centralize Behavior

Rule 2: Clarify Your Intent

Rule 1: Simplify When the Program Works

My Take on the Four Rules of Simple Design

rbt

Trying (and Failing) to Speed Up String.startsWith

nix-script

elm-csv, package and talk

elm-csv: be as boring—and as fast—as possible

elm-csv

Should Elm files be long or short?

Learning Requires Effort

Tracking and Lasting

time-to-horse

Phantom ID Types

Bang Shortcuts

the hyper key

elo-anything

Tradeoffs of Custom ID Types in Elm

Renaming Files with Braces

state-transition tables

clown computing

Fuzzy Finding with Levenstein Distance

callCabal2nix

git root

bad-datalog

tmux-session

Reducing Asset Size With Subsetting

a batch at the Recurse Center

Robot Buttons from Mars

Joyful Particles in Elm

The State of Elm 2017 (Extended Edition)