Blog post: A Little Hacktoberfest Fairytale

Jonas Brømsø - Oct 16 '18 - - Dev Community

This afternoon something wonderful happened, that I want to share with you.

I am a user of a open source project named: docker-compose-wait. The story about how I use it and why I will save for another post. Anyway I use an older version of the project, which is a shell implementation, the author has since ported the project to Rust and I have stayed on the old implementation, simply because it did what I required and I felt safer with a shell implementation.

When I use open source projects for work or they hold special significance I often sign up for notifications on the project in question - I had done so for docker-compose-wait a long time ago and practically forgotten about it, once in a while
a mail would tick in, I would skim it and the delete it, often I would go to GitHub an unsubscribe, when a project would no longer be of interest or the communication would not hold value any longer.

Yesterday an issue ticked in, somebody requesting a new feature, a pretty basic one, but a new feature nonetheless. The maintainer responded positively to the request and informed that it would be accommodated when time permitted.

I have been playing around with Rust lately, following some online video tutorials and are working on a pet project of mine where Rust seems to be the perfect fit for an implementation.

For no apparent reason I reopened the issue, scanned the repository and source code and it struck me

I think I can do this

With the online tutorials I got my Rust toolchain set up, so forking and getting the docker-compose-wait project set up, was a walk in the park. And after some coding a and back and forth with the compiler I got a working solution and I sent of my PR.

A few hours later I received a response, a positive response requesting some changes to the test suite.

I played around with the test suite a bit and got it to work quite fast. I then ventured to try to extend the test suite and I ran into some issues with tests and concurrency so I backed-off commented out the problematic code and described my observation, committed and pushed.

And now my contribution is a part of the upstream project.

A few things that made this possible are:

  • A positive and welcoming attitude
  • A very well structured code base making it easy to navigate and understand

ufoscout you rock!

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .