Matt Ambrogi

Recurse Center Weekly Recap #8

Week 8

This past week was a productive one. I balanced my time between machine learning and a review of fundamental algorithms and data structures.

On the algorithms front, I read a few chapters of Skiena's Algorithm Design Manual, taking notes and time to think through the material. This coming week I am going to start practicing algorithm design questions everyday by attending daily LeetCode sessions. The Algorithm Design Manual is really well written. I plan to finish it, but that will be something I chip away at slowly. I enjoy diving into theory and trying to understand how things work. But I think getting wrapped up in that could be to my detriment. Writing code is more important.

I had fun exploring machine learning resources this week too. I played with GPT3 Monday and Tuesday. I take a lot of notes digitally throughout the day. When I'm done with work I'm typically left with a collection of gibberish, incomplete sentences, and typos. I usually try to push myself to clean up these notes, but I hate the process of doing so. After giving GPT3 just a few examples I was able to build a tool which can clean my notes and summarize them. I was pretty amazed by that and spent some time reading up on few shot learning afterward.

I also started the fasi.ai course, Practical Deep Learning for Coders. Inspired by their examples, I wanted to train an image classification model. My home town is surrounded by woods. Anyone who has spent much time walking around the town has at some point seen, or thought they saw, a coyote. I trained a model that can classify an image, with impressive accuracy, as either a coyote, dog, or wolf. This was very much a toy project. But it was just what a toy project should be: fun.

Last week I noted that I was going to try a new, and simple, approach to work: focus for three hours every morning before I do anything else. In theory, there was no way this could hurt my productivity and I was pretty sure it would help. I'm a bit shocked by how just how effective it was. In terms of the number of focused, productive hours per day, this was by far my best week so far. But it also helped me feel better about work - being focused when I was focused and not feeling like I had to work more after that, unless I wanted to. It felt like a little fight won in the battle against feeling like there's always more to do. Getting a chunk of work done in the morning opened my afternoon. I then spent that time working with others, or diving back into my projects. But having hit my threshold, the afternoon work took on a more explorative and playful feel. I think that's actually very key to productivity. Finding a way to make work feel a bit more like play.

This coming week I'm looking forward to keeping that practice up and seeing if it continues to work for me.

Looking Forward

There's only four weeks left in my batch. To the extent I can, I'm going to simplify how approach my work. I'm going to spend at least an hour on algorithms everyday. Outside of that, I just want to work on whatever projects are most exciting to me. Right now, that's ML stuff. This week I want to 1. build and deploy a simple ML app and 2. train a model and try to optimize its performance - probably via a Kaggle competition.

There's a handful of other things I'm interesting in dabbling with before my batch ends. Most notably simple projects in Solidity and Go. But I'm letting go of any firm goals in respect to that. Instead, I plan to try to heed some advice I got this past week: focus on what's fun.