Beauty of code and annoyance of errors

The first computer programming course that I took in my university was in 2012. It was meant to teach us basic coding in C : a hello world, adding two numbers, sort, search, some recursion, some dynamic programming – the normal drill. When we started, the code would never be more than 30 lines. So it was not a surprise that when the professor stressed on how the code should be beautiful, we couldn’t make much sense of it. We can do without comments or proper indentation- it’s easy to make sense of what’s been written. Of-course, as the codes grew longer, our arrogance became smaller- and we realized the importance of readability of the code.
With open source- this takes itself to new level altogether. Literally anyone can read your code. And anyone can have a great idea as to how it can be made cooler. So the code should not just be pretty enough for you- but for anyone who looks at it- a pro who’s been coding since before you were born, a newbie still not completely familiar with Git, a developer’s girlfriend trying to understand her boyfriend’s work, a developer’s dog staring at the screen and wondering if it’s food (wait! I think that one is too much).
Roaming around The Foreman code, I couldn’t help but be absolutely amazed by how well-written it is. The modularization is phenomenal. Everything is in a proper place, which makes it so easy and more importantly, scalable. And I guess its the beauty of the code that makes a newbie developer like me walk in, make changes and still end up with something that makes sense.
Another thing that caught my eye was my name in the list of contributors for Foreman docker, and although I’ve stared at it a million times already, it never fails to be an amazing feeling. Of-course, what does not stir such happy feelings is the never ending list of errors that the CI pops up when I test the good old exposed ports commit. What’s funny is- when I run those tests on my local system, they work perfectly fine (what is this sorcery!) I’ve tried a few things so far- trying to actually fix the errors, running to Daniel for help, praying…
A little about the commit: it makes the validations for the exposed_ports work, is compatible with fob 1.25, displays the exposed ports data on the show containers page. What it does not do, is pass the tests 😥 Hopefully, one morning, Jenkins will be in a good mood and take it easy on the errors.