No Bad Pony

by Dr. Russell Keith-McKee

What he does

  • - blogs
  • music

How is pony formed?

  • Russell said pony about a silly requirement request
  • Cal Henderson said he wanted a magic pony

Bad pony is:

  • ideas that are just plain wrong (not following pep 8, stupidity)
  • impractical ideas (problems that don’t exist, changes design contracts, architecture astronauting)
  • Design mismatch (DTL to Jinja, ORM with SQLAlchemy, test framework with Nose)
    • Ignores the philosophy (Add GROUP BY HAVING to ORM, Add variables/callables to template language, Add AJAX to forms)
    • Just a setting (less is good)
    • Wrong direction (feature creep, make dev server multithreaded, add connection pooling)
    • Add a backend (more work, hard to test, they provide APIs anyway)
  • The community
    • The core doesn’t have to do everything
    • In fact, the core can’t do anything
    • Community has an essential role
    • Blessing by core doesn’t make code better
  • Add X to contrib
    • django-comments
    • django-tagging
  • Process ponies
    • write more blog posts
    • have a weekly news summary
    • have a nightly tarball download
    • Have a continuous build
    • Have a precompiled PDF documentation

Massive Features

  • Support for multiple database connections
  • schema evolution
  • Support for non-SQL data stores

How do you get your Pony?

  1. Don’t be an ass.
  2. Offer to help out
  3. Help out!
  4. Advocate
  5. Document
  6. Write some code
  7. But follow the process

Earn some trust from the core team!

If you must write the code…

  1. Do the research
  2. Demonstrate you understand the problem
  3. Implementation trumps idle discussion
  4. Maximize utility for the core team

No Pony != End of the world