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.
19. Who scheduled dinner?
Your flight is when?
But I like diving
Oh right, my wife is also part of this vacation
Team Net_Split
20.
21. The best laid schemes o’ mice an’ men
Gang aft agley
Evolution (in reverse)
22. What We Planned
Incoming Posts Sent on same Node Sent across Nodes Notification Only Consults Sent across All Nodes Incoming User Locations
twitter_r
cowboy
eceiver
mnesia
post_rec user_tab user_rec
eiver le eiver
mnesia mnesia mnesia_
post_dis post_tab geocouc geocouc
r_tree_ user_loc post_dis r_tree_
h_proces
manager ator tributor tributor_ le h_table manager
sor
table
post_r_t user_pro geocouc user_r_t
ree cess h ree
23. What We Hoped For
Incoming Posts Sent on same Node Sent across Nodes Notification Only Consults Sent across All Nodes Incoming User Locations
twitter_r
cowboy
eceiver
mnesia
post_rec user_tab user_rec
eiver le eiver
mnesia
r_tree_ user_loc post_dis post_dis r_tree_
manager ator tributor tributor_ manager
table
post_r_t user_pro user_r_t
ree cess ree
24. What We Got
Incoming Posts Sent on same Node Sent across Nodes Notification Only Consults Sent across All Nodes Incoming User Locations
twitter_r
cowboy
eceiver
mnesia
post_rec user_tab user_rec
eiver le eiver
mnesia
post_dis post_dis
tributor tributor_
table
post_r_t user_pro user_r_t
ree cess ree
56. Chicago BOSS is not for n00bs
Implementing O-Auth is Teh Sux0r
Who knew?
57. Chicago BOSS is not for n00bs
Implementing O-Auth is Teh Sux0r
Strings =/= Binaries
Who knew?
58. 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?