Things I changed my mind about
Keeping this as a record. It’s easy to forget that you ever believed differently. Writing it down forces honesty.
“Discipline beats motivation”
Before: Motivation is unreliable, discipline is everything, just force yourself.
Now: Discipline is real and useful but it’s a finite resource, not a personality trait. Designing your environment so the right behavior is the easy behavior (what James Clear calls “habit shaping”) is more sustainable than white-knuckling through willpower every day. I still respect discipline. I just don’t worship it anymore.
Tabs vs. spaces
Before: Spaces, obviously. Tabs are for savages.
Now: Tabs. They’re semantically an indent, they’re one character, and they let each person set their own visual width. I was wrong for years and I’m man enough to say it.
“You should have a morning routine”
Before: Wake at 5:30, meditate, journal, exercise, cold shower, read, all before 8 a.m.
Now: I wake up, drink coffee, and start working on whatever feels most alive. Some days that’s code, some days it’s reading, some days it’s staring out the window. The routine fetish is another productivity trap dressed up as self-improvement. Some of the best work I’ve done happened after waking up at 11 and going straight to the laptop in my underwear.
Social media is unambiguously bad
Before: Delete everything. It’s all dopamine manipulation and attention harvesting.
Now: It’s mostly that. But I’ve also found papers, tools, collaborators, and friends through Twitter/X that I genuinely wouldn’t have found otherwise. The problem is the ratio, not the medium. Curation is possible, just exhausting.
“Learn the fundamentals before building”
Before: Study theory first. Know the math. Read the textbook. Then build.
Now: Build first, understand later. The theory sticks better when you have a concrete problem motivating it. I learned more linear algebra from implementing backpropagation than from a semester of linear algebra class. The fundamentals aren’t prerequisites — they’re companions.
Python is slow and that matters
Before: Python is a scripting language pretending to be a real language. Use C++ or Rust for anything serious.
Now: Python is slow and it almost never matters. The bottleneck is thinking time, not compute time. For the rare cases where performance matters, you call into C/CUDA/Rust from Python. The ecosystem (NumPy, PyTorch, pandas) is so strong that the language speed is irrelevant for 95% of work.
Reading widely is more important than reading deeply
Before: Read one book thoroughly before starting another. Finish what you start.
Now: Both matter, but I’d been over-indexing on finishing. Some books deserve 400 pages of your attention. Some deserve 40 and then you move on. The guilt of abandoning a book is less costly than the opportunity cost of finishing a bad one out of obligation.
Last updated: March 2025