Writing Materials Wanted:

Hi! We need volunteers who can write and can create some of the following materials. Some of it already exists on the net; where so, let's collect links and I'll contact the authors to see about reusing/reformatting it, with credit.

Although listed together, you don't have to sign up for both the flyer and whitepaper. Once the whitepaper is written, often a flyer isn't too hard to create. Or, if you're a graphic designer expert, team with a writer and do the flyer.

To achieve a precise layout, flyers should be written using Openoffice.org (preferred) or MS Office, and in both U.S. Letter and European A4 paper sizes. Try to use colors that will work with black and white printers.

To get page-level formatting features and fit into the business community, whitepapers should be written using Openoffice.org (preferred) or MS Office. They will be made available in both paper sizes, so try to avoid building assumptions into your content on page break placement.

We'd like to start each whitepaper with a standard office template, but that has not yet been developed yet. If you have one you're proud of, please step forward.

For web content, use of reStructuredText is preferred, to simplify reuse of the content in different formats. And there is an online parser so you don't even have to download or run anything -- just edit plain text using your favorite editor.

We would like all content to be licensed under the GNU Free Documentation License (GFDL) or another free license.

In general, the style of writing should be informal, like you would find in an issue of Linux Journal or Dr. Dobbs magazine. Refer to yourself as "we", as you are representing the Python community and other authors may follow you to revise your document. Refer to the reader as "you".

For those who would prefer writing magazine articles, we also have an ArticleIdeas list.


Want to know what is being done with these materials? Check out the advocacy kits into which they are being assembled!

Documents To Be Written

(permalink)
Title: What is Python?
Media: a 2-sided flyer
Assigned-To: (no one; teaming is possible) (date assigned)

For handing out at mixed-topic conferences and user group meetings, where contact with curious people can be made, to make them aware that Python even exists. In this environment we can't be sure of their background but if they are interested in a programming language, we can assume either a basic programming background or team/managerial responsibility.

Include names/logos of your more mainstream companies that are using Python, but probably omit the more obscure ones.

RichardJones: I hobbled together a single-page flyer (original Python-Flyer.odt)


(permalink)
Title: Using Python to improve Java
Media: a 2-sided flyer + whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For handing out at Java events - it should bring to their attention the existence of Jython, the synergies co-existence makes possible, and the interactivity of Jython compared to Java. But do not bash Java - the idea is to get people to add Python to their toolbelt. Do mention the fact that Sun has hired an open source developer who is helping with languages other than Java, such as JRuby and Jython.


(permalink)
Title: Python for C/C++ Programmers

Media: a 2-sided flyer + whitepaper
Assigned-To: Joshua Simpson <std3rr AT gmail DOT com> (2006-12-21)

This can show how Python can be used with C/C++ as a way to add scripting to a larger application, or as a way to build on top of existing C/C++ code more quickly and easily than writing more C/C++. It should highlight the ease with which C/C++ code can be wrapped (with SWIG, SIP and Boost) and how easily C/C++ code can call back into Python (it's a 2-way integration). Much of this content exists in the documentation, but it's not formatted for advocacy or for easy distribution at events.

Maybe look at AppsWithPythonScripting for inspiration.


(permalink)
Title: IronPython (Python.NET)

Media: a 2-sided flyer + whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For handing out at .NET events - it should bring to their attention the existence of IronPython, the co-existence synergies possible, and the interactivity of IronPython compared to C#. But do not bash .NET - the idea is to get people to add Python to their toolbelt. Do mention the fact that Microsoft is funding the IronPython development.


(permalink)
Title: How to Start and Run a Successful Python User Group
Media: a small whitepaper, reStructuredText format
Assigned-To: Jeff Rush <jeff AT taupro DOT com> (2006-12-13)

For putting up on the web - it should discuss the resources available to user groups, such as mailing lists hosts, free wikis and blogs. Mention that user groups can be listed on www.python.org, with python.meetup.com and also Craig's list. Discuss how to reach out and find people, advise patience for growth, and suggest various group activities. When you can't find a speaker, suggest other activities that can be done on a spur of the moment.

Some Source Material:


(permalink)
Title: Python: Your Competitive Advantage
Media: a 2-sided flyer + whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For handing out at business functions, where entrepreneurs are present. It should focus on the benefits of Python as regards agility in responding to market needs, the rapid ability to develop something right the first time. Mention Eric Raymond, et. al. in how they were surprised Python was so productive. Provide a brief list of companies using Python, and also a list of the domain areas in which it is used. We also have audio of a lightning talk by a VC, and a talk at PyCon this year about someone who got $5 million in capital for a Python program.

Reddit was written in Lisp, then re-written in Python due to performance and library issues. It subsequently was bought by Conde Nast.


(permalink)
Title: There is more to life; there is Python
Media: a 1-sided flyer + small whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

A single-sided flyer, for posting on campus bulletin boards, to spread the word about Python. It should cover the highlights of what Python is, and leave a large box for someone to insert directions to a Python Users Group meeting on campus. If not for a user group, it should pre-fill that space with links to visit for more self-guided information.


(permalink)
Title: Have Fun Programming (Again!)
Media: a 1-sided flyer + small whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

A single-sided flyer, for posting around town, to spread the word about Python. It should cover the highlights of what Python is, and leave a large box for someone to insert directions to a Python Users Group meeting. If not for a user group, it should pre-fill that space with links to visit for more self-guided information.


(permalink)
Title: Python and Databases
Media: a 2-sided flyer + whitepaper
Assigned-To:

For handing out at database-centric events, it should make them aware that Python can connect to their favorite database, that it has a standard DB-API and that it works across OS platforms.

Secondarily, it should mention that Python has a selection of ORMs (SQLObject, SQLAlchemy, Django) for those who wish to abstract away the relational details.

And last it make them aware that besides relational databases Python is also a player in the object database world, with ZODB and Durus.


(permalink)
Title: Scientific Computing with Python
Media: a 2-sided flyer + whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For handing out at general scientific events, it should make the reader aware of Python's capabilities:

It should mention the various scientific domains in which it is used: That is a lot to cover, but the objective is to show how Python provides a comprehensive solution and that by learning just one, clear and simple, language, you can cover a lot of ground.

To keep the size down there won't be a lot of graphics. This can be deferred to the separate paper that focuses just of data visualization. That is where the pretty pictures go.


(permalink)
Title: Python: Data Visualization and Graphing
Media: a 2-sided flyer + whitepaper
Assigned-To: Bugra Cakir <bugracakir AT gmail DOT com> (2006-12-07)

For use at scientific events, the flyer should be eye-catching with a couple of good graphic demonstrations.

The whitepaper should survey the various visualization and graphing frameworks available for Python and provide examples of the source and output of several. The SciPy website has a rich selection from which to choose.


(permalink)
Title: The Python Alternative to Matlab
Media: a whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For someone who currently is using Matlab, basically address their concerns point-by-point showing how the NumPy option can accomplish much of what Matlab does. Be honest and also show what it cannot yet do. The idea is to show how using Python can save the college student or researcher a lot of money and still get 80% of the benefit.

Interesting reddit thread: http://programming.reddit.com/info/sz4k/comments/


(permalink)
Title: Cool Programming Features of Python

Media: a whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

Focused on the language enthusiasist, provide an evening's reading of some of the cool features of Python, such as generators, iterators, contexts. Focus on Python 2.5 and try to get the programmer excited about giving Python a spin. Perhaps in conjunction with the ipython interpreter shell.


(permalink)
Title: About Python, for the PHP Programmer]
Media: a reStructured Text document, for the website
Assigned-To: (no one; teaming is possible) (date assigned)

There's a large pool of PHP-aware developers out there; we should encourage some of them to migrate to Python. Compare Python and PHP for implementing Web applications: mention WSGI, templating, set-up, etc.


(permalink)
Title: About Python, for the Ruby Programmer
Media: a reStructured Text document, for the website
Assigned-To: (no one; teaming is possible) (date assigned)

A 2-5 screen overview of the fundamental differences between Python and Ruby. Assume the reader is a Ruby programmer, wondering how Python compares.

When comparing languages, don't just look at syntax. Do cover the innate clarity that Python has over Ruby, but also address the richness of the standard and extra libraries, and the maturity of its book and user community.


(permalink)
Title: Choosing Between Ruby and Python
Media: a reStructured Text document, for the website
Assigned-To: (no one; teaming is possible) (date assigned)

A 2-5 screen overview of the fundamental differences between Python and Ruby. Assume the reader is _not_ a Ruby programmer, but someone who is considering picking up another language and is trying to decide between Python and Ruby.

When comparing languages, don't just look at syntax. Do cover the innate clarity that Python has over Ruby, but also address the richness of the standard and extra libraries, and the maturity of its book and user community.


(permalink)
Title: Python in the Classroom
Media: a 1-sided flyer + whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For use at educational events, posting on campus bulletin boards and to perhaps send to Python champions at schools. Cover the clarity of the source and free availability of the toolset. Survey the available extensions and environments, such as Visual Python. Also list the various educational facilities that are currently using Python. Distinguish between "teaching programming _with_ Python" and "teaching a non-programming subject _using_ Python".


(permalink)
Title: Game Development with Python
Media: a small whitepaper
Assigned-To: (no one; teaming is possible) (date assigned)

For use at schools to entice students to give Python a try because of their love for games. Using the PyGame framework, show how quickly a game can be put together. Explain how Python supports the various kinds of games, first-person shooters, board games, etc. Mention the EVE online game and how it is based on Python. And, without getting into overwhelming details, provide some coverage of how Stackless Python lets you script the thousands of actors that occur in a game.

I wrote a paper a year ago about this subject that might be useful: http://richard.cgpublisher.com/product/pub.84/prod.37 (there was a follow-up paper this year http://richard.cgpublisher.com/product/pub.84/prod.37 which introduced OpenGL). Personally I think talking about Stackless is unnecessary and confuses the issue. -- RichardJones


(permalink)
Title: The Speedy Python

Media: a whitepaper
Assigned-To: David Beazley <d-beazley AT sbcglobal DOT net> (2007-01-13)

Seek to address the common complaint against Python (and other dynamic languages) that it is slow. Assume the reader is a programmer of a static language such as C/C++. Explain that while Python is an interpreted language, that it does compile the source into powerful bytecode. Also that because of its rich libraries written in C/C++, Python spends much of its time away from the interpreter and in the depths of some C module. In many cases depending upon how Python is being used, of course.

Provide some coverage of solutions to speed bottlenecks, when they occur, such as SWIG/SIP, and psyco. Also that Python is often used as a glue language, which exacts a smaller performance hit. This paper may want to defer in-depth discussion of these to the #GlueLanguage paper below.

And perhaps some discussion of how Python can be embedded into their existing application, or extended with wrappers of their existing libraries. The idea is that they don't necessarily have to give up their static language and can code the speed-critical pieces there..


(permalink)
Title: Sprinting
Media: potential journal article
Assigned-To: Catherine Devlin <catherineDOTdevlin AT gmail DOT com> (2007-09-07)

For publication before PyCon 2008. To encourage sprint participation and general PyCon awareness. Will be an interview with experienced sprint coaches and first-time sprinters.

Completed Drafts

(permalink)
Title: About Python, for the Java Programmer
Media: a reStructured Text document, for the website
Assigned-To: Demian <demian0311 AT gmail DOT com> (2006-11-13) COMPLETED 2006-12-08 (click title above to see)

A 2-5 screen overview of the fundamental differences between Python and Java. Assume the reader is a Java programmer, wondering how Python compares.

When comparing languages, don't just look at syntax. Do cover the innate clarity and less boilerplate that Python has over Java, but also address the richness of the standard and extra libraries, and the maturity of its book and user community.

Briefly cover the availability of the IDEs for Python, as that is a common argument against Python by Java programmers. Also that Python has its own docstring commenting convention, like Java, and also a strong tradition/support of unit testing. Finally soften the conclusion by mentioning it's not an either-or choice, with the use of Jython.


(permalink)
Title: Planning a Python Conference
Media: a small whitepaper, reStructuredText format
Assigned-To: Andrew Kuchling <amk AT amk DOT ca> (2006-12-06)

For putting up on the web.


(permalink)
Title: Python As a Glue Language
Media: a whitepaper
Assigned-To: AndrewKuchling (2007-04-03)

One of the interesting traits of Python is that you can combine it with code in other languages, using it as a glue language. Survey the various solutions for combining code, such as SWIG, SIP, Python2C, Pyrex and provide the reader some guidance on the tradeoffs and how to choose.


For active discussion on advocating the use of Python, please join the Advocacy mailing list and visit the Advocacy - Get Involved! site.


CategoryAdvocacy

AdvocacyWritingTasks (last edited 2008-11-15 14:00:06 by localhost)

Unable to edit the page? See the FrontPage for instructions.