<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35630498</id><updated>2011-09-11T09:48:49.280-04:00</updated><category term='unconference'/><category term='OSCON'/><category term='screencasts'/><title type='text'>About Python Advocacy</title><subtitle type='html'>A view into my efforts as the Python Advocacy Coordinator, as we work together to spread the good news about the Python programming language and grow the community.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35630498.post-751277391742877171</id><published>2007-09-03T05:30:00.000-04:00</published><updated>2007-09-03T05:37:01.840-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='unconference'/><title type='text'>Texas Python Unconference - Sep 15/16</title><content type='html'>The first &lt;a href="http://pycamp.python.org/Texas/"&gt;regional Python unconference&lt;/a&gt; is coming to Houston on September 15-16 (Sat-Sun).  Being held at the Texas Learning &amp;amp; Computing Center on the University of Houston main campus, this is a FREE event for Pythoneers from all over the Texas region.&lt;br /&gt;&lt;br /&gt;And being an &lt;a href="http://en.wikipedia.org/wiki/Unconference"&gt;unconference&lt;/a&gt;, participation by those who attend is welcome and greatly sought.  The topics to be presented are purely up to the attendees.&lt;br /&gt;&lt;br /&gt;Details about the facility and a sign-up registration list is available on the &lt;a href="http://pycamp.python.org/Texas/"&gt;event wiki&lt;/a&gt;.  Please add your name if you think you might attend, so that we can have some estimate of who is coming.&lt;br /&gt;&lt;br /&gt;Also add to the wiki topics on which you are coming prepared to present, or that you would like to see.  Often people can present on many topics but don't know what others are interested in.&lt;br /&gt;&lt;br /&gt;And a big thanks go out to Robin Friedrich and those in Houston for hosting us.  Let's roll up our sleeves and help them out!  Involvement is key to making an unconference successful.&lt;br /&gt;&lt;br /&gt;For those not familiar with unconferences, check out &lt;a href="http://en.wikipedia.org/wiki/Unconference"&gt;this description&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;See you all there...&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-751277391742877171?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/751277391742877171/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=751277391742877171' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/751277391742877171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/751277391742877171'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/09/texas-python-unconference-sep-1516.html' title='Texas Python Unconference - Sep 15/16'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-1748268990216114511</id><published>2007-09-03T04:44:00.000-04:00</published><updated>2007-09-03T04:50:46.380-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='screencasts'/><title type='text'>ShowMeDo.com Announces Winner of Most-Video-Plays of the Month</title><content type='html'>&lt;a href="http://www.showmedo.com/"&gt;ShowMeDo.com&lt;/a&gt;, a website offering over 361 instructional screencasts about topics both Python and non-Python, has announced their first winner of the month for the most-played video.  And the winner is:&lt;br /&gt;&lt;br /&gt;    "&lt;a href="http://showmedo.com/videos/video?name=1100000&amp;amp;fromSeriesID=110"&gt;Learn Django: Create a Wiki in 20 minutes&lt;/a&gt;"&lt;br /&gt;&lt;br /&gt;by Siddharta Govindaraj, founder of &lt;a href="http://www.silverstripesoftware.com/"&gt;Silver Stripe Software&lt;/a&gt;, with 1851 views in August, far outpacing the second-place entry.  The prize is a £20 (UK) voucher to Amazon.  Congratulations, Siddhi!&lt;br /&gt;&lt;br /&gt;Siddhi is also helping Doug Napoleone with PyCon this year, providing a program for generating attendee badges and working to integrate it into the Django-based conference site.&lt;br /&gt;&lt;br /&gt;You can catch up with Siddhi on &lt;a href="http://siddhi.blogspot.com/"&gt;his personal blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So who will win this month?  It could be you!  How about a screencast showcasing a different web framework like TurboGears or Twisted Web?  Or something about databases, either relational or object.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-1748268990216114511?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/1748268990216114511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=1748268990216114511' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1748268990216114511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1748268990216114511'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/09/showmedocom-announces-winner-of-most.html' title='ShowMeDo.com Announces Winner of Most-Video-Plays of the Month'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-4382194386728209597</id><published>2007-08-19T08:22:00.000-04:00</published><updated>2007-08-19T22:28:06.472-04:00</updated><title type='text'>2nd Annual Workshop: Python for the German-Speaking Countries</title><content type='html'>Being held on September 7, 2007 in Leipzig, Germany &lt;a href="http://www.python-academy.de/workshop/"&gt;the one-day workshop&lt;/a&gt; is for both the experienced as well as novice programmer.  Early registration gets you in the door at only 50 euros, with a full day of &lt;a href="http://www.python-academy.de/workshop/vortraege.html"&gt;presentations&lt;/a&gt; and an informal dinner&lt;super&gt;*&lt;/super&gt; in the evening.  After August 31 registration goes up to 65 euros.&lt;br /&gt;&lt;br /&gt;&lt;super&gt;*&lt;/super&gt;&lt;span style="font-style: italic;"&gt; Cost of the dinner is not included in the registration price.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-4382194386728209597?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/4382194386728209597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=4382194386728209597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/4382194386728209597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/4382194386728209597'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/08/2nd-annual-workshop-python-for-german.html' title='2nd Annual Workshop: Python for the German-Speaking Countries'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-7197530777509112380</id><published>2007-07-24T02:57:00.000-04:00</published><updated>2007-07-24T03:04:31.866-04:00</updated><title type='text'>Python Trainers, Promote Thyself!</title><content type='html'>With the recent establishment of &lt;a href="http://wiki.python.org/moin/PythonTraining"&gt;the wiki page on python.org of those who offer training services&lt;/a&gt; for the Python language, we now have 23 listed, worldwide.&lt;br /&gt;&lt;br /&gt;Many of the trainers are individuals or small companies, and it can be hard to get the attention of the big IT houses.  While skill credentials and a portfolio of past training gigs are important, perhaps one of the best promoters is when someone has actually experienced one of your classes.  They gain insight into your speaking style, how you relate to the students and your ability to explain complex technical subjects in an approachable way.  No class syllabus can convey that.  The Python community has a valuable resource that can give you the next best thing.  Screencasting!&lt;br /&gt;&lt;br /&gt;Screencasting is a multimedia creation that focuses on the instructor's desktop, with voiceover guidance.  It can be in the format of an online slideshow, a guided sourcecode walkthrough or a follow-along interactive session.  They can be as long or short as you wish and they have opportunities for branding, by using custom wallpaper behind your talks desktop and musical lead-in/fade-out.&lt;br /&gt;&lt;br /&gt;Screencasts can be hosted on www.showmedo.com or, if done with a large font, video.google.com.  They can also be &lt;a href="http://www.python.org/doc/av/5minutes/"&gt;embedded in your website&lt;/a&gt; while being hosted elsewhere.&lt;br /&gt;&lt;br /&gt;You can learn more about the details with a talk series I put together entitled &lt;a href="http://www.showmedo.com/videos/series?name=bETR23HwS"&gt;Casting Your Knowledge, With Style&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;But perhaps you're really busy on current projects and short on time.  Consider arranging an audio interview about an upcoming seminar you're offering and making it available as a podcast.  Ron Stephens of &lt;a href="http://www.awaretek.com/python/"&gt;Python 411&lt;/a&gt; makes available an excellent collection of podcasts and may be interested in hosting yours.&lt;br /&gt;&lt;br /&gt;Unlike face-to-face presentation opportunities, screencasts/podcasts have the additional benefit that they promote your training offerings while you're busy on other gigs.  It's almost like cloning yourself and having more time for promotion.  It's all about leverage.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-7197530777509112380?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/7197530777509112380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=7197530777509112380' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/7197530777509112380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/7197530777509112380'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/07/python-trainers-promote-thyself.html' title='Python Trainers, Promote Thyself!'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-3081942448926195449</id><published>2007-07-24T01:34:00.000-04:00</published><updated>2007-07-24T01:41:03.923-04:00</updated><title type='text'>Usergroups Forming: Arizona and Carolina Regions</title><content type='html'>Two new Python usergroups are being organized!&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;Arizona&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Michael March is starting a group for those in the Flagstaff/Phoenix/Tucson region of Arizona.  The first meeting to get organized will be held on &lt;span style="font-weight: bold; font-style: italic;"&gt;Monday July 30th&lt;/span&gt; at 6:30pm.  Location is not yet set -- need input from potential attendees.&lt;br /&gt;&lt;br /&gt;If you are interested, a &lt;a href="http://mail.python.org/mailman/listinfo/sunpiggies"&gt;mailing list&lt;/a&gt; and &lt;a href="http://wiki.python.org/moin/ValleyOfTheSunPiggies"&gt;wiki page&lt;/a&gt; have been established as well as a &lt;a href="http://python.meetup.com/184/"&gt;Meetup.com group&lt;/a&gt;, where you can sign up to receive automated calendar reminders of group activities.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;North/South Carolina&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;While there is an existing group TriZPUG for the Raleigh-Durham-Chapel Hill region, a new group is being formed for the &lt;span style="font-weight: bold; font-style: italic;"&gt;Charlotte and North-Central South Carolina area&lt;/span&gt;.  No meetings have yet been scheduled - to participate in discussions join &lt;a href="http://groups.google.com/group/charpy"&gt;the Google Group&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;Other Groups&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are 34 states with Python usergroups, leaving 16 without any Python organizations at all -- and this is just in the United States.  We would like to encourage the formation of more groups worldwide.  If you've been wishing there were meetings near you, step forward and help initiate or revitalize one.  There are experienced organizers waiting to mentor you on &lt;a href="http://mail.python.org/mailman/listinfo/group-organizers"&gt;the group organizers mailing list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Usergroups are a lot of fun, a source of employment opportunities and a great way to enhance your programming and teaching skills.  The Python Software Foundation and the experienced group organizers are ready to support you in your efforts.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-3081942448926195449?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/3081942448926195449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=3081942448926195449' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3081942448926195449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3081942448926195449'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/07/usergroups-forming-arizona-and-carolina.html' title='Usergroups Forming: Arizona and Carolina Regions'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-3780834697155223985</id><published>2007-07-09T05:53:00.001-04:00</published><updated>2007-07-09T07:53:10.543-04:00</updated><title type='text'>An Update Regarding Python Advocacy</title><content type='html'>For those who might wonder what I do as advocacy coordinator, I've just updated for the month my list of accomplishments at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/AdvocacyAccomplishments"&gt;http://wiki.python.org/moin/AdvocacyAccomplishments&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;My short list of things to tackle next is at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/PythonAdvocacyCoordinator"&gt;http://wiki.python.org/moin/PythonAdvocacyCoordinator&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Suggestions and feedback are appreciated, as is volunteering to create podcasts, screencasts, artwork or whitepapers.  There is a list of writing ideas at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/AdvocacyWritingTasks"&gt;http://wiki.python.org/moin/AdvocacyWritingTasks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;and ideas for articles at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/ArticleIdeas"&gt;http://wiki.python.org/moin/ArticleIdeas&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For screencasting I'm working with Ian of ShowMeDo.com to create a collection of 5-minute videos targeted at those new to or unsure of Python, to make them aware of the strengths of the language in areas in which they might be interested.  We welcome contributions - they're only 5-minute talks and so don't require a large investment of time.&lt;br /&gt;&lt;br /&gt;And on the low burner we've got some wiki pages bubbling about how to help new programmers get into Python, at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.python.org/moin/Advocacy/ProgrammingForNewprogrammers"&gt;http://wiki.python.org/moin/Advocacy/ProgrammingForNewprogrammers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;We could use any ideas that might occur to you as you read those wiki pages.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-3780834697155223985?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/3780834697155223985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=3780834697155223985' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3780834697155223985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3780834697155223985'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/07/update-regarding-python-advocacy.html' title='An Update Regarding Python Advocacy'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-3754911089366071740</id><published>2007-06-27T04:12:00.001-04:00</published><updated>2007-06-27T04:53:29.378-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OSCON'/><title type='text'>Organizing Python Representation at OSCON 2007</title><content type='html'>&lt;a href="http://conferences.oreillynet.com/os2007/"&gt;OSCON 2007 in Portland, Oregon&lt;/a&gt; from July 23-27 is fast approaching.  This is a professional conference that can give Python a lot of visibility in the IT world and draws a different crowd from our community-run conferences like PyCon.&lt;br /&gt;&lt;br /&gt;There looks to be a good set of talks on &lt;a href="http://conferences.oreillynet.com/cs/os2007/view/e_trak/397"&gt;the Python track&lt;/a&gt;, with several positioned to promote the use of Python by telling its story:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Code Like a Pythonista: Idiomatic Python&lt;/li&gt;&lt;li&gt;SQLAlchemy: Taming ORM with Python&lt;/li&gt;&lt;li&gt;Super-sizing YouTube&lt;/li&gt;&lt;li&gt;How to Write a Killer Sugar Activity&lt;/li&gt;&lt;li&gt;Exploiting Multicore Capabilities from Python&lt;/li&gt;&lt;li&gt;Python 3000&lt;/li&gt;&lt;li&gt;Programming for Everybody: CP4E&lt;/li&gt;&lt;li&gt;Coding with Dynamic Confidence&lt;/li&gt;&lt;/ul&gt;There also is the opportunity to reach out by holding Python birds-of-a-feather gatherings.  The Python community is a friendly group and face-to-face contact is important to convey the human aspect of Python.  Proposals for BoFs can be submitted by visiting the &lt;a href="http://conferences.oreillynet.com/pub/w/58/bof.html"&gt;OSCON page for BoFs&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I will not be attending this year, so we need one or more who are willing to step forward and loosely organize a bit.  Let's discuss this on the &lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt;Python advocacy mailing list&lt;/a&gt; and make it happen this year.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-3754911089366071740?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/3754911089366071740/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=3754911089366071740' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3754911089366071740'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/3754911089366071740'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/06/organizing-python-representation-at.html' title='Organizing Python Representation at OSCON 2007'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-8775753649812151433</id><published>2007-06-12T03:29:00.000-04:00</published><updated>2007-06-12T03:31:51.223-04:00</updated><title type='text'>Calling for Python Writers/Authors</title><content type='html'>For those who write books and articles, I've established a wiki page just as we already have a page for those who offer training services for Python.  If you would like to be reachable by those needing writing services of various kinds, please add yourself to the list, along with some indication of what you prefer to work on, your portfolio of work and your experience level:&lt;br /&gt;&lt;br /&gt;   &lt;a href="http://wiki.python.org/moin/PythonWriters"&gt;http://wiki.python.org/moin/PythonWriters&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;I'm open to creative ideas on how to format the information.  A link to the page has been added to the sidebar menu.&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-8775753649812151433?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/8775753649812151433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=8775753649812151433' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/8775753649812151433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/8775753649812151433'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/06/calling-for-python-writersauthors.html' title='Calling for Python Writers/Authors'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-2120319077007872832</id><published>2007-06-07T03:30:00.000-04:00</published><updated>2007-06-07T03:44:42.619-04:00</updated><title type='text'>Calling Usergroup Organizers (and Wannabees)</title><content type='html'>&lt;p&gt;We'd like to strengthen and raise the visibility of Python usergroups and foster the creation of new ones, by sharing the valuable experiences of those leaders around the community who make it happen.&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;p&gt;One step is to make others more aware of what is already happening, perhaps in their own neighborhood re Python meetings.  I've created &lt;a href="http://python-groups.blogspot.com/"&gt;a shared blog&lt;/a&gt; and invite organizers of existing groups to send me their email address to get privs to post to it.&lt;/p&gt;&lt;p&gt;Because these postings will be distributed far and wide, a posting should be of interest to those who did not attend but are considering doing so, or that might be instructive to organizers in other cities. An overview of what was covered in a past meeting, or an announcement with substance on what an upcoming meeting is going to be about are good postings.  A simple date and local address, or that the pizza was good last week, is not. ;-)&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;A second step is to encourage and support new organizers in forming groups in their area.  There is a strong demand for such meetings, but many are uncertain how to go about it.  Therefore I've created &lt;a href="http://mail.python.org/mailman/listinfo/group-organizers"&gt;a new mailing list&lt;/a&gt; on which experienced and new organizers can share tips on getting started, whether about getting the word out, finding a place to meet or getting interesting speakers.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Those of us with a history of involvement in a usergroup often forget that many people have never attended a usergroup meeting, or lack experience in running one, so let's help strengthen this aspect of Python.  We could use some videos or photos of group meetings as well, posted to youtube.com/flickr.com and the link emailed to me for use.&lt;/p&gt;&lt;p&gt;I'd also like to ask the existing, successful usergroups to spread the word about their efforts by being interviewed by &lt;a href="http://www.awaretek.com/python/"&gt;Ron Stephens on Python411&lt;/a&gt;, and/or writing up an article on how your group got started for &lt;a href="http://pythonpapers.cgpublisher.com/"&gt;Tennessee Leeuwenburg of The Python Papers&lt;/a&gt;.  Even a simple &lt;i&gt;"what a typical meeting is like in my area"&lt;/i&gt; is helpful.&lt;/p&gt;&lt;p&gt;It would be especially interesting to see how usergroups operate in various countries around the world, and perhaps help bring together these regions.&lt;/p&gt;&lt;p&gt;In closing, for existing usergroups as well as new ones coming online, please update the entry for your group on &lt;a href="http://wiki.python.org/moin/LocalUserGroups"&gt;the roster of Python usergroups&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Jeff Rush&lt;br /&gt;Advocacy Coordinator&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-2120319077007872832?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/2120319077007872832/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=2120319077007872832' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/2120319077007872832'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/2120319077007872832'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/06/calling-usergroup-organizers-and.html' title='Calling Usergroup Organizers (and Wannabees)'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-1601921192060657457</id><published>2007-05-14T07:06:00.000-04:00</published><updated>2007-05-14T07:16:18.219-04:00</updated><title type='text'>Seeking Four Code Samples for Forrester Research Survey</title><content type='html'>In working up a response to the survey being conducted by Forrester Research on dynamic languages, there is a section wherein they want to see code samples.  The samples must include all code written for the example, and URLs to any frameworks or modules used.&lt;br /&gt;&lt;br /&gt;Their objective is to see how efficient/elegant the language is for developers.  This is one area in which Python should excel.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Render a simple Web page containing text, data, and graphics, as  specified in &lt;a href="http://dfwpython.org/uploads/Forrester/WireframeShot-1.jpg"&gt;this wireframe mockup&lt;/a&gt;.  With the myriad number of web frameworks for Python, this is hard but let's pick those a few that are most expressive, as the person evaluating it may not be familiar with Python per se, but be looking for readability.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Invoke a simple Web service and format/display the results.  This can be either web services or REST, whichever one looks cleanest.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Create a mash-up that overlays local temperature data onto a Google map.&lt;/li&gt;&lt;li&gt;Create a simple form for data submission with fields and drop down selects and a submit button, as specified in &lt;a href="http://dfwpython.org/uploads/Forrester/WireframeShot-2.jpg"&gt;this wireframe mockup&lt;/a&gt;.  At least one field should be validated.&lt;/li&gt;&lt;/ol&gt;To help our community's standing in the survey, and perhaps promotion of your favorite web framework, please consider picking one of these or providing a trimmed down example of existing code.  Send it via private email to me, and I'll get it included in the survey response.  Forrester's deadline to us is by the end of this week, May 18th.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-1601921192060657457?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/1601921192060657457/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=1601921192060657457' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1601921192060657457'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1601921192060657457'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/05/seeking-four-code-samples-for-forrester.html' title='Seeking Four Code Samples for Forrester Research Survey'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-1516047646169900055</id><published>2007-05-14T06:19:00.000-04:00</published><updated>2007-05-14T06:23:18.038-04:00</updated><title type='text'>A Call for Professional Trainers of Python</title><content type='html'>I am seeking to organize the list of those, both individuals and companies, who offer training on Python and related frameworks and technologies.&lt;br /&gt;&lt;br /&gt;This is for those who provide classes, typically to businesses, as part of their professional offerings, in order to provide an answer to Forrester Research.   They are surveying the various dynamic programming languages and want to know, essentially, how easily can an IT manager get his people trained up on Python in comparison to other languages.&lt;br /&gt;&lt;br /&gt;There is a wiki page at:&lt;br /&gt;&lt;br /&gt;  &lt;a href="http://wiki.python.org/moin/PythonTraining"&gt;http://wiki.python.org/moin/PythonTraining&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;with some training organizations.  If your information is already there &lt;span style="font-weight: bold;"&gt;and current&lt;/span&gt;, no response is necessary.  But if you are not mentioned, please update that wiki page so we can get an accurate accounting and hopefully send business your way.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-1516047646169900055?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/1516047646169900055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=1516047646169900055' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1516047646169900055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/1516047646169900055'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/05/call-for-professional-trainers-of.html' title='A Call for Professional Trainers of Python'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-6393973020418683990</id><published>2007-05-02T08:57:00.000-04:00</published><updated>2007-05-14T06:30:47.025-04:00</updated><title type='text'>Need Help in Preparing for Study of Python by Forrester Research</title><content type='html'>Forrester Research is doing a study on dynamic languages and has asked that Python be represented.  As advocacy coordinator I've volunteered to drive this, collecting answers from the community and locating representatives to participate in interviews.&lt;br /&gt;&lt;br /&gt;The goal of the study is to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; identify the criteria to use for evaluating such languages&lt;/li&gt;&lt;li&gt; identify the relevant choices of dynamic languages&lt;/li&gt;&lt;li&gt; identify how the different dynamic languages stack up&lt;/li&gt;&lt;li&gt; examine where dynamic languages work best&lt;/li&gt;&lt;/ul&gt;Initially, they'd like feedback (not yet the answers themselves) from us regarding their proposed evaluation criteria - questions to add or that give no value, rewording to make them more clear.  I've posted their draft criteria, which came as a spreadsheet at:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://dfwpython.org/uploads/Forrester/DynamicLanguagesCriteria--Draft.xls"&gt;http://dfwpython.org/uploads/Forrester/DynamicLanguagesCriteria--Draft.xls&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Later, between May 8 and 25, the researchers will need to interview via 1-hour telephone calls, several developers with experience using Python.  And they want to also interview one person with an executive viewpoint, able to describe relevant background, positioning, value proposition, customer base, and strategic vision.&lt;br /&gt;&lt;br /&gt;And later they would also like snippets of Python code that illustrate the power of Python, and I hope to call upon community members to help in producing that.  The snippets do not have to be originally written and can be pulled from existing projects.&lt;br /&gt;&lt;br /&gt;But those steps come later.  For now let's focus on analysis of the evaluation criteria at the above URL.  Time is short as they'd like that feedback by May 3, so please get any responses to me as soon as possible.  And be thinking who would best represent the executive view of Python in an interview.&lt;br /&gt;&lt;br /&gt;Thanks for your help,&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-6393973020418683990?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/6393973020418683990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=6393973020418683990' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/6393973020418683990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/6393973020418683990'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/05/need-help-in-preparing-for-study-of.html' title='Need Help in Preparing for Study of Python by Forrester Research'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-5400258741713027519</id><published>2007-03-09T06:37:00.000-05:00</published><updated>2007-03-09T06:49:49.270-05:00</updated><title type='text'>A Pythonic Way to Measure and Improve Your Programming Skills?</title><content type='html'>&lt;p style="margin-bottom: 0in;"&gt;Those who know me know I am no fan of the programmer certification industry and I agree that your typical certificate arrangement, e.g. to show HR to get that box checked in your candidate file, so a company can skip responsibility in vetting a candidate, is un-Pythonic.  However, I do think we need a good answer to the engineering manager or team leader who asks, "how do I know this person knows Python?", and to the candidate who thinks, "I believe I'm good at Python but am I as good as I think?".&lt;/p&gt;     &lt;p style="margin-bottom: 0in;"&gt;The first case primarily cares about the reputation of the testing facility within the industry, so that if they choose wrong, they are absolved of blame.  The latter two are often honestly looking for some guidance on bringing good people in-house or to step-up their programming skills.&lt;/p&gt;    &lt;p style="margin-bottom: 0in;"&gt;As Python use spreads, it becomes more important for the community to provide benchmarks for measuring skill levels, to avoid Python being relegated to the, respectfully, lightweight programmer category e.g. PHP or perhaps Ruby on Rails (not Ruby itself).&lt;/p&gt;          &lt;p style="margin-bottom: 0in;"&gt;Prior to PyCon I'd been thinking about some kind of campaign, service or documents, that I call "So you think you know Python...".  My initial idea was for use by Python programmers, who are honest with themselves, to have a way to measure their knowledge.  We all run into or are programmers who think they are hot-stuff, especially those of us who work solo as many in our community do, but when put side-by-side against others, fall a bit short.  PyCon can have that effect, with so many smart people in a small area. ;-) But the objective isn't to denegrate these programmers but to provide a measuring stick, along with an educational roadmap, so they can make wise choices.&lt;/p&gt;       &lt;p style="margin-bottom: 0in;"&gt;The rapid growth in use of Python is going to lead to a shortage in Python programmers, unless we manage the supply side as well.  The manager wanting to find and hire good Python programmers is not an adversary seeking to use certificates to commoditize our community, but an ally in helping us get industry respect and career opportunities using our favorite language.   We need to behind what he asks for to see what he needs.&lt;/p&gt;            &lt;p style="margin-bottom: 0in;"&gt;I've been carefully watching &lt;a href="http://code.google.com/p/crunchy/"&gt;Crunchy&lt;/a&gt;, about which a talk was given at PyCon, for writing tutorials that, with its "doctests" feature, could be used to propose tests that pass and require a candidate to write an acceptable program.  This week I was prototyping a "rst2crunchy" tool, that let's you write Crunchy scripts in reStructured Text, rather than HTML.  Crunchy needs more features, such as a user login facility and measurement facilities to store test submissions for review by experienced Python programmers after they pass.  From what I hear on the edu-sig list, André Roberge and Johannes Woolard are tackling these but could use more help.  Johannes in particular was a student for Google's Summer of Code 2006 and I believe is looking for sponsorship for 2007.&lt;/p&gt;   &lt;p style="margin-bottom: 0in;"&gt;But perhaps Crunchy is not the ready answer in this case, so I'm looking for suggestions.&lt;/p&gt;           &lt;p style="margin-bottom: 0in;"&gt;With regard to how a manager can know a person is good at Python, besides looking at their portfolio of work, we could stake out conceptual areas of the language or libraries about which a programmer should be conversant.  This might be a document, with example questions but carefully focused on what lies behind those questions, so an interviewer can come up with his own questions and avoid rote memorization.  This conceptual map could also eventually form the basis of advanced-placement in schools that goes beyond those terrible Visual BASIC test questions.  And for the Python  programmer who wonders if his knowledge is broad enough and wants to improve him or herself, the conceptual map could have links/recommendations to training materials on specific topics.&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;Join me on&lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt; the advocacy list&lt;/a&gt; and let's discuss this further.&lt;/p&gt;     &lt;p style="margin-bottom: 0in;"&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-5400258741713027519?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/5400258741713027519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=5400258741713027519' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/5400258741713027519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/5400258741713027519'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/03/pythonic-way-to-measure-and-improve.html' title='A Pythonic Way to Measure and Improve Your Programming Skills?'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116834367170568232</id><published>2007-01-09T06:46:00.000-05:00</published><updated>2007-01-09T06:54:31.713-05:00</updated><title type='text'>Personal Schedule Application for PyCon 2007 Now Available</title><content type='html'>Doug Napoleone's really cool &lt;a href="http://us.pycon.org/apps07/schedule/"&gt;Personal Schedule Application&lt;/a&gt; is now up and running on the &lt;a href="http://us.pycon.org/"&gt;PyCon site&lt;/a&gt;.&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;Features include:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;displays a color-coded, up-to-date schedule&lt;/li&gt;&lt;li&gt;displays pop-ups with descriptive information about each event&lt;/li&gt;&lt;li&gt;allows selecting events to create your own personal schedule&lt;/li&gt;&lt;li&gt;supports iCalendar output of both conference and personal schedules&lt;/li&gt;&lt;/ul&gt;If you have a PyCon login account, the application also:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;stores your schedule on the server instead of in a cookie.&lt;/li&gt;&lt;li&gt;highlights talks that you're presenting or sessions you're chairing.&lt;/li&gt;&lt;/ul&gt;If you store your schedule on the server, your selections are included and summarized in a report for the PyCon organizers.   We can therefore see which talks are the most popular, and this will help us schedule them in rooms with enough capacity.&lt;br /&gt;&lt;br /&gt;A print-specific stylesheet is in development.&lt;br /&gt;&lt;br /&gt;We think the schedule application is very neat, and hope it's useful in planning your PyCon attendance.&lt;br /&gt;&lt;br /&gt;To easily create your own PyCon login account, visit the &lt;a href="http://us.pycon.org/apps07/profile/new/?next=/apps07/schedule/"&gt;Site Signup Form&lt;/a&gt;, which is independent of your conference registration.&lt;br /&gt;&lt;br /&gt;And speaking of your conference registration, if you haven't yet registered,&lt;span style="font-weight: bold;"&gt; the deadline for early bird registration is approaching fast - January 15th&lt;/span&gt;.   We have some really great tutorials with limited seating so sign up for your favorites today or you might miss out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116834367170568232?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116834367170568232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116834367170568232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116834367170568232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116834367170568232'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2007/01/personal-schedule-application-for.html' title='Personal Schedule Application for PyCon 2007 Now Available'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116550854262823715</id><published>2006-12-07T11:22:00.000-05:00</published><updated>2006-12-07T11:24:55.670-05:00</updated><title type='text'>A Call to Arms for Python Advocacy</title><content type='html'>As the Python Advocacy Coordinator, I've put up some wiki pages on the Python  website for which I'm soliciting ideas, writing and graphics.   Some of the  material exists scattered about and just needs locating and organizing.&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/Advocacy"&gt;http://wiki.python.org/moin/Advocacy&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;First there is a need for whitepapers and flyers - I've put up a list of  suggested topics w/notes at:&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/AdvocacyWritingTasks"&gt;http://wiki.python.org/moin/AdvocacyWritingTasks&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And there are fields for signing up for specific documents.  We also have a  page of possible magazine articles if that's more your style:&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/ArticleIdeas"&gt;http://wiki.python.org/moin/ArticleIdeas&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;These works are to be formed into advocacy kits for various audiences.  So far  we have the following ideas for kits:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;College Student's Python Advocacy Kit&lt;/li&gt;&lt;li&gt;  IT Department Python Advocacy Kit&lt;/li&gt;&lt;li&gt;  University Educator's Python Advocacy Kit&lt;/li&gt;&lt;li&gt;  K-12 Educator's Python Advocacy Kit&lt;/li&gt;&lt;li&gt;  Research Lab Python Advocacy Kit&lt;/li&gt;&lt;/ul&gt;The table of contents for the various kits can be found at:&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/Advocacy#AdvocacyKits"&gt;http://wiki.python.org/moin/Advocacy#AdvocacyKits&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Did we miss your kit?  And what would you include in any of these?&lt;br /&gt;&lt;br /&gt;Next, we are seeking reusable/retargetable teaching materials, such as those  under a Creative Commons license.  We need slide presentations and class  handouts.  Now I know there are a great many slide presentations on the web  about Python.  I can google them all but we're not looking for just any  presentation, we're looking for the best of field.  You can find the  collection point at:&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/Advocacy#TeachingMaterials"&gt;http://wiki.python.org/moin/Advocacy#TeachingMaterials&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Last, perhaps you can dash off an idea or two for promotional merchandise.  This could be the usuals like shirts but also posters, bumper stickers and  buttons.  What would you like to have?  And with what graphics or slogans?  We  can reuse some of the slogans from the PyCon Slogan Contest, but are there others?&lt;br /&gt;&lt;br /&gt;Our collection point for promo item ideas is at:&lt;br /&gt;&lt;br /&gt;    &lt;a class="moz-txt-link-freetext" href="http://wiki.python.org/moin/Advocacy/WearablesGadgets"&gt;http://wiki.python.org/moin/Advocacy/WearablesGadgets&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;All materials will be credited to the authors to the extent possible by the  delivery media.  Make your mark.&lt;br /&gt;&lt;br /&gt;Jeff Rush &lt;a class="moz-txt-link-rfc2396E" href="mailto:advocate@python.org"&gt;&lt;advocate@python.org&gt;&lt;/advocate@python.org&gt;&lt;/a&gt;&lt;br /&gt;Python Advocacy Coordinator&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116550854262823715?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116550854262823715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116550854262823715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116550854262823715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116550854262823715'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/12/call-to-arms-for-python-advocacy.html' title='A Call to Arms for Python Advocacy'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116342247255543774</id><published>2006-11-13T07:54:00.000-05:00</published><updated>2006-11-13T08:08:56.680-05:00</updated><title type='text'>Get Involved in Python Advocacy</title><content type='html'>I'd like to extend an invitation to those who would like to get involved in advocating the use of Python.   In August, the PSF hired me, for a 6-mo contract, to coordinate the Python advocacy effort.   Since then I've been working to make the next PyCon one of the best conferences yet, and putting in place the infrastructure of a &lt;a href="http://advocacy.python.org"&gt;newcomer portal&lt;/a&gt; focused on drawing in those people who don't know much about Python but have developed an interest for various reasons.   The portal also has &lt;a href="http://advocacy.python.org/getinvolved"&gt;an entry point to organize&lt;/a&gt; the materials and activies of those already in the Python community who want to get involved.  I've also established a new &lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt;mailing list &lt;/a&gt;&lt;advocacy@python.org&gt;&lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt; on which to discuss advocacy&lt;/a&gt;, replacing the marketing@wingide.com &lt;marketing-python@wingide.com&gt; list, and &lt;a href="http://python-advocacy.blogspot.com"&gt;a blog for keeping the Python community up-to-date&lt;/a&gt; about advocacy goings on.   The blog is aggregated into the&lt;a href="http://planet.python.org"&gt; official Planet Python&lt;/a&gt; but I've been unable to reach the organizer for the &lt;a href="http://www.planetpython.org"&gt;unofficial Planet Python&lt;/a&gt;.&lt;/marketing-python@wingide.com&gt;&lt;/advocacy@python.org&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;advocacy@python.org&gt;&lt;marketing-python@wingide.com&gt;&lt;br /&gt;A bit about the newcomer portal to place it in context; the portal is designed to help someone who has just become aware of Python decide if the language is right for them.   It seeks to quickly direct visitors to the information they want, and bring to their attention how diverse and vibrant the support for Python is.   The audience is not only programmers but also journalists, project managers, scientists/engineers, recruiters and educators.   Different audiences come at Python with different needs and often need different explanations.   And some are indeed programmers, but using other languages, who wonder how Python compares to what they are using now.&lt;br /&gt;&lt;br /&gt;For the portal we have a need for content writers to focus on specific problem domains, for the various subcommunities to provide technology roadmaps and representative samples of source code that would entice someone to check them out.   As one example, the SciPy/NumPy group could write about what makes their software attractive to the scientific community and provide one-page sources that illustrates certain common operations, to show off the clarify and expressiveness of Python.   I've found plenty of material on the SciPy website that I'm weaving into the newcomer portal.&lt;br /&gt;&lt;br /&gt;The portal is not designed to replace what we have at www.python.org but to complement it, and to serve as an organizing point for the extensive content already on www.python.org and elsewhere.   The portal also specifically supports dynamic content, relational database storage of information and easy plug-in of new components to add new features.   Such features will eventually include, among other things, a searchable roster of user groups, a registry of speakers and trainers and a catalog of books about Python, each with RSS feeds where appropriate.&lt;br /&gt;&lt;br /&gt;And for the curious, the portal is written using the Zope 3 component system, building on the underlying Twisted subsystem for internal background scheduling and hooked to a PostgreSQL database.  The site makes use of Zope 3 viewlets to provide pluggable display elements, reStructured text documents for a clean separation between content and infrastructure, and Nabu for synchronization of document collections into the indexing engine and persisting of the reST DOMs to enable content manipulation at presentation&lt;br /&gt;time according to what is to be viewed (biblio data, abstracts, content).  The portal is located on the python.org servers and all software and content are checked into svn.python.org.&lt;br /&gt;&lt;br /&gt;In closing, I am greatly honored by the trust of the foundation in me and hope to serve the community well.  As coordinator, I invite others to get involved and will strive to provide an assistive environment within which everyone can be productive.  The primary discussion area is the new mailing list which can be joined at:&lt;br /&gt;&lt;br /&gt;http://mail.python.org/mailman/listinfo/advocacy&lt;br /&gt;&lt;br /&gt;and a list of what is needed is at:&lt;br /&gt;&lt;br /&gt;http://advocacy.python.org/getinvolved&lt;br /&gt;&lt;br /&gt;I am also maintaining a list of accomplishments and near-term To-Do's for myself at:&lt;br /&gt;&lt;br /&gt;http://wiki.python.org/moin/PythonAdvocacyCoordinator&lt;br /&gt;&lt;br /&gt;Jeff Rush&lt;br /&gt;Python Advocacy Coordinator&lt;br /&gt;&lt;br /&gt;&lt;/marketing-python@wingide.com&gt;&lt;/advocacy@python.org&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116342247255543774?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116342247255543774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116342247255543774' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116342247255543774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116342247255543774'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/11/get-involved-in-python-advocacy.html' title='Get Involved in Python Advocacy'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116279871602942328</id><published>2006-11-06T02:17:00.000-05:00</published><updated>2006-11-06T03:02:04.800-05:00</updated><title type='text'>O'Reilly Seeking Ideas on Partnering with the Community</title><content type='html'>The PSF (Python Software Foundation) was contacted by Shane at O'Reilly some ten-days ago, to open a dialog on how the Python community and O'Reilly could work together.   As Python Advocacy Coordinator, this was given to me as a possible opportunity.   I managed to sit down and chat with Shane this past Tuesday.&lt;br /&gt;&lt;br /&gt;O'Reilly is trying to connect with the various open-source communities, such as the Python and Perl language groups, but also groups like the BSD Foundation.  The criteria for whom to contact was partially based on those groups having some form of formal organization, similar to the Apache Foundation.&lt;br /&gt;&lt;br /&gt;O'Reilly is in the very early stages of trying to discover how the groups can work together, with no actual kick-off until January 2007.  The phone call was primarily to solicit ideas than to propose specific actions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;A Common Documentation Workflow&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Shane said that O'Reilly was hearing a lot about how one problem that open-source communities face is poor documentation and that there is a strong need for documents being available in multiple languages.   Teachers in certain countries are saying, for example, they could not use the BSD Book because their students lacked sufficient english to follow it.&lt;br /&gt;&lt;br /&gt;So one goal might be for O'Reilly to provide translation coordination, and perhaps push for a single common documentation format, along with some workflow coordination of the global documentation scene, to try to raise the quality of documentation.   Details are vague and certainly getting the entire open-source community to agree on one format would be a herculean challenge.  Still, O'Reilly said they have a history of embracing challenges.&lt;br /&gt;&lt;br /&gt;Part of the idea is to try to involve documentation contributors beyond the original developers, by adopting a format/mechanism that is friendly to technical writers, educators and college professors.   I suggested something like reStructured text, which Shane was already familiar with.  After researching the One Laptop Per Child project, I might now propose the derivative, Crossmark text, which supports multi-page documents.&lt;br /&gt;&lt;br /&gt;It came up that people will often choose a programming language by whether there is documentation in their native language rather than purely on the merits of the programming language itself.  This led to ideas of other ways to advocate the use of a programming language.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;A Problem-Centered Tool Selector&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One idea I proposed was a web portal of programming language concepts, with very good explanations and links to source code examples in a variety of programming languages.  Shane mentioned the scriptome, a cookbook of of Perl one-liners for bioinformatics data processing tasks.&lt;br /&gt;&lt;br /&gt;My work in advocacy has brought to my attention the need to focus on the domain or problem first, and then show how a technology can meet those needs.   So I proposed a portal with some kind of sophisticated lookup/navigation engine, where someone with a problem could identify those programming languages with strengths in their area, perform comparisons among languages/frameworks and eventually decide on the toolset to use.  I've already done a bit of work &lt;a href="http://advocacy.python.org"&gt;along these lines&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Shane thought this might have some possibilities, that we could identify a handful of problem areas and, working with a few members from each open-source community, come up with a handful of recipes to present.  Then if it really is a good idea, encourage it to take off from there, else let it fade away.&lt;br /&gt;&lt;br /&gt;It also occurred to me that such an arrangement might encourage the improvement of languages, by shining a light on select areas.  A bit of friendly rivalry where upon discovering a gap in the solution space of language A but not in language B, that the community for language A might then work to fill that gap.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;Registry of Speakers&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Continuing our brainstorming on ways for O'Reilly and the open-source community to work together, I brought up the recurring problem that user groups often have of finding speakers.  And while some speakers/topics are language-specific there are also those that cross language boundaries.  So how about putting together some form of speaker registry, keyed both my open-source project and geographical area.  This way user group organizers can search for someone to visit their group.  And since there are also traveling speakers looking for engagements, such a solution should allow a speaker to visit the portal and indicate the areas in which he can speak and the dates when he will be in certain cities, to locate an audience.  This way he can optimize his time, find receptive audiences of which he was unaware, and perhaps expense his trip on his taxes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Targeted Book Release Notices Filtered by Community&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another idea is for the publishing industry to improve the way in which it communicates with its readers.  It was unclear to Shane if O'Reilly already had such a system in place, or if so, whether it had all the functionality I'm about to describe.&lt;br /&gt;&lt;br /&gt;The idea is for publishers to provide RSS feeds of current and future releases, appropriate tagged with publication date, programming language and so forth.  Then the various Python, Perl and other websites could subscribe to the feeds and stay current on releases.  At the moment many rely upon volunteer labor to manually post book information on their sites.  Such a feed system should also provide for book reviews, and the ability of a person to subscribe to a feed by a particular author.  Basically something a bit like a distributed form of the review system on Amazon.com's website.&lt;br /&gt;&lt;br /&gt;This is nothing new and we're sure bits and pieces of this exist to some degree.  It just needs to be standardized and mainstreamed.  The approach helps publishers spread the word about their product by leveraging the open-source portals which have their own, focused traffic.  And the portals benefit because their visitors want to know what new releases are coming in the specific area of interest.&lt;br /&gt;&lt;br /&gt;Certainly publishers, including O'Reilly publish newsletters, including a mailing list of releases, but that material often mixes it all together, sending Java book notices to Python programmers and vice versa.  It also usually is complete PR spin and lacks reviews by the community.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Alternative Ways of Publishing&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We also discussed O'Reilly's move toward print-on-demand, and how it will increase the diversity in printed reading material, providing an outlet for subcommunities too small for a traditional book run.  One trick will be to find ways to market those creations, since your normal publicity effort would be too costly.  It will be important for O'Reilly to cheaply spread the word to the specific audience for a topic, and being able to RSS-stream release, review and author information to specific open-source portals would be a step in this direction.&lt;br /&gt;&lt;br /&gt;And I brought up the challange of open-source projects like Zope 3, where the underlying software changes faster than a printed book can track.  A solution is 'iterative editing', where a publisher keeps a book hot and streamlines the publication of future editions every 3-6 mos.  However it also requires the open-source community to feed updates to the author/publisher on a near continual basis so the frequent editions are current.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Expanding the Pool of 'Non-Programming' Programmers&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We continued on talking about how to achieve "programming for non-programmers", to draw in those who are not (and do not want to be) professional programmers, such as scientists and teachers.  I don't have any specific project suggestions in my notes, other than my own strong desire to reach out to non-programmers, the establish basic software literacy.  Shane mentioned that O'Reilly believes there is an incredible audience of open-source that is being ignored by traditional IT marketing.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;In Closing - A Few Guiding Principles&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;focus PR campaigns on those who are ignored, such as non-programmers&lt;/li&gt;&lt;li&gt;the community will never agree on one format, so adopt several good ones and support mechanical conversion.&lt;/li&gt;&lt;li&gt;to enable iterative editing/release, try to avoid the use of one-way conversion tools re print layout&lt;/li&gt;&lt;/ul&gt;O'Reilly will digest these ideas, test their endorseability with the other open-source communities and we'll see where it all leads.  I'd also like to solicit additional ideas from the Python community.  Please join the &lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt;Advocacy mailing list&lt;/a&gt; and let's talk about it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116279871602942328?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116279871602942328/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116279871602942328' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116279871602942328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116279871602942328'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/11/oreilly-seeking-ideas-on-partnering.html' title='O&apos;Reilly Seeking Ideas on Partnering with the Community'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116117805122282630</id><published>2006-10-18T09:27:00.000-04:00</published><updated>2006-10-18T09:37:08.726-04:00</updated><title type='text'>Tech Walkthru: D-BUS, HAL, Notify and Avahi LAN Services</title><content type='html'>&lt;p style="margin-bottom: 0in;"&gt;&lt;/p&gt;As a result of researching topics for PyCon keynotes, I've been digging a bit into the One Laptop Per Child project.   Being based on Python, essentially seeking to provide a 'Python operating environment', it looked quite interesting.   I noticed that they plan to make heavy use of localized wireless grids for children to interact, essentially multicast service-locating DNS the software for which is called Avahi.   The Avahi software implements the zeroconf or Bonjour/Rendevous functionality and sits on top of the D-BUS, a Unix desktop bus for interprocess communications within the same machine.   There is a Python module for interfacing to D-BUS, both as a client and a server. &lt;br /&gt;&lt;br /&gt;And so this past Saturday at the DFW Pythoneers hands-on session, I pulled together some demo code and we walked through this technology, D-BUS, HAL, Avahi, notification-daemon, in Python.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;About D-BUS             &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;D-BUS is both a library and a daemon.   The library implements point-to-point message-based communication between processes on the same machine.   The daemon adds a service registration ability and can start dormant services upon the arrival of requests.   Now it turns out that you can start as many daemons and therefore buses as you wish.   Usually there are two: a system bus started at boot time for exchanging messages about hardware availability and such, and a session bus started at user login time for desktop objects to talk among themselves.&lt;br /&gt;&lt;br /&gt;Python programs can participate on either of these buses, with quite seamless handling of datatypes and asynchronous I/O using glib (wishing for a Twisted reactor myself).   Buses aren't of much use though unless there is something to which to talk which leads us to HAL.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;About HAL&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;One of the services that resides on the system bus is HAL, the Hardware Abstraction Layer.   Using Python, it appears as a Device Manager mapping (keys, values, items) of device names to device instances, and each device instance has a mapping of properties (name -&gt; value) and capabilities (set of well-known strings).   Both the manager and device objects support callbacks upon the addition/removal/change of devices and properties.&lt;br /&gt;&lt;br /&gt;In my demo code, I show how to monitor and manipulate the brightness of my laptop LCD display, as well as to detect the insertion of a USB flash drive.   But if you're going to be responding to hardware events, you often want to notify and perhaps interact with the user, which means we need something like the notification daemon.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;About the Notification Daemon       &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Another service that resides on the bus, although on the session but not the system bus, is the notification daemon.   Not a catchy name it comes associated with the 'libnotify' component.   Using it your Python-based services can quietly display one of those non-focus-stealing balloons in the lower-right corner of the screen.   The balloons can have lifetimes or require user acknowledgement.   Also supported are icons/graphics and sound although I didn't play with those in my demo code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;About Avahi&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But getting back to my original goal, the Avahi multicast DNS service.   Our group began to run out of time but Avahi is also accessible on the system bus.   This means a Python program could stay aware of what machines are in the neighborhood and, combined with the notification daemon alert you.&lt;br /&gt;&lt;br /&gt;I hope to further investigate tying these services together, along with the Festival/Cepstral speech synthesis interface I'm developing for Python and it would be really cool if we could have something working in time for PyCon.   Something like the groupware programs the Mac users have to share live notes on talks but this time for us Linux people as well. ;-)&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;The source for the demo, rough code sketched out in an evening, is available in &lt;a href="https://dfwpython.org/repo/Projects/DBUS/dtest.py"&gt;the DFW Pythoneers subversion repository&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;-Jeff&lt;p style="margin-bottom: 0in;"&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116117805122282630?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116117805122282630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116117805122282630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116117805122282630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116117805122282630'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/tech-walkthru-d-bus-hal-notify-and.html' title='Tech Walkthru: D-BUS, HAL, Notify and Avahi LAN Services'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116116899862348623</id><published>2006-10-18T06:56:00.000-04:00</published><updated>2006-10-18T07:20:44.073-04:00</updated><title type='text'>Group Discussion: About Dynamic Languages and Python</title><content type='html'>This month at the &lt;span style="font-style: italic;"&gt;DFW Unix User Group&lt;/span&gt; our main presentation was given by Dave Thomas about Ruby and Rails.   Seeing as I run the Linux SIG afterward and am often short on topic ideas, I figured we could make an evening of dynamic languages, discussing what is a dynamic language, why you would want one and how Python fits into the picture.   It was a bit of a walk-through of loosely related programming concepts, attempting to explain various concepts that are commonly tossed about but loosely defined.&lt;br /&gt;&lt;br /&gt;The group of about 15-20 people was quite interactive as we discussed (and debated) the meanings of data typing, covering the dimension of &lt;span style="font-style: italic;"&gt;dynamic&lt;/span&gt; versus &lt;span style="font-style: italic;"&gt;static&lt;/span&gt; (whether variables can change their type, once set), and the independent dimension of &lt;span style="font-style: italic;"&gt;weak&lt;/span&gt; versus &lt;span style="font-style: italic;"&gt;strong&lt;/span&gt; (whether type mismatches are implicitly fixed).&lt;br /&gt;&lt;br /&gt;&lt;table style="border: 1px dashed ; width: 405px; height: 164px;"&gt;&lt;br /&gt;&lt;tbody&gt;&lt;tr style="border: 1px dashed ;"&gt;&lt;td&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;dynamic&lt;/td&gt;&lt;td&gt;static&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;strong&lt;/td&gt;&lt;td&gt;Python, Ruby&lt;/td&gt;&lt;td&gt;Java, FORTRAN&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;weak&lt;/td&gt;&lt;td&gt;Perl, PHP&lt;/td&gt;&lt;td&gt;COBOL, C&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;   Also introduced was the concept of &lt;span style="font-style: italic;"&gt;duck typing&lt;/span&gt;, yet another aspect of dynamic languages, and brief overviews of &lt;span style="font-style: italic;"&gt;continuations&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;closures&lt;/span&gt;, two very different ideas that people often confuse.  We also went through the meanings of &lt;span style="font-style: italic;"&gt;introspection&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;reflection&lt;/span&gt;, finding it hard to separate the two.  We covered the distinction between first-class, second-class and other-class language concepts, showing how functions in C/C++ and classes in C++ are second-class constructs but first-class in Python.&lt;br /&gt;&lt;br /&gt;This led to definitions of &lt;span style="font-style: italic;"&gt;paradigms&lt;/span&gt; (algorithms for computers) versus &lt;span style="font-style: italic;"&gt;methodologies&lt;/span&gt; (algorithms for people), also frequently confused in conversation.  We covered the common methodologies of flowcharting, structured and top-down programming, object-oriented and extreme programming.  And the well-known procedural, functional, object-oriented and declarative paradigms.  The audience noticed that &lt;span style="font-style: italic;"&gt;object-oriented&lt;/span&gt; was on both lists, being both a paradigm and a methodology.  And we wondered why we call it 'functional' programming instead of function-oriented' programming, similar to OO.  It was also pointed out that 'object-oriented' and 'dynamically typed' are independent traits of a language and that you can have one without the other.&lt;br /&gt;&lt;br /&gt;At this point we went a bit into the history of object-oriented programming, beginning with Simula-67, which had only non-instanced data and lacked inheritance until those ideas where introduced by Smalltalk.  And it was noted that there are (at least) three object-oriented flavors; the usual split between C++ and Smalltalk but also yet another approach with Oberon.&lt;br /&gt;&lt;br /&gt;As a group we tackled the definition of a &lt;span style="font-style: italic;"&gt;scripting language&lt;/span&gt;, concluding it was the use to which the language was put more than anything about the syntax itself. &lt;br /&gt;&lt;br /&gt;Moving into Python, we began defining the criterial for choosing a dynamic language; ease of expression, ease of handing maintenance off to others, richness of libraries, quality of documentation, license, and the size, friendliness and skill level of the supporting community.  Python excels in all these areas and the history and feature set of of Python was introduced.&lt;br /&gt;&lt;br /&gt;It was also pointed out that Python is not an either-or language, in that you can combine it with various environments such as Java/JVM, C#/CLR and C++/CPython.&lt;br /&gt;&lt;br /&gt;The talk was not our usual fare of Linux applications but seemed to be well received.  Our membership consists of programmers and sysadmins.  This talk was also my first use of reStructured text combined with the S5 slide format as I usually produce slides using OpenOffice.org, exported to PDF.  The slideshow is available for &lt;a href="http://www.dfwpython.org/static/DFWUUG_AboutPython/AboutPython.html"&gt;online viewing&lt;/a&gt; as well as the&lt;a href="http://www.dfwpython.org/static/DFWUUG_AboutPython/AboutPython.txt"&gt; raw reStructured text&lt;/a&gt; making it up.&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;-Jeff&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116116899862348623?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116116899862348623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116116899862348623' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116116899862348623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116116899862348623'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/group-discussion-about-dynamic.html' title='Group Discussion: About Dynamic Languages and Python'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116064439152399439</id><published>2006-10-12T05:13:00.000-04:00</published><updated>2006-10-12T10:54:13.736-04:00</updated><title type='text'>A Call for Members of Panels on Web Technologies</title><content type='html'>Talks at previous PyCons have tended to be of the lecture format.  I'd like to see if we can get some panel discussions going and am looking for participants.&lt;br /&gt;&lt;br /&gt;At PyCon 2005 in D.C. Michelle Levesque gave a wonderful talk, PyWebOff, contrasting a few of the web frameworks.  However, it is a lot of work to research many of them, so how about instead we just invite some experts for the various frameworks to debate them instead?  And answer tough questions from the audience?&lt;br /&gt;&lt;br /&gt;For updating, there are links to the following rough outlines on &lt;a href="http://us.pycon.org/TX2007/TalkIdeas"&gt;the PyCon TalkIdeas wiki page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We need some moderators to work up more questions, and to coordinate with the panelists.  Hey, it may be easier than preparing your own presentation and slides.&lt;br /&gt;&lt;br /&gt;I'd like to see three talk panels:&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Panel - Web Frameworks"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Frameworks:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.djangoproject.com/"&gt;Django&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zope.org/"&gt;Zope 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.zope.org/DevHome/Wikis/DevSite/Projects/ComponentArchitecture/FrontPage"&gt;Zope 3&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twistedmatrix.com/projects/web/"&gt;Twisted Web&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.mems-exchange.org/software/quixote/"&gt;Quixote&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.turbogears.org/"&gt;TurboGears&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.cherrypy.org/"&gt;CherryPy&lt;/a&gt; (part of TurboGears but also used separately)&lt;/li&gt;&lt;li&gt;&lt;a href="http://pylonshq.com/"&gt;Pylons&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://spyce.sourceforge.net/"&gt;Spyce&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://webpy.org/"&gt;web.py&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.webwareforpython.org/"&gt;Webware for Python&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;Questions for the Panel:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;When did the framework come into existence and what problem was it created to solve?&lt;/li&gt;&lt;li&gt;Why did the frameworks that existed at the time not meet your particular needs?&lt;br /&gt;&lt;/li&gt;&lt;li&gt;What are its strengths and maturity level? What is it ideal to use for?&lt;/li&gt;&lt;li&gt;What are its weaknesses? What would you NOT use it for?&lt;/li&gt;&lt;li&gt;Which frameworks let me plug in my choice of template language?&lt;/li&gt;&lt;/ul&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Panel - Web Templating Languages"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Template Languages:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Zope TAL, TALES, METAL&lt;/li&gt;&lt;li&gt;Twisted STAN&lt;/li&gt;&lt;li&gt;Cheetah&lt;/li&gt;&lt;li&gt;Myghty&lt;/li&gt;&lt;li&gt;Django's Template Language&lt;/li&gt;&lt;li&gt;TurboGears Kid&lt;/li&gt;&lt;li&gt;Quixote Python Template Language (PTL)&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;Questions for the Panel:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Python code in your HTML, or HTML in your code?&lt;/li&gt;&lt;li&gt;Which can and cannot be handed off to a graphics designer?&lt;/li&gt;&lt;li&gt;Where do they stand in performance? in Caching?&lt;/li&gt;&lt;li&gt;Which can work with less than a page i.e. Zope viewlets, widgets?&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;(initially show the audience a representative sample of each)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Panel - Object Relational Mappers (ORMs)"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Mappers Covered:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SQLObject&lt;/li&gt;&lt;li&gt;SQLAlchemy&lt;/li&gt;&lt;li&gt;Django ORM&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-style: italic;"&gt;Questions for the Panel:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Natural or artificial keys?&lt;/li&gt;&lt;li&gt;Support for existing database schemas or must I do it your way?&lt;/li&gt;&lt;li&gt;How is the performance?&lt;/li&gt;&lt;li&gt;How smart is it in handling complex schema?&lt;/li&gt;&lt;li&gt;Any support for access control security at the object level?&lt;/li&gt;&lt;li&gt;What flavor and degree of transaction support is offered? Per thread, per context, autocommit?&lt;/li&gt;&lt;li&gt;Can a single app easily access multiple databases at the same time (not just different tables within the same db)?&lt;/li&gt;&lt;li&gt;Can a single app easily access multiple databases at the same time (not just different tables within the same db)?&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116064439152399439?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116064439152399439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116064439152399439' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064439152399439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064439152399439'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/call-for-members-of-panels-on-web.html' title='A Call for Members of Panels on Web Technologies'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116064316835030912</id><published>2006-10-12T04:52:00.000-04:00</published><updated>2006-10-12T05:11:10.023-04:00</updated><title type='text'>A Call for a Presenter on Python Eggs</title><content type='html'>Eggs are important to Python and will become more so over the next few years, if understood and embraced by the community.  They are a key competitive feature - I've been asked so many times what is the Python equivalent to CPAN and finally we're developing an answer.&lt;br /&gt;&lt;br /&gt;At PyCon 2007 we need a solid set of talks about eggs, broken down into just using them, how to build and distribute them, and then an advanced talk on some of the more exotic aspects of eggs.  At PyCon 2006, essentially the 3rd talk I mention above was given to a standing-room-only audience, and then repeated against an hour later as people in the hall could not get in.  But missing were the first two talks - many people were not ready for advanced material but sought an introduction.&lt;br /&gt;&lt;br /&gt;Who in our community is building eggs on a frequent basis, and is good at explaining how they work?&lt;br /&gt;&lt;br /&gt;Below are three talk outlines I've sketched out, along with the slides from a talk I tossed together for the Dallas Pythoneers group.  They need polish and I'm donating them to the cause.&lt;br /&gt;&lt;br /&gt;Will someone please step forward and address this critical need?&lt;br /&gt;&lt;br /&gt;For revision, the following outlines appear on &lt;a href="http://us.pycon.org/TX2007/TalkIdeas"&gt;the PyCon TalkIdeas wiki page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Python Eggs - Using and Installing Them"&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  What is so cool about eggs? Wow me.&lt;/li&gt;&lt;li&gt;  What problem were they intended to solve?&lt;/li&gt;&lt;li&gt;  What is their relation to distutils?&lt;/li&gt;&lt;li&gt;  So how does distutils work then?&lt;/li&gt;&lt;li&gt;  How do they compare to CPAN and RPM approaches?&lt;/li&gt;&lt;li&gt;  Sound good, how do I enable eggs on my system?&lt;/li&gt;&lt;li&gt;  How do I accomplish common operations, such as installing/uninstalling an egg, list what eggs are installed at the moment, switch between the versions of an egg and test install an egg to see if it would work?&lt;/li&gt;&lt;li&gt;I don't trust eggs - how can I partially install one, examine it and then finish the installation?&lt;/li&gt;&lt;li&gt;  How do I find out what eggs exist, and their names?&lt;/li&gt;&lt;li&gt;  What about py2exe and droplets? Competing approaches?&lt;/li&gt;&lt;li&gt;  Show me a walkthru of the cheeseshop - how to find a package.&lt;/li&gt;&lt;li&gt;  How do I figure out the author of an egg I'm having trouble with?&lt;/li&gt;&lt;/ul&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Python Eggs - Creating and Distributing Them"&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Where does distutils fit in?&lt;/li&gt;&lt;li&gt;What do I need to add to setup.py to package my software as an egg?&lt;/li&gt;&lt;li&gt;  How does it work re path configuration files?&lt;/li&gt;&lt;li&gt;  What are the issues with zipped eggs; how can my code access my data?&lt;/li&gt;&lt;li&gt;  How do I produce cross-platform eggs?&lt;/li&gt;&lt;li&gt;  How do I produce platform-specific eggs?&lt;/li&gt;&lt;li&gt;  How do I get my eggs registered on the cheeseshop?&lt;/li&gt;&lt;li&gt;  How do I upload my eggs, source and binaries?&lt;/li&gt;&lt;li&gt;  How can I volunteer as a packager for non-egg authors?&lt;/li&gt;&lt;li&gt;  Some eggs are broken in the cheeseshop - how can I help?&lt;/li&gt;&lt;/ul&gt;(Keep this talk simple and focused on &lt;span style="font-style: italic;"&gt;just&lt;/span&gt; getting your vanilla egg packaged and uploaded. Defer the advanced egg issues to the third talk).&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;"Python Eggs - Advanced Packaging"&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;What are entry points?&lt;/li&gt;&lt;li&gt;How does dynamic discovery/plugins work?&lt;/li&gt;&lt;li&gt;I hear Trac uses them - how?&lt;/li&gt;&lt;li&gt;What are extras? They sound nifty!&lt;/li&gt;&lt;li&gt;What is a namespace package? When and how do I use them?&lt;/li&gt;&lt;li&gt;How can I have multiple distribution versions?&lt;/li&gt;&lt;li&gt;I hear eggs can detect files under CVS/subversion control - how does that work?&lt;/li&gt;&lt;li&gt;Also eggs have support for units tests - how?&lt;/li&gt;&lt;li&gt;Where do the egg experts hang out?&lt;/li&gt;&lt;/ul&gt;An Old Talk of mine about Eggs (from which to borrow slides/ideas):&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://us.pycon.org/uploads//TX2007/2006-03-25-AboutPythonEggs.odt"&gt;2006-03-25-AboutPythonEggs.odt&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://us.pycon.org/uploads//TX2007/2006-03-25-AboutPythonEggs.pdf"&gt;2006-03-25-AboutPythonEggs.pdf&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116064316835030912?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116064316835030912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116064316835030912' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064316835030912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064316835030912'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/call-for-presenter-on-python-eggs.html' title='A Call for a Presenter on Python Eggs'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116064243338183588</id><published>2006-10-12T04:40:00.000-04:00</published><updated>2006-10-12T04:50:36.706-04:00</updated><title type='text'>Seeking Publicity Coordinator for PyCon 2007</title><content type='html'>The PyCon organizers are looking for someone to volunteer as publicity coordinator for PyCon 2007.  This year we have started planning sufficiently in advance that we'd like to get some press coverage in print magazines.&lt;br /&gt;&lt;br /&gt;What is involved, you ask?&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Brainstorm/collect a list of candidate publications for press releases.&lt;/li&gt;&lt;li&gt;Post the lead time and submission requirements for each to the wiki.&lt;/li&gt;&lt;li&gt;Develop or work with others to develop a (textual) press release layout.&lt;/li&gt;&lt;li&gt;At the appropriate time (e.g. when certain details are settled such as keynote speakers), actually submit the press release.&lt;/li&gt;&lt;/ol&gt;There is a wiki page at &lt;a href="http://us.pycon.org/TX2007/PublicityIdeas"&gt;the following location&lt;/a&gt; on which to collect ideas on where to submit a press release.&lt;br /&gt;&lt;br /&gt;That's it!  It really shouldn't take a lot of time; a bit of surfing, perhaps a few email queries.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116064243338183588?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116064243338183588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116064243338183588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064243338183588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116064243338183588'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/seeking-publicity-coordinator-for.html' title='Seeking Publicity Coordinator for PyCon 2007'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35630498.post-116055392311321553</id><published>2006-10-11T03:42:00.000-04:00</published><updated>2006-10-12T04:46:07.393-04:00</updated><title type='text'>A Word from the Python Advocacy Coordinator</title><content type='html'>Welcome to my first blog, where I hope to keep the Python community informed about advocacy efforts, my own and those of others.  Entrusted by the Python Software Foundation for the next few months on a full-time basis to coordinate the advocacy efforts,  a few of the resources I plan to produce are:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;two portals (outsiders + advocacy helpers), populated with some solid writing,&lt;/li&gt;&lt;li&gt;get some magazine articles written and in the pipeline,&lt;/li&gt;&lt;li&gt;engage various audiences for Python (corporate, college, K-12, hobbyists) and begin supplying them with what they need to make the choice of Python.&lt;/li&gt;&lt;/ol&gt;For more details you can read &lt;a href="http://python.org/psf/grants/advocacy/orig-proposal.pdf"&gt;my original proposal&lt;/a&gt; to the PSF.  To get involved (and I need a lot of help), join our &lt;a href="http://mail.python.org/mailman/listinfo/advocacy"&gt;new advocacy mailing list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;More to come...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35630498-116055392311321553?l=python-advocacy.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://python-advocacy.blogspot.com/feeds/116055392311321553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35630498&amp;postID=116055392311321553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116055392311321553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35630498/posts/default/116055392311321553'/><link rel='alternate' type='text/html' href='http://python-advocacy.blogspot.com/2006/10/word-from-python-advocacy-coordinator.html' title='A Word from the Python Advocacy Coordinator'/><author><name>Jeff Rush</name><uri>http://www.blogger.com/profile/14683745915943062235</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='22' height='32' src='http://photos.meetup.com/photos/member/6/5/3/e/thumb_265918.jpeg'/></author><thr:total>0</thr:total></entry></feed>
