by Dylan Reinhardt
Django is a powerful open source web framework that leverages the expressive power of the Python programming language. Each piece is well-documented and there are tutorials showing how to create small pieces of functionality. But that's the small picture... how do you leverage Django's power and flexibility to solve real-world business challenges?
I'm a developer tasked with exactly this responsibility. I develop and manage systems for a small (but growing) consulting firm that needs to deploy powerful web-based solutions quickly and cheaply. Django is frequently my tool of choice.
105 minutes isn't nearly enough to fully explore Django, but it might be just the right amount of time to show how an experienced Django developer would plan and execute a solution to a real-world problem. I have a couple different projects in mind, but I expect that the elements of a good project would include:
For purposes of the session, I'd be assuming a "stock" Django installation with the standard templating, ORM, etc.
This would assume familiarity with Python and Django basics, but no experience beyond the basic tutorials.
by Andy Grover
John Ousterhout, the inventor of TCL, observed that languages could be grouped into "scripting" and "system" categories, with very few falling in-between.
I believe not only that all working programmers should be familiar with at least one of each, but that familiarity with scripting language X will make one a _better_ programmer in system language Y, and vice versa. This talk will discuss the lessons each has for the other, using C and Python as primary exemplars, but also touching on other popular languages from both camps, and those that have attempted to bridge the gap.
by Michel Pelletier
Idealist.org was started in 1995 by Ami Dar as a simple one-page website that cataloged links to other non-profits. In the last 14 years, the site has gone from that simple list of links to a highly scalable dynamic website with over a million users, providing them and their communities with a forum to connect and communicate. Many thousands of people over the years have gotten their jobs or volunteer opportunities through Idealist, and soon we will be rolling out the third generation of our site to provide even more power to people interested in changing the world into a better place. Our talk will present a short history of the open source technology that drives our site, what our future plans are, and how we are releasing several of our Python web technologies as open source products for other members of our community to use and share.
Parrot hit 1.0 in March of this year. A virtual machine like no other, Parrot targets dynamic languages such as Python, Perl, PHP, and Ruby, it hosts a powerful suite of compiler tools tailored to dynamic languages and a next generation regular expression engine. This talk briefly explains the overall architecture of Parrot and teaches the skills needed to get started hacking in Parrot.
by Kirby Urner
Portland is at the cutting edge when it comes to pioneering a world class 21st century education for its students. "The Silicon Forest":http://worldgame.blogspot.com/2009/03/pps-has-friends-in-silicon-forest.html is stepping up to the plate. Python plays a role in the action.
Starting with West Precinct, Hillsboro Police Department, "Saturday Academy":http://www.saturda... has been teaching FOSS concepts (free and open source software), later morphing into a more mainstream form of "Pythonic Math". Winterhaven (Portland Public, a "geek hogwarts") has also gotten in on the "pilot studies":http://www.4dsolutions.net/ocn/winterhaven/
Kirby Urner, former math teacher and consultant to McGraw-Hill, veteran of OSCON, EuroPython and Pycon circuits, will give you the inside story on all of the above, having been an active player in helping Portland remain a "FOSS capital" ("Christian Science Monitor, 2005":http://www.csmonitor.com/2005/1128/p03s02-ussc.html). Kirby is a curriculum writer for "4D Solutions":http://www.4dsol..., also CMO for a FOSS project involving "coffee shops":http://coffeeshopsne.... He is also "an IEEE member":http://worldgame.blogspot.com/2008/11/ieee-presentation.html and past web wrangler for the Buckminster Fuller Institute ("BFI.org":http://www.bfi.org).
Bring your laptop with Python installed and follow along as we go through examples from a 21st century high school mathematics curriculum, such as we're currently prototyping and implementing in niche markets.
h2[=approaches]. Web Testing Approaches
Separating Concerns, Isolating Components
Unittesting vs Functional Testing
Full Monty (blurring the lines between unittesting and funcitonal testing)
h2[=toolsAndTech]. Tools and Technologies
Browser tools (Watir, Selenium, Windmill)
h2[=writingTest]. Writing Windmill Tests
The Windmill IDE
Using the recorder
Adding actions and assertions
Using the Inspector
h2[=debuggingTests]. Debugging Windmill Tests
Debugging Failed Actions
Firebug and Firebug Lite
Using the Lookup object
h2[=runningTests]. Running Tests Continuously
Command Line Features
Getting Windmill running in hosted environments like EC2
h2[=extra]. And now for something completely different
Dynamic testing (Windmill's eval APIs)
Testing Firefox Extensions (MozMill)
17th–19th June 2009