Thoughts
All posts
- On Being a Student Again
Before I start the second semester of my Ph.D. at Berkeley, I reflect back on the experience of being a student again after 5 and a half years away from academia.
- The State of Reason in 2021
Is Reason ready? Let's take a look at the language and its new offshoot, ReScript, nearly five years after its initial commit
- Playing with the Collatz Conjecture
In this post, I dive into visualizing the Collatz conjecture, one of my favorite problems in mathematics.
- Animating Maps by Centroid Sorting
In this post, we look at how to add delightful animations to your maps built in D3.
- Reflections on
renatureIn this post, I reflect back on the experience of authoring
renature, a new physics-based animation library for React, and how working on open source full-time can be transformative for fostering personal creativity. - Building Physics-Based Animations with
renatureIn this post, I look at how to create whimsical, delightful animations with
renature, a new physics-based animation library for React. - Introducing
renature: Experimenting with Physics for UI AnimationIn this post, I introduce
renature, a new physics-based animation library for React focused on modeling natural world forces. - End to End Testing React Applications with Cypress
In this post, I look at how to create robust end-to-end tests for your React applications using Cypress.
- Mapping in React and D3
In this post, we go over how to create engaging maps using D3 in React applications.
- Building Interactive D3 Dashboards with Carto Web Maps
In this post for Azavea, I look at how to combine interactive D3 dashboards with your CARTO web maps.
- Using NAIP Imagery and a Texture Raster to Model the Urban Forest
In this post for Azavea, I explore using NAIP and a texter rasture for performing precise urban canopy cover analysis in ArcGIS.
- Building a Map of Eviction in San Francisco with CartoDB.js
In this post, I walk through the process of building an interactive map of eviction in San Francisco using CartoDB.js.
- Help Professor Holler Build an Interactive Map for the Zuni Youth Enrichment Project (ZYEP)
In this post, I walk through building an interactive web map using Leaflet for the Zuni Youth Enrichment Project (ZYEP).
- Presenting at the Middlebury Spring Symposium
I present my senior research on mixing code and feminist methodologies into the GIS classroom to my peers at the Middlebury College Undergraduate Research Symposium.
- Presenting at the American Association of Geographers (AAG) Annual Conference
I head to the American Association of Geographers (AAG) annual conference in San Francisco to present my senior research on mixing code and feminist methodologies into the GIS classroom.
- Writing Documentation for the AWR Custom Tool
Documentation for a Python script that runs an automated areal-weighted reaggregation analysis in ArcGIS.
- Creating Custom Geoprocessing Tools with Python Scripts
I experiment with creating custom Python scripts to run common geoprocessing tasks in an automated fashion.
- Python Scripting for Automated Geoprocessing
In this post, I explore using Python to perform automated geoprocessing tasks in ArcGIS.


