Presentation is loading. Please wait.

Presentation is loading. Please wait.

The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc.

Similar presentations


Presentation on theme: "The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc."— Presentation transcript:

1

2 The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc.

3 I started Monday after work. I worked late, but not very late. Let's say 4 or 5 hours. The following days I had to work, but 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. Stijn says…

4 Nathan says… Well, this is my first MATLAB contest and it is giving me far too much enjoyment. It's one of the most addictive and compulsive things I have tried. The exercise is improving my programming skill - true - but in return I have a neckache, a 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 submit code. Is that normal?

5

6 How does the contest work? Visualize results

7 What is MATLAB? A matrix-based language suited for algorithm development

8 Contest goals Entertain Foster community Encourage the exchange of good programming practices

9 Contest features 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

10 How it works rules standings 1 tim 2 carol 3 eric tim. fcn f(x)... view entry new entry ned. fcn f(x)... 1 ned 2 tim 3 carol 4 eric

11 Joining the contest: tweaks... y = [1 2 3 4]...... y = 1:4;...

12 Joining the contest: 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,...

13 Previously… Mastermind Protein folding Mapping Mars Golf Gerrymandering

14

15 What makes a good problem? Low cost of admission Plenty of headroom

16 Blockbuster

17 What to reward? A good answer Gotten quickly

18 Better Time WednesdayMonday

19 Better Answer Faster Result The zigzag of innovation

20 1000!

21 One contest: Sudoku… 3061 168 290 144 798

22 Visualizing Mastermind

23

24 Overlapping clans

25 Genetic programming First use of conv First leader with conv Innovation at the periphery

26 Darwinian tweak bombs

27 Tweak bombs up close

28 Size and similarity over time

29 Entry names

30 Collaboration clusters

31

32 Social issues hacking tweaking obfuscation acknowledgment scoring inequities tweak bombs clone bombs

33 Obfuscation function A = domove(A,mv) N(:) = false; findNeighbors(mv(1),mv(2),A(mv(1),mv(2))); anyN = any(N); for j = 1:size(A,2) if anyN(j) …

34 Obfuscation zzz1018=zzz1018+zzz1032;for zzz1069=2:zzz1014 if zzz1048(zzz1018),zzz1041(zzz1018)=zzz1018; zzz1053=zzz1018-zzz1032; if zzz1048(zzz1053)==zzz1048(zzz1018) zzz1041(zzz1053)=zzz1018;end …

35 The contest immune system

36 Two can play at this game. It's sad that this has sunk to this level. Can't we return to the spirit of the contest? Alan Chalker says…

37 …"spirit of collaboration" vs "spirit of competition"?! This is a competition right? Otherwise, anyone up for a round of cum- ba-ya? Dr. Seuss says…

38 It is a competition, but with certain rules and goals. One of the goals is collaboration and improving other codes. The darkness and twilight zones are added to give people time to develop their own algorithms without being tempted too much for just tweaking others codes. Stijn Helsen says…

39 What have we learned?  Collaborative competition works!  Don’t knock tweaking  Format dissolves contemptuous isolation  And…

40 The Big Lesson: Focus on the small Approachable problem Low cost of admission Rewards for all levels of effort Smooth gradient of participation

41 As a newcomer I was skeptical about the role of "competitive collaboration". However I'm now convinced that it's what makes the contest work. And anyway the really consistent competitors keep returning to the top of the table and staying there with innovations that are more than tweaks. And the fact that it's so popular must mean the basic formula is right. I think there is a self- regulating aspect to it - nobody comments their code overhelpfully, but nobody has gone out of their way to obscure code either.

42 Additional info at URL: http://www.mathworks.com/contest/ I can't tell you how much I enjoy the MATLAB contests. I know it takes time out of your busy schedules to conduct this activity, but I believe it is a great way to promote the product and build user loyalty.

43

44 END

45 Bee Conjuring and Swarm Orchestration Optimizing Collaborative Innovation April 12, 2006 Ned Gulley The MathWorks, Inc.

46 1.Conjuring a crowd 2.Keeping them busy 3.Social issues 4.Future directions

47 1.Conjuring a crowd 2.Keeping them busy 3.Social issues 4.Future directions Problem design Micro-rewards War stories Next big thing

48 Titles as conversation 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

49 Titles as conversation 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 things.... Poopdeck Pappy gives in to peer pressure

50 Titles as conversation I wish I knew how this works

51 Player types Spectators, Lurkers Drop-ins, Visitors Tweakers, Top-grazers Algorithm Artists Churners, Integrators Warriors, Obfuscators

52 Player types 1. 2. 3. 4. … Tweaker (many) Churner (few) Drop-in (many)

53 Features we’ve added Leaderboard Lots of realtime stats Mini-contests Mid-contest analysis Darkness and twilight Newsgroup discussion Contest blog File differencing

54 Future directions What’s the goal? Fun == Optimizing innovation. How do we optimize? Modulate diffusion Modulate testing Listen to the contestants!

55 Putting the bees to work Contest to create shipping code Rent-a-swarm Create your own contest

56

57 Turning windmills: The MATLAB File Exchange

58 Similarity Distance Contest Evolution Virus Evolution

59


Download ppt "The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc."

Similar presentations


Ads by Google