Dec 2019

For the most part of 2019, I felt very confused and disoriented. I came across a self-help book entitled ‘The Power of Agency’ that turned out to be helpful. The book can be boiled down to simple principles, which are summarized by the authors in an article. It helped me by letting me realize that there was still some wiggle room for me to exercise my ‘agency’ in the face of overwhelming uncertainties. And indeed, I began to follow the advice given in the book to shut out the noise from social media. With my mind calm now, I could focus on things at hand again.

The book itself is full of stories to support the seven principles. But some of the stories seem, well, unrelated at least to my situation. For example, a good-looking, atheletic high school student complained he’d been so bothered by the attention that he became anxious and self-conscious. He had to hide himself in a bathroom cubicle and distract himself by scrolling down his Instagram feed. (The authors advised him to stop checking social media.) I laughed out loud and stopped reading. Although I need to point out, the advice really worked for me. So at least read the summary.

Naval Ravikant’s tweetstorm ‘How to get rich without getting lucky’ and Sam Altman’s two blog posts ‘How to be successful’ and ‘Productivity’ reshaped my thinking about a lot of things.

But the most immediate effect was I began making to-do-lists on a notebook. I was obsessed with GTD software for the past few years and I certainly was not as productive as Sam Altman, who just listed things on paper. So I followed suit and found it surprisingly calming. The panicky scream ‘how the hell do I do this?’ stops when you write down the steps.

I’ve been using Anki to memorize vocabulary and facts for quite a few years, what Michael Nielsen calls ‘augmented long-term memory’. Until recently I didn’t realize this is only half of the equation. Michael’s approach seems to say, with all important facts etched in your mind, connections between them will arise subconsciously. But this is not necessarily true. The ability to connect dots and find logic links between ideas needs deliberate practice. And ‘Zettelkasten’ method explained in the book ‘How to Take Smart Notes’ helps, even forces, you to do this.

One of the striking points made in this book is: Writing should be the purpose of learning, reading and thinking. With this purpose in mind, when you summarize what you read using your own words, that is a test of your real understanding. By trying to find connections between notes, you are also practicing how to think. And by writing down what you think, you are confronting yourself. This way, you have to think things through, because you can’t hide your lousy thinking from yourself.

I’m using Bear for note-taking. I’ve rearranged my tagging system to try this method in 2020. I hope I can get myself to read more papers and technical books – and actually understand more – in the coming year.

Wish you a productive year in 2020.


Sept 2019

  • The 2019 class of master students have come and taken up the computer labs. Only a handful people were around during summer and we pretty much occupied the computer labs every day. With the labs taken during class hours, we had to look for other spots. Luckily, Carolina Rediviva is reopened after renovation.
  • When handling Universal Dependencies CoNLLU files, I grew tired of split()-ing and slicing. So I finally wrote a class. Looking back, I should have written a class at the very first minute of working on CoNLLU files. The moral of this story: Use abstraction. It saves time.
  • Downloaded sentence pairs from Tatoeba to refresh my Uyghur reading. One problem was similar sentences are submitted repeatedly. In order to weed out these nearly duplicate sentences, I calculated longest common substring. In the end I had to admit those sentences were not helpful for my reading after all. So I began reading a collection of short stories from
  • Began reading Python Cookbook. Having read about 10% of the book, I’ve already learned some very useful tricks that are very helpful for my daily programming. It is quite dense and informative. It will probably take me ages to finish.
  • I disabled Safari on my Mac.
    • On Firefox, I use LeechBlock to avoid wasting too much time on social networks and other sites. Facebook is generally detrimental and stressful, although sometimes it’s useful for event information. (But honestly, how many events you liked you actually went to?) News is stressful by showing you all the problems you couldn’t possibly solve even if you tried very hard and devoted your soul. And the world seems messed up right now. To block Safari, aka the loophole when LeechBlock is activated, you need to:
      1. go to Recovery mode by holding Cmd+R on boot;
      2. disable ‘System Integrity Protection’ by typing csrutil disable in Terminal;
      3. reboot and go back to OS X;
      4. right click on Safari icon, change the permission of your user group to ‘no access’;
      5. go back to Recover mode and turn on that Protection if you’d like to. The command is csrutil enbale.


Aug 2019

Here is what I did in August.

  • Learned Keras and managed to build a few toy LSTM networks. I remember spending a lot of time figuring out how the Embedding layer works. One of the tricks I learned to understand the input and output shape of each layer was to feed data into each layer respectively, without compiling the model. You’d be able to see how the shape changes before and after the layer by comparing the input and output.
  • Got language data for my experiments. I had no idea how difficult it was to get access to annotated language data. It’s only understandable though, as those corpora come from hours and hours of boring work by linguists. It usually takes an online application or an few emails. But one data source required to sign an agreement on a piece of paper, ask a supervisor to co-sign, and send the scan of it to them via email. They never replied.
  • Read A Concise History of Hong Kong. Great book.
  • Watched American Factory. Great documentary.