Being provided the chance to contribute to CERN, one of the worlds peak scientific groups, was more than enough inspiration.

What it does

I’ve provided a new configuration file format using YAML with the aim of simplifying the code by enabling the future removal of complicated config handling logic.

How I built it

I created a YAML config file and added a popular Go YAML library. I then updated the tests to check both the YAML and original configs. Finally, I created a function to handle loading YAML config and then allowed the code to use either YAML or the original config style.

Challenges I ran into

The default branch for the go-yaml/yaml package is v2. It took me a while to notice that a newer version exists on the v3 branch. This simplified the code even more, allowing me to remove struct tags that were required with v2.

What I learned

The fact that I can make useful contributions to one of the most important scientific institutions in the world, and have these accepted, has given me confidence to grow my software engineering abilities even further and contribute to more projects.

What's next for Config improvement

I was excited to see the PR was merged. I can now happily tell friends and family I’ve contributed to science at CERN!

Built With

Share this project: