Advancing particle physics from the comfort of my own home

A recount of my days of participating in Google Summer of Code 2020 with CERN-HSF

Muhammad Aditya Hilmy
HMIF ITB Tech
5 min readJan 11, 2021

--

A dramatization of what’s going on inside a particle collider, drawn by an amateur (me)

Last pandemic, I got the chance of working closely with folks from the European Organization for Nuclear Research (CERN) as a part of the Google Summer of Code 2020 program. It was a uniquely amazing experience, and it honestly felt surreal.

A quick introduction about GSoC, it’s a program administered by Google to promote open source software development to university students. You will have the chance to work with some of the world’s most recognized organizations, like TensorFlow and in my case, CERN. Learn more about it on g.co/gsoc.

Also, a quick introduction about CERN, it’s an intergovernmental organization that focuses on particle physics research. You might have heard about the Large Hadron Collider, it’s at CERN. The inventor of the World Wide Web, Sir Tim Berners-Lee, was working at CERN when he invented it.

Applying for GSoC

Applying for GSoC wasn’t a particularly hard task, but it did require my time and energy. At first, I looked at a list of projects and organizations that were participating in GSoC. One organization caught my eye; it was CERN. I took a look at the project list for CERN, and saw a project that was perfect for me. It was about developing a JupyterLab extension that integrates with CERN’s scientific data management platform Rucio. Excitedly (and of course, nervously), I contacted the primary mentor assigned to the project to express my interest. He then gave me some tasks that I needed to do to show that I was qualified. After I finished the tasks, I drafted a proposal, sent it to the mentors for review, revised the proposal, submitted the final proposal, and waited for the best.

After spending about a month in quarantine while binge-watching Gossip Girl, at May 5th, 00.55 in the morning, this message came to my inbox:

The email that got me screaming on the inside (in a good way)

Upon reading it, I was flooded with excitement and ideas on how to implement the project. I couldn’t get my well-deserved sleep — I ended up reading the Rucio documentation instead.

Community Bonding Period

Soon after the announcement, it was time for the Community Bonding Period. At that time period, I was expected to prepare myself for the coding days. That preparation includes introducing myself to my mentors, getting familiar with the technologies that would be used for the project, reframing the problem and revising the main idea, and setting up the development environment.

I was accompanied by *seven* mentors from three different teams throughout the project. Some of them even have a PhD! Thankfully, they were very nice and really cared about my workload and interest. They helped me navigate the world of high energy physics computing and guided me on what to do. Truly, I couldn’t ask for better mentors.

Exploring the technology was a bit tricky to be honest. The technologies are widely used in the scientific community, but not in the general public. Doing Google Search on those things didn’t land me on StackOverflow or some other familiar websites. Instead, it landed me on CERN experiments’ wiki pages, scientific papers, and some other locations that were unfamiliar to me. Despite all of that, it was still a fun thing to do. Also, I had mentors who I could ask about those things, so it wasn’t really a huge problem.

Coding Period

After about a month doing numerous trial and error, it was time for the Coding Period. At this period, I was expected to, well, code. Every day, I boot my laptop, open VSCode and Spotify, and code. In this project, I was allowed to work at my own pace and set my own milestones — so it was super chill. My mentors and I would have regular Zoom meetings to discuss the big picture of the project and to make sure that my ideas were aligned with the end goal.

The first time we had a Zoom meeting, sweat was raining down my neck. I was very nervous to converse in English, let alone with CERN people. Also, I had to turn on my camera for introduction, which made me even more nervous. When the meeting began and everyone started introducing themselves, I was having a hard time understanding what my mentors said, primarily because they spoke in European accent that I wasn’t familiar with (sorry guys). But eventually, I pulled through. To be honest, conversing with them multiple times made me more confident when speaking in English. Not necessarily better, though :)

After having a (somewhat) working version of the project, my mentors and I tried deploying it on actual CERN servers that would serve as a testing and demo instance. As a proof of concept, I tried running an actual CERN experiment data analysis code. Luckily for me, it worked! I was really glad to see it actually working on CERN servers.

Final Presentations

The most exciting part of this GSoC journey was presenting my work to the community. To be really honest, I was very nervous to deliver presentation in front of people from CERN and other scientific communities. And not just one presentation, but four of them! To avoid tongue slips, I rehearsed the pitch multiple times in front of a mirror. Although, I have to say that it was truly a great opportunity to showcase my work, and hopefully lots of people would eventually use it for the betterment of scientific research.

--

--