DjangoCon09: No! Bad Pony!

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

    2 Favorites

    DjangoCon09: No! Bad Pony! - Presentation Transcript

    1. No! Bad Pony! Dr Russell Keith-Magee DjangoCon 2009
    2. wotnews.com.au wotnews.com wotnews.co.uk
    3. wearehunted.com
    4. how is ponny formed?
    5. Genesis of the pony
    6. Cal Henderson @ DjangoCon2008
    7. What does it mean?
    8. What is a pony?
    9. What turns an idea into a bad pony?
    10. It’s an idea that... • Is just plain wrong • Is impractical • Isn’t a good fit for Django’s design • Takes the project in the wrong direction • Comes without an offer of assistance
    11. Ideas that are wrong
    12. Ideas that are wrong • Idea violates a standard or best practice • Idea can’t be implemented • Rusty Russell Interface Level too high • Idea violates DRY
    13. Impractical ideas
    14. Impractical ideas • A problem that doesn’t exist:YAGNI • Changes the design contract • Addresses a small part of larger problem • Architecture astronauting
    15. Design Mismatch
    16. Replace X with Y • Replace Django’s templates with Jinga • Replace ORM with SQLAlchemy • Replace test framework with Nose
    17. Ignores the philosophy • Add GROUP BY, HAVING to ORM • Add variables/callables to template language • Add AJAX to Forms
    18. Just add a setting... • A setting is a decision deferred • N settings, 2 configurations N • Doesn’t mean we won’t add settings
    19. Wrong direction
    20. Feature creep • Make development server multithreaded • Add connection pooling
    21. Add a backend... • MS-SQL / DB2 / SQLAnywhere / Firebird • New authentication schemes (LDAP) • New serialization schemes (CSV) • New file stores (S3)
    22. Put another way... • You say “Add X to core” • We hear: • “Here’s something else to worry about” • “Won’t you look after this for me” • We introduce backend APIs for a reason
    23. The Community • The core doesn’t have to do everything • In fact - the core can’t do everything • The community has an essential role here • Blessing by core doesn’t make code better
    24. Add X to contrib • django-tagging • django-registration • django-debug-toolbar
    25. What is django.contrib?
    26. A collection of optional, defacto standard implementations of common patterns
    27. Here’s a big job... but I’d like someone else to do it (please)
    28. Process Ponies • Write more blog posts • Have a weekly news summary • Have a nightly tarball download • Have a continuous build • Have precompiled PDF documentation
    29. Massive Features • Support for multiple database connections • Schema Evolution • Support for non-SQL data stores
    30. Some popular tickets
    31. Almost certainly in 1.2 • #5390 - Signals for ManyRelatedManager • #7052 - Problems with auth fixture loading
    32. Possibly in 1.2 • #13 - Better related objects admin UI • #1142 - Multiple database support • #5833 - Custom Filterspecs • #6845 - Model Validation
    33. Waiting on patch • #373 - Multi-column primary keys • #2879 - Live test server support • #4102 - Update of specific fields • #6148 - Database schemas • #6735 - Class-based generic views • #7270 - Reverse select_related()
    34. Waiting on design • #2405 - FOR UPDATE in querysets • #3011 - Extendable user auth module • #3591 - Custom app_label/verbose_name • #7048 - Support clearing FileFields
    35. Waiting on decision • #17 - Identity mapper • #2417 - Binary DB fields • #4604 - Session-based messages
    36. How to get your pony
    37. What won’t work • Putting your name in the ticket CC • Saying “me too” on a ticket or list thread • Posting hyperbole on your blog • Changing the ticket to “Milestone 1.X” • Putting the ticket on the 1.X feature wiki
    38. What will work • Offer to help out • Better still - actually help out! • Build up karma • Do the unglamorous stuff • Triage, django-users, patch feedback
    39. Don’t just write code • Yes, code needs to be written • It isn’t just a matter of writing a patch • You need to be an advocate • Best advocate is someone who is trusted
    40. A matter of trust • Core team has limited resources • We need to make best use of that time • Understand the core DVCS message: • It’s all about trust • It’s not about forking - it’s about merging
    41. If you must... • Do the research • Demonstrate you understand the problem • Implementation trumps idle discussion • Maximise utility for the core team
    42. Yes Virginia, you can have a pony.
    43. No Pony != End of the world
    44. Fin
    SlideShare Zeitgeist 2009

    + Russell Keith-MageeRussell Keith-Magee Nominate

    custom

    888 views, 2 favs, 0 embeds more stats

    The Django community is not short of ideas that cou more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 888
      • 888 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 2
    • Downloads 46
    Most viewed embeds

    more

    All embeds

    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