Also see our Tutorials.

#0 - Log Analysis with Python

Presenter: Scott McCarty

Audience: beginner

Summary:

Log analysis is something that every programmer and systems adminstrator must do sometimes. This talk will be an introduction to the concepts of pattern recognition, artificial ignorance, word counting, stopword lists, and command line graphing. It is based on a pythonic implementation of these techniques called petit and will delve into several use cases and show how using these techniques can help you save time when analyzing logs with python.

#1 - Lap Around IronPython

Presenter: Sarah Dutkiewicz

Audience: Intermediate; Basic knowledge of .NET helpful

Summary:

It's not just C# and VB.NET that can be used in !WinForms, WPF, Silverlight, and ASP.NET. You could also use !IronPython! In this session, you will get a quick overview of !IronPython and a look into using it with each of the following: !WinForms, WPF, Silverlight, and ASP.NET

#2 - Processing Large Datasets with Hadoop and Python

Presenter: William McVey

Audience: beginner

Summary:

This talk will explore how Hadoop along with Python can be used to process large datasets. An overview of the Apache Hadoop project will be given. The map/reduce concept will be introduced and some methods of coding the data processing routines in python will be explored. The talk will use real world examples to illustrate how this approach can be used to parallelize computationally expensive operations across multiple cluster nodes effectively using python.

The course will assume familiarity with the Python language during the demos, but will not actually require a deep knowledge of python to understand the concepts introduced.

#3 - Teach Me Python Bugfixing

Presenter: Catherine Devlin

Audience: Intermediate

Summary:

Python wants YOU to help maintain and extend the language we love so much... but maybe you don't know how to go about making your contribution. Catherine doesn't either. David Murray, an experienced Python contributor, will guide her - and you - through the process, live and unscripted. Come take part in learner-controlled instruction. No C programming required!

#4 - Genetic Programming in Python

Presenter: Eric Floehr

Audience: beginner to intermediate

Summary:

Did you know you can create and evolve programs that find solutions to problems? This talk walks through how to use Genetic Programming (GP) as a tool to discover solutions to hard problems, when to use GP, how best to set up the GP environment, and how to interpret the results.

#5 - Micro-optimization Strategies for Python

Presenter: Nick Bastin

Audience: Intermediate

Summary:

As opposed to macro-optimization, which focuses on choosing and designing more optimal algorithms for your problem set, micro-optimization focuses on optimizing the implementation of the algorithms you are already using. We will discuss pros and cons of micro-optimization, common Python patterns which are surprisingly suboptimal, new patterns to ease optimization, and show how to use the profiler and disassembler to identify new opportunities for optimization.

This talk will focus practical examples on the Python 2.x versions, but overall strategies are useful for any version (or any language, for that matter).

#6 - GUI Tools

Presenter: James Bonanno

Audience: Intermediate/Advanced

Summary:

There are several Graphical User Interface frameworks available for Python. In this talk, perpahs the two most popular, wxPython and PyQt, are examined. The talk will focus on major differences, tools, and a specific example done both in wxPython and PyQt, that is a non-trivial production grade example.

#7 - Controlling UNIX Processes using Supervisor

Presenter: Calvin Hendryx-Parker

Audience: intermediate

Summary:

Supervisor is a Python daemon that can control arbitrary processes in a UNIX-like environment. It features a client/server model of control that can easily be extended. This talk will cover the configuration and setup of Supervisor. It will also cover how to extend Supervisor and take advantage of its XML-RPC interface and ability to react to events that it generates.

#8 - Code With Style

Presenter: Clayton Parker

Audience: beginner

Summary:

Six Feet Up's senior developer Clayton Parker will lead you on a journey to become a Python Zen master. Your code should be as fashionable as it is functional. To quote the Zen of Python, "Beautiful is better than ugly". This talk will teach you about the Python style guide and why it is important. The talk will show you examples of well written Python and how to analyze your current code to make Guido proud.

#9 - Splunking With Python

Presenter: Benjamin W. Smith

Audience: Any

Summary:

Getting dirty with the Splunk API and various other sysadmin tasks with Python.

#10 - Implementing a Remote REPL for Python Apps

Presenter: David Wolfe

Audience: advanced

Summary:

One of Python's most useful features is the interactive Read-Eval-Print-Loop (REPL) built into the interpreter. This is great for rapidly prototyping functions, and for quick syntactical sanity-checks. But why stop there? Have you ever wished you could have an interactive interpreter attached to your *running* application? This talk describes a *pure Python* solution for doing just that, whether you've got an app that is itself written in Python, or a C/C++ app that embeds Python.

Being able to connect to your app and get a 'live' Python prompt provides myriad configuration, debugging and rapid-prototyping possibilities. However, embedding a remote, interactive REPL in your application requires knowledge of a few tricks that aren't altogether obvious. This talk will flatten the learning curve by sharing experience gleaned over the course of several projects. It will also provide some advice for avoiding the multithreading and security pitfalls that are inherent in such a mechanism.

#11 - Postgresql and Python

Presenter: Brent Friedman

Audience: beginner

Summary:

An overview of PostgreSQL and its use with Python.

#12 - PyPy and Unladen-Swallow: Making your Python Fast

Presenter: Alex Gaynor

Audience: beginner/intermediate

Summary:

Python has a reputation for being a bit slow, but it doesn't have to be that way. This talk will cover why Python is slow, and what two of the most exciting virtual machines are doing about it.

#13 - Making it go faster

Presenter: W. Matthew Wilson

Audience: novice

Summary:

An introduction to profiling python code.

I'll use cProfile, pstats, and !RunSnakeRun to find where code is getting bogged down in a real-world example. I'll measure the run-time cost with timeit, refactor, and measure it again.

Finally, I'll talk about the limits of python optimization and show how to replace python code with C.

#14 - Implementation of a Numerical Simulation in Python

Presenter: Jeffrey B. Armstrong

Audience: intermediate

Summary:

The Python programming language is well suited for numerical computation under a variety of circumstances. Python offers advantages over competing free and commercial technologies, including price, functionality, and maintainability. Specifically, the combination of mature numerical libraries and liberal licensing allow complex simulations to be coded with ease and to be made available to nearly all interested parties. !NumPy/!SciPy, database access, networking, and optimization techniques are examined in detail with respect to numerical computation. A practical example involving an aerothermal commercial turbofan aircraft engine simulation showcases these advantages. An aircraft engine is broken down into discrete stages, including compressors, turbines, and other flow-related components. Commonalities between components, such as rotation and the presence of inlet and exit conditions, map cleanly to the object-oriented nature of Python. Based on simulation needs and hardware availability, Python allows for the parallel computation of simulations without the expense and complexity of commercial parallelization packages.

slides

#15 - Wrangling the bits, standardizing how apps get built

Presenter: Rick Harding

Audience: any

Summary:

As we moved more work to Python we had to figure out how to start, share, and deploy projects in a standard way. Virtualenv, pip, and Git to the rescue.

#16 - Getting to know MongoDB using Python and IronPython

Presenter: Sam Corder

Audience: any

Summary:

Is your RDBMS not coping with the load anymore and can't be scaled out any further? Are you designing the next big thing and know your RDBMS won't be able to handle it? Are you tired of shoe-horning a data model into where it doesn't belong? Are you just curious what this thing called MongoDB is? In this session you will explore a popular alternative to the RDBMS called Mongo from one who has battled with BSON to write the original .Net driver. You'll learn basics of schema design, document manipulation, several ways to get at your data, something odd called map/reduce and all from the comfort of Python and the slightly uncomfortable !IronPython

#17 - Intro to Core Involvement

Presenter: Dan Buch

Audience: beginner

Summary:

You can help to advance CPython into the future! Whether you're able to help with Documentation, bug triage, or would even like to sling some C, your efforts will be greatly appreciated.

slides

#18 - Python and Entrepreneurship

Presenter: Eric Floehr

Audience: any

Summary:

One of the strengths of dynamic languages is rapid development and quick results. Python has been used by a number of Ohio small businesses, from supporting back-office operations to being the language the company's products are built on. This panel discussion will talk about the opportunities and challenges in using Python to build a business on, as well as a discussion on starting, running, and growing a technology-based business.

#19 - Building your own kind of dictionary

Presenter: W. Matthew Wilson

Audience: novice

Summary:

My talk is based on a project that seemed very simple at first. I wanted an object like the regular python dictionary, but with a few small tweaks:

  • values for some keys should be restricted to elements of a set
  • values for some keys should be restricted to instances of a type

For example, pretend I want a dictionary called favorites, and I want the value for the "color" key to be any instance of my Color class. Meanwhile, for the "movie" key, I want to make sure that the value belongs to my set of movies.

In the talk, I'll walk through how I used tests to validate my different implementations until I came up with a winner.

Unlike my talk last year on metaclass tomfoolery, and the year before that on fun with decorators (and decorator factories) I'm hoping to make this talk straightforward and friendly to beginning programmers.

You'll see:

  • how I use tests to solve a real-world problem
  • a few little gotchas with the super keyword
  • a little about how python works under the hood.

#20 - Python 101 for the .NET Developer

Presenter: Sarah Dutkiewicz

Audience: Any

Summary:

The first part of the session will cover the basics of Python - its history, how its data structures compare to those we're familiar with in the primary .NET languages, its strong and weak points, who's using it, and why you as a developer - both generally speaking and as a .NET developer - should care about Python. The second part of the session will get into the demos - starting with some basic Python scripts and getting into !IronPython scripts, if time allows. By the end of this session, you'll have an idea of what Python is, why you should know it as a developer and specifically as a .NET developer, and how to get setup and write a basic app in both Python and !IronPython.

#21 - Project Management 101

Presenter: James Bonanno

Audience: intermediate

Summary:

Python is employed for a general purpose project management tool. Contrasted to tools like Sphinx which focus on documenting a software project, this framework is intended for general purpose project management, with a specific application into engineering projects. Intermediate uses of Python are employed, as well as the Web.py framework, Sphinx documentation tool and the Mako template system. The author has used this tool to create internal commercial applications of the project management software.

2010/Talks Recently modified by issackelly: June 2, 2011, 12:10 a.m. (History) Edit
Index