Go Challenge - 9


The 9th Go Challenge is now closed. Sadly there were no submissions for this challenge.

The July 2016 Go Challenge for developers (newbies included)

Aaron Cruz: Author of the 9th Go Challenge

Aaron Cruz The 9th Go Challenge author, Aaron Cruz, is a food lover who speaks about Go and other programming languages at conferences around the world. For his real job, he helps marketplaces start making revenue faster by integrating with Stripe Connect to simplify buyer/seller (rider/driver, freelancer/client) payments.

Aaron has this to say about the challenge:

“I am interested in a pragmatic approach and I want the entrant to have fun. It doesn’t need to be exact, just as accurate as you can get. Cut corners and break rules if you need to :)”

The Go Challenge 9

Nothin’ But a Go Thang

I grew up with Hip Hop. It connected me with a culture that seemed very alien, having grown up in the suburb of a suburb in Northwestern USA. Hip Hop changed dramatically over the years but one thing that stayed constant was story telling.

Here are some samples of some of my favorites over the decades starting from my youth to the present.

80s Eric B. & Rakim - I Ain’t No Joke

90s The Notorious B.I.G. - “Juicy”

00s Talib Kweli - Get By

10s Open Mike Eagle - Ziggy Starfish

It has always been one of my dreams to be a rapper. Unfortunately I spend way too much time on Twitter. I don’t have nearly the amount of time and energy necessary to write rhymes and practice my flow.

The Goal of the challenge

The goal of this challenge is to create a tweet to rap converter. It will take a twitter user as input and return rap versions of the tweets in their timeline.

Requirements of the challenge

For example, let’s take Brad Fitz tweet:

I’ve never used Plan 9, but I watch it install occasionally. And today I learned that “myriad” can mean 4. pic.twitter.com/sIkvgEBMEF

— Brad Fitzpatrick (@bradfitz) May 10, 2016

One possible output could be…

Leave you, I never mean to
I watch it occasionally
Today I learned what I’m about to do

Or from Mr. Cheney:

Companies that reject remote working are implicitly putting their own internal communication problems above hiring the best candidate.

— Dαve Cheney (@davecheney) May 16, 2015

Could be…

Workin’ with the work, plus you know I keep the strap!
Problem is communication just be between me and myself
back to the snap


  • Tweets are 140 characters or less
  • two lines need to rhyme
  • it feels as much as possible like the original tweet


  • Take a look at the Soundex and Metaphone algorithms

Bonus features:

  • keep a nice meter
  • complex rhyming scheme (ex. multi-sylable rhymes)
  • classic hip hop lyrics mixed in

Challenge Rules and how to enter the Go Challenge?

By participating in this challenge, you agree to be bound by the Challenge Rules below:

  • The Challenge is open to individuals.
  • Evaluators cannot enter the challenge except under the “Just for Fun” category.
  • 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 the winners.
  • No prize substitution is permitted.
  • Create a zip of your Go source code and test cases and send the zip file to golangchallenge [at] gmail.com before 24th of July 2016 (6 am IST). Use this link to find the equivalent time in your city/country. No new solutions will be accepted after that. In the email mention your full name, country of residence, twitter or GitHub id (if any) and participating under which category - Just participating or Participating and exploring further or Just for Fun or Anonymous entry. We are accepting anonymous submissions and will evaluate them too but then these participants are not eligible for the prizes.
  • We shall be publishing on this blog, a list of participant names. If you don’t want your name to appear kindly mention the same in your email.
  • You are allowed to re-submit your code if you feel it is necessary.
  • After the challenge is over, all submissions will be made available online on GitHub under the BSD 3-Clause License or the GNU General Public License, version 3 - GPL-3.0 unless a participant has indicated that his/her solution should not be made public before the challenge ends.

How will the challenge be evaluated?

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


If you have any questions about this challenge, please join the golang-challenge channel on slack and ask your questions. This is a room for people who are going to participate in the Go Challenge. You can also send us an email at golangchallenge [at] gmail.com

Best Solution

The author of the Go Challenge will decide the best two solutions. The author shall have the sole authority and discretion to select the award recipients.


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


The author of the challenge will select 2 winners and prizes will be awarded to them.

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

Winner 1:

Winner 2:

Challenge Solutions

All the solutions submitted by the participants will be available here after the challenge ends.


This challenge’s sponsors are: Apcera, Cube Root Software, GitHub, JoshSoftware Pvt. Ltd. and Qwinix Technologies.


  • The Gopher character is based on the Go mascot designed by Renée French and copyrighted under the Creative Commons Attribution 3.0 license.
  • GitHub for the yearly sponsorship of a GitHub Bronze Organisation plan for the Go Challenge.
  • The Go Challenge is being organized by JoshSoftware Pvt. Ltd. with help from the Go community.
Written on July 1, 2016