Snakes on the Web

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    7 Favorites

    Snakes on the Web - Presentation Transcript

    1. Snakes on the Web: The history and future of Python on the web Jacob Kaplan-Moss http://jacobian.org/TO http://www.flickr.com/photos/kejhu/3751877257
    2. Web development sucks.
    3. “ How can I make this suck less? ”
    4. 1. What sucks now? 2. How will we fix it? 3. Can we fix it with Python?
    5. In the beginning… http://www.flickr.com/photos/tonythemisfit/2904911703
    6. Hand-rolled HTML “The Stone Age”
    7. The Stone Age http://www.flickr.com/photos/schoschie/3421072476/
    8. Suck.
    9. “ What if we didn’t have to write HTML by hand? ”
    10. CGI “The Bronze Age”
    11. Suck.
    12. “ How can we make CGI better? ”
    13. (Not really a big question.) http://www.flickr.com/photos/randomurl/446209957/
    14. PHP “The Iron Age”
    15. Same idea, (slightly) better tech. http://www.flickr.com/photos/jerhoyet/2377140741
    16. Page-oriented http://www.flickr.com/photos/just_jump/2972461681
    17. “ “What if we thought of these as applications, not pages?” ”
    18. Frameworks “The Industrial Revolution”
    19. The modern web framework:
    20. High-level http://www.flickr.com/photos/nikonvscanon/2128705916
    21. Application-oriented http://www.flickr.com/photos/joelaz/2868356069
    22. http://www.flickr.com/photos/ppdigital/2329405081/ Large building blocks
    23. http://www.flickr.com/photos/jasephotos/2913135232/ Rapid development
    24. http://www.flickr.com/photos/nattu/1190083977 Fun!
    25. What’s next?
    26. What sucks?
    27. Interoperability sucks.
    28. Frameworks: good. http://www.flickr.com/photos/amberandclint/3266859324/
    29. Lock-in: bad! http://www.flickr.com/photos/striatic/2191404675/
    30. Rule 1: Don’t piss off your users.
    31. Software becomes domain-specific.
    32. Cede control gracefully. http://www.flickr.com/photos/aidan_jones/3575000735
    33. Framework inter-op: http://www.flickr.com/photos/kpwerker/421386062/
    34. Django’s not helping. http://www.flickr.com/photos/mafleen/1694900141/
    35. WSGI sucks. http://www.flickr.com/photos/jacobian/408227408
    36. Rack’s better. http://www.flickr.com/photos/lependu/3563742168/
    37. Gateway ≠ API
    38. Inter-language inter-op:
    39. VMs, Proxies, SOA, ROA, …
    40. Gateway ≠ API !
    41. http://www.flickr.com/photos/vgm8383/2381791019/ This’ll be hard to fix
    42. Disparate, mostly volunteer communities.
    43. Little overlap.
    44. Rich applications suck.
    45. HTML 5
    46. The best thing to happen to web frameworks?
    47. Current frameworks don’t fit. http://www.flickr.com/photos/oskay/156280584/
    48. State of the art:
    49. 1. Parallel MVC stacks Lots of work to keep in sync.
    50. 2. Coupled frameworks (GWT, Cappuccino, SproutCore)
    51. 280slides Create beautiful presentations, access them from anywhere, and share them with the world. With 280 Slides, there's no software to download and nothing to pay for – and when you're done building your presentation you can share it any way you like.
    52. 280 Slides: a site so complicated it needed a new language!
    53. Python?
    54. Deployment sucks.
    55. Writing the app is easy…
    56. The rest is hard!
    57. • API Metering • Distributed Log storage, analysis • Backups & Snapshots • Graphing • Counters • HTTP Caching • Cloud/Cluster Management Tools • Input/Output Filtering • Instrumentation/Monitoring • Memory Caching • Failover • Non-relational Key Stores • Node addition/removal and hashing • Rate Limiting • Auto-scaling for cloud resources • Relational Storage • CSRF/XSS Protection • Queues • Data Retention/Archival • Rate Limiting • Deployment Tools • Real-time messaging (XMPP) • Multiple Devs, Staging, Prod • Search • Data model upgrades • Ranging • Rolling deployments • Geo • Multiple versions (selective beta) • Sharding • Bucket Testing • Smart Caching • Rollbacks • Dirty-table management • CDN Management • Distributed File Storage http://randomfoo.net/2009/01/28/infrastructure-for-modern-web-sites
    58. Lots of pieces http://www.flickr.com/photos/restlessglobetrotter/448362507/
    59. Huge opportunity http://www.flickr.com/photos/nuclearsummer/2665337803/
    60. Python’s been a very good glue language…
    61. It could be again.
    62. Scaling sucks.
    63. Web audiences
    64. Complexity
    65. Traffic
    66. Generic doesn’t scale.
    67. Generic Specific Simple Complex
    68. Specific Generic My first blog Simple Complex
    69. Specific Generic Public launch My first blog Simple Complex
    70. Specific Average site Generic Public launch My first blog Simple Complex
    71. Specific Twitter Average site Generic Public launch My first blog Simple Complex
    72. Specific Twitter Frameworks Average site Generic Public launch My first blog Simple Complex
    73. Most sites aren’t big.
    74. http://www.flickr.com/photos/b-tal/163450213/ What do we do?
    75. Concurrency sucks.
    76. All roads lead to multi-core. http://www.flickr.com/photos/marc_buehler/3053243413
    77. I’m scared. http://www.flickr.com/photos/amatuer_44060/2831112854/
    78. Nehalem
    79. UltraSPARC T2
    80. 128 hardware threads
    81. http://www.flickr.com/photos/daninrgb/3406117892 Ted thinks we’re screwed
    82. StartServers
128
    83. I don’t think so.
    84. Lots of exciting work in concurrency today:
    85. Actors STM Persistent data structures Dataflow Tuple spaces
    86. Ted Leung, A survey of concurrency constructs http://tinyurl.com/mmbqe6
    87. Scala Erlang Clojure Haskell
    88. Python?
    89. Unladen Swallow?
    90. No more GIL!
    91. No more GIL?
    92. Better threads. http://www.flickr.com/photos/splityarn/3469596708/
    93. Threading sucks. http://www.flickr.com/photos/sillydog/9844703/
    94. I want actors! (Or STM, or whatever.)
    95. Help! http://www.flickr.com/photos/zaia/3475695085
    96. 2020
    97. I want to be using Python!
    98. Let’s make Python kick ass in 2020.
    99. “ Good software takes ten years. Get used to it. — Joel Spolsky ” http://tinyurl.com/ca4pr
    100. So we need to start now.
    101. 1. Better inter-op.
    102. WSGI 2
    103. Django needs to do better.
    104. We need leaders. http://www.flickr.com/photos/salimfadhley/26306549
    105. http://www.flickr.com/photos/psd/3649586425/ A BDFL?
    106. 2. Get in front of HTML 5.
    107. 3. Rethink web development, again.
    108. Pages
    109. Applications
    110. Sites
    111. Full deployment stack, highly integrated, centered around WSGI 2?
    112. Yes, please!
    113. 4. Scale from day 1.
    114. Be skeptical. http://www.flickr.com/photos/colorblindpicaso/2747637336
    115. Plan to be replaced. http://www.flickr.com/photos/taurusaficionado/2099239684
    116. Holy crap please give me better concurrency!
    117. Thank you! Me: Jacob Kaplan-Moss This talk: http://jacobian.org/TO Email: jacob@jacobian.org Twitter: @jacobian

    + Jacob Kaplan-MossJacob Kaplan-Moss, 2 months ago

    custom

    1214 views, 7 favs, 1 embeds more stats

    The history and future of Python web development. A more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1214
      • 1213 on SlideShare
      • 1 from embeds
    • Comments 0
    • Favorites 7
    • Downloads 59
    Most viewed embeds
    • 1 views on http://python.rk.edu.pl

    more

    All embeds
    • 1 views on http://python.rk.edu.pl

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories