From 545b4f77514ea9cd750ef79fe5a143cc74d45919 Mon Sep 17 00:00:00 2001 From: Tim Lossen Date: Sat, 17 Mar 2012 23:27:56 +0100 Subject: [PATCH 1/5] initial version --- tim_lossen-tenth_fleet/README.md | 29 ++++++++++++++++++ .../profile_picture_1994.jpg | Bin 0 -> 56305 bytes 2 files changed, 29 insertions(+) create mode 100644 tim_lossen-tenth_fleet/README.md create mode 100644 tim_lossen-tenth_fleet/profile_picture_1994.jpg diff --git a/tim_lossen-tenth_fleet/README.md b/tim_lossen-tenth_fleet/README.md new file mode 100644 index 0000000..4f664ad --- /dev/null +++ b/tim_lossen-tenth_fleet/README.md @@ -0,0 +1,29 @@ +# The Tenth Fleet + +It has become fashionable to bash "Large, Monolithic Rails Apps" as +evil and obsolete. So you run out and tear your lovely program up +into pieces. Wait, now you have *five* problems! + +In this talk, I am going to debunk the above myth, and argue that +monolithic apps work (and especially scale) extremely well -- you +just have to be smart and get the overall architecture right. I will +present the "Fleet" pattern and explain how embracing (instead of +trying to eliminate) single points of failure can paradoxically +*improve* resilience and scalability. + +## Tim Lossen + +Tim really enjoys talking about himself in the third person. Not. +He lives in Berlin with his girlfriend and two lovely little daughters. +Tim is deeply in love with Ruby and co-organized Euruko 2011. +Tim works as backend engineer at social gaming startup [Wooga](http://wooga.com). +At night he likes to go down to the basement and hack on secret hardware +projects like Superglobe or [Evercube](http://evercu.be). + +![Profile picture](http://tim.lossen.de/tim.png) + +- [My website](http://tim.lossen.de) +- [My twitter](https://twitter.com/#!/tlossen) +- [Past talk slides](http://www.slideshare.net/tim.lossen.de) +- [Past talk video](http://vimeo.com/12610120) + diff --git a/tim_lossen-tenth_fleet/profile_picture_1994.jpg b/tim_lossen-tenth_fleet/profile_picture_1994.jpg new file mode 100644 index 0000000000000000000000000000000000000000..255d2ef584e101f0f9320c550d854da6accf9a96 GIT binary patch literal 56305 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

4uo?jq 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 awtbOx^9R`7qQ*A1< Date: Sat, 17 Mar 2012 23:30:41 +0100 Subject: [PATCH 2/5] added speakerdeck link --- tim_lossen-tenth_fleet/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tim_lossen-tenth_fleet/README.md b/tim_lossen-tenth_fleet/README.md index 4f664ad..6fbf632 100644 --- a/tim_lossen-tenth_fleet/README.md +++ b/tim_lossen-tenth_fleet/README.md @@ -25,5 +25,6 @@ projects like Superglobe or [Evercube](http://evercu.be). - [My website](http://tim.lossen.de) - [My twitter](https://twitter.com/#!/tlossen) - [Past talk slides](http://www.slideshare.net/tim.lossen.de) +- [More talk slides](http://speakerdeck.com/u/tlossen) - [Past talk video](http://vimeo.com/12610120) From 8db7101996bdac33535fc4e33b7bed43b22f0bc9 Mon Sep 17 00:00:00 2001 From: Tim Lossen Date: Mon, 19 Mar 2012 20:47:52 +0100 Subject: [PATCH 3/5] renamed folder --- .../README.md | 0 .../profile_picture_1994.jpg | Bin 2 files changed, 0 insertions(+), 0 deletions(-) rename {tim_lossen-tenth_fleet => tim_lossen-sting_bee}/README.md (100%) rename {tim_lossen-tenth_fleet => tim_lossen-sting_bee}/profile_picture_1994.jpg (100%) diff --git a/tim_lossen-tenth_fleet/README.md b/tim_lossen-sting_bee/README.md similarity index 100% rename from tim_lossen-tenth_fleet/README.md rename to tim_lossen-sting_bee/README.md diff --git a/tim_lossen-tenth_fleet/profile_picture_1994.jpg b/tim_lossen-sting_bee/profile_picture_1994.jpg similarity index 100% rename from tim_lossen-tenth_fleet/profile_picture_1994.jpg rename to tim_lossen-sting_bee/profile_picture_1994.jpg From 33f6727727ade0a8d26cb72e81b15c9be82e85bd Mon Sep 17 00:00:00 2001 From: Tim Lossen Date: Mon, 19 Mar 2012 21:05:46 +0100 Subject: [PATCH 4/5] improved copy --- tim_lossen-sting_bee/README.md | 28 ++++++++++++++++++---------- tim_lossen-sting_bee/proposal.txt | 24 ++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 10 deletions(-) create mode 100644 tim_lossen-sting_bee/proposal.txt diff --git a/tim_lossen-sting_bee/README.md b/tim_lossen-sting_bee/README.md index 6fbf632..4b64d85 100644 --- a/tim_lossen-sting_bee/README.md +++ b/tim_lossen-sting_bee/README.md @@ -1,20 +1,28 @@ -# The Tenth Fleet +# Sting Like a Bee +## Introducing the Swarm Architecture -It has become fashionable to bash "Large, Monolithic Rails Apps" as +It has become fashionable to bash "large, monolithic rails apps" as evil and obsolete. So you run out and tear your lovely program up -into pieces. Wait, now you have *five* problems! +into pieces and make it all distributed .... wait, now you have *five* +problems! + +In this talk, I am going to debunk this myth, and argue that monolithic +apps work and scale extremely well -- you just have to be smart and get +the overall architecture right. I will present the "Swarm" pattern and +explain how using unreliable protocols like UDP and *embracing* single +points of failure (instead of trying to eliminate them) can paradoxically +improve both resilience and scalability. + +At Wooga, we have been searching for the "perfect" backend stack +since three years. The swarm architecture, which will go into production +this autumn, is the latest evolutionary step on this journey. + -In this talk, I am going to debunk the above myth, and argue that -monolithic apps work (and especially scale) extremely well -- you -just have to be smart and get the overall architecture right. I will -present the "Fleet" pattern and explain how embracing (instead of -trying to eliminate) single points of failure can paradoxically -*improve* resilience and scalability. ## Tim Lossen Tim really enjoys talking about himself in the third person. Not. -He lives in Berlin with his girlfriend and two lovely little daughters. +He lives in Berlin with his girlfriend and two charming little daughters. Tim is deeply in love with Ruby and co-organized Euruko 2011. Tim works as backend engineer at social gaming startup [Wooga](http://wooga.com). At night he likes to go down to the basement and hack on secret hardware diff --git a/tim_lossen-sting_bee/proposal.txt b/tim_lossen-sting_bee/proposal.txt new file mode 100644 index 0000000..ed6076f --- /dev/null +++ b/tim_lossen-sting_bee/proposal.txt @@ -0,0 +1,24 @@ +The Tenth Fleet +--------------- + +It has become fashionable to bash "Large, Monolithic Rails Apps" as +evil and obsolete. So you run out and tear your lovely program up +into pieces. Wait, now you have *five* problems! + +In this talk, I am going to debunk the above myth, and argue that +monolithic apps work (and especially scale) extremely well -- you +just have to be smart and get the overall architecture right. I will +present the "Fleet" pattern and explain how embracing (instead of +trying to eliminate) single points of failure can paradoxically +*improve* resilience and scalability. + +The Fleet architecture has evolved at + + + + + +"Tenth Fleet has operational control over Navy information, computer, +cryptologic, and space forces." + +http://en.wikipedia.org/wiki/United_States_Tenth_Fleet \ No newline at end of file From 36e490f0ea133a13e0fe8487b8649b4daf22e065 Mon Sep 17 00:00:00 2001 From: Tim Lossen Date: Mon, 19 Mar 2012 21:09:40 +0100 Subject: [PATCH 5/5] added speaking history --- tim_lossen-sting_bee/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/tim_lossen-sting_bee/README.md b/tim_lossen-sting_bee/README.md index 4b64d85..592467b 100644 --- a/tim_lossen-sting_bee/README.md +++ b/tim_lossen-sting_bee/README.md @@ -35,4 +35,5 @@ projects like Superglobe or [Evercube](http://evercu.be). - [Past talk slides](http://www.slideshare.net/tim.lossen.de) - [More talk slides](http://speakerdeck.com/u/tlossen) - [Past talk video](http://vimeo.com/12610120) +- [Speaking history](http://lanyrd.com/profile/tlossen/sessions/)