Coder Night #1

UPDATE: Review the submissions on github.

tl;dr - Coder Night is to practice development. You write code in pairs or individually and submit the code to me (chris @ arlingtonruby.org). I post an anonymized repo and you have a week to look at all the solutions before a friendly night of code review.

NOTE: Please email me or ask in the IRC channel: #arlingtonruby on freenode if you have questions.

THE PROBLEM SET: http://www.puzzlenode.com/puzzles/1-international-trade

SUBMISSIONS DUE: Saturday November 9th.

Coder Night

Coder Night is a chance to practice your coding skills outside your work environment or help get started if you are just learning. Coder Night provides an ego-free environment to perform deliberate coding practice and to receive critical but judgement free feedback on your progress.

Coder Night welcomes people of all skill levels from "I just wrote my first line of code" to "I have invented my own language"

Please RSVP if you intend on submitting code and participating in the meetup.

How does it work?

We will send out a homework statement a few weeks before the meeting. You'll complete the assignment and submit your code anonymously (you may submit more than one entry). About a week before the meeting we'll start sharing solutions for everyone to read and review. During the meeting, the group will review and provide feedback for the posted solutions. The sole purpose of the meeting is to provide feedback to those who submitted code and ONE guest.

The Homework

Each meeting we will send out a challenge problem to work on. These will be non-trivial problems but not impossible to solve. We aren't going to make you solve the Traveling Salesman problem, but this won't be 2+2 either.

You can work on these problems in a manner of your choosing - individually, in pairs, etc. Code must be submitted 1 week before the meeting - 'night-of' submissions will not be accepted.

Submitting Your Code

Submissions will be 100% anonymous

For now submissions will be emailed to me (chris at arlingtonruby.org) and I will create a public github repository for everyone's code. NOTE: this is not 100% anonymous since I'll see your email address next to your code, but I'll try to ignore/forget.

You may submit more than one entry.

Your submission should also state what you are trying to achieve with the solution provided. Examples include:

• Just learning to code so I just want this to WORK.

• Learning Ruby, practicing writing with the "Ruby style"

• Trying "everything is an object"

• Golfing (fewest possible number of characters/lines) attempt

• 100% Test Driven (include the tests)

If you consider yourself an experienced developer and you raced through the assignment, you are "doin' it wrong" and should find an area to focus on. You should attempt to solve these assignments using techniques that are outside of your comfort zone. For example, perhaps try "TDD as if you meant it" (http://cumulative-hypotheses.org/2011/08/30/tdd-as-if-you-meant-it/) or try to avoid using primitives (eschew integers for objects).

We will publish a full catalog of submissions with enough time to review them prior to the meetup.

The Meetup

**ONLY those who submitted code for review may attend the meeting.**

Each person who submitted code may bring no more than ONE guest to the meeting. Guests may attend ONCE before being required to submit code in order to attend.

What the meeting IS:

• A place to get honest, critical, and helpful feedback on your code either anonymously or face-to-face

• A place to ask questions about the positive and negative qualities of many ways to solve the same problem (I guarantee there will be more ways than you'd expect)

• A chance to identify areas of problem solving, coding and Ruby you'd like to improve on. (and perhaps focus on for the next meeting)

• A great chance to help others.

What the meeting is NOT:

• Grandstanding ("Look at MY code, I'm the king of the world") -- I'll kick you out.

• Pick on the noob ("ZOMG, 200 lines, I could totally do that in 6!") -- Again, I'll kick you out

• Hard recruiting to hire. Its fine to meet people and see if they'd be a fit for your company, but if you use this as a screening process, guess what -- I'LL KICK YOU OUT.

A few meetings rules:

• You have to submit a solution (or be an invited guest) to attend the meeting. Statler & Waldorf's are not welcome - no "I'm just here to criticize".

• You MUST have reviewed solutions and be prepared to speak about them. We are NOT going to read each line of each submission as a group. The meeting only works if you have prepared notes.

• You can be critical, but you must be kind. Otherwise, yeah, you got it, I'll kick you out.

• You must be willing to follow up with people who want to ask questions or for additional detail regarding your comments.

• You may not ask "Who wrote this anonymous solution?" -- 100% chance I'll kick you out.

Why are we doing this?

I learn by doing. I learn by practicing. I am always coding. I am always refactoring. I also learn by watching and helping others do all of the above. I'm always impressed by seeing how others solve problems and enjoy helping people improve and through that improve myself.

I understand people can be self-conscious of their code. It sometimes feels like an extension of yourself and you don't want to be criticized by others. This is why the anonymous option and "be critical but kind" is so important to the format of this event.

I'd like to thank Gavin and the folks from Tampa Ruby. This was adapted from their Coder Night Meetups. And by "adapted," I mean "stolen."

Join or login to comment.

  • Ryan S.

    Let's do it again.

    November 14, 2013

  • Christopher M.

    I was trying to Make it tonight Just to meet But I have to cancel I will Just work on the probleum tonight for next meet Sorry guys see you next time or the DC Meetup tomarrow

    November 13, 2013

  • Justin V.

    nevermind, questions answered.

    November 13, 2013

    • Sean M.

      You can still show up, this is going to be multi track. The people who submitted code will be taking part in the code review and everyone else will be socializing and drinking beer :)

      1 · November 13, 2013

  • Justin V.

    hi. while i haven't submitted a solution to the coding problem, as i'm unable to think at the moment, am i still allowed to attend this evenings festivities, please? i'm a newbie for learning how to think. many thanks for your time.

    November 13, 2013

  • John M.

    Sorry guys, I'll submit code to the next one so that I can come.

    November 13, 2013

  • Christopher M.

    new to it all I will work on challange for saturday & submit

    November 12, 2013

  • Frank Allen D.

    Wish I could go, but I don't meet the pre-quals. If anyone is interested in talking, I'm looking to bring on talent for PokerFund. Our version 2 is built on Ruby from a developer in Las Vegas, but I just moved to DC a few months ago and trying to find some more brilliant mind. Email me at [masked] or [masked] Thanks!

    November 12, 2013

  • Karen

    Darn it! I missed the detail where you have to submit by Nov 9th. I hope to make it to the next one of these. This is an awesome idea!

    November 11, 2013

    • Americo S.

      Same thing here, I missed the Nov 9th. This meetup idea is great.

      1 · November 12, 2013

  • David B.

    I just realized this would be a fun way to write a piece of code that you'd download and run and did something nefarious, like install a key logger... when my solution asks you for your sudo password, that's totally legit.

    1 · November 11, 2013

  • Sean M.

    Hey all, if you sent your solution to one of the organizers other than Chris please let us know. I saw in my spam folder that someone had emailed me their work.

    November 11, 2013

  • Nathan H.

    defeated by RubyConf. next time.

    November 10, 2013

  • Drake T.

    thanks!

    November 10, 2013

  • Jeffrey H.

    I have to drop out of this challenge. Hope to do the next one, though. I volunteer to go to NoSo and drink beer until the code review is over.

    November 4, 2013

  • Christopher S.

    The submissions are now up on github. You'll want to make sure to clone it locally and review before the meetup. Normally the internet works well, but if there are any problems at least we won't be blocked.

    https://github.com/arlingtonruby/codernight-01

    November 10, 2013

  • Drake T.

    Does anyone know how to access the public repo with all of the submissions? I'm having some trouble finding it.

    November 10, 2013

  • Ryan S.

    Would love to attend, but tonight is the deadline and I don't have time to do the challenge. Hopefully I'll make the next one. I understand what the rule of having to submit to attend is trying to accomplish, though I'm not sure it is the best policy. I'll try to come up with a constructive alternative to that policy as a suggestion at the next general meeting.

    November 9, 2013

  • Jam!

    Wish I could make it.. I have a conflict!!! I'll be there in spirit!

    November 9, 2013

  • Rob D.

    Sorry to miss this. Will be out of town this week, but will keep an eye out for the next one.

    November 8, 2013

  • Jacqueline S. H.

    OK. I'm not well-educated and VERY new to learning software development/computer programming. But I was a math major in college 15 years ago. I would like to try to do this problem.

    November 7, 2013

  • A former member
    A former member

    Looking for a rails developer to work with my team on a large project. If you're interested, please email me. Thanks!

    [masked]

    1 · November 6, 2013

  • Derek S.

    Sounds fun!

    October 22, 2013

38 went

Our Sponsors

  • Clean Ruby

    Get the ebook by Jim Gay about Ruby, OOP, and DCI

  • O'Reilly

    Discounts on print and ebooks.

People in this
Meetup are also in:

Create your own Meetup Group

Get started Learn more
Rafaël

We just grab a coffee and speak French. Some people have been coming every week for months... it creates a kind of warmth to the group.

Rafaël, started French Conversation Group

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy