This is a story that Jeremy Gorner and I wrote from police complaint data that Gorner got from an FOI request. Read the story, Tribune analysis: Cops who pile up complaints routinely escape discipline
Introducing Clarify

Source has a blog post that Derek Willis and I wrote about Clarify, a small Python library for parsing data from Clarity Election Night Reporting (ENR) systems.
This was developed during OpenNews’ Elections Code Convening, which was really fun, productive and a compelling alternative to hackathons as a model for collaborative hacking.
Cleaner Data

Along with David Eads, I gave a talk on cleaning data based on my experience working with convictions and elections data at the Chicago School of Data Conference. The session detail page is here and my slides are here. You might find my speaker notes helpful. They’re in the GitHub repo for the slide deck.
Image: Mud Volcanos creative commons licensed (BY-ND) flickr photo by “Caveman Chuck” Coker
New music for back to school
Prince (the other one)
I work up this morning to the din of the first day of school. Even being out of school for a while, I feel like the fall still has this sense of beginning to me, even as the summer comes to the close.
Out of curiosity looked up the current band of a friend I’ve fallen out of touch with and was instantly pulled in by what I heard. Have you ever been haunted by a song and found yourself playing and replaying the same song a dozen times to see if the lyrics match up with the music’s powerful first impression? That’s what happened to me when I heard “How ya been feelin'”, a track from a forthcoming 7″ from Austin’s Prince. It has such a great combination of energy and sadness. The lyrics are direct, but use imagery that evokes something more than the words. The other recordings on the band’s Bandcamp page are pretty great as well.
Una Bèstia Incontrolable and Iron Lung
Last week I saw Una Bèstia Incontrolable and Iron Lung play and I enjoyed hearing two bands play interesting heavy music that’s still grounded in punk and hardcore idioms. It’s hard because seeing heavy bands live sometimes feels like the way we engage with the music is so predictable compared with the music.
I really enjoyed this Noisey interview with Iron Lung because it revealed some surprising influences that I hadn’t listened to very intently including Flipper’s “Generic Flipper” and Rudimentary Peni’s “Death Church”.
Dystopian Society
Some dear friends just moved to Florence, Italy and I was curious what was going on in local music. This death rock band is the first thing that came up when I google “Florence Italy DIY punk”.
Tools for visualizing network graphs
Tools for extracting structured data from a PDF file
New music for early August
Richard The Third by Richard Album and The Singles
I play in a cover band with the drummer of the Singles and he had a great one-liner describing this band which was something like “theatric power pop”. This is their new record and they’re on tour now.
Black Rainbow
They played Chicago this week and it was one of the best performances I’ve seen in a while. Direct but not boring punk music.
Sorrows and In School
Chicago’s queer punk fest, Fed Up Fest was a few weeks ago. It was really great. Good music, and a vibe that felt fun and purposeful. While I was excited to finally get to see Limp Wrist, even if they hadn’t played their unannounced set, I would have been satisfied to see some awesome bands that I had never heard of before. Two of my favorites were New York hardcore bands Sorrows and In School.
Lock straps


I love my Soma Porteur Rack and I love how it helps me take weight off of my body and onto my bike.
However, my small u-lock didn’t securely fit on the rack with a single bungee chord.
So, I sewed these straps out of 1 1/2″ velcro.
I’m interested in seeing if the velcro makes lock-ups more annoying and how the velcro holds up to getting wet and dirty.
The Che Cafe vs. profit-seeking models at public universities
The Che Cafe, a collectively run all-ages music venue in San Diego, is facing closure by university administrators. Luckily, a court has temporarily halted their eviction.
It’s a nice venue and I’ve played there with Defiance, Ohio a number of times. Long-running, all-ages, DIY spaces are important, but this this paragraph from a press release about the court order connects the cafe with larger dynamics around the financialization of public higher education playing out in so many of our communities and lives.
Arguably, the real reason for the lease termination is economic. And this is why non-students and the broader community should care and join this push to preserve the venue, even if you have never attended or heard of it before. The University administration has shifted to decisions rooted in valuing revenue-generation and profit-seeking above all else. The Che Facility does not bring in windfall profits for the University. It stands in contrast to a Starbuck’s licensed cafe, or a parking lot where each space brings in hundreds of dollars, or even to a new science building that can house researchers securing grant dollars from which the University can take a sizeable cut. The social spaces the University seems to prefer are privately operated, profit-driven and not dedicated to providing practical educational opportunities, self development and creative expression and growth that more traditional spaces like the Che Cafe affords.
Fuzzy-matching strategies
This is a list of strategies for doing quick fuzzy matches that I’m summarizing from a thread that started on June 9, 2014 on the NICAR-L mailing list.
Fuzzy Lookup Excel Add-on
This add-on created by Microsoft can be downloaded here.
It reportedly runs into trouble when trying to match ~3000 records with another ~3000 records.
Increasing the threshold from it’s default to a higher value might provide better performance.
Reconcile CSV
Reconcile CSV is a project of Open Knowledge labs that is described as
Reconcile-csv is a reconciliation service for OpenRefine running from a CSV file. It uses fuzzy matching to match entries in one dataset to entries in another dataset, helping to introduce unique IDs into the system – so they can be used to join your data painlessly.
MySQL’s Soundex() function
OpenRefine
Dan Nguyen provided this recipe for OpenRefine:
If you’re looking for non-Excel/database solutions…you can also do it by hand with OpenRefine.
- Combine both lists into one file with a single name column
- Import it into Refine
- Create a second column called “refined_name_key” that is a duplicate of the original name field
- Cluster and de-dupe using Refine’s text-clustering
- Export out (into something like a CSV)
- Import this table into your existing setup
- Join the name fields of the two original tables against the “refined_name_key”