Go Challenge

Preamble

JoshSoftware Pvt. Ltd. is India’s leading company in building innovative web applications working exclusively in Ruby On Rails since 2007. Josh have been using Go in some of their Web applications along side Rails (especially for some heavy lifting). Back in 2009, Josh had been actively involved in organizing Ruby programming challenges and decided that Go too needs such challenges. Hence the monthly Go Challenge.

What is the Go Challenge ?

  • The Go Challenge is the world’s first monthly programming challenge for Go developers (newbies included).
  • The Go Challenge is free and registration is not required.
  • A new Go Challenge will be posted here on the first day of each month starting March 2015.
  • The challenge is open to individuals only.
  • You are invited to post your queries / doubts on our forum.

How does the Go Challenge benefit you ?

The Go Challenge:

  • is a good idea as reading books and documentation can only take you so far when learning a new language. To really learn, you need to use the language.
  • provides a fabulous forum for using Go in the form of regular, engaging (but not arcanely difficult) challenges. Better yet, it provides feedback on how to use Go well, as each month the best solution to a challenge is chosen.
  • is a wonderful introduction to the Go language and to the Go community.

First Challenge

The First Go Challenge, related to music and binary encoding, is being set by Matt Aimonetti. Matt is Splice CTO & Co-Founder, an experienced technologist, entrepreneur, technical writer and active open-source contributor based in Santa Monica, CA. Prior to Splice, Matt worked as a Tech manager/R&D developer at LivingSocial, on video game development at Sony PlayStation, as a sound engineer and on many other things.

Other Months

So far, the following Gophers have agreed to set up the challenge for:

Other interested Gophers: Blake Mizerany, Matthew Holt, Mike Gehard, Niket Patel, Piyush Verma, Verónica López and William Kennedy.

Sponsors

Any individual or companies interested in sponsoring the monthly event are welcome. Please contact Satish Talim at gochallenge [at] joshsoftware.com

So far, Anand D NApceraCoreOSCube Root SoftwareDigitalOceanDockerGopherCastsHelpshiftInfluxDBJohn SonmezJoshSoftware Pvt. Ltd.Manning Publications Co.NodePrimeO’ReillyPackt PublishingQwinix TechnologiesRainingClouds and Sourcegraph have agreed to support the challenge. More to follow soon.

How to enter the Go Challenge?

  • Read the Challenge Rules below. By participating in this challenge, you agree to be bound by the Challenge Rules.
  • Create a zip of your Go source code and send the zip file to gochallenge [at] joshsoftware.com by the 15th of the month (midnight IST, 11:30 AM PDT). No new solutions will be accepted after that. In the email mention your full name, country of residence, and twitter id. We will give your zip file to the evaluation team. Note: Avoid sharing your code with anyone else; if your solution becomes available to the general public it might impact evaluation of your submission.

How will the challenge be evaluated?

Entries will be anonymized and evaluated by the challenge author and a team of evaluators.

  • Functioning code and a test suite that passes.
  • Code hygiene. Use gofmtvet and lint. Review CodeReviewComments.
  • Readability. How easy is it for another programmer to grasp what your entry is doing?
  • Code structure. Do types and files have good names?
  • Reliability. Are errors properly handled?
  • Appropriate consideration given to memory and performance (nothing is unnecessarily expensive).

Challenge Rules

  • The Challenge is open to individuals.
  • You maintain ownership of all code you submit and can release it under an open source license or keep it private after the challenge.
  • Evaluators cannot enter the challenge.
  • Each entrant shall indemnify, defend, and hold JoshSoftware Pvt. Ltd. (who has sponsored the domain and is the organizer of these challenges) harmless from any third party claims arising from or related to that entrant’s participation in the Challenge. In no event shall JoshSoftware Pvt. Ltd. be liable to an entrant for acts or omissions arising out of or related to the Challenge or that entrant’s participation in the Challenge.
  • Odds of winning depend on the number and quality of entries received.
  • All taxes, including income taxes, are the sole responsibility of winners.
  • No prize substitution is permitted.

Evaluators

Nathan Youngman has agreed to set guidelines for evaluation. Akshay DeoJacques FuentesJiahua ChenJyotiska NKNiket PatelNishant ModakPiyush VermaPravin MishraSanat Gersappa and Søren Mathiasen have agreed to go through all the submitted solutions of a challenge. They will comment and rank these solutions. More evaluators are welcome.

Best Solution

The author of the Go Challenge for the particular month will decide the best solution, with some help from the Go community. This author shall have the sole authority and discretion to select the award recipient(s).

Notification

The winning entries will be announced here. The winners will be sent their prizes by email/postal mail.

Prizes

There will normally be two prizes (though we reserve the right to change this for each challenge). One prize will be awarded for the best solution selected by the author and the other (in later chalenges) will be for the best popular voted solution by the community. Prizes can range from small cash rewards to free PDFs, Screencasts – whatever the sponsors of the challenge have offered.

Here are some great prizes provided by our sponsors for the event.

Winner (selected by the author):

Winner (selected by the Go community):

Anyone can a get 42% off on the price of the following eBooks from Manning Publications Co.:

Also, anyone can a get 20% off on the price of the following print and / or eBooks from Packt Publishing:

Winner Interviews

After a winner wins the monthly challenge, he/she would be interviewed by Sourcegraph and the interview will be published on their blog.

Credit

  • The Gopher character is based on the Go mascot designed by Renée French and copyrighted under the Creative Commons Attribution 3.0 license.
  • The Go Challenge is being organized by JoshSoftware Pvt. Ltd. with help from the Go community.

Leave a Comment