associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Diferenças para "AjudaParaEscrita"

Diferenças entre as versões de 1 e 4 (3 versões de distância)
Revisão 1e 2006-12-07 07:00:28
Tamanho: 15095
Comentário:
Revisão 4e 2008-09-26 14:07:52
Tamanho: 81
Editor: localhost
Comentário: converted to 1.6 markup
Deleções são marcadas assim. Adições são marcadas assim.
Linha 1: Linha 1:
= Ajuda para escrita de materiais sobre Python: = #redirect ContribuaEscrevendo
Linha 3: Linha 3:
Precisamos de voluntários que possam criar alguns dos seguintes materiais. Alguns deles já existem na Internet, e nesses casos, vamos colecionar os links para contactarmos os autores para aproveitar aqui esses materiais, com os devidos créditos. Mudamos para ContribuaEscrevendo!
Linha 5: Linha 5:
Apesar de estarem listados juntos, você não precisa criar o panfleto (flayer) e o artigo (whitepaper). Uma vez escrito o artigo, o folheto não fica tão difícil de ser criado. Ou, caso você seja um designer gráfico, una-se com um escritor e faça o panfleto.

Para termos um layout padrão, os panfletos devem ser escritos usando o OpenOffice.org (de preferência) ou o MS Office, em papel de tamanho A4. Tente usar cores que deixem o panfleto apresentável em impressões usando impressoras preto e branco.

Para se ter uma formatação boa e também ser apresentado no mundo dos negócios, artigos devem ser escritos usando OpenOffice.org (de preferência) ou MS Office (ou que tal Latex?). ''They will be made available in both paper sizes, so try to avoid building assumptions into your content on page break placement.''

Gostaríamos de iniciar cada artigo com um template padrão, mas ainda não há nada desenvolvido ainda. Se você tem alguma sugestão de template, por favor, mostre-nos.

Para conteúdo da web, ''use of reStructureText is preferred, to simplify reuse of the content in different formats.''

Todos os conteúdos serão licenciados sobre a licença Creative Commons, conjuntamente em nome da Comunidade PythonBrasil (?) e do(s) autor(es). Dessa maneira, a comunidade poderia reusar partes dos conteúdos no www.pythonbrasil.com.br e em outros lugares.

De modo geral, o estilo de escrita deve ser informal. Refira-se a você como "nós", pois você estará representando a comunidade PythonBrasil e outros autores poderão contribuir com você reescrevendo seu documento. Refira-se ao leitor como "você".

----
'''Title:''' ''What is Python?'' [[BR]]
'''Media:''' a 2-sided flyer [[BR]]
'''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.

----
'''Title:''' ''Have you considered Python?'' [[BR]]
       ''Using Python to improve Java'' [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''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 co-existence synergies 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.

----
'''Title:''' ''Python for C/C++ Programmers'' [[BR]]
       ''Using Python as a companion language for C/C++'' [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''Assigned-To:''' (no one; teaming is possible) (date assigned)

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 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.

----
'''Title:''' ''IronPython (Python.NET)'' [[BR]]
       ''Using Python to improve .NET'' [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''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.

----
'''Title:''' ''How to Start and Run a Successful Python User Group'' [[BR]]
'''Media:''' a small whitepaper, reStructuredText format [[BR]]
'''Assigned-To:''' (no one; teaming is possible) (date assigned)

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.

----
'''Title:''' ''How to Start and Run a Successful Python Conference'' [[BR]]
'''Media:''' a small whitepaper, reStructuredText format [[BR]]
'''Assigned-To:''' (no one; teaming is possible) (date assigned)

For putting up on the web - it should discuss...

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

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.''

----
'''Title:''' ''There is more to life; there is Python'' [[BR]]
'''Media:''' a 1-sided flyer + small whitepaper [[BR]]
'''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.

----
'''Title:''' [wiki:/PythonAndDatabases Python and Databases] [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''Assigned-To:''' Greg Lindstrom (gslindstrom, gmail) 2006-12-06

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.

----
'''Title:''' ''Scientific Computing with Python'' [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''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:

 * numeric and scientific processing using NumPy
 * data I/O format flexibility re netCDF, CSV, Matlab (others?)
 * database abilities re Pydap, Galaxy and other interfaces to bulk
   containers of scientific data
 * data visualization and graphing
 * Matlab similarities

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.

 * oceanography
 * meteorology
 * climate
 * genomics
 * micro machines


----
'''Title:''' ''Python: Data Visualization and Graphing'' [[BR]]
'''Media:''' a 2-sided flyer + whitepaper [[BR]]
'''Assigned-To:''' (no one; teaming is possible) (date assigned)

For use a 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.

----
'''Title:''' ''The Python Alternative to Matlab'' [[BR]]
'''Media:''' a whitepaper [[BR]]
'''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/ ''

----
'''Title:''' ''Cool Programming Features of Python'' [[BR]]
       ''Python: The Cool Language'' [[BR]]
       ''Python: Have Fun Programming (again)'' [[BR]]
'''Media:''' a whitepaper [[BR]]
'''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 conjuction with the ipython interpreter shell.

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

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 its not an either-or choice, with the use of Jython.

----
'''Title:''' ''About Python, for the Ruby Programmer'' [[BR]]
'''Media:''' a reStructured Text document, for the website [[BR]]
'''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.

----
'''Title:''' ''Choosing Between Ruby and Python'' [[BR]]
'''Media:''' a reStructured Text document, for the website [[BR]]
'''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.

----
'''Title:''' ''Python in the Classroom'' [[BR]]
'''Media:''' a 1-sided flyer + whitepaper [[BR]]
'''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 enviroments, 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".

----
'''Title:''' ''Game Development with Python'' [[BR]]
'''Media:''' a small whitepaper [[BR]]
'''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.

----
'''Title:''' ''The Speedy Python'' [[BR]]
       ''Python: The Speed Myth Exposed'' [[BR]]
       ''This Python is no Tortoise'' [[BR]]
'''Media:''' a whitepaper [[BR]]
'''Assigned-To:''' (no one; teaming is possible) (date assigned)

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.

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..
Até lá!

Mudamos para ContribuaEscrevendo!

Até lá!