playing on the edge

18
 Playing on the Edge

Upload: craig-taverner

Post on 13-Jul-2015

784 views

Category:

Technology


2 download

TRANSCRIPT

   

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

   

So many ideas!

Open SourceRuby DSLsAgile / Distr.

CoolApplications

Domain Model

Rich ClientGIS / Viz.Lean Startup

JavaJava

   

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

   

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!

   

AWE

   

AWE-2008

   

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.

   

AWE-2009

   

Neo4j Spatial Index

   

Neo4j Spatial Index

   

Splash

=MAX(A1:A10)

=max(a1..a10)    Valid Ruby

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

RangeArrayVarargs

   

Splash

=count(a1..a10)

=sum(a1..a10)

   

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

   

Splash-Neo4j

= a1 + ' ' + a2

= sum(a1..a3)

   

AWE-2009 a new start

   

Reporting DSL

   

Our Favourite Edge