Another year has gone by and it is time for yet another year in review.
You can find last year’s blogpost here.
Summary
Looking back, this year was pretty eventful.
I first completed my undergraduate degree with four very difficult classes (especially the compiler one). I talk a bit about my undergrad experience and give some very general advice in this blogpost.
I then had some fun moments with my good friends from Concordia. We first all celebrated graduation together, followed by an amazing two week trip to Guatemala. So much happened in that trip that I will remember for a long time, we climbed the Acatenango volcano, made friends with other tourists from all across the world, and took boat rides across Lake Atitlan. I want to thank Tommy Hegarty for making this trip possible and allowing the rest of us to discover this beautiful place.
I then flew to California to work for a summer at Gridmatic and do more open source contributions for CVXPY. I first settled in East Palo Alto and was doing a terribly long biking commute to the office in Cupertino. But luckily my coworker David Pineiro was leaving the country for a small period of time for his mandated vacation (O1 visa) and I got a chance to take over his room in Palo Alto (on the legendary Los Robles avenue). I also got a chance to meet other fellow CVXPY maintainers in Parth, Philipp and Steven and learned a lot from working in-person with them. I talk a bit more about my summer and what followed in this blogpost.
Another highlight of the year was attending the ISMP conference in July which was located in Montreal. I was very fortunate to meet Bartolomeo Stellato, a Princeton professor and one of the authors of OSQP. I even got a chance to grab dinner with his incredible PhD students (Irina, Rajiv and Vinit) as well as some of his collaborators.
Finally, I came back to Montreal to start my Master’s degree at Polytechnique. I restarted playing hockey once a week with my labmates Xavier and Étienne which has been a real pleasure. I also met some really fantastic people working in all kinds of energy applications from contingency screening, control techniques in virtual power plants and HVAC management for buildings. I had some struggles in my control theory class, mostly due to lack of focus, but was able to redeem myself in the final exam.
Reflections
For the second year in a row, I have accomplished none of my yearly resolutions.
The Rust Backend project for CVXPY was probably way too ambitious; I didn’t even write a single line of Rust this year. This is not to say that the year was a failure but rather, that I had other higher priority tasks to take care of first. When there was a bit of free time for the backend, I would naturally choose to rest and do other things. My feeling is that the project is a bit too daunting at the moment and that it needs to be split up into more manageable chunks, certainly to be continued.
My second goal was to contribute to a journal paper and I am also quite far from achieving that. My first Master’s semester at Polytechnique was overall pretty good, I met some incredible people in the lab, read quite a few papers and most importantly, learned a lot of things related to optimization and its applications in power systems. Although we have dropped the idea of implementing Input Convex Neural Networks from last year, we have now many more avenues to explore. I will name a few of these ideas for a future version of myself: Stochastic Newton’s Method with zeroth order oracles, constrained SOONO, and gauge projections for fast online optimization.
I truly had expectations that were far beyond my abilities at the beginning of this year, but at the same time, I was also able to accomplish other things that were completely unimaginable for my past self. However, more importantly, throughout the year, I have gained a deep sense of fulfillment while sharing/exploring research ideas with others and helping CVXPY users through a lot more open source development.
Learning goals for next year
For the winter semester, I am enrolled in three classes to complete the Master’s credit requirement (apart from the thesis): Integer Programming, Optimization and machine learning for power systems and Matrix Computations. My first goal for the year is to do well in these classes and broaden my understanding of different aspects of optimization. An important project of mine is to add more examples to CVXPY’s library inspired by the exercises in these classes, potentially making use of sphinx-gallery to improve the look of the page as well.
My second goal will be to get a clearer idea of what my thesis will constitute of. After the calendar year 2025, I will only have two more semesters to complete my thesis, and potentially one of those semesters will be used to do a research stay abroad (updates in another blogpost). I hope that despite the exciting things that I look forward to this year, in particular traveling in Turkey and/or China, the ICCOPT conference, and maybe visiting some friends at Gridmatic, I will be able to dedicate quality time towards progress in the research project.
Here’s to another great year of learning and hard work!