Smashing Atoms - Journal of a CERN Openlab Summer Student- 20 mins
It all started back in December 2017 when I cold emailed one of the assistant professors at IIITD. I was looking to get undergraduate research experience to supplement my resume to get into the master’s programme at a top university. Previously, I had been a part of the Google Summer of Code programme for two years in a row, taking turns both as a student and as a mentor. Therefore, I thought a research experience would be a comprehensive diversification of my resume. The professor reverted positively and invited me for a meeting in his office. He had a project for me that I found very intriguing, primarily because it was oriented towards helping the blind. Before I could start with this project, I was required to go through a few online courses that would help me deal with the challenges I could face ahead. Three weeks later, when I was on the verge of completing the courses, I pinged him back to schedule another meeting. But to my surprise, it was a no-show from his side. I frantically bumped emails up his mailbox over and over, only to later discover he had given the project to someone else. Though not heartbreaking, it wasn’t a good feeling either.
A new year had started, and so did another semester at the university. I knew I had to do an internship after this semester to fulfil the requirements of my bachelor’s degree. So finding a research-based internship sounded like a good idea to me. And since even the best institutions in India offer a sloppy research experience, I had to aim for an international internship. I would like to tell you I was already rejected my Mitacs by this point. Selection in Mitacs is aggressively dependent on GPA. Majority of people who make it through are nine-pointers, whereas I barely crossed the eligibility threshold. Reality hit hard, and it didn’t take long for me to realize this was the case with every other international research internship. Of course, it had to be competitive! What was I thinking?! Fortunately, my quest for finding an international internship introduced me to the ones available at CERN. Though not research internships, the idea of working at CERN was thrilling and alluring enough for me to put all my efforts into writing a kind of application that would substantially increase my chances of being selected in the Openlab Summer Student Programme.
As there was no traditional interview loop involved, what I needed to do was write lengthy paragraphs articulating all the experiences I had accumulated, and all the projects I had worked on. I used to spend a few hours each day fine-tuning my application. I waited until the last week to submit the final draft as I wasn’t being penalized for a late submission. Here is what I finally came up with at last. As part of the application, I was also required to present two letters of recommendation. I managed to get one from a professor at my college, and another one from my mentor, under whom I had worked during GSoC 2016. Days went by, and for some reason, I was lacking a will to apply to any other internship. Alter ego: Feeling cocky, eh? Not really because as a last resort, I could always contact someone to get me an internship at a startup of my choice. It was the evening of the 5th of April. I was lying on my bed, contemplating about the selection process at CERN. It had already been more than a month since the application deadline, and I was imagining selection emails being sent out to the lucky ones. At 19:44, I received a mail with this exact title; “CERN openlab summer student-successful application 2018!”. Yep, it was clear I would be flying to Geneva that summer.
My brother was graduating from the University of Toronto that summer. Miraculously, everything fell right into place, and I was able to attend his graduation ceremony as well as participate in CERN’s Openlab Summer Student programme. During the course of summer, I ended up taking the following route w/layovers; Delhi -> Munich -> Toronto -> Montreal -> Geneva -> Rome -> Geneva -> Zurich -> Delhi. It felt as if I was on a flying spree. Since I had arrived in Geneva almost a week before my internship, I grabbed the seemingly excellent opportunity to go backpacking in Rome. Also, during the registration period, I had made acquaintances with some of the fellow Openlab Students over social media. One of my acquaintances had a senior from his university who was now a Technical Student at CERN. The day I came back to Geneva, he invited all Openlab Students for a pool party at his place; not on account of my return though. But I had never imagined in my wildest dreams about having a bash on my very first day in Geneva. A really warm welcome indeed.
Day one at CERN
I got up early for the first day as making a critical first impression was the last thing I wanted. After completing arrival formalities, I got my personalized CERN ID which could be used anywhere inside CERN to access different buildings and entrances. I reached Building #31, where I was told to meet the IT Secretary. He welcomed me to the IT Department and handed me out a separate key for my office. My workplace was inside my supervisor’s office itself, where he had arranged a desk for me in one of the room’s corners. He was actually surprised to see me that early in the morning. His reaction gave me the entire nine-week forecast of how my internship was going to look like. He invited me to set up my workstation in any way I wanted, but I asserted I would prefer to work on my Mac instead. In response, he gave me a Magic Trackpad and a Thunderbolt-HDMI Adapter to complete my workstation layout. Later that day, incoming students were required to attend an introductory session organized by the program coordinators. And with this, my internship had begun with full swing. Over the next week, many new students would join in, and this would complete the cohort of forty Openlab Summer Students for 2018.
CERN booked apartments for us in an apart-hotel which was two kilometres away in the neighbouring town of Saint-Genis-Pouilly, France. The apartments were given out on a sharing basis with four students in each. Although not the best possible arrangement, it wasn’t too bad either. The apartments were fitted with all the basic amenities ranging from a small TV to a kitchenette. There was also a shared laundry room downstairs complete with washing machines and dryers for everyone’s disposal at all times. Having apartments in the same building allowed us to socialize often and get to know each other better.
I usually ate a bowl of muesli w/yogurt along with coffee for breakfast. Although light, the breakfast helped me sail through for three hours, after which, I would go to one of the CERN’s Restaurants (R1 or R2) to have lunch. The food served in both restaurants is of impeccable quality. I rarely have savoured so scrumptious food elsewhere, at least, not in India. Daily meal at CERN could cost anywhere between 9-13 CHF provided you are not taking coffee breaks in between. The menu is refreshed every day, bringing up new delicacies to our plates. As far as I remember, they have equally good options for vegans too. To reach R2 from Building #31, I used to traverse an international boundary (see below). Technically, Building #31 is located in France while R2 is located in Switzerland. The border is ‘virtual’ as it only exists on maps and papers. There are actually no physical signs of a land border inside CERN. This situation amused me every time I compared it with the insane conditions at the India-Pakistan border.
Coming back from CERN, everyone would get busy finishing chores and cooking dinner. But on some days, we would gather enough strength to organize bonding sessions in one of the apartments. On other days, we would go out to the park to treat ourselves to a pleasant game of Werewolf. When we were too lazy to cook, we also had an option to do a takeaway from the nearby grill. Between all this, we had a special place for Charly’s Pub in our hearts. This was our goto hangout place to wind down and to grab a drink. Almost every Friday, we partied at R1. Gulping insane amounts of alcohol and getting lost in CERN’s labyrinth of underground tunnels in hope to find the Summer Student Temple was a ritual.
CERN provided us with bikes for a deposit of 100 CHF that would be redeemable upon bike return towards the end of summer. A lot of people did get their bikes stolen by inadvertently making poor parking decisions. The safest place to park bikes is inside CERN and at your hotel that would usually have a parking area reinforced with metal for this very purpose. This also shows us such petty crimes are not so uncommon even in rich countries like Switzerland and France.
Check out how my daily commute looked like:
Like in any other European city, public transport in Geneva is immaculate. Comprising of both buses and streetcars, the frequency is great and connectivity, extensive. There is also, of course, the Geneva airport from where you can fly to any European city you want. Besides that, there is a world-class train system which can be used for day trips to places like Montreux and Lausanne. Trains are not cheap in Europe. And with prior planning, you can fly super cheap on low-cost carriers like EasyJet and Ryanair. As an example, my flight to Rome cost me less than the train I took to Montreux. An even cheaper option to hop between cities is a bus. Though not extremely reliable, they surely are lifesavers.
Trips and Visits
After a week when all students had arrived, CERN took us to Zurich for visits to Open Systems, IBM and ETH. The stay was covered in a youth hostel along with major meals. The trip began on Thursday, and by Friday afternoon, we were done with everything. The end of Zurich trip marked the start of the best three days I would be having throughout my nine-week stay. While registering for the trip, we had specified we would be finding our way back to Geneva ourselves. So this meant we were free to go anywhere as we pleased from Zurich. We rented a car and embarked on our road trip. The idea was to take the following route: Zurich -> Rhine Falls -> Colmar -> Freiburg im Breisgau -> Colmar -> Lucerne -> Geneva. Since the insurance company would not agree to settle claims if a non-registered driver drove the car, I had to drive it the entire time.
Driving in Europe is an experience that can’t be explained through words. It is a feeling you can only understand by living it yourself. Having driven all my life in India, I found Europe to be the polar opposite. Not just because they drive on the right, but because of the etiquettes they follow. Driving in lanes, proper use of turn signals, paying attention to road signs and an aversion to honking incessantly. All of this is nowhere to be seen in India. Things only got better when we entered Germany. Throughout the trip, we were continually on the lookout for speed limits to avoid getting ticketed. But as soon as we crossed the German border, speed limiting signs just seemed to have vanished. It was a confusing situation at first, and I stayed within the standard limits to be on the safe side. Then it struck me like a jolt of lightning; there are no speed limits on the autobahn. Where else would I be driving if I was driving on a German highway? From that point on, it was only blazing fast speeds for us. There are merely two words to describe what it’s like to drive on the autobahn: orgasmically gratifying.
On Sunday, we headed back to Switzerland, making a stop at Lucerne before leaving for Geneva. When you see enough European cities, you discover a fact; every European city has more or less, the same vibe. It was a long and mundane drive back to Geneva and nothing much exciting happened until we crossed the border back again into France to reach our hotel. As soon as we made our way through the Big Roundabout to enter Saint-Genis-Pouilly, we were greeted by an unusual commotion. Cars were honking in unison with their blinkers on and out of the blue, a biker had just jumped in front of us to perform a burnout. What was going on over here? Out of a sheer stroke of luck for us to witness this celebration, France had won the World Cup! It was a stunning sight, and we could only imagine how crazy and wild would folks be going on in big cities like Paris and Marseille.
My initial plan was to visit a new European city every weekend. But this indeed was a very ambitious plan, and miles away from what actually was achievable. We tried to stretch, but we could have done only so much. By the end, I was able to visit Milan, Montreux, Annecy, Chamonix, and Lausanne as part of my weekend expeditions.
Further, CERN also organized in-house visits for us to its various facilities. We visited the Antimatter Factory, the Computer Centre, the CERN Control Centre (CCC), SM18 (SM stands for Superconducting Magnets), the Compact Muon Solenoid (CMS), A Large Ion Collider Experiment (ALICE), A Toroidal LHC Apparatus (ATLAS), and a host of particle accelerators ranging from cyclotrons to synchrotrons I can’t seem to remember the names of. Unfortunately enough, we didn’t get to see the LHC as it was under operation during that period.
On days we weren’t travelling to other places, we used to indulge ourselves in the comprehensive repertoire of recreational activities Geneva had to offer. Dipping in Lake Geneva on a hot summer day. Attending various concerts at the Geneva music festival. Going to Plainpalais to catch the public screening of the World Cup. Clubbing through the night and getting back to our apartments in the morning. Barbequing in the park beside Perle du Lac. Finally, in mid-august, there was the annual Geneva Fireworks; music-synchronized fireworks lighting up the sky for a whole forty-five minutes.
The project you will work on during the summer is highly dependant on the mercy of your supervisor. Even during the application period, there isn’t a list of projects to choose from. Supervisors select only those students they think would be the best fit or their project. Rationally, their decision is based on your resume and what all technologies you have worked on in the past. Profiles of all chosen candidates are sent to the selection committee for screening. The committee has the final say in the selection of any candidate. You may get the impression that CERN’s selection procedure is highly bureaucratic and unpredictable. And this is quite true. So don’t feel depressed if you don’t make the cut. Also, since the results are announced late, it is strongly advisable to have a backup plan.
CERN has its own cloud, which is accessible to all employees. Scientists use this cloud to carry out computationally intensive tasks and to move around petabytes of data produced by the LHC. CERN uses OpenStack, an open-source framework, to deploy this cloud. And my work was related to a project under the OpenStack umbrella, called Qinling. Qinling is in its early stages of development and is a missing piece of the puzzle that implements Function as a Service. During the initial days, I was trying to wrap my head around OpenStack; creating tens of VMs, building and destroying clusters, and fiddling around with images. After all, I had never worked with OpenStack before. I also configured a fresh OpenStack installation on one of the VMs hosted on the CERN cloud. By doing this, I had literally created a cloud within a cloud. This totally felt like Inception! For a few weeks, I kept on testing Qinling and worked on tasks orchestrated by my supervisor. I had also made the first contact with the upstream community via IRC during this period. After completing the testing phase from my end, I set up Qinling for alpha testing, so anyone on my team could use it and provide me with feedback. It is worth mentioning I was ahead of my timeline at this point in time. But a grim realization dawned upon me. I hadn’t coded even a single line since the start of my internship. This internship just couldn’t conclude without me doing some real coding. I had to find a way to serve justice to my time at CERN.
Since I was now familiar with most of Qinling’s codebase and was already in talks with the upstream community, I realized it was an excellent opportunity to commence some palpable contributions. Sure, I was working with Python for the first time, but on the flip side, there was no better opportunity to learn it. Moreover, communities are always on the lookout for people who can contribute to open-source. With this conviction, I went forward and started working on the Qinling storyboard. This was also the first time ever I got to work with the Gerrit Code Reviews and learnt how seriously unit testing is actually taken in practice. The first patch I submitted got repudiated straight away due to my naivety. I had failed to check if my patch was passing the unit tests. However, after getting over this minor hurdle, I started contributing to the project at full pace. All in all, I got six patches merged in the Qinling project during the summer. I also made some bug discoveries and proposed some creative features, all of which are now part of the Qinling storyboard. I even contributed for a while after I got back home but was held back by the kind of hardware resources I had and of course, by my studies. I am proud that my contributions didn’t go unnoticed as in Jan’19, I received an invitation to attend the Open Infrastructure Summit that would take place in Denver in May’19.
Summer students at CERN are pampered throughout the summer. I even know of people who didn’t work at all during the entire internship period. The amount of work you do, in a way, depends totally on you. Your supervisor won’t nag or pester you much. He is already too busy. In fact, one of the reasons this internship exists is because teams at CERN don’t have time to test out new projects and services. And so they get students to work for them; this is at least, what I got to know from one of the supervisors towards the end of the internship.
Let’s talk about some lessons I learnt during my stay at CERN. The most important thing I learnt and something that I will always remember would be to lock my computer every time I leave my desk. Not just because this is a good practice, but it also protects you from some mischievous coworkers who would go on the intra-chat and tell everyone that you are providing free ice creams. Next, if you are helping your supervisor understand something on their system and you have an urge to point out something on their screen, never ever, touch it. No matter how cool they may seem about it, deep down, they just want to kill you for not knowing the difference between a normal and a touch screen. All right, jokes apart, there were also some tangible things I learnt. One of them is to tackle an obstacle, no matter how daunting it may seem at first. Working on bite-sized problems and not being afraid of wandering on unchartered territories is the key. Sure, while trying to solve one problem, you may get into many others. You will also break some things and fix the others, but in the end, it’s all worth the effort and is an inherent part of the learning process.
This is not a conventional internship. As a tech guy, if the only thing you want to do is code, then the term ‘Openlab’ is as pretentious as the title of this post. Some students didn’t code even a single line during the entire summer; simply because their projects didn’t require it. Yes, I did manage to submit some patches, but that was purely out of my will to take charge. Further, the project you’ll be working on is decided beforehand, and your supervisor may do little to accommodate your interests. Evidently, this could be a dealbreaker for many. Nevertheless, if you like travelling, and getting to know new people from different cultures and backgrounds, then CERN will offer you an experience like no other. On top of everything, CERN’s brand name does shine bright on your resume and can help you unlock new doors.