Footprints in the sand from Thomas Greco
Trials and tribulations of a programmer with a deep appreciation for deterministic software... and also, life!

Getting Into Flow
Key takeaways from a conversation about flow states and how to make it easier to get into one.
Prevent Impossible States Pt. 2 - State Transitions
Model a timer's states and events with TypeScript unions, then define the rules for moving between them.
Prevent Impossible States Pt. 1 - Union Types
Use TypeScript discriminated unions to require the right fields, narrow object types, and catch unhandled cases.
Life of a stargazer
featuring Colorfigures