acs-nativity: A Python Package for Analyzing Changes in the Foreign-Born Population

President Trump has made reducing illegal immigration and increasing deportations central goals of his second administration (1, 2). This is causing many people to ask: how are these policies changing the country’s population? To help answer that, I built a new open-source Python package called acs-nativity. It provides a simple interface for accessing and visualizing […]

Upcoming Workshop: Data Analysis in R with the Tidyverse

Next week I’m teaching a three‑session, hands‑on introduction to data analysis in R using the tidyverse, hosted by Instats in partnership with the American Statistical Association. We’ll meet February 24–26, from 8–11am PT each day — three focused mornings designed to give participants a clear, modern workflow from raw data to publication‑ready results. I’ve taught […]

New GeoPandas Tutorial Published on RealPython

I just published a new tutorial on RealPython: GeoPandas Basics: Maps, Projections and Spatial Joins. If you’re interested in using Python to make maps or analyze spatial data, then I recommend checking out the tutorial. It walks you through common geospatial tasks using GeoPandas, one of the most widely used geospatial libraries in Python. Map […]

When One Graph Isn’t Enough: Upcoming Streamlit Workshop

Have you ever worked with a dataset so rich, so multidimensional, that no single graph—or even a dashboard—could do it justice? That was the challenge I kept running into as a data scientist and educator. Whether I was exploring US Census trends or trying to make immigration enforcement data more transparent, I found myself wishing […]

Visualizing Border Patrol Encounters Under the Second Trump Administration

Summary: I just updated my Immigration Enforcement Streamlit App with Border Patrol data from the current administration. This post walks through what changed and why it matters. Last week, I published Visualizing 25 Years of Border Patrol Data in Python, which explored long-term trends in Border Patrol “encounters” along the Southwest Land Border. At the time, […]