+ All Categories
Home > Documents > The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The...

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

Date post: 28-Dec-2015
Category:
Upload: cynthia-dalton
View: 217 times
Download: 0 times
Share this document with a friend
59
Transcript
Page 1: The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc.
Page 2: The Zigzag of Innovation A Wiki-like Open Source Programming Contest Foo Camp 2006 Ned Gulley The MathWorks, Inc.

The Zigzag of InnovationA Wiki-like Open SourceProgramming Contest

Foo Camp 2006Ned GulleyThe MathWorks, Inc.

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

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…

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

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?

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

• How does the contest work?

• Visualize results

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

What is MATLAB?

A matrix-based language suited for algorithm development

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

Contest goals

• Entertain

• Foster community

• Encourage the exchange of good programming practices

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

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

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

How it worksrules

standings

standings

1 tim2 carol3 eric

tim.fcn f(x)...

view entry

new entry

ned.fcn f(x)...1 ned

2 tim3 carol4 eric

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

Joining the contest: tweaks

...y = [1 2 3 4]...

...y = 1:4;...

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

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, ...

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

Previously…

• Mastermind

• Protein folding

• Mapping Mars

• Golf

• Gerrymandering

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

What makes a good problem?

• Low cost of admission

• Plenty of headroom

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

Blockbuster

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

What to reward?

• A good answer

• Gotten quickly

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

Better

Time

Wednesday Monday

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

BetterBetterAnswer

Faster Result

The zigzag of innovation

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

1000!

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

One contest: Sudoku…

3061168290144798

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

Visualizing Mastermind

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

Visualizing Mastermind

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

Overlapping clans

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

Genetic programming

First use of

conv

First leader

with conv

Innovation at the periphery

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

Darwinian tweak bombs

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

Tweak bombs up close

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

Size and similarity over time

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

Entry names

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

Collaboration clusters

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

Social issues

• hacking

• tweaking

• obfuscation

• acknowledgment

• scoring inequities

• tweak bombs

• clone bombs

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

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) …

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

Obfuscation

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

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

The contest immune system

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

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…

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

…"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…

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

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…

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

What have we learned?

Collaborative competition works!

Don’t knock tweaking

Format dissolves contemptuous isolation

And…

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

The Big Lesson: Focus on the small

• Approachable problem

• Low cost of admission

• Rewards for all levels of effort

• Smooth gradient of participation

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

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.

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

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.

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

END

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

Bee Conjuring andSwarm Orchestration

Optimizing Collaborative Innovation

April 12, 2006Ned GulleyThe MathWorks, Inc.

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

1. Conjuring a crowd

2. Keeping them busy

3. Social issues

4. Future directions

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

1. Conjuring a crowd

2. Keeping them busy

3. Social issues

4. Future directions

Problem design

Micro-rewards

War stories

Next big thing

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

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

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

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

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

Titles as conversation

• I wish I knew how this works

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

Player types

• Spectators, Lurkers

• Drop-ins, Visitors

• Tweakers, Top-grazers

• Algorithm Artists

• Churners, Integrators

• Warriors, Obfuscators

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

Player types

1. 2. 3. 4. …

Tweaker (many)

Churner (few)

Drop-in (many)

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

Features we’ve added

• Leaderboard • Lots of realtime stats • Mini-contests • Mid-contest analysis • Darkness and twilight • Newsgroup discussion • Contest blog • File differencing

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

Future directions

What’s the goal?

• Fun == Optimizing innovation.

How do we optimize?

• Modulate diffusion

• Modulate testing

• Listen to the contestants!

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

Putting the bees to work

• Contest to create shipping code

• Rent-a-swarm

• Create your own contest

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

Turning windmills:The MATLAB File Exchange

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

Similarity Distance

Contest EvolutionVirus Evolution

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

Recommended