! These are Demo Pages. Everybody tells you to arrive with a five-year plan. I arrived with a vague sense that [broad topic] was interesting and a reading list that was mostly wrong.In hindsight, about a third of that first reading list turned out to be load-bearing. The rest was noise.

The thing nobody mentions is that the first year is mostly spent figuring out which questions are actually answerable in five years, and which ones just sound good in a personal statement.

What actually helped

  1. Talking to senior PhD students, not just the advisor, about what a normal week looks like.
  2. Writing down the vague idea in one paragraph, every month, and watching it change.
  3. Accepting that the first “project” would probably be thrown away.It was. Most of it lives in archive/ now.

None of this is a plan. It is closer to a method for finding one.

The one script I still use

The only artifact from that first, mostly-discarded project that survived is a small logging snippet I paste into every new experiment:

def log_run(config, metrics, path="runs.jsonl"):
    with open(path, "a") as f:
        f.write(json.dumps({"config": config, "metrics": metrics}) + "\n")

Small, boring, and it has saved me from re-running an experiment to recover a number I forgot to record more times than I can count.