Monday, September 03, 2007

Texas Python Unconference - Sep 15/16

The first regional Python unconference is coming to Houston on September 15-16 (Sat-Sun). Being held at the Texas Learning & Computing Center on the University of Houston main campus, this is a FREE event for Pythoneers from all over the Texas region.

And being an unconference, participation by those who attend is welcome and greatly sought. The topics to be presented are purely up to the attendees.

Details about the facility and a sign-up registration list is available on the event wiki. Please add your name if you think you might attend, so that we can have some estimate of who is coming.

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.

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.

For those not familiar with unconferences, check out this description.

See you all there...

Jeff Rush
Python Advocacy Coordinator

ShowMeDo.com Announces Winner of Most-Video-Plays of the Month

ShowMeDo.com, 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:

"Learn Django: Create a Wiki in 20 minutes"

by Siddharta Govindaraj, founder of Silver Stripe Software, with 1851 views in August, far outpacing the second-place entry. The prize is a £20 (UK) voucher to Amazon. Congratulations, Siddhi!

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.

You can catch up with Siddhi on his personal blog.

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.

Jeff Rush
Python Advocacy Coordinator

Sunday, August 19, 2007

2nd Annual Workshop: Python for the German-Speaking Countries

Being held on September 7, 2007 in Leipzig, Germany the one-day workshop 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 presentations and an informal dinner* in the evening. After August 31 registration goes up to 65 euros.

* Cost of the dinner is not included in the registration price.

Tuesday, July 24, 2007

Python Trainers, Promote Thyself!

With the recent establishment of the wiki page on python.org of those who offer training services for the Python language, we now have 23 listed, worldwide.

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!

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.

Screencasts can be hosted on www.showmedo.com or, if done with a large font, video.google.com. They can also be embedded in your website while being hosted elsewhere.

You can learn more about the details with a talk series I put together entitled Casting Your Knowledge, With Style.

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 Python 411 makes available an excellent collection of podcasts and may be interested in hosting yours.

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.

Jeff Rush
Python Advocacy Coordinator

Usergroups Forming: Arizona and Carolina Regions

Two new Python usergroups are being organized!

Arizona

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 Monday July 30th at 6:30pm. Location is not yet set -- need input from potential attendees.

If you are interested, a mailing list and wiki page have been established as well as a Meetup.com group, where you can sign up to receive automated calendar reminders of group activities.

North/South Carolina

While there is an existing group TriZPUG for the Raleigh-Durham-Chapel Hill region, a new group is being formed for the Charlotte and North-Central South Carolina area. No meetings have yet been scheduled - to participate in discussions join the Google Group:

Other Groups

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 the group organizers mailing list.

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.

Jeff Rush
Python Advocacy Coordinator

Monday, July 09, 2007

An Update Regarding Python Advocacy

For those who might wonder what I do as advocacy coordinator, I've just updated for the month my list of accomplishments at:

http://wiki.python.org/moin/AdvocacyAccomplishments

My short list of things to tackle next is at:

http://wiki.python.org/moin/PythonAdvocacyCoordinator

Suggestions and feedback are appreciated, as is volunteering to create podcasts, screencasts, artwork or whitepapers. There is a list of writing ideas at:

http://wiki.python.org/moin/AdvocacyWritingTasks

and ideas for articles at:

http://wiki.python.org/moin/ArticleIdeas

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.

And on the low burner we've got some wiki pages bubbling about how to help new programmers get into Python, at:

http://wiki.python.org/moin/Advocacy/ProgrammingForNewprogrammers

We could use any ideas that might occur to you as you read those wiki pages.

Jeff Rush
Advocacy Coordinator

Wednesday, June 27, 2007

Organizing Python Representation at OSCON 2007

OSCON 2007 in Portland, Oregon 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.

There looks to be a good set of talks on the Python track, with several positioned to promote the use of Python by telling its story:
  • Code Like a Pythonista: Idiomatic Python
  • SQLAlchemy: Taming ORM with Python
  • Super-sizing YouTube
  • How to Write a Killer Sugar Activity
  • Exploiting Multicore Capabilities from Python
  • Python 3000
  • Programming for Everybody: CP4E
  • Coding with Dynamic Confidence
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 OSCON page for BoFs.

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 Python advocacy mailing list and make it happen this year.

Jeff Rush
Python Advocacy Coordinator

Tuesday, June 12, 2007

Calling for Python Writers/Authors

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:

http://wiki.python.org/moin/PythonWriters

I'm open to creative ideas on how to format the information. A link to the page has been added to the sidebar menu.

Jeff Rush
Advocacy Coordinator

Thursday, June 07, 2007

Calling Usergroup Organizers (and Wannabees)

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.

  1. One step is to make others more aware of what is already happening, perhaps in their own neighborhood re Python meetings. I've created a shared blog and invite organizers of existing groups to send me their email address to get privs to post to it.

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

  2. 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 a new mailing list 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.

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.

I'd also like to ask the existing, successful usergroups to spread the word about their efforts by being interviewed by Ron Stephens on Python411, and/or writing up an article on how your group got started for Tennessee Leeuwenburg of The Python Papers. Even a simple "what a typical meeting is like in my area" is helpful.

It would be especially interesting to see how usergroups operate in various countries around the world, and perhaps help bring together these regions.

In closing, for existing usergroups as well as new ones coming online, please update the entry for your group on the roster of Python usergroups.

Jeff Rush
Advocacy Coordinator

Monday, May 14, 2007

Seeking Four Code Samples for Forrester Research Survey

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.

Their objective is to see how efficient/elegant the language is for developers. This is one area in which Python should excel.
  1. Render a simple Web page containing text, data, and graphics, as specified in this wireframe mockup. 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.
  2. Invoke a simple Web service and format/display the results. This can be either web services or REST, whichever one looks cleanest.
  3. Create a mash-up that overlays local temperature data onto a Google map.
  4. Create a simple form for data submission with fields and drop down selects and a submit button, as specified in this wireframe mockup. At least one field should be validated.
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.

Thanks,

Jeff Rush
Python Advocacy Coordinator

A Call for Professional Trainers of Python

I am seeking to organize the list of those, both individuals and companies, who offer training on Python and related frameworks and technologies.

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.

There is a wiki page at:

http://wiki.python.org/moin/PythonTraining

with some training organizations. If your information is already there and current, 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.

Thanks,

Jeff Rush
Python Advocacy Coordinator

Wednesday, May 02, 2007

Need Help in Preparing for Study of Python by Forrester Research

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.

The goal of the study is to:
  • identify the criteria to use for evaluating such languages
  • identify the relevant choices of dynamic languages
  • identify how the different dynamic languages stack up
  • examine where dynamic languages work best
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:

http://dfwpython.org/uploads/Forrester/DynamicLanguagesCriteria--Draft.xls

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.

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.

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.

Thanks for your help,

Jeff Rush
Advocacy Coordinator

Friday, March 09, 2007

A Pythonic Way to Measure and Improve Your Programming Skills?

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

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.

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

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.

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.

I've been carefully watching Crunchy, 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.

But perhaps Crunchy is not the ready answer in this case, so I'm looking for suggestions.

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.

Join me on the advocacy list and let's discuss this further.

Jeff Rush
Python Advocacy Coordinator

Tuesday, January 09, 2007

Personal Schedule Application for PyCon 2007 Now Available

Doug Napoleone's really cool Personal Schedule Application is now up and running on the PyCon site.

Features include:
  • displays a color-coded, up-to-date schedule
  • displays pop-ups with descriptive information about each event
  • allows selecting events to create your own personal schedule
  • supports iCalendar output of both conference and personal schedules
If you have a PyCon login account, the application also:
  • stores your schedule on the server instead of in a cookie.
  • highlights talks that you're presenting or sessions you're chairing.
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.

A print-specific stylesheet is in development.

We think the schedule application is very neat, and hope it's useful in planning your PyCon attendance.

To easily create your own PyCon login account, visit the Site Signup Form, which is independent of your conference registration.

And speaking of your conference registration, if you haven't yet registered, the deadline for early bird registration is approaching fast - January 15th. We have some really great tutorials with limited seating so sign up for your favorites today or you might miss out.