what i did on my vacation (hint: scuba & erlang)
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.TRANSCRIPT
![Page 1: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/1.jpg)
{
What I did on my vacation
Spawnfest!
![Page 2: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/2.jpg)
![Page 3: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/3.jpg)
48 hours
#erlang
Other legalese
Spawnfest
![Page 4: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/4.jpg)
“Crowd-sourcing the Sourcing of crowds”
Erlymob
![Page 5: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/5.jpg)
Flash-mobs
Activism
“Quick notice” meetups
Erlymob
![Page 6: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/6.jpg)
![Page 7: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/7.jpg)
Erlymob
![Page 8: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/8.jpg)
Erlymob
![Page 9: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/9.jpg)
Erlymob
![Page 10: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/10.jpg)
Erlymob
![Page 11: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/11.jpg)
![Page 12: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/12.jpg)
Team Net_Split
![Page 13: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/13.jpg)
Who scheduled dinner for Saturday evening?
Team Net_Split
![Page 14: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/14.jpg)
Who scheduled dinner?
Team Net_Split
![Page 15: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/15.jpg)
Your flight is when?
Team Net_Split
![Page 16: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/16.jpg)
![Page 17: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/17.jpg)
But I like diving
Team Net_Split
![Page 18: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/18.jpg)
![Page 19: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/19.jpg)
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)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/20.jpg)
![Page 21: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/21.jpg)
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)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/22.jpg)
What We Planned
![Page 23: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/23.jpg)
What We Hoped For
![Page 24: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/24.jpg)
What We Got
![Page 25: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/25.jpg)
R-Trees
What got dropped
![Page 26: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/26.jpg)
R-Trees
Notifications
What got dropped
![Page 27: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/27.jpg)
R-Trees
Notifications
Web-sockets
What got dropped
![Page 28: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/28.jpg)
R-Trees
Notifications
Web-sockets
2nd persistence layer
What got dropped
![Page 29: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/29.jpg)
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)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/30.jpg)
app_cache - definitions
![Page 31: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/31.jpg)
app_cache - init
![Page 32: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/32.jpg)
app_cache - accessors
![Page 33: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/33.jpg)
app_cache - sequences
![Page 34: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/34.jpg)
app_cache - transforms
![Page 35: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/35.jpg)
Inspired by :https://github.com/jcomellas/mlapi
app_cache
![Page 36: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/36.jpg)
twitterl :https://github.com/dieswaytoofast/twitterl
Twitter API
![Page 37: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/37.jpg)
REST& Streaming APIs
![Page 38: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/38.jpg)
Erlang-world
![Page 39: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/39.jpg)
Targets
![Page 40: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/40.jpg)
twitterl
![Page 41: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/41.jpg)
Inspired by :https://github.com/ngerakines/erlang_twitter
twitterl
![Page 42: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/42.jpg)
![Page 43: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/43.jpg)
![Page 44: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/44.jpg)
![Page 45: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/45.jpg)
![Page 46: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/46.jpg)
![Page 47: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/47.jpg)
![Page 48: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/48.jpg)
![Page 49: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/49.jpg)
![Page 50: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/50.jpg)
![Page 51: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/51.jpg)
![Page 52: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/52.jpg)
![Page 53: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/53.jpg)
![Page 54: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/54.jpg)
![Page 55: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/55.jpg)
Chicago BOSS is not for n00bs
Who knew?
![Page 56: What I did on my Vacation (hint: Scuba & Erlang)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/56.jpg)
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)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/57.jpg)
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)](https://reader035.vdocument.in/reader035/viewer/2022062615/547abca6b4af9f5c108b462b/html5/thumbnails/58.jpg)
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?