Here’s the review of my entire year of 2020.
The idea of making public reviews of my own life comes from James Clear’s annual reviews. The goal of these public reviews is twofold: to keep myself accountable by sharing my goals and actions; and to provide useful information and perspective to those embarked on similar journeys.
Warning: this might be very boring. I think these reviews are mainly useful for myself.
Goals
My goals remained the same through the year:
In February I decided to focus fully on Altocode and leave OneMillionLoops in maintenance mode.
I didn’t achieve any of my three goals during 2020. But I am still making progress on all three and confident that I’ll get there sooner or later. It’s interesting to start 2021 with goals I’ve been working on for at least a year – makes the new year more of a continuation than a new beginning.
In fact, rather than determining my direction for the year from scratch, I’ll do it along the course of this article, as corrections and improvements of what I did during last year.
Physical
In physical terms it was a very good year, thanks to systematic workouts. I work out about one hour per day, Monday to Friday, and I try to do a run every weekend. Here’s the summary of what I actually did, for each of the quarters:
- Workouts: 63/65 (Q1), 64/65 (Q2), 50/65 (Q3), 65/70 (Q4). Total: 242/265 (91%).
- Runs: 8/13 (Q1), 6/13 (Q2), 7/13 (Q3), 9/14 (Q4). Total: 30/53 (57%).
- I also ran my first timed half marathon in 1h57m just before the end of the year.
For the upcoming year:
- I should be explicit about how much (or how little) I work out during my holidays. Other than that, the workout habit seems to be firmly established.
- I should be less lazy and run more often; I’d like to aim for 80-90%.
- I’d like to run a marathon under four hours. I’ve never run a marathon yet.
In terms of fat loss, this year there was great progress towards my goal of reaching 10% body fat. In terms of net megacalories (mcal) and waist measurements (in cm), here’s how the quarters went:
- -0.5mcal, 94 -> 91 (Q1)
- -21mcal, 91 -> 87 (Q2)
- +16mcal, 87 -> 88 (Q3)
- -23mcal, 88 -> 89 (Q4)
- Total for the year: -28.5mcal, 94 -> 89
By my reckoning, a deficit of 28.5mcal equals a loss of about 3 kilos of fat (as a kilo of fat is about 9mcal). This is supported by the DEXA scans I performed in Q3 and Q4. Here’s the results for the last three DEXA scans, one in 2019 and the other two in 2020:
- 2019-08: 13.8kg fat, 60.5kg lean mass, 74.3kg total, 18.5% body fat
- 2020-08: 10.3kg fat, 59.8kg lean mass, 70.2kg total, 14.7% body fat
- 2020-12: 8.6kg fat, 62.3kg lean mass, 70.9kg total, 12.1% body fat
While it’s impossible to know exactly why this happened, these are the changes I implemented this year:
- Count calories in an approximate way (give or take 200-300 kcal) but add up the totals over the course of weeks, then of quarters. In other words, have an ongoing long-term calorie count.
- Develop a cycling pattern on normal weeks, where I have a lean day (85g of protein + two apples) on Monday, OMAD Tuesday to Friday and then days to eat over maintenance on Saturday and Sunday.
- Develop the protocol of lean weeks, for quick fat loss. After a lot of tinkering, what seems to work best is to have four lean days back to back, from Monday to Thursday. Since my daily caloric burn is about 2.5mcal, and I only take 0.5mcal between protein and apples, a lean week generates a deficit of 8mcal (almost a kilo of fat!). Then I regain some weight/calories during the weekend, usually 2-3mcal.
- I put in place no restrictions whatsoever about what type of foods I eat. The restrictions are really about 1) counting calories; 2) controlling intake by controlling the timing of the intake.
To get to the goal, I need a deficit of about 25mcal, which is four lean weeks. It is likely that I’ll get there on the first quarter of 2021. I’m curious to see if as I get closer, the lean days/weeks get harder, easier, or stay at the same level of difficulty. Usually the second day is the hardest and the third and fourth day are easier, even when working out.
Learning
Since about 2017 I’ve been having a daily block of learning – or rather, striving to. This year the habit has been quite solid. The learning “subjects” are piano, Russian, Dutch and reading non-fiction. In the last quarter, I replaced an earlier math learning block with reading non-fiction, not because I didn’t like math, but because I felt that reading was more important and I couldn’t find a consistent block of time in the evening for that.
Here’s the averages I had of “showing up” to each of the learning subjects:
- Languages: 62% (Q1), 75% (Q2), 72% (Q3), 85% (Q4); 73.5% total. In terms of achievements, I passed my Dutch A2 tests; I also did about a third of a Russian grammar book that has enough grammar to pass a B1/B2 level.
- Math: 66% (Q1), 57% (Q2), 66% (Q3), discontinued in Q4. 63% total.
- Piano: 68% (Q1), 62% (Q2), 63% (Q3), 74% (Q4); 67% total. In terms of achievements, not much was done. I studied and fingered a Bach fugue, also being able to play a difficult passage; but I’m experience significant issues with determining fingerings and memorization. I’m reconsidering my entire approach here.
- Reading: 85%. Finished two books and read most of a third one. Very happy about making deliberate time to read non-fiction.
Here’s what I’d like to change for the upcoming year:
- Aim for a higher rate of presence in learning, at about 80-90%.
- Maintain the learning processes I use with Dutch and Russian, which is a combination of text books and Anki cards to retain the knowledge.
- Rethink my method for learning piano, in particular memorization.
Projects
My two main projects are ustack and ac;pic. My intended habit this year was to work on them every weekday, for 1.5 hours each. In practice, this is what happened:
- ustack: 54/65 50:15 (Q1), 43/65 36:50 (Q2), 40/65 38:00 (Q3), 35/70 53:05 (Q4); 172/260 178:10 (total, 66%, 1.03 hours average).
- apps (ac;pic): 56/65 75:50 (Q1), 67/65 141:45 (Q2), 56/65 75:50 (Q3), 61/70 74:40 (Q4); 240/260 368:05 (total, 92%, 1.53 hours average).
In summary, I had 2/3 of the planned working sessions for the ustack and for a length of an hour instead of an hour and a half. For the apps I was much closer to my intention, with 92% presence and an average of slightly over 1.5 hours.
In terms of achievements:
- ustack: virtually all the effort went into gotoB v2. I spent the entire year working on it! The base libraries on which it’s built were already rewritten at the beginning of the year. While gotoB v2 is not yet completed, its code and tests are. I’m currently working on a few examples and on its documentation. It was a major challenge to rewrite the library, but I’m happy to have done it. Also, the crazy idea of making it work on very old browsers (including Internet Explorer 6 and Firefox 3) turned out to be possible. Seeing the tests run well on any browser, crazy as it is, made me very happy. In practical terms, the new version is now much much better than the previous one, and it feels much closer to a finished piece of software.
- apps: virtually all the effort went into ac;pic, except for the month of January which was devoted to OneMillionLoops. In this year, ac;pic had a full UI redesign and gained some major features, like geotagging, importing from Google Drive, video support, support for many video and image formats and multiple functionality improvements. It basically went from a pre-alpha to an almost-beta. Together with my co-founder Tom, we also lay down the philosophy, the approach and the economics for the app and the business behind it. We also set up Altocode’s blog and ac;pic’s website. Besides ac;pic, the design base was set up for ac;tools, and ac;pic already uses a crude v0 of ac;tools for both logging and statistics. ac;tools will grow around ac;pic for a while before becoming its own thing.
For the upcoming year, I’d like to do the following:
- Be more systematic about working in the ustack (aiming for 80-90%), but only for one hour instead of an hour and a half.
- Raise my energy levels before each working session, to get more out of them and have more fun too.
- Finish gotoB (perhaps in Q1) and the four remaining libraries (rest of the year).
- Launch ac;pic (probably Q1, perhaps Q2), launch ac;tools (perhaps 2021, perhaps early 2022).
The black swan of 2020, in terms of work, was the backendlore article I published in January. I wrote it in an afternoon as a way to get into writing some design principles I use when designing apps, so I would have something to point to when discussing architectural matters with clients.
Almost by reflex I posted it to Hacker News since I figured it might be useful to a few people. Against all expectation, it reached the front page of Hacker News and became very popular. The backendlore repo (which is just a document) became the trendiest repository in the entire Github. I got amazing and very detailed feedback, both on HN and on Github, so a couple weeks of my life essentially got hijacked by backendlore. It was exhilarating, a bit stressful, and a lot of fun.
Thanks to this, Jeremy Jung had me on his podcast, and also thanks to him I met Felienne Hermans, with whom I’m now working on Hedy. After my 20 seconds of fame, backendlore definitely left positive ripples in my life.
A funny note: before backendlore, my most popular repo (which is also the oldest and on which I have been working for seven years) had 11 or 12 stars and I was (secretly) proud of that. Backendlore, which was written in less than a day, got more than four thousand stars in a few days (incidentally other repos of mine got tens of extra stars because of all the attention). So much for incremental progress.
Gratefulness
Besides backendlore, I’m grateful for many many things. This was a very hard year for humanity, given the pandemic and its after-effects. My 2020 was mostly a year of growth and progress, but none of this would have been possible without my family, my friends, business partners and society in general. Anything I did is only because I was enabled by others to do.
I’m grateful for:
- Not becoming sick with Covid, nor having anyone in my immediate family being sick. My only friend who got it recovered well. My wife’s grandad Nikolay passed away from Covid, and he will be sorely missed.
- My wife, with whom I spent the year together at home, including the lockdown weeks. She put up with me and my habits and took amazing care of our daughter. She made this year possible.
- Being able to make ends meet, with special thanks to an old client who reappeared just as my finances were looking dire.
- My lifelong friend and co-founder Tom, who shared the OneMillionLoops journey with me and joined me fully in Altocode this year. I’m lucky and relieved to be able to count on him for my most important projects.
- The writings of James Clear and Steve Pavlina, who have been a constant source of ideas, positive energy and high standards.
- Everyone who kept medical research and medical care going in this very difficult year, saving many lives and preventing the deaths of millions.
I have great hopes for 2021, for the world as a whole and also for what’s immediately ahead in my path. I wish you a year full of happiness, insight and prosperity.