Yesterday (Saturday, November 19th 2016) we hosted our first coding event as .NET Zuid. We've been planning the event for a couple of months now and yesterday was the day!

Centric

We were welcomed to Centric in Son & Breugel (near Eindhoven in the Netherlands). The codeathon was part of the Centric Craft program, which enables IT pros and software developers to learn and grow. Regional manager for Centric south, Benjamin Truijen had everything arranged for us. We had a great space to work in, plenty of internet, desktop PC's in case anybody needed any and of course, lots of food and drinks. Benjamin even arranged for the entire day to be filmed. I'll post links to the results as soon as I can. We are very thankful for all of the support Centric has provided us. Thank you Centric and thank you Benjamin!

Humanitarian Toolbox

This event was the first codeathon in Europe for the Humanitarian Toolbox organization. This is a non-profit organization that tries to save lives with software. They run several software projects that help save lives in different ways. All of the projects are open-source software projects, hosted on GitHub and run entirely by volunteers.

The project that we focused on was allReady. allReady is a website and mobile application that focuses on "putting disaster response out of work" by helping every community and family be prepared and ready to reduce and avoid the impact of disasters big and small.

We wanted to contribute to this particular organisation, because we think this is a great charity for us and a great way to add real value to the world with the particular skillset that we have (software development). What's better than working on something that actually helps people, instead of working on yet another enterprise application that makes company X more money?

We've heard about Humanitarian Toolbox on the .NET Rocks podcast, hosted by Richard Campbell and Carl Franklin. Many of the participants of our codeathon event did so too.

The codeathon

As many of you know, earlier this year, Richard Campbell actually helped to jump-start .NET Zuid by speaking at our very first event, for which we are eternally grateful!

Richard is a founder of the Humanitarian Toolbox (together with Bill Wagner and Tony Surma. Please forgive me if I've left out anybody!) and in that capacity, he, Bill, Tony and others have helped us to gear up for the codeathon. Specifically, they've made sure that the code-base was stable and ready for a lot of people to work on simultaneously (which is not an easy thing to do). They've also made sure that we had enough issues to work on; easy issues that are good to start out with if you're new to the project (labeled as Jump-in), but also more difficult issues.

Richard even volunteered to join us in the Netherlands during the event. We've planned it so that it coincided with Richard being in the Netherlands already for the Devintersections Europe event (which we've attended and was a lot of fun). Unfortunately, the day of the event, Richard came down with the flu and was unable to attend. He did bring us some HTBox swag, which was a great personal touch!

9:00

We started early in the morning (for a Saturday), at 9:00. 15 developers showed up and were pretty well prepared. Everybody had their own laptop, with most of the prerequisites installed and some people had already gotten a copy of the project and had started to poke around in the codebase.

Benjamin kicked off the day, after which I introduced the project briefly and explained what the expectations of the day were (have fun, learn something and maybe commit some changes).

And we started. We followed this basic workflow:

  1. Find a task (in our case; try and find one from the November milestone)
  2. Indicate that you are going to work on the issue in GitHub (by putting something like working on it as a comment in the issue)
  3. Create a fork of the code on GitHub and get the code to your local machine
  4. Get the code running on your PC (this went well for most. Some people had issues. Most notably, one PC needed to clean the Bower cache, which we found out after several hours of trying)
  5. Do the work
  6. Commit the changes to your local repository (the local copy of your fork) (with a descriptive comment, including the issue number like #1503)
  7. Push the commit(s) to GitHub (to your fork)
  8. Create and submit a Pull Request of your changes. (also with a descriptive comment, and including the issue number in the description like #1503. If this Pull Request solves the whole issue, add closes #1503 in the description)
  9. Celebrate!

Also, we tried to keep track of what we were doing by using simple sticky notes on a board:

12:30

Centric had provided us with a great (warm) buffet, which was awesome. After digesting that, we continued on at full-pace.

17:00

Our day ended at 17:00. As a special treat, we called into the allReady weekly standup, broadcasted live on YouTube to celebrate our day.

In the end, we managed to submit 12 Pull Requests and more are coming today and hopefully throughout the next weeks.

In conclusion

We've had a great day. We've learned a lot and had a lot of fun. I think this was such a success because we had a group of very smart, dedicated and passionate developers that were very communicative and helped each other a lot.

We've all learnt a lot, especially using Git and GitHub, which is still new to some people. Also, we had a variety of developers, with different backgrounds (web, desktop, non-.NET languages) who ultimately all contributed greatly and learned a lot in the process.

Thanks!

Again, I want to thank Centric for all of their support! I want to thank all of the .NET Zuid premium sponsors which make all of our activities possible (Centric, BDO, Aviva Solutions, Truelime and QNH). Additionally, I want to thank everybody at the Humanitarian Toolbox for all of their support in making this event possible. We hope to keep contributing for a long time!

And most of all, I want to thank all of the attendees! It was a great day and you guys did some great work! I had a blast doing this with you and I hope that you keep contributing to the project!