Ben Trevett Home | GitHub | Twitter

You Will Always Be Stupid and Naive

2022-03-16

My goal for the past year was to post more, however I predictably stopped posting about three months into the year due to things – finishing my PhD, getting a job and other miscellaneous life stuff – getting in the way. I thought it would be fun to look back at a post of mine from the past and see what mistakes (of which there are many) I’d made, mostly because I could just spew out a stream-of-consciousness style post in order to bash something out quickly, and it would be pretty painless to write.

In December 2016, not long after I started my PhD, I wrote a post called “Learning to Learn”, in which I talked about how I had tried to blog consistently in the past, and it had never worked out, but somehow this time would be different. Obviously, I was wrong. I mentioned that Paul Graham and Steve Yegge were my inspirations for blogging. Why were they my inspirations? Because I was interested in tech, those people worked in tech, and they blogged, and I wanted to be like them. I don’t think I’ve read either of their blogs for a good couple of years now – does Yegge even post anymore?. Of course, I wrote about two blog posts before running out of things to say and stopped completely. I was stupid and naive to think that this time would be different, and I’d be able to blog consistently.

In the post I mentioned how now that I was doing a PhD I would spend a lot of time learning, which means I spent more time thinking and writing down ideas, which I could hopefully clean up and then post. For a while I did keep notes on the papers I’d read, but the effort to keep up with this was difficult, and I found myself mainly just writing abridged versions of the paper by copying large chunks of it – not really useful for anyone. There were also times I tried to keep a public wiki, however managing this was too time-consuming, so I removed it after a while. I now use LogSeq to manage my notes, however most of the information is too personal to post publicly, and it’s not rigorously maintained, usually because I find the act of writing something down – and having it searchable if I need to resurface some information – is usually good enough. I was stupid and naive to think I could effectively maintain paper notes and a public wiki.

Furthermore, I went on to mention how I was looking forward to learn “how to code” during the PhD – as I come from a non computer science background – was surprised about how much theoretical work went into a PhD and how most of the actual coding is just hacking at prototypes. I was stupid and naive to assume a PhD would not involve a lot of theory and would be learning solid software engineering skills.

I wrote about how I was going to go through an incredible transformation of self-development by reading books on: the philosophy of programming, computer architecture, compilers, data structures and algorithms, linear algebra, probability and statistics. Of course, I never finished the first couple of chapters of any textbook. I was stupid and naive to think I would be able to finish even a handful of those books, or that just reading a textbook would be enough to learn anything deeper than a surface-level understanding of these concepts.

Similarly, I mentioned how I would learn everything from MOOCs and that I could maybe do an hour a day on a MOOC and finish one every month or so. I could get 40 MOOCs done over the four-year period, just think about how smart I’d be! The only one I remember finishing is the original Andrew Ng Machine Learning one, and I finished that before I ever started my PhD. Again, I was stupid and naive to think I could keep up with watching MOOCs and consistently finish them.

Finally, I mentioned how using Anki to study flashcards was an underrated superpower and with it, I could memorize everything because that’s what I’d done at university. Turns out that studying flashcards is mind-numbingly boring, and I found myself creating hundreds of cards but having absolutely zero motivation to ever study them. I was stupid and naive to think I could sit there for a few hours every day and study flashcards without the threat of a looming exam to keep me motivated.

So, what have I actually learned looking back at that post?

For one, I came into the PhD with a mindset of “you must study incredibly hard for an extended period of time, every day, without fail”. I don’t doubt that there are people out there that could do this, but I am not one of those people. I originally thought that everyone that had done a PhD was some incredible genius and to become one of them I would have to work my ass off 24/7. It turns out that most people with a PhD are incredibly average, and you can actually just pick knowledge up as you go along, which is a much better way to learn because it’s actually relevant to the problem you’re solving right now and you have some immediate motivation to study that topic. Learning by doing is infinitely more effective than learning from a textbook or a MOOC. The other month I wanted to make a Wordle clone using GloVe embeddings, so I did. I don’t really know JavaScript that well, so I just hacked it up and when I didn’t know how to do something in JavaScript I just searched it online. How much easier would it all have been if I’d read a book on JavaScript a few years ago? Probably not that much easier at all because I would’ve forgotten everything by now.

Second, consistency is hard. According to Atomic Habits I really should be doing things consistently because that’s the best way to become a “better person” (whatever that means). However, I enjoy my free time because it gives me a chance to relax and unwind. Having a job is great because I can just shut my brain off after work and don’t constantly wake up in the middle of the night because I’ve thought of some experiment to run or some paragraph to put in my thesis. I don’t really want to read chapter from book on compilers after work every night, the only time I want to read a book on compilers is if I’m doing some sort of after work side project that I’m really interested in, and it requires some knowledge of compilers. Maybe I’m just lazy and unmotivated, but I think forcing yourself to be “always on” just leads to burnout.

Third, blogging is hard and usually pointless. I came up with the idea to write this post literally last night. It came to me out of the blue. If I sat down every Saturday and forced myself to write something, what the hell would I come up with? Most probably absolute crap (not to say that this post isn’t absolute crap either), just like a series of posts I did called Weak Links which was just me writing down my thoughts about Hacker News articles I’d seen in the previous week. Who wants to read those? Not even I want to go back and read those.

Publishing notes is also pretty pointless. Writing should be a way to get ideas out of your head and put them down so your can organize them later. They should be unstructured, and no care should be made if they can be understood by someone else. Once the thought is out of your brain and on to a screen, you’ve already gained all the benefits: it’s out of your head, and it’s searchable. In the vast majority of cases there’s almost zero benefit to cleaning them up and publicly posting them.

Also, I’ve learned to actually use decent commit messages because most of the ones in the past were just “update file” and it made finding that old post incredibly difficult.

Did I actually get less stupid and naive? Well, I did another post in January 2021 called Beginning. Again, I talk about writing more (which I didn’t do), finishing my thesis and viva (which I did), publishing a paper and starting a job (which I did), writing five tutorials (of which I have written zero, and not even maintained the ones I have written), post at least twice a month (which I did until March), read 21 books (which I did), and read 2 textbooks (which I didn’t do). I missed about half my goals, but at least they were reasonable. I still think I was a bit stupid and naive, though considerably less so.

Looking back, I’ve found that I’ve always been stupid and naive in my assumptions of what I’d be able to get done. However, compared to 2016 I am an enlightened genius. But I know that in a few years time I’m going to look at this post and realize how stupid and naive I was when writing this. So, you will always be stupid and naive, but every year you’ll be a just a little bit less stupid and a little bit less naive than the year before.


Home Top