Building a Live College Financial Health Dashboard

One of the major effects of the coronavirus has been to accelerate trends that were already in motion. Retail, an industry already in peril, has seen some of the sharpest declines in absolute sales since the start of Q2 2020 (though there has been a bit of a rebound since then). Similarly, we’ve watched as schools and universities lean on video instruction and other techniques as they (at least try to) reopen amidst the pandemic while minimizing risk to students. Some have been more successful at this than others.

Because things aren’t dire enough out there, and because my home…

Reading Latin at Scale

Image for post
Image for post

I have an old edition of Ancient Greek passages for sight translation practice that opens with an exhortation from the German theologian Albrecht Ritschl: “Lesen, viel lesen, sehr viel lesen, möglischt viel lesen:” Read. Read a lot. A lot a lot. If at all possible, read a lot.

I’ve written several articles on writing software to make ancient literature more accessible. Where before I focused on direct analysis of a corpus or a word, for this project I wanted to build something that would help me live up to Ritschl’s advice and read—a lot—at scale.

When I was studying for…

Mapping the New York Times’ Datelines Since 2015

I read Bari Weiss’ resignation letter from the New York Times with some perplexity. In particular, I found her claim that she “was hired with the goal of bringing in voices that would not otherwise appear in your pages” a bit strange: Weiss is, after all, a wealthy graduate of Columbia who’s lived in the Northeast her entire life.

I’ve been playing around with New York Times archive data for some time and wanted to test Weiss’ claim. Has there been a (quantitative) change in the news the New York Times produces, especially since November 2016?

In this post, I’m…

Make Flashier Flashcards

Image for post
Image for post

I wrote a recent post about choosing some ancient text to read because, well that’s something I do.

In that post I chose a corpus of fragmentary texts available at the wonderful DFHG project, and ran some NLP analysis to determine which would be easiest to read (my Ancient Greek vocabulary isn’t what it once was, and it never was all that great, to be honest).

Unfortunately, I didn’t take my own advice (nusquam tuta fides, as they say). I decided to read the seventh speech of Dio Chrysostom, a celebrated orator of the 1st century AD.

The entire speech is divided into two parts. The piece opens with a charming and substantial vignette about the life of…

Some time ago I wrote a brief article about a Washington Post dataset compiling all fatal police shootings since Jan 1, 2015. In that post I showed evidence of racial disproportionality in fatal shootings. Young Black men in particular were being shot and killed by police at higher rates than their White (and Asian) counterparts. In the wake of George Floyd’s murder in Minneapolis, I created an interactive dashboard so users can explore the data referenced in my post, which is hosted here. With this app, users select a state and are shown statistics about the rate, number, and demographics…

Image for post
Image for post
The Library of Alexandria

Since the onset of COVID-19 and social distancing guidelines I, like many others, have been looking for ways to assuage anxiety. I’ve managed to find some comfort (and edification) in the Greek and Latin classics. Now is as good a place as any in this story to offer Thomas Jefferson’s evergreen, and, in some circles, famous quote:

[T]o read the Latin & Greek authors in their original is a sublime luxury … I enjoy Homer in his own language infinitely beyond Pope’s translation of him, & both beyond the dull narrative of the same events by Dares Phrygius, & it…

It has been a minute since my last post, where I used R to look for evidence of racial disparities in police shootings. I got that data from the Washington Post, which leads me in a roundabout way to today’s post. I wanted to do some more exploration with Washington D.C. data; while there is a wealth of it — and much of that is actually cool and interesting stuff — I’d also started experimenting with Bokeh, a visualization library in Python that has native javascript integration and thus makes for nice, web-ready charts. That led me to look for…

Moving on from the (relatively) lighter topic of getting to know and use some Google APIs, I wanted to do something that focused on the actual analysis of some real-world data. That’s where this week’s dataset of the week comes in — a list of police killings maintained by the Washington Post, and available here. I’ll be looking at some interesting (interesting?) features of the data and conducting a few inferential tests with R. Some of the questions we’ll want to answer are things like, “Is there a relationship between race and fatal police shooting?” (yes) and “Does the mean…

Having seen a ton of these kinds of posts online, I felt I had to write a vanity post of my own. I decided to outline all the steps I took in building a “final product” to highlight some of the additional steps involved in this (/any other) data project. A disclaimer that I haven’t edited the notebooks for clarity and cleanliness, so it might be harder to follow along with this post than a typical code-along tutorial.

This project came about because I was interested in testing out Google’s Big Query (BQ) and its included public datasets. In part…


Delivering the finest gymnosophistry west of the Indus. An occasional blog about projects I’ve undertaken, usually focusing on data and analytics.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store