tail -f ~/thoughts.log
The working version, the version that didn't work, and what changed in between.
Getting assigned a GSoC feature that requires Ansible when you've never touched it is one kind of problem. This is the full breakdown — inventory files, playbooks, roles, and every error that appeared before it finally ran clean.
SSH looked simple until it didn't. Key pairs, config files, agent forwarding, tunneling — this is everything I had to actually understand before I could write a single line of the feature I was supposed to be building.
Four weeks into Google Summer of Code at MIT App Inventor. What responsive actually means inside a legacy GWT codebase, which components broke first, and what the first working prototype looked like on a phone screen.