Top Banner
 Playing on the Edge
18
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Playing on the edge

   

Playing on the Edge

Page 2: Playing on the edge

   

Personal Story

Edges in life

South Africa to Sweden

Science to Software

Open to Closed

Closed to Open

Employee to Entrepreneur

“Success is not based on the quality of the original idea,

but on the ability to learn and change and 'pivot'”­ Eric Ries, 'The Lean Startup', 2nd Nov 2009

“Freedom to Act”­ Marc Lesser, Öredev 2009

Page 3: Playing on the edge

   

So many ideas!

Open SourceRuby DSLsAgile / Distr.

CoolApplications

Domain Model

Rich ClientGIS / Viz.Lean Startup

JavaJava

Page 4: Playing on the edge

   

Efficiency

Simple Complex

1

2

3

S1 A1

NotNotInventedInventedHereHere

Standing on theStanding on theShoulders ofShoulders ofGiantsGiantsCompromiseCompromise

Simple

4

"That's part of the real power of free software;you can use it in ways that go beyond

the imagination of the peoplewho actually created the pieces."

­ Mark Shuttleworth, 'Ubuntu User 02'

"A good compromisesatisfies no­one."

­ Jonas Hammarberg, 2005

Page 5: Playing on the edge

   

AWE

We cannot predict what userswill need to do each day.

We need to give them the powerto do what they want.

Let's open source!

What! Are you mad?How would we

achieve vendor lock­in?

2% market penetration2% customers pay

But cheaper and faster to produce!

Page 6: Playing on the edge

   

AWE

Page 7: Playing on the edge

   

AWE-2008

Page 8: Playing on the edge

   

AWE-2009

Neo4j – graph databaseextremely high performance on deep traversals and mining of complex data,rapid schema evolution for changing business requirements, andsimplified development through perfect match between domain model and database schema.

Page 9: Playing on the edge

   

AWE-2009

Page 10: Playing on the edge

   

Neo4j Spatial Index

Page 11: Playing on the edge

   

Neo4j Spatial Index

Page 12: Playing on the edge

   

Splash

=MAX(A1:A10)

=max(a1..a10)    Valid Ruby

=max(a1..a10)=max([a1,a2,a3,a4])=max(a1,a2,a3,a4)

RangeArrayVarargs

Page 13: Playing on the edge

   

Splash

=count(a1..a10)

=sum(a1..a10)

Page 14: Playing on the edge

   

Splash

= a1 + ' ' + a2

= “My name is #{a1} and your name is #{a2}”

My name is <%= a1%> and your name is <%= a2 %>

<% (0..6).each {|x| eval “b#{x+1} = '= a#{x+1}'”} %>

<% Charts.create(:type => :bar, :categories => a1..a5, :values => b1..b5) %>

Page 15: Playing on the edge

   

Splash-Neo4j

= a1 + ' ' + a2

= sum(a1..a3)

Page 16: Playing on the edge

   

AWE-2009 a new start

Page 17: Playing on the edge

   

Reporting DSL

Page 18: Playing on the edge

   

Our Favourite Edge