# April May June 2016 Summary

#### Posted on July 7, 2016

##### Last updated on August 1, 2016

This is a joint update for April, May, and June 2016. I don’t really have any excuse for lack of month-by-month updates for the past three months other than laziness and lack of adding to this document on a daily basis rather than leaving it until the end of the month.

The update is structured in a similar way to the last ones (January, February, March) but with much less content. I tend to have ebbs and flows of motivation that can last from 1-3 months and recently I’ve fallen into an ebb after an initial three months of flow propelled by New Year’s resolutions. I have a feeling I can now enter into a flow and that the July update will be of the right calibre.

If you are interested in receiving an e-mail update around once a month regarding new content on the blog, please sign up here.

# Projects

My main project nowadays is to improve my Haskell knowledge by obtaining some ground knowledge related to category theory. I’ll be taking some notes and uploading them to my site too. As an aside, if you are reading this and you are a programmer, I highly encourage you to learn any type of functional programming (I would recommend Haskell) to improve yourself as a programmer. You will start thinking completely differently about code and it will even translate to whatever imperative code you write - you will ensure that that you are writing as much as possible of your code as pure functions (ie, referentially transparent functions) and limiting yourself to impure code only when really needed.

Some resources for learning Haskell I recommend:

# Movies watched

I seem to have dropped the ball here and didn’t follow through with marking the movies I watched. It would now be too much of a pain to reconstruct all that I’ve watched as there was a lot. I will make sure to get back into marking the movies I watched for the July update.

I will mention one series of movies that I finished watching by watching another part of the series. You might be familiar with Lars von Trier. His depression trilogy which focuses on female characters going through a difficult loss, grief, or depression includes the three movies Antichrist, Melancholia and Nymphomaniac (in 2 volumes). I’ve watched “Melancholia” and “Nymphomaniac” and enjoyed both of them, but have been hesitant to see “Antichrist” due the number of reviews from which I understood the movie is rather gruesome and difficult to watch, although heralded by some as piece of art. Eventually this past month I went on to watch it and will conclude it’s my least favourite of the three. Overall though, it might not be for everyone, but I would recommend Lars von Trier’s depression trilogy for its difficult themes and great cinematography.

# Travel

At the end of May I took a week long holiday in Jamaica as it’s in a relatively convenient location from NYC. The country itself is relatively beautiful but visibly poorer and less developed than luxury holiday destinations like Mauritius. I did enjoy some beach relaxations and diving; the water in the Caribbean is definitely very good for diving.

My second expedition was a trip to Copenhagen to dine at Noma. I’ve had the reservation for a couple of months and considering that the restaurant is closing at the end of this year (to reopen with a different thematic idea later on), this was pretty much my last chance to go visit it. And if you’ve read anything else on my blog, you’ll know that I particularly enjoy Michelin starred restaurants and will be willing to travel across the Atlantic to eat at a high rated one.

Not only did I manage and have a fantastic dinner at Noma, the next morning we called up restaurant Geranium, a 3-star place, currently the only 3-star place in Denmark (Yes, it is a popular misconception that Noma has 3 stars, but in indeed does only have 2). Unsurprisingly, we were told that there are no available spots for lunch. But let 30 minutes pass, and surprisingly, we get a telephone call of a last-minute cancellation. That’s how I ended up at a three-star restaurant with a half an hour’s notice!

# Restaurants

• Geranium
• June 25th 2016, Copenhagen, Denmark, 3 stars
• Noma
• June 24th 2016, Copenhagen, Denmark, 2 stars
• The Modern
• June 14th 2016, New York City, NY, 2 stars

Total Michelin Stars collected up to now: 63

# Books

I didn’t do very well at reading an eclectic collection of books here. The root cause is probably laziness, but I have also been spending a substantial amount of time on improving my Haskell programming skills which took away from the book reading time. Moreover, the book I’ve been reading for more than 2 months now is 1800 pages long (a collection of blog posts from LessWrong by Eliezer Yudkowsky, “Rationality: From AI to Zombies”) and it’s really something that’s taking me a long time to go through and digest chapter by chapter.

In any case, I’m tracking slightly behind at 24 books read out of my goal of 52. You can follow the progress here.

# Assorted Thoughts

Here are some thoughts I have been having recently that I’ll note down here before possibly further developing them into posts of their own.

Now maybe you aren’t an engineer and have never heard of Kolmogorov Complexity and possibly the metaphor might feel forced, but allow me to explain.

If you read the description of Kolmogorov complexity, in simple terms it’s a measure of some objects complexity based on the length of the shortest computer program that can output this object (modulo some restrictions such that the programming language is predefined, etc). For example, say the object is the string “abcd”. The shortest piece of computer code that generates this string will probably be nothing ordinary, it could just literally print the string “abcd”. Now say the string is the alphabet “abcdefghijklmnopqrstuvwxyz”. Possibly a shorter representation would be a for-loop that prints the ascii representations of the integers 1-26 in order instead of printing the string. Or in Haskell, it could even be simpler and look like this as Char is an instance of the Enum typeclass:

Now imagine the object is the string “abcd” repeated a million times. Is the object a million times more complex? Does it require an explanation of how to create that’s a million times more complex than the explanation of how to make “abcd”. Surely not, you can just say take the program that explains “abcd”, and run it a million times.

What about a slightly different scenario where you generate a string of digits 1-6 by repeatedly throwing an unbiased die. Say you throw it five times, the result might be “16344”. Now say you have some time on your hands and throw the die a million times resulting in a string of one million digits. This time, can you construct a program that’s just slightly longer than our program to print “16344”? Nope. Because the random nature of the dice throw event makes it unpredictable and hence interesting, we can’t do much better than storing the whole resulting string of million digits.

With me so far? I’ll now try to make a metaphorical jump and map this theory to real life. Consider your life and whether it’s fair to say to your life is entirely defined by the ordered collection of actions that you take and events that you are a part of (the latter which is very heavily influenced by the former - no interesting event will befall you if your action is living in a cave and never leaving it).

I will now define your life’s “interestingness” as your life’s (actions that you take and events that you are part of) Kolmogorov complexity, and theorize that your own individual happiness and satisfaction is positively correlated with this interestingness.

This all might sound complicated and too formal but it really isn’t. Imagine you have to write a diary entry every day explaining what you did what happened to you on this day (which by the way I think is a great idea). If your first diary entry is relatively short of the form “I went to work today and relatively nothing happened” followed by every single next entry being “Today was no different from yesterday”, your life’s Kolmogorov complexity is low. Now imagine you do a lot of different things everyday of the week, be it travelling to new places, meeting new people, eating new foods, engaging in new activities - your diary entry for each day will be substantially different and you’ll need to write down a lot to cover the new actions you took and events that happened. I theorize, but with some caveats, that the person who has a longer diary is the more interesting, happy, and satisfied person. I’m very interested in what others think about this so if you have some thoughts please leave a comment.

I predict there might be some caveats or exceptions to the above, but I still think it holds for the majority. Say you are a professional athlete, for example a tennis player. Presumably being the top tennis player in the world, or even getting into the top 10, will make you a very, very happy person indeed. But to get there is a struggle, filled with tens of thousands of hours of tennis practice which as you can imagine will have low complexity of the kind of we discussed. In this way, my theory might not hold for people that have a mindset of a top performer, but these are outliers. Thoughts?

## Master of None

I theorize that if you want to good at some activities, you really need to limit it to 3-4 activities maximum to leave ample time for progress in each of them and don’t become a ‘jack of some trades, master of none’.

You could also think of each activity as a kind of project of self-improvement.

Right from the beginning, if you are employed that takes out right away one activity slot. I would also argue that depending on the job it might take away two, three or even more slots. You are now left with, say, 2-3 activity slots to improve yourself - any more and the others will suffer, and unless you very much enjoy that activity you were probably better off not wasting time doing it in the first place and re-allocate the time to another activity.

As an example, here are my current activities in order of time allocation.

1. Full-time job (easily takes three or more activity slots)
2. Reading “easy” fiction and non-fiction books and writing their commentaries
3. Improving my knowledge of functional programming.
4. Exercise

Here are some other ones that even though I would very much like to be doing, the others will suffer as there simply isn’t enough time.

• Improving my knowledge of statistical learning (textbooks + kaggle competitions)
• Improving my algorithmic skills (books, courses and ranked Topcoder competitions)
• Piano skills

I have recently started to want to improve my functional programming skills and something else had to suffer due to the limited time - I stopped doing as much algorithm practice and put my statistical learning on hold. Moreover, and this is the important point, if I were to try to do both I would probably be making crappy progress on both as, like you can imagine, for a lot of rewarding activities the reward function is non-linear in terms of time spent - it might take a sustained effort to break through a hockey-shaped reward function. Also, we are all continuously aging and losing previously learned information, so if you can’t allocate enough time to offset your skill’s loss function, you will never improve and you might even get worse.

Let’s look at some examples to clarify the above.

• If you go and exercise once every two weeks, it’s probably a waste of time and you won’t see any proper progress. You should reallocate the time to some other project of yours, or re-prioritize exercise so that you can do it consistently at least 2-3 times a week. If per my definition one of your activities is exercise, you will very much appreciate the visible reality of the loss function. Do your work set of squats and then don’t exercise for a month. Now try again doing that work set of squats. Good luck.
• My statistical learning skills - even though I have done a number of courses regarding statistical and machine learning, the skill loss function is just so strong with science heavy topics that if I were asked to derive and prove the backpropagation algorithm for neural networks I would have to re-learn it from scratch for maybe the fourth time now.
• I really do want to get better at piano but given my totally oscillating time allocation with the very low frequency of 1h-5h per month, I might as well not be doing it. I haven’t really improved at all for years now with my piano playing - every time I sit at a piano I’ll mess around for 30 minutes playing pieces I already know (pointless), or barely advancing in a new piece such that the next time I sit down the loss function comes into effect and I am pretty much in the same position as I was in last time I sat down, having forgotten the majority of what I learned.

I don’t really have any good solutions to solve the issues of learning and not forgetting that I raised above. Some options are:

• Maybe convince yourself that you don’t really want or need the results that some particular activity will bring. If you can reduce your interests to just 2-3 things you can do all of them without the issues raised here.
• Redefine your expectation of what some supposed activity is to bring. Maybe you do only exercise once every two weeks but it brings you such joy that you somehow feel better and more happy for all of the succeeding 2 weeks. In that case, it’s probably fair enough to keep the activity.

I hope this section piqued your interest and I of course welcome any comments and whether you have experiences or tips on this topic.

As mentioned, the fantastic lecture that covers the topic of learning, how to learn and how to prevent knowledge loss is this talk by Edward Kmett. It’s relevant to some points I raised in this section and to what I will propose in the next section and I would say it’s worth watching if you were intrigued by some of the points I presented here.

## Quantifying progress

Whatever you are doing, it is my belief that it is important to be measuring your progress.

You ideally should be measuring and managing your progress on multiple granularities.

• High granularity: Progress on specific sub-goals of an activity (as defined above)
• Medium granularity: Advancement in specific activities
• Low granularity: Aggregation of medium granularity progress reports joined with an overall picture of how you think you are doing.

Let’s clarify with an example. A high granularity progress measure for the activity of playing piano would be saying you learned 10 bars of a new piece you are studying, or for the activity of exercising, a decrease of 10lbs in your standard work set squatting weight (negative progress). A medium granularity view would aggregate the above and could decide that there is positive progress in the music activity and negative progress in the activity of exercising.

A low granularity view would now take the aggregation of your medium granularity views and try to get a picture of how you are doing overall.

What I am getting at is some way of finding the answer to what I think is an essential question:

“Are you just a little bit better version of yourself than last week/month/year?”

Suppose you ask yourself this question once a week. We should all be aiming to answer “Yes” in the majority.

I don’t have a concrete way yet to answer this question but the framework above is a start. Happy to hear any thoughts on this.

# Conclusion

I’ve skipped the previous updates for May and June and joined three months into one update which I see as a slight personal failure. I am promising to make a timely July update. Further, this update included three short musings on a proxy for happiness, on activity time-boxing, and on measuring progress.