2021 Year-In-Review

It’s been another strange year. The global pandemic rages on and I’m still stuck at home. The scary part is that it’s starting to feel like a new normal. So much so that without vacations or social interactions, a lot of this year has flew by with many days blending into each other — something that is a little bit scary. Perhaps one of the only things that helps stave off the monotony of this life is my daughter, who has progressed from infant to toddler along with all of the associated changes. It’s a joy to watch her learn and grow, and it makes most days fun and enjoyable. A few other important changes have shaken things up a bit as well but I still long for the days where I could go out, meet up with family and friends, and enjoy some good food and drink. It’ll come eventually but for now I’ve lowered my expectations and instead I am trying to find balance within the current situation. Life can be so unpredictable and strange but all we can do is choose how we react, and in my case I choose to make the most I can out of a global pandemic. So with that, let’s get on to the review!


Family: Almost all of my free time has been taken up raising my daughter, this is probably a very familiar experience to most new parents. It’s been such joy seeing her grow this past year. There is a saying: “we are the average of the five people we spend the most time with”, and without a doubt my daughter is one of the people I spend the most time with and has affected me in a dramatic way.

Seeing her delight in the simplest of acts somehow gives me a new perspective on life. In many ways, most other things have decreased in importance. Notwithstanding the pandemic, things that I used to do regularly such as going out to eat, hanging out with friends, or lazily sleeping in on the weekend are things that I still miss but not urgently. I get more than enough entertainment and joy from playing with her (even when I’m dead tired!). In other areas such as work, I’m less stressed than I was previously. It’s a bit easier for me to take a step back away because I have this totally different world (my daughter) that keeps me occupied. Having said that, a bunch of new worries all related to my daughter are starting to surface starting with COVID. As I understand that is only going to get worse as she grows up, but for now I’ll do my best not to think too hard about all of those things.

As an aside, one really cute thing I did on her birthday was write a letter to her. It was an idea I got from somewhere on the interweb. The idea is that you write a new letter each year and when she’s an adult she can have some insight into her childhood and what it was like raising her. Other things like journaling and taking lots of photos and videos are still things that I do, but probably not as often as I should. It’s a very unnatural habit that I never really picked up but it’s never too late to start!

Staying at Home: We’ve been trying to keep extra safe taking many precautions and severely limiting outside contact. We have frequent visits from the grandparents, less frequent visits from my siblings (and their kids), and maybe one or two visits from friends. For my wife and me, this is fine because we have a really nice setup at home. My main worry is about my daughter who hasn’t had much interaction with other kids (or people). She’s still young so I’m not too worried but parents will be parents.

Friends: My only regret during this time has been that I’ve been out of touch with many of my friends. Part of it was expected because of the time with the baby, part of it was because I dislike socializing over virtual media. I spend all day staring at a screen that the thought of spending more time in front of it to socialize seems unpleasant. The few times that I have chatted with some friends virtually, it has been fun but those times have been few and far between. Perhaps it’s time to change my stance on it, in the back of my mind I’ve been hoping for a return to normalcy but I should know that it’s going to take longer than I think.

Health & Fitness: Due to the aforementioned lack of time, my fitness has really taken a hit. Even before having kids it was challenging to find time to work out, but now it’s taken a back seat to the other things (mainly my daughter) that come before it in priority. I’ve probably gone to the gym only a dozen times in the last year, and that is considering that I have a home gym in the basement! The upside is that I get some light activity when I play with my daughter who loves running around the house but it’s far from what I should be getting. Hopefully as she gets older, it’ll be easier to find some time to do more explicit exercise.

Apart from exercise, one achievement that I’m quite proud of is managing my weight. Over the past six months, I’ve lost more than 10 lbs (average 1-2 lbs/month), which is the first time ever that I have intentionally lost weight! Since the pandemic, I’ve had pretty terrible eating habits and much less movement so I gained a bit of weight (maybe 5 lbs or so). But since around June I decided to cut back. What I’ve found works is cutting back on sweets and generally eating less each meal. At first it felt like I was under eating at each meal, but then I realized that my stomach doesn’t signal my brain that it’s full right away. Moreover, I had the habit of drinking liquids after I ate, which contributed to the delayed stomach-full signal. My current rule of thumb is that my plate should look like it doesn’t have a lot of food on it (based on my old standards). Cutting sweets out was also tough since I have a big sweet tooth. In general, I’ve tried to substitute fruit in its place (sometimes several pieces), and when I do eat something unhealthy, I try to limit the portion instead of binging as I used to do.

The whole weight loss experience was pretty tough at first. Some days I’d revert to my old habits and overeat at dinner or have a bit too many sweets during the day, but the important part was just pick myself up and start eating healthier the next day. My mindset was different from past attempts to cut back. I wasn’t trying to lose weight, I was instead trying to develop better habits. The focus on trying to change behavior was the important part for me. Another key aspect that worked for me is weighing myself almost everyday. I’ve heard that it’s generally not a good idea but I’ve found it works incredibly well for the way my mind works. Whenever I see my new weight, it helps me think back and try to “explain” why my weight suddenly went up or down. Over time, I’ve started to develop an intuition of what will affect my weight, which in turn helps me make better choices during the day. For me, this works much better than calorie counting which I’ve found it hard to develop an intuition for. (Fun fact: Red meat and salty food are big confounders because they can add temporary weight over multi-day periods, while a reasonable portion of ice cream won’t do too much damage.) I hope this change in behavior is durable to get me down to my target weight. I’m the lightest that I’ve been in the last 5 years and down a couple of belt notches too. So far so good.


Borealis: In July, I moved over from Kinaxis to Borealis AI. Borealis AI is Royal Bank of Canada’s industrial AI research lab. At first, it seemed like an awkward place to have an AI lab given that most labs are part of some consumer facing tech company, but after thinking about it a bit more it makes a lot of sense. On the one hand, traditional banks are getting disrupted from many different sides, evidenced by the numerous fintechs, so they need to adopt innovative technologies or risk falling behind (in the long term). On the other hand, large banks (like RBC) have the scale to make small improvements matter. In the same way that a slight improvement in Google’s ad system can create tens of millions of dollars in value, adopting AI at scale in a large bank can also lead to some potentially high returns as well. One hypothesis that I have is that you need this massive scale in order to make this type of industrial AI research lab viable (or I guess a never ending source of VC funding?). Otherwise, it’s difficult to justify the cost of hiring so many AI experts.

Specifically about Borealis though, I’m quite happy with my experience so far. All the people have been extremely friendly and welcoming, the hours and compensation are good, and most of all my background in leading large scale enterprise AI projects and organizations is providing a lot of value. Borealis is mostly a separate organization within the bank, so we have lots of freedom in how we operate (relatively). It feels like a small-ish (~100 people) organization and one where I can make a big impact. This meshes well with my background at smaller startups and medium size companies (even though the greater RBC is massive).

It’s still pretty early but I’m enjoying my time there and I’ve always had a background interest in finance. Learning about all the various parts of what make a bank work is very interesting. From personal banking to risk to capital markets, it’s all very interesting to me. Most of all, the team we have here is incredibly intelligent and working on state-of-the-art ML. I’m in the fortunate position that I have visibility in most of the projects that we do so there is a lot of learning by osmosis that happens (there’s also a lot direct learning too). The best part is that some of the ML topics that I’ve been studying on my own have come up once or twice already at Borealis (including one of my technical blog posts someone at Borealis noticed even before hearing about me). The dream is to be able to align the two worlds of personal interests and job. Of course, it’s not a perfect alignment (nor will it ever be) but I think it’s a good start.

Rotman: I’m continuing my role as an Adjunct Professor and Data Science in Residence at the Rotman School of Management, University of Toronto. My main duties are in the Master’s of Management Analytics program teaching a course of deep learning x marketing along with organizing several events. I enjoy the teaching and interacting with students but maybe for an uncommon reason: it forces me to break down concepts into simple explanations that can be practically used. This in turn helps me better understand the material. I deeply enjoy this type of knowledge acquisition and it’s also fun helping others understand it as well.

This past year was the first time I taught fully remote. It’s been a tough year for everyone but especially students. Outside of courses, a big part of the program is all the networking and other related events that go on, but all of those had to be held virtually. Although the virtual events that have gone on are among the best I’ve seen, ultimately they cannot replace face to face interactions. Everyone is making the best out of a bad situation I guess.

My course delivered virtually worked out well since mostly of the course is lectures plus assignments and projects. I also have some built-in interaction with students throughout my lectures so that forced some engagement, but there’s definitely something missing in terms of connection with students and, as a result, learning. It’s hard for the teacher’s passion to come through virtually to movitate the students to learn, and it’s these intangibles that are really lost. I’m slated to teach in person next year, but who knows what’s going to happen with the pandemic. Let’s hope for the best.


It’s hard to find time for hobbies when almost all your free time is spent hanging out with your kids! In some sense, it’s the ultimate “hobby” that takes priority over all others. Fortunately, my daughter’s sleep has started to stabilize (sort of) over the past six months, so I have one or two hours at night before bed where I prioritize between chores, hobbies, and spending time with my wife. Weekends are a total write-off because we’re spending almost all our time with her (such a big contrast from before!). One thing that all parents will tell you is how much more efficient they are with their time, that is definitely true for me. With the little time I have, I have managed to do a few things listed below.

Reading: I haven’t done much deep book reading lately. It’s primarily because it’s hard for me to find a solid 15+ mins of time (ideally 30+ mins). I’ve probably only read a few books this year, mostly 5-10 pages at a time when I get a few quiet minutes. The thing I think I’m missing is finding a consistent time slot to do deep reading. I’m still searching but my schedule is changing every few months adapting to my daughter’s schedule, so this still remains elusive.

One area that I have done more reading has been online newsletters send to my email. There has been a boom of expertly written newsletters (some paid) that I’m eagerly consuming. These are easier to read because I can read them on my phone while having lunch, or while taking a short break from work. These newsletters remind me very much of magazine articles in length and content that I used to read. Nothing as well researched or deep as a good book, but at the same time they are much more substantial than most online news articles. If an author has to read dozens of primary sources to write a single well researched book, these newsletter writers probably read one or two. Still relatively well researched for the format and frequency.

The nice thing about newsletters is that they are more timely than books but more well researched than newspaper articles (or worse social). It’s a really good trade-off in terms of time invested vs. benefit. Additionally, these newsletters give me great perspectives on areas that I’m interested in and want to learn more about (e.g. business, investing, finance). Two of my favorites are Money Stuff by Matt Levine and The Diff by Byrne Hobart, both of which I highly recommend.

Blog: As you can see from my personal blog and technical blog, I’ve hardly posted anything. Most of my writing either occurs during the newly found hour or two at night or when I’m on vacation and we have some extra help around the house to watch my daughter. Even weekends, which used to be a great time to sit down for a couple of quiet hours, are now full-time parent duty. Not that I’m complaining, my prioritization of time has been good in retrospect. I hope that as my daughter grows up, I’ll find a bit more free time to write a bit more. There’s something very satisfying about writing that you don’t often get in other activities. For me, I think it’s the combination of deep thinking (which I love to do) and creating something that really does it for me. Hopefully I’ll get more time to work on it going forward but I’m okay with the current slow pace of progress for now.

Chinese: A goal that I’ve had for a long time has been to become fluent in Chinese (Mandarin). One of the main reasons was so that I could teach it to my kids. Now that my daughter is learning a bit of it, I joke that my goal has shifted to becoming better than her at Chinese (which I am winning but to be fair, she’s not even two years old)! I picked up Chinese lessons again this year, shifting to private virtual lessons so that I could have more flexible hours. I would estimate that my current status is barely maintaining my current level. I’ve found the only way to progress is to actually do the homework assignments, which I’ve rarely done. Having a lesson every week or two is barely enough to keep my language muscles working, but the past year has been quite the challenge in many different respects. This is relatively low on my priority list so I’m happy enough just maintaining baseline until I can free up a bit more time.

Music: I stopped music lessons during the pandemic. Along with Chinese, it’s relatively low on my priority list. The only guitar I play nowadays is the few minutes when my daughter wants to hear it before she gets bored and moves on to the next toy. On the flip side, I’m doing much more singing but only of kids songs that my daughter wants to hear. I’m happy enough for now but, as most parents probably feel, I often long for the days when I had more free time to work on my hobbies. That feeling quickly disappears though when I see my daughter running towards me shouting “Baba” (Dad in Chinese).

2022 and Beyond

I’m not sure why but I have a lot fewer expectations of 2022. It might be due to the long drawn out pandemic, it might be that I’m becoming more like my daughter with a shorter attention span, or it just might be me maturing and becoming more of a stoic. In either case, I don’t have much time to have expectations. Half of the time I’m just trying to get through the day when I’m dead tired, and the other half I’m living in the moment playing with my daughter. I guess this is what parenthood is all about. For now, my mind is primarily on my family and I’m quite happy with that.


Back in high school and undergrad, I was an excellent student: high marks, attended every class, and generally did what a model student ought to do.1 I was also pretty cocky — at least in the narrow domain of academic related things. Although I didn’t think myself as being smarter than others (just having a better system for school), I was pretty confident in my abilities to do well and wasn’t afraid to let others know about it.2

When others were complaining about the workload, I assiduously did all the required work. Other times they would complain about the poor teaching skills of the professors (especially in math-heavy courses), where I usually didn’t have too much trouble following along (and where I did have trouble, I wrote everything down, went home to review the notes as required, which usually resolved things). I once scored a perfect grade on a mid-term where the average was close to failing (and also had a perfect grade for a calculus course due to a 100% weighting of the final exam as an option). It’s not too difficult to see a young man who otherwise isn’t very exemplary in other respects, cling onto the one thing that he excels at: academic excellence. Cockiness aside, I’m pretty sure I wasn’t a jerk about it (I hope), I just didn’t hide the fact that I didn’t find things difficult as others, and in many cases thought it was easy. If I had stayed along this path, I’m pretty sure things would have not turned out as well as they did for me. School is an incredibly artificial construct that rarely resembles the real world. And if I kept up with that attitude, I was probably in for a rude awakening, or worse yet, be in denial about it. Luckily some smart people (literally) helped me along the way.

Graduate school was a formative time in this respect. I was simultaneously studying for my Master’s (and PhD later on) while working at a startup my advisor founded trying to commercialize his research. The lucky break I had with this opportunity is that I met a couple of folks, one of my advisor’s students and one at the startup, who set me straight. But they didn’t do it directly, in fact, I’m pretty sure they didn’t even know or mean to do it. All they really did was be great colleagues and give me the opportunity to work alongside them, except for one very important detail: they were obviously smarter than me.

Now smart can be defined in many ways, but however you define it, occasionally you meet someone who is just on a different level than you. It’s not that they just have more experience or work harder (sometimes it’s both or neither), their brains just work faster than yours. They’re quicker, get to the conclusion faster, frame the problem in ways that you hadn’t imagined, and all around are just clearly better than you at solving precisely the types of problems you think you’re good at. And for me, meeting not one but two of these fellows, gave me the great privilege of being greatly humbled.

Here I was this hotshot who did so well in school, but felt completely dwarfed by these two folks. I soon realized that I wasn’t the smartest in the room, and I had to adjust accordingly. And it was probably done in the best way possible where these two folks would actually mentor me and help me learn. What better environment can there be than to have super smart nice people help you learn and grow? This is one of the reasons why I look back so fondly on my graduate school days even though it was (at times) tortuous work being on the paper publishing treadmill while simultaneously working for a struggling startup.

Since then I’ve had the opportunity to work with a few others who were on another level and it’s been one of the great joys of my career. And it’s not only been on an intellectual level. I met others who were just on some higher plane of thinking in other areas such as emotional intelligence, leadership or salesmanship. It’s been so rewarding learning from them, often times just by working alongside them. Growing alongside smart folks who are nice enough to have me along for the ride has been one of the great privileges I’ve had in my career.

Nowadays, I’m a lot less cocky about most things (but I think others would agree that I’m still not quite modest). If I were to guess, some of it ironically stems from the confidence I’ve gained in my abilities that has allowed me to eschew that unnecessary crutch. However, I know at least a big part of it is due to all the amazingly smart folks that I’ve met and worked with along the way. Without the opportunity to work alongside them, learn from them, and grow with them, I would be in a very different place in my career. If you haven’t had a similar experience yet, I highly recommend it, because it’s probably one of the most impactful things that can happen in your career.

  1. This is kind of an ironic statement in a post about humility but I quantitatively was a very good student. I had the highest graduating grade point average in my high school and second in my region. In my undergrad, I actually had the highest average in my graduating class and got an award to that effect. Although for my undergrad it’s a bit misleading because I believe someone in my program-year had a higher average than me but that year they had two computer engineering classes so technically I was first in my class but second in my year. []
  2. In other matters though, I was a complete novice, dating being a good example, but that’s a story for another post. []

2020 Year-In-Review

Phew, what a crazy year! So many things have happened this year, and I’m not talking just about the global pandemic. It hasn’t been easy but with some luck, lots of support from my loved ones, and a new shining star in my life, 2020 has been a surprisingly good year for me!

If I had to put a theme to 2020, it would’ve been change. So many aspects of my life have changed that I’m squarely in a “new chapter” of my life. I’ll get into the details below but definitely lots of new priorities for me, new challenges, and making more time for what’s important. I think you’ll be able to see the shift looking back at my previous reviews (2019, 2018, 2017).

I’m really looking forward to 2021, mostly for the same reasons everyone else — a return to pre-pandemic normalcy. Thus far, I haven’t been able to really share my good fortune with my friends and family (at least in person), which I’m just itching to do. 2021, you can’t come fast enough! Alright, let’s get to it.


Family: The biggest event to happen to me has been on the personal front: my daughter was born this past summer! She’s been the center of my life since she was born, and has now become my primary motivation for practically everything. More money, more time, more knowledge? It’s all so I can give and teach her the best that I can provide.

This is obviously a big shift in mentality from before. I was discussing this with a friend and he remarked: “Isn’t it a bit depressing that your life now just revolves around your baby?” In my pre-baby mindset, I probably would’ve agreed. Post-baby though, it’s different. It’s almost feels like any motivations I had earlier were either selfish or hollow. Not to be too dramatic about it, but my daughter has given me a new sense of meaning in my life. It’s a weird feeling but from what I gather, many other parents have had similar experiences.

I’ll spare everyone the details about sleep deprivation, overwhelming joys of being a father, and usual struggles of first time parents. Instead, I’ll just list a few tips that I’ve found really useful so far (all of them advice I’ve received from friends and family):

  • Whenever someone offers you help, accept it! It’s no time for modesty or being polite. Newborns are a tremendous amount of work, you need all the help you can get! (Fortunately, I’ve been so blessed to have a lot of support from my family, even with the pandemic looming over our heads.)
  • Keep a written journal of your babies development (I just use the notes program on my phone to keep track of notable things every week). My friend gave me this advice lamenting that he has terabytes of photos and video of his kids but couldn’t remember when certain things happened (like their first words). I’ve documented the day when we were at the hospital (because I was worried I would forget), and began documenting important developments starting at around 4 weeks of age when I got this advice. It’s useful for posterity but even more useful to really cherish the moments. When you’re in a sleep deprived state, you usually aren’t in the mindset to try to remember all the notable details — writing it down really helps.
  • Use some system to automatically tag your photos. It helps when you want to find something later on, and it allows you to put together “albums” from that time period. It also allows you to put together those “cheesy” automatically generated slide show videos (something I’ve discovered: it’s only cheesy when it’s not your kid). Luckily, the iPhone system does most of this automatically. It recognizes people, places, and time and will add the appropriate tag. The only caveat is that my daughter’s face is changing so fast that the iPhone can’t recognize it after a few weeks so I have to just tag one of the newer photos periodically. It’s a small amount of manual effort for a reasonably indexed system of photos. (Bonus: make sure to back it up too)

There are a bunch of other baby related tips that I’ve picked up too but I’m not too confident that they are universally applicable, so I’ll leave those to the experts. I’m sure I’ll have much more to add to this next year, and I’m really looking forward to every moment!

Property Ownership: This year also marks the first time I actually own property! Last year with the baby on the way, we were casually browsing what is on the market but didn’t find anything in our price range that met our aesthetic. Luckily in the middle of the pandemic we were able to swoop up a great place that had just come on the market with no competition in sight! It is (and was) a pretty rare thing in Toronto except for a few month stretch in the middle of the pandemic, so we’re counting our blessings. Of course with property ownership comes huge debt in the form of a mortgage. We got a great rate, again due to record low interest rates, so I’m not complaining but it does feel like a heavier burden with a big mortgage looming over your head versus our carefree renter attitude of yesteryear.

In any case, we’re super thrilled with the house, especially with the baby and the need for more space. Lots of small little projects and some big ticket items we need to spend on to get the house in good shape, but we’re still very happy with the purchase and look forward to building many special memories here.


Acquisition: Speaking of big changes, the past six years of my life at Rubikloud have culminated in an acquisition by Kinaxis. I posted a retrospective on the whole experience. There was obviously a lot that I didn’t write about and a whole wealth of learnings that I will get to some day when it’s not so raw.

The one thing that I will mention is that it was a pretty stressful time! The COVID lockdown had just started and I was involved in all the usual due diligence activities in addition to my regular duties, which probably amounted to roughly a 60 hour workweek plus it consuming my thoughts for the rest of my waking hours.

There was a lot of preparation, I probably ended up writing more than 50 pages of technical documents over a month or so (including the retrospective). And after that, there were numerous presentations to explain the documents and walk them through all of the various activities. I will say that it wasn’t an unpleasant experience (and pretty good as far as DDs go as I hear, pandemic notwithstanding), just stressful because of the usual high stakes uncertainty of it all. Luckily, things worked out pretty well and, as usual, my wife was incredibly supportive of me during this time of stress.

As for life at Kinaxis, I’m starting to settle in. It’s a slightly different industry (supply chain in general vs. retail/CPG), but I’m glad that our team is still working on the same types of problems but at a bigger scale. It’s also nice to have the resources of a bigger company behind you to really tackle some of the ambitious things that we were never able to do as a smaller company. I’m sure I’ll have a lot more to write about next year when I’ve had more time to work with the team and integrate with the company.

Rotman: Not much has changed at Rotman for me. I’m still teaching, and helping out with various functions at the Management and Data Analytics lab. This year I was teaching a full half-year course on deep learning (with applications to marketing). I really like my offering of the course, which is a departure from the typical CS treatment. It’s much more focused on the intuition rather than the theory (at least that’s my approach). Luckily due to scheduling, we jam packed the teaching within 5 weeks in January and February, right before the pandemic hit hard so I wasn’t forced to move to online teaching. I will be teaching online in 2021 though, which is going to be an interesting experience that I’m sure I’ll write more about next year.


Books: Pre-pandemic, I was reading a few books but with the confluence of the pandemic and the acquisition (and the associated stress), I wasn’t able to read much. The main “trick” that I find with reading is that you have to find a consistent, ideally daily, time for it. In other words, make it a habit. I had a decent routine pre-pandemic of reading before bed. I continued this for a bit during the beginning but eventually reverted to watching TV instead, which felt a bit more relaxing. After the baby came along, my schedule got turned upside down and I’m just beginning to find some time again to read.

The key to finding time to read is making it a daily habit. And to start a habit, you want to have an easy “one foot hurdle” to jump over until it becomes a habit. In the case of reading (which I got the idea from this video about how to read more), you want to set some super low bar such as reading one page per day. That’s it, just one. Of course, it’ll rarely be one, maybe three, maybe 10, but as long as you can keep it up every day, it’ll start to stick.

With that goal in mind, the next thing to do is to find a time during the day. For me, it’s usually during my morning routine (embarrassingly often on the toilet) that I make sure I get my “one page” in. Previously, this time was filled with news and social media, which I’m happy to spend less time on. The other place I’ve found that works is when I’m holding the baby for a nap. It’s almost the ideal situation, I’m usually in a quiet room with only myself (and a sleeping baby) for almost an hour. The only problem is that it’s usually dark and my arms are mostly occupied. The solution has been the Kindle app on my phone. I’m not a huge fan of e-books but I’ve got to make compromises somewhere.

The last thing to keep me on track are daily reminders. I’ll probably write a post on it later, but the Due App is amazing! You can set reminder like you usually wont to, but the great thing about it is that it keeps bugging you with notifications until you either snooze or mark as done. For example, I set a reminder daily at 8 am in the morning to read one page. If I don’t end up reading one page by 8:30am, I’ll get a reminder. If I didn’t snooze it, come 9:30am, I’ll have another few reminders. Seeing that you have dozens of notifications (when I’ve turned off most other notifications) really gets my attention. It’s really great at making sure I don’t just ignore it and carry on with my day. I used it for a couple of other things mentioned below as well to form habits (in addition to the usual purposes for one-off reminders).

Blog: As you can see from my blogs, I didn’t do much this year. On the personal blog front, I only had a couple of posts on the pandemic and acquisition. On the technical front, I also only had two posts on SHAP and ANS. The last two I’m most surprised with because technical posts are way more involved. I’m still trying to figure out how I can get time to do more writing. Writing is a bit harder than reading in that I can’t just write one sentence at a time (or at least I think I can’t), and I can’t do it in a dark room while I’m holding the baby. The only time I seem to get to write now is when I have a vacation or break (like this post over the Christmas break). I’m hoping that as the baby gets older with a regular sleep pattern, I can go back to a routine I had before of waking up early and doing 30-60 mins of writing. Right now, it’s not quite feasible because I’m struggling to get enough sleep as it is with the baby. I guess you’ll see how I do next year!

Chinese: 2020 hasn’t been a great year for learning Chinese either (with one exception). After lockdown, I stopped going to in-person Chinese lessons and had almost no time (or mind space) to learn Chinese. The one exception was that I had been spending more time with my wife’s family who are native speakers, so I did improve a bit on that front. After the baby came, I tried to do virtual Chinese lessons in the evenings but that was unmanageable with the baby whose bed time was around the same time.

My new strategy is two fold: the first strategy is that I bought some Chinese books on my Kindle app that I also throw into the reading mix, and in conjunction I’m also using the Pleco flashcard app to help remember new words. The other strategy that I’m planning is to start virtual Chinese classes (or tutoring) on the weekends where it’s easier to schedule an hour. Let’s see how it goes.

Music: The theme continues where I haven’t really done much music wise. I haven’t taken in-person lessons since the beginning of the year, and I’m not too fond of doing them virtually because I’m really annoyed by video lag. One bright spot is that I’m singing and playing guitar for my daughter. That’s a lot of fun (even though she pretty much likes all music, no matter how poorly played), and it really makes me a bit proud of the work I’ve put in over the years to improve. Hopefully I can go back to in-person lessons when this is all over.

Fitness: With all the stress above, fitness has been tough. Luckily, post-pandemic my wife convinced me to do virtual training with my personal trainer. That’s worked out well because I almost never feel like exercising but having a scheduled time really gives me the “kick in the butt” I need to do some good for myself. After the fact, I’m almost always happy that I had worked out.

The other thing that I’ve been doing recently in the last month is walking. The previous owner of my house had a treadmill that I bought, and I’ve been aiming to do exactly 21 minutes of walking everyday on it while slowly ratcheting up the distance every time. Let’s me explain it a bit.

Why 21 minutes? Because that’s pretty much exactly the time a regular sitcom episode takes (I have a TV setup in front of my treadmill). The everyday part (or more realistically 4 out of 7 days a week) is about trying to keep a habit going. The ideal time I found to do it is right after the baby goes to sleep where I have roughly an hour of personal time (30 mins walking, 30 min getting ready for bed) when my wife is watching the baby (my wife and I swap after my hour is done, and I reserve the baby watching time for additional TV).

My real goal is not actually walking but running, and this is a “trick” to get me into the habit. Initially, I just walked at a slow pace for an episode of a sitcom (started re-watching Parks and Recreation), and the next day I just tried to beat my distance by 0.01 miles (treadmill uses the imperial system). So far so good, I’ve increased my distance in 21 minutes by roughly 0.15 miles. At this point, I’m starting to have to run near the end of the 21 minutes in order to beat the time, which is exactly what I want. The best part is that it’s not too much of a burden: I get to watch TV and each day is basically just as easy as the day before. So far so good, let’s see how it goes.

Looking to 2021

Others have put it more eloquently but I can’t wait until 2021 gets here. 2020 has been a crazy year (in almost all respects), and I’m glad if 2021 is a bit more boring. I could use a boring year to settle into things and adjust to my new life as a father and at a new company. Most of all, I’m looking forward to being able to meet with my friends and family, especially introducing them to my daughter in-person. We’re almost there so make sure you and your loved ones are staying happy and healthy, and have a happy new year!

Rubikloud Retrospective

Note to Reader: Rubikloud Technologies Inc. was acquired by Kinaxis Inc. in July 2020 for $60M USD. I was part of the founding team being there (almost) from the beginning where I led all our AI efforts as the Chief Data Scientist. This post is an adaption of a retrospective memo I sent out before the acquisition closed.

Six years ago I decided to take a leap of faith and join a diverse group of intellectually curious individuals on their journey to building the future of enterprise AI.  Of course none of us knew that at the time, we were just a bunch of wide eyed dreamers hoping for the best, desperately trying to find a product-market fit.  It seems like a lifetime ago when I was sitting in that cold, poorly lit room surrounded by cheap Ikea desks, stained carpets, and a large refrigerator box-turned-cubicle at 95 King Street.  The contrast to where we ended up could not be more stark: being acquired by one of the fastest growing supply chain management companies in the world for our technology, people and products.  The combination of these three reasons is a testament to everything that we built here.

While Rubikloud’s success might look modest, underneath it hides a mountain of mistakes, miscalculations, and misfortune.  Those who have not been through the entire lifecycle of a venture backed startup may not understand the seemingly insurmountable odds that a young company faces.  The stars really aligned for us to get to this point.  I can probably name at least a dozen things that, if it didn’t go just right, we would have easily failed.  If that one key hire didn’t join, if that one key customer didn’t take a leap of faith, or if that one key technology wasn’t available, then we would have been dead in the water.  There’s a reason why most startups fail.

And that’s why it’s so interesting to look back and see what made us successful.  There will always be a component of luck in any venture but luck isn’t just a (fair) coin flip.  There are some key things that tilted the balance in our favor and gave us the best chance of “taking off”.  In this retrospective, I want to reflect upon the most important things that made us successful.


It’s probably the biggest cliche but people are really what made Rubikloud special.  Coming to work and getting to work alongside bright, hard working and dedicated folks who are all working towards an audacious goal — against all odds — has been one of the highlights of my career.  Regardless of anything else, one thing I can guarantee is that current and former Rubikrew will all agree that the people are what made Rubikloud special.

The interesting thing about working so closely on these, sometimes insurmountable, challenges is that you build a special kind of shared experience with your colleagues.  This experience is more than just “that’s some person I work with” and extends to a “brother/sister in arms”-like relationship.  These experiences and connections that I’ve built with so many of the Rubikrew I will treasure forever, many of which have already translated into lifelong friendships filled with admiration and respect.

Learning (and Failing)

The other cliche about startups, if there ever was one, is the amount of learning that you can do.  There were so many things from product market fit to technology to leadership that we were learning how to do on the fly (and regrettably, sometimes to the detriment of our people and customers).  This is part and parcel of the startup game.  The one constant that accompanies learning is failing.  Failing to predict where the market is going, failing to predict what architecture would suit us in the future, and failing to anticipate all of the thousands of other bumps along the way.  The interesting part about failing though is that it leads to learning.

I’ve made an order of magnitude more mistakes at Rubikloud than at any other job in my career, and by the same token, I’ve grown many orders of magnitude more than anywhere else I could have gone.  Startups are not for the faint of heart.  But somehow at Rubikloud, we’ve accumulated the right people, culture and ethos to keep persisting, surviving and enduring through the constant onslaught of unknowns while climbing towards that audacious goal.  This is not normal.  Most people don’t react well to failure, most people don’t have that drive to learn, and most people don’t push themselves to become more than they were yesterday.  Somehow at Rubikloud we’ve managed to do that.  And I know, at least for me and I hope for everyone else, that it has shaped you in some significant way that will pay dividends in whatever future jobs you have in your career.

Timing and Compressed Timelines

As you might already expect, the last point I want to discuss is another cliche: timing.  Timing is everything in a startup.  Too early, and no customers are there; too late, and other players have already saturated the market.  By some stroke of luck, we were at the right place at the right time with the convergence of cloud and ML technologies, retailers transitioning to those technologies, and a generous funding environment for startups.  Of course, this just sets the stage for success but the above two points (people and learning) are equally important to run a successful show.  

Although timing is key, there is another strange phenomenon that happens in startups: time dilation.  It’s almost as if a lifetime’s worth of experiences gets compressed into a tiny slice of time.  In this tiny slice of time, you get to experience so many things that would take years to achieve: accelerated professional growth, meaningful lifelong friendships, and an emotional roller coaster of ups and downs.  We’re fortunate to have gone through this experience for this long along with a positive outcome; most startups fail and most outcomes are poor.  To have gotten all the benefits of this startup time dilation phenomenon, and to continue to be able to build out the amazing technology that we have, I’m counting my blessings that I got to participate in this awesome journey.

Looking To The Future

The acquisition by Kinaxis brings a new chapter for all of us at Rubikloud.  We’ll still be focusing on the same goal of “Intelligent Decision Automation” but with a new company, new context, and new customers.  I’m truly excited about fulfilling our mission of bringing AI to the enterprise and fulfilling the promise of AI.  It’s not every job where you can work on leading-edge tech that has a meaningful impact on a critical component of the global economy.  The industry we’re in may not be saving lives but it is definitely saving waste (a less often considered virtue but an important one nonetheless).

What made Rubikloud special is going to be different than what is going to make Kinaxis so special.  The people will still be here, just with more of them (i.e. 800 vs. 80).  The learning will be there, just with different problems (i.e. scaling up instead of product market fit).  The timing is one thing that will feel very different though.  Things might start to feel slower compared to Rubikloud (no startup time dilation effect) with more communication overhead and more processes, but that comes with some benefits too.  There will be significantly fewer “heroic overtime” hours needed, more space to build out thoughtfully designed systems, and more time to focus on our respective areas instead of just trying to plug the latest hole in our leaky boat.  Most importantly, it will allow us to have more time outside of work instead of being all-consumed by it.

I truly believe that there is a bright future for all the Rubikrew at Kinaxis.  While I’m under no impression that everyone is going to stay here forever (just like no one expected to retire at Rubikloud), I do hope that everyone will find a place at Kinaxis where they feel they can grow their career alongside amazing people with work that they find meaningful.  And while things may seem a bit uncertain now with many questions still to be answered, I would suggest slowing down and taking stock of the massive achievement we’ve made as a startup.  Only a small fraction of startups get to where we did, and even fewer get acquired to continue on their original mission.  Pause and enjoy this moment because moments like this are few and far between.  As a wise turtle once said: Yesterday is history, tomorrow is a mystery, but today is a gift. That is why it is called a present.

Lessons From A Pandemic

At this point in 2020, there’s a global pandemic. It’s a surreal experience because everyone is going through the same restrictions but all in such a personal way. It’s only been around a couple of months under lock down but for me it’s already been quite a journey. I wanted to write down my thoughts and experiences so I wouldn’t forget some of the lessons that I’ve been learning along the way (that’s what most of this site is about after all). It’s not really anything novel, it’s probably the most standard advice you could get but there is something to be said about mastering the fundamentals. At the same time, things seem to be moving so quickly that I wanted a record of what I was thinking and experiencing. I hope it helps you in some way.


It took a bit of time for me to adjust. In fact, it actually took a bit of time for me to figure out that I had to adjust! In the first 3-4 weeks of the pandemic, I felt a bit lost. My motivation at work was low, I wandered from Zoom meeting to Zoom meeting, and I was struggling to figure out how to be productive while cooped up in my home. Energy was at a low point, physically my body felt weak, and I had some anxiety, not about the pandemic, but about how I was feeling. If you’re reading this at another period in time it might sound a bit dire, but in retrospect I think it was perfectly normal.

What I’ve observed is that whenever I enter a vastly different situation or setting, whether on vacation, moving, or some other significant change in my life, it takes time to adjust. Seems obvious but only when you can remove yourself from the situation. When you’re in the situation, it’s so hard to see it because it’s clouded by your mental state at that point in time. Now that I’m pass the hump, it’s obvious to me that I was in a rut.

I actually think 3-4 weeks is a pretty good recovery period given that this is a once in a lifetime situation. I’ll chalk it up to the amazing people I have around me, especially my wife, who have supported me during this time. If you’re taking longer to adapt — it’s okay! Try to find what works for you to get back to a new normal and hopefully we’ll all be out of this soon.


One of the key things that seem to correlate with my rut is losing my routine. For the first month or so, I would literally roll out of bed in my PJs and start jumping on Zoom for my first meeting. I’m a bit ashamed to admit, I even forgot to brush my teeth on a few occasions. That’s just an example of my lack of routine. Others include: not showering every day, not shaving regularly, inconsistent sleep/wake times, poor diet, not cutting my hair, inconsistent work times, and the list goes on. It takes time to establish a productive routine, and if there’s one thing to throw it off, it’s a global pandemic!

It’s a bit obvious but get a routine going! Wake up every morning around the same time, go through your morning routine (showering, brushing teeth, grooming, changing into work clothes etc.), have lunch around the same time, start and end work around the same time. These are all very basic recommendations, which I’m sure everyone has heard but probably didn’t follow when this whole thing started! These hidden things shape our mental state more than we think, and we tend to underestimate their effect. So get a productive routine going!


Sleep is important, I think almost everyone can agree with that. Getting good sleep is another story though. When stress is high, anxiety is high, physical activity is low, and inconsistent bed times are abound, getting good sleep is hard. Truthfully, I haven’t fully figured this out yet. There are times when I have trouble sleeping due to stress from work, which often correlates with me working through the evening. However, other things like consistent bed times, physical activity and low caffeine have helped. After some reflection, stress at work is probably the main cause of my intermittent poor night’s sleep. If you’re having issues with getting good sleep, I would suggest you to experiment with a few different things. Not all of them will work but I’m sure some combination of them will.

Limiting News

As with many others, I was constantly checking the news for new information about this novel coronovirus: watching hours of news clips, browsing every article on Apple News, and checking the growth in numbers several times a day. This is not a healthy way to go about things. The best analogy I can come up with is the stock market. It’s a terrible idea to look at stock prices daily. It’ll just give you anxiety, and the truth is that there is very little that you absolutely need to know on a minute by minute basis (or hour to hour for that matter).

So the caveat was that at the beginning of the pandemic, there were a lot of policy changes that were coming our rapidly, so you could argue frequent checking was justified. But as the days went on, the incremental information that was derived from news dropped dramatically. At this point in time, reading the news once or twice a week is probably sufficient.

I haven’t fully got myself off of the news cycle. I check the numbers once daily after work, and I still browse my regular news feeds when on a break, which are dominated by COVID-19 news. However, I’m much more selective on which articles I select since most headlines are sensationalized, politicized or have no consequential information for me. My recommendation is to consciously cut back on news. It’s one of those things that give you a short burst of dopamine akin to social media, but in the long term has a negative effect for your psyche.

Work Setup

One of the obvious things (but took me a while) was getting my work setup productive. I have an office at home where I usually do my work. It’s a nice setup with a 27″ monitor, and an ergonomic keyboard, mouse and chair. It was working well at first but my wife also started working from home and kicked me out (she has more calls than me usually). At that point I was relegated to the kitchen table where I had none of those things.

It took me a week or two of working there with an uncomfortable setup to realize that I should convert it into something more manageable. I pulled out an extra monitor (with a stack of books to raise the height), brought over my ergonomic mouse, keyboard and chair, and also got a box as a foot rest because the height of the table was much higher than my desk. The setup works pretty well but one of the biggest realizations was that I shouldn’t be in the same position all the time (even with an ergonomic chair). This means taking breaks, switching to a bench seat (for variety) or standing up (with wireless headphones). It’s working well enough that I don’t have any obvious pain from the setup.


A few weeks after the start of the pandemic, I started getting incredibly tight muscles (to the point that they would randomly ache). It was obvious that it was due to the work from home situation but I couldn’t quite isolate why. I fixed my work setup, which helped a bit. I also started doing some yoga a few times a week, that also helped a bit. But the big factor I think was the sudden drop in physical activity.

Before the pandemic, I was working out at least once a week with my personal trainer and had some light physical activity commuting to and from work. After the pandemic, all of this basically stopped with almost no physical activity. It turns out no physical activity combined with the majority of your time in a single position is bad for your body, who knew? My wife finally convinced me that we should do Zoom training and it’s been great! I’ve upped the sessions to roughly twice a week with a more HIT-style workout (since we don’t have many weights). Most of the pain is gone (so long as I keep moving). I think one of the key factors for me was the increase in heart rate (and the associated muscle activation I guess). That’s one of the reasons why I think Yoga alone wasn’t working (admittedly it was only beginner Yoga).

The moral of the story is exercise! It also has other added benefits like increased energy for a couple of days after and better sleep. Sometimes just getting the basics right is all you need.


Besides the physical issues with being sedentary, it also has a mental component. Being in the same physical space 24/7 for weeks on end is not healthy. We can’t congregate in close physical spaces but we can very easily physical distance when outside. Something that I would highly recommend is more walking (or running if you can). Being able to physically change locations is healthy. It’s definitely had a calming effect on me, especially in the beginning days when anxiety was high.

Human Contact

We may take it for granted but having contact with other humans is important! Again part of this mental health that we often take for granted when things are going smoothly. I live with my wife so the stress on me is less but I still find it very helpful to chat with my family, play games with my friends, and even spend a bit of time doing “water cooler” talk with co-workers. I wouldn’t discount the value in adding back some of the human contact where you can (virtually). If you can do a physically-distanced in-person meetings that also works well. I’ve visited my family with masks and a good few metres of distance several times and it feels really good.

Find Time to Unwind

Again, maybe an obvious thing but find some time to relax! Whatever that means to you, whether that’s binging TV or playing some online games with friends. Of course, you can’t go to the movie theater or out for dinner but that doesn’t mean there aren’t other things you can do to relax. I’ve mostly used TV and computer games, although I do very much miss going to a nice restaurant to eat. If those aren’t satisfying enough, keep searching! It’s important to find an activity where you can unplug from work and the whole situation.

Work Productivity: Write it Down!

One of the obvious downsides when working from home is that communication is much harder. Where we could easily turn our chair to the next seat to ask a question, we now have to Slack them, wait for a response, and be blocked more often than before. However, the bigger issue that I’m finding is that it’s so much harder to make sure I’m on the same page with others. I think there are two main issues. The first is that we no longer have a high-bandwidth communication method (in-person meeting with a white board). This is definitely a big drawback. The latency over video chat slows the conversation and inhibits real-time feedback, and the lack of a whiteboard really hurts our ability to express ourselves in an easy way. I’ve found alternate ways to do this like a shared doc with annotations but it’s no panacea.

The other big issue (related to the first one) is that it’s much harder to be aligned with others. Whereas we had multiple ways to be in sync with others before (in-person, whiteboard, shared doc, etc.). Now we’re limited to virtual tools only. I find the natural inclination is to be much more reliant on verbal communication in roughly the same proportion as in-person. However as mentioned above, it’s much lower bandwidth. That means, it takes much longer to get to the same point of alignment compared to in-person.

My big realization (again pretty obvious for those who have done this for a while) is to use more efficient methods of synchronization and rely less on verbal communication. That is, do more asynchronous writing! One of the great things about writing is that is focuses your thinking. Whereas it’s easy to have verbal diarrhea when speaking in real-time, it’s much harder to do that in writing because you get to look back at what you wrote. It’s also much easier to be precise when writing, where precision is not easy, nor natural with verbal communication.

I’ve been doing much more writing since working from home and I’ve been encouraging others to do more of it. In fact, it probably would’ve been a good thing if we were doing more of it before the pandemic as well. Anecdotally, it’s having a good response in that more people are disagreeing with me right away. Before, we could discuss a topic for 30 minutes and everyone would feel like they were aligned (when in fact they were not). We would go off and do work only to find out much later that there was a misunderstanding. Contrast that with having written down the details before the 30 minute sync where others can see precisely where they disagree with you. It’s much more productive to catch these things earlier in the process.

Writing may not come natural to many people though. My best advice: practice, practice, practice! You’ll get better at it, it’ll come more naturally, and it’s a key skill for your career, so why wouldn’t you do more of it? If you have a similar experience to me, then you might even start to like it as well. So start writing!


There’s no universal solution to what’s happening right now. We’re all experiencing it in our own way and we have to find out what will work for each us in our own situation. I’m writing this down in hopes of sharing some of the things that worked for me but also for posterity to record what I was thinking and experience during this truly unprecedented event. Stay healthy and safe!