MATLAB Programming Contest

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

1 comments

Comments 1 - 1 of 1 previous next Post a comment

Post a comment
Embed Video
Edit your comment Cancel

Favorites, Groups & Events

MATLAB Programming Contest - Presentation Transcript

  1. Addictive Collaboration Patterns of Participation in an Open Programming Contest Ned Gulley The MathWorks, Inc.
  2. Competitive Wikipedia
  3.  
    • MATLAB Programming Contest:
    • A week-long open collaborative competition for MATLAB programmers
    • Entries are automatically scored, ranked, and displayed immediately
    • Code, author, and score are visible at all times
    • Anyone can modify anyone else's code and resubmit it as their own
  4.  
  5. Protein folding
  6. leaders leaders 1 karim 2 carol 3 eric karim. fcn f(x) ... view entry new entry ned. fcn f(x) ... 1 ned 2 karim 3 carol 4 eric
  7. Doug says:
    • “ I do not understand why anyone would be interested in participating in a contest where a winning idea is immediately co-opted and tweaked by another player.”
  8. Stijn says:
    • “ I started Monday after work. I worked late, let's say 4 or 5 hours. I started to become ‘obsessed’. At home, although I am a father of three children, my full-time job was working on the contest. I didn't sleep much. I worked maybe 10 hours after work each day. On Thursday it was clear that I wasn't going to be able to work seriously (for my job), so I took a day off on Friday.”
    • “ This is my first MATLAB contest and it is giving me far too much enjoyment. It's one of the most addictive things I have tried. The exercise is improving my programming skill, but in return I have backache, a terrible diet, no social life, and not much of a work life either. Also, I have experienced physical trembling while making the final preparations to send a code into the pit. Is that normal?”
    Nathan says:
  9. Patterns of Participation
  10. Big changes (Leaps) function f = fb(n) a = [0 1; 1 1]^n; f = a(2); function f = fb(n) if n > 2 f = fb(n-1) + fb(n-2); else f = 1; end Generating the nth Fibonacci number: 1, 1, 2, 3, 5, 8, 13, ...
  11. Small changes (Tweaks) ... y = [1 2 3] ... ... y = 1:3; ...
  12. Better Time Wednesday Monday Score = k1 * (algorithmic result) + k2 * (CPU time)
  13.  
  14.  
  15. Punctuated equilibrium (the zigzag of innovation)
  16. CPU Time Cost Function
  17. Cost Function CPU Time
  18. Cost Function CPU Time
  19. Collaboration
  20. Code Market Share by Line Count
  21. Schools of thought (clans)
  22.  
  23. Innovation uptake
  24. First use of conv First leader with conv
  25. Systematic variation (tweak bombs)
  26.  
  27.  
  28. Social signaling
  29. • Scrambled Eggs • Rotten Eggs • I didn't start the fire • don't get obfuscated ... follow the light • You Call This Collaboration? Give Me A Break
  30. • Tweak Tweak Tweak • tweakfest • tweak-o-rama • slippery ground (tweak me) • Seems like everyone's just tweaking • I said to myself not to do this kind of thing... • Poopdeck Pappy gives in to peer pressure
  31. • I wish I knew how this works
  32. Phase transitions
  33. novel conserved deleted
  34. Line-by-line Analysis
  35. History Flow
  36. Knapsack, all
  37. Knapsack, leaders only
  38. Knapsack leaders
  39. Knapsack shortest path
  40. The shortest path
  41. Two views of history
  42. Broad variations
  43. Deep variations
  44. Motivation
    • Personal glory
    • or
    • Collaboration
    ?
  45. Behavior of a jealous coder
    • Last-minute entry
    • Obfuscation
    • Spaghetti code
    • No comments
    • Sandbagging
    • Sock puppeting
    • Combinations
  46. “ Behavior” of successful code
    • High rank
    • Time on top
    • High status author
    • Clarity
    • Elegance
    • Comments
    • Novelty
    • The coder wants to block code propagation
    The code wants to propagate! The essential tension:
    • For the coder
    • Make participation easy
    • Reward vanity
    • Many cheap prizes
    • Darkness period
    • Easy tweaking
    • For the code
    • Encourage copying
    • Highlight changes
    • Punish complexity
    • Discourage obfuscation
    • Easy tweaking
    Managing the tension:
    • A chicken is only an egg’s way of making another egg.
    A hacker is only code’s way of making more code.

+ Ned GulleyNed Gulley, 11 months ago

custom

1231 views, 0 favs, 1 embeds more stats

This is a programming contest where everyone's code more

More Info

© All Rights Reserved

Go to text version
  • Total Views 1231
    • 1206 on SlideShare
    • 25 from embeds
  • Comments 1
  • Favorites 0
  • Downloads 48
Most viewed embeds
  • 25 views on http://www.starchamber.com

more

All embeds
  • 25 views on http://www.starchamber.com

less

Flagged as inappropriate Flag as inappropriate
Flag as innappropriate

Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

Cancel

Categories