58
{ What I did on my vacation Spawnfest!

What I did on my Vacation (hint: Scuba & Erlang)

Embed Size (px)

DESCRIPTION

Our Spawnfest2012 entry was ridiculously ambitious - a 'social' application involving real-time data-streams, R-trees, heaping doses of OTP goodness including gen_fsm, gen_server, gen_event, and much much more. Because this wasn't challenging enough, our three team-members were from three different countries, making both our application *and* the development distributed!Join me as I take you through our SpawnFest experience in all its glory (or infamy). Find out what worked, what features got tossed, and what failed miserably - and why.

Citation preview

Page 1: What I did on my Vacation (hint: Scuba & Erlang)

{

What I did on my vacation

Spawnfest!

Page 2: What I did on my Vacation (hint: Scuba & Erlang)
Page 3: What I did on my Vacation (hint: Scuba & Erlang)

48 hours

#erlang

Other legalese

Spawnfest

Page 4: What I did on my Vacation (hint: Scuba & Erlang)

“Crowd-sourcing the Sourcing of crowds”

Erlymob

Page 5: What I did on my Vacation (hint: Scuba & Erlang)

Flash-mobs

Activism

“Quick notice” meetups

Erlymob

Page 6: What I did on my Vacation (hint: Scuba & Erlang)
Page 7: What I did on my Vacation (hint: Scuba & Erlang)

Erlymob

Page 8: What I did on my Vacation (hint: Scuba & Erlang)

Erlymob

Page 9: What I did on my Vacation (hint: Scuba & Erlang)

Erlymob

Page 10: What I did on my Vacation (hint: Scuba & Erlang)

Erlymob

Page 11: What I did on my Vacation (hint: Scuba & Erlang)
Page 12: What I did on my Vacation (hint: Scuba & Erlang)

Team Net_Split

Page 13: What I did on my Vacation (hint: Scuba & Erlang)

Who scheduled dinner for Saturday evening?

Team Net_Split

Page 14: What I did on my Vacation (hint: Scuba & Erlang)

Who scheduled dinner?

Team Net_Split

Page 15: What I did on my Vacation (hint: Scuba & Erlang)

Your flight is when?

Team Net_Split

Page 16: What I did on my Vacation (hint: Scuba & Erlang)
Page 17: What I did on my Vacation (hint: Scuba & Erlang)

But I like diving

Team Net_Split

Page 18: What I did on my Vacation (hint: Scuba & Erlang)
Page 19: What I did on my Vacation (hint: Scuba & Erlang)

Who scheduled dinner?

Your flight is when?

But I like diving

Oh right, my wife is also part of this vacation

Team Net_Split

Page 20: What I did on my Vacation (hint: Scuba & Erlang)
Page 21: What I did on my Vacation (hint: Scuba & Erlang)

The best laid schemes o’ mice an’ men Gang aft agley

Evolution (in reverse)

Page 22: What I did on my Vacation (hint: Scuba & Erlang)

What We Planned

Page 23: What I did on my Vacation (hint: Scuba & Erlang)

What We Hoped For

Page 24: What I did on my Vacation (hint: Scuba & Erlang)

What We Got

Page 25: What I did on my Vacation (hint: Scuba & Erlang)

R-Trees

What got dropped

Page 26: What I did on my Vacation (hint: Scuba & Erlang)

R-Trees

Notifications

What got dropped

Page 27: What I did on my Vacation (hint: Scuba & Erlang)

R-Trees

Notifications

Web-sockets

What got dropped

Page 28: What I did on my Vacation (hint: Scuba & Erlang)

R-Trees

Notifications

Web-sockets

2nd persistence layer

What got dropped

Page 29: What I did on my Vacation (hint: Scuba & Erlang)

app_cache : https://github.com/dieswaytoofast/app_cache

Mnesia-based persistence and caching

Serendipity

Page 30: What I did on my Vacation (hint: Scuba & Erlang)

app_cache - definitions

Page 31: What I did on my Vacation (hint: Scuba & Erlang)

app_cache - init

Page 32: What I did on my Vacation (hint: Scuba & Erlang)

app_cache - accessors

Page 33: What I did on my Vacation (hint: Scuba & Erlang)

app_cache - sequences

Page 34: What I did on my Vacation (hint: Scuba & Erlang)

app_cache - transforms

Page 35: What I did on my Vacation (hint: Scuba & Erlang)

Inspired by :https://github.com/jcomellas/mlapi

app_cache

Page 36: What I did on my Vacation (hint: Scuba & Erlang)

twitterl :https://github.com/dieswaytoofast/twitterl

Twitter API

Page 37: What I did on my Vacation (hint: Scuba & Erlang)

REST& Streaming APIs

Page 38: What I did on my Vacation (hint: Scuba & Erlang)

Erlang-world

Page 39: What I did on my Vacation (hint: Scuba & Erlang)

Targets

Page 40: What I did on my Vacation (hint: Scuba & Erlang)

twitterl

Page 41: What I did on my Vacation (hint: Scuba & Erlang)

Inspired by :https://github.com/ngerakines/erlang_twitter

twitterl

Page 42: What I did on my Vacation (hint: Scuba & Erlang)
Page 43: What I did on my Vacation (hint: Scuba & Erlang)
Page 44: What I did on my Vacation (hint: Scuba & Erlang)
Page 45: What I did on my Vacation (hint: Scuba & Erlang)
Page 46: What I did on my Vacation (hint: Scuba & Erlang)
Page 47: What I did on my Vacation (hint: Scuba & Erlang)
Page 48: What I did on my Vacation (hint: Scuba & Erlang)
Page 49: What I did on my Vacation (hint: Scuba & Erlang)
Page 50: What I did on my Vacation (hint: Scuba & Erlang)
Page 51: What I did on my Vacation (hint: Scuba & Erlang)
Page 52: What I did on my Vacation (hint: Scuba & Erlang)
Page 53: What I did on my Vacation (hint: Scuba & Erlang)
Page 54: What I did on my Vacation (hint: Scuba & Erlang)
Page 55: What I did on my Vacation (hint: Scuba & Erlang)

Chicago BOSS is not for n00bs

Who knew?

Page 56: What I did on my Vacation (hint: Scuba & Erlang)

Chicago BOSS is not for n00bs

Implementing O-Auth is Teh Sux0r

Who knew?

Page 57: What I did on my Vacation (hint: Scuba & Erlang)

Chicago BOSS is not for n00bs

Implementing O-Auth is Teh Sux0r

Strings =/= Binaries

Who knew?

Page 58: What I did on my Vacation (hint: Scuba & Erlang)

Chicago BOSS is not for n00bs

Implementing O-Auth is Teh Sux0r

Strings =/= Binaries

if =/= if

Syntax is Easy, Semantics not so much

Immutable Variables Instant Karma

Who knew?