More COVID-19 dispatches

A great testing explainer

Both for work, and as someone living through this, I’ve been trying to understand how testing for the new coronavirus works. The inability for many people getting tested has many contributing factors, and the language of what constitutes a test “kit” is confusing. How Coronavirus Tests Actually Work (538) is an accessible explainer that is consistent with what I’ve learned from other sources over the last few weeks.

Explaining uncertainty

There is so much that researchers are still learning about the new coronavirus. While I think it’s comforting to have clear answers, it’s often more truthful, and useful to just break down the uncertainty. Every expert opinion you’ve heard about wearing masks is right (Quartz) does a good job of explaining why differing advice about whether or not the average person should wear a mask to help stop the spread of this virus is grounded in evidence.


I’ve been on self-quarantine since returning from the NICAR conference, where one attendee later tested presumptively positive for the new coronavirus.

One result of this is being able to do some maintenance on this website and I thought I’d use it to take some notes on information that stands out.

Fabric masks

I’ve seen a few guides on how to make fabric masks, and heard stories about how some hospitals requesting homemade masks, but this doc, Fabric Mask Best Practices, has the most detail I’ve seen and an appropriate amount of caveats.

A really good show

I’ve seen people organize online poetry readings and fashion shows, which is awesome, but it’s been hard to make some of these or it’s felt strange to enter an intimate space, even a virtual one, with strangers. Don Giovanni Records has organized an online fest, Going the Distance, and I am truly excited.

It starts at 1 p.m. on Monday, March 23 with the last set at 11:00 p.m.

Nasal swab

March 18, 2020 01:30 a.m.

If you’re curious about what a drive-through COVID-19 test looks like, this is it:


March 18, 2020 01:20 a.m.

I live with roommates, and really have done so for most of my adult life. This resource offers reasonably simple ideas for reducing risk to people you live with.

Things to do

March 17, 2020 12:30 a.m.

Tonight I went to a restorative yoga class. It was over Zoom. It was harder to focus, lying on a mat in my room, which has become my office and dining room and still had the remnants of each scattered around me. Still, it felt nice to do something that was in real time, even if everyone was remote.

It seems like many people are trying to find ways to be social, even as we try to keep a healthy distance. I’ve seen dance parties, a calendar of livestreamed musical performances, meditation, origami instruction and people hanging out in colorful 3-D virtual worlds.

Coronoavirus and the incarcerated

March 15, 2020 7:35 p.m.

Coronavirus and Prisons: A Toxic Combination (The Marshall Project) is a good rundown of the dangers facing incarcerated people from this virus which include barriers to hand washing and bans on hand sanitizer.

In Illinois, activists are petitioning the governor to provide medical furloughs or compassionate release for elderly or infirm people in prison who would be at higher risk if infected.

There are already some changes that will impact those in the criminal justice system. The Chief Judge in Cook County, Illinois has postponed most court cases for 30 days. Many on probation do not need to meet in-person with their probation officers.

Simulating social distancing

March 15, 2020 4:30 p.m.

The Washington Post has published a great visual explainer showing how different strategies for limiting social interaction slow and limit (or fail to) the transmission of the disease. It’s important to understand that these visualizations are for a simulated infection, not the new coronavirus, but this was the first time I really understood what it looked like when infected people have broad contact with others.

I think part of that struggle is the disconnect between the present and the past and between here in the U.S. and other places.

A timeline of the United States’ slow response

March 15, 2020 4:30 p.m.

The March 11 episode of “The Daily”, Why the U.S. Wasn’t Ready for the Coronavirus, has an easy-to-understand timeline of the U.S.’ misteps in making testing available to the virus, from the president shutting down a White House office created to respond to global health crisis, the delays caused by the decision of the CDC to make its own test instead of using the WHO’s and prohibiting researchers in Washington State from using an existing infectious disease research program and their own test to understand the spread of the virus.

A wild information environment

March 15, 2020 2:45 p.m.

I’ve seen even journalists share later discredited information, or be imprecise about the takeaways from even credible news. For example, the Los Angeles Times reports that some people who testedvery positive for the virus and recovered from symptoms are once again testing positive for the virus. It’s easy to take away from this that people are getting reinfected, but a careful reading of the article shows that there are a number of reasons why someone might retest as positive.

As with everything about this virus, there’s still a lot that experts are learning.

The U.S. is testing more slowly than other countries

March 15, 2020 2:35 p.m.

Rani Molla (Recode) made this chart and writes:

As of March 12, Americans had tested fewer than 10,000 people total when South Korea was testing that number of people in a day. Even Italy, where the coronavirus’s spread has forced the country to shut down, is testing people at a much higher rate than the US.

Source: VoxCare Newsletter, March 13, 2020

Setting environment variables in a Python virtualenv from a .env file

Lately, I’ve gotten into the practice of storing configuration in environment variables and keeping those in a .env file in the root of my project directory.

This file contains simple environment variable assignment and is used by Heroku and Docker.

However making sure these environment variables get set for any command being run in the development environment.

I often work in Python virtual environments, so putting the shell commands in the postactivate and postdeactivate scripts makes sense to me.

To set environment variables in postactivate:

# This hook is sourced after this virtualenv is activated.
cd ~/workspace/scrape-represent-statements
set -a
source .env
set +a

To unset environment variables in postdeactivate:

# This hook is sourced after this virtualenv is deactivated.
while read var; do unset $var; done < <(cat .env | grep -v '^\s*#' | sed  's/\s*\([^=]*\)=.*/\1/')

Music for early March


While in Mexico City, I went to “El Chopo”, a punk street market and got an Eskorbuto patch. It made me excited to listen to this band.

Smino – S!CK S!CK S!CK EP

Smino is a Chicago (via St. Louis) rapper performing March 2 as part of “The Come Up” series.

Watercolor Paintings – Red Scarf

My friend Mooj, who’s all over a bunch of cool radio/podcast projects made this music video.

Watercolor Paintings – Red Scarf from Zadie on Vimeo.

Muncie Girls – From Captain to Belsize

I read an article about this band that a friend shared on Facebook and they sounded really interesting.

Upgrading Homebrew-installed Postgres 9.3 to 9.5

I didn’t read the instructions when I let PostgreSQL get upgraded from 9.3 to 9.5 with brew upgrade. This is what I had to do to migrate my data after I had already upgraded:

# Switch back to the previous version of postgres, postgis
brew switch postgres 9.3.5_1
brew switch postgis 2.1.4_1
# Start the server (run this in a separate shell)
postgres -D /usr/local/var/postgres
# Dump all my databases
pg_dumpall > pg_dump
# Stop the server
pg_ctl -D /usr/local/var/postgres stop
# Switch back to the up-to-date version of postgres, postgis
brew switch postgresql 9.5.0
brew switch postgis 2.2.1
# Move the old data directory out of the way
mv /usr/local/var/postgres/ /usr/local/var/postgres9.3
# Initialize the data directory for Postgres 9.5
initdb /usr/local/var/postgres
# Start the server
postgres -D /usr/local/var/postgres
# Import the database dump
psql -d postgres -f pg_dump
# Delete the dump file
rm pg_dump
# Stop the server
pg_ctl -D /usr/local/var/postgres stop
# Start the server with launchctl
launchctl load ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist


I played three different shows, with three different bands in 48 hours. So different playing for a handful of folks below the Loyola Red Line, in a crowded basement and on a giant stage. It was a hectic weekend, but ultimately, after the dust settled, I feel lucky to get to do all this.

Defiance, Ohio playing at the Fest, 2015.  Photo by @jimmyvague (

Defiance, Ohio playing at the Fest, 2015. Photo by @jimmyvague (

“Rabbit Bucket” playing next to the Loyola Red Line. Photo by Roberta.

Defiance, Ohio playing at the Fest, 2015.  Photo by @waxwingsmusic (

Defiance, Ohio playing at the Fest, 2015. Photo by @waxwingsmusic (

Property tax increases and renters

There’s been a lot of coverage of the mayor’s property tax increase, and some provisions to reduce the burden on low-to-moderate income homeowners. My first thought went to renters, though:


In-real-life data visualization of Chicago Budget


Originally from:

Sincere. Fucking. Curiosity. Above all things.

New Music for Early August

Janelle Monáe + Wondaland Records – Hell You Talmbout

This references a bonus track off of Monae’s 2013 release, I think.

Mick Jenkins – Wave[s]

Mother Cyborg – Tough Femme Mix

Aye Nako – White Noise

Here’s a Pitchfork review of the track. From the review:

Dixon elaborated on the song, saying it’s about how “whiteness is centered in everything, how it taught me to hate myself for being black, how when I was a kid I used to pray to God that I could be white… how it scares me that white supremacy doesn’t even need white people to perpetuate it.”

Tunde Olaniran – Transgressor


Gold Paint Boy – little engine