Thanks to everybody involved in the Code Ping Pong - it was really fun to do this!
In quick a burst of programming madness, using the awesome Rails Way, and not testing a single bit of it, I scrambled a rails 4 app together. It was very simple - it allowed any logged in user to invite DHH to discuss over a gist of code. DHH could respond with his version and others could vote. Ping pong!
You can checkout the code here if you are interested at github.com/netguru/pingpong
After mailing the first version to David, I realized that my short +/- 75 minute sprint was done with a bit of naivety. He is a busy person after all, and it wasn’t likely he will have time for such games.
Indeed, when he replied, he said that it’s a good idea but time is the issue. We agreed to make this a one-time event, with 5 entries only. I would choose the entries. Since wroclove.rb was in about a week, I figured it’s going to be good occasion to promote the idea. I asked Mateusz to help me make the app look better (the first version was just one big pile of twitter bootstrap elements), we’ve changed the logic a bit, and I went off to Wrocław to announce it at the conference. My goal was also to find few people to help me judge which entries should we send over to DHH - I thought asking wroclove.rb speakers was good idea.
The response was pretty good. Everybody there liked it, and we went to HN quickly. With an extra worker on heroku, it handled the traffic nicely, around 12k views the first day.
Enthusiastic members of the community thought this is might be a huge thing:
— Michał Taszycki (@mehowte) March 15, 2014
— Etienne Depaulis (@EtienneDepaulis) March 18, 2014
and others thought I was just trolling:
“Is this some passive aggressive shit?” g8oz, HN user
DHH was kind enough to take part in its promotion and tweeted the site once or twice. This gave us about 6k more of initial “wow” traffic. It’s crazy to see one tweet having 50% of the power of a HN post.
Looking forward to this upcoming round of code ping pongs, http://t.co/gZscmo0Fko
— DHH (@dhh) March 22, 2014
In the next weeks, some entries came in. We got stuff like:
- a config to sublime editor (?)
- somebody trying to troll David into writing C++
- a person angry that they had to manually alter their migrations schema table (btw, srsly, this is most likely your fault)
We received a total of 11 entries, 3 of them were test entries done by me, Mateusz and Anna who were helping us with the promotion of the event. The rest were useless, like the examples above. At this point we tweeted:
— Code Ping Pong (@codepingpong) March 24, 2014
We wanted to encourage people to submit, but we thought it would feel intimidating to know that your submission would be immediately accepted.
That sadly did not help. We were about to close the submissions and we had nothing. To make it worth everyone’s time we pushed forward the closing date and I asked some friends personally to submit something. In the end, Andrzej and Jacek submitted some legit code, and I’ve added the first thing that came to my mind - a part of refactoring I had just made for one of Netguru’s projects.
You can see the rest of the story here www.dhh-ping-pong.com - DHH responded and all three contestants LOST to his versions! I think this is no surprise though, since his code looked better - I’ve voted for him even for my ping-pong :).
Lessons learned from this?
It’s good to see that the founder of our community has time to actually discuss stuff with the community - it inspires me to never ignore anybody that reaches out to me, no matter how busy I am.
If we do a second edition, it’s going to be based only on refactorings of some OS rails application, and you won't get to see who are you voting for until the vote is over :)
Lots of people claim to see problems with Rails but there is only a few willing to discuss particular examples - for me this does not add up, but there is probably more than one reason for this
Thanks to everybody involved!- it was really fun to do this. Let us know in the comments or on Twitter if you think we should do this again. Maybe with some other core member of our community?