“Life is like a box of chocolates. You never know what you’re gonna get.”
— Tom Hanks, Forrest Gump.
I’m Yatharth, an undergraduate in the Computer Science and Engineering Department, currently in my third year of Bachelor studies. I’m also a music buff and occasionally make music covers. Last summer, I interned at the Ecole Polytechnique Federale de Lausanne, Switzerland (EPFL for short). I will cover this blog in two parts, starting with the application and then the experience. This blog will be a bit unconventional in the sense that I don’t have pictures of Lausanne floating all around the blog to keep the readers engaged (pardon me for still holding the regret of getting the mode of intern switched to remote at the last moment). Still, I’ll try to make this blog as informative and interesting as possible. So mellow down and enjoy!
How it began
Your second year in IITK is usually not when you are sure about what you want to pursue ahead in your life (especially when you are suffering the pain of online semesters). Unlike a few of my friends who were pretty much sure about the field they wanted to apply for as a research intern, I wasn’t much sure about it, apart from the fact that I wanted something related to Theoretical Computer Science.
During my first year itself, I had explored a variety of fields through self or club projects and hence I started applying for interns (from October majorly) all over the world. Surely not the best of the times, I would say. Since I started early when most of the programs were not open, I had to resort to the process of asking professors on my own. This task was even more onerous than I thought it would be. Spending hours writing a mail, waiting for weeks in hope for a reply and repeating this seemingly endless cycle. However, as they say, “Everything is difficult before it becomes easy”. The outcome was indeed rewarding.
I came to know about the Summer@EPFL program through a friend of mine. EPFL is one of the most renowned universities in the world (9th in the QS world ranking for Computer Science this year!), and most importantly it had labs in the domains of my interest (Cryptography, Security and Algorithms). The process for applying to the program was pretty straightforward (the easiest among all programs I applied for, to be honest). They ask you to produce Official Transcripts, Resume and Statement of Purpose (SOP) along with your top 3 preferences for the professor you want to work with. I have to admit, this was my first time writing an SOP and I almost went through an existential crisis while writing it :P. It is advised to get your SOP verified by a senior who has gone through the process before. However, I didn’t have much time on my hands, since I procrastinated until the last day. Finally, I submitted my application just 3 hours before the deadline and promptly forgot about it.
During my end semester exams for the third semester, when I was checking all sorts of notifications from instructors about the End-Sem exam, I saw something. There were around 5 mails left to be read, and as usual, most of them seemed dull, except one! The mail came with the subject Summer@EPFL, which I had least expected to receive especially in such a short duration after applying. It came from a postdoc working with one of the profs in my preference list and that they have pre-selected me as a potential candidate and wanted to have an interview with me. They scheduled an interview with me within the next 3 days, I gave the interview (yes during my endsem exams) and it went well. On the night before my last end sem exam, I got their confirmation and I accepted the offer! My intern is in the field of Practical Cryptography and I was exhilarated by the thought of getting to work on one of my desired domains with one of the best labs in the field.
What I did
After deciding on the nature of the internship (remote, in the end;-;) and the start date, I received an email from my mentor a few days before the actual start stating the project he has crafted for me to work on, based on my interests and previous interaction. I was really happy seeing the proposal since the things were completely new for me and I was hoping to learn a lot during the course. My professor, (Jean Pierre Hubaux a.k.a JP) works in the field of security and privacy. He heads the LDS lab which works in the area of applied cryptography and networking majorly. Coming to my work, we targeted developing a secure algorithm for finding heavy hitters in data streams. I would like to motivate the problem just a little bit and then move forward. Not to mention if you aren’t interested, you can skip to the next section. Typical examples of heavy-hitter identification applications include:
a) browser vendors that desire to learn the most popular homepages among their users.
b) mobile OS vendors that want to improve their predictive keyboard service by discovering the most frequently typed words, and
c) authorities that want to identify a city’s or a country’s hotspots, i.e., the busiest locations according to the citizens’ movement patterns, aiming to fight pandemics or regulate traffic and improve urban planning
However, collecting user data for the discovery of heavy-hitters raises significant privacy concerns since these data contain sensitive information about their owners, e.g., their browsing habits, their conversation contents, as well as their mobility patterns. Therefore, the aim of my project was to design a novel solution based on multi-party lattice-based homomorphic encryption that will enable exact heavy-hitter identification on user data streams. I don’t want you to get overwhelmed and end up not applying, thinking that I don’t know much about the work that the lab I am applying to does. To begin with, I didn’t know anything about Fully Homomorphic Encryption before this project :P.
As I stated before, this was a completely new topic for me, so my mentor provided some foundational research papers and sources prior to the start of the internship. I was personally mentored by a Post-Doc (Pyrgelis Apostolos) and a PhD student (Sylvain Chatel) from the lab on the project. I learned a lot through them (apart from JP) and they were extremely supportive throughout the internship. A good thing for me was that EPFL was also running its semester online and therefore I felt less left out during the internship (No one ruining my day by discussing how amazing the hiking over the weekend was :-)). I was invited to the Slack workspace of my lab with a dedicated channel for my project, where we discussed all the problems as well as any updates. There were weekly two meetings, one with the complete lab where we discussed the ongoing projects in the lab and each one of us (interns and other lab researchers) described what they are working on and took inputs from prof as well as others on their work. The other one was with the two mentors I was working closely with. There we discussed the experiments carried out by me, the progress on the project and future work.
Another great thing about my lab was that they gave me complete freedom to steer the project in whichever direction I wanted, take as much time I needed, and try as many different ideas as I wanted. Things like these gave me a real experience of how actually a research project is steered. Fun fact: I consider myself quite an unorganized being most of the time. However, this was a first-ever experience for me where I was setting clear goals to be accomplished in the project and working on them. Overall, I felt that the project was highly organized and it helped me understand the overall life cycle of any research project in general.
Perhaps, one of the most important things in an internship according to me is to develop a bond with the mentors and communicate with them. There were times, I felt quite hopeless not being able to understand some papers involving advanced stuff or seeing bad results from techniques I thought would perform quite well. That’s when mentors came to my rescue, they motivated me telling me it is quite normal to reach a dead-end in a project and that’s when you need to motivate yourself to continue trying stuff and finally come up with something that works. These are some things, I carried away with the internship which I feel is much more than writing 1000s of lines of code or reading tons of papers along the way.
I realize I have bored (motivated?) you enough with all the stuff about the internship. Good for everyone that I have decided to stop pouring out any more feelings (thinking that this is not just an informal blog) :). A final note for anyone planning to go for an internship in their 2nd year — Just go for it! Do not hesitate thinking, you don’t know stuff. You’ll end up learning tons of things and meeting people having an enormous amount of experience who have spent years in their field. A large shoutout to the LDS lab and people out there for guiding me throughout and having fruitful discussions with me. I’d like to end this blog with this quote from Rick Warren
“While it is wise to learn from experience, it is wiser to learn from the experience of others.”
All the best! Hope you end up writing a blog next year filled with happy faces and scenic places ;)
Edited by: Nitya Aggarwal