Applications

A selection of my programming work, both professional and open source. Often developed in partnership with others. Samples of my news writing can be found here.

Los Angeles Times Data Desk

Maps, databases and visualizations published by our newsroom team

Mapping L.A.: Neighborhoods

Stats, maps and data about more than 200 L.A. neighborhoods

Mapping L.A.: Crime

Analysis of the latest crime patterns and trends across L.A. County

How fast is LAFD where you live?

How 911 response times stack up across L.A.

The line that help didn't cross

How city borders hold up urgent 911 responses

L.A. mayoral election results

Every ballot cast in the city since 2001

L.A. street quality grades

Explore pavement quality ratings for each of the 68,000 street segments in L.A.

Find Obamacare doctors in California

Search for physicians listed by Covered California health plans for individual policies in 2015

California's War Dead

Stories about California servicemembers who died during the wars in Iraq and Afghanistan

Hollywood Star Walk

A virtual tour of the 2,500 stars on the Walk of Fame

California Schools Guide

Test scores, demographics and comments about California's schools

DWP salaries database

An interactive database reporting the pay of each of the department's employees

boundaries.latimes.com

A website and API that allows anyone to quickly browse, download and reuse dozens of different maps

documents.latimes.com

A CMS for publishing tens of thousands of pages via DocumentCloud

timelines.latimes.com

A CMS for quickly publishing interactive timelines using a redesigned TimelineSetter

spreadsheets.latimes.com

A CMS for publishing interactive tables, and doing it on deadline

Billions to Spend

The political money behind the rebuilding of the L.A. Community College District

Oct. 2013 Buenos Aires elecciones

Election map that started at a hack day and ended in a Buenos Aires daily newspaper

PastPages

A crowd-funded, open-source website that archives dozens of news homepages each hour

pastpages.org

The archive captures the shifting homepages of major media sites

github.com/pastpages

The open-source code that powers PastPages

Storytracker

Tools for tracking stories on news homepages

The PastPages API

A machine-readable version for programmers to access the archive's database

django-urlarchivefield

A custom Django model field that automatically archives a URL

storysniffer

Inspect a URL and estimate if it links to news story

pastpages2gif

A tool to create animated GIFs from the homepage archive

California Civic Data Coalition

A loosely-coupled team from the Data Desk, the Center for Investigative Reporting and Stanford's Computational Journalism Lab

django-calaccess-raw-data

Download, extract and load California's CAL-ACCESS database

django-calaccess-campaign-browser

Refine and investigate campaign finance data in California's CAL-ACCESS database

Open-source software

Miscellaneous free and open code projects that I've developed or contributed to

python-elections

A Python wrapper for AP's election data service

django-bakery

A set of helpers for baking out a Django site as flat files

jquery-geocodify

A jQuery plug-in that provides autocomplete for address searches

python-googlegeocoder

A simple Python wrapper for version three of Google's geocoder API

Quiet L.A.

A muted base map for overlaying loud data visualizations

Silent L.A.

A black base map for overlaying bright data visualizations

django-softhyphen

Automates the hyphenation of text, allowing easy formatting of HTML in more bookish style

django-yamlfield

A Django database field for storing YAML data

django-greeking

Tools for printing filler text in your Django templates, a technique from the days of hot type known as greeking

django-project-template

A custom template for initializing a new Django project the Data Desk way

python-documentcloud

A simple Python wrapper for the DocumentCloud API

python-lametro-api

A simple Python wrapper for L.A. Metro's API for bus stops, routes and vehicles

latimes-calculate

A collection of simple math functions useful for doing journalism

latimes-statestyle

A Python library that standardizes U.S. state names

timeline-setter

Fixes and features for ProPublica's interactive timeline creator

palewi.re

The code that power this blog

checkbook-la-watchdog

A periodically updated archive of financial data published by the city of L.A.

appengine-template

Bootstrap a Google App Engine project with Django and other goodies

table-stacker

A framework for quickly publishing CSV files as interactive tables

django-boundaryservice

Fixes and features for the Chicago Tribune's map API framework

uptime-grove

A nodejs plugin for Uptime that sends notifications to the Grove.io IRC service

rackspacestats for pymunin

Munin plugin to monitor stats for Rackspace Cloud

Leaflet for Mapstraction

Added support for Leaflet to the Mapstraction framework

Leaflet

Added linejoin and linecap support to the JavaScript mapping library

WXWTF

We are the INTERNET. We are NOTHING. We are EVERYTHING. We are ERRBODY OUT HERE.

Questionheds

Is it news?

BRING THE NEWS BACK!

Excellence in art / We must preserve that

copyboy

A fork of GitHub's Campfire bot for IRC, aware of all Internet traditions

LAT Soundsystem

The voice of the Los Angeles Times Data Desk

Candy says

She's not an anchor, she just crush a lot

Kennedy Name Generator

Find your place in the Democratic Party's royal family

iesaysno.com

For those special moments of denial, known to every web developer

whogetsthegasface.com

gasface, the noun a stupid face directed towards someone you don't like