I have to tell you so much about Canada, but God knew we would be too powerful if we lived our lives on the same continent. The moment I left for Canada, you were preparing to return to India; the moment I landed back in India, you were preparing to leave for Europe; the moment you return, I will be preparing to leave for Europe, and of course, you won’t be here when I return. We meet once a year (twice if the timelines match) to catch up, but how much can we share in a single day, especially when one of us is jet-lagged? I received your last letter via email, and I am so so so proud of you and your adventures across Europe. I have wanted to write about my time in Canada for quite some time now, and what’s better than writing it in the form of a letter addressed to you.

(Let me turn on Brahmastra while I write this - Diwali and I haven’t seen that movie yet.)

I obviously remember where it all started: September 2022, the horrifying REU application season. I was prepared for this application season, as this was my second year applying to such programs, but I still remember the utter stress I was under. Like every nerdy undergrad kid interested in pursuing research, I wanted to apply to international programs. Don’t get me wrong, top Indian institutes like IISc and IITs are excellent at what they do, but funded research opportunities outside of AI and ML in India for undergrads are too few. I know, I know, “AI is the future” - average tech-bro from Twitter, but AI alone does not interest me, and I’ll take this opportunity to explain my research interests to you (knowing that you will forget them the next time we meet).

I am interested in using Computer Science to advance the Natural Sciences. I write code for Science - I want my code running at places like CERN or NASA to study the unknown Universe. I think this interest stems from my school-level interest in Physics and Mathematics, which I could not pursue because of Indian society. I am broadly interested in Scientific Computing and Research Software Engineering. I write code, but I don’t write code for the general public (like fun apps on Play Store or dating sites); instead, I write code for scientists. I am also interested in Formal Methods and Theory of Computation (spoiler, my work in Canada). This side of my interest is more theoretical, with no direct or visible real-world impact, for example, developing proof assistants for Mathematicians or studying finiteness and enumerability of Mathematical Sets (I know you hate Maths). I am also interested in using AI, but not in creating a recommendation system in Netflix or the next ChatGPT; instead, I want to use AI to help scientists, for instance, modeling the solutions of a Partial Differential Equation using Physics-Informed Neural Networks. Finally, I want to make Science and Code accessible to all, so I am passionate about Open-Science and Open-Source. I voluntarily work on and maintain a few Open-Science and Open-Source codebases on the web to keep this passion alive.

Okay, enough weird-looking jargon, and back to the REU season. I applied to ~4-5 proper programs and cold mailed ~5-6 professors. Now that I look back, I should have applied to more programs because I was rejected from almost all the programs (all but one) I applied to. On the other hand, nearly all of my cold emails worked, and I received remote internship offers from UPenn and Cornell. By the way, I maintain a detailed list of the programs I have applied to, been rejected from, skipped, or missed on my website. Anyways, one of the few research programs that I applied to was the Mitacs Globalink Research Internship Program. Quick info about the Mitacs Globalink Research Internship Program -

  1. Select and rank 7 projects and write an application (CV, SOP, QnA, etc.)
  2. Mitacs screens your application and forwards it to individual professors if it is good.
  3. Professors make the final judgment.
  4. Mitacs mails you if you are selected, waitlisted, or rejected.

After submitting my application in September, I waited and waited and waited. I received an interview call from one of the professors in December, and I absolutely crashed the interview; I can’t even describe how bad it was. After waiting for an eternity, on a very random day in February, I received an email saying I was offered an internship position at McMaster University through Mitacs. I was shocked because 1. It had been almost 6 months since I submitted the application, and I had given up at this point 2. The professor made an offer but never contacted me for an interview.

At this point, I was already working remotely under a Professor at UPenn, and I contacted several people (including you) for advice. Taking up the position at McMaster would mean giving up on my UPenn project, which I liked very much. Furthermore, I had never worked on Mathematical proof assistants and functional programming languages before, making the work at McMaster entirely new for me (another point to add in my initial acceptance shock). Ultimately, I accepted the McMaster offer and wrote a big sad email to the professor at UPenn. Who knew that accepting Mitacs’ offer will turn out to be one of the best decisions of my life. I would now work under Prof. Jacques Carette on “Formalising Mathematics and Computing in Agda” at McMaster University, Hamilton!!!

As it turned out, accepting the offer was the easiest part of the timeline because I was headed to the visa hell next. I love how we weirdly bond over our weak passports, like the last thing people bond over is their passport privileges. I received a Schengen Visa rejection from the Italian Embassy last year (PyCon Italia), and I was super worried about this application. Surprisingly, the Canadian visa application was entirely online, and I only had to visit VFS to submit my biometric information. This was already so much better than the Schengen application; at least I did not have to print a book of documents only to realize I had forgotten a printout and look for printing shops near VFS in an absolute panic. I submitted my application and waited for another eternity. They finally decided to process my application after 56 days of submission. My application was approved!! I had to wait ~10 more days to get the visa stamped on my passport. I remember I was at Rajiv Chowk, returning from college with Nikunj, when I received the passport collection mail. I was so freaking happy that I took an immediate U-turn and went back to the New Delhi metro station to take the airport express line to VFS. This moment was also my first happy visit to VFS.

After reaching home, I rushed to my laptop and booked the cheapest (super costly because of late booking) flights. I was going to fly out of India through Lufthansa AC9587 to Munich and then catch the connecting AirCanada AC837 flight to Toronto, after which I had planned to take a bus to Hamilton. Everything was set - visa, flights, insurance, initial accommodation. The insurance and housing had their own problems, but I managed to fix all the loose ends in the end. Now I just had to face my end-semester examinations, pack 2 big bags, and board a flight to Canada!

I will write about my first steps in Canada in the following blog/letter. Let me call you quickly because you are roaming on a ship near the equator with only 100 MB of data on Diwali. So dreamy, scary, and cool!

With love