|2019 / 05 / 22||»||The DC criminal justice information pipeline|
|2016 / 04 / 27||»||The government GitHub ecosystem|
|2015 / 07 / 23||»||Got Trees?|
|2014 / 04 / 20||»||Khmer Open Data Handbook translate-a-thon: Building foundations for an open Cambodia|
|2014 / 04 / 17||»||Adventures in Battambang|
|2013 / 10 / 30||»||AidData 3.0 Platform and Bridging the Data-Knowledge Gap|
An extension that randomly chooses a film to watch from your personal Kanopy watchlist.
Ongoing research into Itzik Feld, a Yiddish theatre star of the 1920s to 40s (and ancestor of mine). Despite his contemporaneous renown, his life and career have yet to be comprehensively documented.
An extension that nudges you to pause, breathe, and consider before you tweet. Inspired by Samim Winiger's Breath site and principles of slow/calm technology, and from witnessing too many tweetgrets.
A reading list manager for people with overly ambitious bookmarking habits. All links are automatically deleted after a week, so either read it or forget about it.
A homepage for various MetaFilter-oriented scripts, extensions, and bookmarklets users have made. Some of mine include a variant of the Calm Twitter extension for Metafilter, a comment filter extension, and userscripts for facilitating quote-replying, personalizing your homepage, and monitoring how much air you’re taking up in a thread. Many other users’ fun and useful creations are also featured.
A browser extension for passively monitoring abuse reports you submit to Twitter. I wrote it to bring clarity to Twitter's blackbox moderation system, where updates often never come, have lengthy delays, or use misleading language.
Faced with government threats of legal action over allegedly unpaid taxes, The Cambodia Daily, an independent English and Khmer-language newspaper based in Phnom Penh, announced it was ceasing publication. Very few of its articles were archived elsewhere at that point.
This repository contains the URL of each English and Khmer article available through the paper's online archive, its title, date of publication, and the URL where I backed it up to the Internet Archive.
A plain JS tool for calculating equivalent resistance/capacitance. Takes as input parallel/series electrical circuits "diagrammed" as nested lists. Includes a standalone library for doing math with fractions.
Poirot is a Python-based command line tool for finding text patterns in Git revision histories—both commit diffs and messages. It is especially useful as part of a pre-commit hook to avoid accidental publication of passwords and PII.
Groupthink helps you install, update, and manage GitHub organization-specific command line scripts. It standardizes use across members, without cluttering up
/usr/local/bin. Developed with a friend over at 18F.
As part of the open government and civic technology movements, governments have started opening up their source code and developing new digital projects "in the open." GitHub has played a large part in this shift. Much has been made of the potential for collaboration and reuse, but it wasn't clear to me how much of that was happening. This project used the GitHub API to analyze the "ecosystem" of government agencies on the platform.
The DC Public Library is gradually digitizing its Special Collections. On its Dig DC site, you can find historical DC cartoons, photographs, maps, oral histories, postcards, and other ephemera. Unfortunately, the site has a confusing and undocumented API.
I wrote up a guide, helped the DC Public Library set up a GitHub organization, and transfered the resource over to the library's archivists.
As part of DC Government's nascent innovation team, I helped refine a proposed data policy for DC, respond to public comments, and integrate feedback. The policy included the ambitious goal of "open by default." We also worked with the OpenGov Foundation crew on UI and bug fixes to the Madison collaborative policy platform, on which drafts.dc.gov was based.
Our proposal served as the basis for the Wichita, KS open data policy and later DC drafts.
Civic.JSON is like a small, structured
README for civic technology projects. It was first created by BetaNYC in 2014 for use by Code for America Brigades.
In partnership with Code for DC leaders, 18F developers, and others within DC Government, we extended the original specification for a broader user base (and created tools to promote its implementation). In doing so, we aimed to foster collaboration and reuse across government agencies, municipalities, and the citizen-government divide.
The new schema is currently in use at Code for DC. It has also informed the development of metadata guidelines for the US federal government's Code.Gov program, g0v.tw, maker.json, and the Foundation For Public Code (that I'm aware of).
DC's Urban Forestry Administration listens to citizen requests for trees, but it can be hard to know which tree boxes are available. After talking to some folks there, I put up a simple map-based site for finding empty tree boxes.
The site got a lot of buzz and resulted in a surge of tree requests (>1000 in the two months after its launch).
I collaborated with other volunteers to streamline applications for low-income housing in DC. District Housing is a Ruby on Rails app that allows social workers to automatically fill out hundreds of non-standardized PDF forms.
A web interface for fast and free batch geocoding of CSVs with Washington, DC locations. It has been used by Code for DC, local activists, and government agencies, including the DC Board of Elections, the Office of the Deputy Mayor for Planning and Development, and the Dept. of Housing and Community Development.
A plugin to automagically check if that book/e-book/audio-book you're dying to get is at the DC Public Library. Works on Amazon, Barnes & Noble, and Goodreads. A feed to tweet new books at the library. At one point, there was a bot. Also, sold some tote bags. In discussion with DCPL leadership to establish a formal partnership.
Instigated the first Khmer translation of the Open Knowledge Foundation's seminal Open Data Handbook. Partnered with Cambodian colleagues to organize several "translate-a-thons" with local NGO workers, activists, and university students. I wrote up a brief summary of our first event.