pre-release: Big Apple Py 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: Big Apple Py at Room 701 Sat August 15, 9p


Big Apple Py
=========================
When: 9 AM Saturday August 15, 2015
Where: Room 701
https://pygotham.org/2015/

http://www.amaconferencecenter.org/new-york-floor-plans.htm

https://pygotham.org/api/v1/events/2/schedule/

file://schedules/pyg15.json
https://pygotham.org/2015/

Topics
------
1. Contributors, Colleagues, Clients & Customers: Sustaining Open Source Communities (Keynote)
Nick Coghlan

When it comes to open source software, what do you want to be doing?
Do you want an occasional hobby where you can have fun contributing
back to the community? Have a significant impact on the world by being
able to commit full time to growing the available pool of free & open
source software? Spend time getting to know the needs of a particular
organisation, and applying open source tools to solve their problems?
Or perhaps you'd prefer to understand the general needs of a broad
category of potential users, and design open source tools that will
solve their problems without customisation?

Getting involved in open source development communities can offer all
these opportunities and more, but it also makes it incredibly easy for
us to overcommit and burn ourselves out. If we're not careful, our
unrealistic expectations can also contribute to the burnout of our
peers. To ensure sustainability, we need to come to a shared
understanding of some of the different ways we can engage with open
source communities, what we can reasonably offer for free, and what we
should expect to be paid for.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3764/contributors-colleagues-clients-customers-su 
2. Teaching Python in Middle School
Meg Winston Ray 

There is no shortage of interest in bringing coding to the classroom. Schools have a wealth of ed tech products to choose from, and many organizations are willing to fund classrooms in this endeavour. 

So why aren’t more students learning programming? How are the gender and racial diversity gaps in tech industry being perpetuated in the classroom and what can do about it? Are block-based educational languages drawing students into computer science?

A programming curriculum writer and teacher discusses the realities of bringing Python into the secondary classroom. We’ll explore the common pitfalls and obstacles that teachers and students must overcome, examine some effective approaches for classrooms with diverse learners, and discuss why Python is a great fit for the classroom.

Bring a device to to collaborate and join the discussion. 
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3776/teaching-python-in-middle-school 
3. PyLLVM: A compiler from Python to LLVM-IR
Anna Herlihy

The LLVM Compiler Infrastructure Project provides a convenient, transportable intermediate representation (LLVM-IR) which can be compiled and linked into multiple types of machine-dependent assembly code. TupleWare is a new analytical framework built at Brown University that allows users to compile functions into distributed programs that are automatically deployed. TupleWare compiles user functions to LLVM-IR, and C++ code is generated and applied to the data through the distributed framework. This talk will go through the steps of writing a comprehensive Python front-end for TupleWare with a focus on the construction of a compiler from a limited subset of Python to LLVM-IR.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3767/pyllvm-a-compiler-from-python-to-llvm-ir 
4. Docker containers in the cloud: Provider Deathmatch
Jeff Uthaichai

This talk will be co-presented with Chris Becker.

Running Python applications in containers has been a paradigm shift that has enabled developers to spend less time worrying about infrastructure across multiple environments. Cloud providers are catching up with this shift and have started to provide services to host containers with ease. We'll pit the big providers against each other and declare the victor.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3811/docker-containers-in-the-cloud-provider-deathmat 
5. The Yosai Project: Security Management for Any Application
Darin Gordon

Yosai is a security management framework.   It is a port of Apache Shiro,  written in Java and widely used today.
Yosai encompasses Authentication, Authorization, and Session Management using a highly modular architecture.
It features a simple, intuitive API that will help developers adopt robust security management for their applications in little time.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3807/the-yosai-project-security-management-for-any-ap 
6. Hack the Derivative
Erik Taubeneck

Numerical estimates of the derivative of a function are typically done using an approximation called "Finite Difference." However, the accuracy of this method is computationally bounded. Using Complex Analysis, we're able to take the step in the imaginary direction on the complex plane and achieve near perfect estimation of the derivative in only three lines of code!  

Slides available at: http://slides.skien.cc/hack-the-derivative-pygotham.pdf
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3820/hack-the-derivative 
7. Development with Vim and Python
Jerry Meeker

Using VimL and Python to write scripts for the Vim text editor.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3794/development-with-vim-and-python 
8. Connecting color and language
Dean Hillan

A project that maps descriptive, human-generated language for many different colors to a collection of images. This allows specific searches to be carried out on the color content of the images. The technique is applied to the image collection of Paperless Post cards to help improve user search.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3812/connecting-color-and-language 
9. Name Things Once
Jack Diederich

Naming things is hard so you should do as little of it as possible. Your coworkers will thank you for it. 
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3792/name-things-once-0 
10. A Tour of the Asynchronous Web
Peter Herndon

Learn the difference between synchronous and asynchronous web frameworks, why you would want asynchronicity, and some of the ways to achieve it. We will also explore some of the currently available asynchronous web frameworks, compare simple example applications written in each, and take a quick look at how they perform under different flavors of Python - 2.7, 3, and PyPy.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3817/a-tour-of-the-asynchronous-web 
11. Building a Real-Time Analytics Service with InfluxDB
Jeremiah Malina

"Real-time Analytics" is a near ubiquitous term in the tech industry today and users expect dashboards to update in real-time, but providing real-time analytics can be hard and usually involves many moving parts. In this talk we'll explore how InfluxDB can simplify the real-time component of an analytics stack.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3815/building-a-real-time-analytics-service-with-influ 
12. Building tools for Social good
Eric Schles

Computational tools are becoming increasingly necessary in the world of social good.  There is an increasing need for data science, automation, search and distributed computation.  In this talk I will take listeners through a number of general purpose tools including, building a image search database with python and a few libraries, how to build geographic information systems with geodjango,  and how to process and extract information from pdfs.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3808/building-tools-for-social-good 
13. Writing Winforms and WPF applications in Python
Maksim Kozyarchuk

Introduction to techniques for building Winforms and WPF  applications with CPython
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3774/writing-winforms-and-wpf-applications-in-python 
14. Generic Programming for Agent-Based Modeling
Gene Callahan

How to use the techniques of generic programming in the context of agent-based modeling.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3781/generic-programming-for-agent-based-modeling 
15. Python As A Language
James Powell

What is (C)Python? What is it really? Is it just a scripting language or a glue language for connecting component or is it more? This talk investigates CPython internals in order to motivate a view of Python as a "system language."
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3763/python-as-a-language 
16. Building a data processing pipeline in Python
Joe Cabrera

Recently, the growth of publicly available data has been enormous. Python has a number of libraries and tool to aid you in building your data processing pipeline. These tools include Celery, Requests, BeautifulSoup and SQL-Alchemy. When combined together you can build an efficient and scalable data processing pipeline.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3761/building-a-data-processing-pipeline-in-python 
17. Hacking with python for dummies. (Ms-067 implementation)
Yam Peleg

With all the current news about cyber security, hacking a computer seems to be a simple process in now days, but is it? How hard can it be to break into a personal computer using only python?

Yam Peleg performs a live demonstration of malicious code in action, designed specifically to penetrate and steal information, the malware and the exploit will be written using only python.


Note: This talk includes heavy live code development and reverse engineering.
 recording release: no  
 Video: http://www.pyvideo.org/video/3772/hacking-with-python-for-dummies 
18. What Can I Do With "Deep Learning"?
Kyle Kastner

"Deep learning" is a recent rebranding and mixing of old and new methods in neural networks, graphical modeling, and optimization. We will discuss the applications of these approaches, how these methods are different than others for machine learning, and what recent advances in the field mean for people trying to solve problems in the real world.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3806/what-can-i-do-with-deep-learning 
19. Terminal Whispering
Thomas Ballinger

The terminal emulators we run so many of our programming tools in are more powerful than we remember to give them credit for, and the key to that power is understanding the interface. This talk will cover terminal colors and styles, writing to arbitrary portions of the screen, handling signals from the terminal, determining the terminal's dimensions and scrollback buffer behavior.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3759/terminal-whispering-0 
20. Hooked on Webhooks
Justin Woo

A WebHook is an HTTP callback: an HTTP POST that occurs when something happens; a simple event-notification via HTTP POST. 
Want to learn how to consume webhooks with Python? In this short talk I'll go over what are webhooks, why they are important and how to consume various webhooks using Python.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3789/hooked-on-webhooks 
21. The Graph To My Hearduino
Paul Logston

This talk is about building an Arduino driven Electrocardiograph (EKG) machine. The majority of the talk will be focused on the Python wrapper used for streaming bytes from the Arduino. There will be a live demo.

 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3755/the-graph-to-my-heardunio 
22. Garbage Collection in CPython
Andrée Monette

This talk is an overview of CPython's approach to memory management - how the life cycle of an object progresses, how objects are flagged for collection, and the tools that Python provides for manipulating the garbage collector's behavior. Along the way, we'll explore how to learn about Python language features through experimentation.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3798/garbage-collection-in-cpython 
23. Why doesn’t anyone use my library?
James Robert

When, why, and how to open source code, and how to get it into real-world use. Lessons learned working on Pydub (audio for humans, a la requests). It's grown to incorporate contributions from around the world, over 1000 stars on GitHub and the nicest API you'll find this side of the DAC.

Slides: https://speakerdeck.com/jiaaro/why-doesnt-anyone-use-my-library
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3783/why-doesnt-anyone-use-my-library 
24. Sharding Data for Fun & Profit
Wes Chow

The hash function is the veritable hammer for pounding a large array of engineering problems into submission. Want to shard your database? Draw a key from your data, hash it, and voila, instant deterministic load balancing! That’s simple enough, until you look more carefully at distributional effects, failure, and redundancy management. We’ll review well known (consistent hashing), not so well known (rendezvous hashing), and recent (shuffle sharding, copysets) work that goes a long way towards engineering more favorable failure scenarios.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3799/sharding-data-for-fun-profit 
25. Introduction to the Pygame Library
Piper Thunstrom

Learn the critical building blocks of the Pygame Library, see how they fit together, then talk about some Python specific design patterns.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3769/introduction-to-the-pygame-library 
26. Scaling Graph Computations with Online Algorithms
Andrew Kelleher

There are a lot of ways to represent graphs, and a lot of interfaces and techniques for scaling them. We'll address how you might scale arbitrary operations on graphs by implementing a data stream that allows you to do your computations online.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3801/scaling-graph-computations-with-online-algorithms 
27. Building Cross-Platform Native Desktop Applications with PyQt
Adrian Heilbut

Qt is a mature C++ framework for building cross-platform, native GUI applications that target Windows, Mac, Linux, mobile, and embedded platforms.  PyQt (and PySide) provides python bindings for the Qt library, and allows one to quickly and easily build GUI applications in pure Python.  While web-based and mobile development gets all the attention these days, there are still many use-cases for which native apps are much more suitable.  Qt provides an extremely rich and well-designed set of classes to build complex user interfaces both visually (with Qt Designer) and programmatically, and PyQt makes building native apps incredibly fast and easy.  This tutorial will introduce the main ideas and modules in Qt and how the bindings work, and demonstrate building an application from scratch with PyQt.

 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3818/building-cross-platform-native-desktop-applicatio 
28. Modeling an Arithmetic Logic Unit in Python
Joseph Mosby

The Arithmetic Logic Unit is a fundamental component of any computer. Though its operations are commonly treated as a black box by most software engineers, in this talk we will peer under the hood of what's really going on inside a sample ALU.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3784/modeling-an-arithmetic-logic-unit-in-python 
29. Using Graphs for High Quality Recommendations
amit bhattacharyya

Using a graph data structure and community detection algorithms to provide recommendations to a cluster of similar buyers.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3770/using-graphs-for-high-quality-recommendations 
30. The New Basic App: Complex Data Aggregation in Flask
Jarret Petrillo

Flask, Twitter Bootstrap, and Python all working together make complex data curation projects feasible.  Beginning with the basics we build a a lightweight application that does quite a bit.  And build to a curious corollary of the information age: with so much out there aggregating and processing information could be the sole basis of a new enterprise.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3795/the-new-basic-app-complex-data-aggregation-in-fl 
31. Time to Rhyme: The CMU Pronouncing Dictionary and You
Allison Parrish

I recently made a Python module called Pronouncing, which is an easy and fun interface for the CMU Pronouncing Dictionary. In this talk, I'll show you how to use the library for creative English text generation tasks: counting syllables, finding rhymes, and matching meter.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3814/time-to-rhyme-the-cmu-pronouncing-dictionary-and 
32. Python, Inc.
Jessica McKellar

Open source communities and startups have some important properties in common. They are highly resource-constrained and must work to engage and retain users in a competitive and ever-changing market. How can open source communities apply startup best practices? In this talk, we take on the role of CEO of Python, Inc. and ask ourselves what actually matters for growing and sustaining an open source community.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3766/python-inc 
33. Using Networkx to Explore Pathfinding 
MaxBezahler

In this talk we're going to cover using networkx to build a graph and then use various networkx algorithms to find characteristics about that path. We will cover:
- Introduction to Graphing and Pathfinding 
- Where to find other materials including Pycon 2015 conference materials and websites with simulations 
- Creating a graph, creating static layout, displaying nodes and edge value 
- Using networkx for pathfinding specifically:  dijkstra_path and astar_path 
- We'll go thru the algorithm used for dijkstra and astar (A*)
- Quick discussion of new trends in path Finding: IDA*, theta* and phi* and Ant Colony Optimization algorithm
Slides and code *will* be available on Github 


 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3810/using-networkx-to-explore-pathfinding 
34. How reviewing code makes me a better programmer!
Amy Hanlon

Many developers see code review as a way to keep code compliant and to reduce bugs, but code review can be so much more than that! In this talk, I’ll share how reviewing code became one of the most valuable ways for me to become a better programmer. I’ll cover how you can learn more from code review, how you can improve your skills as a reviewer, and how to influence your colleagues to give you better code review.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3797/how-reviewing-code-makes-me-a-better-programmer 
35. introduction to open and collaborative data analysis with pandas and IPython/Jupyter Notebook
Melissa Lewis

Data munging is typically an involved and noisy process, but pandas -- especially using the notebook format -- make it easy to share and reproduce the process of analyzing data, from munging to analysis and even exploratory visualization! In this talk you'll get a glimpse of the pandas workflow and some tips for getting the most out of its use in the IPython/Jupyter notebook.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3760/introduction-to-open-and-collaborative-data-analy 
36. Scraping (some of) the NYPL Catalog: a story of Requests and BeautifulSoup 
Susan Steinman

A foray into web scraping in Python
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3777/scraping-some-of-the-nypl-catalog-a-story-of-r 
37. Foreign Function Interfaces for Web Developers
Tristan Fisher

Python is a general-purpose programming language that is well-suited for a web application stack.  However, components of your Python application could benefit from "mixing-in" the features of other languages.  This talk will cover strategies for integrating Python and other languages, including Foreign Function Interfaces.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3778/foreign-function-interfaces-for-web-developers 
38. Introduction to Meteor
Christie Ewen

Meteor is an open source platform for building next generation web and mobile apps in Javascript.  Meteor is powered for cross-platform apps (iOS, Android, web).

Slides: http://www.slideshare.net/christieewen/intro-to-meteor-py-gotham-aug-1516-2015
 recording release: no  
 Video: http://www.pyvideo.org/video/3791/introduction-to-meteor 
39. One, two, buckle your shoe
Kat Chuang

Programming is more than just typing, and takes more than talent. Producing software takes time, dedication, and teamwork. This talk gives guiding points for those learning to program and a demonstration of setting up a Flask web app.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3768/12-buckle-your-shoe 
40. Metaclasses and Decorators in the Wild: Ingesting Data With FeedEater
Silas Ray

FeedEater is a small library (https://github.com/Suitey/FeedEater) I wrote at TripleMint that we use to manage the interface between data sources with disparate formats and our DB.  This talk runs through the basic principles involved and shows how the pieces fit together.  If you are interested in Python metaprogramming but have never been able to see how to use it practically, this is a good example of using it in the real world.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3775/metaclasses-and-decorators-in-the-wild-ingesting 
41. State of the library: matplotlib
Thomas A Caswell

A short summary of recent developments of matplotlib and how to write re-usable plotting code.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3796/state-of-the-library-matplotlib 
42. Untangling Twisted: How We Scaled a Python Service for Online Publishers
Brian Muller

At OpBandit, we built a Python Twisted service that renders different versions of news content for rendering on top publishers across six countries.  At a high level, whenever a reader requests a page on a publisher's website, our service selects from various versions of headlines and photos to deliver the collection of versions that we think a user is most likely to click.  This requires decision making on the fly for each request with hard requirements for speed and reliability.  This talk will cover how we used Twisted to scale our service to provide hundreds of millions of optimized pages / month for readers, as well as what it's like to attempt to scale real-time data science recommendation algorithms within Python.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3782/untangling-twisted-how-we-scaled-a-python-servic 
43. Type Python, Press Enter. What Happens?
Philip James

This talk discusses how the Python interpreter starts, from the perspective of the operating system (OS). Together, we will see the ins & outs of processes: fork(), exec(), stdin, and stdout.

It focuses on OS concepts and requires no background knowledge, using analogies to Python data structures. (The talk does not discuss Python’s own initialization, such as site.py or global variables.)
 recording release: no  
 Video: http://www.pyvideo.org/video/3787/type-python-press-enter-what-happens-0 
44. Introduction to pysparkling
Sven Kreiss

A native Python implementation of Spark's RDD interface.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3813/introduction-to-pysparkling 
45. Python Not Recommended
Adam Forsyth

At Braintree, we've moved away from using Python. We've always used Ruby as our primary language, but Python used to be the go-to choice for things where Ruby wasn't a good fit. I will discuss the problems we've had with Python, why we decided to move to other solutions, and what we've chosen instead. Finally, I'll talk about where we're continuing to use Python and what the future holds.  
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3788/python-not-recommended 
46. An Iterative Approach to Inverse Problems using Python's Numpy
Katya Vasilaky

This is a talk about inverse problems and improving on past algorithms that have focused on inverse problems in math, data science, tomography, and image processing. We use a new iterative method coded in Python's Numpy and show it's ability to recover images compared to previous approaches. 


 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3800/an-iterative-approach-to-inverse-problems-using-p 
47. What's up with th@? Adding an Operator to CPython
John Hergenroeder

How do you add an operator to CPython? We'll use the recent addition of the '@' operator in 3.5a1 to answer that question and dig into the CPython internals in the process, touching on how the interpreter goes from source to execution.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3790/whats-up-with-th-adding-an-operator-to-cpython 
48. Good Test, Bad Test
Dan Crosta

In a highly dynamic language like Python, testing is even more critical than in compiled or more static languages. Like any other code we produce, tests can be either good or bad. This talk explores three fallacies of testing, and the mistakes and bad habits these fallacies encourage; and shows how to write good tests which help assure proper behavior without impeding development progress. 
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3757/good-test-bad-test-0 
49. Voice programming: a how-to
Evan Fredericksen

Despite the many people who suffer from RSI, the subject of programming by voice is still a relatively unexplored one. Although there are numerous proof-of-concept demonstrations available online and many brilliant pieces of software that make voice programming possible, much of the configuration and learning of best practices are left to the user. This talk will cover what exactly goes into creating and using a voice programming environment.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3804/voice-programming-a-how-to 
50. Collecting and Organizing Boiler Data From Various Online Databases
Steve Slotterback

In New York City, building management agents and steam heating contractors alike typically work with hundreds of buildings and at least as many boilers.  When there is an issue with the boiler, they need to be able to get as much data about that specific boiler as quickly as possible. Thankfully, the New York City Department of Buildings (DOB) and the Department of Environmental Protection (DEP) have published databases online with various data on publicly registered boilers and burners. In this talk, I will discuss the methods I have used to scrape these boiler and burner data from the web using python libraries.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3793/collecting-and-organizing-boiler-data-from-variou 
51. Intro to Building Data Pipelines in Python with Luigi
Adrian Cruz

Luigi is a Python package open sourced by the folks at Spotify. It facilitates building out the workflows of working with data. You will learn about data pipelines and why Luigi helps out dramatically. This will be an introductory level talk, but all experience levels are welcome. 
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3779/intro-to-building-data-pipelines-in-python-with-l 
52. Pyxley: Easy Web Applications with Flask and React.js
Nick Kridler

Flask and React.js are a great combination for building light-weight web applications. We've developed Pyxley to provide a simple framework for building web apps and reduce the need for writing custom Javascript.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3805/pyxley-easy-web-applications-with-flask-and-reac 
53. Using Python for Sarcasm Detection in Speech
Rachel Rakov

In this talk, I discuss my work using Python to create a system for sarcasm detection in speech.  My goal in this task is to determine whether human intonation alone can be modeled to predict sarcastic speech.  I first extracted speech samples from the titular character of MTV’s late ‘90s hit TV show “Daria”.  Using crowdsourcing techniques to get the speech labeled for sarcasm, I created a corpus of speech that is annotated for sarcasm and sincerity.  I used several Python toolkits to extract a number of acoustic features from this speech that are indicative of sarcasm.  The first tool I used was Snack Sound Toolkit, a library for Python that does basic sound handling and analysis.  I used tools in Snack to extract a baseline of basic acoustic features that have been found to be helpful in human sarcasm identification.  I then used NumPy, SciPy, and NLTK to model prosodic contours, and applied these contours to the task of automatic sarcasm detection.  This approach applies sequential modeling to representations of pitch and intensity curves obtained via k-means clustering.  Using machine learning (specifically Weka’s SimpleLogistic (LogitBoost) classifier), this system is able to predict sarcasm with 81.57% accuracy.  
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3773/using-python-for-sarcasm-detection-in-speech 
54. Improving Your Flask APIs
Thomas Peterson

We'll take a look at the flask-restful and flask-restful-swagger packages and how they can be used to make your APIs simpler, cleaner, well-documented, and easier to extend.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3780/improving-your-flask-apis 
55. Dev Environments: The Next Generation
Travis Thieman

Development environments are a necessary part of every developer's workflow. They can also be a great source of friction. What may begin as simply running  `python my_app.py` eventually bloats as you add more apps, more databases, more testing frameworks, and more developers. We'll talk about the evolution of a typical development environment, how it lets us down, and how we try to make it better. We'll end with an introduction to Dusty, a new tool which uses Docker containers to take our development environments to the next level.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3803/dev-environments-the-next-generation 
56. Going parallel and larger-than-memory with graphs
Blake Griffith

Dask is an open source, pure python library that enables parallel larger-than-memory computation in a novel way. We represent programs as Directed Acyclic Graphs (DAG) of function calls. These graphs are executed by dask's schedulers with different optimizations (synchronous, threaded, parallel, distributed-memory). Dask has modules geared towards data analysis, which provide a friendly interface to building graps. One module, dask.array, mimics a subset of NumPy operations. With dask.array we can work with NumPy like arrays that are larger than RAM and parallelization comes for free by leveraging the underlying DAG.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3819/going-parallel-and-out-of-core-with-task-scheduli 
57. Think of the Children: A methodology for measuring the effectiveness of adaptive learning applications
Hillary Green-Lerman

Adaptive learning technology is used to provide personalized learning experiences for students. A common implementation provides individualized follow-up assignments for struggling students.   Using observed data, we show how to use bootstrapping and rejection sampling to create a valid comparative study of groups of students who do and don’t use adaptive technology, even when the samples are not uncorrelated.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3762/think-of-the-children-a-methodology-for-measurin 
58. SQLAlchemy ORM for Beginners
Jason Myers

We'll explore how to get started with SQLAlchemy ORM. We'll learn how to build data models, connect to databases, how the session works, and perform CRUD operations.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3802/sqlalchemy-orm-for-beginners 
59. What the FORTRAN is ** Doing in Python ?
en zyme

Exponentiation is just extended multiplication, or is it?  Only up to a point. In reality, Real numbers don't really exist, there are only a finite number of Integers, negative zero is not always the same as positive zero, and Complex numbers really are.  All of which make exponentiation both subtle and computationally expensive.  A retrospective and prospective of the intricacies of reification of 'number' and the occasional futility of mathematical operations in particular, \*\*.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3771/what-the-fortran-is-doing-in-python 
60. Introduction to HTTPS: A Comedy of Errors
Ashwini Oruganti

Given recent increases in hostile attacks on internet services and large scale surveillance operations by certain unnamed government organizations, security in our software is becoming ever more important. Through this talk, I'll give you an idea of how modern crypto works in web services and clients, look at some of the common flaws in these crypto implementations, and discuss recent developments in TLS. 
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3786/introduction-to-https-a-comedy-of-errors-0 
61. Acceptance Test Driven Development
Jessica Ingrassellino

Python offers excellent frameworks for unit and integration testing. However, many people don't realize that Python also has tools that have been built for Acceptance Test Driven Development. This talk will focus on Behave, an acceptance test development tool similar to Cucumber. Behave uses Python and Selenium, making available the libraries of both to create robust testing for front end applications.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3756/acceptance-test-driven-development 
62. Introduction to Topic Modeling in Python
Christine Doig

Topic models are a suite of algorithms that uncover the hidden thematic structure in document collections. These algorithms help us develop new ways to search, browse and summarize large archives of texts. This talk will introduce topic modeling and one of it's most widely used algorithms called LDA (Latent Dirichlet Allocation). Attendees will learn how to use Python to analyze the content of their text documents. The talk will go through the full topic modeling pipeline: from different ways of tokenizing your document, to using the Python library gensim, to visualizing your results and understanding how to evaluate them.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3785/introduction-to-topic-modeling-in-python 
63. Large scale non-linear learning on a single CPU
Andreas Mueller

This talk presents several methods for learning non-linear models on a single machine, where the dataset does not fit into ram. It will cover the hashing trick, kernel approximations, neural networks, and extreme learning machines (random neural networks).
This will be a fairly technical talk, showing off some of the lesser known out-of-core capabilities of scikit-learn.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3809/large-scale-non-linear-learning-on-a-single-cpu 
64. How Do Python Coroutines Work?
A. Jesse Jiryu Davis

Python 3's new “asyncio” module is an efficient async framework similar to Node. But unlike Node, it emphasizes a modern idiom called "coroutines", rather than callbacks. Coroutines promise the best of two worlds: the efficiency of callbacks, but with a natural and robust coding style similar to synchronous programming.

In barely 30 minutes I live-code a Python 3 async framework. First, I show how an async framework uses non-blocking sockets, callbacks, and an event loop. This version of the framework is very efficient, but callbacks make a mess of the code. Therefore, I implement coroutines using Python generators and two classes called Future and Task, and update my little framework to use coroutines instead of callbacks.

The live-coding demo isn't just a magic trick: watch to see how simply a coroutine-based async framework can be implemented, and gain a deep understanding of this miraculous new programming idiom in the Python 3 standard library.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3765/how-do-python-coroutines-work 
65. Topic Analysis of NYPD Officer Complaints
Evan Misshula

Scraping and topic analysis of postings from http://theerant.com a website where cops anonymously post.  Racist comments are frequent..  Has it gotten worse or better?  What does that mean for equal justice in NYC?
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3816/topic-analysis-of-nypd-officer-complaints 
66. The Python Datamodel: When and how to write objects
Aaron Hall

We've been told to stop writing objects. We've been told to write more objects.

In this talk, we cover the Python datamodel, when to begin writing objects,
what methods to start with that leverage the Python data model, and how to use
the "magic" methods of Python. This talk assumes you know a few of the basic
builtin data structures of Python (dicts) and have at least passing familiarity with
operators (+, -, * , /, in, etc...)

Which should we be doing? When? How?

 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3821/the-python-datamodel-when-and-how-to-write-objec 
67. Mr. CKAN Goes to Washington
Marianne Bellotti

Open source projects face different problems at every level of their growth. For projects like CKAN success can be almost as frustrating as obscurity. A python backed open data platform, CKAN is used all over the world to catalogue and distribute public data. The United Nations uses it, the Whitehouse uses it, governments large and small hire developers to customize and fine tune their installations. Why then does so little of that work make it back into CKAN core? This talk explores the problems that mid-size open source projects face getting in-house professional developers to contribute back, and what project maintainers can do to encourage those using their code to share their improvements.
 recording release: yes license: CC BY-SA  
 Video: http://www.pyvideo.org/video/3758/mr-ckan-goes-to-washington 


Location
--------
Room 701


About the group
---------------
"Paul Logston" , Jon Banafato , PyGotham Organizers