Chicago: Fourth Year and a Quarter

I wanted to write an annual review in August like the first three years of my PhD program, but there seems like a lot was happening at that time that I was not in a mindset to sit down and reflect. From my calendar, I see Valeria de Paiva’s talk at the Topos Institute which forced me to rethink directions of my main research project and ICFP in the last week of the month, where I had interesting conversations with Ohad Kammar and Alex Kavvos that also reinforced the changes in that direction. There was more of a personal reason as well that I will mention below.

Research

During this period of 5 quarters, I had ups and downs concerning research.

Among the ups, I finished my master’s paper; switched to a new advisor – Robert Rand – who had already been instrumental in pointing me to the missing piece in my master’s work: QHL with Ghost Variables that ended up serving as the specification language in my work; and, at the beginning of this year, I started a new project (the third collaboration that I had hinted at in my last update) with Robert’s support. Based on this new project, we submitted two short abstracts, one for a poster at QPL and the other for a workshop talk (PLanQC at PLDI ‘21) which were both accepted. The reviews of our PLanQC submission were pretty positive and my talk seemed like it was well-received. This project also helped me form my thesis committee by the end of summer.

Among the downs, I failed to make at least two deadlines we considered over the year. Looking back, I realize they were not realistic as the project’s direction changed a lot over time, but still, it meant facing unmet expectations and disappointment. Another downer was not taking the initial project I worked on at my internship to a logical conclusion. In this latter case, my motivation to continue went down a lot when a prominent researcher published a competing and remarkably better implementation of the algorithm I was implementing.

I know research is not a monotonic upward curve, so I am not entirely dissatisfied with how this period went.

In the end, I am grateful for having collaborators who make the process more enjoyable.

General Learning

I finally delved into logical frameworks and studied their benefits and limitations in trying to specify the metatheory of a modern industrial-scale quantum programming language (not a silver bullet just yet). I was pointed to logical frameworks and Twelf specifically by Bob Harper back during POPL 2020 at NOLA. Not only that, but I am thankful for his advice several times over the year in helping me understand the methodology of formally specifying a programming language and pointing to algebraic methods when traditional methods were not leading anywhere.

Speaking of, I found myself fully immersed in algebraic theories by the end of September, especially after talking with Ohad and Alex at ICFP earlier.

Relatedly, I learned more category theory this past year, which I was already hoping to do when I started the year with the Rosetta Stone paper.

Sometime earlier in the year, I found a niche that excites me a lot – safely combining functional and imperative programming, starting with the two volumes on ALGOL-like Languages, leading to Paul Levy’s Call-by-Push-Value and ultimately to algebraic operations and generic effects.

I also ended up rereading TaPL, which I had been avoiding for a while since discovering PFPL. But as I found, the discussion of polymorphism and type dependency of various kinds is better presented in TaPL.

I almost forgot to mention, I spent a lot of time learning about alias types, capabilities, and types-and-effects over the summer, but a research direction based on those lead to dead ends (without resorting to automated solver-based techniques).

Service

I had mentioned last time that I might participate in the peer review process for the first time. As it happened, I got that experience at least four times since.

First was in the POPL ‘21 artifact evaluation committee that I had mentioned. Here the process was quite open, one could self-nominate themselves for consideration, which I did, and after a few weeks, I was on. The review process felt smooth and reasonably well organized. I had to review two artifacts, one of which was as simple as setting up Agda and running a command to make sure the project type checks (and matches expectations set in the paper). The other one was a type checker implementation in OCaml along with a Docker image which was less smooth but not too complex. I could not ask for a smoother first-time reviewing experience (reviewing papers is much more effort, as I soon learned).

Second, entirely out of nowhere, I was asked to review a paper for the newly launched ACM Transactions on Quantum Computing. Thankfully, the review deadline was after my master’s defense, so I accepted the task. Again, I couldn’t have asked for a better first-time paper-reviewing experience as journals seem to have a more relaxed review process that does not require hard rejections, unlike conference papers that seem to be limited by an acceptance percentage at times. I learned a lot both while trying to figure out how to best provide feedback (Don Knuth’s advice was the most helpful) and also reading the other referee’s review (as one does, I wrote an in-depth review).

In the new year, I participated in the (conference) review process of LICS ‘21 and ESOP ‘22, the former as a subreviewer and the latter as an external reviewer. Both of these opportunities were thanks to my advisor, who thought I could meaningfully contribute. I got to see the review process for two different conferences and participate officially in one of them.

As it happened, I also got to provide feedback on a handbook chapter.

Apart from service to research, I served as the Faculty-Grad-Liaison for our department’s grad student organization during my fourth year. I also continued to serve as the Dean’s council representative from CS. Overall, I felt I was able to help meaningfully effect change for the needs of our community through both of these roles. By the end of summer, it was time to retire from both of these organizations that I had been associated with since my first year (and focus more on research), leaving me with feelings of loneliness. As this NYT article reminded me, I feel better when I am actively contributing to my community.

One service request that I decided to decline was the offer to be one of the two student volunteer captains for PLDI ‘21. After volunteering four times, I knew how much work was involved and the conference being online, it did not seem that tempting.

Software

I started a Quantum PL and Verification bibliography (short link: git.io/qpl-bib) while attending Robert’s class in Spring. Since its beginning, the database has grown to 125 entries. I wrote a separate End of Year update on this project. A few days later, Robert wrote a fun pronunciation guide for quantum PL projects there. This project grew out of pains in finding the correct bibliographic entry for papers while citing. Most people tend to maintain personal bibliographies, which can be error-prone. I think a peer-curated open source database makes a lot more sense. I also reached out to a few people in the community who gave good feedback for the site.

Since I had written a lot of Ott scripts this year, I tried to add Ott grammar support to GitHub, but it turns out it is not as popular as one would imagine.

Once I had access to an M1 Pro MacBook Pro, I helped improve Apple Silicon support for Coq Platform.

More recently, I added CI support to inQWIRE’s QuantumLib.

Overall, this year, I ended up sending PRs to many GitHub repos as I ran into issues. I love the freedom to quickly help patch issues in this new world of open development on GitHub. A pro-tip I learned from Lars Bergstrom (when we finally met in person in the Fall) is that one can launch an in-browser version of VSCode just by pressing the period key while navigating a GitHub repo; imagine how much time it saves when you have quick edits to make!!

Misc in Professional Life

Since I was now writing papers and often submitting them to the arXiv, I started maintaining a wiki on Best practices for paper writing (and arXiv submissions) for our department.

I got another master’s in CS, which I did not care as much about as it was a requirement of my PhD program, and I already had one from Brown.

I attended Midlands Graduate School in the Foundations of Computing Science 2021, which exposed me to proof theory, homotopy type theory, and provided my first introduction to Call-by-Push Value.

My first papers were officially published as part of the QPL'20 proceedings in September.

PLMW kept on giving. I realized how chatting with people at conferences (and even tweets) can help in significant research directions.

Personal

I had suffered a range of neck and back pain issues starting in the Fall of 2020 as my body was deteriorating with the pandemic lockdowns. To deal with those, I went through many physical therapy and chiropractic sessions. One side effect was that I did more bouldering in the gym to keep my muscles strong. Once my sessions ended, it was summer, I had moved to a new apartment six miles away from work and had just read Alison Bechdel’s latest book, I was invigorated.

Since I could go in person, I thoroughly enjoyed riding my bike to work over the summer: and accumulated over a thousand miles. I also invested in an REI membership and bought a bunch of necessary gear. I also bought a cheap but functional standing desk for my new apartment to help reduce pain from constant sitting.

One incident that affected me for a long time near the end of 2020 was that I was robbed of my phone and threatened with violence if I didn’t cooperate in sharing my pin. It took away a false sense of security I used to feel walking around in the neighborhood. The memories of that incident haunted me for months. Moving to a new apartment provided a neighborhood change, but it still took a while to feel safe being on my own outdoors without my bike. Later, other violent incidents near the campus brought back some fear.

Since I relied on Twitter a lot for my social interactions, I decided to take a break from Twitter at the end of the year. But reading Ralph Waldo Emerson’s Self-Reliance on New Year’s Eve gave me the confidence to come back and not fear sharing my thoughts. I hope to find the right balance between productively using Twitter and not sinking too much time.

Overall, I am grateful that I got vaccinated and then boosted in time and did not once get sick with COVID. I also got to be in person for a few months (and even maskless for a few weeks), which was such a nice change from the year of mainly living at home. Also, thanks to my partner and our group of mutual friends, I enjoyed more social activities during this time than at any other period of my life.

Books and Travel

Some interesting books I read this year:

  • Ezra Klein’s Why We’re Polarized
  • Alison Bechdel’s The Secret to Superhuman Strength
  • How to Avoid a Climate Disaster
  • Asimov’s Foundation
  • Flatland (finally)
  • Trevor Noah’s Born a Crime

Travel was restricted, but I still got to go to Oregon, IL and Seattle, WA with my partner during the long weekends. The latter trip included seeing my friends from college first time since Bangalore, a trail in the Olympic National Park and was the highlight of the year.

What did I learn?

I wrote the negatives along with the positives in the sections above, so I am omitting the “What did not go well?” section. Here are some of the things I learned during this reflection.

Looking at my research activities, I now see that it is relatively easy to have a workshop paper accepted at a venue with the right focus area. But the amount and rigor of work required for a major conference venue or journal is quite different. I hope to submit at least one such paper this new year and plan to work on it with the right expectations.

I had ups and downs on my productivity levels throughout the year (as I can see on my RescueTime reports). Furthermore, I should resume writing daily highlights as I notice regular reflection helps me be more focused and productive. I also need to reduce my time spent on email and video.

As I mentioned, leaving the department organizations left me feeling lonely, which could lead to procrastination. I realize I need to have multiple projects running to keep me from procrastinating; one of my most productive quarters was Winter 2020, when I taught CS151.

As I delved through several research areas this year, one pattern kept repeating: I learned so much more from PhD dissertations than from a series of technical papers. I wonder why are students not advised to read dissertations earlier in their careers.

Since the beginning of 2021, I had started reading the NYTimes Morning newsletter and fell in love with concise writing and keeping up with daily affairs in the world, almost to a level of addiction. I resolve to stop reading news; the world is no longer on fire.

At the end, I am ready to move forward and welcome this new year 2022!