pre-release: PyTexas meeting announcement

Please take a moment to review your details and reply with OK or edits.
Subject and below is what will go out and also will be used to title the videos.

Subject: 
ANN: PyTexas at MSC 2300 B Fri October 3, 8p


PyTexas
=========================
When: 8 AM Friday October 3, 2014
Where: MSC 2300 B

None

Topics
------
1. Check In / Breakfast


Check in and catch some breakfast provided by the conference.
 recording release: no  

2. Python 101: Python for Absolute Beginners
Paige Bailey

If you're absolutely new to Python, and to programming in general, this is the place to start!  

Here's the breakdown: by the end of this workshop, you'll have Python downloaded onto your personal machine; have a general idea of what Python can help you do; be pointed in the direction of some excellent practice materials; and have a basic understanding of the syntax of the language. 

Please don't forget to bring your laptop!

Audience:
"Python 101" is geared toward individuals who are new to programming. If you've had some programming experience (shell scripting, MATLAB, Ruby, etc.), then you'll probably want to check out the more intermediate workshop, "Python 101++".
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3149/python-101-python-for-absolute-beginners 
3. Tools & Tests: A Python Quest
Sheila Allen

This half day workshop for intermediate students of Python takes the form of a quest, designed to teach how to participate as an empowered citizen of the Python community. In order to complete the quest, students must learn 'Python ecosystem essentials' including:

- Basic interaction with GitHub using Git
- How to identify and use 3rd party libraries and define them as dependencies for auto-installation
- How to write automated unit tests, and run tests using popular tools such as nose and py.test
- How & why to measure test coverage
- How to install and run tools to check code quality & conformance with PEP8 style guidelines.
- How and why to document project metadata in setup.py
- How to install, configure and run Sphinx to render HTML documentation

This workshop hits a lot of high points, without going deeply into one area, enabling students to fill gaps in their knowledge and feel confident enough to go further with these tools when they are needed.  The format is self-guided, with an emphasis on helping students solve particular problems.
 recording release: yes license: CC-BY  

4. Tools & Tests: A Python Quest
Sheila Allen

This half day workshop for intermediate students of Python takes the form of a quest, designed to teach how to participate as an empowered citizen of the Python community. In order to complete the quest, students must learn 'Python ecosystem essentials' including:

- Basic interaction with GitHub using Git
- How to identify and use 3rd party libraries and define them as dependencies for auto-installation
- How to write automated unit tests, and run tests using popular tools such as nose and py.test
- How & why to measure test coverage
- How to install and run tools to check code quality & conformance with PEP8 style guidelines.
- How and why to document project metadata in setup.py
- How to install, configure and run Sphinx to render HTML documentation

This workshop hits a lot of high points, without going deeply into one area, enabling students to fill gaps in their knowledge and feel confident enough to go further with these tools when they are needed.  The format is self-guided, with an emphasis on helping students solve particular problems.
 recording release: no  
 Video: http://www.pyvideo.org/video/3151/tools-tests-a-python-quest 
5. Python 101: Python for Absolute Beginners
Paige Bailey

If you're absolutely new to Python, and to programming in general, this is the place to start!  

Here's the breakdown: by the end of this workshop, you'll have Python downloaded onto your personal machine; have a general idea of what Python can help you do; be pointed in the direction of some excellent practice materials; and have a basic understanding of the syntax of the language. 

Please don't forget to bring your laptop!

Audience:
"Python 101" is geared toward individuals who are new to programming. If you've had some programming experience (shell scripting, MATLAB, Ruby, etc.), then you'll probably want to check out the more intermediate workshop, "Python 101++".
 recording release: yes license: CC-BY  

6. Django Unchained
Douglas Mendizábal

This tutorial is an introduction to the Django web framework.  Attendees will get hands on experience developing web applications using the Django framework.

We'll develop a sample library application as we talk about how Django works while briefly talking about security vulnerabilities and how to protect yourself when working with the Django framework.
 recording release: yes license: CC-BY  

7. Django Unchained
Douglas Mendizábal

This tutorial is an introduction to the Django web framework.  Attendees will get hands on experience developing web applications using the Django framework.

We'll develop a sample library application as we talk about how Django works while briefly talking about security vulnerabilities and how to protect yourself when working with the Django framework.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3150/django-unchained 
8. Lunch


Lunch Break
 recording release: yes license: CC-BY  

9. Lunch


Lunch Break
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3152/lunch 
10. 3 hours to Docker fundamentals: Jumpstart your Docker knowledge
Aater Suleman

Docker, the new trending containerization technique, is gaining interest from organizations of all sizes with its lightweight, portable, “build once, configure once and run anywhere” functionalities. Docker skills are expected to be in high-demand because of its ability to streamline workflow and reduce the need for hardware investment. 

This tutorial focuses on providing an in-depth understanding of Docker and how to containerize Python web applications. Docker provides a mechanism for low overhead virtualization and can be a key aspect of a DevOps architecture. Docker allows isolated environments to be created in a single machine without imposing a performance overhead. This leads to new possibilities for optimizing the developer flows and creating multi-tenant applications, saving time coding and improving quality. 

This tutorial will highlight a list of best practices, pitfalls, and dos and dont’s from real-world case studies.  We’ll walk through:

- Basic concepts and Docker terminology
- Docker Commands
- Must Know Docker Features
- Docker in the real world using examples of projects implemented at Flux7

 recording release: yes license: CC-BY  

11. Testing the "Edges": Email, Database, and Network Services (Tutorial)
Randy Syring

When it comes to testing, the "edges" of the application are often the hardest.  How do I test if my application has sent an email reliably?  Should I setup an email server?  How about a third-party API, should I use their testing environment or try to monkey patch the socket connection?

How about databases?  Do I use a real db server, mock objects, or fixtures for testing?  How do I prevent cross-test data contamination?  What about testing database migrations?

In this tutorial, we will build a demo application called the "PYPI Bandwidth Calculator."  It will have the following features:

- the main feature of the application will be to calculate the bandwidth used by packages on PYPI
- web and/or CLI interface depending on experience & desire of the student
- user will enter the name of a PYPI package and the app will display the bandwidth that package has used
- package size & download number will be retrieved from PYPI JSON interface
- the bandwidth will be cached in a local database, expires every 5 minutes
- an email will be sent to the administrators/developers if PYPI is down or throws an error
- if students have time, more advanced features can be added to the app

The main point of the tutorial will be to give the student experience testing the "edge" cases of an application.  In particular, the app as described above will provide opportunity to gain experience in testing:

- web or CLI user interfaces
- third-party API services, including error handling and unexpected responses
- database interactions
- time-based interactions
 recording release: yes license: CC-BY  

12. Python 101++: Let's Get Down to Business
Paige Bailey

You've started the Codecademy and Coursera courses; you've thumbed through Zed Shaw's "Learn Python the Hard Way"; and now you're itching to see what Python can help you do.  This is the workshop for you!

Here's the breakdown: we're going to be taking you on a whirlwind tour of Python's capabilities.  By the end of the workshop, you should be able to easily follow any of the widely available Python courses on the internet, and have a grasp on some of the more complex aspects of the language.  

Please don't forget to bring your personal laptop!

Audience:
This course is aimed at those who already have some basic programming experience, either in Python or in another high level programming language (such as C/C++, Fortran, Java, Ruby, Perl, or Visual Basic).  If you're an absolute beginner -- new to Python, and new to programming in general -- make sure to check out the "Python 101" workshop!

chapters:
(00:00)
(0:01:33)
(0:01:39)
(0:09:39)
(0:10:24)
(0:14:34)
(0:18:11)
(0:23:45)
(0:24:06)
(0:25:37)
(0:37:31)
(1:28:25)
(1:28:27) 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3153/python-101-lets-get-down-to-business 
13. Testing the "Edges": Email, Database, and Network Services (Tutorial)
Randy Syring

When it comes to testing, the "edges" of the application are often the hardest.  How do I test if my application has sent an email reliably?  Should I setup an email server?  How about a third-party API, should I use their testing environment or try to monkey patch the socket connection?

How about databases?  Do I use a real db server, mock objects, or fixtures for testing?  How do I prevent cross-test data contamination?  What about testing database migrations?

In this tutorial, we will build a demo application called the "PYPI Bandwidth Calculator."  It will have the following features:

- the main feature of the application will be to calculate the bandwidth used by packages on PYPI
- web and/or CLI interface depending on experience & desire of the student
- user will enter the name of a PYPI package and the app will display the bandwidth that package has used
- package size & download number will be retrieved from PYPI JSON interface
- the bandwidth will be cached in a local database, expires every 5 minutes
- an email will be sent to the administrators/developers if PYPI is down or throws an error
- if students have time, more advanced features can be added to the app

The main point of the tutorial will be to give the student experience testing the "edge" cases of an application.  In particular, the app as described above will provide opportunity to gain experience in testing:

- web or CLI user interfaces
- third-party API services, including error handling and unexpected responses
- database interactions
- time-based interactions
 recording release: no  
 Video: http://www.pyvideo.org/video/3155/testing-the-edges-email-database-and-network 
14. 3 hours to Docker fundamentals: Jumpstart your Docker knowledge
Aater Suleman

Docker, the new trending containerization technique, is gaining interest from organizations of all sizes with its lightweight, portable, “build once, configure once and run anywhere” functionalities. Docker skills are expected to be in high-demand because of its ability to streamline workflow and reduce the need for hardware investment. 

This tutorial focuses on providing an in-depth understanding of Docker and how to containerize Python web applications. Docker provides a mechanism for low overhead virtualization and can be a key aspect of a DevOps architecture. Docker allows isolated environments to be created in a single machine without imposing a performance overhead. This leads to new possibilities for optimizing the developer flows and creating multi-tenant applications, saving time coding and improving quality. 

This tutorial will highlight a list of best practices, pitfalls, and dos and dont’s from real-world case studies.  We’ll walk through:

- Basic concepts and Docker terminology
- Docker Commands
- Must Know Docker Features
- Docker in the real world using examples of projects implemented at Flux7

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3154/3-hours-to-docker-fundamentals-jumpstart-your-do 
15. Python 101++: Let's Get Down to Business
Paige Bailey

You've started the Codecademy and Coursera courses; you've thumbed through Zed Shaw's "Learn Python the Hard Way"; and now you're itching to see what Python can help you do.  This is the workshop for you!

Here's the breakdown: we're going to be taking you on a whirlwind tour of Python's capabilities.  By the end of the workshop, you should be able to easily follow any of the widely available Python courses on the internet, and have a grasp on some of the more complex aspects of the language.  

Please don't forget to bring your personal laptop!

Audience:
This course is aimed at those who already have some basic programming experience, either in Python or in another high level programming language (such as C/C++, Fortran, Java, Ruby, Perl, or Visual Basic).  If you're an absolute beginner -- new to Python, and new to programming in general -- make sure to check out the "Python 101" workshop!
 recording release: yes license: CC-BY  

16. An Introduction to AngularJS for the Python Web Developer
Paul Bailey

An introduction to AngularJS and how to use it in your Django project.  This talk will cover different web architectures and how Django and AngularJS fit together to implement them.  It will also cover the frontend concepts introduced by the AngularJS and how to use them.
 recording release: yes license: CC-BY  

17. Check In / Breakfast


Check in and catch some breakfast provided by the conference.
 recording release: no  

18. Case Study: Using Git to manage UI derived configuration Elements
Doug Matzke

Git is common choice for DVCS by software development teams. This case study describes a python system called ClicBank, that captures domain specific UI entity definitions (in medical insurance industry) as XML files and manages changes in the configurations using open source Git modules. This case study will describe the use cases driving this design, design choices,  schema approach, implementation decisions, python modules, workspace/repository design, number of managed entities, GIT performance and status of project. 
 recording release: yes license: CC-BY  

19. An Introduction to AngularJS for the Python Web Developer
Paul Bailey

An introduction to AngularJS and how to use it in your Python web app.  This talk will cover different web architectures and how Python and AngularJS fit together to implement them.  It will also cover the frontend concepts introduced by the AngularJS and how to use them.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3157/an-introduction-to-angularjs-for-the-python-web-d 
20. Is your helper library opinionated enough?
Paul Murphy

It's a constant debate.

How do you build a helper library?

At one end of the spectrum we have Runscope CEO John Sheehan who thinks that helper libraries are evil and shouldn't exist at all. At the other we find helper libraries that don't look or smell anything like the API. And somewhere in the middle we have helper libraries that are so close to the API itself that they are nothing more than a thin veneer.

Which is better? Who’s right? The real question to me is how idiomatic should a helper library be? Should a Django library make a Django developer feel comfortable, or should she have to read the API docs to understand how it works? Should a Python library look RESTful, or should it look like a hierarchy of classes?

At our company, we maintain two libraries. They both have advantages and disadvantages, they appeal to different developers, and sometimes even the same developer at different times.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3158/is-your-helper-library-opinionated-enough 
21. Is your helper library opinionated enough?
Paul Murphy

It's a constant debate.

How do you build a helper library?

At one end of the spectrum we have Runscope CEO John Sheehan who thinks that helper libraries are evil and shouldn't exist at all. At the other we find helper libraries that don't look or smell anything like the API. And somewhere in the middle we have helper libraries that are so close to the API itself that they are nothing more than a thin veneer.

Which is better? Who’s right? The real question to me is how idiomatic should a helper library be? Should a Django library make a Django developer feel comfortable, or should she have to read the API docs to understand how it works? Should a Python library look RESTful, or should it look like a hierarchy of classes?

At our company, we maintain two libraries. They both have advantages and disadvantages, they appeal to different developers, and sometimes even the same developer at different times.
 recording release: yes license: CC-BY  

22. My first python project journey
Neetu Jain

This talk covers my experience of diving into python as a newbie . It starts with how to get started with python, how python is different from the other languages (i had experience with), what  tools e.t.c are useful and then  moves on how to package it , make it easy-to-deploy, easy-to-test, easy-to-read e.t.c 

The purpose of this talk is to encourage other programmers who are contemplating exploring python and equip them with a basic plan of action (sort of like a skeleton)  to start with to avoid getting overwhelmed.
 recording release: yes license: CC-BY  

23. Dates & Time: pain points, useful libraries, and testing considerations
Randy Syring

Date & Time handling in Python has it's ups & downs.  In this talk, we will cover:

* some of the pain points and weaknesses in the Python standard library
* two libraries I have found helpful: dateutils and arrow
* best practices for working with timezones
* best practices for testing code that deals with dates and time
 recording release: yes license: CC-BY  

24. I ♥ Maps: Quantum GIS + Python
Paige Bailey

Quantum GIS (QGIS) is an open-source, highly customizable geospatial application that's great for data exploration, manipulation, and cartographic preparation -- in other words, it's software that allows you to make detailed, aesthetically-pleasing maps for free!

QGIS is also *extremely* script-able with Python, and integrates with a large number of database and analysis backends (GRASS, R, PostGIS, etc.). In this talk, Paige Bailey will be giving a short overview of QGIS; detailing a few mapping case studies; then showing how to leverage additional functionality by writing custom Python plugins.
 recording release: yes license: CC-BY  

25. I ♥ Maps: Quantum GIS + Python
Paige Bailey

Quantum GIS (QGIS) is an open-source, highly customizable geospatial application that's great for data exploration, manipulation, and cartographic preparation -- in other words, it's software that allows you to make detailed, aesthetically-pleasing maps for free!

QGIS is also *extremely* script-able with Python, and integrates with a large number of database and analysis backends (GRASS, R, PostGIS, etc.). In this talk, Paige Bailey will be giving a short overview of QGIS; detailing a few mapping case studies; then showing how to leverage additional functionality by writing custom Python plugins.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3160/i-maps-quantum-gis-python 
26. Dates & Time: pain points, useful libraries, and testing considerations
Randy Syring

Date & Time handling in Python has it's ups & downs.  In this talk, we will cover:

* some of the pain points and weaknesses in the Python standard library
* two libraries I have found helpful: dateutils and arrow
* best practices for working with timezones
* best practices for testing code that deals with dates and time
 recording release: no  
 Video: http://www.pyvideo.org/video/3161/dates-time-pain-points-useful-libraries-and 
27. When Scrum goes horribly wrong
Bryan Haardt

The purpose of this talk is to provide an accounting of why Agile/Scrum projects fail. We will define failure, discuss reason(s) an Agile managed project ends in failure fail and offer solutions to the most common causes of failed projects. 
 recording release: yes license: CC-BY  

28. Ascending the Summit: Using Selenium to test web applications
Hari Radhakrishnan

We built a testing suite, Summit,  in Python using Selenium to functionally test our application, the Decisio Health Patient Dashboard.  

I intend to show how that testing suite got us through the FDA 510(k) clearance process and how to use Selenium and Python to test an application in a headless and graphical browser.  
 recording release: yes license: CC-BY  

29. Python and enterprise integration patterns
Chandrashekar Jayaraman

The talk explores some enterprise integration patterns through python.
 recording release: yes license: CC-BY  

30. Ascending the Summit: Using Selenium to test web applications
Hari Radhakrishnan

We built a testing suite, Summit,  in Python using Selenium to functionally test our application, the Decisio Health Patient Dashboard.  

I intend to show how that testing suite got us through the FDA 510(k) clearance process and how to use Selenium and Python to test an application in a headless and graphical browser.  
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3162/ascending-the-summit-using-selenium-to-test-web 
31. When Scrum goes horribly wrong
Bryan Haardt

The purpose of this talk is to provide an accounting of why Agile/Scrum projects fail. We will define failure, discuss reason(s) an Agile managed project ends in failure fail and offer solutions to the most common causes of failed projects. 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3163/when-scrum-goes-horribly-wrong 
32. Python and enterprise integration patterns
Chandrashekar Jayaraman

The talk explores some enterprise integration patterns through python.
 recording release: no  
 Video: http://www.pyvideo.org/video/3164/python-and-enterprise-integration-patterns 
33. A Computational Physics Workflow with Python
Denton Woods

Starting my physics PhD, I had a very haphazard manual process for conducting computational research. I will show how learning and using Python has improved this workflow by automating repetitive tasks and improving analysis. I will cover how I use IPython for analysis and visualization, how I use a MySQL database accessed through Python to better handle research results, and what additional Python packages are useful for our research. I also plan on covering some of the limitations of using Python for scientific computations.
 recording release: yes license: CC-BY  

34. Unlocking Data Trapped in Audio and Video Files
Paul Murphy

As more and more apps record audio and video files we need to start thinking about what to do with those files.  Playing them back isn't enough.  Media files are full of data that developers can start exploiting thanks to an emergent category of signal and natural language processing APIs.

There are only 3 options for processing the words embedded in these files:

1. Transcribe them yourself, manually.
2. Find a transcript made by someone else.
3. Use a library that extracts the words for you.   

As the developer of a python library that automates the extraction and processing of words in media files, I'll demonstrate how easy it is to make audio and video libraries fully searchable, create a word cloud of keywords from a recorded phone call, and extract topics from news broadcast.  

I'll show coding examples as well as products using this API.
 recording release: yes license: CC-BY  

35. Unlocking Data Trapped in Audio and Video Files
Paul Murphy

As more and more apps record audio and video files we need to start thinking about what to do with those files.  Playing them back isn't enough.  Media files are full of data that developers can start exploiting thanks to an emergent category of signal and natural language processing APIs.

There are only 3 options for processing the words embedded in these files:

1. Transcribe them yourself, manually.
2. Find a transcript made by someone else.
3. Use a library that extracts the words for you.   

As the developer of a python library that automates the extraction and processing of words in media files, I'll demonstrate how easy it is to make audio and video libraries fully searchable, create a word cloud of keywords from a recorded phone call, and extract topics from news broadcast.  

I'll show coding examples as well as products using this API.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3165/unlocking-data-trapped-in-audio-and-video-files 
36. Keynote - Developer Experience: Marketing matters
Jesse Noller

**In room 2300A**

### Come and Be Amazed!!

![Alt text](https://pbs.twimg.com/media/Bv-GL8uCcAAVN7d.jpg:large)
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3167/keynote-developer-experience-marketing-matters 
37. Keynote - Developer Experience: Marketing matters
Jesse Noller

### Come and Be Amazed!!

![Alt text](https://pbs.twimg.com/media/Bv-GL8uCcAAVN7d.jpg:large)
 recording release: yes license: CC-BY  

38. Lunch


Lunch Break
 recording release: yes license: CC-BY  

39. Lunch


Lunch Break
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3168/lunch-0 
40. Network Analysis on an Attention Budget - Introduction to SiLK
Ryan Breed

This session will acquaint the attendees with the basics of building a network metadata collection and analysis infrastructure using the open source CERT NetSA Security Suite. The talk will cover workflows for analyzing security metadata using portions of the SciPy tool suite, Graphlab, and Apache Spark. Some best practice analytical workflows will also be covered for characterization and categorization of internal network infrastructure for the purpose of behavioral modeling.
 recording release: yes license: CC-BY  

41. Generators Will Free Your Mind
James Powell

What are generators and coroutines in Python? What additional conceptualisations do they offer, and how can we use them to better model problems? It's an intermediate-level talk around the core concept of generators with a lot of examples of not only neat things you can do with generators but also new ways to model and conceptualise problems.

Generators are one of the most notable features of Python, and they are a critical component of Python 3's driving focus on iterability as a core protocol. This talk introduces the basic concepts surrounding generators, generator expressions, and co-routines, then dives into ways that generators can improve our code: not just in terms of performance but also by offering us better ways to model our problems. 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3170/generators-will-free-your-mind-0 
42. Getting along with Python
Sasha Hart

So you've finished your introductory course or tutorial on Python, you feel good about your knowledge of the language, and you might have some projects under your belt. What now? 
How about some of the things that aren't really code, which nobody really teaches you in a class or tutorial, which can take years to learn by yourself?
That's what this talk is about: a few of the most common pain points for Python programmers which can easily be avoided by adopting certain tools and practices "around" the coding itself. Not coincidentally, the same tips might also help improve your code and make your life with other Python programmers more harmonious.
Material will roughly summarize/follow the contents of http://gawp.sashahart.net, as a general and gently opinionated tour of common practices in the Python community.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3169/getting-along-with-python 
43. Getting along with Python
Sasha Hart

So you've finished your introductory course or tutorial on Python, you feel good about your knowledge of the language, and you might have some projects under your belt. What now? 
How about some of the things that aren't really code, which nobody really teaches you in a class or tutorial, which can take years to learn by yourself?
That's what this talk is about: a few of the most common pain points for Python programmers which can easily be avoided by adopting certain tools and practices "around" the coding itself. Not coincidentally, the same tips might also help improve your code and make your life with other Python programmers more harmonious.
Material will roughly summarize/follow the contents of http://gawp.sashahart.net, as a general and gently opinionated tour of common practices in the Python community.
 recording release: yes license: CC-BY  

44. Generators Will Free Your Mind
James Powell

What are generators and coroutines in Python? What additional conceptualisations do they offer, and how can we use them to better model problems? It's an intermediate-level talk around the core concept of generators with a lot of examples of not only neat things you can do with generators but also new ways to model and conceptualise problems.

Generators are one of the most notable features of Python, and they are a critical component of Python 3's driving focus on iterability as a core protocol. This talk introduces the basic concepts surrounding generators, generator expressions, and co-routines, then dives into ways that generators can improve our code: not just in terms of performance but also by offering us better ways to model our problems. 
 recording release: yes license: CC-BY  

45. Network Analysis on an Attention Budget - Introduction to SiLK
Ryan Breed

This session will acquaint the attendees with the basics of building a network metadata collection and analysis infrastructure using the open source CERT NetSA Security Suite. The talk will cover workflows for analyzing security metadata using portions of the SciPy tool suite, Graphlab, and Apache Spark. Some best practice analytical workflows will also be covered for characterization and categorization of internal network infrastructure for the purpose of behavioral modeling.
 recording release: no  
 Video: http://www.pyvideo.org/video/3171/network-analysis-on-an-attention-budget-introdu 
46. Python Requests
Sakshi Bansal

Python contains libraries which make it help to interact with web-sites to perform tasks like logging into gmail, viewing web pages, filling forms, viewing and saving cookies with nothing more than a few lines of code. Once a request is sent to a server, a Python script would return the information in almost the same way a browser would return. Requests is a simple, easy-to-use HTTP library written in Python. Urllib3 is embedded within Requests providing additional features like Keep-alive and HTTP connection pooling to be 100% automatic. Requests makes interaction with web services seamless. It overcomes most of the difficulties faced while using urllib/urllib2 like manually adding query strings to your URLs, encoding of data while making GET/POST requests etc. We need to import a single Python module import requests before writing code. The main lead developer of Python-Requests is Kenneth Reitz.

It is easy to install and has various features like Sessions with Cookie Persistence, Keep-Alive & Connection Pooling, Browser-style SSL Verification, Basic/Digest Authentication etc.

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3172/python-requests 
47. High Resolution Reader for Traffic Signal Controllers
John Black

see signalengineer.com for a description of this project offered as open source on github

topics I would like to cover if given 20-25 minutes

1) short background on traffic signal control
2) the Purdue specification for high resolution (0.1 second) data logs
3) interfacing the traffic signal controller by writing a Python shell around WinSCP
4) interfacing SQLite and CSV data using Python
5) developing a user interface using QtDesigner and Pyside
6) the need for threading in the Qt user interface and other lessons learned through this project
7) developing documentation with Sphinx and using WebKit to display it within the Qt interface
8) wrapping the project with cx_freeze
9) using the Inno Setup Compiler to create a windows setup file for the finished project
 recording release: yes license: CC-BY  

48. Python Requests
Sakshi Bansal

Python contains libraries which make it help to interact with web-sites to perform tasks like logging into gmail, viewing web pages, filling forms, viewing and saving cookies with nothing more than a few lines of code. Once a request is sent to a server, a Python script would return the information in almost the same way a browser would return. Requests is a simple, easy-to-use HTTP library written in Python. Urllib3 is embedded within Requests providing additional features like Keep-alive and HTTP connection pooling to be 100% automatic. Requests makes interaction with web services seamless. It overcomes most of the difficulties faced while using urllib/urllib2 like manually adding query strings to your URLs, encoding of data while making GET/POST requests etc. We need to import a single Python module import requests before writing code. The main lead developer of Python-Requests is Kenneth Reitz.

It is easy to install and has various features like Sessions with Cookie Persistence, Keep-Alive & Connection Pooling, Browser-style SSL Verification, Basic/Digest Authentication etc.

 recording release: yes license: CC-BY  

49. My first python project journey
Neetu Jain

This talk covers my experience of diving into python as a newbie . It starts with how to get started with python, how python is different from the other languages (i had experience with), what  tools e.t.c are useful and then  moves on how to package it , test it , deploy it  e.t.c 

The purpose of this talk is to encourage other programmers who are contemplating exploring python (but have no background in ptyhon yet) and equip them with some kind of skeleton on what to expect and what is out there.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3159/my-first-python-project-journey 
50. Using Recursion with Python for Problem Solving
Pilar Brist

Provide brief definition of Recursion
Discuss how recursion can be used to solve a problem.  
Provide example of a problem solved by recursion.      
 recording release: yes license: CC-BY  

51. High Resolution Reader for Traffic Signal Controllers
John Black

see signalengineer.com for a description of this project offered as open source on github

topics I would like to cover if given 20-25 minutes

1) short background on traffic signal control
2) the Purdue specification for high resolution (0.1 second) data logs
3) interfacing the traffic signal controller by writing a Python shell around WinSCP
4) interfacing SQLite and CSV data using Python
5) developing a user interface using QtDesigner and Pyside
6) the need for threading in the Qt user interface and other lessons learned through this project
7) developing documentation with Sphinx and using WebKit to display it within the Qt interface
8) wrapping the project with cx_freeze
9) using the Inno Setup Compiler to create a windows setup file for the finished project
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3173/high-resolution-reader-for-traffic-signal-control 
52. The Command Line Interface because ... why not?
Eloy Zuniga Jr.

A short talk on command line interfaces (CLI) and how to get them over with.  Who wants to spend their time on that part of the script when we still have all this other fun stuff to build.

We'll go over some of the built in features, and other ways of documenting, parsing, and data type validating.

 recording release: yes license: CC-BY  

53. Creating a  browser-based virtual computer lab for teaching and collaboration
Ramalingam Saravanan

With laptops and tablets becoming more powerful and more ubiquitous in the classroom, traditional computer labs with rows of expensive desktop computers are slowly beginning to lose their relevance. An alternative approach for computer-assisted instruction is to use a browser-based virtual computer lab. The different approaches to providing a virtual computing environment for Python, and the associated challenges, will be discussed. Options for providing a multi-user environment include running a public IPython Notebook server, or using alternative free/commercial solutions that incorporate the notebook interface, such as JiffyLab, Sage Math Cloud, GraphTerm, and Wakari. A virtual computer lab implemented using the GraphTerm server will be described. The advantages of physical computer labs, such as face-to-face interaction, and the challenge of replicating them in a virtual environment will be discussed as well.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3176/creating-a-browser-based-virtual-computer-lab-fo 
54. Command line interfaces are easy, use them
Eloy Zuniga Jr.

Building a useful and pleasant command line experience is easy.  If you've never really tried adding a command line interface (CLI) to your python scripts or maybe you still have a bitter taste in your mouth from the days of sys.argv, getopt, optparse, and argparse.

I invite you to take another look ... or your first look at command line interfaces and how easy and useful it is for your progress and sanity.

Comparing `Begins`, `DocOpt`, and `Click`

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3175/the-command-line-interface-because-why-not 
55. Creating a  browser-based virtual computer lab for teaching and collaboration
Ramalingam Saravanan

With laptops and tablets becoming more powerful and more ubiquitous in the classroom, traditional computer labs with rows of expensive desktop computers are slowly beginning to lose their relevance. An alternative approach for computer-assisted instruction is to use a browser-based virtual computer lab. The different approaches to providing a virtual computing environment for Python, and the associated challenges, will be discussed. Options for providing a multi-user environment include running a public IPython Notebook server, or using alternative free/commercial solutions that incorporate the notebook interface, such as JiffyLab, Sage Math Cloud, GraphTerm, and Wakari. A virtual computer lab implemented using the GraphTerm server will be described. The advantages of physical computer labs, such as face-to-face interaction, and the challenge of replicating them in a virtual environment will be discussed as well.
 recording release: yes license: CC-BY  

56. Python and Spreadsheets: State of the Union, Oct 2014
Kojo Idrissa

At PyTexas 2013 I gave a talk on using Python to work with spreadsheets. The landscape is rapidly changing and the options have expanded. This talk will be a whirlwind tour of your options for using Python with spreadsheets (NOT just Excel) as of late 2014. From processing spreadsheet *files* to using Python to directly control a spreadsheet app, we'll see what's available, with a focus on how it can help **you** with what you work on.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3178/python-and-spreadsheets-state-of-the-union-oct 
57. Python and Spreadsheets: State of the Union, Oct 2014
Kojo Idrissa

At PyTexas 2013 I gave a talk on using Python to work with spreadsheets. The landscape is rapidly changing and the options have expanded. This talk will be a whirlwind tour of your options for using Python with spreadsheets (NOT just Excel) as of late 2014. From processing spreadsheet *files* to using Python to directly control a spreadsheet app, we'll see what's available, with a focus on how it can help **you** with what you work on.
 recording release: yes license: CC-BY  

58. Containerize All The Things: Introduction to Docker
Mark Allen

This talk is an introduction to the basics around the Docker project - what Docker is, what problems it solves, and how to use it to build container images for your python application, and deploying those containers into different application environments like staging and/or production environments.  We may also touch on some of the deployment/management eco-systems around Docker including CoreOS, Deis and Flynn if we have sufficient time.
 recording release: yes license: CC-BY  

59. Case Study: Using Git to manage UI derived configuration Elements
Doug Matzke

Git is common choice for DVCS by software development teams. This case study describes a python system called ClicBank, that captures domain specific UI entity definitions (in medical insurance industry) as XML files and manages changes in the configurations using open source Git modules. This case study will describe the use cases driving this design, design choices,  schema approach, implementation decisions, python modules, workspace/repository design, number of managed entities, GIT performance and status of project. 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3156/case-study-using-git-to-manage-ui-derived-config 
60. Building concurrent network applications with asyncio
Joel Watts

In this talk, I'll introduce the `asyncio` module, which was recently added to the Python standard library. I'll talk about the problems that can be solved with asynchronous I/O and will show how the tools provided by the module, including event loops, coroutines, and futures, along with Python's new `yield from` syntax, can be used to build a concurrent network application.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3179/building-concurrent-network-applications-with-asy 
61. Democratization of Open Data with Python & Open Source
Espartaco Palma

Since the beginning of 2000s, Eric von Hippel has presented Models on how Paradigm Shift from Producer Innovation to User and Open Collaborative Innovation, this can be true not only on products, also in how the users can produce innovation on service like the OpenData & Open Government, don't need the main publisher, researcher or Government provide all the work. The communities can push more innovation around this new services.

Nowadays, everybody can improve the data available, curate, create, publish and provide more value on public & open data. Learn a framework like Flask is more accessible than ever, host & publish REST services for free, host the code of project for free also. It's democratizing all the way. All can be done with Python.

In this presentation I'll demonstrate how can use GitHub to publish a data sets (and proper updates) and the code of the Python REST API with no more than 100 lines of code which can be deployed on local installation, plus, with few commands,  deploy on a service with a free tier like OpenShift for a worldwide audience.
 recording release: yes license: CC-BY  

62. Building concurrent network applications with asyncio
Joel Watts

In this talk, I'll introduce the `asyncio` module, which was recently added to the Python standard library. I'll talk about the problems that can be solved with asynchronous I/O and will show how the tools provided by the module, including event loops, coroutines, and futures, along with Python's new `yield from` syntax, can be used to build a concurrent network application.
 recording release: yes license: CC-BY  

63. Democratization of Open Data with Python & Open Source
Espartaco Palma

Since the beginning of 2000s, Eric von Hippel has presented Models on how Paradigm Shift from Producer Innovation to User and Open Collaborative Innovation, this can be true not only on products, also in how the users can produce innovation on service like the OpenData & Open Government, don't need the main publisher, researcher or Government provide all the work. The communities can push more innovation around this new services.

Nowadays, everybody can improve the data available, curate, create, publish and provide more value on public & open data. Learn a framework like Flask is more accessible than ever, host & publish REST services for free, host the code of project for free also. It's democratizing all the way. All can be done with Python.

In this presentation I'll demonstrate how can use GitHub to publish a data sets (and proper updates) and the code of the Python REST API with no more than 100 lines of code which can be deployed on local installation, plus, with few commands,  deploy on a service with a free tier like OpenShift for a worldwide audience.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3180/democratization-of-open-data-with-python-open-s 
64. Graph Databases via Networkx
Jeremy Langley

Graph databases are a different way to approach your data.  I'll be talking about techniques from social network analysis to do some toy problems to get you thinking in a different direction using a library called Networkx.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3182/graph-databases-via-networkx 
65. Snake charming with pyenv
Douglas Mendizábal

In this talk we'll discuss how to use pyenv to manage multiple versions of python to allow you to develop and test your code in Python 2, Python 3, pypy, etc.
 recording release: yes license: CC-BY  

66. Graph Databases via Networkx
Jeremy Langley

Graph databases are a different way to approach your data.  I'll be talking about techniques from social network analysis to do some toy problems to get you thinking in a different direction using a library called Networkx.
 recording release: yes license: CC-BY  

67. Snake charming with pyenv
Douglas Mendizábal

In this talk we'll discuss how to use pyenv to manage multiple versions of python to allow you to develop and test your code in Python 2, Python 3, pypy, etc.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3181/snake-charming-with-pyenv 
68. Lightning Talks


Sign up in the lobby to give a lightning talk.
 recording release: yes license: CC-BY  

69. Lightning Talks


Sign up in the lobby to give a lightning talk.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3183/lightning-talks-10 
70. Party at Corner Bar sponsored by Soft Layer


Free drinks
 recording release: no  

71. The Pathetic Fallacy, or, Programming from an Engineering Approach
James Powell

This talk posits an understanding of programming as an engineering discipline, one which seeks to resolve certain common questions:

- is programming a form of mathematics?
- why does code "rot"?
- when why do naïve approaches fail?
- why does code complexity explode with only marginal increases to problem complexity?

It relates this question to the "pathetic fallacy," a literary term that refers to a falseness of pathos, an overly sentimental anthropomorphising of the inanimate, which is argued to be a common explanation for the pathologies that lead to code rot, to the inexplicable failure of the naïve approach, and to explosions in model complexity.
 recording release: yes license: CC-BY  

72. Breakfast


Check in and catch some breakfast provided by the conference.
 recording release: no  

73. REST API Design 101
Sheila Allen

REST is a popular and elegant architectural style for building programmatic interfaces (APIs) to web applications and other types of services. Think of it as a nice way to expose your Python program other programs running on the web (or any networked environment).

This talk will provide an introductory overview of REST concepts, what makes an API RESTful, explain the benefits of designing an API in the RESTful architectural style, make a few comments about challenges, security concerns, and best practices. Also there will be a brief mention of the Python frameworks and libraries available to help with building REST APIs.
 recording release: yes license: CC-BY  

74. The Pathetic Fallacy, or, Programming from an Engineering Approach
James Powell

This talk posits an understanding of programming as an engineering discipline, one which seeks to resolve certain common questions:

- is programming a form of mathematics?
- why does code "rot"?
- when why do naïve approaches fail?
- why does code complexity explode with only marginal increases to problem complexity?

It relates this question to the "pathetic fallacy," a literary term that refers to a falseness of pathos, an overly sentimental anthropomorphising of the inanimate, which is argued to be a common explanation for the pathologies that lead to code rot, to the inexplicable failure of the naïve approach, and to explosions in model complexity.
 recording release: no  
 Video: http://www.pyvideo.org/video/3185/the-pathetic-fallacy-or-programming-from-an-eng 
75. PostgreSQL 9.4's "jsonb" Document Store
Micah Yoder

I will give an intro to PostgreSQL's "jsonb" JSON document store; how it compares to MongoDB; guidelines for choosing between SQL-only, SQL+jsonb, and MongoDB; and using it from Python.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3186/postgresql-94s-jsonb-document-store 
76. How to get started and keep going with Python
Constanze Kratel

So you have decided that you want to learn Python. Right now there are lots of resources available for people who want to learn Python. But how do you keep going once you have embarked on this path? This talk draws on my personal experiences as I’m working on becoming proficient with Python programming. It aims at encouraging novices in Python to take advantage of all the resources that are available to become proficient. 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3187/how-to-get-started-and-keep-going-with-python 
77. How to get started and keep going with Python
Constanze Kratel

So you have decided that you want to learn Python. Right now there are lots of resources available for people who want to learn Python. But how do you keep going once you have embarked on this path? This talk draws on my personal experiences as I’m working on becoming proficient with Python programming. It aims at encouraging novices in Python to take advantage of all the resources that are available to become proficient. 
 recording release: yes license: CC-BY  

78. PostgreSQL 9.4's "jsonb" Document Store
Micah Yoder

I will give an intro to PostgreSQL's "jsonb" JSON document store; how it compares to MongoDB; guidelines for choosing between SQL-only, SQL+jsonb, and MongoDB; and using it from Python.
 recording release: yes license: CC-BY  

79. Using Python and Pandas for data analysis of in-situ sampled sub-surface pile-sleeve grout
Charles McCreary

On a recent project involving the decommissioning of a North Sea platform, we needed the elastic properties, and compressive and tensile strengths of the grout used to cement the platform sleeves to the piles driven into the seabed.

To that end, we commissioned a remotely operated vehicle (ROV) to cut the grout return tubes to obtain samples. To assess the measured properties, we made extensive use of Pandas and StatPy to better understand the test data. 
 recording release: yes license: CC-BY  

80. GIS for Python People
Sara Safavi

It seems like everyone is talking about GIS lately, but what exactly is it, anyway? And more importantly: as a Python user, why should you care? 

This talk's goal is twofold: first, to try and demystify the basic idea of "GIS" for people who are interested in the topic and are coming from a Python background. I'll cover general GIS concepts, talk about spatial data, and what makes it unique. Second, to show how you might be able to use and integrate GIS into your work. I'll go over some of the more common Python tools available for working with GIS data, and show examples of use-cases. Although I'll briefly touch on major GIS industry players, my main focus will be on easily-accessible, free & open source tools.

This is an all-levels talk: like the title says, this is for "Python People"! Whether you consider yourself a seasoned Python developer, an enthusiastic fan, or are just getting started: you should be able to learn something new while following along with the concepts & examples I'll discuss. 
 recording release: yes license: CC-BY  

81. Asynchronous Programming with Tornado Web Server
Kacie Houser

I will define what asynchronous means and why it is useful for todays web applications. I will also give and introduction to using Tornado web server and go over syntax. Then I'll will do a code walk through of small project I wrote using Tornado Web Server and virtualenv that utilizes calls Google maps API and demonstrates asynchronous calls.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3192/asynchronous-programming-with-tornado-web-server 
82. GIS for Python People
Sara Safavi

It seems like everyone is talking about GIS lately, but what exactly is it, anyway? And more importantly: as a Python user, why should you care? 

This talk's goal is twofold: first, to try and demystify the basic idea of "GIS" for people who are interested in the topic and are coming from a Python background. I'll cover general GIS concepts, talk about spatial data, and what makes it unique. Second, to show how you might be able to use and integrate GIS into your work. I'll go over some of the more common Python tools available for working with GIS data, and show examples of use-cases. Although I'll briefly touch on major GIS industry players, my main focus will be on easily-accessible, free & open source tools.

This is an all-levels talk: like the title says, this is for "Python People"! Whether you consider yourself a seasoned Python developer, an enthusiastic fan, or are just getting started: you should be able to learn something new while following along with the concepts & examples I'll discuss. 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3189/gis-for-python-people 
83. Swift for Pythonistas
Andrew Donoho

Swift, Apple's new iOS/OS X programming language, is remarkably Pythonic. Is it easy for a Pythonista to start writing iOS apps? This talk will expose you briefly to Swift, the development environment and discuss the biggest differences between Python and Swift. After this talk, you will know how to approach the platform and see if Swift programming is for you.

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3191/swift-for-pythonistas 
84. A D&D-based guide to an Inclusive Python community
Kojo Idrissa

In Dungeons & Dragons(D&D), a well-rounded party is a key for success. The same is true for the Python community. Just as a D&D party needs more than JUST Wizards (or any other single class) to survive, the Python community needs different types of Pythonistas to make contributions. Encouraging an inclusive community is the key to this. In what could be Part 2 of 'A D&D-based guide to contributing to the Python community', I'll talk about what "Inclusive" means, how to make your local Python community more inclusive and why that would benefit you.
 recording release: yes license: CC-BY  

85. A D&D-based guide to Contribution and Inclusion in the Python Community
Kojo Idrissa

The Python community needs many different types of contributions to thrive. If you ever thought, "I'm not a great programmer, so I can't contribute to the Python community. :-(", you're WRONG!

First, using classes and roles from Dungeons & Dragons (D&D) as a lens, we'll  look at multiple contributing roles in the Python community, and how you can find one that fits you. Not familiar with D&D? I'll provide a brief, relevant primer.

Next, we'll continue the discussion to see how Inclusiveness helps us get those different contributors into the Python community. To use D&D language, a party of only one class won't go far. We'll also look at how Inclusiveness is NOT the same thing as Diversity or Political Correctness.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3190/a-dd-based-guide-to-contribution-and-inclusion-i 
86. Swift for Pythonistas
Andrew Donoho

Swift, Apple's new iOS/OS X programming language, is remarkably Pythonic. Is it easy for a Pythonista to start writing iOS apps? This talk will expose you briefly to Swift, the development environment and discuss the biggest differences between Python and Swift. After this talk, you will know how to approach the platform and see if Swift programming is for you.

 recording release: yes license: CC-BY  

87. Understanding Page Objects Without A Net (Or A Framework)
Dakota Smith

This talk is an introduction to the Page Object pattern, specifically geared towards how to implement page objects within Python using Selenium, why scripts break, and what costs you incur when trying to mitigate test breakage and maintenance.

In 25 minutes, we will build page objects from the ground up, showing how we can separate our concerns (i.e. configuration, environment, application under test) to maximize our reusable components. The talk introduces tools typical to the job of browser & UI automation, suggests approaches for frequently encountered web elements within applications, and finally demonstrates, specifically, how and where our page objects save effort in creating and updating our browser automation test suite. 

Intermediate level talk. Attendees interested in following along should have Selenium configured as well as Python. You'll need both the Selenium stand alone server jar file and the Python module 'selenium'. If you can run the example code on this page and it successfully opens a browser window, you should be good to go: https://pypi.python.org/pypi/selenium

I expect to sign up for a freeform  talk during the Open Spaces period on either Saturday or Sunday, because I want to give people a chance to ask specific questions and work through real scenarios.
 recording release: no  
 Video: http://www.pyvideo.org/video/3208/page-objects-without-a-net 
88. Using a web application to manage Windows Active Directory
John Phillips

Managing users in a Windows Active Directory environment is a common use case, and the tools provided by Microsoft are not the best. At the College of Architecture we have developed a web application using Django and python's built in LDAP client, it has allowed us to view and edit user data from a common interface. This talk will give a brief overview of our system and examples to help the audience get started with their own web application to control user data in Windows Active Directory.
 recording release: no  
 Video: http://www.pyvideo.org/video/3195/using-a-web-application-to-manage-windows-active 
89. Asynchronous Programming with Tornado Web Server
Kacie Houser

I will define what asynchronous means and why it is useful for todays web applications. I will also give and introduction to using Tornado web server and go over syntax. Then I'll will do a code walk through of small project I wrote using Tornado Web Server and virtualenv that utilizes calls Google maps API and demonstrates asynchronous calls.
 recording release: yes license: CC-BY  

90. Understanding Page Objects Without A Net (Or A Framework)
Dakota Smith

This talk is an introduction to the Page Object pattern, specifically geared towards how to implement page objects within Python using Selenium, why scripts break, and what costs you incur when trying to mitigate test breakage and maintenance.

In 25 minutes, we will build page objects from the ground up, showing how we can separate our concerns (i.e. configuration, environment, application under test) to maximize our reusable components. The talk introduces tools typical to the job of browser & UI automation, suggests approaches for frequently encountered web elements within applications, and finally demonstrates, specifically, how and where our page objects save effort in creating and updating our browser automation test suite. 

Intermediate level talk. Attendees interested in following along should have Selenium configured as well as Python. You'll need both the Selenium stand alone server jar file and the Python module 'selenium'. If you can run the example code on this page and it successfully opens a browser window, you should be good to go: https://pypi.python.org/pypi/selenium

I expect to sign up for a freeform  talk during the Open Spaces period on either Saturday or Sunday, because I want to give people a chance to ask specific questions and work through real scenarios.
 recording release: yes license: CC-BY  

91. Plenary Session


In room 2300A, prize give aways and more!
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3207/plenary-session 
92. Using a web application to manage Windows Active Directory
John Phillips

Managing users in a Windows Active Directory environment is a common use case, and the tools provided by Microsoft are not the best. At the College of Architecture we have developed a web application using Django and python's built in LDAP client, it has allowed us to view and edit user data from a common interface. This talk will give a brief overview of our system and examples to help the audience get started with their own web application to control user data in Windows Active Directory.
 recording release: yes license: CC-BY  

93. iPython as your engineering and scientific notebook
Charles McCreary

The iPython notebook has completely replaced our use of MathCAD, MATLAB, and Mathematica. Combined with symPy and pint (a units framework), we are able to perform simple calculations such as the application of structural codes such as AISC, API, DNV, and others to differential equation solutions.

I will demonstrate sample notebooks that we routinely use which allow engineers/scientists to document their solutions in an effective and reproducible manner.
 recording release: yes license: CC-BY  

94. Lunch


Lunch Break
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3196/lunch-1 
95. Lunch


Lunch Break
 recording release: yes license: CC-BY  

96. Mogwai: Graph Databases in your App
Cody Lee

Graph Databases can be very powerful when used correctly, unfortunately the landscape is still very young, let alone finding a python library to interface with your database.  Here we will cover Titan (a highly scalable graph database) and Mogwai (a python OGM, maintained by me) to interface with the database in an intuitive and easy fashion. 

We'll very quickly cover the concept of graph databases, and interacting with Titan via the Gremlin REPL. Following that we'll go headstrong into working with Mogwai and create a simple web API.

http://mogwai.readthedocs.org/
http://bitbucket.org/wellaware/mogwai
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3198/mogwai-graph-databases-in-your-app 
97. REST API Design 101
Sheila Allen

REST is a popular and elegant architectural style for building programmatic interfaces (APIs) to web applications and other types of services. Think of it as a nice way to expose your Python program other programs running on the web (or any networked environment).

This talk will provide an introductory overview of REST concepts, what makes an API RESTful, explain the benefits of designing an API in the RESTful architectural style, make a few comments about challenges, security concerns, and best practices. Also there will be a brief mention of the Python frameworks and libraries available to help with building REST APIs.
 recording release: no  
 Video: http://www.pyvideo.org/video/3184/rest-api-design-101 
98. Mogwai: Graph Databases in your App
Cody Lee

Graph Databases can be very powerful when used correctly, unfortunately the landscape is still very young, let alone finding a python library to interface with your database.  Here we will cover Titan (a highly scalable graph database) and Mogwai (a python OGM, maintained by me) to interface with the database in an intuitive and easy fashion. 

We'll very quickly cover the concept of graph databases, and interacting with Titan via the Gremlin REPL. Following that we'll go headstrong into working with Mogwai and create a simple web API.

http://mogwai.readthedocs.org/
http://bitbucket.org/wellaware/mogwai
 recording release: yes license: CC-BY  

99. Snakes in Sheets
Abhipray Sahoo

Microsoft Excel continues to be popular across many industries where data analysis is fundamental to success. It marries powerful organization and presentation functionality to sift through large datasets. However, the default scripting language for Excel, VBA, is often cumbersome to use. Python is maturing as a quantitative scripting language with a growing scientific community around it, so it makes great sense to marry Excel’s user interface with Python’s extensive data acquisition and analysis libraries.

This talk introduces you to Pyinex, an open source project to embed a Python interpreter within an Excel addin. It directly exposes Python user defined functions as Excel worksheet functions, allows users to call arbitrary Python code from within Excel, and provides an interactive Python session all from within the same process space. Pyinex brings to Excel all the goodies of Python—data analysis using SciPy, NumPy, Pandas and more; integration with databases, web services, and other network resources; rapid function prototyping; extensive library support; and so much more.

This talk will demonstrate the capabilities of Pyinex and give an overview of how it works internally.  The aim is to present the tool for both end-users and developers to inspire the audience thinking of new use cases and spark conversation on how to further improve the project.

 recording release: yes license: CC-BY  

100. Snakes in Sheets
Abhipray Sahoo

Microsoft Excel continues to be popular across many industries where data analysis is fundamental to success. It marries powerful organization and presentation functionality to sift through large datasets. However, the default scripting language for Excel, VBA, is often cumbersome to use. Python is maturing as a quantitative scripting language with a growing scientific community around it, so it makes great sense to marry Excel’s user interface with Python’s extensive data acquisition and analysis libraries.

This talk introduces you to Pyinex, an open source project to embed a Python interpreter within an Excel addin. It directly exposes Python user defined functions as Excel worksheet functions, allows users to call arbitrary Python code from within Excel, and provides an interactive Python session all from within the same process space. Pyinex brings to Excel all the goodies of Python—data analysis using SciPy, NumPy, Pandas and more; integration with databases, web services, and other network resources; rapid function prototyping; extensive library support; and so much more.

This talk will demonstrate the capabilities of Pyinex and give an overview of how it works internally.  The aim is to present the tool for both end-users and developers to inspire the audience thinking of new use cases and spark conversation on how to further improve the project.

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3197/snakes-in-sheets 
101. How to write dumber tests
Luke Lee

Writing and debugging code is hard, but testing shouldn't be.  This talk will discuss common techniques for writing simpler tests that still exercise your production code while preventing you from spending time debugging test code.
 recording release: yes license: CC-BY  

102. How to write dumber tests
Luke Lee

Writing and debugging code is hard, but testing shouldn't be.  This talk will discuss common techniques for writing simpler tests that still exercise your production code while preventing you from spending time debugging test code.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3200/how-to-write-dumber-tests 
103. Running in the USA: Analysis of World-Wide GPS Tracks in Running Events
Kyler Eastman

MapMyFitness is an open fitness tracking platform that collects hundreds of thousands of tracks every day from GPS fitness devices around the planet.  Within this massive database of fitness activity lies untold insights into human behavior.  In this talk, I'll show how I use Python-based analysis tools for identifying running events, from 5ks to marathons). Using a combination of Amazon Redshift SQL, scipy, matplotlib & pandas, I'll show how you can glean a variety of insight into running event performance, from weather and training effects on speed, to regional & demographic differences in attendance.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3199/running-in-the-usa-analysis-of-world-wide-gps-tr 
104. Running in the USA: Analysis of World-Wide GPS Tracks in Running Events
Kyler Eastman

MapMyFitness is an open fitness tracking platform that collects hundreds of thousands of tracks every day from GPS fitness devices around the planet.  Within this massive database of fitness activity lies untold insights into human behavior.  In this talk, I'll show how I use Python-based analysis tools for identifying running events, from 5ks to marathons). Using a combination of Amazon Redshift SQL, scipy, matplotlib & pandas, I'll show how you can glean a variety of insight into running event performance, from weather and training effects on speed, to regional & demographic differences in attendance.
 recording release: yes license: CC-BY  

105. Reliable Testing & Deployments with pip and Wheels
Randy Syring

I plan to briefly introduce pip requirements files and the wheel format.  I will then demonstrate an approach for structuring requirements files, using "snapshot" requirement files, and building "wheelhouses" that get committed to your VCS.  This approach has the following benefits:

- known working & tested dependencies are clearly communicated between developers
- project setup for new developers is simplified
- build servers no longer throw erroneous errors if PyPI is down
- production environments no longer need build tools installed on them
- production environments are guaranteed to be running on the same version of dependencies that were developed on and tested
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3202/reliable-testing-deployments-with-pip-and-wheel 
106. Python on the Brain: A Quick Dive into NuPIC
Jeff Kramer

At OSCON 2013 Numenta's Jeff Hawkin presented NuPIC, an open source implementation of his theories on how the brain stores information, makes connections between entities, and predicts the future.  In this talk we'll do a quick overview of the neocortical theory, and then dive into an interesting code example of how NuPIC works, and build a simple, fun neocortical prediction app in python.
 recording release: yes license: CC-BY  

107. Python on the Brain: A Quick Dive into NuPIC
Jeff Kramer

At OSCON 2013 Numenta's Jeff Hawkin presented NuPIC, an open source implementation of his theories on how the brain stores information, makes connections between entities, and predicts the future.  In this talk we'll do a quick overview of the neocortical theory, and then dive into an interesting code example of how NuPIC works, and build a simple, fun neocortical prediction app in python.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3201/python-on-the-brain-a-quick-dive-into-nupic 
108. Reliable Testing & Deployments with pip and Wheels
Randy Syring

I plan to briefly introduce pip requirements files and the wheel format.  I will then demonstrate an approach for structuring requirements files, using "snapshot" requirement files, and building "wheelhouses" that get committed to your VCS.  This approach has the following benefits:

- known working & tested dependencies are clearly communicated between developers
- project setup for new developers is simplified
- build servers no longer throw erroneous errors if PyPI is down
- production environments no longer need build tools installed on them
- production environments are guaranteed to be running on the same version of dependencies that were developed on and tested
 recording release: yes license: CC-BY  

109. Visualizing Twitter Data with Blaze and Bokeh
Christine Doig

Making nice interactive data visualizations in the browser should be easy and fun! Let's explore tweets with simple IPython notebooks, a Blaze interface and Bokeh plots!

Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, but also deliver this capability with high-performance interactivity over very large or streaming datasets. http://bokeh.pydata.org/

Blaze provides a uniform and adaptable interface to access a variety of backends, which include streaming Python, Pandas, SQLAlchemy, and Spark.
http://blaze.pydata.org/
 recording release: yes license: CC-BY  

110. Modeling Dollar and Community Currency Flows in a Virtual US County Using Python
John Boik

John Boik is the author of the new book "Economic Direct Democracy: A Framework to End Poverty and Maximize Well-Being." John will delve into his Python-based simulation model of flows of the dollar and a proposed community currency (called the token) in a virtual US county.  He gives background on the proposed community currency system, called the Token Exchange System, explores how the model is structured, presents modeling results, and discusses potential social impact as guided and informed his book's thesis. As a hint of scale and potential impact, annual currency flows in the simulation model are measured in the billions.  A global partnership of interested academic, civil society, government, business, and philanthropy groups is now forming to move the book's proposal forward. 

Simulation model background: http://www.principledsocietiesproject.org/simulation-model/

Python TES-simulation Package: https://pypi.python.org/pypi/TES-simulation

Project and book details: http://www.principledsocietiesproject.org/ 
 recording release: yes license: CC-BY  

111. Modeling Dollar and Community Currency Flows in a Virtual US County Using Python
John Boik

John Boik is the author of the new book "Economic Direct Democracy: A Framework to End Poverty and Maximize Well-Being." John will delve into his Python-based simulation model of flows of the dollar and a proposed community currency (called the token) in a virtual US county.  He gives background on the proposed community currency system, called the Token Exchange System, explores how the model is structured, presents modeling results, and discusses potential social impact as guided and informed his book's thesis. As a hint of scale and potential impact, annual currency flows in the simulation model are measured in the billions.  A global partnership of interested academic, civil society, government, business, and philanthropy groups is now forming to move the book's proposal forward. 

Simulation model background: http://www.principledsocietiesproject.org/simulation-model/

Python TES-simulation Package: https://pypi.python.org/pypi/TES-simulation

Project and book details: http://www.principledsocietiesproject.org/ 
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3203/modeling-dollar-and-community-currency-flows-in-a 
112. Visualizing Twitter Data with Blaze and Bokeh
Christine Doig

Making nice interactive data visualizations in the browser should be easy and fun! Let's explore tweets with simple IPython notebooks, a Blaze interface and Bokeh plots!

Bokeh is a Python interactive visualization library that targets modern web browsers for presentation. Its goal is to provide elegant, concise construction of novel graphics in the style of D3.js, but also deliver this capability with high-performance interactivity over very large or streaming datasets. http://bokeh.pydata.org/

Blaze provides a uniform and adaptable interface to access a variety of backends, which include streaming Python, Pandas, SQLAlchemy, and Spark.
http://blaze.pydata.org/
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3204/visualizing-twitter-data-with-blaze-and-bokeh 
113. A CPython Eating Its Own Tail
James Powell

This is an expert-level talk that dives into CPython and discusses various ways to embed Python interpreters. It starts with the "very high level" embedding & the "pure" embedding, shows a fairly novel "zero interpreter" embedding using Cython, a few attempts at a ctypes/cffi embedding, and builds to a finish with a source-filter embedding of a Python interpreter into itself. 

The purpose of this talk is to have some fun diving into CPython internals while looking practical approaches to embedding CPython interpreters into other (C/C++) processes. The final result, a Python 3 interpreter embedded into a Python 2 interpreter as an extension model, is novel but may be of fairly limited actual use. It is, however, pretty wild and a lot of fun!
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3205/a-cpython-eating-its-own-tail 
114. Conducting and Visualizing Set-Theoretic Social Research with Python
Claude Rubinson

In this talk, I will discuss a suite of F/OSS programs (Python/Qt) that I have developed for conducting "qualitative comparative analysis," a social research technique for analyzing subset relationships.  (For example, religious fundamentalists constitute a
rough subset of political conservatives: most religious fundamentalists are politically conservative but most conservatives aren't religious fundamentalists.)

The talk will review the process of developing the software, beginning with an R implementation that was ultimately discarded, and outline why I ended up choosing Python and review the consequences of that choice, both pro and con.  I will also discuss my current work on developing new techniques for visualizing subset relationships, including different approaches to presenting Venn and Euler diagrams.
More generally, I'll assess benefits and disadvantages of using Python for developing academic software.
 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3148/conducting-and-visualizing-set-theoretic-social-r 
115. A CPython Eating Its Own Tail
James Powell

This is an expert-level talk that dives into CPython and discusses various ways to embed Python interpreters. It starts with the "very high level" embedding & the "pure" embedding, shows a fairly novel "zero interpreter" embedding using Cython, a few attempts at a ctypes/cffi embedding, and builds to a finish with a source-filter embedding of a Python interpreter into itself. 

The purpose of this talk is to have some fun diving into CPython internals while looking practical approaches to embedding CPython interpreters into other (C/C++) processes. The final result, a Python 3 interpreter embedded into a Python 2 interpreter as an extension model, is novel but may be of fairly limited actual use. It is, however, pretty wild and a lot of fun!
 recording release: yes license: CC-BY  

116. Conducting and Visualizing Set-Theoretic Social Research with Python
Claude Jager-Rubinson

This will be a revised version of a talk that I gave at PyHou one year ago, the slides from which are available at  http://gator.uhd.edu/~rubinsonc/presentations/rubinson-201303-pyhou-kirq.pdf

I develop a suite of f/oss software packages (Python/Qt) for conducting "qualitative comparative analysis," a social research technique for analysis subset relationships.  (For example, religious fundamentalists constitute a rough subset of political conservatives: most religious fundamentalists are politically conservative but most conservatives aren't religious fundamentalists.)

In this talk, I will discuss the process of developing the software, beginning with an R implementation that was ultimately discarded, and outline why I ended up choosing Python and review the consequences of that choice, both pro and con.  More generally, I'll assess benefits and disadvantages of using Python for developing academic software.

As part of the talk, I will also discuss my current work on developing new techniques for visualizing subset relationships, including different approaches to presenting Venn and Euler diagrams, using a suite of programs/Python libraries that I will be releasing this summer.  
 recording release: yes license: CC-BY  

117. Lightning Talks
Sasha Hart, Jeff Rush, James Powell

(00:00) - Sasha Hart -- Make PyPI Fast
(0:01:36) - Sasha Hart -- Find Your Editor
(0:04:17) - Jeff Rush -- Ways to Call Out
(0:06:28) - Jeff Rush -- Weak References
(0:08:17) - James Powell -- Newton's Method

 recording release: yes license: CC-BY  
 Video: http://www.pyvideo.org/video/3206/lightning-talks-11 
118. Lightning Talks


Sign up in the lobby to give a lightning talk.
 recording release: yes license: CC-BY  



Location
--------
MSC 2300 B


About the group
---------------
PyTexas is the annual, regional gathering for the Python community in Texas. PyTexas is organized and run by community volunteers. PyTexas, like most of the Python community, is focused on providing a diverse and enjoyable experience for everyone interested in Python. Please help us do that by following the code of conduct.