Your SlideShare is downloading. ×
What I did on my Vacation (hint: Scuba & Erlang)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

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

1,113
views

Published on

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 …

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.

Published in: Technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,113
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. What I did on myvacation { Spawnfest!
  • 2.  48 hours  #erlang  Other legaleseSpawnfest
  • 3.  “Crowd-sourcing the Sourcing of crowds”Erlymob
  • 4.  Flash-mobs  Activism  “Quick notice” meetupsErlymob
  • 5. Thriller "Monster Dance", 6:30pm today --> https://maps.google.com/maps?ll=40.731129,-73.985581Erlymob
  • 6. #mobA313fErlymob
  • 7. Thriller "Monster Dance", 6:30pm todayErlymob
  • 8. I Like it! I Ignore it! Ill Do it!Erlymob
  • 9. TeamNet_Split
  • 10.  Who scheduled dinner for Saturday evening?Team Net_Split
  • 11.  Who scheduled dinner?Team Net_Split
  • 12.  Your flight is when?Team Net_Split
  • 13.  But I like divingTeam Net_Split
  • 14.  Who scheduled dinner?  Your flight is when?  But I like diving  Oh right, my wife is also part of this vacationTeam Net_Split
  • 15. The best laid schemes o’ mice an’ men Gang aft agleyEvolution (in reverse)
  • 16. 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 geocoucr_tree_ user_loc post_dis r_tree_ h_procesmanager ator tributor tributor_ le h_table manager sor tablepost_r_t user_pro geocouc user_r_t ree cess h ree
  • 17. 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 mnesiar_tree_ user_loc post_dis post_dis r_tree_manager ator tributor tributor_ manager tablepost_r_t user_pro user_r_t ree cess ree
  • 18. 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_ tablepost_r_t user_pro user_r_t ree cess ree
  • 19.  R-TreesWhat got dropped
  • 20.  R-Trees  NotificationsWhat got dropped
  • 21.  R-Trees  Notifications  Web-socketsWhat got dropped
  • 22.  R-Trees  Notifications  Web-sockets  2nd persistence layerWhat got dropped
  • 23.  app_cache : https://github.com/dieswaytoofast/app_cache Mnesia-based persistence and cachingSerendipity
  • 24. app_cache - definitions
  • 25. app_cache - init
  • 26. app_cache - accessors
  • 27. app_cache - sequences
  • 28. app_cache - transforms
  • 29.  Inspired by : https://github.com/jcomellas/mlapiapp_cache
  • 30.  twitterl : https://github.com/dieswaytoofast/twitterlTwitter API
  • 31. REST& Streaming APIs
  • 32. Erlang-world
  • 33. Targets
  • 34. process_request/4 safe_call/4 Requestor Processor TWEET spawn Handler Response Tweet Parsertwitterl
  • 35.  Inspired by : https://github.com/ngerakines/erlang_twittertwitterl
  • 36.  Chicago BOSS is not for n00bsWho knew?
  • 37.  Chicago BOSS is not for n00bs  Implementing O-Auth is Teh Sux0rWho knew?
  • 38.  Chicago BOSS is not for n00bs  Implementing O-Auth is Teh Sux0r  Strings =/= BinariesWho knew?
  • 39.  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 KarmaWho knew?