I worked on a large Django site with a strong geographic focus. We had a PostgreSQL backend and used Celery for tasks. In particular I focused on scraping and presentation of external datasets in various formats including web pages, structured files, APIs, and even PDFs. I also helped create an internal system for the timely detection of scraping errors.
I worked on a large Pylons app for managing ad campaigns, which had a complex GUI written in ExtJS and jQuery. Later I switched to developing a large Django app for executing cable promotions. My unique contribution was introducing frontend tests to the development process, using QUnit and PunkyBrowster.
I worked on an ASP.NET app to extract data from a SQL Server database and display it as XML to end users. I also created a Python command line program to generate hundreds of T-SQL queries, ushering in the official use of Python at the company.
I cover how to implement different types of tasks in an asyncio-based web application, including how to start them, stop them, and send incremental data to a web frontend using websockets. I also spend a little time reviewing asyncio concepts. View slides
Realm is a mobile database for iOS and Android. On iOS, it's meant to be a replacement for Core Data, offering a similar API but with better performance and a smaller footprint. View slides
An overview of PEP 3156 and basic usage of the reference implementation, codenamed Tulip. This is now known as asyncio, and is currently in the Python 3 standard library. View video
I discuss how we implemented various scrapers at EveryBlock. I give an overview of the various tools we employed. I also give some advice for managing a collection of constantly-failing scraper programs. View video
Introduction to CoffeeScript language for Ultimate Language Shootout IV. I offer some comparisons with Python and demonstrate how to debug at the source level inside Chrome dev tools. View video
A PyCon tutorial that covers advanced language features that commonly appear in the codebases of popular Python frameworks. We go over the syntax and usage of frame hacks, magic methods, decorators, and metaclasses. There are examples and exercises for tutorial participants. View tutorial
App Inventor tutorial made for the ChickTech Mobile App Workshop. Shows high school students how to create basic Android apps that make use of the camera, GPS, networking, QR code scanning. There is even a bonus chapter on setting up a basic web app on PythonAnywhere. [View repo]
A simple ReasonReact app that randomly generates visually interesting characters from various writing systems such as Hanzi, Devanagari, and Egyptian Hieroglyphs. Demonstrates key concepts like JS interop, polymorphic invariants, and sending actions from stateless child components. Also includes a recipe to deploy ReasonReact apps to the Glitch app creation platform from a default orphan branch. [View repo]
A starter app for Glitch that uses React, Babel, and Webpack. Includes extra scripts that help with local development and examples of using widgets from the Material-UI React component library. [View repo]
Web interface for running command line programs for managing the music collection of a nonprofit radio station. Implemented using the asynchronous Tornado web framework. Real-time logging of processing is handled via websockets. [View repo]