Wednesday, March 23, 2011
Simple ConceptWednesday, March 23, 2011
Simple ConceptWednesday, March 23, 2011
Simple ConceptWednesday, March 23, 2011
Overview                   • 1. do an image search for term                   • 2. Download first result                   ...
Simple Execution                   • ...built in two hoursWednesday, March 23, 2011
Not so Simple Scaling                   • Downloading, resizing, and compositing                            2300 images pe...
Intermission 1Wednesday, March 23, 2011
Initial Architecture                   • Used Google Image Search API                   • Processed Images with ImageMagic...
Initial Timeline                   • Saturday, 11:50pm: Posted to Reddit                   • Saturday, 11:53pm: Realized t...
About                   • Mind-blowingly simple platform for running                            Ruby applications         ...
Changes Required!                   • Rewrote to stream images and cache in a                            reverse caching p...
Intermission 2Wednesday, March 23, 2011
New Development                   • Sunday, 2:20am: Reddit frontpage                   • Sunday, 2:21am: FYN hits 1500 req...
Solution:Wednesday, March 23, 2011
Yahoo!’s BOSS API                   • Is awesome.                   • Does not ban you after four minutes.                ...
Intermission 3Wednesday, March 23, 2011
Monday Morning                   • 2300 requests per minute                   • Enlisted Stefan and Tim to help           ...
Wednesday, March 23, 2011
Monday Afternoon                   • Decided $800/mo with no revenue is not                            okay               ...
Intermission 4Wednesday, March 23, 2011
Ten Seconds Later                   • Decided selling shirts with copyrighted                            material is proba...
Three Hours Later                   • Got 43 emails from CafePress telling us                            that about 400 sh...
AdSense, though...Wednesday, March 23, 2011
And now no one cares.                   • Peak: 2,720,000 pageviews                   • Yesterday: 149,000 pageviewsWednes...
Donation!                   • (AdSense revenue) - (Heroku bill) goes to                            SkullSpace             ...
Intermission 6Wednesday, March 23, 2011
It’s Open Source!                            • github.com/burke/fuckyeahnounsWednesday, March 23, 2011
The code is horrible                                  though.                   • I wrote most of it after midnight on a  ...
Wednesday, March 23, 2011
Upcoming SlideShare
Loading in …5
×

Fuck Yeah Nouns

2,033 views

Published on

A brief overview of my adventures in scaling an overnight viral suc

Published in: Technology, News & Politics
  • Be the first to comment

  • Be the first to like this

Fuck Yeah Nouns

  1. 1. Wednesday, March 23, 2011
  2. 2. Simple ConceptWednesday, March 23, 2011
  3. 3. Simple ConceptWednesday, March 23, 2011
  4. 4. Simple ConceptWednesday, March 23, 2011
  5. 5. Overview • 1. do an image search for term • 2. Download first result • 3. Overlay text on image • 4. Display image to userWednesday, March 23, 2011
  6. 6. Simple Execution • ...built in two hoursWednesday, March 23, 2011
  7. 7. Not so Simple Scaling • Downloading, resizing, and compositing 2300 images per minute is hard.Wednesday, March 23, 2011
  8. 8. Intermission 1Wednesday, March 23, 2011
  9. 9. Initial Architecture • Used Google Image Search API • Processed Images with ImageMagick • Cached images on disk in webroot • Hosted on a single VPS with several production systems...Wednesday, March 23, 2011
  10. 10. Initial Timeline • Saturday, 11:50pm: Posted to Reddit • Saturday, 11:53pm: Realized this was a bad idea. • Saturday, 11:54pm: Started tweaking it run on HerokuWednesday, March 23, 2011
  11. 11. About • Mind-blowingly simple platform for running Ruby applications • Scales LIKE A BOSS • Doesn’t have a writable filesystemWednesday, March 23, 2011
  12. 12. Changes Required! • Rewrote to stream images and cache in a reverse caching proxy • Switched the DNS over to Heroku • ...and that worked, for a whileWednesday, March 23, 2011
  13. 13. Intermission 2Wednesday, March 23, 2011
  14. 14. New Development • Sunday, 2:20am: Reddit frontpage • Sunday, 2:21am: FYN hits 1500 requests per minute • Sunday, 2:25am: Google Image Search bans our IP range. • Shit.Wednesday, March 23, 2011
  15. 15. Solution:Wednesday, March 23, 2011
  16. 16. Yahoo!’s BOSS API • Is awesome. • Does not ban you after four minutes. • Has much, much less relevant images. • ...often with hilarious results.Wednesday, March 23, 2011
  17. 17. Intermission 3Wednesday, March 23, 2011
  18. 18. Monday Morning • 2300 requests per minute • Enlisted Stefan and Tim to help • Fairly high estimated hosting bill.Wednesday, March 23, 2011
  19. 19. Wednesday, March 23, 2011
  20. 20. Monday Afternoon • Decided $800/mo with no revenue is not okay • Added a link to “GET THIS ON A FUCKING SHIRT!”, and AdSense.Wednesday, March 23, 2011
  21. 21. Intermission 4Wednesday, March 23, 2011
  22. 22. Ten Seconds Later • Decided selling shirts with copyrighted material is probably pushing itWednesday, March 23, 2011
  23. 23. Three Hours Later • Got 43 emails from CafePress telling us that about 400 shirts violated copyright and had been removed • Only three people had bought shirts • ...so we removed the button.Wednesday, March 23, 2011
  24. 24. AdSense, though...Wednesday, March 23, 2011
  25. 25. And now no one cares. • Peak: 2,720,000 pageviews • Yesterday: 149,000 pageviewsWednesday, March 23, 2011
  26. 26. Donation! • (AdSense revenue) - (Heroku bill) goes to SkullSpace • Probably about $500Wednesday, March 23, 2011
  27. 27. Intermission 6Wednesday, March 23, 2011
  28. 28. It’s Open Source! • github.com/burke/fuckyeahnounsWednesday, March 23, 2011
  29. 29. The code is horrible though. • I wrote most of it after midnight on a Saturday. • Don’t judge me.Wednesday, March 23, 2011
  30. 30. Wednesday, March 23, 2011

×