Planet Iron Blogger

December 08, 2017


What should be included in a GPO (Title 44) Reform Bill

The Committee on House Administration is working on legislation to reauthorize and reform the Government Publishing Office, holding four hearing on “Transforming the GPO for the 21st Century” over the past year. (1, 2, 3, 4). It would not be surprising if a reform bill were to be introduced soon.

The Congressional Data Coalition has not been part of the review process, although some of our members may have been engaged.

I want to share my personal suggestions for items to be included in reform legislation, although I do not claim to speak for anyone else and I have not read any draft legislation.Continue Reading

-- Delivered by Feed43 service

December 08, 2017 09:00 PM

December 07, 2017


Thoughts on Harassment in Congress and Reform of the Congressional Accountability Act

Today the House of Representatives held its second hearing on the issue of sexual harassment in Congress, focusing on the 1995 Congressional Accountability Act, the law that created the framework through which harassment and other congressional workplace issues are addressed.

The House and Senate recently passed resolutions requiring sexual harassment training, and the House is exploring whether it should do more. Rep. Speier has introduced legislation to reform the CAA, H.R. 4396, although she has said it does not go far enough.

I have some thoughts on how Congress can deal with the sexual harassment issue and other forms of discrimination as well.

As a starting point, we must remember that a significant component of harassment is about disparities in power. It is about control. It is about elevating one person at the expense of another. Any effort to address harassment must take power into account.

That’s why sexual harassment training will never be enough. Knowing something is wrong, doing it anyway, and getting away with it for some is a major purpose of harassment in the first place.

We must address structural issues. For example, when we conceptualize staff in a congressional office as working only for that member of Congress or Committee, we create a paradigm that makes resolution of these issues virtually impossible. In reality, congressional staff work for Congress. They are hired and fired by individual member offices, but they are all subject to the rules of their chamber in the processes that are created thereby.

Here are my recommendations:

(1) Much of congress’s HR work should be centralized in a central office capable of handling those matters. Individual offices must always retain control over work product, but there must be someplace else — someplace independent of the Member of Congress or Committee Chair — to go to address matters of harassment and discrimination (and other aspects of employment). This also would allow for a 360 degree approach to these matters, starting at the moment the junior-most staffer is hired.

(2) One of the factors in the disparity of power is economic power. Staff are dependent upon their bosses for their pay. We should move Congress to a system similar to the rest of the federal government, where there are pay bands for particular classes of work.

On that same point, congressional staff should be paid more. Many staff live paycheck to paycheck, and some have to take second jobs. Washington DC is very expensive. These circumstances create excessive dependency. (There are other reasons to do this having to do with the capacity of Congress to do its job). And, on that point, interns and fellows should all be paid and protected by law.

(3) Third, staff need to have an incentive to report problems that is at least equal to the countervailing damage that will be done to their careers when they speak up. When harassment occurs, they should be able to receive sufficient compensation that makes it worthwhile to address the problem. They also must be assisted in finding new jobs of equal status, responsibility, and pay.

Harassment is a systemic problem that degrades the ability of Congress to do its work. Providing incentives to staff to report problems will result in an overall increased functioning of Congress. It is in everyone’s interest to root out bad actors.

(4) Members of Congress and staff need a strong disincentive to engage in harassment. There must be personal liability in addition to institutional liability. This ensures that victims of harassment can be fully compensated while simultaneously ensuring that bad actors are held to account. There must be a consequence for bad behavior to be deterred. (In addition, perpetrators of harassment should not be able to receive any tax or other benefit for their misconduct.)

(5) Congress must address the collective action problem that prevents staff from pushing back against harassment and other forms of discrimination. In workplaces, where we have collective action problems between employers and employees, the answer historically has been unionization.

Some legislative branch support offices and agencies have unions. When the CAA was enacted, there was contemplation of allowing staff to create unions. The idea was that Congress should be subject to the same laws as everyone else. It’s time to allow non-managerial staff to unionize.

While unions are not perfect, they do provide an alternate forum for staff to collaborate to push back against problems in the workplace. Unions can advocate for staff in a way that helps address some of the underlying congressional dysfunction at both an individual and systematic level.

(6) Staff who are victims of harassment need advocates inside the institution and a clear process to protect themselves. The current process appears to leave staff at the mercy of forces much stronger than they are. They need to have advocates inside the institution whose job it is to help them through the process. In addition, the resolution process should be swift — not slow and byzantine — and staff who file complaints shouldn’t be effectively punished, either by being forced to work with their alleged harassers or leave that office.

(7) The congressional ethics administrative structure is broken. The House and Senate Ethics Committees are viewed as mechanisms by which members of Congress protect themselves from allegations, not as a place where one goes to resolve significant ethical matters. This is unfortunate. It also is what helped prompted the creation of the Office of Congressional Ethics.

The shared responsibilities around ethics/harassment issues between the Ethics Committees and the Administration Committees (the Committee on House Administration and Senate Rules Committee) often has the effect of having each committee defer to the other to take the lead on ethics matters. (The existence of the Office of Compliance has only exacerbated that problem). Shared responsibility does not work.

It is a particularly thorny problem because matters of harassment and discrimination — and ethics issues generally — are looked at from a micro perspective. While complaints and filings are reviewed on an individual basis, there is no apparent effort to look at these matters systematically.

For example, it is possible to identify congressional offices that are in distress by looking at the turnover rates in the offices and identifying the ones that are outliers. This is possible with data currently made available to the public, and there’s likely more information available internally. But, as far as is publicly known, no such effort is being made inside Congress. And there is no congressional office that I am aware of that would make an intervention should such high-risk offices be identified.

The same is true for other ethical matters. Many ethics disclosures are not made available online (even though they are available to the public). The Statements of Disbursements can hide when Member offices make pay-outs to settle complaints, either by mislabeling the payments or not providing sufficient detail. Payments for harassment was cleverly hidden inside Appropriations bills instead of disclosed in a forthright manner. Better, more comprehensive disclosure can help civil society help Congress check bad behavior.

(8) Congress should institute mechanisms to help it take the temperature of how well it is surfacing matters concerning providing a safe and welcoming work environment. For example, Congress should conduct congress-wide staff surveys, regular review of congressional data (such as the statements of disbursements) for at-risk offices, the creation of an ombudsman who advocates for staff, comparison of rates of reported harassment in Congress to rates of harassment in federal offices and agencies, among other mechanisms.

Just like in 1995 and 2007, ethics and harassment matters are at the forefront of congressional attention. This will not last unless Congress now puts into place mechanisms that continue to address these matters at both an individual and systematic level.

Thoughts on Harassment in Congress and Reform of the Congressional Accountability Act was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at December 07, 2017 05:01 PM

December 05, 2017


Recap of the Third Congressional Hackathon

On Thursday the House held its third Congressional hackathon–and it was an even bigger success than last time. (See our recap of #1 and #2.) The hackathon cemented the bipartisan nature of using technology to open up Congress (with opening speeches by Majority Leader Kevin McCarthy and Democratic Whip Steny Hoyer); included the participation of many members of Congress, staff from support offices and agencies, and the general public (including civil society and companies); and featured a dozen demos in addition to break-out sessions.

The following are my notes from the day. Highlights in include the various new tools demonstrated and the work of the modern hearings break-out group. Continue Reading

-- Delivered by Feed43 service

December 05, 2017 03:00 AM

November 27, 2017


Congressional Hackathon Set for Nov. 30

House Majority Leader Kevin McCarthy and House Democratic Whip Steny Hoyer are hosting the Third Congressional Hackathon on Thursday, Nov. 30 from 2-6 pm in the U.S. Capitol Building. RSVP here.

The event will bring together a bipartisan group of Members of Congress, Congressional staff, Legislative Branch agency staff, open government and transparency advocates, civic hackers, and developers from digital companies to explore the role of digital platforms in the legislative process. Discussions will range from data transparency, constituent services, public correspondence, social media, committee hearings and the broader legislative process.

They ask everyone submit ideas to be covered in the Hackathon by 6pm Monday concerning (1) existing projects worth sharing (on stage), and (2) projects/problems worth hacking in breakout sessions. For existing projects, individuals will be invited on stage to give quick pitches on projects they’ve been working on that are Congress-related and technologically innovative. For problems worth hacking, participants will break out into groups to work through problems that people suggest in advance.

Once you RSVP, they’ll send more logistical information. There also will be a happy hour the day before co-hosted by Google, the OpenGov Foundation, the R Street Institute, and Demand Progress. RSVP here.

The hackathons are well worth attending and are an excellent example of bipartisan cooperation inside Congress focused on making it a better institution. Here are our write-ups of the first and second hackathons. Also notable was the Congressional hackathon hosted by the OpenGov Foundation and the 2016 legislative data and transparency conference. (I still have to write up my notes from the 2017 conference, but it was great.)

If you’re looking for a list of neat tools for opening up Congress, here’s a 2014 roundup up a congressional toolbox,  a list of sources of structured data about Congress, a list of legislative tools, and a wishlist for new tools.

-- Delivered by Feed43 service

November 27, 2017 09:00 PM

September 18, 2017


Happy Birthday, U.S. Constitution. Can We Talk about the Constitution Annotated?

Yesterday was the 230th birthday of the U.S. Constitution, signed at the Constitutional Convention in Philadelphia on September 17, 1787. More than a hundred years ago, Congress ordered its Library to publish an annotated Constitution that explains that important document. Each edition, starting in 1913, records how our founding document has been interpreted by the U.S. Supreme Court, with new print volumes published each decade and updates published every two years.

One hundred years later, after a lot of prodding (2009, 2010, 2011, 2012, 2013) from us, a 2009 letter from Sen. Feingold, and a 2010 letter from the Joint Committee on Printing, the Library of Congress and Government Publishing Office began moving on how it publishes the Constitution Annotated online. There had long been a version available on the Congressional intranet, with hyperlinks and regular updates and everything, and a very limited version on GPO’s site, but now — finally — there’d be an online version that everyone could read, reuse, and would have timely updates.

Well, that didn’t quite happen as we hoped. Instead, the Library/GPO released a new app that published the document as a giant PDF. It’s pretty darn impossible to read that on your phone. And it isn’t updated all that often.

Compare that to the internal website available to Congressional staff. It’s got hyperlinks, is updated frequently, and makes the information available in a user-friendly way. So we’ve continued (2013, 2014, 2016) calling on the Library, GPO, and their oversight committees to release the Constitution Annotated as it’s updated and in a machine-readable format.

At this point, all that’s necessary is for the Library of Congress to mirror the webpages that are available internally and publish that. We’ll figure out how to piece it together. (Federal law already requires that the Constitution Annotated be publicly available, so there’s no concerns about confidentiality.)

Wouldn’t it be great if every American could have at their fingertips an expert, non-partisan explanation of the U.S. Constitution? It’s be a great resource for everyone, from schoolchildren to scholars. If the Constitution Annotated were available in a slightly better format, it’d be easy to use that information to automatically update Wikipedia, or answer questions in a chatbot, or be put to a number of uses that raise our level of conversation.

It’s time. Let’s publish the Constitution Annnotated online in a format that everyone can use.

Happy Birthday, U.S. Constitution. Can We Talk about the Constitution Annotated? was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at September 18, 2017 05:14 PM

September 08, 2017


The 2017 #OpenGov National Action Plan

By Daniel Schuman

Starting in 2011 and every two years afterward, the White House has drawn up an open government national action plan that is intended to contain specific, measurable open government commitments. The planning process is an outgrowth of the Obama administration’s open government initiative, which kicked off in 2009 when agencies were first required to create open government plans, but takes place on an international scale.

The Trump administration said it will continue this process and is collecting recommendations for the 2017 plan. (More explanation via the Sunlight Foundation.)

While we were heartened to see the Obama administration adopt one of our recommendations — a machine readable government organization chart — most of the other ideas were not put into action. We reiterate and update them here and call on Congress to require the administration to put them into effect. In summary, they are:

Access to Information

  • Create a proactive disclosure playbook, which provides guidance to agencies on how to identify datasets and other information ready for immediate online publication.
  • Follow through on the commitment to create a standard set of agency regulations governing the FOIA process.
  • Improve public disclosure of agency reports to Congress.
  • Examine how Section 508 of the Rehabilitation Act often impedes online publication of FOIA requests.

Lobbying and Influence

  • Use modern methods to collect and publish data about foreign lobbyists.
  • Significantly improve disclosure around lobbying efforts aimed at OIRA, which oversees major agency rulemakings.

Financial Transparency

  • Public agency Congressional Budget Justifications, which describe agency plans in plain language at a high level of detail, on the White House’s budget page in modern formats.
  • Improve disclosure of funding information for the Justice Department’s Office of Information Policy, which coordinates FOIA policy.
  • Gather better data on which FOIA fees are collected.

Rule of Law

  • Proactive disclosure of more opinions by the Justice Department’s Office of Legal Counsel, which often are de facto law for agencies.

Government Operations

  • Improve how the government creates and collects data through forms.
  • Provide better information on USAJobs, the federal employment website, including greater detail about telework and the actual employment location.
  • Create a free alternative to DUNs.

This is not a complete list. The White House should also publish its visitor logs, release financial conflict of interest forms online, and so on.

Access to Information

Public Disclosure Playbook — Issue Guidelines on Proactive Disclosure

Just as OMB created a public participation playbook, it should create a public disclosure playbook containing recommendations on processes agencies should follow to determine how to better proactive disclosure information. Agencies should be consulted on setting up the process. To help prioritize, agencies should look at requests made through the Freedom of Information Act, via other request-based systems (i.e., specialized forms for a particular dataset or document), and information regularly disclosed by public affairs and congressional relations offices.

Categories of information to consider for proactive release include: commercial (business-related), current events (relevant to journalists), ethics (relevant to government watchdogs, such as lobbying, ethics waivers, etc.), agency operations, and datasets (paper versions are disclosed to the public but the underlying dataset must be FOIA’d). More detailed recommendations are available here.

Better Disclosure of Agency Reports to Congress

Federal agencies are required to provide thousands of reports to Congress. Many of those reports are required to be published online; many other are available through FOIA. However, there is no central location for these reports — whether by agency or across the government. Each agency should have a dedicated webpage where all reports are published chronologically in a searchable, sortable, downloadable format. In addition. OMB should gather all executive branch reports and publish them on one central website — ideally the White House budget page. This will facilitate information discovery about executive branch activities, encourage the sharing of best practices, aid the creation of dashboards, and lead to a reduction in redundant reports. There is legislation, called the Access to Congressionally Mandated Reports Act, that would accomplish this goal, but the White House should act first.

Unified FOIA Regulations

In the Second National Action Plan, the United States committed to developing common FOIA regulations and practices for federal agencies. While some initial work was done last year, the Justice Department-led effort of creating a set of common FOIA regulations and practices appears to have stalled. A coalition of organizations released draft recommendations on what those regulations should look like. DOJ’s Office of Information Policy should restart the process and issue the common regulations.

FOIA and Section 508 of the Rehabilitation Act

There is significant confusion around the extent to which Section 508 of the Rehabilitation Act prohibits agencies from posting information online. A memorandum or other document that details how the law is intended to work should be released to the public. In addition, DOJ should investigate the extent to which Section 508 is preventing the online publication of documents, what steps are necessary to remove roadblocks, and how agencies may collaborate with the public to meet the needs of full disclosure as well as the legal requirements.

Lobbying and Influence

Modernize Foreign Agents Registration Act Data Collections and Reporting

Reporting practices for lobbyists for foreign entities desperately needs modernization, as we have described in this letter and has been the subject of congressional hearings. The FARA database still permits registrants to submit paper documents and it publishes those documents as PDFs. This obscures the useful information contained in the reports. Transparency advocates spend an inordinate amount of effort trying to transform these paper files into a searchable, sortable, downloadable database.

As part of its third Open Government Plan, the Department of Justice committed “to review the FARA website and electronic filing system, while soliciting reasonable and concrete suggestions and feedback from the public, and will work to make feasible and appropriate modifications to the database. Throughout this process, the Department will specifically investigate collecting and publishing registration information as structured data in a machine-readable format.”

It is time to require collection and publication of registration information as structured data. The Department of Justice should require all filings be made in an electronic format where the information can easily flow into a machine-processable digital format. In turn, that information should be released to the public in bulk as structured data so that the data it contains may be searched and sorted. To the extent the Justice Department has already transformed the information contained in the filings into an electronic database, that information should be published as well. Until filings are required in electronic formats, the Justice Department should publish data from all future FARA filings in bulk in a searchable, sortable, downloadable format. (We know it is possible.)

OIRA Lobbying Transparency

OIRA plays a central role in reviewing regulations. Executive Order 12866 and Disclosure Memo-B (2001) instantiate requirements to show how OIRA has affected a rulemaking and how OIRA has been lobbied by those seeking to alter the course of its deliberations. Multiple GAO and CRS reports, however, indicate that OIRA has not fully complied with its transparency requirements.

We believe that OMB should address the following concerns raised in GAO reports by:

  • Defining the transparency requirements applicable to the agencies and OIRA in Executive Order 12866 in such a way that they include not only the formal review period, but also the informal review period when OIRA says it can have its most important impact on agencies’ rules.
  • Reexamining OIRA’s current policy that only documents exchanged by OIRA branch chiefs and above need to be disclosed because most of the documents that are exchanged while rules are under review at OIRA are exchanged between agency staff and OIRA desk officers.
  • Establishing procedures whereby either OIRA or the agencies disclose the reason why rules are withdrawn from OIRA review.
  • Defining the types of “substantive” changes during the OIRA review process that agencies should disclose as including not only changes made to the regulatory text but also other, non-editorial changes that could ultimately affect the rules’ application (for example, explanations supporting the choice of one alternative over another and solicitations of comments on the estimated benefits and costs of regulatory options).
  • Instructing agencies to put information about changes made in a rule after submission for OIRA’s review and those made at OIRA’s suggestion or recommendation in the agencies’ public rulemaking dockets, and to do so within a reasonable period after the rules have been published.
  • Encouraging agencies to use “best practice” methods of documentation that clearly describe those changes.

We welcome OIRA’s recent effort to electronically publish information about lobbying activities. We hope OIRA will move to make this information available in bulk, or at a minimum, through an API.

We also agree with some recommendations made in a Center for Progressive Reform report, issued after reviewing all OIRA meetings between October 2001 and June 2011. In particular:

  • That a rule proposed by an agency, both prior and after OIRA review, should be publicly posted and in such a format as to permit a determination of what has changed.
  • If OIRA asks for a 30-day extension, its request and the agency head’s approval should be in writing and made public as soon as they are released.
  • When OIRA examines non-economically significant rules, it should explain in writing how the proposal fits under the exceptions set forth in EO 12,866 and post that information online.

Financial Transparency

Congressional Budget Justifications

Every year each agency releases a congressional budget justification. This contains useful information about how the agency intends to make use of its funding. Under OMB Circular A-11 22.6(c), each agency is required to make its justification available to the public (including posted on the Internet) within two weeks after transmittal to Congress.

All these budget justifications should be centrally housed on OMB’s website along with all the other budget materials. It is often difficult to find agency congressional justifications on their websites. Moreover, many people are unaware of the existence of the justifications in the first place. Even GPO, apparently, is unaware of the justifications (see this), as it does not gather them along with its publication of other budget materials.

Budget justifications should be published in a format in addition to PDF, such as TXT or DOC. PDF format makes it virtually impossible for computers to make use of the underlying information. For example, if you wanted to compare this year’s justification against last year’s by tracking the changes, you would be unable to do so when dealing with a PDF. OMB already publishes data in alternative formats to facilitate public use (specifically XML and CSV), and it makes sense to publish text in a format that can be analyzed as well. Recent appropriations legislation requires OMB to publish this information in a central location and we look forward to its implementation.

FOIA Spending at DOJ

The Office of Information Policy at the Department of Justice responsible for coordinating government-wide FOIA policy as well as addressing DOJ-specific FOIA matters. Unfortunately, it is not possible to know how much money (and resources) OIP is putting towards its government-wide efforts versus internal-facing efforts. In each Congressional Budget Justification, OIP should report the amount of money spent processing FOIA requests for the seven senior management offices within DOJ; the amount of money spent on adjudicating administrative appeals for all units in DOJ; and the amount spent on FOIA policy and compliance.

Tracking FOIA Fees

As part of its annual report on FOIA, the Justice Department’s Office of Information Policy should request agencies report on the amount of FOIA fees collected broken down by the basis on which the fees are collected.

Rule of Law

Office of Legal Counsel Opinions

The Department of Justice should update its policy to require disclosure of all opinions by default, except in certain limited circumstances. A determination to withhold publication should be made at the highest levels within the DOJ and be based upon clearly articulated rules. To the extent a document is withheld in full or in substantial part, a detailed unclassified summary of the opinion should be made available to the public in a timely way that conveys the essence of the opinion. In addition, the OLC should publish and contemporaneously update a complete list of all final opinions, indicating the title, author, subject, and date issued.

Government Operations

Form Reform

OMB’s Office of Information and Regulatory Affairs (OIRA) is charged with enforcing the Paperwork Reduction Act, including how agencies promulgate forms. Current agency practice permits and often encourages the use of paper-forms to gather and channel requests for information. This leads to re-keying of data, significant data quality issues, inadvertent disclosure of private information, and significant delays in public access to data. OMB should lead an effort to reform how the government uses forms.

Forms should be electronic and allow for the easy flow of data into databases. (This is consonant with OMB’s new data policy that directs that information should be collected electronically by default.) Information should be validated upon input and automatically checked for errors. To the maximum extent possible, unique entity identifiers should be employed, particularly those that are consistent across databases. Forced-choice mechanisms and limited data fields should be employed to restrict the kinds of information that can be input. Data should be automatically segregated as to what is and is not disclosable, so that no further review is necessary for data tagged as disclosable.

In addition, OMB should employ multiple techniques to improve the quality of information submitted. Extensive user testing (including A/B testing) should be performed and monitored on an ongoing basis to ensure forms are as easy to understand and complete as possible. Behavioral economics should be employed to maximize the effect of data collection, including through the development of model forms. Furthermore, to the extent possible, data should be pre-populated to reduce the amount of time required to enter information.

Federal Jobs: Telework and Location Information

The federal jobs website USAJOBS provides information about employment opportunities. It does not provide some important information.

First, for each job, the location of the job (or the nearest intersection) should be published along with the vacancy announcement. Current practice is to publish the address of the main office. Publishing the job location will allow job seekers to determine whether the commute is for them.

Second, for each job, the nature of telework availability should be published. While USAJOBS already indicates whether telework is possible for a position, it does not say the frequency of telework. This can be an important factor for any job seeker.

Finally, OPM issues an annual report on telework in government. It contains 100 pages of data that unfortunately are printed in a PDF. The underlying data should also be published in a spreadsheet format (like CSV). The report is entitled “Status of Telework in the Federal Government” and can be found here.

Create an alternative to DUNs

DUNs, the Data Universal Numbering System owned by Dun & Bradstreet, is a copyrighted, proprietary system used by the government and others to uniquely identify businesses. We believe the government must move to a non-proprietary, open system. This will save tremendous amounts of money, avoid lock-in to a particular company, and allow innovative use of this data. Our friends at the Data Transparency Coalition explain this issue in detail here.

The 2017 #OpenGov National Action Plan was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at September 08, 2017 04:03 PM


Or, how I learned to stop worrying and love classical music (part 2)

OK, you read Part 1, and are thinking that you’ll give all that music that sounded like an unending wash of notes another chance. So, where to begin? This is about the social habits of music listeners. Everything I said in part one about how the music is structured is of limited relevance here, which is frankly more about fashion statements and how people organize around them.

Where to begin

If the problem is that phrasing is more subtle, and phrase stops and starts aren’t at pre-set intervals, then the answer to the ‘where do I begin?’ question is not to begin at the chronological beginning and then plough through by birth date of composer, but to find works where the phrases stand out more and have clearer starts and stops.

I won’t give specific composer recommendations, because what’s easy for some is obtuse for others. Some composers (e.g., Copeland, Ives) range from clearly phrased to super-complex. But there are certain forms that lend themselves more to clarity for the unhabituated.

A concerto is a piece with a soloist backed by an orchestra. They tend to be shorter, and the soloist is a clear focal point, akin to the vocalist front and center in a song. So if you want a specific point to start exploring, maybe pick your favorite instrument — oboe, guitar, piano, clarinet, cello, trombone — and type, e.g., “harmonica concerto” into the Youtube search bar and see what turns up. United Airlines has a dial-a-concerto service: call them up, ask to speak to an operator, and they’ll play you Gershwin’s Rhapsody in Blue for twenty minutes to an hour.

Any composer you can think of has probably written a series of string quartets: Beethoven, Shostakovich, Haydn, Schubert, Adams, Fauré …. With exactly four voices, they will be easier to follow than many 50-voice orchestral pieces, and often have a clear back-and-forth between phrases carried by different parts.

Symphonies get a lot of play and bring in audiences at the concert hall, but they’re not really the place that I started, and they’re not the biggest part of my playlist. But I’ll mention Beethoven, because some people don’t have a copy of Beethoven’s nine symphonies, even though it’s not that challenging to find the whole set led by a well-regarded conductor (e.g., Karajan, Bernstein) via the search bar of any media provider. Beethoven got famous for a reason: he writes clearly, and his phrasing is easy to follow even the first time through, and like Gershwin, his melodies are generally hummable.

[Trivia: how important is Beethoven’s 9th Symphony, aka the national anthem of the European Union? When Sony engineers were deciding how long a compact disc should be, they decided that it should be just long enough to fit a rendition of the 9th.]

Movie soundtracks have to be easy to follow, because the audience is supposed to not be paying attention. There’s a period in the 40s and 50s when orchestral music leaned Hollywood. Copland, Prokofiev, Rimski-Korsakov, Korngold, even Shostakovich either went to Hollywood or were influenced by what was coming out of it. Of course, there are still soundtrack composers to the present day, like John Williams (the guy who wrote, e.g., the Imperial March from Star Wars). So the pros to soundtracks are that they’re easy to parse and have clear themes (check out the Requiem for a Dream soundtrack, which is one theme a thousand times), but the cons are…that it sounds like a soundtrack. Nonetheless, if that’s your gateway to the great beyond, that’s stellar.

How I found it all

There’s a short list of composers you’ve heard of, but the drop off to relative obscurity is fast. This is a problem for recommendation engines underlying pandora/ cetera, and I’m sorry to say that those systems have had limited payoff for me. Instead, the bipartite graph of composers and performers has been my recommendation engine.

Pop artists usually perform their own songs, because under U.S. copyright laws, if you play somebody else’s song on the radio, they get paid and you don’t. But musicians in the realm we’re talking about here have no hope of radio play, and both composers and musicians are expected to spend their lives getting good, so we get a clean division of labor, where a set of performers select pieces from those written by a set of composers. This is the bipartite graph we can bounce between. Start with a composer you like, find the artist/curator who likes playing those pieces, find out what other composers he/she/they like to play.

I saw Missy Mazzoli and her Victoire ensemble at the Wind-up Space in Baltimore. I have so many non-romantic hearts for this person. [Dear Tiger Beat, please stop dicking around and publish a Missy Mazzoli poster already. I know you people are getting my emails.]

Ms Mazzoli has written pieces for the NOW Ensemble. Her track was itself a delight, but the rest of the album gave me a list of other composers that the members of NOW thought were Mazzoliesque enough to put on the same album.

The Kronos Quartet recorded a piece by Alfred Schnittke under the title “Collected songs where every verse is filled with grief,” which changed my life. It even inspired me to make a twitter bot. Now I can say that what made it such a great gateway song is that, despite having a lot going on and being well-layered, the phrases largely have clear starting and stopping points.

This led me to explore Alfred Schnittke more — check out his suite in the olden style, which is entirely well behaved until a few phrases throw in super-modernist sour notes. But after their showing on Schnittke, if Kronos Quartet records a composer, I’m going to check that person out. They recorded an impressive clarinet concerto by Osvaldo Golijov, an Argentine composer, who often enlists his favorite soprano, Dawn Upshaw, who also performed some sorrowful songs by Henryk Mikołaj Górecki…

Concert halls have opening acts. Setting aside Beethoven’s 9th, most of the works you’ve heard of are under maybe 40 minutes, and people expect at least an hour for their ticket money. Thus, the structure you know and love of the headliner you’ve heard of and an opening act for you to learn about. I went to this Tchaikovsky/Prokofiev set and found out about this badass piece by Victoria Borisova-Ollas. If you can’t afford the ticket, the programs for your closest civic orchestra are all online, because your local symphony cares a lot more about outreach than any pop venue. Last year’s season is there for you to discover.

And setting aside the bipartite graph connecting composers to performer-curators, there are liner notes. No music critic can write more than a paragraph without comparing this composer with another. Even after reading the liner notes to a few dozen albums, I felt like I was The One Percent on the scale of music knowledge. The shift to online downloads has been a real disaster here, as Amazon et al think it’s OK to sell digitized music without digitized liner notes.


Down here at the last section, I’ll point out that, outside of the title that brought you here, I managed to write this whole two-part series without using the word “classical”. That word has serious problems.

I still don’t know what to call this class of music: Wikipedia recommended “erudite music”, which I like for its self-aware pretension; the directory on my hard drive is currently named oddbar music, in contrast to the prevalent evenbar music. But the name doesn’t really matter anyway, as long as it’s not “classical”.

First, the term is too broad: baroque keyboard flourishes, minimalists, liturgical choral, serialist string quartets, whatever Morton Feldman does— really, they’re all the same category? Here’s a well-researched map of popular music genres that portrays classical as a monolithic grey blob over the city of pop genres.

There’s some implication that if you’re into classical, you should like the whole blob, and if you don’t, you’re somehow not there yet. I’m certainly not: those of you who are well versed with all this will notice that I barely mentioned anything pre-Romantic, because I’m not doing this for school and I’m not going to pad my playlist for the sake of satisfying imaginary snobs.

Second, the term is too narrow, and has a powdered wig problem. The word is supposed to evoke centuries past, the way that vendors put out a new model of their product and rename the model from six weeks ago the “classic” edition. But its old-soundingness implies that this thread of music tapered off circa 1900, which is false to the point of being damaging. As per the links above, there is fabulous music happening outside of the 8-bar norm up to the present.

There’s a world of music that is not strictly divided into 8-bar units, and that has a lot of corollaries. That music will have more going on, more overlapping and interplay between phrases, phrases that are free to be as long as they want to be without circling back at bar 8, and for the same reasons that music will be harder to follow. I didn’t talk about any of the markers the textbooks focused on, like instrumentation (there are pop string quartets), or about age (there’s old dance music and symphonies written in this decade), or about other sundry fashion statements, because these things don’t clarify a lot but do create a wedge between the fans of some music and fans of other music. Let the snobs have their distinctions; I just want a better playlist.

Thanks to Susan E Chalmers (who, unlike the author, has some authority on these matters) for commentary and suggestions.

by Ben Klemens at September 08, 2017 12:24 PM

September 06, 2017


Or, how I learned to stop worrying and love classical music (part 1)

I was once a schlub like you. I knew that there’s more to music than four-minute pop songs and two-minute punk songs, but I just couldn’t get into it.

And then, I did. Here are some notes from the other side, in two parts. The first part will mostly be about structure of pop music and what makes it pop. I’m covering it in detail because many people don’t recognize its deep consistency behind the genres and subgenres, and because we can’t talk about getting into not-pop until we’re clear on the key point that’s being left behind.

In part two, I’ll talk about the implications for how somebody starting out to the wilds of non-pop music can explore the landscape. As per the title, the key point of part 2 is: stop worrying.

8 bars

But first: pop.

Here is how a song is structured in popular Western music: play something for eight bars (or measures, or downbeats). Then, play something else for eight bars. Continue stepping from one 8-bar phrase to the next until the song is over. Doesn’t matter if you’re listening to radio pop, (most) jazz, rap about bustin’ out of the system, metal, country, or western. 8 bars, then a different 8 bars. But like a magician asking you to draw a card, I can tell you to pick any song out of your playlist and count out the downbeats, and you’ll find the 8-bar pattern.

Now and then there’s a four-bar fill. There’s 12-bar blues (but two 12-bar groups= three 8-bar groups, so we’re not drifting very far). Even ostensibly free-form jazz will break down into solos or other segments that are multiples of eight — how else would you keep the band together?

To give you a clear example, check out Cabin Essence, by the Beach Boys. Ignore the lyrics, but I recommend putting on headphones for this one. In case you have associations of silly throwaway songs when you think about the Beach Boys, please note that their lead songwriter Brian Wilson described his songs such as this one as “teenage symphonies to God”. There are segments of a soloist with backing instruments, and segments where a veritable orchestra is playing.

Also, the eight-bar breaks are striking. Even if you’re a klutz with counting out the 1–2–3–4, 2–2–3–4, 3–2–3–4s (I certainly am), there are clear segments with blatant breaks. No matter how much the cello meanders, no matter how many layers Mr Wilson layered on, he stuck to the 8-bar rule.

A lot of people describe music like a literary essay, with phrases that build into sections. You have no problem finding a phrase in a song on a pop playlist, because the eight bar rule guarantees that phrases will come in evenly-spaced turns.

Your favorite catchy radio hit invariably has a chorus that sticks in your head. We can go back to the Beach Boys doing another teenage symphony, “Good vibrations”. The chorus (“she’s givin’ me good vibrations”) is such a catchy melody, the rest of the song pales. Maybe you can remember the musical phrasing from other parts of the song, maybe you can’t, but if you cut everything but the catchy part, you wouldn’t have a musical composition anymore, just an ad jingle. Going back to Cabin Essence, where some of the phrases had lyrics attached and some did not, Mr Wilson had a reason for putting all these disparate musical phrases into one song, and to me it feels clear that if some of the less engrossing phrases were missing it’d be less of a song.

Here’s one more track, entitled “Happiness is a warm gun”. Cabin Essence and Good Vibrations follow the standard format of two musical phrases (verse/chorus) that alternate to make a song; in “Happiness”, every eight-bar block is distinct from every other. Pop is not about repetition: stitching together a sequence of entirely different blobs is still recognizable as pop, as long as the blocks start and end on the 8-bar schedule. [Vocab: a song where every phrase is different is sometimes referred to as “through sung”. He’s hard to link to, but for another example see Prince’s “Ballad of Dorothy Parker”. Or see any opera.]

Phrasing in an odd-bar world

OK, now let’s drop the eight-bar rule.
This makes all the difference: the composer can write musical phrases that are five bars or twenty, and can blend them together in ways that you just can’t with a set 8-bar schedule. Segments that are eight bars will typically break down into even-split patterns (four two-bar blobs, or two four-bar blobs), but if a segment can be any length, subparts can be any length. Dropping the rule that everything has to stop or start at the eighth downbeat means that we can overlap phrases, and have one meander along while others come and go. Phrases from different instruments can interact and converse.

So, that’s different. And for us as listeners, it means knowing when one phrase ends and the next picks up will now take focus that wasn’t necessary when we were guaranteed that the transition was at the 8-count. When I listen to people who don’t like this stuff, such as myself a decade ago, they’d talk about how a composition just meanders in an endless stream of notes. Over on this side, I’m seeing that the me of before wasn’t picking up on where phrases begin and end, because the composer has no obligation to hit me over the head with regular start/stop points.

But the core of it is still a set of phrases. After all, it was written by a human. That human had to focus on one part at a time, just as an author has to write one sentence at a time. That person had a structure in mind and (apart from some mid-1960s composers) was not jotting down a random stream.

If you can recognize the phrases, despite their being of odd duration, you’ve won. You’re thinking at the level of language the author intended, and can consider how the composer fit the phrases together, what he or she is trying to say — in short, interact with the music.

Some of the phrases are ‘themes’, meaning phrases that repeat in variations throughout. I’ve read a few How To Listen books, and they all told me to look for the themes, but that’s like saying you should twiddle your thumbs through Good Vibrations until the chorus kicks in. The theme in a symphony will pop up in surprising places and surprising ways — it’s not caged into an 8-bar segment — but if you marked out the time where the theme appears, you’d probably cover only about ten or twenty percent of the typical symphonic work. A lot of the action in any piece is in the space surrounding the punchy core of the work.

I haven’t given any examples yet (you’ve already got enough composer names rattling around in your head, and The Internet), but here’s one example: Georg Friedrich Haas’s In Vain. I’ve listened a few dozen times, I really like this track (believe it or not), and I can confidently say that I’ve never paid full attention all the way through. Nonetheless, at any given point, I can listen to the current set of phrases and get something out of what’s going on at the moment.

There’s a story (I don’t care if it’s true), that a critic told William Faulkner that he read Light in August twice and still didn’t get it, to which Mr Faulkner replied, ‘then read it a third time’. After playing Haas’s work enough, the links across phrases made themselves apparent without my explicitly looking for them. This sort of bottom-up understanding of the composition has worked well for me, in contrast to the top-down approach of some How To Listen textbooks. If I’m straining to work out the overarching structure of a relatively new piece, I come out feeling crappy when I don’t get it; if I’m taking it one phrase at a time, there’s always something interesting going on, and can trust that the big picture will come into clearer view in due time.

What’s not different

I’m belaboring this thing about complex phrases because I couldn’t think of anything else that consistently distinguishes this music from pop.

There is a beat, though we’re obviously not here for bouncy dance music. True, some of the more modern composers do deliberately obtuse things with rhythm that make no sense without something to tap out the regular beat they omitted. I don’t listen to those composers very often. But dropping the 8-bar rule opens up less dancey possibilities for the percussionists because they don’t have to follow a fixed pattern of downbeats.

Are there technological differences? A few. Some earlier instruments like harpsichords could only play at one volume, so if a passage was going to ramp up in excitement the only way to do it was a flourish of notes, which brings us to the tired joke about compositions of the time having too many notes. That’s not a problem in the present day, and a symphony may go from super-quiet to super-loud in a second. This brings us to another major piece of audio technology: the automobile. Radio pop has to have a consistent volume all the way through to comfortably come through over engine noise. There are bands that have the dynamic range of Verdi, but they’re a rarity and people always comment on how interesting it is that they have quiet parts. So, if you listen in your car, you may miss out on a lot. A few weeks after buying a pair of headphones one step up from my typical $20 jogging-appropriate headphones — they were $45 and cover the ears — I remember realizing that music I’d brushed off before was getting increasingly heavy rotation on my playlists.

Is it the fashion statement? Maybe; more on that in part 2. Once you leave pop, the cover art is always a landscape in gradual decay, or maybe people dressed for a cocktail party. The track names are very clear about what the music will be like, but that brings with it a lot of lingo I had to get used to, like how movements are named after their pacing: Legato (French/Spanish: like the cat), Andante (Italian: literally for the teeth, a mid-range walking pace), Lento (the pace one would have during Lent), and so on. It lacks color. But apart from the occasional glance at the now-playing window with its 15 pixel by 15 pixel cover art, nobody interacts with the dressing of a track much any more.

Is it track duration? Most compositions on my playlist are about 6 to 15 minutes long. The ones that are longer are split into movements of about that length, meaning that they may add up to forty minutes or more. There are two implications to this. First, everybody spaces out at some point. It happens with Shakira albums; it happens with hour-long symphonies. Going back to a piece as a sequence of phrases, the story is better when every line hits home, but you can miss a few bits out of the typical musical story and still catch up.

Second, to generalize this point about listening from the bottom up, listening to only one movement is not some kind of affront to the composer. In pop, there are purists who insist that you’ll only understand a song if you hear it in the context of the album. Yes, it’s more fun to listen to a full symphony as a symphony, but I’m not going to deprive myself of good music because I can’t block out an hour, and the familiarity I gained from listening to shorter segments will add to my experience when I do get around to putting on the full work. On days when I shuffle symphonic movements and pop, I feel like the alternation causes me to pay more attention and better appreciate both. And on days when I want to hear the multi-movements as a unit, I wrote a Python script, Ludwig van Shuffle, to help me do this.

Maybe I’ve sold you to give music with meandering phrases another chance, to see if the phrases pop out and the structure thus becomes more evident. In part 2, I’ll talk more about how I went about finding good composers.

by Ben Klemens at September 06, 2017 12:16 PM

August 18, 2017


Congressional Reactions to Charlottesville

Congressional Reactions to Charlottesville: An Analysis of 327 Tweets and Statements

Trump addressing a joint session of Congress on 2/28/2017. Photo courtesy Wikimedia.

On Saturday, white nationalists including neo-Nazis, the KKK, and the “alt-right” held a rally/riot in Charlottesville, VA. In the immediate aftermath, President Trump said “many sides” were to blame for the violence. Again on Tuesday, Trump drew a moral equivalency between white nationalists and those who opposed them in Charlottesville. These statements were widely interpreted by many, including by white nationalists, to be a tacit endorsement of white nationalism. How did Congress react?

We analyzed 327 communications issued by Members of Congress on Saturday, August 12th. On that day slightly more than half of Congress weighed in on Twitter and in press releases — 152 Democrats and 133 Republicans (285 total). When we analyzed the language and the timing of congressional statements, several trends emerged.

  • 2/3s of those who weighed in on Charlottesville prior to Trump’s 3:33 p.m. statement were Democrats.
  • Democrats were 3 to 7 times more likely to condemn white nationalists by name than Republicans.
  • Only 7% of Congress condemned white nationalists by name prior to Trump’s 3:33 p.m. speech — 34 Democrats, 5 Republicans, and 1 Independent.
  • By the end of the day, 19% of Congress condemned white nationalists by name — 77 Democrats, 24 Republicans, and 1 Independent.

Many Republicans took their cues from Trump. Of the 102 Members of Congress who tweeted out on Charlottesville prior to Trump’s statement at 3:33 p.m., 2/3s were Democrats (67) and 1/3 were Republicans (34). By comparison, of the 184 Members of Congress who tweeted after Trump’s statement, they were more-or-less evenly divided between Democrats (85) and Republicans (99). Overall, slightly more Democrats (152) tweeted than Republicans (133) about Charlottesville on Saturday, August 12.

[L] Members tweeting before Trump’s speech. [C] Members tweeting after Trump’s speech. [R] Members tweeting on Saturday, August 12 on Charlottesville.

Republicans were overwhelmingly less likely to condemn white nationalists by name in the time before Trump spoke. 40 Members of Congress (7%) specifically named white nationalists in their tweets and statements issued before Trump’s speech. Of them, 34 were Democrats and only 5 were Republicans (1 was an Independent). 14% of Democrats in Congress and a paltry 2% of Republicans directly spoke out against white nationalists.

Members of Congress who called out white nationalists prior to Trump’s 3:33 p.m. speech

Just a handful of Republicans, like Sen. Jeff Flake (R-AZ), criticized white nationalists by name prior to Trump’s speech.

A more typical example is Speaker Paul Ryan (R-WI), who criticized “the views fueling the spectacle” but at that time did not name names. (Later that say he did criticize white nationalists directly.)

These types of communication arebeing interpreted (rightly or wrongly) by the white nationalists as tacit endorsement. While Speaker Ryan came out with more direct criticism later on, the vast majority of his colleagues did not do so on Saturday, even if they spoke up generically.

Republicans were still 3 times more reticent to condemn white nationalists by name after Trump spoke than Democrats. 62 Members of Congress specifically named white nationalists in their tweets and statements after Trump’s speech. Of them, 43 were Democrats (18% of all Democrats) and 19 were Republicans (6% of all Republicans).

Members of Congress who called out white nationalists on Saturday, August 12, after Trump’s 3:33 p.m. speech.

There are some notable exceptions to the Republican trend. Senators Orrin Hatch (R-UT), John McCain (R-AZ), and Cory Gardner (R-CO) issued strong statements.

Overall, of the 102 members of Congress who specifically called out white nationalists on Saturday, 3/4s were Democrats.

Members of Congress who called out white nationalists at any time on Saturday, August 12.

In addition, Democrats were more vocal overall, even when they didn’t specifically call out white nationalists. 285 Members of Congress tweeted or issued statements. Prior to Trump’s 3:33 p.m. speech, 2/3s of those speaking out were Democrats and 1/3 were Republicans. After the speech, the numbers roughly equalized.

Tweets by Party on Saturday, August 12. [L] Pre-Trump speech tweets. [C] Post-Trump speech tweets. [R] Tweets during the day.

Members of Congress continued to tweet and issue statements over the last few days. It’s likely that the percentage of each party calling out white nationalists directly has gone up significantly. Even so, it is notable how much more reticent Republicans on Saturday were to (1) speak out at all, (2) speak out early, and (3) single out white nationalists by name.

Most of our analysis draws comparisons between Democrats and Republicans in raw numbers. Comparing reactions by party as a percentage of members in each party heightens the gap in responses.

A full list of tweets and member statements follows the methodology section.


Using Twitter’s API and a list of Members of Congress on Twitter curated and maintained at the United States Project on Github, we downloaded all the tweets that contained the word “Charlottesville” made by Members of Congress on Saturday, August 12. We also used ProPublica’s Congress API to download statements made by Members of Congress. The spreadsheet is available here.

First, we downloaded each tweet or statement as well as accompanying data including when it was made, who made it, etc. We then automatically checked each tweet or statement for the following words: White, Right, Nationalist, Fascist, Racist, Supremacy, Nazi. Using that as a guide, we read every tweet and statement and manually categorized them by whether they directly calling out white nationalists. Many tweets spoke vaguely about bigotry without making it clear who they were condemning — or whether they were treating white nationalists and their opponents as equivalents.

Caveats: tweets that did not contain the word Charlottesville were not included, and there’s no way to know whether a press statement was issued prior or subsequent to Trump’s statement. In addition, statements made in other media (like on Facebook or TV) were not included unless it was obvious from the tweet. The value of this information is the trend it shows, not necessarily any particular tweet. It’s possible that a Member of Congress who made what we deemed a generic condemnation of bigotry meant to specifically call out the white nationalists — but either that wasn’t apparent to us or we made an error in our review.

Using this information, we answered the following questions (1) How many members of Congress said something on Saturday? (2) Did they say it before or after Trump’s speech? (3) Did they call out white nationalists specifically or make a generic statement? (4) How does this break down by party?


This research was managed by Daniel Schuman, policy director at Demand Progress, a progressive grassroots organization devoted to building a modern democracy. Significant help was provided by Lauren Ancona, David Cook, and Josh Tauberer (GovTrack).

List of Member Statements


Called out white supremacy after Trump: Rep. Martha Roby [R-AL2]

Said something without calling out white supremacy: Sen. Luther Strange [R-AL], Rep. Robert Aderholt [R-AL4], Rep. Mo Brooks [R-AL5], Rep. Terri Sewell [D-AL7]

We couldn’t find anything: Sen. Richard Shelby [R-AL], Rep. Mike Rogers [R-AL3], Rep. Gary Palmer [R-AL6]


Said something without calling out white supremacy: Sen. Dan Sullivan [R-AK]

We couldn’t find anything: Sen. Lisa Murkowski [R-AK], Rep. Don Young [R-AK0]

American Samoa

We couldn’t find anything: Rep. Aumua Amata [R-AS0]


Called out white supremacy before Trump: Sen. Jeff Flake [R-AZ], Rep. Ruben Gallego [D-AZ7]

Called out white supremacy after Trump: Sen. John McCain [R-AZ]

Said something without calling out white supremacy: Rep. Andy Biggs [R-AZ5], Rep. David Schweikert [R-AZ6]

We couldn’t find anything: Rep. Martha McSally [R-AZ2], Rep. Raúl Grijalva [D-AZ3], Rep. Paul Gosar [R-AZ4], Rep. Trent Franks [R-AZ8], Rep. Kyrsten Sinema [D-AZ9]


Called out white supremacy after Trump: Sen. Tom Cotton [R-AR]

Said something without calling out white supremacy: Sen. John Boozman [R-AR], Rep. Eric “Rick” Crawford [R-AR1]

We couldn’t find anything: Rep. French Hill [R-AR2], Rep. Bruce Westerman [R-AR4]


Called out white supremacy before Trump: Rep. John Garamendi [D-CA3], Rep. Nancy Pelosi [D-CA12], Rep. Barbara Lee [D-CA13], Rep. Eric Swalwell [D-CA15], Rep. Lucille Roybal-Allard [D-CA40], Rep. Mark Takano [D-CA41]

Called out white supremacy after Trump: Sen. Kamala Harris [D-CA], Rep. Mike Thompson [D-CA5], Rep. Doris Matsui [D-CA6], Rep. Jerry McNerney [D-CA9], Rep. Jackie Speier [D-CA14], Rep. Salud Carbajal [D-CA24], Rep. Pete Aguilar [D-CA31], Rep. Maxine Waters [D-CA43], Rep. Nanette Barragán [D-CA44], Rep. Susan Davis [D-CA53]

Said something without calling out white supremacy: Rep. Tom McClintock [R-CA4], Rep. Ro Khanna [D-CA17], Rep. Anna Eshoo [D-CA18], Rep. Jimmy Panetta [D-CA20], Rep. Julia Brownley [D-CA26], Rep. Judy Chu [D-CA27], Rep. Ted Lieu [D-CA33], Rep. Norma Torres [D-CA35]

We couldn’t find anything: Rep. Doug LaMalfa [R-CA1], Rep. Jared Huffman [D-CA2], Rep. Paul Cook [R-CA8], Rep. Jeff Denham [R-CA10], Rep. Jim Costa [D-CA16], Rep. Zoe Lofgren [D-CA19], Rep. Devin Nunes [R-CA22], Rep. Kevin McCarthy [R-CA23], Rep. Steve Knight [R-CA25], Rep. Tony Cárdenas [D-CA29], Rep. Brad Sherman [D-CA30], Rep. Grace Napolitano [D-CA32], Rep. Jimmy Gomez [D-CA34], Rep. Raul Ruiz [D-CA36], Rep. Karen Bass [D-CA37], Rep. Linda Sánchez [D-CA38], Rep. Edward “Ed” Royce [R-CA39], Rep. Luis Correa [D-CA46], Rep. Alan Lowenthal [D-CA47], Rep. Dana Rohrabacher [R-CA48], Rep. Darrell Issa [R-CA49], Rep. Duncan Hunter [R-CA50], Rep. Juan Vargas [D-CA51], Rep. Scott Peters [D-CA52]


Said something without calling out white supremacy: Sen. Cory Gardner [R-CO], Rep. Diana DeGette [D-CO1], Rep. Doug Lamborn [R-CO5], Rep. Mike Coffman [R-CO6]

We couldn’t find anything: Sen. Michael Bennet [D-CO], Rep. Jared Polis [D-CO2], Rep. Ken Buck [R-CO4], Rep. Ed Perlmutter [D-CO7]


Called out white supremacy after Trump: Sen. Richard Blumenthal [D-CT], Sen. Christopher Murphy [D-CT]

Said something without calling out white supremacy: Rep. Rosa DeLauro [D-CT3]

We couldn’t find anything: Rep. John Larson [D-CT1], Rep. Joe Courtney [D-CT2], Rep. James Himes [D-CT4], Rep. Elizabeth Esty [D-CT5]


Said something without calling out white supremacy: Sen. Thomas Carper [D-DE]

We couldn’t find anything: Sen. Chris Coons [D-DE], Rep. Lisa Blunt Rochester [D-DE0]

District of Columbia

Called out white supremacy after Trump: Rep. Eleanor Norton [D-DC0]


Called out white supremacy before Trump: Rep. Val Demings [D-FL10], Rep. Debbie Wasserman Schultz [D-FL23]

Called out white supremacy after Trump: Sen. Marco Rubio [R-FL], Rep. Ron DeSantis [R-FL6], Rep. Frederica Wilson [D-FL24]

Said something without calling out white supremacy: Rep. Matt Gaetz [R-FL1], Rep. Darren Soto [D-FL9], Rep. Lois Frankel [D-FL21], Rep. Carlos Curbelo [R-FL26]

We couldn’t find anything: Sen. Bill Nelson [D-FL], Rep. Neal Dunn [R-FL2], Rep. Ted Yoho [R-FL3], Rep. John Rutherford [R-FL4], Rep. Al Lawson [D-FL5], Rep. Bill Posey [R-FL8], Rep. Daniel Webster [R-FL11], Rep. Gus Bilirakis [R-FL12], Rep. Charlie Crist [D-FL13], Rep. Kathy Castor [D-FL14], Rep. Dennis Ross [R-FL15], Rep. Thomas Rooney [R-FL17], Rep. Brian Mast [R-FL18], Rep. Francis Rooney [R-FL19], Rep. Alcee Hastings [D-FL20], Rep. Theodore Deutch [D-FL22], Rep. Mario Diaz-Balart [R-FL25], Rep. Ileana Ros-Lehtinen [R-FL27]


Called out white supremacy after Trump: Rep. Henry “Hank” Johnson [D-GA4]

Said something without calling out white supremacy: Rep. Drew Ferguson [R-GA3], Rep. Jody Hice [R-GA10], Rep. Rick Allen [R-GA12]

We couldn’t find anything: Sen. David Perdue [R-GA], Rep. Buddy Carter [R-GA1], Rep. Sanford Bishop [D-GA2], Rep. John Lewis [D-GA5], Rep. Karen Handel [R-GA6], Rep. Rob Woodall [R-GA7], Rep. Austin Scott [R-GA8], Rep. Doug Collins [R-GA9], Rep. Barry Loudermilk [R-GA11], Rep. David Scott [D-GA13], Rep. Tom Graves [R-GA14]


We couldn’t find anything: Rep. Madeleine Bordallo [D-GU0]


Said something without calling out white supremacy: Rep. Colleen Hanabusa [D-HI1]

We couldn’t find anything: Sen. Mazie Hirono [D-HI], Sen. Brian Schatz [D-HI], Rep. Tulsi Gabbard [D-HI2]


Said something without calling out white supremacy: Sen. Michael Crapo [R-ID]

We couldn’t find anything: Sen. James Risch [R-ID], Rep. Raúl Labrador [R-ID1], Rep. Michael “Mike” Simpson [R-ID2]


Called out white supremacy before Trump: Rep. Mike Quigley [D-IL5]

Called out white supremacy after Trump: Rep. Raja Krishnamoorthi [D-IL8], Rep. Janice “Jan” Schakowsky [D-IL9]

Said something without calling out white supremacy: Rep. Bobby Rush [D-IL1], Rep. Bill Foster [D-IL11], Rep. Rodney Davis [R-IL13], Rep. John Shimkus [R-IL15]

We couldn’t find anything: Sen. Richard Durbin [D-IL], Rep. Robin Kelly [D-IL2], Rep. Daniel Lipinski [D-IL3], Rep. Luis Gutiérrez [D-IL4], Rep. Peter Roskam [R-IL6], Rep. Danny Davis [D-IL7], Rep. Mike Bost [R-IL12], Rep. Randy Hultgren [R-IL14], Rep. Darin LaHood [R-IL18]


Said something without calling out white supremacy: Rep. Todd Rokita [R-IN4], Rep. Trey Hollingsworth [R-IN9]

We couldn’t find anything: Rep. Peter Visclosky [D-IN1], Rep. Luke Messer [R-IN6], Rep. André Carson [D-IN7], Rep. Larry Bucshon [R-IN8]


Called out white supremacy after Trump: Sen. Charles “Chuck” Grassley [R-IA], Rep. David Loebsack [D-IA2]

Said something without calling out white supremacy: Sen. Joni Ernst [R-IA], Rep. Rod Blum [R-IA1]

We couldn’t find anything: Rep. David Young [R-IA3], Rep. Steve King [R-IA4]


Said something without calling out white supremacy: Sen. Jerry Moran [R-KS], Rep. Kevin Yoder [R-KS3]

We couldn’t find anything: Sen. Pat Roberts [R-KS], Rep. Roger Marshall [R-KS1], Rep. Lynn Jenkins [R-KS2], Rep. Ron Estes [R-KS4]


Called out white supremacy after Trump: Rep. John Yarmuth [D-KY3]

We couldn’t find anything: Sen. Rand Paul [R-KY], Rep. James Comer [R-KY1], Rep. Brett Guthrie [R-KY2], Rep. Thomas Massie [R-KY4], Rep. Harold “Hal” Rogers [R-KY5], Rep. Garland “Andy” Barr [R-KY6]


We couldn’t find anything: Sen. Bill Cassidy [R-LA], Sen. John Kennedy [R-LA], Rep. Cedric Richmond [D-LA2], Rep. Clay Higgins [R-LA3], Rep. Mike Johnson [R-LA4], Rep. Ralph Abraham [R-LA5], Rep. Garret Graves [R-LA6]


Called out white supremacy after Trump: Rep. Chellie Pingree [D-ME1]

Said something without calling out white supremacy: Sen. Susan Collins [R-ME]

We couldn’t find anything: Sen. Angus King [I-ME], Rep. Bruce Poliquin [R-ME2]


Called out white supremacy before Trump: Rep. Anthony Brown [D-MD4], Rep. Steny Hoyer [D-MD5], Rep. Jamie Raskin [D-MD8]

Called out white supremacy after Trump: Sen. Chris Van Hollen [D-MD]

Said something without calling out white supremacy: Rep. A. Dutch Ruppersberger [D-MD2], Rep. Elijah Cummings [D-MD7]

We couldn’t find anything: Rep. Andy Harris [R-MD1], Rep. John Sarbanes [D-MD3], Rep. John Delaney [D-MD6]


Called out white supremacy before Trump: Rep. James “Jim” McGovern [D-MA2], Rep. Katherine Clark [D-MA5]

Called out white supremacy after Trump: Rep. Niki Tsongas [D-MA3]

Said something without calling out white supremacy: Rep. Richard Neal [D-MA1], Rep. Seth Moulton [D-MA6], Rep. William Keating [D-MA9]

We couldn’t find anything: Rep. Michael Capuano [D-MA7], Rep. Stephen Lynch [D-MA8]


Called out white supremacy before Trump: Rep. Daniel Kildee [D-MI5]

Called out white supremacy after Trump: Rep. Mike Bishop [R-MI8], Rep. Sander Levin [D-MI9], Rep. John Conyers [D-MI13], Rep. Brenda Lawrence [D-MI14]

Said something without calling out white supremacy: Sen. Debbie Stabenow [D-MI], Rep. Debbie Dingell [D-MI12]

We couldn’t find anything: Rep. Jack Bergman [R-MI1], Rep. Bill Huizenga [R-MI2], Rep. Justin Amash [R-MI3], Rep. John Moolenaar [R-MI4], Rep. Tim Walberg [R-MI7], Rep. Paul Mitchell [R-MI10], Rep. Dave Trott [R-MI11]


Called out white supremacy before Trump: Sen. Alan “Al” Franken [D-MN], Rep. Betty McCollum [D-MN4]

Said something without calling out white supremacy: Rep. Tom Emmer [R-MN6]

We couldn’t find anything: Sen. Amy Klobuchar [D-MN], Rep. Timothy Walz [D-MN1], Rep. Collin Peterson [D-MN7], Rep. Richard Nolan [D-MN8]


We couldn’t find anything: Sen. Thad Cochran [R-MS], Sen. Roger Wicker [R-MS], Rep. Trent Kelly [R-MS1], Rep. Gregg Harper [R-MS3], Rep. Steven Palazzo [R-MS4]


Called out white supremacy after Trump: Rep. Emanuel Cleaver [D-MO5]

Said something without calling out white supremacy: Sen. Roy Blunt [R-MO]

We couldn’t find anything: Sen. Claire McCaskill [D-MO], Rep. Lacy Clay [D-MO1], Rep. Ann Wagner [R-MO2], Rep. Blaine Luetkemeyer [R-MO3], Rep. Vicky Hartzler [R-MO4], Rep. Sam Graves [R-MO6], Rep. Billy Long [R-MO7], Rep. Jason Smith [R-MO8]


We couldn’t find anything: Sen. Steve Daines [R-MT], Sen. Jon Tester [D-MT], Rep. Greg Gianforte [R-MT0]


Said something without calling out white supremacy: Sen. Deb Fischer [R-NE], Rep. Don Bacon [R-NE2], Rep. Adrian Smith [R-NE3]

We couldn’t find anything: Sen. Benjamin Sasse [R-NE], Rep. Jeff Fortenberry [R-NE1]


Said something without calling out white supremacy: Rep. Dina Titus [D-NV1], Rep. Ruben Kihuen [D-NV4]

We couldn’t find anything: Sen. Catherine Cortez Masto [D-NV], Rep. Mark Amodei [R-NV2]

New Hampshire

Called out white supremacy after Trump: Rep. Carol Shea-Porter [D-NH1]

Said something without calling out white supremacy: Sen. Jeanne Shaheen [D-NH], Rep. Ann Kuster [D-NH2]

New Jersey

Called out white supremacy before Trump: Rep. Frank Pallone [D-NJ6]

Called out white supremacy after Trump: Rep. Donald Norcross [D-NJ1], Rep. Josh Gottheimer [D-NJ5], Rep. Leonard Lance [R-NJ7], Rep. Albio Sires [D-NJ8]

We couldn’t find anything: Sen. Robert “Bob” Menéndez [D-NJ], Rep. Christopher “Chris” Smith [R-NJ4], Rep. Bill Pascrell [D-NJ9], Rep. Donald Payne [D-NJ10], Rep. Rodney Frelinghuysen [R-NJ11], Rep. Bonnie Watson Coleman [D-NJ12]

New Mexico

Called out white supremacy after Trump: Sen. Martin Heinrich [D-NM]

Said something without calling out white supremacy: Sen. Tom Udall [D-NM]

We couldn’t find anything: Rep. Stevan “Steve” Pearce [R-NM2], Rep. Ben Luján [D-NM3]

New York

Called out white supremacy before Trump: Sen. Charles “Chuck” Schumer [D-NY], Rep. Kathleen Rice [D-NY4], Rep. Gregory Meeks [D-NY5], Rep. Yvette Clarke [D-NY9], Rep. Joseph “Joe” Crowley [D-NY14], Rep. Eliot Engel [D-NY16]

Called out white supremacy after Trump: Rep. Peter “Pete” King [R-NY2], Rep. Hakeem Jeffries [D-NY8], Rep. Jerrold Nadler [D-NY10]

Said something without calling out white supremacy: Rep. Lee Zeldin [R-NY1], Rep. Grace Meng [D-NY6], Rep. Daniel Donovan [R-NY11], Rep. Sean Maloney [D-NY18], Rep. Paul Tonko [D-NY20], Rep. Claudia Tenney [R-NY22], Rep. Tom Reed [R-NY23], Rep. Brian Higgins [D-NY26]

We couldn’t find anything: Rep. Thomas Suozzi [D-NY3], Rep. Carolyn Maloney [D-NY12], Rep. José Serrano [D-NY15], Rep. Nita Lowey [D-NY17], Rep. John Faso [R-NY19], Rep. Elise Stefanik [R-NY21], Rep. John Katko [R-NY24], Rep. Louise Slaughter [D-NY25], Rep. Chris Collins [R-NY27]

North Carolina

Called out white supremacy before Trump: Rep. Mark Walker [R-NC6]

Called out white supremacy after Trump: Rep. Alma Adams [D-NC12]

Said something without calling out white supremacy: Rep. George Holding [R-NC2], Rep. Virginia Foxx [R-NC5], Rep. Richard Hudson [R-NC8], Rep. Patrick McHenry [R-NC10], Rep. Ted Budd [R-NC13]

We couldn’t find anything: Sen. Richard Burr [R-NC], Rep. George “G.K.” Butterfield [D-NC1], Rep. Walter Jones [R-NC3], Rep. David Rouzer [R-NC7], Rep. Robert Pittenger [R-NC9]

North Dakota

Called out white supremacy after Trump: Sen. Heidi Heitkamp [D-ND]

We couldn’t find anything: Sen. John Hoeven [R-ND], Rep. Kevin Cramer [R-ND0]

Northern Mariana Islands

We couldn’t find anything: Rep. Gregorio Sablan [D-MP0]


Called out white supremacy before Trump: Sen. Robert “Rob” Portman [R-OH]

Called out white supremacy after Trump: Rep. Patrick “Pat” Tiberi [R-OH12], Rep. David Joyce [R-OH14]

Said something without calling out white supremacy: Sen. Sherrod Brown [D-OH], Rep. Brad Wenstrup [R-OH2], Rep. Joyce Beatty [D-OH3], Rep. Jim Jordan [R-OH4], Rep. Robert Latta [R-OH5], Rep. Bill Johnson [R-OH6], Rep. Warren Davidson [R-OH8], Rep. Marcy Kaptur [D-OH9], Rep. Tim Ryan [D-OH13], Rep. Steve Stivers [R-OH15]

We couldn’t find anything: Rep. Steve Chabot [R-OH1], Rep. Bob Gibbs [R-OH7], Rep. Michael Turner [R-OH10], Rep. Marcia Fudge [D-OH11], Rep. James Renacci [R-OH16]


Said something without calling out white supremacy: Sen. James “Jim” Inhofe [R-OK], Sen. James Lankford [R-OK]

We couldn’t find anything: Rep. Jim Bridenstine [R-OK1], Rep. Markwayne Mullin [R-OK2], Rep. Frank Lucas [R-OK3], Rep. Tom Cole [R-OK4], Rep. Steve Russell [R-OK5]


Called out white supremacy before Trump: Sen. Jeff Merkley [D-OR]

Called out white supremacy after Trump: Sen. Ron Wyden [D-OR]

We couldn’t find anything: Rep. Suzanne Bonamici [D-OR1], Rep. Greg Walden [R-OR2], Rep. Earl Blumenauer [D-OR3], Rep. Peter DeFazio [D-OR4], Rep. Kurt Schrader [D-OR5]


Called out white supremacy after Trump: Rep. Dwight Evans [D-PA2], Rep. Charles Dent [R-PA15], Rep. Tim Murphy [R-PA18]

Said something without calling out white supremacy: Sen. Robert “Bob” Casey [D-PA], Sen. Patrick “Pat” Toomey [R-PA], Rep. Mike Kelly [R-PA3], Rep. Patrick Meehan [R-PA7], Rep. Bill Shuster [R-PA9], Rep. Lou Barletta [R-PA11], Rep. Matthew Cartwright [D-PA17]

We couldn’t find anything: Rep. Robert Brady [D-PA1], Rep. Scott Perry [R-PA4], Rep. Glenn Thompson [R-PA5], Rep. Ryan Costello [R-PA6], Rep. Brian Fitzpatrick [R-PA8], Rep. Tom Marino [R-PA10], Rep. Keith Rothfus [R-PA12], Rep. Brendan Boyle [D-PA13], Rep. Lloyd Smucker [R-PA16]

Puerto Rico

We couldn’t find anything: Commish. Jenniffer González-Colón [R-PR0]

Rhode Island

Called out white supremacy after Trump: Rep. James “Jim” Langevin [D-RI2]

We couldn’t find anything: Rep. David Cicilline [D-RI1]

South Carolina

Said something without calling out white supremacy: Sen. Tim Scott [R-SC], Rep. Marshall “Mark” Sanford [R-SC1], Rep. Jeff Duncan [R-SC3], Rep. James “Jim” Clyburn [D-SC6]

We couldn’t find anything: Sen. Lindsey Graham [R-SC], Rep. Joe Wilson [R-SC2], Rep. Trey Gowdy [R-SC4], Rep. Ralph Norman [R-SC5], Rep. Tom Rice [R-SC7]

South Dakota

We couldn’t find anything: Sen. Mike Rounds [R-SD], Rep. Kristi Noem [R-SD0]


Called out white supremacy before Trump: Rep. Jim Cooper [D-TN5], Rep. Steve Cohen [D-TN9]

Said something without calling out white supremacy: Sen. Lamar Alexander [R-TN], Sen. Bob Corker [R-TN], Rep. David Kustoff [R-TN8]

We couldn’t find anything: Rep. David “Phil” Roe [R-TN1], Rep. John “Jimmy” Duncan [R-TN2], Rep. Charles “Chuck” Fleischmann [R-TN3], Rep. Scott DesJarlais [R-TN4]


Called out white supremacy after Trump: Sen. Ted Cruz [R-TX], Rep. Al Green [D-TX9], Rep. Pete Sessions [R-TX32], Rep. Filemon Vela [D-TX34]

Said something without calling out white supremacy: Sen. John Cornyn [R-TX], Rep. Ted Poe [R-TX2], Rep. Jeb Hensarling [R-TX5], Rep. John Culberson [R-TX7], Rep. Michael McCaul [R-TX10], Rep. Jodey Arrington [R-TX19], Rep. Pete Olson [R-TX22], Rep. Kenny Marchant [R-TX24], Rep. Roger Williams [R-TX25], Rep. Marc Veasey [D-TX33], Rep. Lloyd Doggett [D-TX35]

We couldn’t find anything: Rep. Louie Gohmert [R-TX1], Rep. Sam Johnson [R-TX3], Rep. John Ratcliffe [R-TX4], Rep. Joe Barton [R-TX6], Rep. Kevin Brady [R-TX8], Rep. Michael Conaway [R-TX11], Rep. Kay Granger [R-TX12], Rep. Mac Thornberry [R-TX13], Rep. Randy Weber [R-TX14], Rep. Vicente Gonzalez [D-TX15], Rep. Beto O’Rourke [D-TX16], Rep. Bill Flores [R-TX17], Rep. Sheila Jackson Lee [D-TX18], Rep. Lamar Smith [R-TX21], Rep. Michael Burgess [R-TX26], Rep. Blake Farenthold [R-TX27], Rep. Henry Cuellar [D-TX28], Rep. Gene Green [D-TX29], Rep. Eddie Johnson [D-TX30], Rep. John Carter [R-TX31], Rep. Brian Babin [R-TX36]


Said something without calling out white supremacy: Rep. Chris Stewart [R-UT2], Rep. Mia Love [R-UT4]

We couldn’t find anything: Sen. Orrin Hatch [R-UT], Sen. Mike Lee [R-UT], Rep. Rob Bishop [R-UT1]


Called out white supremacy before Trump: Sen. Patrick Leahy [D-VT], Sen. Bernard “Bernie” Sanders [I-VT]

We couldn’t find anything: Rep. Peter Welch [D-VT0]

Virgin Islands

We couldn’t find anything: Rep. Stacey Plaskett [D-VI0]


Called out white supremacy before Trump: Sen. Mark Warner [D-VA], Rep. Robert “Bobby” Scott [D-VA3], Rep. Donald Beyer [D-VA8], Rep. Barbara Comstock [R-VA10]

Called out white supremacy after Trump: Sen. Timothy Kaine [D-VA], Rep. Robert Wittman [R-VA1], Rep. Scott Taylor [R-VA2], Rep. Donald McEachin [D-VA4], Rep. Bob Goodlatte [R-VA6]

Said something without calling out white supremacy: Rep. David “Dave” Brat [R-VA7]

We couldn’t find anything: Rep. Morgan Griffith [R-VA9], Rep. Gerald Connolly [D-VA11]


Called out white supremacy before Trump: Rep. Cathy McMorris Rodgers [R-WA5], Rep. Pramila Jayapal [D-WA7]

Called out white supremacy after Trump: Rep. Adam Smith [D-WA9]

Said something without calling out white supremacy: Sen. Maria Cantwell [D-WA], Rep. David Reichert [R-WA8]

We couldn’t find anything: Rep. Rick Larsen [D-WA2], Rep. Jaime Herrera Beutler [R-WA3], Rep. Dan Newhouse [R-WA4], Rep. Derek Kilmer [D-WA6], Rep. Denny Heck [D-WA10]

West Virginia

Said something without calling out white supremacy: Sen. Shelley Capito [R-WV], Rep. Evan Jenkins [R-WV3]

We couldn’t find anything: Rep. David McKinley [R-WV1], Rep. Alex Mooney [R-WV2]


Called out white supremacy before Trump: Rep. Gwen Moore [D-WI4]

Said something without calling out white supremacy: Sen. Ron Johnson [R-WI], Rep. Glenn Grothman [R-WI6], Rep. Sean Duffy [R-WI7], Rep. Mike Gallagher [R-WI8]

We couldn’t find anything: Rep. Mark Pocan [D-WI2], Rep. Ron Kind [D-WI3], Rep. James Sensenbrenner [R-WI5]


Called out white supremacy after Trump: Rep. Liz Cheney [R-WY0]

Said something without calling out white supremacy: Sen. John Barrasso [R-WY]

We couldn’t find anything: Sen. Michael Enzi [R-WY]

Congressional Reactions to Charlottesville was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at August 18, 2017 01:47 PM

August 16, 2017


Willful ignorance of context, the Nazis, and the ACLU

Chicago, 1979

You’ve already read a lot about Charlottesville in the press, but you may not have followed the back story very closely, or may not have read the briefs in the core legal proceedings. Those parts are revealing, and provide a bit of insight into the event, the handling of it by the Virginia chapter of the American Civil Liberties Union (ACLU-VA), and the question of how to weigh the violence on both sides.

The city of C’ville made errors, which you can read about in the briefs and the ruling linked below, and you can make your own judgments about whether they are serious indications of intent or bureaucrats messing up bureaucracy. But this is an essay about a few selected points in the briefs that I believe add up to a story.

Before the rally, the City of C’ville modified the permit for the Alt-right (herein: Nazi) rally to move it to a larger park outside the city center. I’ve seen people state or imply that the city outright revoked the permit or tried to shut down the rally, but that’s inaccurate.

Here’s ACLU-VA’s memo to the court, the city’s memo defending the move,
and the judge’s ruling.

The rationale was that permit for the Nazi rally was for 400 people, but then it got big. Here is how the city describes the original park: “Emancipation Park (formerly known as “Lee Park”) is located one block from the City of Charlottesville’s historic Downtown Mall, and is approximately one square block in size and shape.” The alternative park, McIntire park, is outside of downtown and has often hosted more halcyon large-scale events.

If you want to see for yourself, here’s a map centered on Emancipation Park (or as Google calls it, Lee Park); McIntire is to the North.

The rally organizers, with the ACLU of Virginia, sued to keep the rally at its original location: an injunction on the city’s order that the rally be moved. The claim was that the rationale for the Nazi rally was about the removal of a statue of a Confederate Army general, so the rally had to be next to that statue.

Some people I’ve read have said or implied this was a simple free speech issue where the city tried to shut down the rally. Glen Greenwald put out a very long essay about the ACLU’s many free-speech cases, like a current one about ads on subways, and inserted a few paragraphs about the C’ville incident as part of the ACLU’s free speech history.

But the city’s filing indicated that the central concern was headcount. From a court filing, here’s what the C’ville Police Department counted, which is worth printing if only for the amusing group names:

4. Specifically, the CPD Criminal Investigations Division has spoken with Rally planners and participants, as well as individuals from several organizations likely to participate, including, for example:
a. Mr. Micahel Peinovich, an individual schedule to speak at the Rally at the invitation of Mr. Kessler, indicated that the event may draw 1,000 people.
b. Scheduled Rally speaker Mr. Augustus Invictus, indicated the expected attendance of 150 security personnel from the Alt Knights and The American Guard.
c. Scheduled Rally Speaker Mr John Ramondetta, indicated that he had heard discussion of the attendance of 200 people from Texas, a separate contingent from Florida, and an additional 40 people from California.
d. Chief Vetting Officer and Official Spokesperson of the Fraternal Order of Alt-Knights (“FOAK”) Trace Chiles indicated that he expects 200 (with a minimum of 150) FOAK members and 75–100 “Patriot Men” to attend, and further projected that a total of 1000 people would attend in support of the Rally.
e. Imperial Wizard of the Rebel Brigade of Knights for the KKK Bill Snuffer stated that [an] estimated 250–500 members of four different groups of the KKK will be attending from the states of Delaware, Florida, and Virginia.
f. Imperial Wizard of the Confederate Knights of the Klan Richard Preston estimated that 500 individuals from a group known as “3% Risen” would attend.
g. New York State Commander of the Lightfoot Militia George Curbelo estimated that due to the popularity of the event there could be at least 200–300 individuals from his group in attendance.

Some of these may overlap, some are hearsay, but just taking (f)+(g) we have at least 700, and we haven’t even gotten to the spectators not aligned with a specific group or even the organizers themselves. Note also that the CPD is getting these estimates mostly from organizers of the event itself.

The brief also discussed the need for room for emergency personnel to have their staging area and to maneuver through the crowd if needed. The Fire Chief pointed out that the park is inappropriate for such a big crowd, and adjacent downtown streets would have to be closed to handle the crowd, making it difficult for emergency services both for the event and the usual 911 calls a city gets in a day. The chief of police and City Engineer expressed concerns.

Here’s the response, in the brief filed by the main rally organizer (Mr. Kessler) and the ACLU-VA: “Defendants’ alleged reason for revoking Plaintiff’s permit was information from an unspecified source concerning the number of people likely to attend the demonstration including supporters and opponents.” “In revoking the permit, the City cited ‘safety concerns’ associated with the number of people expected to attend Plaintiffs rally but cited no source for those concerns.”

Judge Conrad agreed. From the ruling, the Judge stated: “In revoking the permit, the defendants cited ‘safety concerns’ associated with the number of people expected to attend Kessler’s rally. However, the defendants cited no source for those concerns.” Judge Conrad also seemed to be of the opinion that things would be violent anywhere — moving it out from downtown streets and properties a block from the historic Downtown Mall wouldn’t make any difference to safety.

I agree with the ACLU-VA, and the pundits who commented on the matter after the fact, that the move out of downtown was a free speech issue. Venue is important. The problem to me is not that the ACLU-VA wrote a brief defending Nazis, but that they wrote a brief that brushed off safety concerns, claiming that they were from “unspecified sources,” though they were from the Fire Chief and the organizers of the rally itself. One could easily imagine BS safety concerns, like if the rejection of venue were entirely about resident parking complaints, but to think that the safety concerns of the burgeoning C’ville Nazi rally were a mere excuse requires a willful ignorance of context.


In retrospect, we know it was a violent event, but in foresight, everybody knew it would be a violent event too. Nobody prepares for a picnic in the park with rifles, shields, helmets and riot gear, as many white supremacists did. And it’s true that many protesters came with weapons and were clearly willing to engage in violence against Nazis — but then, this describes the entire US Army during World War II.

A lot of the discussion about the event is about the narrative of both sides are responsible versus these Nazis showed up with violent intent. From that perspective it’s noteworthy that the city brief is entirely about the size of the Nazi contingent and safety concerns (and, of course, parking). There are one or two peripheral mentions of counterprotesters, which certainly weren’t the focus, and the headcounts above were rally attendees only.

The line I pulled above from the ACLU-VA-signed brief already claims that the city was counting “opponents” in the headcount, and then goes on for several pages about the “heckler’s veto”. Representative line: “government officials may restrict expressive activity because of a threat of violence but only if they have a reasonable belief that violence is imminent by those whose expression they seek to restrict.” That is, if we expect counterprotestors to be violent but the Nazis to be peaceful, it’s a First Amendment violation to move the event. I think this too is a reasonable position.

Subsequent paragraphs in the ACLU-VA-signed brief are about how the Nazis promise that they will be peaceful. Mr. Kessler “is on record as saying that he ‘absolutely intends to have a peaceful rally’ and that his group would ‘avoid violence.’” To take this statement at face value is, once again, a willful ignorance of context. The brief continues, the city “must show that its decision to revoke and modify Plaintiff’s permit was based solely on a reasonable belief that the plans and actions of the ‘Unite the Right’ organizers, not of those who plan to be present in opposition, presented an imminent threat.”

The equation in this brief signed by the ACLU-VA, then, is that (expectations of violence from one side or the other) + (Nazis pinky-swearing that they will be peaceful) = (city expectations must be about violent counterprotesters). This is also the position espoused by one or two well-placed political figures, who take at face value that the people who showed up with KKK and Nazi insignias so closely related to lynchings and genocides, the people who showed up with guns and armor, were just there for a picnic in the park until the liberal kids showed up with sticks.

It wasn’t just the lawyers and the courts, by the way. Go back to that Greenwald essay and search the page for ‘safety’, ‘crowds’, or ‘permit’ and you won’t find them: to him, it’s a pure free speech issue. He included a personal story, which may be of especial interest: “One board member of the ACLU of Virginia, Waldo Jaquith, waited until the violence erupted to announce on Twitter that he was resigning in protest of the ACLU’s representation of the protesters — as though he was unaware when he joined the board that the ACLU has been representing the free speech rights of neo-Nazis…” Mr Greenwald linked to this tweet —

— but didn’t link to this earlier tweet —

If you click on the date stamp, you can follow the personal story through, about how Mr Jaquith was concerned that “these Nazis’ goal was violence, not free speech”, how “Our attorney prepared a legal case to stop what was clearly going to be a bloodbath, to convince the city to shut it down.” At the ACLU-VA, “I recused myself from the decision, after telling them that this was a dangerous situation…” His opinion regarding Nazis is not hidden, but his narrative was about safety — and he was right: it was a bloodbath, and having it right by the Downtown Mall was a fatal mistake. But none of this showed up in the Greenwald essay on the ACLU, because that essay was about free speech, not public safety.

Greenwald, the ACLU-VA who chose to advocate for this case over competing requests, Judge Conrad, and the Nazis all wanted this to be a purely first amendment issue, which required a willful ignorance of context to make that happen.

My primary intent here was to go over the legal briefs nobody reads, but the moral is that going along with willful ignorance of context can be disastrous. Context is hard: there’s a lot of it and always something we didn’t see. But there’s a substantive difference between trying but only getting part of it, and going out of the way to ignore it. If somebody comes out with a swastika on his or her arm and says ‘I come in peace’, use and act on context clues. If somebody insists that he is a reasonable person and it’s entirely reasonable to publicly claim that certain coworkers are inferior, based on entirely reasonable plots with no axes and citations to reasonable sources like the New Yorker and Wikipedia, consider both the context of a workplace and the context of where the document’s ideas came from. It’s easy for somebody to contextlessly say I’m merely asking questions, or my intent is purely peaceful, or my position is perfectly symmetric to yours, and the responsibility is on the listener to insist on putting such statements into context.

by Ben Klemens at August 16, 2017 10:47 PM

July 31, 2017


New Madison Prizes to Honor Compromise in Congress

Rep. David Skaggs and his wife Laura established a new award for legislators who advance the public interest through compromise. More details (press release) below.

Continue Reading

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

Join/Watch the House of Representatives 2017 Legislative Data and Transparency Conference

On Tuesday, June 27, the House of Representatives will host the 2017 Legislative Data and Transparency Conference.

The all-day conference focuses on making Congress more efficient, transparent, and effective, and brings together people from inside the Legislative branch with member of the public to discuss how technology can help ensure Congress works for everyone.

The conference is held at the Capitol Visitor Center, and is free to attend. You can RSVP here or watch the webcast.

Continue Reading

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

Library of Congress, National Archives Host Wikipedia Edit-a-Thon

On Friday, the Library of Congress, the National Archives, and Wikimedia D.C. hosted an Edit-a-Thon, focused on updating committee information on Wikipedia. This is the second such event, and the first to be hosted at the Library of Congress.Continue Reading

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

Whip Watch 2.0

On Thursday, Democratic Whip Steny Hoyer launched Whip Watch 2.0, a free app that provides the public (and congressional staffers) a real-time mobile view into the Democrats’ whip operation. In addition to all the neat features we wrote about when Whip Watch first launched in June 2015, it allows users to see vote totals, including vote breakdowns by party, on floor votes as it happens, as well as show the time remaining on a vote and how long a vote stays open after it was supposed to close.Continue Reading

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

The House Rules Should be Publicly Available in Advance of Their Adoption

At the start of the 115th Congress, there was a fight over whether the Office of Congressional Ethics should continue its existence. I won’t get into the merits of the disagreement here (although I’ve written about it elsewhere), but how it occurred is interesting.

The Office of Congressional Ethics is one of the many offices and agencies created by the rules of the House of Representatives, which are adopted on the first day of the new Congress. The House Rules are contained in a simple resolution, and that resolution usually is released to the public at most 24 hours before the vote, and sometimes with even less notice. At the start of the 115th Congress, the Republican Conference did not finalize the proposed rules until the night before they were to be considered by the House, and the full text didn’t leak out in full until the day of the vote.

More or less, this is the general practice of both parties, which is neither transparent nor helpful to the deliberative process. And yet, bills and joint resolutions were publicly available online for 3 days in advance of when they were voted on, just as the House rules require. What was going on?Continue Reading

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

The House of Representatives Orders Seconds on Legislative Transparency

Once again, at the start of the 115th Congress, the House of Representatives included an order in its rules package in support of public access to legislative information.

(m) BROADENING AVAILABILITY OF LEGISLATIVE DOCUMENTS IN MACHINE-READABLE FORMATS.—The Committee on House Administration, the Clerk, and other officers and officials of the House shall continue efforts to broaden the availability of legislative documents in machine readable formats in the One Hundred Fifteenth Congress in furtherance of the institutional priority of improving public availability and use of legislative information produced by the House and its committees.

What this means it the House of Representatives will continue–as a matter of policy–its work in making information about the legislative process available to the public.

As readers of this blog know, there has been a tremendous amount of progress in the last few years, including: publishing structured data about legislation, publication of bills and amendments to be considered by the Rules committee, the publication of the House’s rules as XML, publication of a House phone directory, publication of the U.S. code as structured data, publication of the committee hearing and markup schedule, online committee video, and more. And, even more remarkably, this is all being done on a bipartisan basis.

I’m looking forward to seeing what will be accomplished in the 115th Congress.

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

Why I Came To Believe CRS Reports Should be Publicly Available (and Built a Website to Make it Happen)

I first started working for Congress as a senate intern in September 2001. I was 23 years old and had no experience working on policy. I found myself responding to letters from constituents on issues that I’d never heard of previously. It was then that I first encountered the Congressional Research Service and its reports.

The Congressional Research Service, sometimes called Congress’ think-tank, provided introductory classes to orient interns on the service. It was fascinating to see all the different kinds of analysis performed by CRS — and there were rooms filled, just loaded with reports on every issue that you could imagine. CRS also provided classes on how Congress worked. It was a great way to learn.

I worked for Congress for the next year or so, eventually rising to become a (very) low-level staffer. Occasionally I spoke with analysts, but generally speaking the reports often were enough. CRS emphasized that its advice was non-partisan and even-handed. When I left, I did what many departing staff did, and took an armful of reports with me.

After I finished law school, a half-decade later, I came back to Congress. I joined CRS as a legislative attorney. It was my job provide legal advice to members of Congress on matters concerning telecommunications, terrorism, and the separation of church and state. As the person who was now writing the reports, I was aware in a way I never had been before about the gaps in my knowledge. I also became familiar with gaps in the way CRS reports were written, the idiosyncrasies of management, and the history and role of the agency.

What was surprising to me was the unrelenting insistence by CRS that CRS reports should never be available to the public. Of course, it was understood by everyone who wrote the reports that members of Congress would make them available to the public. But we were never to do so and even the thought of public access — that there were two sides to the issue — was heresy. I never really questioned the matter.

When I left CRS, I went to work in the nonprofit world. I had — and still have — a real interest in making government work better, and I ended up working on governance, transparency, and accountability issues. It was there that I really dug into the question of public access to CRS reports.

CRS used to be a very different agency. It used to provide unvarnished advice for members of Congress on the crucial issues of the day. But over time, and especially during the 1990s, the mode of analysis changed to a description of issues, moving away from an evaluation of the strengths and weaknesses of various courses of action. I don’t mean to overstate this, and there still are many examples of prescient analysis, but CRS changed the way it did its work, in large part because of existential concerns. CRS was concerned about irritating its congressional masters by finding fault in a pet project or cherished belief. The old-timers still had great latitude to share their advice on policy, informed by their expertise, but the agency became sclerotic.

Part of this calcification included a fear of public access to any aspect of CRS’s work. At one time, CRS published a newsletter about its latest research. Later, while its employees still testified before Congress, CRS management became nervous about that testimony and also began to discourage and then generally prohibit from sharing their work even with their academic peers. Agency staff grew more insulated and isolated, focused on managing management and staying out of trouble.

Over time, I came to realize that the policy concerning public access to CRS reports was counterproductive. Members of Congress could get the reports. Lobbyists and special interests could get the reports from Congress or from private vendors for a fee. Former congressional staff could ask their friends on the hill for a copy. But the general public, unless they knew a report existed, really did not have access.

And that’s too bad. CRS reports are written for intelligent people who are not necessarily policy experts. In a world that’s awash with 5 second YouTube ads, horse race political coverage, and the endless screaming and preening of political figures, these reports are a good way to start to understand an issue.

Assomeone who has developed expertise in several issue areas over the last decade-and-a-half, I can pick out problems with CRS reports on issues that I know about. Sometimes there are significant errors — and sometimes they go uncorrected. But overall, widespread access to CRS reports increases the reservoir of knowledge available to the American people. If the first result for any internet question is Wikipedia, shouldn’t it contain the knowledge that the American people spent $100 million annually to refine? Congressional staff often start their research with Google, for better or for worse. Shouldn’t we make the reports easy for them to find? In addition, public access to CRS reports can help make constituent communications to Congress better providing useful context for people who have questions about matters of policy.

Public access to CRS reports is also good for CRS. It builds a public base of support for a legislative branch agency that far too often has suffered from the budget axe over the last two decades. As it turns out, the second greatest threat to CRS doing its job is members of Congress. They’re the ones who have an axe to grind (or wield) when policy recommendations don’t come out the way that they want. The greatest threat, of course, can be CRS’s leadership, which can be so desperate to avoid the budget axe it will doanything to stay out of the public eye, including things that hurt the agency in the long run.

Opposition to public access to CRS report is rooted in fears of the unknown. Even though many reports are routinely released by members of Congress, published by committees, and available through third-party web sites, there still remains this unreasoning fear. It is time to conquer that fear.

Today my organization, in concert with others, is published 8,200 CRS reports on a new website, We are not the first organization to publish CRS reports. Many others have done so. Nor are we the first to advocate for public access. We’re part of a huge coalition that includes many former CRS employees. But I think we are the first to publish just about all the (non-confidential) reports currently available to members of Congress, in concert with a bipartisan pair of members who are providing the reports to us, and with a method to keep on doing so.

We have tried to address CRS’s concerns. We redacted the contact information for the people who wrote the reports. We added information about why the reports are written and that they’re not subject to copyright. And we added a few bells and whistles to the website, such as letting you know how much a report has changed when it’s been revised.

We think Congress as an institution should publish the reports. We support bicameral, bipartisan legislation to do so. And we hope that our website will help show the way forward.

-- Delivered by Feed43 service

July 31, 2017 05:00 AM

House launches a public-facing phone directory for all staff

As promised at the 2016 Legislative Data and Transparency Conference, the House of Representatives launched a public-facing phone directory for all its staff.

This is a tremendously useful tool. It provides authentic, up-to-date information on the people who work in the people’s house. While it (reasonably) does not contain email addresses, it has phone numbers, titles, and lots of other useful information about staff. It also will empower future analyses around employment in the House of Representatives, including discussions of legislative capacity and staff retention.

Until now, this information was only available through private vendors–for a fee–so the launch of the phone book amounts to a democratization of information about our elected representatives.

Using responsive design, so that it works on mobile devices, the phone directory allows anyone to obtain phone numbers and address information for any House staffer via a cleverly-designed interface. You can sort by member office, committee, or search for a particular staffer.

A screenshot of the new telephone directory website.

It’s also possible to download the underlying data set, whether as a CSV or PDF. This may save the House money on printing directories and provide more up-to-date information, particularly as staff move around all the time. The website was built by the Clerk and is extensible, so it may become possible to include the staff issue areas at a future date.

-- Delivered by Feed43 service

July 31, 2017 04:59 AM

Kudos to House of Reps. for Releasing its Spending Info as Data

Today the House of Representatives published its spending information as structured data (a CSV) in addition to printing three volumes of tables. This is the second time it has done so. (I wrote about it the last time it happenedand why it is important for accountability.)

Okay, Senate, it’s your turn. Publish your semi-annual spending statement as data.

-- Delivered by Feed43 service

July 31, 2017 04:59 AM

The Constitution (Annotated) In Your Pocket

After a powerful speech by Khizr Khan at the Democratic National Convention, sales of pocket U.S. Constitutions have skyrocketed, becoming the second best selling book on Amazon. This is great! But the words of the Constitution are unsufficient to provide an understanding into how it has been applied by the courts over the last two centuries. That’s where the Constitution Annotated comes it.

The Constitution Annotated (aka CONAN) is a plain language explanation of the U.S. Constitution as interpreted by the U.S. Supreme Court. Published by the non-partisan Congressional Research Service at the direction of Congress, CONAN provides insight into the meaning of our founding document. It also is available online as of 2013 and can downloaded as an app for your phone (iPhone) (Android is under development).

Unfortunately, there are flaws with CONAN — not the content, but how it’s made available to you. First, CONAN is published as PDF files, which makes it all but unreadable on your phone. The app is virtually worthless. Blast. Second, while CONAN is continuously updated by the folks at CRS, what’s available on the website and the app is not. Information can be a year or more behind recent court opinions. This is a travesty, especially when the information is readily available on the congressional intranet and the document is prepared in a format that allows for immediate updates.

We’ve been trying to fix this problem. Believe me. I’ve written about this at least once a year for eight years (2009, 2010, 2011, 2012, 2013, 2014), usually on my birthday, Constitution Day. And I’ve lobbied on it. We did finally get CONAN published online, after an enormous effort which resulted in this letter from the Senate Rules Committee to the Government Publishing Office. But CONAN still is not being published online as it is updated, and it’s still not published in a format that would support an app or sophisticated website.

As a result, people are reading highly-biased interpretations of the Constitution instead of the legal treatise that by law must be evenhanded and impartial, and is paid for by your tax dollars.

Maybe the Senate Rules Committee, the Government Publishing Office, and the Library of Congress will move to make the Constitution Annotated available online, in real time, and in a format that human and computers can use. At a moment with so many people are interested in the Constitution, Congress should make sure that everyone has access, electronically and otherwise.

-- Delivered by Feed43 service

July 31, 2017 04:59 AM

June 13, 2017


Who counts as a whistleblower?

Disclosures about the National Security Administration’s (NSA) surveillance programs have prompted a discussion on whether the person who released that information, Edward Snowden, could properly be deemed a whistleblower. The word whistleblower is important because it frames how we think of him and what should become of him.

By definition, whistleblowers are people who “expose wrongdoing within an organization in the hope of stopping it.” The term may be contrasted with leakers, defined as “surreptitious informants” and carrying the connotation of self-interested or sinister motivations. There can be an overlap between the terms, best exemplified by Watergate’s deep throat, FBI Associate Director Mark Felt, who shed light on massive government wrongdoing but did so in part out of petty motivations.

Much meaning is packed into the concept of whistleblower, which is an umbrella term that includes several kinds of whistleblowing. Illuminating these distinctions may help refine our instincts about Snowden, and whistleblowers generally.

The most commonly understood type of whistleblower is someone who exposes graft, self-dealing, or other malfeasance. For example, raising the alarm on a government bureaucrat who solicits bribes is a form of whistleblowing. The same is true for reporting a government contracting official who steers agreements to a preferred vendor in return for a kickback. There is wide consensus this illegal and immoral behavior should be punished and publicly exposed. For ease of reference, let us call this corruption whistleblowing.

A second kind of whistleblowing occurs when someone reports problems with the administration of government programs. For example, a person who discloses that a military contractor ran late and significantly over budget is a whistleblower. Similarly, a person who goes public regarding serving poor quality food to school children, where the food meets inappropriately low legal minimums and poses nutrition or health risks, also qualifies. Competent management would have prevented these lapses from arising. Let us call this mismanagement whistleblowing.

I suggest there is a third kind of whistleblower: someone who brings to light government behavior that shows the government has deceived the public about its actions. For example, Daniel Ellsberg’s dissemination of a secret study of the Vietnam War, known as the Pentagon Papers, demonstrated that the government knew it was going to lose the Vietnam War even while giving the American people assurances to the contrary. Another example is the publication of the “enhanced interrogation methods” used by the Central Intelligence Agency (CIA) to torture individuals. The activities exposed may or may not be authorized by law, but this form of whistleblowing reveals contradictions between the public’s understanding of government policy and official actions. Underpinning the disclosure is a debate about what government policy should be — a debate forestalled by government secrecy. Let us call this democracy whistleblowing.

A single act may qualify as whistleblowing under one or more of these categories. In many instances, federal law has created channels for corruption whistleblowers and mismanagement whistleblowers to report inappropriate activities. Unfortunately, avenues for democracy whistleblowing are extremely limited. In fact, there is a substantial disagreement on whether there can be such a thing as democracy whistleblowing, let alone whether a particular instance would qualify as such. The governmental activity may not be considered by those in power to be illegal, and efforts to raise questions about it may result in the potential whistleblower losing his or her job or worse.

Whistleblowers are supposed to report problems up the chain of command or to independent governmental entities. Reporting problems in this way theoretically shields the whistleblower against criminal prosecution for leaking as well as against retaliation by angry government officials. In practice, whistleblowers who follow so-called proper channels often suffer greatly, and the reports frequently are ignored.

Reporting problems to Congress poses particular risks. Members of Congress do not always handle allegations properly, and sometimes share the name of the whistleblower with the government officials implicated in wrongdoing. Other times, members may feel constrained from sharing this information with the public, or even delving into it themselves, especially when the matter concerns national security.

Sometimes the only way to prompt remedial action is to go to the media. Indeed, the media is often referred to as the “fourth estate” whose job is to hold the government to account. In the United States, it is not illegal for the media to publish information, but it can be illegal for the whistleblower to provide that information to the media.

As far as we know, Snowden does not qualify as a corruption or mismanagement whistleblower, although there are indications of NSA mismanagement. In addition, arguments could be made that at least some of the disclosed NSA actions were legal. Given the nature and stated intent behind his actions, Snowden is best characterized as a democracy whistleblower. But that begs the question: Do we wish to accord whistleblower status to those who divulge information necessary for democratic accountability when that disclosure apparently violates the law? Our confusion leaves Snowden to face virtually unlimited risk, especially were he to return to the United States.

While Snowden’s flight from the U.S. after revealing secrets to the Guardian is sensible from a risk-mitigation perspective, it also makes his message more vulnerable to attack. Some critics paint him as anti-American because of those who have given him refuge. Similarly, some civil society organizations do not wish to go too far in defending him either out of fear that they too will be painted as un-American or that he will release information the disclosure of which would be difficult to defend. While unsavory, it is unsurprising that organizations are engaging in realpolitik. But, what would be in the best long-term interest of our democracy?

In some sense, that dilemma reduces to a series of judgment calls. Did Snowden reveal gaps in our system of democratic accountability? Are we better off knowing what he disclosed? Were these disclosures likely made as part of an effort to reform the system? There can be little doubt the answer in all cases is yes. We cannot avoid the conclusion that Snowden is a whistleblower, with all that it entails. But in reaching that conclusion, we are also concluding the ends justifies the means. That is a troubling result. Perhaps, in the absence of strong whistleblower protection laws and robust rules that ensure an accountable and transparent government, that is the best we can do.

This was first published on June 2, 2014 here.

Who counts as a whistleblower? was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at June 13, 2017 10:22 PM

June 09, 2017


Why I don't call software 'technology'

Over the course of the last hundred posts, I published a C textbook, so I talked a lot about computing technique. I'm hoping to go back to more statistics and pure(r) math in the next hundred.

by Ben Klemens at June 09, 2017 12:00 AM

May 28, 2017


Writing More

I'm planning on starting to write a bit more but may use my Medium account for some of the posts. You can follow that here. If you use an RSS reader to track my blog, my Medium's feed is here:

Here's a post from today: Writing and Vulnerability in the Age of Trump

Anything you all want to see me write more about? Taking requests. 

by catherine at May 28, 2017 05:51 PM

May 25, 2017


Git subtrees

That thing where you mean to write six paragraphs on something and you have to break it up to a two-part series, it got so long.

by Ben Klemens at May 25, 2017 12:00 AM

May 23, 2017


Git submodules

The math I've been doing has not been especially blog-worthy, so here's more about git.

by Ben Klemens at May 23, 2017 12:00 AM

May 03, 2017


My Testimony on Why CRS Reports Should be Publicly Available

(These is a prepared version of my oral testimony)

Chairman Yoder, Ranking Member Ryan, and members of the Committee, thank you providing this opportunity for public testimony. This is such an important tradition, and I commend you for resuming it.

My name is Daniel Schuman, and I am the Policy Director for Demand Progress, a grassroots organization with 2 million members focused on building a modern democracy.

Today I am representing the position of 42 organizations from across the political spectrum. To express the breadth of our coalition, we have the American Civil Liberties Union and Americans for Tax Reform; CREW and Cause of Action; Demand Progress and Freedom Works; the Reporters Committee for Freedom of the Press; three of the major library associations; industry groups like the Data Coalition; and many more. We also include 25 former CRS employees, including myself, with a combined 570 years of experience. We are united in asking for expanded public access to Congressional Research Service reports.

Let me be clear about our request. We are asking only for the general-distribution reports that CRS makes available on its website to thousands of staff on Capitol hill. There are around 1,200 new reports each year, and another 2,400 updated reports.

We are not asking for confidential material. We are not asking for the 3,100 memoranda CRS provides annually in response to a congressional requests. We are not asking for the advice CRS provides to an individual member of Congress or a committee. There is no legislative proposal to release confidential advice, and we would not support such an effort.

As you know, Congress routinely releases individual reports to the public, whether as part of a committee print, as an individual member response to a constituent, or just as a matter of course. Many of these reports find their way online or into the hands of fee-for-access services, which can charge $20 a pop. There are tens of thousands of reports available in one form or another, including more than 4,000 on .gov domains.

Unfortunately, the status quo has created problems. How do you know that you’re looking at an authentic report? How do you know you have the most recent version — that you have the most up-to-date information? How do you know when CRS has released a new report? How can you know all the topics covered by CRS reports? Without an official, central publication source, the public simply cannot know.

It creates problems for many people. It creates problems for courts, who routinely cite the reports. It creates problems for journalists, who routinely report on them. It creates problems for advocates and think tanks, who rely on this information. It creates problems for students and academia, who rely on the reports for insight. It creates problems for historians, who face gaps in the historical record. And it creates problems for Congressional staff. Some research staff at legislative support agencies do not have access to the reports. Others, in personal and committee offices, surprisingly still search the internet for CRS reports. And member offices often must field questions from a confused public.

Over a two year span, major newspapers cited CRS reports 779 times. Over a decade, federal courts have cited CRS reports 130 times. Relying on an unofficial source for access doesn’t address any of these problems, and of course there’s no guarantee these websites will be around in the long term.

We should start with a presumption for open government, that information about the legislative process should be available to the public except where there’s a good reason to withhold it. Thanks in large part to this committee, Congress publishes lots of information about its activities. It publishes online bill text and status information, roll call vote data, committee reports, CBO and GAO reports, a phone directory for the House, video of hearings like this one, and so on. You can read CRS-like reports from the Law Library of Congress. It’s now routine for Congress to provide the public access to high quality work about policy matters being considered by Congress.

This opening up of Congress is the fruit of your labors and reflects policy choices that you’ve made. We thank you for it. As you know, the House has a general policy for the 115th Congress, adopted as part of the rules package, of broadening the availability of legislative documents in machine-readable formats. The Senate has had a policy since 1998 that encourages senators and committees to publish CRS reports on their websites. The House used to have a tool that members could add to their websites to automatically publish reports there, which was discontinued only because members did not know it existed.

Our written testimony, and that of our friends at the R Street Institute, the Data Coalition, and the American Association of Law Libraries, among others, express support for public access and address concerns about online publication that are sometimes raised. I welcome the opportunity to discuss any and all concerns. We have spent a lot of time working through them. To the extent they constitute serious questions, there are simple, straightforward fixes. And there’s bipartisan legislation, introduced last Congress by Reps. Lance and Quigley and Sens. McCain and Leahy, that fully resolve these issues to our satisfaction.

But let me touch on one issue that is not addressed elsewhere in testimony — the issue of cost. My organization is one of several that unofficially republishes CRS reports. As of yesterday, we had 8,671 reports on our site. It cost us a little more than $4,000 to build the site. On it, we redact the names, phone numbers, and email addresses of the report authors. We add disclaimer language to every report about possible copyright issues, and we explain that CRS reports are written for the Congress. We make it possible for readers to see how often a report is updated, and how much has changed since the last revision. You can even read the reports on your phone. We make them available for free, for everyone.

All of the code behind our website is available online for anyone to use at no cost. As we demonstrated with the site, it would be trivial from a technology perspective for Congress to publish the reports itself.

Our website shows one method by which this could be done. But our efforts are not a solution — it’s intended to be a guide for you. It’s intended to illustrate what is possible.

We hope that this committee will address our community’s longstanding request and ensure that CRS reports are published online for everyone to use.

I am looking forward to our conversation. Thank you for the opportunity to testify.

Read the written testimony. Watch the hearing. Read letters from a coalition of organizations and from 25 former CRS employees. Visit our website that republishes CRS reports.

by Daniel Schuman at May 03, 2017 02:01 PM

April 28, 2017


juicero and why you can’t just buy things anymore

The Juicero debacle is paying dividends besides simple amusement. This teardown of the (impressively overengineered) Juicero press is interesting and sort of beautiful, and it led me to other writing by Ben Einstein, who works at a hardware-focused venture capital firm named Bolt.

It’s interesting stuff, And while the following isn’t shocking to people who pay attention to startups, it is consonant with the fretting mood I’m occasionally in about excess efficiency. Consider his explanation of why hardware is unattractive for investors. From this post:

Consumer hardware startups need to understand that commoditization of their hardware is not a possibility, it is an inevitability.

As copycats are born, margin structures get compressed and customer acquisition costs increase. Few things protect against this besides a strong brand and retail/channel dominance. […]

At the time, the idea of a wearable fitness tracker was pretty new and it was obvious the concept was good. Each year as Fitbit gained popularity, the number of direct competitors at CES grew rapidly. In 2013, I probably talked to 8 or 10 copycats. By 2014, there had to have been over 100 and in 2015 the number was impossible to count. Every random Chinese company seemed to have an accelerometer on a wristband with a bluetooth app.

Despite hundreds of companies with nearly identical fitness tracker hardware, Fitbit was able to master brand, recurring customer engagement, and retail strategy.

And this one, on the kinds of business models that Bolt likes to fund:

Plenty of companies have built big businesses by selling hardware at a 30% gross margin. Why can’t you just run a Kickstarter and sell a ton of units through Best Buy when to scale up? You can, you’re just entering into a game of diminishing returns with an extremely slim chance of winning in the long-run.

Recurring revenue matters because it fundamentally changes your business. There are good reasons investors are averse to hardware but love software. One of the leading reasons revolves around future revenue. Investors pay huge premiums to own stock in companies betting on the likelihood that future revenue will be drastically larger than current revenue. If you’re in a traditional hardware business, future revenue is confined to cyclic product sales. This roughly means you get one shot at revenue with each customer per product development cycle: each sale must be painfully acquired by building a new product every 18 months or so. […]

This is where the brilliance of the Keurig model shines. The initial sale of a $120 Keurig brewer isn’t that difficult or costly. Keurig doesn’t spend a lot on marketing or advertising and the product isn’t complex to manufacture or service. In my rough estimation, the BOM for a brewer is around $40, giving Keurig about a 25% gross margin on the product. Time from PO to FOB is likely less than 2 months, yet high-margin K-cup sales start immediately and continue for years. Keurig spends less than $0.015 on each K-cup and charges 100% more per unit than bagged, ground coffee. Yet few people complain about this cost.

This is resonant; I was just complaining about Eye-fi moving to a subscription model, after all. Competition in this market has increased to the point where traditional business models aren’t viable — excepting efforts by highly motivated folks who will eventually wish they’d known better.

You can still be successful in investor-backed hardware ventures, but the models seem to have become more complicated:

  • You can achieve a level of sophistication and vertical integration that makes profitable competition against you impossible. This grows more difficult by the year, though. Companies like Apple can design their own silicon or purchase market-shifting quantities of aluminum-milling robots, but this is not a viable strategy for most.
  • You can “dominate the retail channel” which I take to mean some combination of anticompetitive practices and managing consumer perception — here’s the Bolt blog approvingly discussing the success of Beats headphones:

    I estimate that the COGS without labor or shipping is $16.89 – yet Beats is able to successfully retail these headphones for $199+. This is the power of brand; Dr. Dre and Jimmy Iovine have leveraged their personal backgrounds and a sleek design to launch a remarkable brand that’s become fundamental to music pop culture.

    There’s nothing wrong with selling people a brand experience, except insofar as the creation of those experiences can be done more or less cheaply, freeing resources for stuff that has to cost money.

  • Or you can create a business with recurring revenue by ensuring your product’s usefulness is tied to ongoing payments, like the Keurig.

I think most of us amateur observers are used to thinking about globalization in terms of its impact on labor and consumer prices — not its affect on how we relate to products or the business models that shape those relationships. As we collectively revisit the antiprotectionist consensus of the last few decades, it’s interesting to consider the other impacts that increased international economic friction could have. I am no expert, and I wouldn’t dare guess whether such measures could boost manufacturing employment. But it’s fascinating to consider how a moderate level of protectionism could — paradoxically — reinvigorate business models with a simpler, more transactional and less predatory relationship to customers.

by Tom at April 28, 2017 05:27 PM

April 23, 2017


Platforms for reliable research

I like the idea of using a Twitter thread for comments.

by Ben Klemens at April 23, 2017 12:00 AM

April 21, 2017


Neuralink is horrifying

This is the craziest thing I’ve read in a while. I may be missing context, but it seems that Elon Musk’s various ventures have settled on giving important product announcements and exclusive access to a cartoon science blogger named Tim Urban (Randall Munroe was presumably too expensive or inquisitive). Over many, many words, Urban explains the idea behind Musk’s newest astoundingly ambitious venture: Neuralink, which aims to accelerate the development of direct brain-to-machine interfaces.

It’s impossible to know the extent to which Urban’s account actually reflects Neuralink’s plans. It’s built on the kind of homunculus-riddled explanations of cognition that one is warned against repeatedly, even in the undergrad classes that make up the entirety of my education on these questions. But from Neuralink’s perspective this might be a feature, not a bug: Urban can’t have gotten it quite right, so everything is deniable.

To the extent that it is accurate, the essay itself perfectly recapitulates Neuralink’s strategy: just as the reader must slog through tens of thousands of unobjectionable words before reaching the punchline, Neuralink’s real aims are buried beneath a bunch of shorter-term medical goals that are unquestionably admirable. Sensory prostheses, cures for paralysis–only a monster would object to these. But that’s not all they want to do. Ultimately, they want to connect human minds seamlessly to digital communication technologies. Memory and computation would be partially offloaded to computers. Nonverbal forms of interpersonal communication might be possible. Collective forms of cognition could arise.

Given the power of network effects and the pathetically small incidence of technological abstinence in our society (picture a Western teenager without a smartphone) is it plausible that such a change could really be called optional? Can there be any doubt that this would transfigure humanity into something unrecognizable? Can there be any argument that this would constitute the end of our species’ current intellectual and cultural history?

And who gets to make this decision, anyway? An overextended Silicon Valley weirdo? His board of venture capitalists? I spent years of my professional life working to transform American political institutions on behalf of a billionaire philanthropist who was so-empowered because he happened to write some early auction software. All I can say in defense of this decisionmaking system is that we were not all that effective.

A good response to this is that there has never been a deliberative process for these sorts of things: humanity blunders into new technologies and always will. The best you can hope for is some queasy retrospective essays about the Manhattan Project. I don’t have an alternative to suggest, but I find this insufficient. My sense is that we were enormously lucky that nuclear weapons happened to be developed in cultural and social systems that turned out to have brinksmanship as their equilibrium state (so far, anyway). Our species has occasionally invented societies that do not work that way.

But back to the matter at hand. Naturally, the justification offered for destroying humanity is that this is the only way to save it: Musk says he’s worried that we’re about to invent vengeful superpowered AI, and that a hivemind superconsciousness is the only path to protecting ourselves. It’s hard not to notice that this theory contains a number of things that are optional, unlikely or could simply not work.

Personally, I think a more parsimonious explanation is that Musk suffers from a psychosis by which he finds various science fiction-y ideas utterly irresistible and is compelled to do everything in his power to realize them. I say this with both horror and admiration: if even one of his various non-Hyperloop projects works out, he will have made himself into a figure of world-historical significance. Even if I had the talent to do these sorts of things (obviously I don’t), I think the wiser and more ethical path is a family, a career, a home, and then historical oblivion. But it’s hard not to marvel at someone who is actually able to live your daydreams.

The crucial difference is that electric cars and solar panels and batteries and rockets and terraforming Mars all seem like good or at least sane ideas. This is not obviously true of Neuralink.

I won’t bore you with obvious arguments about such technologies’ capacity for totalitarian control or simple hacking. Instead I’ll ask: how is the electronic communication project looking, do you think?

Brain-to-brain interaction could easily be a singularity-level development, something with consequences that cannot be anticipated. It could even have Fermi Paradox implications! Reasoning about it might be impossible. But apparently we have to, and so we should probably start by asking what has happened over the last century as we learned to use electricity to make communication instantaneous, then digital, then networked.

I’m not sure whether or how to count world wars against being able to Facetime with your grandkid, so let’s just call that stuff a wash. I find the very recent history of many-to-many, pan-society frictionless communication to be extremely discouraging. Social media makes us less happy, as our evolved impulses for status competition and tribalism are supercharged. At a larger scale, the U.S. media and political ecosystem seems to have been successfully manipulated to a mind-boggling conclusion by a foreign power during our last election, despite the fact that the manipulation was detected as it was in progress. We can quibble about which part of this era of unprecedentedly efficient communication is responsible for our seemingly unstoppable descent into bitter factionalism and individual discontent; whether technologically enabled forms of suffering are new or merely more humane substitutes for older torments; whether the humanitarian benefits still being realized by technological diffusion outweigh the ennui that sets in after its arrival. But I don’t think many would disagree that the hedonic, intellectual, spiritual and institutional returns to a fully networked contemporary lifestyle are looking pretty suspect.

This is a tragedy. You could not find many people more enthusiastic than my younger self about the cathartic deliverance that perfect communication would provide. I ran a BBS as a kid; I built grandiose, essay-filled websites; I was consumed by technology and absolutely convinced that millennia-old liberal ideals about knowledge and deliberation would finally reach their apotheosis now that an age of universal democratic access was dawning. I count the failure of this vision as one of the great disappointments of my life.

In my younger self’s defense: it’s still early days. The jury is out on all of this. Yes, we are responding to social media and institutional decentralization badly, but populations sometimes evolve resistance to new pathogens after an initial wave of devastation. It’s possible we will develop the cultural practices necessary to avoid the helpless emotional and social debasement that currently pervade a fully wired existence.

(On the other hand that lifestyle still only reaches a tiny fraction of very wealthy people. Things will probably get much worse in the short term.)

I have no idea how this will work out in the future, but it seems obvious that blithely accelerating these processes today is unwise. If we do learn how to endure this changed way of living, I will agree it’s a shame that Elon and I will have missed our chance to be a part of its completion. But we all owe each other caution and care on matters this enormous, and maybe this is the cost of that duty. All that history owes us is oblivion. If Elon cannot learn to be content with that, I pity him. But not enough to release him from his responsibility to me.

by Tom at April 21, 2017 04:59 PM

April 20, 2017


DIY eye-fi server: docker, flickr, all sorts of good stuff

The Eye-fi is an SD card with an embedded wifi chip. Configure it, put it in your camera and it can wirelessly upload photos without human intervention. It’s a neat gadget, even if I never did manage to get my mother’s working for her.

Alas, Eye-fi’s software accomplishes this feat by running in the background of an always-on desktop computer. Worse, they’ve been steadily eroding their services’ capabilities, stripping away integration with photosharing sites people actually use in favor of their own cloud photo service (don’t worry, the first year is free).

A few intrepid geeks reverse-engineered the early Eye-fi cards, but enthusiasm seems to have diminished as Eye-fi’s services changed and their early-gen cards stopped working. Nevertheless, the techniques they discovered and software they wrote still work… well, they almost worked. There were some rough spots.

I have a baby on the way (did I mention that?) and expect to be generating lots of photos. So I have taken one low-dependency-count open source project and given it a fresh coat of paint. In addition to the satisfaction of knowing you are running slightly more reputable Python, the system is now able to upload your photos to Flickr, if you let it. And it runs in Docker (renamed as of today to Moby, ugh), which should remove many of the idiosyncratic configuration headaches that would otherwise make sharing a project like this a masochistic declaration of one’s intent to provide free tech support, forever.

If any of this sounds useful I hope you’ll give it a look. It has already happily uploaded many debug photos of my coffee table to Flickr from my a household Raspberry Pi. Perhaps it will prove equally helpful to you.

by Tom at April 20, 2017 10:24 PM

April 19, 2017


technology, religion and repeating yourself

Sometimes you read something that’s so good you have to share it even though its quality reveals that your own thinking on similar questions is utterly threadbare.

by Tom at April 19, 2017 03:31 PM

April 02, 2017


2016 Legislative Data and Transparency Conference is this Tuesday, June 21

The House’s Legislative Data and Transparency Conference is this Tuesday, June 21, from 9-4, in the Capitol Visitor Center auditorium in Washington, DC. RSVP here.

The conference brings together individuals from Legislative Branch agencies with data users and transparency advocates to foster a conversation about the use of legislative data – addressing how agencies use technology well and how they can use it better in the future. This is the 5th annual conference, and the conversations that take place help change the nature of government.

House Speaker Paul Ryan and and the UK’s Director of Parliamentary Digital Service Rob Greig will both address the conference.Continue Reading

-- Delivered by Feed43 service

April 02, 2017 02:59 AM

House of Reps’ Spending Info Is Now Online as Data

Yesterday the House of Representatives began publishing its spending data online as a spreadsheet (and continued publishing it online as a PDF file).

As Josh Tauberer explains in Open Government Data: The Book, the compilation of spending data, known as the Statements of Disbursements, includes “how much congressmen and their staffs are paid, what kinds of expenses they have, and who they are paying for those services.” While it does not contain all the nitty-gritty details, the Disbursements data can tell you a lot about the health and activities of Congress.

Yesterday’s publication includes the full dataset for the first quarter of 2016 in a 17.8 MB CSV file, and a smaller 502 KB summary file in CSV format. The information is also published as a PDF, which it has been since November 2009.Continue Reading

-- Delivered by Feed43 service

April 02, 2017 02:59 AM

March 27, 2017


Drawing a Line on Mass Surveillance: How Congress Must Reform Section 702

On Monday, members of the House Intelligence Committee held an open hearing into Russian involvement in the 2016 presidential election that included a discussion of whether the U.S. government improperly surveilled officials or associates of any campaign. During that hearing, members of both parties favorably referred to Section 702 of the FISA Amendments Act, a sweeping piece of intelligence legislation that is up for reauthorization later this year and, in our view, permits significant offenses against Americans’ civil liberties. Section 702 authorizes two truly alarming efforts that must be reformed or ended.

The first program is Prism, which produces the majority of information collected under Section 702, and involves ordering companies to search all information in their possession and copy whatever data is tied to something intelligence agencies call ‘selectors.’ A selector is like a keyword in a search engine; they can be very broad and are connected to enormous amounts of information, all of which is provided to the government. A Washington Post analysis found 9 out of 10 people whose account information was collected were not the “target” of an intelligence investigation. Half were American. For Prism to work, the government searches and copies emails and other sensitive information, including information traditionally protected by the Fourth Amendment’s probable cause standard.

The second program is Upstream, which collects information from the Internet’s ‘backbone,’ which includes the undersea cables linking continents and thereby enabling the global connectivity the Internet depends on. By compelling the entities that control that infrastructure (like AT&T) to scan or otherwise tap the information flowing through them — again, based on certain selectors — intelligence agencies collect information in real-time. This scanning affects all information traveling across the cables, with no regard for privacy or sensitivity. Information tied to these selectors, including our most intimate communications, is turned over to the government and stored for years (or indefinitely).

Given the many problems with Section 702, any legislation that does not include the following five reforms would raise grave concerns, prompting grassroots organizations like ours to oppose the measure. In the most recent fight over surveillance, overreach by surveillance hardliners led to hundreds of thousands of people contacting Congress to demand reform and the temporary expiration of three surveillance provisions.

1. A new sunset: Should Congress choose to reauthorize Section 702, any reauthorization must include a sunset, a date beyond which government intelligence agencies cannot use the authorities granted under Section 702 without passage of a new law. Sunsets are the primary means for revisiting and reforming controversial laws, and we want to make sure that Congress looks at this law again in the future.

2. Close the backdoor loophole: Warrantless ‘backdoor’ searches of Americans’ information must end. A backdoor search, which the government calls a “U.S. person query,” is when an intelligence agency deliberately searches through its massive databases with selectors for known US persons. In other words, after searching and copying billions of private communications, something allowed by law only in the interest of targeting non-Americans, the government searches through that huge store for information they know belongs to an American. We know these searches happen thousands of times per year — the total number of backdoor searches isn’t publicly known — and they are routinely used when the FBI starts an investigation into a U.S. person. Backdoor searches fly in the face of both the constitutional rights of Americans and the clear Congressional intent to permit foreign intelligence collection under Section 702. The House of Representatives overwhelmingly has supported reforming this provision in the past, and a fix must finally be incorporated into any law reauthorizing Section 702.

3. Limit ‘about’ collection: Currently, the government not only scans for communications to or from a target, but also for communications that are ‘about’ a target. For example, when the government searches for an email address, it doesn’t just look to see who sent and received the email, but whether the email address is included in the body of a message. In other words, the government is searching through the contents of communications. No programmatic surveillance should be allowed to operate this way because it requires searching en masse through the communications of innocent people suspected of no wrongdoing. A surveillance apparatus that reviews people’s communications without evidence of wrongdoing is extremely dangerous. Historically, mass surveillance has been applied disproportionately against communities of color and people outside the political mainstream. If the government’s past actions are to be any indicator, it is likely to leak into investigations of no relevance to national security. It also results in erroneous arrests.

4. Improve notice requirements and ban parallel construction: Section 702 is an extraordinary surveillance tool, and it must not be allowed to trample the constitutional rights of defendants and the authority of the courts. Unfortunately, we have seen disturbing examples where prosecutors failed to provide notice to defendants about the information being used to prosecute them. We are deeply concerned about possible evidence laundering designed to conceal intelligence collection practices through what’s known as ‘parallel construction.’

Parallel construction may occur in this context when the government uses information it collected for intelligence purposes for criminal prosecutions. This is problematic because the standard the government must meet to get the green light to collect information for intelligence purposes is lower than what the constitution allows in the criminal context. To get around the constitution and to hide collection methods, the government tips off investigators or prosecutors using the intelligence-derived evidence, and then the investigators recreate the investigation using information that could survive in court. The use of this ruse undermines the constitutionally-recognized right of a criminal defendant to test the basis of surveillance and the veracity of information used against them. These critical safeguards for justice cannot function when defendants do not know the original source of the investigation and the information used against them.

5. Disclose secret interpretation of law: Secret interpretations of law have no place in the U.S., yet the Justice Department’s Office of Legal Counsel secretly interprets law for the Executive branch, at times producing indefensible guidance that vitiates the statutes enacted by Congress. For instance, when the Bush administration wanted to torture detainees, it needed to avoid U.S. law and the Geneva Conventions. Cue John Yoo, an attorney for the Office of Legal Counsel, who wrote a memo okaying torture. While his analysis was not up to legal snuff, and was eventually withdrawn, and Yoo was described by DOJ as having “committed intentional professional misconduct,” the opinions issued by OLC kept Bush administration officials safe from prosecution and allowed torture to go ahead — all blessed by a secret memo. For an issue as critical and potentially dangerous as mass surveillance, a bill reauthorizing Section 702 must be safeguarded against any such abuse. We need to know the administration has not secretly reinterpreted the law and that the will of Congress has been faithfully implemented.

There are many other reforms to Section 702 that Congress should consider, and which we would wholeheartedly support including in reform legislation.

For example, we would support:

  • Limiting the purposes for which Section 702 can be used to collect information — especially ‘foreign affairs’ purposes that lie beyond counterterrorism.
  • Ensuring that U.S. persons can sue the government when it oversteps its surveillance authority.
  • Allowing companies to report on their compelled and voluntary cooperation with the government in greater detail.
  • Requiring the government to destroy data and limit retention of information, especially for U.S. person data.
  • Requiring the government to show that its targets are agents of a foreign power.
  • Requiring more government disclose about collection, especially with regards to the FBI, which is exempt from some of USA Freedom Act’s transparency requirements.
  • Strictly limiting the circumstances under which 702 information can be used after it is collected.

First published on Just Security.

Drawing a Line on Mass Surveillance: How Congress Must Reform Section 702 was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at March 27, 2017 05:16 PM

A small step towards a better House of Representatives

Today the Committee on House Administration took a small but important step to restore the House of Representatives as an effective legislative and oversight body. It voted unanimously to increase funding for each permanent committee — with four committees receiving a double-digit percentage increase.

The legislative branch is appropriated 0.1% of the federal budget to oversee the entire federal government, with much of that going towards non-legislative functions like security and facilities. Congress is woefully underfunded to perform its legislative, oversight, and representational duties, and that has undermined its ability to serve as a check on the executive branch.

In particular, over the last few decades, Congress has dismantled its ability to govern. It ceded its oversight and legislative responsibilities to an over-assertive executive branch and weakened its ability to engage in thoughtful lawmaking. As an illustration, the House has a skeleton crew by historic norms, with 57% fewer committee staff now than it employed in 1979, a drop from 1,909 people in 1979 to 1,100 in 2015. It’s no surprise that people think poorly of Congress.

The most notable increase in funding from today’s vote is in the committee that oversees the intelligence community — the House Permanent Select Committee on Intelligence (HPSCI) — which received a 31 percent increase, to a total of approximately $6 million annually. HPSCI will still be a comparatively poorly funded committee, ranking 12th out of 20 in terms of annual allotment.

In an article entitled Improving Congress’s Oversight of the Intelligence Community, we argued that HPSCI is woefully understaffed to perform its duties. “Last year the Committee had a 33-person staff and a $3.8 million dollar budget (the Intelligence Community’s budget is 18,421 times larger).” That point may have had some traction, as HPSCI Chair Devin Nunes (R-CA) referred to it in his testimony requesting additional funds. While this increase won’t solve the mismatch between committee funding and oversight responsibilities, it does start to move us, slowly, in the right direction.

With the new allotment, HPSCI will be able to hire more staff and be able to better retain the staff it has. It will allow for improved oversight of the work of the intelligence community, although more money and additional reforms still are necessary, such as potentially providing staff designees for members of the committee.

What’s true for HPSCI is true for all the committees and for Congress writ large. Today is a small step in the right direction.

A small step towards a better House of Representatives was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at March 27, 2017 03:03 PM

March 10, 2017


A Small Step Towards a Better House of Representatives

A Small Step Towards a Better House of Representatives

Today the Committee on House Administration took a small but important step to restore the House of Representatives as an effective legislative and oversight body. It voted unanimously to increase funding for each permanent committee — with four committees receiving a double-digit percentage increase.

The legislative branch is appropriated 1% of the federal budget to oversee the entire federal government, with much of that going towards non-legislative functions like security and facilities. Congress is woefully underfunded to perform its legislative, oversight, and representational duties, and that has undermined its ability to serve as a check on the executive branch.

In particular, over the last few decades, Congress has dismantled its ability to govern. It ceded its oversight and legislative responsibilities to an over-assertive executive branch and weakened its ability to engage in thoughtful lawmaking. As an illustration, the House has a skeleton crew by historic norms, with 57% fewer committee staff now than it employed in 1979, a drop from 1,909 people in 1979 to 1,100 in 2015. It’s no surprise that people think poorly of Congress.

The most notable increase in funding from today’s vote is in the committee that oversees the intelligence community — the House Permanent Select Committee on Intelligence (HPSCI) — which received a 31 percent increase, to a total of approximately $6 million annually. HPSCI will still be a comparatively poorly funded committee, ranking 12th out of 20 in terms of annual allotment.

In an article entitled Improving Congress’s Oversight of the Intelligence Community, we argued that HPSCI is woefully understaffed to perform its duties. “Last year the Committee had a 33-person staff and a $3.8 million dollar budget (the Intelligence Community’s budget is 18,421 times larger).” That point may have had some traction, as HPSCI Chair Devin Nunes (R-CA) referred to it in his testimony requesting additional funds. While this increase won’t solve the mismatch between committee funding and oversight responsibilities, it does start to move us, slowly, in the right direction.

With the new allotment, HPSCI will be able to hire more staff and be able to better retain the staff it has. It will allow for improved oversight of the work of the intelligence community, although more money and additional reforms still are necessary, such as potentially providing staff designees for members of the committee.

What’s true for HPSCI is true for all the committees and for Congress writ large. Today is a small step in the right direction.

Originally published in Just Security. Co-authored by Daniel Schuman, Phillip Lohaus, and Mandy Smithberger

by Daniel Schuman at March 10, 2017 05:57 PM

February 13, 2017


Calculating public burden using OIRA data -- Part Two

Yesterday, I published an article about using open government data to hunt for paper-based information requests by the government. Based on the data, it looked like there are still a lot of hours spent filling out paper-based forms. As I noted, though, I ran out of time to do careful analysis. So, today, let's explore deeper.

First, we'll create a histogram to look for the distributions of requests. To do so, we'll use pandas to examine the results data, and specifically the histogram method.

In [1]:
# Set up the graphing environment. Because I'm using jupyter notebooks, first I need to tell
# it to show the graphs inline. I also use the `ggplot` style, because it's less hideous. 
%matplotlib inline
import matplotlib'ggplot')
In [2]:
import pandas as pd
data = pd.read_json('results.json')
<matplotlib.axes._subplots.AxesSubplot at 0x7fca4799d358>

Wait. Hold on right there. That's not what you'd expect to see. That looks like there's an outlier. Let's see what that might be... To do so, we look for the top ten burdens.

In [3]:
data[["burden", "title"]] .sort_values('burden', ascending=False).head(10)
burden title
720 2997500000 U. S. Business Income Tax Return
729 48731780 IRA Contribution Information
719 34115874 Form 1099-DIV--Dividends and Distributions
718 24951529 Return of Organization Exempt From Income Tax ...
248 20036012 2017-2018 Free Application for Federal Student...
509 13500230 National Fire Incident Reporting System (NFIRS...
717 10880812 Employer's Annual Tax Return for Agricultural ...
497 9902378 Arrival and Departure Record
449 7736084 Physician Quality Reporting System (PQRS) (CMS...
713 7041290 Customer Due Diligence Requirements for Financ...

Oh dear. Looks like we've got a pretty obvious mistake here: "U.S. Business Income Tax Return" can definitely be filed electronically. Same with the other things on the list. And that one outlier accounts for 3 billion of the 3.3 billion hours. Oof. So what gives?

Well, it turns out that the way that OIRA displays the burden data is that if any of the forms that are part of an information collection request is not electronically available, then the burden for all of the forms gets aggregated. And unfortunately, there doesn't seem to be an obvious way to back out the other forms. So, that's not very useful, unfortunately.

Let's see what the total burden is if you remove the top 20% of information collection requests.

In [4]:
"{:,} hours".format(data.burden.sum() - data.sort_values('burden', ascending=False).head(220).burden.sum())
'5,589,316 hours'

So, that feels a lot more sane, and a lot less exciting. There are only 5,589,316 hours of public burden for everything but the top 20% of information collection requests.

In the end, this is a great lesson in how a data schema can lead to incorrect conclusions.

Still, we have some good data near the bottom of the chart.

In [5]:
<matplotlib.axes._subplots.AxesSubplot at 0x7fca467f8080>

In other words, there are a lot of information requests that account for a couple hundred hours of public burden. Not a surprising result, but perhaps even more useful in the end. This result means that there are about 200 forms in the middle that account for much of the remaining burden hours. Now, that seems like a good place to start.

February 13, 2017 12:00 AM

February 12, 2017


CRS Report Author Information

CRS Report Author Information

Jun, we intentionally redact the CRS report author information. The ultimate purpose of this website is to encourage Congress to change its policy and publish CRS reports online.

While I think it meritless, one of the concerns raised by CRS in opposition to Congress publishing CRS reports is an (unfounded) fear that lobbyists or others will somehow gain greater access to the authors of the reports and try to bias their analyses or intimidate the authors. I don’t think that greater public accessibility will lead to that result for the reasons described in a lengthy letter we wrote to Congress last year.

However, I would not want this unsupported argument around authorial information to be a barrier to Congress releasing the reports. By showing that redaction is feasible at scale, we can move the debate past this sticking point and encourage the relevant congressional committees to have a conversation with us.

Of course, we publish enough information that anyone who is interested in an unredacted report can simply call their member of Congress and ask for it or search for it online.

by Daniel Schuman at February 12, 2017 10:11 PM


Calculating public burden using OIRA data

Recently, the new Administration issued an Executive Order aimed at Reducing Regulation and Controlling Regulatory Costs. As part of this effort, the Administration is supposed to offset regulated costs.

So, that got me thinking. The Office of Information and Regulatory Affairs (OIRA) is charged with reviewing not only regulations, but also is charged with reviewing agency's information-collection requests under the Paperwork Reduction Act. And as part of that review, OIRA and the agencies are supposed to track the public burden associated with the information collection.

As a thought experiment, I decided to see whether we could find some low-hanging fruit, namely paper-based information requests. And the results were interesting...

The analysis

First, we need to find the data. Fortunately, that data is already available in bulk from OIRA. Well done, OIRA.

From here, it's simple. First we use lxml to parse the XML file.

In [1]:
from lxml import etree
tree = etree.parse('CurrentInventoryReport.xml')
root = tree.getroot()

So, now that we have the data and it's parsed, where to begin? Let's see what this data looks like by checking out the first Information Collection Request in the data.

In [2]:
print(str(etree.tostring(root[0], pretty_print = True).decode('UTF-8')))
<InformationCollectionRequest xmlns:xsi="">
        <Title>National Appeals Division Customer Service Survey</Title>
        <Abstract>To conduct a customer survey to gather date on the quality of how to make improvements in NAD processes and establish customer service standards.       </Abstract>
        <ICRTypeCode>Revision of a currently approved collection</ICRTypeCode>
                <PhoneNumber>703 305-2514</PhoneNumber>
                    <NameOfEO>Setting Customer Service Standards</NameOfEO>
                <Title>National Appeals Division Customer Service Survey</Title>
                    <LineOfBusiness Code="116">Litigation and Judicial Activities</LineOfBusiness>
                    <Subfunction Code="055">Resolution Facilitation</Subfunction>
                        <FormName>NAD Customer Survey</FormName>
                        <ElectronicCapability>Paper Only</ElectronicCapability>
                    <PublicCode>Individuals or Households</PublicCode>
                <Title>National Appeals Division Customer Service Survey Non-Respondents</Title>
                    <LineOfBusiness Code="116">Litigation and Judicial Activities</LineOfBusiness>
                    <Subfunction Code="055">Resolution Facilitation</Subfunction>
                        <FormName>NAD Customer Survey</FormName>
                        <ElectronicCapability>Paper Only</ElectronicCapability>
                    <PublicCode>Individuals or Households</PublicCode>

Well, would you look at that?! There's an AvailableElectronically element.

So, how about we try and find all the agencies that have some information collection requests that are not available electronically.

To do this, we use xpath to find all the Information Collection Requests that has a "AvailableElectronically" element with "No". Then, we simply pick the fields we want to dump into a Python dict.

In [3]:
results = []

def getInfoRequests(element):
    res = []
    collections = element.xpath('./InformationCollections/InformationCollection')
    for collection in collections:

            "title": str(collection.xpath('./Title/text()')[0]).strip(),
            'obligation': str(collection.xpath('./ObligationCode/text()')[0]).strip(),
            'affected': str(collection.xpath('./AffectedPublicCode/PublicCode/text()')[0].strip()),
            'number_responses': str(collection.xpath('./NumberResponses/AnnualQuantity/text()')[0].strip()),
            'burden_hour': str(collection.xpath('./BurdenHour/TotalQuantity/text()')[0].strip()),
            'frequency': collection.xpath('.//ReportingFrequency/text()'),
    return res

requests = root.xpath('//InformationCollectionRequest[.//AvailableElectronically/text()[. = "No"]]')

for request in requests:
        "agency_code": request.xpath('./AgencyCode//text()')[0],
        "omb_control_number": request.xpath('./OMBControlNumber//text()')[0],
        "icr_reference_number": request.xpath('./ICRReferenceNumber//text()')[0],
        "title": str(request.xpath('./Title//text()')[0]).strip(),
        "abstract": str(request.xpath('./Abstract//text()')[0]).strip(),
        "expiration_date": str(request.xpath('./Expiration/ExpirationDate//text()')[0]).strip(),
        "burden": int(request.xpath('./Burden/BurdenHour/TotalQuantity/text()')[0]),
        "requests": getInfoRequests(request),
        "cost": int(request.xpath('./Burden/BurdenCost/TotalAmount/text()')[0]),

Now that we have a Python dict, time for the payoff. We sum the burden for each Information Collection Request and print the results.

In [4]:
burden = sum([result["burden"] for result in results])
agencies = set([result["agency_code"] for result in results])

print("There are %s information requests that cannot be filed electronically from %s different agencies with a total public burden of %s hours." % (len(results), len(agencies), "{:,}".format(burden)))
There are 1110 information requests that cannot be filed electronically from 149 different agencies with a total public burden of 3,298,793,451 hours.

That's not a typo. That's a total of 3.3 billion hours of public burden associated with paper-based information requests. Seems like a target-rich environment.

Unfortunately, I've run out of time to really get in there and visualize where to begin. So, for now, I'll simply save the results in a json file for later.

In [5]:
import json
with open('results.json', 'w') as fp:
    json.dump(results, fp, indent=2)

Hope you enjoyed this little exploration in how open government data can be used to make government work better. It's important to note that none of this would be possible if OIRA did not publish the data in bulk... Again, nice work OIRA.

February 12, 2017 12:00 AM

February 07, 2017


How to Support the Resistance

Over the last few weeks friends have asked me to name organizations they should financially support to deliver the biggest bang for their buck in fighting the Trump administration.

This is my list based on a decade of work as an advocate and 17 years in and outside government in Washington, D.C. Caveats at the bottom.

In brief:

The Fighters
→ Demand Progress (c3 and c4) — donate
→ Free Press (c3 and c4) — donate
→ Color of Change (c4) — donate

The Truth Tellers
→ GovTrack (LLC)— donate
→Project on Government Oversight (c3) — donate
→ ProPublica (c3) — donate + Center for Public Integrity (c3) — donate

The Fighters

Demand Progress is where I work as policy director. Our purpose is to build a modern democracy, and our issues include civil liberties, open government, open internet, and money and politics. We are on the vanguard of fighting for democracy and we punch way above our weight. We played a key role on the debate on mass surveillance, on SOPA/PIPA (net neutrality), shaping the ongoing Trump nomination fights, and protecting the Office of Congressional Ethics.

Demand Progress has 2 million members and fewer than 10 staff. We run a number of projects including Rootstrikers, the Congressional Data Coalition, and help support the Fourth Amendment Advisory Committee. Co-founded by David Segal and Aaron Swartz, Demand Progress is both a c(3) and c(4) organization, which means we can do just about everything. Donate online or drop me a line. (We accept c(3) and c(4) donations.)

Free Press. I’ve long been impressed by the quality of work from Free Press, and especially their lobbyists. They describe their work as fighting for your right to connect and communicate, and they are tenacious in those efforts, bringing in slightly under a million activists and a highly capable lobbying team. From civil liberties to an open internet, they are at the forefront of the resistance.

Free Press has around 25 staff. They accept both c(3) and c(4) donations.

Color of Change accurately describes themselves as “a high-impact, collaborative team of activists committed to making justice real for Black people.” They work on all the important issues that affect black people and are phenomenally good at their work. They are fighting back.

Color of Change has around 35 staff. Donation information here.

The Truth Tellers

Just a word about the Truth Tellers. These organizations are not partisans in the fight against Trumpism. Rather, they work to make our political space more vibrant and get information out to people. (Some of the Fighters also do this.)

The Project on Government Oversight is a well-lead, smartly staffed advocacy and research organization that champions good government issues including whistleblower protection. They describe their goals of achieving a more effective, accountable, open, and ethical federal government. They are one of the few organizations left standing in this space as foundation funding for open government largely has evaporated. They have around 25 staff.

POGO is a non-partisan c(3) organization, so they do not do campaign-related work and there are some limits to how much they can lobby. Donate here.

GovTrack is a website that provides more than 800,000 people each month basic information about the inner workings of Congress. Built and run by just one person, GovTrack empowers advocates, journalists, and regular citizens to make our democracy better. GovTrack also makes the data it gathers available to everyone for free, and that empowers a whole ecosystem of information-sharing organizations and tools. It is organized as a small business (and LLC), but is run like a charity. Donate.

ProPublica and Center for Public Integrity are a public-interest journalism outfit that has doubled-down on investigative journalism. Their stories change the world and they invest in the kind of deep reporting that helps push back the truthiness and alt-facts that are so rapidly encroaching.

ProPublica says they are dedicated to “producing journalism that shines a light on exploitation of the weak by the strong and on the failures of those with power to vindicate the trust placed in them.” Center for Public Integrity says they “serve democracy by revealing abuses of power, corruption and betrayal of public trust by powerful public and private institutions, using the tools of investigative journalism.”

They are c(3) organizations; Pro Publica has more than 50 journalists; CPI has around 35. Donate here to ProPublica and donate here to CPI.


While I regularly lobby Congress on civil liberties, open government, open internet, and money in politics issues, and have done so for a decade, my impressions are idiosyncratic. I like organizations that find points of leverage and use a variety of tactics to meet their goals. I also like the issues I work on.

  1. My list is heavily biased towards small organizations that are on the vanguard — and where a small infusion of cash will make a significant difference in what they can do. I am focused on organizations with fewer than 50 staff, and ideally under 20. So slightly larger but eminently worthy organizations, like EFF, did not make the list.
  2. This list reflects my personal opinions.
  3. There are many other good organizations in the world that do amazing work that provides a high return on donations, including those focused on resistance to Trump. If an organization is comparatively well funded, or fairly large, or fairly established, or has a more diffuse mission, that weighed against inclusion here. Similarly, international organizations were not included.
  4. There are also worthwhile organizations to donate to separate from the Trump issue — such as our local hospice, local shelter, local food pantry, and Planned Parenthood — but this list is specifically focused around the political events shaping our world.

About your donation

You may have noticed that I indicated whether an organization is a c(3) or a c(4). (GovTrack is neither, it’s a private corporation, a LLC.)

What this means for the donor (i.e. you). What this means for you is that c(3) donations are tax deductible, but c(4) donations are not. That is, when it comes to file your taxes — depending on how you do it — you can write off your donation. BUT: c(4) donations are better for the organization.

What this means for the recipient. There is a big difference between donations to c(3) and c(4) organizations.

  • 501(c)(3) organization, known as charitable organizations, do not pay taxes and can receive donations without the donors paying taxes. But, they must not participate in political campaigns and must strictly limit the amount of lobbying they do to a tiny amount of their budgets.
  • 501(c)(4) organizations, known as social welfare organizations, must operate primarily for the public good. Donations to them are not tax exempt. But they can engage in a lot more activities, including lobbying and intervening in political campaigns (but cannot coordinate with candidates on those campaigns). So they can do a lot more with the money.

by Daniel Schuman at February 07, 2017 01:59 PM

January 26, 2017


bike hack night

I gave a talk at Bike Hack Night a couple of weeks ago, and have finally managed to put the audio and slides online. It runs about 12 minutes long and describes how I used the ESP8266 wifi microcontroller, ultrasonic rangefinding sensors, a homegrown iOS app and some data analysis to examine how much space cars afford me when passing me as I ride my bike.

It was a fun project! The big takeaway for me was the accessibility of these tools, both in terms of learning the technology and in terms of price. If you assume a smartphone is already handy, total bill of materials doesn’t even hit the $20 mark.

You can find the slides and audio here:

by Tom at January 26, 2017 04:52 PM

January 03, 2017


Effort Underway to Undermine the House’s Ethics Watchdog

Source: MasonDan

Update at 12:52 pm on Tuesday: After an outpouring of phone calls, emails, tweets and an avalanche of news stories, House Republicans held a secret meeting just before noon and pulled the Goodlatte amendment, which would have eviscerated the Office of Congressional Ethics. While we have won for now, members are quoted as saying they’re going to revisit the issue later this year. We must remain vigilant.

Update at 10:05 am Tuesday: We are trying to find out which members voted to gut OCE. YOU CAN HELP. Follow this link and let us know who voted to undermine OCE.

Update at 7:22 pm: House Republicans, in a secret meeting of their conference, voted 119–74 to undermine the Office of Congressional Ethics, the House’s independent ethics watchdog, by subsuming it under the Ethics Committee, taking away most of its powers, and undermining its transparency. The vote itself is secret. The amendment will be placed into the House Rules package, to be voted on tomorrow, which inevitably will pass. This is bad news, and we must keep calling on Congress to restore and strengthen OCE. Here is the text of the amendment (credit Eric Lipton).

An effort apparently is afoot today to weaken the House independent ethics watchdog, the Office of Congressional Ethics (OCE), by placing it under the House Ethics Committee. This would undermine the very purpose it is meant to serve.

OCE was created because Congress and the general public viewed the House Ethics Committee as having failed in its duties to police the House of Representatives, resulting in a series of transgressions culminating in the Abramoff corruption scandal and the Foley page sexting scandal. OCE and the Ethics Committee are institutional rivals, with very different roles: OCE investigates bad behavior and adds transparency to the process; the Ethics Committee operates in secret and only it can mete out punishment.

According to reporter Billy House, Rep. Goodlatte is leading the charge to undermine OCE. He tweets:

Just recently, a bipartisan coalition of open government and ethics organizations called on the House to re-authorize OCE without weakening its powers. They wrote:

OCE is one of the stellar ethics accomplishments of the House of Representatives…. OCE has helped change a secretive and oft-perceived moribund ethics enforcement process into a reasonably more accountable and active system.

It seems that the amendment is being offered as part of the internal House Republican conference debate on the Rules of the House of Representatives, which is taking place today. House Republicans will present their rules package late tonight or tomorrow, and it will be voted on tomorrow (Tuesday).

In doing so, this also apparently violates the GOP’s Pledge to America, which says that Republicans will “give all Representatives and citizens at least three days to read the bill before a vote.” This pledge has been interpreted as requiring 3 legislative days.

I am having trouble seeing how public release of the proposed House Rules tonight (or tomorrow) will satisfy that 3-legislative-day requirement, but it certainly violates the spirit. Other legislation intended for consideration this upcoming week is already online, which begs the question of why not here?

We are reaching out by twitter to encourage the House to leave OCE as an independent ethics watchdog. Please re-tweet:

The Office of Congressional Ethics is one of the best congressional reforms of the past two decades. Weakening OCE — in particular, placing it under the enervated Ethics Committee — will foster corruption and undermine congressional transparency.

UPDATE at 5:40pm — Here’s a description of the Goodlatte amendment:

Renames the “Office of Congressional Ethics” the “Office of Congressional Complaint Review,” and places the Office under the oversight of the Committee on Ethics. Provides protections against disclosures to the public or other government entities, and requires that any matter that may involve a violation of criminal law must be referred to the Committee on Ethics. Provides greater certainty as to the commencement and termination of any review, including timely notice to the subject and Committee on Ethics. Bars the consideration of anonymous complaints and requires rules changes to better safeguard the exercise of due process rights of both subject and witness. Limits the jurisdiction of the Office to the last three Congresses to conform to the statute of limitations for the Committee on Ethics.

In other words, it eviscerates OCE.

Update at 7:53: Here is a statement for attribution to Daniel Schuman, Policy Director, Demand Progress

“Today House Republicans made an unfathomable decision to weaken ethics and accountability in the House of Representatives, undoing reforms enacted in the wake of a series of scandals that shook Washington. The House cannot police itself, which is why it created the Office of Congressional Ethics, an independent watchdog with a fact-finding mission that uses transparency to provide accountability for Members of the House and serves as a stimulus to the moribund Ethics Committee.
With today’s action — taken behind closed doors and with no opportunity for public debate — the House now rolls back the clock to an era of corruption and decay. We will all be the worse for it.”

Update on Tuesday at 9:28am: My colleague at CREW Adam Rappaport tweets that over the last two Congresses, OCE has about a 50% ratio of referring matters on to the House Ethics Coommittee.

Journalist Steve Rich tweeted that his article “10 members of Congress took trip secretly funded by foreign government” would not have been possible without the work of OCE.

Not only is that true, but OCE’s report showed where the House Ethics Committee failed to do its job and misled members into taking trips and receiving gifts that federal law prohibits.

This backgrounder from Public Citizen makes the case for an independent Office of Congressional Ethics.

Effort Underway to Undermine the House’s Ethics Watchdog was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at January 03, 2017 05:53 PM

January 01, 2017


This Week I Ate: Asheville

For Christmas this year I headed down to Naples, Florida to visit my grandparents. By car. The from Washington to Naples is about 17 hours and not something I was excited to jump in the car for. However, I also wasn’t keen on shelling out buckets of money for subpar flight accomodations.

To get the most of the miles I would spend in my car I thought of places I could visit en route to/from Florida. I landed on Asheville, NC from the extensive coverage of the city’s beer and food scene that I’ve been exposed to over the past year (admittedly thanks to Bon Appetit Magazine). I was also able to convince my boyfriend to meet me in Atlanta en route to Asheville after his Boston visit. So, with a phone full of podcasts I headed from Naples to Atlanta to pick up the boyfriend after Christmas. His company both in Asheville and on the drive back was so appreciated.

The two places at the top of my food list in Asheville were Buxton Hall and Hole Doughnuts. My orders at both did not disappoint.

Hole Doughnuts

First up for our day in Asheville was Hole Doughnuts. The little shack exists across the river in West Asheville, a couple minute drive away from our Airbnb. Hole Doughnuts is known for their doughnuts (obviously), but I was also really impressed with the vibe. A full parking lot and a to-the-door line is always indicative of a delicious meal to be had, but for a Wednesday morning at 10am, I was impressed with how much of a local hangout Hole was: UNC Asheville students gathered around to study together; a man grabbed a half dozen to bring home to his family; families sat together at picnic benches for a lazy breakfast. Oh, and this dougnut was named best of the year by Bon Appetit, too.

To match its limited hours of 7am-2pm, Hole has a perfectly limited menu. Every day Hole serves vanilla glazed, rubbed cocoa, and sesame almond. Each week they also rotate in a special flavor. The week we were there, I was pleased to see mulled wine on display. Wine for breakfast is an automatic win.

Hole serves no other food, but does have an awesome drink selection — coffee, orange juice, and milk (both plain and chocolate) from local cows. I recommend the coffee to keep you warm as you walk through Asheville like we did.

We ordered on of each doughnut and sat at a low counter right in front of the fryer. Off to the left dough was weighed, balled, and hand-shaped (the Hole signature move) on a simple butchers block counter. Directly in front a Frylator bubbled with doughnuts fried to order. To our left, each doughnut was dipped in one of the four toppings and served immediately on wax paper to each customer. Despite the fry-line sitting within the dining room, there was an awesome calm emitted by the small crew of 4 taking orders and making doughnuts. If you ever end up at Hole Doughnuts — and I highly recommend you do — wait for a seat at the counter. The crew will not only impress you, but will answer all of your doughnut questions, too.

Hole Doughnut’s (top to bottom) coffee, cocoa rubbed doughnut, and mulled wine doughnut.

As for the actual doughnuts, each had the wonderful signature hand-shapen look (much artisanal), served warm and crispy. The interior of the doughnut was like a super light yeast doughnut — no cake here — but luckily lacked the oily-ness that most yeast doughnuts have. We were told this is in part due to the type of rice oil that Hole employs. Unfortunately, we were only able to try two of the four flavors (we were accidentally served double mulled wine and rubbed cocoa instead of one of each) but they were both totally awesome. The rubbed cocoa was bitter and offset the sweetness of the dough nicely, but was very rich — proceed with caution, or order one with a friend. I really enjoyed the mulled wine flavor with it’s lighter flavor of cloves and allspice, but the boyfriend had trouble discerning (a first!). He thought it was the plain glazed.

Buxton Hall

After some time walking downtown through Asheville’s street, full of doughnuts, we hit up Buxton Hall for a late lunch. Opened in 2015 and awarded top 10 new restaurant by Bon Appetit, the restaurant has been flocked by beer and food tourists — like me. We did hit about a 30 minute wait for lunch, on a weekday, the week after Christmas. The lobby has plenty of things to checkout and Buxton offers take-out of their whole menu, some prepared items like their pimento cheese, and whole pies and slices.

Buxton Hall’s dining room.

After our wait, we were sat in the very large hall at the community table next to fellow tourists from Chicago. The atmosphere throughout was friendly with families and groups throughout. We sat right in front of a full bar and while all of the drinks were delicious we opted for iced tea and Cheerwine.

Buxton Hall’s hush puppies.

Buxton Hall is a barbecue place. It boasts it whole-hog, Carolina smoke-style approach to its pork. However, I came to Buxton wanting one thing — the fried chicken sandwich that I heard about on Bon Appetit’s Foodcast a few months ago and haven’t stopped thinking about since. I ordered the sandwich, and the boyfriend opted for a pulled pork sandwich with some pasta salad. Hush puppies were also eaten.

First things first, the chicken sandwich was bomb and is simply not fair to compare against the boring pulled pork. The pork was served on a basic bun with sauce on the side and really nothing else. It was fine, but we suspect that it was this sandwich that made us both very sick and almost unable to enjoy the Asheville beer scene that night. The rally was rough.

Now, the fried chicken.

Buxton Hall’s fried chicken sandwich.
  1. Perfectly fried juicy breast topped with slightly melty orange cheese. Usually I turn my nose up at artificially colored cheese slices, but the cheese turned this sandwich up from crispy-savory to crispy-savory-creamy-nomz. Done.
  2. In-house made pimento cheese, enough said I hope.
  3. A slightly sweet bread and butter pickles brought a needed and balanced brightness to the bread-chicken-cheese combo. The boyfriend, not a fan of sweet pickles, even lauded them.

The fried chicken sandwich was what I couldn’t stop talking about all afternoon but Buxton Hall didn’t disappoint with everything else. The macaroni salad and cole slaw sides incoroporated whole grain mustard, a fun addition to what could be an otherwise basic dish. The hush puppies were mostly starch but came perfectly golden brown delicious. I recommend dipping the hush puppies in the “white barbecue sauce” that is served alongside with Buxton’s pork instead of the cream sauce served with them.

All in all, my Asheville experience was full of great food with a couple of bucket list items checked off. That’s what I call a success, and a great way to make a long drive a little shorter.

by Becca James at January 01, 2017 09:27 PM

December 28, 2016


Previewing the House’s Rules for the 115th

On the first legislative day of a new Congress, the House of Representatives operates virtually in a state of nature, governed only by the Constitution. The first order of business is electing a Speaker, and after the Speaker swears in the Members, they adopt the rules that govern the House. Until then, there are no committees, no officers of the House, nada. At that moment, it’s pure majority rule. The Rules of the House, adopted that day, set the tone and parameters for all that follows.

Recently, Bloomberg summarized a proposal from House Republicans on the Rules the House of Representatives for the 115th Congress should adopt, and I have copies of a draft that shows how these rules would differ from the 114th, so here’s what pops out as notable. (Warning: this is not comprehensive!)

But first….

The proposal I’m describing can still change before January 3rd; the text usually is publicly available on the 2nd, although I’m not aware of rules that govern when it must be available, and the 3-legislative-day presentment rule technically is not in effect. It would be nice for Democrats and Republican to publicly release the final proposals farther in advance (but I’m glad these were shared comparatively earlier than usual!)

These are not the rules for the House Republican Conference and Democratic Caucus. House Republicans usually publish their rules; Democrats (sadly) do not. Republican rules likely will be published here. Update: the R rules for the 115th are here, but were pretty hard to find.

The Rules will be published as structured data. Last Congress, for the first time, the House published its rules as structured data. This is very helpful. Here’s how the rules have changed recently: 111-to-112th, 112–113th. (I haven’t published 113–114th.)

How should the House modernize its rules? Glad you asked. Here are recs for transparency/accountability the 114th, 113th, and 112th Congresses. Here are recs for modernizing congressional oversight of the intelligence community for the 115th, and elsewhere we’ve signed on (and helped identify) ethics reform recs and a letter in support of retaining the Office of Congressional Ethics.


  • The House will continue publishing House documents in machine-readable formats. This is a BFD.
  • The ethics watchdog known as the Office of Congressional Ethics will continue in its current form. (We will have to watch to see if an amendment is offered to weaken OCE). We support strengthening the office by granting it subpoena power.
  • The House will continue to require the use of parallel citations for non-codified laws, which is making it possible to build a tool (the Amendment Impact Program) that shows how a bill would change the law in real time, at the touch of a button.
  • Members will (continue to be) able to more easily fund staffers at Congressional Member Organizations, which are congressional caucuses.
  • Docs.House.Gov, run by the House Clerk, now is authorized by a provision in the House rules itself, not just an order.

Likely in response to the Democratic sit-in on gun violence, the new rules allow the House to fine anyone who digitally records anything on the House floor, violating House rules or whatever the Speaker says is policy on electronic devices. It also underscores (or maybe grants further powers to?) the Ethics Committee to punish sit-ins on the floor when the House is in session.

This provision will get the most media attention and likely is intended as such. I suspect that it constitutes a pyrrhic victory, however, if adopted. Wealthy members of Congress can easily afford the fines, or may draw no salary and thus the mechanism created here would be ineffectual. The optics of punishing members who speak out on hot topic issues are awful, and serve to highlight the governance problems arising from the minority feeling so disempowered by the House under its rules. In addition, the way this rule it would be implemented — with the money coming out of member pay — may violate the 27th amendment, which prohibits altering member pay during the current congressional term, although I’d have to do homework to figure that one out.

The House must have a way to effectuate its subpoenas, but a new provision seems to make it a lot easier, and we’ve seen the House Science Committee abuse its subpoena authority against NGOs in its fight against climate science, using it as a political weapon instead of a fact finding tool. With a friendly administration, it’s much more likely people will go to jail for refusing to comply with (punitive) subpoenas. There’s real fear among NGOs that House committees will abuse their authority to punish political opponents, and that the new measures seem to weaken the checks on House committees and thereby makes it much easier to tie civil society up in knots. I haven’t worked through the implications of these new provisions but they make me really nervous.


  • Strengthen Congressional Oversight of the Intelligence Community. Congressional Oversight of the Intelligence Community is terribly broken. A bipartisan coalition of dozens of organizations put together common-sense, do-able recommendations to make it better, building on a nifty white paper. Those recommendations were not adopted here, which is particularly unfortunate in light of all the concerns about foreign influence in domestic elections, interference/surveillance by our own spy agencies in the domestic sphere, and impending shifts in US foreign policy.
  • Committee on the Operations of Congress. Congress is badly malfunctioning and it has been decades since Congress itself looked at the causes. A coalition of organizations endorsed a recommendation spearheaded by the Congressional Institute that called for a Joint Committee on the Operations of Congress. We’ve already seen useful, related work in the Article 1 project, but it’s not enough. The House could have kicked off its own select committee.
  • Improved Committee Transparency. We’ve seen real improvements with transparency on bills on the floor of the House, but committees still are quite opaque. The rules should be updated to release the text of amendments offered in committees and to modernize how votes are released to the public. This info is largely available through paid services, but is not available to the general public.
  • Whistleblowing. This is partially covered elsewhere, but I wanted to reiterate that whistleblowing is so important that the House should establish an office of a Whistleblower Ombudsman to help Members and Committees protect whistleblowers who talk to Congress and facilitate their doing so.
  • Nitpicky stuff. There’s a bunch of nitpicky stuff that would be useful. Witness disclosure forms, for example, could be put online at one central location, made searchable, and include a field to indicate whether the witness is a lobbyist. It’d be great for the House to have a Chief Transparency Officer, who helps people inside the institution better publish data and those outside find it. If you’re interested, I have a long list. :)


  • The House has reinstituted the seemingly archaic Holman rule, which is explained on p. 7 of this Appropriations Committee history but makes little sense to me. Based on the House’s explanation, I think it allows appropriations bills to be amended, but only when (1) the amount of money appropriated is cut; (2) federal employees salaries (or total number of positions) are cut; or (3) compensation to other people (contractors?) are cut. Drawing on news analyses, this seems like a incredibly powerful and fairly dangerous tool to cut pay or employees through amendments that are rammed through, instead of working through the slower but more deliberative processes.
  • Another provision disallows amendments to appropriation bills that would increase budget authority. Also not sure what this means, although I suspect it is connected somehow to the sequester and would prevent efforts to increase money available for the different approps cardinals.
  • There’s a further provision with prevents the committee of the whole from reporting a bill that’s funding goes beyond what’s allowed under the budget resolution. This is another way that weakens all Members of the House except the few who sit on appropriations.
  • The Speaker Pro Tempore is given priority over the Clerk’s ability to restore order prior to the selection of a new Speaker, apparently after a Speaker has been deposed. I’m not sure what the consequences of this are, but it may be a response to what happened after Speaker Boehner was forced out in the middle of a session.


  • Why is Homeland Security allowed to hold closed hearing for 5 additional days without holding a public vote to continue those proceedings? The vote doesn’t take long, and secrecy is a bad habit in the people’s house.
  • Adding the motion to postpone and the motion to recommit as postponable questions seems like it could have significant repercussions in circumstances where leadership is losing on a bill, i.e. when members would be willing to delay (kill) a measure but don’t want to outright vote against it.
  • Looks like there’s a requirement to say how many rulemakings are being directed in a bill, but not listing the directed rules itself. This could be about the balance between agencies and Congress.
  • I’m not sure what’s changing w/r/t the House Oversight Plans.


  • Reiterates that the documents in personal offices of Members belong to the Members and not the public. It’s probably worth rethinking, but not sure it’s a big deal. I wonder if there’s a way to help members preserve personal office documents that would be of public interest.
  • Former members who lobby cannot go to the House gym.
  • House Democracy Partnership will continue.
  • Granting House Intel staff deposition authority without a member present seems reasonable.

Previewing the House’s Rules for the 115th was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at December 28, 2016 02:28 PM

December 24, 2016


On bringing stories to data, or, the trouble with the Cubists

I did badly in every statistics class.

Econometrics 301 was my only D grade as an undergrad, and grad school was only marginally better. This is an essay about how I went from not getting it at all to writing an open-source, production-quality library of statistics functions almost from the ground up. It’s an essay about why I started working on it in 2005, and the problem in quantitative social science that led me to keep pushing until the present. There’s something of a happy ending: I kept hacking despite constant pressure to just go with the flow and accept the flaws of existing methods, and the library, Apophenia, is now in a complete enough state that one can use it for its intended purpose of bringing narratives to data.

Maybe I could start my story earlier, in ninth grade science class, where we learned about an idealized Scientific Method, that begins with a hypothesis, almost always expressed in some sort of narrative (A happens, which leads to B, which, if C is present, leads to D), and then tests that narrative using data. But applied statistics today is an eerie world where there are no stories, only a modest set of forms that bear some distant relation to the narratives they ostensibly test. This essay explains the current norms, and my efforts to come back to the ninth grade ideal of bringing narratives to data.

The first realization that got me from D-grade undergrad to my current status as a professional statistician/economist: understanding the difference between probability and statistics. Probability is an objective branch of mathematics, a bundle of theorems all of the form if these conditions hold, then this distribution will result. You can’t argue with the probability textbooks unless you want to get into philosophy of science questions.

Statistics is the subjective part of the story, the human art where we impose a view on the real world that we hope is somehow useful. After encapsulating a worldview in a set of equations and assumptions, we can describe certain properties of those models using the tools of Probability. Stats textbooks, taking an air of authority, often blur the distinction between statistics and probability, implying that it’s all on equally objective footing. As an undergrad, I couldn’t see which was which, and it was all downhill from there.

Speaking of art, here are “Woman with a lute”, by Johannes Vermeer; and “Girl with a mandolin”, by Pablo Picasso.

Vermeer and Picasso via Wikimedia Commons

Vermeer shows the context in which the person is playing to be worthy of every detail, but Picasso seems to want us to focus on the player and instrument. Picasso’s girl and mandolin blur together in parts, which is factually incorrect but perhaps a reasonable description of a person enraptured by music. I’m not going to say that one is a “better” representation of a person playing an instrument than the other, but I am willing to say that Vermeer painted a more accurate and precise representation. Given specific questions like ¿What is the player wearing? or ¿How many fingers does she have?, I’d rather have the Vermeer as a reference than the Picasso.

The second thing that I didn’t understand earlier about statistics is that, despite the implications of the textbooks, the linear models that have been the core of applied statistics for decades are far closer to Picasso than Vermeer.

A typical model might posit that

income = β_0 + β_1 * sex + β_2 * years of schooling + β_3 * years of work + ε.

How this works is that you give me a set of observations, and I will use linear algebra (not even probability or statistics!) to pin down the βs defining the line of best fit to the data. Then, you give me a new person’s sex, years of schooling, and years of work, and I can use the now-specified formula to sum up the prediction for his or her income. A few assumptions will even let me use theorems from probability to say something about our confidence regarding the estimates, given the model form and its assumptions.

Please let me remind you just how implausible this model is. Is third grade more or less important than a year of grad school? The model says there’s a global factor, β_2, that bumps up incomes in both cases. Does work experience affect a person differently from school? Sure, in that a year of the first raises income by β_3 and the second by β_2, but otherwise they’re structurally identical. Is sex relevant because women take time off to have babies, or because they’re not encouraged to take math/science classes, or because bosses are jerks? All we know is whether β_1 is positive or negative.

I know you’ve heard this one before: “essentially, all models are wrong, but some are useful.” But a model with no serious underlying narrative, which is a drawing of the world using only straight lines and the occasional curve, whose only structure is a sum of individual elements, scores especially badly on usefulness.

We could perhaps use a model with no narrative to show that income and education are positively correlated or not, and sometimes that’s all the utility we need. We could add confounding factors by adding extra terms to the sum [… + β_4 * height + β_5 * parent’s income + … ] and see if the correlation still holds. Adding terms like this is typically written up in academic papers as “controlling for” other factors, drawing a (theoretically ill-founded) metaphor to controlled experiments. It is how research seems to progress in the simple linear regression world, as the thing correlated to income in a study from one year gets added as an extra term to every regression in later years.

Despite all its cons, linear regression has one very notable pro: it’s easy to implement, even in FORTRAN 77. Yes, the 77 stands for 1977 which, by no mere coincidence, is the beginning of the period when linear regressions became increasingly common. In the present day, there is a regression feature on almost anything that handles numbers: stats packages, spreadsheets, database systems, expensive hand calculators.

And so, simple linear models are prevalent in the social sciences.

In November 2014, I surveyed the fifty most recent working papers from the World Bank’s research working paper series, and the fifty most recent from the Census Bureau’s Center for Economic Studies’ working papers series. It’s not a universal survey, but I’m comfortable taking economists at the WB and Census as typical examples of working PhD economists. I divided the papers into (A) papers that are only qualitative or only theoretical, and so make no effort to fit a model to real-world data (31 out of 100); (B) papers that use only linear methods in the family of the example above (58 out of 100 papers); and (C) papers that use anything from the infinite space of models outside of linear models (11 out of 100 papers).

Let’s start building an alternative narrative, something one might find in that thinner wedge of not-linear models. We might start with an underlying factor called “human capital”, which people build over their lives, maybe quickly at first but with diminishing returns. People then use the human capital they have and some chosen hours per week of work to gain income. We’re up to a three layer model: choice and method of human capital development, choice of work hours, a function mapping work to income. You can’t be a doctor and thus score doctor incomes without a medical degree, so we could also divide people by fields of study, which gives us another layer, tied to but distinct from the others.

We could implement this in computer code as a series of distributions and equations linking those distributions, a hierarchy of submodels. Or, we could simulate a million individual agents, each making life choices about fields and school and hours of work, then measure the aggregate outcomes given all those individual agents’ decisions. In the 1990s that was cutting edge; now that sort of agent-based model is a textbook exercise.

With a nontrivial narrative, different possibilities take different forms. Women might choose to opt out of the work force to have babies (choice of hours layer), or might choose different lines of work (field of study layer), or maybe bosses are jerks (layer mapping work to income). Later researchers building on the model might have a different form for the choice-of-hours layer, or might want to add another layer about location choice. This sort of tweak-by-tweak improvement and comparison is actively encouraged among agent-based modelers, and you can download hundreds of models at OpenABM and make such improvements.

[FWIW, this picture of a bartender is being used for the novel purpose of illustrating the Balkanization of social science research, taking a single fuzzy still from a feature-length movie, and is really no substitute for seeing the film, a time capsule of Chicago and its music from that era.]

There’s a scene in The Blues Brothers (a film from 1980) where the band wanders into a rural bar. They ask the waitress, “what kind of music do you usually have here?” and the waitress says, “Both kinds: country and western!”

So, that’s the state of social science modeling today. The people using the cubist linear models seem blissfully unaware that more detailed narrative models can even be written. Nor are they alone in being alone: for example, the bartendress who learned it all from a Machine Learning textbook will laugh about using support vector machines and random forests.

In the early 1900s, journals didn’t think it a big deal to publish a seventy-page treatise as just another article. In the present day, there’s a joke unit called the MPU — the minimal publishable unit — and journals are filled with papers containing exactly a single MPU. Authors want a longer résumé, which comes from lots of 1MPU articles. Journal editors will have an easier time finding peer reviewers for a 1MPU paper than something approaching a monograph. Readers want to feel that they understand the article after ten minutes of attention.

Running a somehow-novel suite of linear regressions is one MPU. It will get you funded and published.

So why push harder? In fact, a 2MPU paper with novel results using novel methods is vulnerable to criticism for using untested methods. The model underlying a linear regression is clearly implausible in almost every case, but it’s certainly familiar, to the point that it would be awkward for an editor to reject a paper because it chose the same method thousands of previous papers had used.

For a brief, shining moment, The Brookings Institution, a well-regarded and very applied think tank that has every incentive to stay within the methodological orthodoxy and pump out MPUs, had a research group with some of the pioneers of agent-based modeling. For reasons that are largely inexplicable, I was a part of this ideally-situated team of ideal members.

Working with a group that pushed new methods in a traditional context was wonderful in a hundred ways, but also had some frustrations. I wanted to talk about our work in mainstream terms to mainstream researchers but didn’t have the tools to do so. They were filling pages with precise information: “β_2 is 2.3487 with a margin of error of ±.01428” sort of things, while we had other largely qualitative results that didn’t look like those traditional forms. I tried estimating the parameters of my agent-based model of cross-border migration using R (a popular implementation of the S programming language by two guys named Ross and Robert), and R couldn’t do it. Its model syntax was clearly aimed at linear combinations, not models with millions of decision making agents. The more I tried, the more it broke my heart. I could try the agent-based modeling packages, which produced attractive Mondrian-inspired pictures, but they didn’t even contemplate accommodating traditional statistical forms.

This is when I started writing Apophenia, the library of stats tools and models that this essay is announcing.

“Apophenia” means the human tendency to see patterns in static, like faces in clouds or trends in random data streams, or swirls in the snowflake pic at the top of this essay. It’s a nice word, which is more than enough reason for using it as a name.

The MPU is a reflection of the normal course of modern science, in which a research project consists of working on some little corner of a big problem.

The big problem I’ve attempted to convey to you here is that the social sciences rely heavily on models with no serious narrative underpinnings. The little means by which I’ve been contributing to this problem is Apophenia.

The core feature is a definition of model that provides a single generic form that provides a consistent interface for any narrative, linear model, agent-based microsimulation, whatever. Then we can write down all sorts of transformation functions, that take in one or two uniform models and output another uniform model, which can be be input to the next transformation down. For those of you who really want the exposition, here’s my 45-page Census working paper (PDF) detailing the model object and some transformations.

For example, once you have a uniform model structure to describe a distribution of one person’s change in human capital in one year (herein D1), then it’s easy to simulate a million agents each building on to their stock of human capital with a new draw from D1 every year, and write down the resulting population distribution of human capital after several years as D2. Then we could easily apply a transformation of arbitrary complexity to D2 to produce a distribution of incomes, D3. If we later decide there isn’t enough jargon in the aggregate model, we could replace D1 with a Bayesian hierarchy estimated via Markov chain Monte Carlo, and the rest of the narrative won’t have to change.

Coming up with a uniform model structure may sound like a literal formality, but it is the building-block structure that lets us build chains like the above example without spending an impracticable amount of time wiring together incompatible bits and then trying to debug the mess we’ve just built.

The idea that uniformity allows us to have easily interchangeable parts is certainly not original, and on many occasions I have had a dialogue like this:

An academic: It’s completely obvious that systems should be written around models with a uniform form that can be combined and transformed in a uniform manner. Say something original.
Me: Do you have any examples of statistical and scientific computing platforms that are built around a general model object like that?
AA: Well, not exactly. But you could implement this in R in an hour.
Me: Could you point me to an R package that does this?
AA: Not really, no. But I’ll bet nobody’s done it because it’s just so obvious.

The answer to the question of why this is so obvious and yet (to the best of my knowledge) Apophenia is the first serious implementation of the idea, is that implementing this concept is hard. Every step of implementing a general model building block raised another difficult computing, statistical, modeling, or user interface question. And we don’t just want to write down these models and admire them, we want to fit them to data and make probabilistic statements about them. It’s a tall order, and I’m not sure why I thought it would be easy.

Nor do I quite know why I kept working on Apophenia for a decade, after realizing just what I’d gotten myself into. The rational me realized that the correct thing to do is to put out an MPU several times a year, and working on Apophenia was the exact opposite of that.

On the plus side, I got paid to do it. Apophenia was very appropriate for the work I did at the Census working out novel large-scale statistical processes, and every time a problem came up in a Census project, I or a coworker added a feature to Apophenia. So thanks, U.S. taxpayers, for your contribution. There are a lot of places that would never put up with an employee who fails to publish a stream of MPUs and instead puts all his efforts into writing new tools to facilitate better methods.

I don’t know if I’d do it all again, but it exists now, so nobody has to. Whatever language you’re writing in — R or Julia or Python or even Perl — has a mechanism for linking to libapophenia. And then you don’t have to work out how to get the Bayesian updating routine in this season’s favored language to accommodate agent-based models.

After one presentation on the algebraic system of models I talk about in the above-linked paper, an audience member revealed that he had received an NSF grant a few months earlier to implement something that would be a relatively easy application of Apophenia. He — and the NSF panel that funded him — didn’t know that there was a stats library that he could use as a back-end. I left that talk depressed. No matter how well we do with the technical problems, the social glitches prevail.

So, now you know it exists. Tell your friends: Apophenia version 1.0 is out! It’s part of Debian Stretch! You can download it from GitHub! You can help to make it better, or front-end it for people who aren’t as good with scientific computing as you are! You can learn from its effort to improve narrative models, throw it all away, and do something even better!

Most importantly, you don’t have to settle for describing the world as a linear combination of independent elements! There’s debate about
whether social science is worth it, but I’m a believer — research in how people make decisions and how they form what we call society can be done and can have real influence to the real world. To take all the research done in every aspect of behavior, encode it into careful, detailed models, and then fit a rough and basic simplification to the data because STATA couldn’t handle the fully structured model is heartbreaking, a vote that social science isn’t worth doing with full vigor. Let’s keep pushing to do better.

by Ben Klemens at December 24, 2016 02:17 AM

December 22, 2016


2016 in review

I did this mini-guide of a year-in-review in 2013, forgot to do in 2014, found it again, did in 2015. I like reviewing at the end of a year. LIFE! Let's see what happened in the past year...last year I wrote this: "2015 was a pretty tough year, honestly. Here's hoping 2016 has more and better things in store."

And guess what? It did! 2016 was obviously a shitstorm for a variety of reasons related to the external world but personally for me it was a very great year, a turning point of a year in a way, I think. I had breakthroughs about my voice, who I am as a person, my self-confidence levels, my relationships, my ability to ask for what I need, and what I want out of life. Woah. That is a lot of heavy stuff. But it all came to me this year, and I did a lot of hard work to make it happen, and I am extremely grateful for it all. I feel very actualized and ready to take on the world, and am excited for the next year. So. Let's recap 2016.

1. What did you do in 2016 that you’d never done before?

Last year I wrote that I got to see my nephew be born. I don't think I did anything as significant or as new as that in 2016, but I did some small fun new things. I went to Ireland and southwest England for the first time. I urban gardened. I freelanced a few pieces (for Vox and Refinery29). I kept up a semi-regular meditation habit. I started a workout challenge group that is still going which means I worked out 4x a week for 45 minutes for the last 15 weeks, which I probably have literally definitely never done before. All nice, small, new things. 

2. Did you keep your new year’s resolutions, and will you make more for next year?

According to my fancy goals spreadsheet, I accomplished 40 percent of my goals, I came close or semi-hit the mark on 30 percent, and I didn't do 24 percent. Not bad, not bad. The ones I didn't accomplish? I'm okay with that because I think I didn't really want to do them in the first place and maybe just felt like I ought to. 

Will I make goals for 2017? Is the pope Catholic? I've already made about 15. Here is a sampling: 

Go on 6 hikes locally
Not open computer until an hour after I'm home on weeknights
Read 30 books only by women and POC
Clear my Twitter list of majority white men
Go to South Africa
Do another SXGR trip (Austin?)
6 cabin trips
Take my annual solo beach trip


3. Did anyone close to you give birth?

A lot of friends and acquaintances gave birth and it's hard to keep track of all the new beautiful squishy babies around. I got to visit Emily's bean baby in Boston earlier this year, which was a delight. My closest experience was one of my employees, Nicole, who is an amazing woman and worker and I am very close to her and accompanying her on the whole maternity leave/HR process/etc thing was eye-opening to me as a manager. Let's make it easier for women to have babies, America.

4. Did anyone close to you die?

LOL our republic? Just kidding. Maybe. 2016: The year I did not go to any funerals, after going to too many in 2015. 

5. What countries did you visit? 

Ireland and England! 

6. What would you like to have in 2017 that you lacked in 2016?

A cabin in the woods for weekend retreats. 

7. What dates from 2016 will remain etched upon your memory, and why? 

Uh I think November 8 2016 is a date that's gonna live in infamy for a lot of us for a long time.

8. What was your biggest achievement of the year?

Referring back to my intro paragraph, become truly comfortable in who I am and in my voice and where I am in my life now. It sounds small when I write it out like that, but I think sometimes that's a goal some people spend their whole lives trying to achieve and sometimes never do. So I am proud of myself and happy.

9. What was your biggest failure?

I donated to Hillary's presidential campaign but I didn't do anything beyond that. Never again will I be so politically uninvolved. 

10. Did you suffer illness or injury? 

Nothing serious, but I got the stomach flu (I NEVER get the stomach flu), and that was an existential nightmare. 

11. What was the best thing you bought? 

Probably plane tickets to see two of my oldest friends get married. Not to each other. One in San Fran, and one in England. Great weddings, the both of them, and they married okay husbands, too.

Also, I didn't buy it, but the money I spent on my Airbnb rental for my little beach solo vacation is always worth it.

12. Where did most of your money go? 

Probably skin care stuff or Sephora. Worth it? YOU TELL ME.

13. What did you get really excited about?

For a long while I was very excited about our first female president, but, you know. I got excited about small, satisfying things again - cooking, reading, building communities, working out, trying out fun new makeup. I started a fun outfit Instagram that I really enjoy, as well as kept up a cookbook club, a single ladies salon, a workout group, and more communities. 

14. What song will always remind you of 2016?

LOL like I listen to music anymore.

15. Compared to this time last year, are you:

– happier or sadder? happier
– thinner or fatter? About the same, a few pounds fatter. 
– richer or poorer? A bit richer thanks to some attention to my finances and a stock cashout that came when my company was acquired. 

16. What do you wish you’d done more of?

Writing and seeing movies.

17. What do you wish you’d done less of?

I wrote this last year: Definitely dating. Yes, I wish I'd dated less. I dated a LOT in 2015 - all good guys. I actually don't think I dated one asshole in 2015, so well done me. But I would say most of the dudes were not quite right for me in some way, or I them, which I was aware of at some level, I think, going into each of the relationships. I assume I will go on dates in 2016, but I hope to be able to listen to my gut on them and fully be myself in those relationships.

I achieved this goal in 2016 and dated some but really not too much, and in fact am not at all trying to date right now and it is so wonderful. So I stuck to that one. I can't think of too much else I'd have rather done less of this year, but I will go with a tried and true classic: I wish I'd spent less time fucking around aimlessly on the internet. Still can't beat that habit.

18. How did you spend Christmas?

I'm writing this before Christmas, but I'll get to spend it with my delightful family out in the burbs and my sweet sweet nephews and niece. Really looking forward to it.

19. What was your favorite TV program?

I don't watch much TV because I am literally too lazy to watch/pay attention to TV, but I really liked Fleabag.

20. What were your favorite books of the year?

I read 30 books in 2016 which you can see here. I really enjoyed Euophoria, The Girls, and Shonda Rhimes Year of Yes. 

21. What was your favorite music from this year?

LOL like I listen to music anymore.

22. What were your favorite films of the year?

Ummm I'm so bad at seeing movies. I thought Ghostbusters was pretty funny?

23. What did you do on your birthday, and how old were you?

I turned 36, and went out for some beers with buds. I'm immeasurably excited for my plans for my 2017 birthday, but you'll have to stay tuned to hear about those in January.

24. What one thing would have made your year immeasurably more satisfying?

Last year I wrote: Never being afraid to be myself and say what I truly think and ask for what I need. I still struggle with this. Also figuring out what I want and making it happen. I generally just float along. I deeply want to be more intentional in how my life turns out in 2016.

OMG I did these things and I do these things now! This blog is goddamn magic. In 2017 something that would make my year immeasurably more satisfying is a pile of gold? Will that work? But playing aside, continuing to build communities, live intentionally, meditate more, and be grateful. These were things I started to do in earnest in 2016 and I hope to take them to the next level in 2017.

25. What kept you sane? 

Therapy, working out, meditating, and possibly-too-large doses of Vitamin D.

by catherine at December 22, 2016 06:04 PM

December 18, 2016


Meditation for stressful times

I went to an excellent holiday party this weekend. There was food, there was booze, there were lights, there was much panicking about the future of the country because it was a party full of godless liberals who don't care about email servers. One friend in particular was very down, and we got to talk about ways of dealing with the next four years. My #1 way I told him I plan on dealing? A lot of working out, and a lot of meditation. Self-care for health, strength and resiliency is not something that can at all be cast aside, in my opinion -- in fact, it's going to be more important than ever to fortify ourselves mentally, emotionally, intellectually.

Why do I meditate? It keeps anxiety and depression at bay, it makes me more focused at work and in my personal life; it helps me come up with really good ideas; it clarifies the important things. I think of meditating like vacuuming for my brain. A lot of unimportant crud is going to inevitably build up day over day, week over week, month over month. This helps clear it out so you can focus on what's really important.

I think I convinced him that trying meditation would be a good idea, so I put together the below email for him this morning with tips. If you've been thinking about trying out meditation, maybe this will be helpful for you, too.

To my friend: Wanted to send you some meditation recs & tips. Remember, it's about making your mind resilient, focused and strong so we can stop nazis from taking over our country instead of just falling into a useless panic spiral! 

Here's a good primer on why meditation is so awesome and helpful:
headspace (costs money, but a lot of people i know like it and count it as the first gateway for them getting into meditation)
andrew johnson guided meditations - great scottish voice guy who has meditations for everything from relaxation to ones to help you get over a fear of flying
any app about yoga nidra - this will help you fall asleep. i use this one:
simply being apps -
just meditating:
I personally don't use apps to help me meditate. Two to three times a week I sit on my couch before bed or in the morning and just close my eyes and breathe, counting breaths 1-10, and starting over. Inevitably thoughts come in but I just observe them and try to go back to counting my breath. I do this for anywhere from 15-45 minutes. The goal isn't to totally empty your mind, it's just to observe thoughts and breathe. 

If you have any questions about meditation at all, I'm no expert, but throw them in the comments and I'll do my best to help you out! 


by catherine at December 18, 2016 02:28 PM

December 12, 2016


DNSync MAC Addresses

I’ve been hacking on a project on and off for my LAN called DNSync. This will take a DNSMasq leases file and sync it to Amazon Route 53.

I’ve added a new feature, which will create A reccords for each MAC address on the LAN.

Since DNSync won’t touch CNAME records, I use CNAME records (manually) to point to the auto-synced A records for services on my LAN (such as my Projector, etc).

Since It’s easy for two machines to have the same name, I’ve decided to add A records for each MAC as well as their client name. They take the fomm of something like, which is harder to accedentally collide.

December 12, 2016 03:30 AM


This Week I Ate: Cranberry Sage Sourdough

I’m almost a year into my exploration of the world of sourdough. I received a sourdough starter from a close friend and have been caring for it since. It took more than a few months to make a successful loaf, but I have started feeling increasingly confident in my bread abilities.

With the holiday season, I’ve been ignoring my starter for about a month and decided yesterday to revisit sourdough. My first successful loaf of sourdough was from a sourdough beginner’s guide by The Clever Carrot. I came across one of Clever Carrot’s sourdough rendition recipes today and it sparked a desire to make a flavored loaf. I originally was going to lean into the flavors of a cinnamon raisin bread, but quickly found no raisins in the cupboard. Instead, I opted for cravings, rehydrated in water along with a chiffonade of sage.

My Procedure

The Clever Carrot’s beginner’s guide goes into quite a lot of sourdough details, but I started the recipe as I always do with fed starter, water and flour. After the initial ingredients are brought together, I let the dough autolyze for about an hour. This lets the flour hydrate and gives the starter a kickstart before adding salt.

Once autolyzed, I added salt, rehydrated craisins, and sage and kneaded into the dough. Afterwards, the dough gets bulk fermented (aka let sit in a sealed proofing container) for about 12 hours. I let my dough sit at room temperature from the afternoon until about midnight and put in the fridge until morning to slow down what would have been an 18 hour rise — and an inevitable over-proof.

The next morning, all I had to do was turn the dough out onto a counter and shape into a ball. Then, I placed the dough into a corn meal dusted dutch oven and let rise for a second proof of about an hour (or until slightly puffy). Afterwards, it’s a only a bake that separates the bread from my stomach.

While more complex than a typical bread bake, this sourdough bake is decently simple.

  1. Place the bread in a lid-on dutch oven in the middle of a 425 degree oven. Let bake 20 minutes.
  2. After 20 minutes, take lid off dutch oven. Let bake 30 minutes.
  3. After 30 minutes, set oven door slightly ajar. Let bake final 10 minutes.
  4. Remove and let cool on wire rack — as much as your will and nose allows.

This was certainly one of my better flavored loaves, with a hearty sourdough starter and the powerful flavors of sage and cranberry pushing through. While the crumb was slightly dense to an overproof and collapse, the overall texture was irregular and absorbed copious amounts of butter beautifully. I also really enjoyed the slashing I attempted on this loaf and hope to invest in a lame for some sharper and deeper slash patterns.

by Becca James at December 12, 2016 03:16 AM

December 09, 2016


Django Signals and Deferred Fields

Django Signals and Deferred Fields

A little while ago I had implemented a bug fix using Django signals to detach an object before any object it was attached to was deleted. It was a Resource object that contained ContentObjects that connected it to various other objects (we’ll say it was a Record). If a Record was deleted, that ContentObject stuck around, so when you tried to view the Resource, the ContentObject ran a query for a record that was no longer there and it threw an error. For a solution I turned to Django’s signals:

from django.db.models.signals import pre_delete

@receiver(pre_delete, sender='Record')
def detach_object_resources(sender, instance, **kwargs):
    for resource in instance.resources:
        content_object = resource.content_objects.get(

The sender (an object with a Record class), notified the signal that it was about to be deleted, so it looked through that particular record instance to see what resources were attached to it. It made sure to look through all of those connections and delete their corresponding content_objects. The resource stuck around, but nothing associated with that record would. And thus I happily moved along with my life.

Until the view changed.

For one of our Django views, get_queryset() retrieved a list of Record objects, but we decided we didn’t need all of the fields associated with it, so we added defer():

class RecordList(generic.DetailView):
    def get_queryset(self, *args, **kwargs):
        return Record.objects.all().defer('attributes')

Seems harmless enough: now you get Record objects, just without their attributes, which we didn’t need for this view. The problem is this no longer triggered the signal receiver. Turns out, if you use .defer() or .only(), the object that returned is no longer <class record.objects.Record>

Instead you get <class record.objects.Record_Deferred_Attributes>.

So the pre_delete signal is no longer being triggered because it’s not getting a Record class. It’s getting a Record_Deferred_Attributes class.

So in order to fix this, you need to check if your sender has been deferred:

def detach_object_resources(sender, instance, **kwargs):
    sender = sender.__base__ if sender._deferred else sender

    if sender.__name__ == 'Record':
        for resource in instance.resources:
            content_object = resource.content_objects.get(

Calling .__base__ checks the original object associated with the deferred object. Since you can no longer check it outside the function, you’ll have to double check if the sender is a Record, and after that everything runs as expected.

Aren’t Django’s quirks fun?

December 09, 2016 11:00 AM

November 28, 2016


I watched some CBS shows and you should probably ignore me

I got horribly sick around 10pm on Thanksgiving night. It wasn’t the food (no one else got sick) but by early afternoon the next day I was in the ER getting IV fluids and a CT scan to ensure my appendix was in one piece. It was! But the rest of the stuff in there remained unhappy and I didn’t eat anything but gatorade and two bananas for the next 48 hours. I’m feeling much better now but the recovery process has involved watching a hell of a lot of TV. Which reminded me of something I’ve been meaning to write about for a long time. Specifically: the cultural salience of the CBS primetime lineup. It’s the key to everything. Bear with me.

CBS’s loud claims to being America’s top network need to be taken with a grain of salt. The numbers are actually pretty close, and the rankings switch around if you start removing sports from the equation. Still, their shows are indisputably popular. And indisputably stupid. Very, very stupid. This is the network that made America’s top comedy a show defined by the catchphrase “Bazinga!” — a detail so on-the-nose that it reads like Pynchon losing a step.

The strategy is boringly obvious: lowest common denominator. Some of this is simple, like cloning successful formulae into new franchise spinoffs or using the hoariest TV tropes (their newest show’s tagline: “he’s not a lawyer — he’s a trial consultant”). Normally this is merely banal and unworthy of notice. But now, in a year when we’ve all learned some horrifying things about what appeals to the masses, I find myself pondering what else they might like.

Identifiability is clearly important to these shows’ success. Leads wear casual clothing and are often unshaven. They are not cerebral except when they are specifically meant to be nerds. Credentials are never mentioned (well, except badges). Not to be unkind, but there are quite a lot of fat people. Some shows seem specifically engineered to have no distinguishing characteristics except a cast as heavy as its audience. For a long time I couldn’t figure out why a formerly cut-up action star like Chris O’Donnell led a top action series behind a doughy torso and loose neckline. Now I think it might be more of a feature than a bug. These are shows for an audience that has let itself go. Or has had to.

It’s also a set of shows expressing personal dynamics so anachronistically conventional that it feels like they must be there specifically for reassurance. The shows are overwhelmingly white, but then it’s not uncommon for television networks to target racially-defined audiences. The treatment of women is sexist — plenty of comments about how sexy everyone is — but always with plausible deniability (it’s mostly villains or rakish one-off characters making the remarks). Slightly more unusual is the frequency with which these series are anchored by a somewhat weatherbeaten white guy who’s generationally separate from the rest of the cast. I take this to be a promise to an aging audience that virility hasn’t left them entirely behind. That they’re still in charge.

But this is so much pointy-headed snobbery. Less important than how the viewers see themselves is how they see the world.

There is a larger military presence on CBS than the other networks combined. So many characters who used to be in the service; not too long ago, so many shows structured around weirdly civilian corners of the armed forces. Arguably this is merely a twist on TV’s love of police departments as a means of structuring four acts and a teaser: martial rather than municipal. Still, pair it with an utterly blase attitude toward and presumption of omnipresent surveillance, and it all starts to feel a little authoritarian and bad.

Finally, while I think the moment has passed, I got started on this line of thought during the burst of forensic investigator shows–CSI, Bones et al. Some of this is just the usual network copycattery. Still, it’s remarkable to see America fall in love with shows obsessed with human remains as religious affiliation (and, presumably, belief in an afterlife) falls off a cliff. CSI debuted in 2000; the correlation with this methodologically questionable index is probably too good to be true. But the broader trend is hard to deny.

I don’t have any grand observations to make about all of this. That’s probably why it’s never made it past the drafts folder before now. Still, it’s striking how different media looks when it’s only courting an audience, only chasing dollars. And winning.

(I should acknowledge that overthinking these shows is not an idea that’s wholly mine. Years ago my friend Matt tried to pitch a TV recap series about the top (dumb) broadcast shows at work, as a fun differentiator from the overwhelming mass of prestige cable recaps. Alas, I understand it went nowhere. I was already noodling on some crackpot theories about the above but his argument made me resolve to write them down… someday. It’s worth mentioning that CBS shows’ dialogue and the marketing specifically recapitulates his thesis about the family unit’s renewed primacy in entertainment.)

by Tom at November 28, 2016 03:57 AM

November 22, 2016


Dear Alexandra,

Dear Alexandra,

I am entirely with you, and I too spent time in despair, anger, and the rest of the list---and I was able to drink through it a little. But I’m hoping to offer some optimism that I couldn’t offer when we talked on the telephone, in the form of a longer perspective. "The arc of the moral universe is long, but it bends toward justice."

You're biking along a road at a decent pace, and an SUV drifts up behind you. You can feel that it wants to pass you. The SUV driver is tailgating you, such that if you brake too hard you're going to get rear-ended, and the SUV keeps veering to get around you and then pulls back as an oncoming car appears. Eventually, the driver finds enough clearance, revs, and passes you, optionally giving you the finger.

Many books have been written — I am writing one myself — about why that driver doesn't just kill you. Somehow, our society has evolved to an uncomfortable detente where those hauling the larger quantity of metal respect their obligation to not endanger other drivers. And it's reliable: could you begin to count the number of times you've been safely passed? [You ascribed the Left Turn Incident in DC to incompetence before malice.]

People do sometimes rant about how they're tired of having to watch for cyclists — were you in DC when Courtland Milloy, a Washington Post columnist, made a mini-career out of it? It's got to be exhausting that the easiest thing to do — barrel forward at top speed, destroying anything that gets in your path — is barred from you.

So, that's neo-Naziism. If our group has greater (real or perceived) power than other groups, why do we have to slow ourselves down for those who have less power? Isn’t it morally correct (for a convenient definition of moral) to give free reign to those who have power to do whatever they wish with it?

In game theoretic terms, neo-Naziism is an equilibrium. If you have some set of people who do indeed have more power than others, they have the option to act unilaterally to use that power. [What if they just think they have enough power to act unilaterally but that turns out to be hubris? This would be a very long digression, but it’s probably the worst case.]

Preventing this unilateral tyranny of the majority is the purpose of the progressive movement. How can we set up a society where those in power find it to be more useful to allow opportunity to everybody than to push others to the curb? It’s not just about laws and imposed restrictions, which can be hard to enforce anyway. Here’s Mr Milloy, writing in the Washington Post: "It’s a $500 fine for a motorist to hit a bicyclist in the District, but some behaviors are so egregious that some drivers might think it’s worth paying the fine."

I’m stumped about what behavior a person riding a bicycle could engage in that is more egregious than causing potentially life-changing bodily harm, but Mr Milloy has his list, indicating that the social norms he works with differ from ours. As a corollary to the above goal of the progressive movement, shifting those social norms is an essential sub-goal.

I won't go into great detail about how those norms are established, because (a) you already have a dozen examples in your head and (b) I'm writing a book about it, which means I'm going to belabor it if I go in to it here.

It is clearly difficult to maintain a stable equilibrium where people in very different groups maintain stable relations. Again, you have examples in your head already, but I'll give you one.

You might remember the battle for Kosovo in 1993, when a Muslim-leaning army clashed against a Christian-leaning army around Sarajevo — U2 recorded a single about it. But I know U2 is not your jam, so maybe you only know the battle of Kosovo of 1389, when a Muslim-leaning army faced off against a Christian-leaning army in the same place. Six hundred years, zero progress.

I took a few seconds with a calculator and rounded off the count for dramatic effect: we are on day 500,000 of the Christian-Islam war. I want to call it epic, but usually epics only span a thousand days at most.

Every year, physical technology gets better for everybody, and social technology barely crawls forward. The scale of progressivism is literally over centuries.

One plus for the progressive side is that, societally, it's more efficient. Society A has an in-power group that always leads (whether the leaders are capable or total idiots) and a suppressed group that has a circumscribed set of opportunities (whether they are total idiots or the best in the bunch); society B has mechanisms to allow members of all groups to find their level; ceteris paribus, society B is going to be more productive. This doesn't mean that society A is going to fall apart, but the fact that society B is more efficient nudges the arc of the moral universe in a certain direction.

You sometimes refer to the old saw about how ontogeny recapitulates phylogeny, and here in ethics you have another example. Your kid will be a total jerk who understands only yelling and force for a few years, but will soon start to understand the basics of other-regarding niceties like using “please” and “thank you”, then develop some sense of fairness, and ideally reach the ability to introspect and recognize his or her own tendencies that prevent fairness. Human society had to develop these technologies, in sequence — how can you have a sense of fairness without a habit of regarding the desires of others?

With everybody born a savage, social technology is extremely slow to progress. At the individual level, there are a lot of present-day adults who have trouble leaving a fifteen percent tip; they are not going to understand why they should exert any effort to understand the outsiders they tell off-color jokes about. In that regard, every generation has to start over.

But the arc does curve! People owned slaves 150 years ago — my house is older than that. Could you imagine the gay rights movement, the ADA, mental health reforms, equal opportunity employment laws, in that world where the big point of debate was whether some people only count as three fifths of a person?

New investors (I've done this) have a habit of checking back on their stock pick every twenty minutes, with a wave of emotion every time. Any uptick is proof that this was the right choice; any downtick is impending disaster. They're working at the wrong scale. Even a week or a month of return data is limited help in predicting the stock price a year from now.

Of course, the state of progressivism isn't just a number on a ticker. When somebody gains power with a promise to purge people who have the wrong religion or skin tone, those people on the wrong end of things could have their lives massively disturbed (or worse), and the social understanding that it's OK to transact with everybody takes steps back, doing damage for even those in the most favored demographics. That's what we have to deal with right now, with the centuries of progress as backdrop.

Given downticks like the resurgence of neo-Naziism in Europe and North America, we can be confident that both the Byzantine-Ottoman war and the fight for progress have centuries to go. You, I, and your future kid won’t live to see the arc of history settle to a stable equilibrium, but we’ll keep pushing anyway.



by Ben Klemens at November 22, 2016 02:28 AM

November 19, 2016


Don't stay in

I was talking to a friend last week who had been invited to a happy hour with a bunch of fabulous women - the only problem was, she didn't know any of them (and I couldn't make it).

She said she was thinking of skipping - her social anxiety was getting the best of her and it was just easier to stay in. 
I told her this: "You should go. If you're too scared to attend a happy hour filled with nice women, there's going to be a lot of other scarier things coming your way. Think of your attending as a small act of defiance in a way - doing something that scares you or takes you out of your comfort zone. It's preparation for all the other stuff we'll need to do."
She went. She had a good time. She did something that was scary to her and it turned out it wasn't that scary or hard. And she felt stronger afterwards, knowing she could do something like that again.
There's not really a huge lesson to be learned here, other than this: if you're too scared to pick up the phone to call your senator because you've never done something like that before, it's more important than ever that you take a deep breath and do that now. If you want to go to a protest but you've never been to a protest because it's overwhelming and you're not sure what to do, that means you need to go. If you've never told that family member how their hurtful words about your politics cut you, say it out loud to them today.
Not one of us can do one single thing that will affect a lot of stuff, but a ton of small actions and small acts of defiance and small acts of courage - even if they don't seem like on the face of things that they matter - they add up.
Do the small things that scare you now, so you can be braver to do other things that matter tomorrow.

by catherine at November 19, 2016 02:04 PM

November 13, 2016


A little levity

This week has been… tough. I’ve whirlwinded through fear, denial, anger, and have finally settled into a quiet sadness at the end of a week that’s felt like it lasted a lifetime. I hope to be able to channel all of this into a post at some point, once I’ve gained some perspective, but today is not that day.

Instead, I’ll just post a reminder that exists, and that politics can’t ruin everything because:

November 13, 2016 11:00 AM

November 10, 2016


November 06, 2016


Why I'm currently reading four books at once.

If I’m being totally honest, the answer to this question would be pretty short: My self-control and focus are not what they used to be.

But that doesn’t make for a particularly interesting blog.

The four books I’m reading I’ve categorized (i.e. justified) in the following way: “work related learning”, “non-work related learning”, “emotional growth”, and “recovery from the other books”.

The book I’m reading for work is Fluent Python, by Luciano Ramalho. I’ve been trying to read this book for several months now. I’m maybe 70 pages in. But the reason I’m only 70 pages in is because I’m using it as a crash course to all the things in python I don’t know about. Every page of this book contains maybe 1 - 5 things i didn’t know about, so I then spend 15 - 20 minutes figuring out what each of those things are. There’s no skimming through this book for me. There’s no “oh I already know how this works, let’s move right along shall we”. To be frank, this book is miles ahead of where I am right now, but I got really sick of underestimating myself. I’ve tried to go through so many different beginner python tutorials, that I end up just rolling my eyes at and walking away. I then continue using the same tactics that I already know, because they work and I don’t what to read about for loops again for the 100th time. By forcing myself to go through a book that’s too advanced for me, I’m beginning to fill in that gap of “I don’t know what I don’t know.” This book is more than happy to tell me everything I don’t know, and there’s a lot I don’t know. Which is good. I’m working on it.

My non-work related learning book fills the gap left by academia. Now that I’m out of college and not operating an four hours of sleep and a three day hangover, I miss the days of assigned reading, discussing theories, new ideas, and stretching my world view. So I started a book club with two of my friends and started assigning my own reading. Currently, we’re going through Second Sex by Simone de Beauvoir, and it’s fantastic. I thought it would be much more difficult than it is, but despite being an incredibly dense and large philosophy book, Simone manages to pull you in with dry wit, and rhetorical sparring with the ideas of her contemporary authors of the time, and it is fascinating. I get excited about reading this book, but it’s not a book that allows me to turn my brain off and enjoy.

My ‘emotional growth’ books fall into that category of literature that are usually beautifully written, have important and urgent stories to tell, and are ultimately exhausting to read. They’re the kind of books that you’re glad you read, but you don’t walk away feeling good about the state of the world, and you definitely shouldn’t read them right before going to bed. Bell Jar or The Glass Castle for example. Olive Kitteridge is my work of choice this month, and word of warning, this is not a good book to read if you’re in a serious, young, and happy relationship. In a series of vinyets, it peels back the layers of sadness, hope, trust, heartbreak, and habit that make up relationships that have lasted decades. It looks at the complex relationships that make up families, and the reasons why relationships and people fall apart. It’s a beautiful book, but after five nights of reading it before bed, I got tired of picturing all of the ways my relationship could potentially end in the next couple of decades and decided I should maybe relegate Olive Kitteridge to daytime reading only.

After deciding I wasn’t allowed to read any of these books before bed (because that’s when I should be winding my brain down, not sending it off on wild adventures), I went out and bought a “recovery from the other books” book. I hadn’t realized until I was trying to pick one out that I am so drawn to ‘emotional growth’ books. After forcing myself to walk past Game of Thrones, Fahrenheit 451, Catch 22, and anything by Junot Diaz, I stumbled across Romeo and/or Juliet. I’ll admit my fondness for Shakespeare has grown over the recent years (having someone very passionate about it expound upon it in great detail almost daily certainly helps (and if it wasn’t helping this relationship would be doomed)), so the cover caught my attention. It turns out it’s the same author, Ryan North, who created the “To Be or Not To Be” Hamlet based choose your own adventure game that my friend introduced me to. If you haven’t read/played anything by him and you have even a modest understanding of Shakespeare, I highly recommend you give me a shot. He manages to make fun of Shakespeare in a way that’s incredibly clever, and shows just how much time he’s spent studying him in depth. There are several trillion different paths that your adventure can take, some of them following the more traditional Romeo and Juliet path (with a few “gosh if they had just talked to each other” endings that are hilarious), while others result in you swashbuckling with pirates or fighting a robot invasion. It’s hilarious, absurd, and requires just the right amount of mental engagement to help me wind down to go to sleep.

I used to chastise myself for considering starting a new book before I was finished with an old one, but now I realize that’s just ridiculous. If I’m capable of watching multiple TV shows at any given time and can remember the plot lines of each, I can do so with books as well, and I’m much happier for it. Maybe one of these days I’ll actually finish one of them.

November 06, 2016 01:00 PM

November 03, 2016


Super basic financial tips for you even if you think it’s too late to start saving and you’re emotionally prepared to retire and die in like a mental asylum from the 1800s

I’m not good with money. I’m not Bad With Money (like this excellent podcast), but I ain’t ever been great at it. My parents always took care of everything, and we were well-off (at least from what I understood growing up) so money was sort of like a thing that was there but you never needed to worry or talk about it.

As I got into my 30s though and started to get that it was JUST ME and it might always be JUST ME (aka no rich billionaire was coming to marry me -- I think this economic anxiety is a real one that single people in their 30s start feeling) I was like, I really have got to figure this out. This was hard to do when in your 30s because of one huge obstacle: SHAME. I was like, I AM TOO OLD TO NOT KNOW HOW TO DO THIS STUFF. So I just will never ask any questions or tell anybody I DON’T UNDERSTAND EVEN SUZE ORMAN WHO HAS MADE HER CAREER EXPLAINING TIPS SO BASIC THAT O MAGAZINE PEOPLE UNDERSTAND THEM. So I just went on for a bit pretending that money wasn’t real and everything was fine.

To be fair I was never in a super dire situation. My parents paid for undergraduate college (at a state school; when I got into a certain New Hampshire liberal ivy I really wanted to go to they were like nuh uh we’ll pay for the state school; they are known as Good with Money, good call mom and dad); I had a scholarship for graduate school; and I paid off debts related to my costs of living during graduate school several years ago. I never keep credit card debt because it terrifies me. And if I’ve ever needed help, my parents, again, have ALWAYS been there as a cushion, so I’ve never truly worried for it, and I am extraordinarily lucky in so many ways.

Except the way in which, as I mentioned, I was getting old and I was like I guess I’m probably not going to work until I’m 87 and my parents won’t always be around so maybe I should look into this retirement thing… ? This is a true story that really will show you how bad with money I was until a few years ago: I DISCOVERED A 401K I NEVER EVEN KNEW I HAD!!! My first job out of college I had a 401K, I literally didn’t know what that was or that I was putting money into it, and a few years ago I discovered it! Part of me was like YAY FREE MONEY and part of me was like :horrified face emoji: Catherine you have got to take control of these things and start educating yourself.

So I did. I’m doing fine now - I’m not going to retire a millionaire - but I feel more comfortable and knowledgable about my situation than I did five years ago. Here’s how I got there and also some things I wish I’d known along the way. Some of this may be wrong and most of it is certainly very basic, but this isn’t for the money experts out there; it’s for those like me who were like WHERE DO I EVEN START. If advice is bad or wrong feel free to tell me in the comments. Like I said, I’m not great with money.

(Note: This isn’t a blog post about how to spend less, by the way. A lot of shame and emotional issues are tied up in money for a lot of people and they have trouble stopping spending beyond their means. That is absolutely something worth talking about and finding help for, but I don’t know how to do that. I also don’t know how to like, coupon, or be thrifty. This is just a blog post about basic financial steps you should be taking as an adult that took me way too long to learn.)


I used to think I was going to save more money and be better off financially if I could like, stop going to Starbucks. Now you shouldn’t be spending hundreds of dollars a month on lattes but the best way you are going to make more money is ASK FOR MORE MONEY. If you don’t negotiate job offers you are missing out on untold thousands or tens of thousands of dollars, and then it impacts every job you have down the line because, though unfairly, most jobs base what you will make at your new job at your last salary. (This is dumb because you should just be paid whatever the job is worth and I think some states are making demanding a salary history of past jobs illegal, which is good.) Anyways, ask for that raise. My biggest jumps in net income came from when I screwed up my courage and blurted out asks for raises that to me, at the time, seemed incomprehensibly large. I didn’t always get what I asked for by the way, but I got more. More income = being able to save more for retirement, by the way, NOT SPEND MORE.


Like I said, my biggest obstacle to being better at money was the enormous amount of shame I felt that I, a smart, educated woman in her 30s, knew basically nothing about money. I think this is what prevents a lot of people from asking more (see again the newish and good Bad With Money podcast). Oh like I knew how much I made, I knew I shouldn’t spend beyond that; but I didn’t know what else to do with it. I wasn’t poor, but I wasn’t investing, or doing enough for retirement. So in my friend Slack channel (which I’ve raved about here) I created a money channel where I ask my seemingly incredibly stupid questions about money to my loving and kind group of friends who know way more about money who are also very good at hiding their disdain. Find that group in your life and ask those people all the questions about what you should be doing. They’re your friends; they will want to help you not die in a gutter.


I used for this. It will not steal your money. For me it was enormously helpful in creating a budget but mostly understanding like… where does all my money go? Some of it was horrifying. A lot was going to, on what I didn’t even know (damn you Amazon Prime) so I made a rule of no more mindless purchasing. A lot was going to booze, like a horrifying amount, so that made me more conscious of spending there. Mostly I understood how much I was spending in a month, and it helped me understand that I wasn’t just spending money abstractly - I was spending a lot on certain things I didn’t realize, which then helped me think twice the next time I was out on a Saturday night spending $75 on drinks.

I also like Mint because it serves as a single dashboard showing me all of my accounts - bank accounts, investment accounts, savings accounts, 401ks, whatever.


From what I understand about money, you should work actively to pay off all your debt first before doing much saving. I have to admit if you have a lot of debt, I don’t have good advice to offer. I’ve never had much debt nor big spending problems that created a lot of debt for me. But I did work to pay off my student loans, and then moved into the next tip…


If you’re a single-income household I read you should have six months saved of what you spend every month. I do this using Capital One 360 - I figured out what my emergency fund should be based on my current monthly spending, figured out how much I could afford to put towards that every month, then set up an auto-withdrawal that would take that amount out of my paycheck every month. I like using Capital One 360 because it’s relatively liquid (a term which I had to look up - it means easily accessible, so basically you can withdraw as much as you need at any point right away) but it’s not directly in my bank so I can’t get at it TOO easily. I recently completed my emergency fund and it will sit there happily until I never have to use it because I will have no emergencies in life ever or ever get laid off. Maybe I should be doing something different with it? Let me know if so.


Now I know this is the most basic tip but if you were anything like me you didn’t know what maxing out your 401k meant; you didn’t EVEN KNOW WHAT A 401K WAS. So, basic:

A 401k (stole this from google) is a retirement savings plan sponsored by an employer. It lets workers save and invest a piece of their paycheck before taxes are taken out. Taxes aren't paid until the money is withdrawn from the account.

Maxing out your or 401k simply means that you contribute the maximum amount allowed in a given year. Because of laws, or whatever, you can only contribute 18,000 a year to your 401k (I think this amount changes slightly year to year depending on said mysterious laws).

Now, a lot of people can’t contribute that much money which is fine and normal. What you can do is contribute the necessary percentage of your salary towards your 401k to trigger a matching amount from your employer. Yes, if your work has a 401k and they do matching, they are basically giving you free money. For example, my matching amount is 6%, and then my employer contributes 3.5%. FREE MONEY!

(I currently put in 8% of my paycheck to my 401k, btw. I have friends who put in 9 or 10%. But I would never put in below 6% since that’s the matching amount set by company.)

I never understood the paperwork around this but your 401k plan should have a website where you can figure out how to log in and adjust the amount yourself that’s taken out every paycheck. Talk to your kind HR person if you can’t figure this out. Remember: forget the shame. Forget the embarrassment. Just walk in and be like “I have to admit I know nothing about my 401k and I am trying to get better. Could you walk me through how it works like I am a stupid baby?” They will take pity on you, I promise. Nobody wants to hurt stupid babies.

The most confusing part about 401ks I found for me was like… where does that money GO? What is DONE with it? How do you put in some money and it MAKES MORE MONEY? Well, I’m still not super clear on this, but from what I understand the money you put into a 401k goes into funds that are managed by your 401k plan and invested in the stock market. I was like, okay - what funds should I pick, then? I ain’t knowing nothing about the stock market. What friends have told me is that the Vanguard Target Retirement funds are good ones to pick for your 401k. They are kind of a set it and forget it approach towards the investment of your 401k money. Say you calculate you want to retire in 2045 - pick the vanguard target retirement 2045 fund.

There’s probably more to be said here but honestly I didn’t care, I just wanted the basics and to be told what to do, and not be flooded with a huge amount of choices.


So say you paid off debt, are contributing a good amount towards your 401k, and are contributing each month to an emergency savings fund. I think what you’re supposed to do next (at least, what I did) is set up a Roth IRA. Fuck money, by the way. Like, WHAT DOES ROTH IRA MEAN? I hate the language around money and finances. I think it’s just stupid lingo that doesn’t make any sense and only serves to obfuscate true meanings so people with the secret lingo knowledge can amass more power.

In this case this is what a Roth IRA is: an individual retirement account allowing a person to set aside after-tax income up to a specified amount each year. See, the IRA stands for Individual Retirement Account. I never really wondered what Roth meant until now so I just looked it up. It’s some white dude senator who made the legislation creating this individual retirement account. I mean, I guess good job and thank you Mr Roth - from what I understand a savings vehicle like this did not exist for people who did not have a company one. But like, can we just call it Individual Retirement Account?

This made me look up what the hell 401k means, which I literally never thought to ask until this moment, and that’s also stupid. 401(k) plans, named for the section of the tax code that governs them, arose during the 1980s as a supplement to pensions.

LOL OK. Look, think of it like this: 401k is work retirement account. Roth IRA is your own personal retirement account. We need these things because nobody gives pensions anymore. Most employers used to offer pension funds. Pension funds were managed by the employer and they paid out a steady income over the course of the retirement. We don’t get those no more, so now we need 401ks and Roth IRAs.

ANYWAYS TANGENT. For mysterious law and tax reasons, you can only contribute a certain amount each year to your Roth IRA. For individuals that are under 50 years old the limit on contributions to a Roth IRA is $5,500 if you make less than a certain amount of income and if you’re single or married, but overall it depends on how much you make. Here’s a list.

How I did it? I went to, opened a Roth IRA, picked one of their target retirement funds, and contribute as much as I can each month so that my yearly total doesn’t exceed what my income level allows. Also my friend James from Slack made me promise to explain there are more than one kind of IRA and a Roth IRA is just one kind and also something about tax exemptions but you’ll have to go ask him.

I think that's all I've got. What I'm struggling with now is what to do with money now that I've maxed out my Roth IRA and 401k and emergency fund. I have some other Vanguard retirement accounts set up as well as a USAA mutual fund but I'm not sure if those are the best vehicles for money for retirement. If anybody has any ideas, hit me up, I'm a dumb baby who doesn't know much about money but still wants to learn.


by catherine at November 03, 2016 02:42 PM

October 27, 2016


Things I did on my 3-day solo vacation

Last year I went on a solo vacation to a little beach cabin in the woods and I wrote a whole article about it. A couple of weeks ago, I went back. I think people wonder, how can you spend 3 whole days alone? I am at heart an introvert, so it’s very easy for me (and I’m a very social introvert so I spend a LOT of time in DC out and about, so a 3-day break like this for me is very good).

Well, I do a lot of things in those 3 days, all by myself. I try to treat it like a mini Catherine retreat. Yeah, I spend time doing all the self-righteous and healthy stuff. I meditated every day for at least 30 minutes; I wrote; I read books (All the Single Ladies and Shonda Rhimes Year of Yes); I worked out each day, whether it was yoga or online videos); and since we now live in a burning ring of fire that is getting closer and closer to imploding on our heads every day, I also suntanned in 80 degree weather and went in the ocean.

I did not leave the house once. Also there is no TV here and only spotty internet.

So to fill the space, I also did a bunch of stupid-ass things too that were dumb or pointless or were just to kill time. So that you don’t think I spend 3 days levitating in meditation and subsisting on green juice, I present to you a list of Rando Dumb Things Catherine Does When She Goes on Solo Vacation:

-Picked off all of an old gel manicure

-Panicked for 20 minutes while sitting on the screen porch while some animal in a thicket outside gnawed ferociously on something. I think maybe it was a possum?

-Made a two-person serving of Bisquick pancakes… and ate the whole thing

-Foam-rolled for an hour while listening to old episodes of “Another Round” podcast

-Fucked around on Twitter for entirely too long (the story of every day of my life)

-Drank an entire pot of increasingly cold and stale brewed coffee throughout the day

-Showered exactly once. Dirt’s good for you yeah?

-Recorded 2 different drafts of a new podcast I’m working on

-Did some work, probably a couple of hours a day. I like work, so no biggie

-Set up a trap for the fruit flies taking over the little kitchen and watched with glee as they all got stuck in the cup with plastic wrap over it.

-Went through 2 bottles of wine

-Got bored of wine one night, pawed through cabinet of airbnb (they said this was fine) and found some drambuie. Googled what exactly drambuie is. Proceeded to make disgusting but sort of satisfying drink out of drambuie and tonic water.

-Ate an entire slab of brie by myself, semi slowly, of the course of two days.

-Lay on the floor of the screen porch and stared up and listened to waves

-Wrote this, then napped

by catherine at October 27, 2016 04:31 PM

October 25, 2016


New York: The greatest city in the world... for some people.

So, I only lasted a year in New York. I remember my uncle telling me that he only made it a year in New York and was begging his job to let him leave by the end of it. I remember pridefully laughing at how silly this was: New York will be great! He just couldn’t handle it. I can.

Little did I know.

Looking back I remember my very first impression of NYC: I took a trip there when I was in 8th grade. The only things I remember from that trip are Times Square and Central Park. My impression? It’s gross, there’s trash everywhere, and ohmygod there are way too many people. It was incredibly overwhelming, and I clung to the group that I was with for fear of being swept away in the sea of people, or having my bag stolen by the millions of pickpockets and criminals that littered the streets (or so I was told).

I travelled there again in 11th grade to take dance classes at Broadway Dance Center with the dance troupe that I had been in for six years. I have fonder memories of this trip. The dance classes were challenging, but exciting. We saw Chicago and Wicked. We ate at Serendipity. We went shopping along 5th Avenue. We ate at a five star restaurant you could only get to by going through the kitchen of a taco stand. This time around New York had more glitz and glamour, but still not in a way that I found inviting. It felt like a facade. It felt unattainable, or at the very least unsustainable. In the end, I still walked away happy to leave New York categorized under a fond, if odd, memory.

Flash forward seven years and I find myself in a serious relationship with a New York actor, a distain for the job that I was currently in, and the strong desire to hard pivot into coding full-time. All of this led me to Recurse Center, but my one concern was that it was in New York. I had bused back and forth to New York a couple of times in order to visit Nathan, but originally Nathan was the only thing that I looked forward to. With each visit, New York started to dig its claws in. I discovered what public transportation should be like (in comparison to WMATA), I learned summers don’t have to be muggy disgusting swamps of humidity, but what really sold me was Central Park. It was a beautiful sea of calm in the midst of this whirlwind of people, or as someone once described it “the reason New Yorkers don’t kill each other.” If I could have spent every summer day lounging in Central Park, I would have. So, despite my reservations, when the acceptance letter from Recurse came, I jumped on it.

I moved into the top floor of a five story walk-up in the Cobble Hill neighborhood of Brooklyn. That climb never got easy, but the view from the roof was unbeatable. I was right across the street from Trader Joes, a block down from what would become my gym, and a 10 minute walk to 4 different subway lines. The spot was ideal. And while I was attending Recurse, I loved everything about New York. I had a built in friend group, activities to attend every night, free theatre to see, endless sights and sounds and opportunities. I attended parties with celebrities. I got to see the inside of many a tech giants headquarters. I was living the New York dream. And then Recurse ended.

Suddenly my place in New York felt less secure. The search for jobs left me feeling uncertain about myself, my career choice, my purpose in New York. Even when I eventually started my job at Cadasta, it no longer felt quite right being in New York. I worked from home everyday, which got progressively harder between the increasing heat and the constant construction on either side of my building. I attended fewer and fewer Recurse events because it never felt quite the same. The built in friend group I had became harder to get a hold of as everyone started their new jobs. Maybe if I had had a physical office with co-workers I might have maintained the feeling of belonging for a little while longer, but in reality there were a lot of other factors that played into my slowly loosing excitement for New York.

When Nathan mentioned the possibility of moving back to DC, I wasn’t totally sure at first, but the more we talked about it, the more it just felt right. I had at one point loved New York. That feeling wasn’t really there any more. It’s a vibrant city that deserves every bit of the reputation that it’s garnered - the good and the bad. This city forces growth or destruction in everything from buildings to resources to people. The growth that I experienced has a sort of complicated morality to it. It certainly hasn’t made me ‘nicer’, but it’s made me happier, stronger, and less apologetic about my existence.

Be Assertive

I learned to be more assertive. New York doesn’t have time for you to pussy foot around, it doesn’t have time for your uncertainty, or unexpected politeness. Don’t hesitate, don’t second guess. You’ll get run over. This counts in every situation: walking down the street, ordering food, getting on and off public transportation. No matter what, even if you’re totally clueless, always at least act like you know what you’re doing. If you need someone’s attention, demand it. No one is going to give it to you freely. It’s not that they’re rude or don’t care, they just literally do not have the emotional stamina to be aware of other human beings unless they absolutely have to.

Don’t apologize

I learned not to apologize for my existence. Women especially have a tendency to say “sorry” all the time. For everything. It’s not my fault they were looking at their phone and ran into me. It’s not my fault someone stepped out of a shop into the flow of sidewalk traffic and ran into me. It’s not my fault they feel the need to take up two subway seats when I was sitting there first. It’s not my fault someone abruptly stopped in front of me so I ran into them. I’m learning to not let “sorry!” be an unconscious reaction to all of these situations. I’ll glare, get angry, role my eyes, yell at them. Or not. But I definitely won’t apologize if I’ve done nothing to apologize for. Was it my fault? Did I do something wrong? Then no apologies. If that makes people think I’m rude that’s their problem.

Accept uncontrollable rage

I’ve been angry before. I’ve been upset by situations that any logical person would be upset by. But I have never known rage quite like that caused by NYC. There’s something about the combination of being constantly jostled by other people, the noise, the smell, the overstimulation, the stress, and then waiting 30 minutes for subway only to get stuck on a train with no AC that spends a good ten minutes at every stop. That feeling of “WHAT IS HAPPENING AND WHY IS NO ONE DOING THEIR JOB I JUST WANT TO BE HOME”. That unconsolable feeling piled on top of the heart breaking desire of just wanting to be home and alone and crying into a stiff drink. Something about all of this really puts things into perspective. I’ve learned to embrace it, and confront these feelings head on, so when they occur in a situation I’m actually in control of, I’m prepared to deal with them.

Try new things

Literally everything in New York is a new thing, so this was a hard lesson to avoid, but it’s something I’ve really learned to appreciate. I’m no longer afraid to travel on my own. I’m no longer afraid of any big city. I’m no longer afraid of talking to strangers, and I’m no longer afraid of trying “weird food”. Life is far more exciting now.

Embrace anonymity

I met so many people in NYC, but it got to the point where someone would introduce themselves, and my brain would not even register that they had said their name, let alone remember what it was. You just meet so many people, and there’s a 90% chance you’ll never see them again. While this might seem sad, it means those 10% really matter. There’s also a certain freedom in knowing you’ll never see people again. You don’t have to worry about whether or not they like you. You don’t have the pretend to be someone else because that’s too much work for a stranger. I used to make it a goal to ensure everyone thought I was nice. It was very important to me. But to what end? Who cares. I’ll never be rude or cruel, but I now refuse to shrink myself out of fear of being disliked. If they didn’t like me, there are plenty of other people who will.

There’s also a freedom that comes with this anonymity. There are so many people that New Yorkers have no time to register anyone else. So I could wear whatever I wanted, do whatever I wanted, and be whoever I wanted. No one cares, it doesn’t matter. “Those who mind don’t matter, and those who matter don’t mind.”

I’m grateful for New York. While I wish I could say that I’m thick skinned enough to really love living there, I can certainly say I’m glad that I at least tried. At the very least, it’s made me appreciate things that I never thought I would in 8th grade: dishwashers, boredom, and silence.

October 25, 2016 01:00 PM

October 20, 2016


For The First Time, More than 8,200 Congressional Research Service Reports Available Online

New Civil Society Website Makes Available to the American People Reports Previously Available to Congressional Staff and DC Insiders

Contact: Daniel Schuman, Demand Progress


Washington, DC— October 19, 2016 — More than 8,200 reports authored by the Congressional Research Service, Congress’ think-tank, were published online today at by Demand Progress, a progressive grassroots organization with 2 million members that works to build a modern democracy. CRS reports contain non-partisan, in-depth analysis of important issues before Congress, ranging from telecommunications to privacy to social security and more, and are written to help members of Congress understand the policy choices they must make.

Daniel Schuman, policy director at Demand Progress, and former legislative attorney with CRS, said:

“For more than 20 years, the public has clamored for Congress to systematically release CRS reports to the public. Instead, those with DC connections have received preferential access, leaving lone members of Congress to fill the gaps and address iniquities. Congress must do better, and this new website points the way forward.”

For the first time, all CRS reports currently available on Congress’ internal website have been made publicly available at once, with more to come. Previously, members of Congress had released the reports piecemeal to the public, although there have been legislative efforts over the last three decades to do so systematically. The most recent effort is the bipartisan bicameral Equal Access to Congressional Research Service Reports Act of 2016, introduced by Sens. John McCain (R-AZ) and Patrick Leahy (D-VT) and Reps. Leonard Lance (R-NJ) and Mike Quigley (D-IL).

Rep. Mike Quigley, who sponsored legislation to release all non-confidential CRS reports to the public, said:

“Increasing transparency and accountability in government is not only the key to improving public trust, it is the key to improving the way government works. I applaud Demand Progress on their efforts to bring greater transparency to the exceptional, non-partisan research conducted by the Congressional Research Service. While I will continue to work with my colleagues on both sides of the aisle to create a Congressionally maintained database for non-confidential CRS products, this website is a great resource for our constituents to access these important reports. Information is the power the people need to trust their government and the work we do each and every day.”

Rep. Leonard Lance, who introduced the Equal Access to Congressional Research Service Reports Act in the U.S. House, said:

“It is 2016, any student, reporter, taxpayer or interested citizen should be able to view CRS reports online. These reports for paid for by taxpayer funds, the taxpayers should be able to read them. It is past time to end the era of secrecy to these reports and open them to the benefit of research, reporting and public information. This online portal will become a resource for many and bolster the argument for transparency.”

Notable about this effort is:

  • It is done in partnership with a Democratic and Republican member of Congress, who are programmatically providing the reports to us.
  • All reports published on CRS’ website are included — more than 8,200 — which previously were directly available only to the 20,000 staff on Capitol Hill.
  • The reports are viewable on mobile devices as well as online, unlike CRS’s own website, and can be downloaded individually and in bulk by anyone.
  • The phone number, email address, and names of the analysis are redacted from virtually all the reports, and a “no copyright” statement is added, addressing concerns raised by CRS.
  • When a report is updated, we tell users the percentage of the report that has changed.
  • The code for the website is available online on GitHub for free.

Calls for Congress to release the reports to the public have been endorsed by former CRS employees with a combined 500 years of experience as well as a broad bipartisan coalition of civic organizations, non-profits, think tanks, grassroots organizations, libraries, and others.

Julie Todaro, president, American Library Association, said:

“Today, Demand Progress has enabled researchers and entrepreneurs everywhere to benefit from the kind of information that drives innovation. Now it’s time for Congress to permanently guarantee this access by law, and to itself create an online portal to such vital, taxpayer-funded information for all.”

Kevin Kosar, senior fellow and governance project director, R Street Institute, a libertarian think tank, and a former research manager and analyst at the Congressional Research Service, said:

“Congress long ago could have fixed this inequitable and anachronistic situation with ease and little to no cost. But it dithered for years, so the private sector stepped forward and got the job done in a blink.”

CRS reports do not contain classified information or individualized advice for members of Congress. They are written in plain language for general consumption and it is anticipated they may become publicly available. On occasion, House and Senate committees have officially published the reports, and it has long been Senate policy to encourage members and committees to release the reports to the public.

Former Representative Chris Shays (R-CT), who pushed for public access to the reports in the 1990s and published them on his congressional website, said:

“CRS reports are thoughtful, well researched, well written and well organized. My staff and I depended on these reports on nearly a daily basis. It is truly terrific that 8,000+ CRS reports will now be available to the public by visiting the website”

The website was built by Dr. Josh Tauberer who founded, a website that makes available federal legislative information to the American people. is a project of Demand Progress, a progressive organization that coordinates the Congressional Data Coalition alongside the libertarian R Street Institute.The coalition champions greater governmental transparency through improved public access to and long-term preservation of congressional information.

With a new Librarian of Congress, and the start of a new Congress in January, the time is ripe for Congress to systematically make the reports available to the public. Until then, we will do so at


For The First Time, More than 8,200 Congressional Research Service Reports Available Online was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at October 20, 2016 05:05 PM


How to Socialize Effectively - If Boringly - in Your 30s

Let me set the scene about what it looked like in DC amongst my group of friends to socialize in our 20s. Somebody would send a text; or yell up the stairs in a group house; or send an email; or maybe awkwardly utilize the then-brand-new Twitter to send a tweet suggesting an evening plan. (Yes, Twitter in 2007 was used for stuff like ‘going to dc9 in a few minutes any1 want to join’; this was before it turned into a platform that reflected your career and before any of us had more than 20 followers.) I would estimate that 75% of the time we would end up at the aforementioned DC9 - one of the only bars on U street around that time -- drinking pitchers of Miller Lite until 1am and feeding dollars to the jukebox to play a Dismemberment Plan song. Somehow we were never hungover the next day. All told, it was fun, easy, and always spontaneous.

Fastforward 10 years. People have marriages, kids, careers that demand they not be presenting to the board the next day with unwashed hair and a low-level hangover. Some of us try -- futilely -- to keep in shape, so are spending time at the gym in the evenings or rolling out of bed for early morning runs. We more often live alone, with partners or in our own apartments, so you can’t just yell up the stairs if anybody wants to go grab dinner or expect that every Sunday night, without any formal planning, you’ll be huddling around the TV for whatever HBO drama is playing out. Socializing with friends got hard.

Enter UPTIGHT PLANNING LADY (that’s me, could somebody create me a logo please and thanks) to tell you about how I’ve managed to still socialize several times a week in meaningful ways with groups of friends. I’m very happy with my social life. I talk to a lot of people daily and I would say, although I’m single and live alone, I probably socialize 3-4 times a week in real life with people, and multiple times a day virtually (which I count).

How do I do it? Here are my secrets: 1. Bucket your friend groups into the ways in which you can socialize with them and 2. Plan everything, preferably around clubs or formal activities.

Yes, this means that spontaneity no longer exists in your life, but you’re in your 30s, you knew that by now. Embrace structure. Embrace boringness. Embrace plans.

Let me explain by what I mean by #1: Bucket your friends into groups.

As I got older, I started realizing that (duh) certain friends met certain needs. Some were the people I knew would always want to see a concert with me. Some were into cooking and dinner parties, and some were running buddies. Some I could expect to have a light evening of fun with - but not much more - and some are besties that I know I’ll have a meaningful and real conversation with everytime I hang out with them. Some friends are my family; some are my coworkers; some could always meet for lunch but never for happy hour; some, despite my advice, would only hang out spontaneously and fail at all planned attempts to hang out.

The key is knowing which activity is right for which friend bucket. I know enough now that I would never ask my running buddy to go see a concert with me. My friends with kids I would suggest plans on a weekend morning near their house, but I certainly wouldn’t say, let’s meet up for 12 beers on Thursday night. I have friends who like outdoor activities and camping so that’s what I do with them. I do have a couple spontaneous friends, and even though I’m not very spontaneous, they’re the ones when, I’m feeling like a last minute drink after work, that I text. When I’m down and need a real talking to, there are the BFFs I know I can ask to meet me who would drop everything to do so - but I wouldn’t ask one of my more superficial friends to do that. (Nothing wrong with superficial friends, by the way. I have plenty, they are great, and I’m sure I fall into this category for lots of other people --  it’s just more a realization they are people to have a good time with on an occasional basis, not for life advice and emotional needs.)

This may sound depressing to so strictly categorize HUMAN BEINGS but I’ve found it useful for my emotional friendship needs and socializing. I have a lot of friends and know a lot of people and when I’m in tune with what I want to do in terms of socialness or interest level on any given day, I know who is more likely to be able to do it with me.

Moving on to #2: Plan everything, preferably around clubs or formal activities.

This sounds dorkier the more I write about it, but I’ve found great social success in having any number of clubs. I have a cookbook club. I have a fitness club. I have a book club. I have a single ladies club. I’m in a casual blogging club where we all try to blog once a week (many of us fail but oh well) and we just had our first happy hour, which was a lot of fun. Some of my friends do a Whiskey Club that I join occasionally. I have a Slack Club (IRL friends who hang out virtually and chat daily in a Slack channel, which I find very socially nourishing and totally count as real relationships and friendships even though I don’t see most of them in person more than once or twice a year.) I have my family (which I would consider sort of a club, the Family Activity Club. And I’m very lucky for them - parents, siblings, a sister-in-law and three cute kids are all in the area). I have occasional Cabin Club friends - where I plan a cabin weekend and I have a set group of friends that I know will go with me. I guess I have work, or like, Work Club, which I am also very lucky in - not only is my work fulfilling but I am very emotionally nourished by my coworkers and the relationships I have there.

This is more a reflection of my personality perhaps -- I’m an activator-type person who’s pretty organized and proactive and likes to Get Things Done. So I’ve created or joined any number of real-life or virtual clubs and consider them the fabric of my social life. I think this works as you get into your mid to late 30s because as you get older, more boring, and make more money (if you’re so lucky, that is) you develop particular interests and hobbies and go deeper into them. Mine are pretty straightforward - reading, being outdoors, working out and cooking. (Probably a real normcore slew of late 30s activities.) So reorienting my social life to be around those clubs that require an investment of time and energy has worked for me.

The fact is that I’m just not as spontaneous as I was in my 20s - though I was never really spontaneous, I am UPTIGHT PLANNING LADY after all. But our 20s encouraged and enabled spontaneous hanging out. Which was great. But I have stopped holding on to that wish for always having something social to do at the drop of a hat every single day of the week, and embraced a more structured approach to my socialization. It works for me and if you’ve been struggling with socialization into your 30s, it might work for you too.

by catherine at October 20, 2016 01:49 PM

October 19, 2016


Thanks, Chris.

Thanks, Chris. We’re as good as the source material, so if the HTML version doesn’t have graphs, we won’t have them either.

The search experience is little weird because it’s cheap (well, free). We could use a better search engine from Google, but it would cost a fair amount more. If this project receives financial support, we’ll be able to have nicer things.

Finally, as to your concern about lobbying CRS to have additional information in its reports — we’re already in that world. The people who care most about its reports are Congress and the lobbying world, and they’ve had access to all this for a very long time.

by Daniel Schuman at October 19, 2016 08:35 PM

October 18, 2016


Experts Call on Senate to Stabilize Committee Staff

October 18, 2016

Dear Majority Leader McConnell, Majority Whip Cornyn, Democratic Leader Reid, and Democratic Whip Durbin:

The United States Senate is an institution rooted in history and tradition. Its long serving members and staff are a repository of policy expertise that serve as a counterweight to an often over-assertive executive branch. We encourage the Senate to continue to implement its rule on committee staff, Rule XXVII, in a way that reinforces one of the Senate’s key strengths: its committees.

The Senate has approximately 900 committee staff. Senate Rule XXVII requires committee staff reflect the relative number of majority and minority members serving on the committee, with no fewer than 1/3 of the staff hired by the minority.[1] Starting in the 112th Congress, leadership agreed to a new funding approach for committees that reflects the party division of the Senate while recognizing the majority’s need for resources “commensurate with its responsibilities in administering the committee.”[2] In effect, committee resources are proportionally split between the parties in a way that reflects the composition of the chamber, with some additional funds available to the majority to manage each committee. Prior to that time, agreements concerning budgets and staff numbers were struck by leadership,[3] with committee staff allocations prior to the 107th Congress providing for two-thirds of funding for the majority and one-third funding for the minority, resulting in nearly 300 staff turning over when control of the Senate changed hands.

By some news accounts, majority control of the Senate is expected to change twice in the next four years. As you have recognized, such staff volatility is not conducive to good governance.Elections must have consequences for how the Senate operates, but they should not result in an immoderate changeover in its committees. More stability in tenure enables staff to build expertise in their issue areas, gain experience with oversight, and strengthen relationships with other staff that foster the spirit of comity so sought after in the upper chamber.

It is in that spirit we write to you, a diverse group who share a common concern for the well-being of Congress. Senate committee staff turnover is not a partisan matter; rather, it is a separation of powers issue. Congress should not weaken itself vis-a-vis the executive branch.

We urge you to agree in principle, prior to the election, to continue to share committee staff appointments proportionally by party membership in the chamber, with the carve-out and limitations as currently is in effect for the 114th Congress.[4] We also recommend you update Senate Rule XXVII at the appropriate time to reflect this policy.

We welcome the opportunity to discuss this with you further. Please contact Daniel Schuman, policy director, Demand Progress, or 202–577–6100, or Kevin Kosar, governance project director, the R Street Institute, at or 202–525–5715.

Sincerely yours,

Lee Drutman, senior fellow, New America Program on Political Reform

Louis Fisher, former senior specialist with the Congressional Research Service and specialist with the Law Library of Congress

Kevin Kosar, governance project director, the R Street Institute

Molly Reynolds, fellow in governance studies, Brookings Institution*

Daniel Schuman, policy director, Demand Progress

* Affiliation for identification purposes only

cc: The Honorable Chuck Schumer

{ Read the letter as a PDF }


[1] Senate Rule XXVII, available at

[2] “10 percent of the total majority and minority baseline salary amount, after allocations for administrative expenses and non-designated staff, would be set aside for the majority. The remaining 90 percent would be divided according to the party division of the Senate.” In addition, “regardless of the party division of the Senate, however, the minority share would never be less than 40 percent, and the majority would never exceed 60 percent including the 10 percent set aside for the majority.” S. Rept. 114–112,Authorizing Expenditures of the Committees of the Senate, available at

[3] Senate Committee Funding: Description of Process and Analysis of Disbursements, Congressional Research Service (July 2013), available at

[4] In 2011, in a colloquy, then Majority Leader Reid and Minority Leader McConnell stated their intentions that this approach be adopted by future Congresses. See S. Rept. 112–9, Authorizing Expenditures of the Committees of the Senate, available at

Experts Call on Senate to Stabilize Committee Staff was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at October 18, 2016 01:10 PM


if exit new_york: return dc;

While the whirlwind of the past few months has finally subsided, I still haven’t yet digested everything that happened. I kept thinking to myself “Once this one thing is over, things will slow dow”. Yeah. About that. That never happens. But I should still set aside time to recap.


  • Attended both OpenSource and Feels, and State of the Map US

  • Spoke at my very first conference ever (SOTMUS), and didn't throw up.

  • Got engaged (!!).

  • Travelled to the Thousand Islands region (NY), Seattle (WA), and Lake Anna (VA).

  • Moved everything out of my apartment in NYC and into a storage unit and DC.

  • Finally settled in Wellfleet, MA for a two month stint.


  • Travelled to London, England and ate at every food market I could manage to get to. Saw some fellow Recursers along the way.

  • Trained from London to Frankfurt, Germany for my first all-staff Cadasta meeting. Got some fancy company swag and ate my body weight in sausages.

  • Travelled back to Wellfleet to finish off the month with trips to the beach, searching for turtles, and nature walks.


  • Sunsets, Alabama Story, and Secret Hitler.

  • A month of much needed relaxation.

  • Officially moved back down to DC (well, Bethesda).

It was definitely amazing (if at times stressful) few months. I’m looking forward settling into an apartment in DC and starting chapter 2 of my DC adventure!

October 18, 2016 01:00 AM

October 15, 2016


This Week I Ate: Keftedakia

I tried a food with an unfamiliar name, but the most familiar and comforting taste. This week, I tried keftedakia — basically, a Greek-style meatball — at a new pop-up restaurant in Washington, DC. The restaurant is called Oenosophia, owned and run by Greek brothers, and is aimed at testing the concept of Greek small plates paired with excellent regional wine.

These meatballs were not only delicious greasy balls of meat, but they accomplished what I hear great meatballs should be, but rarely are. They were small, delicate, and boasted a cripsy exterior, yet pillow-y interior. Basically, they were perfect.

Served alongside a surprising lemon wedge and garnished with dried oregano, these five balls of joy were the highlight of the entire table’s meal. We ordered two plates of them.

I even tried to convince the owners that their restaurant concept should be meatball-centric — they have a magical magical recipe on their hands.

I’m struggling to communicate how these meatballs have set a new standard for meatballs in my life. And the picture that I took doesn’t help either. All I can say, is if you’re in the DC area in the next month or so, check out Prequel the restaurant’s incubator and see if Oenosophia is there. I recommend starting and ending your meal with a couple orders of these expectation-setting balls, and a few amazing glasses of Greek wine in between.

One order of Keftedakia from Oenosophia pop-up restaurant in Washington, DC


by Becca James at October 15, 2016 11:12 PM

October 09, 2016


I went to NYC and I found some great alcohol

Guys, don't let anybody ever tell you meeting people off the internet is a bad idea. Do people still say that nowadays? Like, how literally does anybody meet a person otherwise? Anyways, I've been meeting people off the internet since 1996 in a lot of different formats, and I'm IRL friends (that stands for internet relationship likely just kidding it stands for In Real Life) with so many of them now.
Last weekend I went to New York City with several internet friends who are now just friends (one I met through DCist; one I met through Tumblr; one I met through Google reader) and we had a grand time. Here are the things we did:
-Ate at a Mario Batali restaurant, where FRAN DRESCHER WAS ALSO EATING (she uploaded a youtube video of it, it was her birthday, she's 59 and let me tell you she looks good) and proceeded to get the theme song to "The Nanny" stuck in our head for hours
-Ate every smoked fish imaginable at Russ & Daughters where I also drank two 'breakfast' martinis by 11am
-Ate soup dumplings at Shanghai Cafe Deluxe in Chinatown
-Went to the Met and drank $15 glasses of wine on the roof (me in the museum: "Art, art, old artifacts, boring... OH MY GOD THEY HAVE A ROOFTOP BAR?! SEE YA")
And finally, we had a group fried chicken dinner (it was truly incredibly delicious) at Momofuku Nishi where I casually ordered a cocktail called the Penicillin which is now my favorite drink ever.
Turns out it's also everybody's favorite drink ever and it's not hard to find out how to recreate it via the internet, though a lot of the recipes vary. Here's what I did. 
-2 oz of a blended scotch (I know so little of scotch I had to ask another internet friend what this is; she said I could use Johnnie Walker basically so I did)
-3/4 oz fresh lemon juice
-3/4 oz a magical concoction, ginger-honey syrup. To make this syrup, take half a cup of water, half a cup of honey, and whisk them in a pot til blended over medium heat. Then take a big knob of ginger, peel and slice it, and dump it into the honey water. Bring it all to a boil, then turn down heat and let it simmer for 10 minutes. Let it cool, then strain the syrup into a jar, leaving out the ginger pieces.
Then do the cocktail-y thing which is shake it all up in a mixer with ice and strain it into a glass. Preferably one of those super huge ice cubes. Listen, I don't know anything about cocktails, but this is the first one that's made me want to buy a super huge ice cube tray and make huge ice with like, imported Arctic stream water, it's that good.
Other recipes said to serve it with an Islay scotch floated on top. I don't know what that sentence means or what Islay scotch is, but I did read a trick which is you can take the half ounce or whatever of the Islay and "float" it on top by pouring it onto the drink over the back of a spoon. I guess that does something cool? 
It's nowhere near as good as the original but I think it makes a very fine autumnal cocktail and you should make it and I will toast you virtually, or IRL.


by catherine at October 09, 2016 12:14 PM

October 05, 2016


My morning routine

Did you know that 'morning routines of successful women' is a popular content piece? I'm not sure why, since I imagine most morning routines, no matter who you are, start with you huffing awake to your alarm, drool spiderwebbing your pillow, robbed of that awesome dream where you and Chris Hemsworth were about to save Mars (which had been won in a very long space war between different countries on earth and eventually populated) from a colony of alien invaders. But it's true. They're popular. Check it out. 
Screen Shot 2016-10-04 at 8.34.17 PM
I suspect the fact is that a site thinks it can convince readers that there is one magical routine that if you just got yourself to do on a regular basis in the morning, one day you would wake up and be Sheryl Sandberg. Alas, I don't think it works like that. And I find many of these routines to be very suspect. They involve way too much green juice, 6am yoga, and journaling to be at all accurate. Yet another way women, in trying to make themselves look infallible and incredibly put together, end up setting impossible standards for other women that they think they must live up to. This happens in basically every area of life for women, by the way.
Anywhoo. It made me think about my morning "routine." I don't have one, per se. I have a series of things I need to do in the morning so I can get out the door and to work but there has been no conscious thought put into the order of them or if they will make me successful or not. They just seem logical, and necessary, and some of them I like (some meditation), some of them I don't like (blow drying my hair, what a pain) and some of them I do to be a functioning, semi hygienic member of a civil society (brushing my teeth). 
Now, I wouldn't call myself successful, but I'm not NOT successful, and I am a woman, so in case you're interested, here's my human woman morning routine that happens Monday through Friday.

6:30-7:00am: Wake up
This is where the spiderwebbed drool and the Chris Hemsworth dream come into play. I used to be a Very Good Morning Workout Person, getting up between 5:30 and 6 to go for a run or to the gym. That ship sailed, for reasons I'm not sure of but suspect Getting Old is a prime cause, about two years ago. I'm trying not to fight it anymore. I am no longer a Very Good Morning Workout Person. Nearly a year of painful snooze sessions and feeling guilty and regretful for almost never getting a morning workout in anymore, I try to be okay with it. After going to bed between 10 and 11, this is just when I wake up. I wake up to an old school analog travel alarm clock, and if I've been very good the night before, I do NOT have my iPhone in bed with me. But some mornings I do and I check it groggily. I hate this habit, but I do it. My goal for Future Catherine is to get to a place where I do not look at my phone until at least after I've showered.
7:00am: Make tea and put on NPR on my phone to listen to.
Except I have stopped listening to NPR in the mornings as an act of mental health care. The election coverage and news was driving me so batty that most mornings now I just listen to nothing. It's refreshing. This morning, missing some of my daily news information, I ventured back into the world of NPR, straight into a segment where they were interviewing undecided voters. One woman lived in Arizona and seemed to be leaning Trump. She talked about how he WAS smart for not paying his federal income taxes, and how he paid more than any of us could imagine in property taxes, which is what really mattered. She then said most Muslims want to kill "us" (unlike Mormons, which she is, and that had come up because she said she understood she did not want to persecute by religion as the Mormons had been). At this point, I turned off NPR, and sang a song to myself: "You are turning off NPR and it's okay, because self care is the word of the day." I literally sang that song for the next ten minutes. This is now part of my morning routine.
7:05-7:10: Shower.
I am a fast fast showerer. I use some soap stuff, condition my hair first (A TRICK I LEARNED!), then shampoo it off. I also wash my face with Aveeno Clear Complexion face wash. I use whatever shampoo that promises cleansing and volume. Mostly drugstore stuff. 
7:10-7:20: Do all the womanly things.
This means shit like: put shit on my face while my hair is wrapped in a towel): some serums, moisturizer, sunscreen. Think about putting lotion on other parts of my body, decide, almost every single morning, that sounds too goopy and I am too lazy. Put stuff in my hair (John Freida has some good volumizing products) and comb out the tangles.
7:20-7:22: Put on my outfit.
This takes me like 2 seconds because I have all my outfits planned out for the week to save time in the mornings. That was the most boring sentence a human has ever typed.
7:22-7:35: Blow dry my hair and brush my teeth.
Good lord blow drying is boring. I have shorter hair now that needs to be blown out with a round brush so I don't look like Christopher Lloyd in back to the future, but it's boring and takes time. 
7:35-7:45: Meditate
This is the only piece of my morning routine that belongs in an article on the Huffington Post or Forbes. I am pretty good about taking 10 or even just 5 minutes to meditate in front of my light box. Sometimes I light incense because I'm chill like that.
7:45: Leave
I try to get out the door by 7:45 so I can walk to work. I live just inconveniently far enough from work and Metro is a dumpster fire so I generally just walk the 35-40 minutes if the weather is nice and also it makes me do better than all my stupid Fitbit friends, take that Fitbit friends. I stop for a coffee nearly every day at a gas station Dunkin Donuts. I'm classy like that. I listen to podcasts. My latest favorite was this Invisibilia episode on noncomplementary behavior. It was so up my alley and really the way I would like to approach the world more. 
8:25 or 8:30: Arrive to work bathroom
You may have noticed I have not yet applied makeup at this point in the day. In a futile effort to get it to stay on longer and look more like a Real Business Lady throughout the day, I wait til after my walk and apply it in the work bathroom. This takes FOREVER. FOREVER in Catherine's world is 10-15 minutes. But still, a chunk of time.
8:45: Settle in at desk, change shoes (let's be real I walk to work in sneakers), be Real Business Lady
It ain't no "wake up at 5am and stretch in gratitude while preparing my Nutribullet green smoothie then head off to two hours of yoga" that I feel like those morning routine articles often are, but there you have it. The very normal and very boring routine of a mid-30s business lady in the District of Columbia.

by catherine at October 05, 2016 01:05 AM

September 25, 2016


Weird things about my family

I think I've written about this before but for those of you who don't know, I'm a very small part Chinese on my mother's side (I'm 1/8 Chinese; my great-grandfather Otis was Chinese). Despite that being relatively interesting and unique to a blond, hazel-eyed, all-American woman, I have never taken super interest in my heritage. As I get older though, as I think for most people, you want to learn more about where you came from. So when my uncle scanned and emailed a genealogy document my cousin put together in 1993 (that I had seen before my totally ignored) last week, I read it with great interest. And there is some super weird stuff in there.

#1: My great great grandfather was an indentured servant. 
From his bio: One of about four brothers, Luk Wing Hoy immigrated to San Francisco from Kwantung Province, China in 1871 when he was only 12 years old. He arrived on a Chinese sailing vessel and worked as an indentured servant to another Chinese family. He moved to Sacramento as a free man and joined the Westminster Presbyterian church on December 30 , 1875 (age 17). He learned English at the church's mission school and earned a living as a court interpreter. Eventually he became a partner in a general merchandise business - -the Hoy Kee Company at the comer of 5th and I streets. In 1890, he met and married Fong So through a matchmaker.

#2: My great great grandparents met through a matchmaker and had a 20 year age difference.
This means my great great grandmother (Fong So) was, oh, 15 when they got married. The marrying through a matchmaker was very common from what I understand in the Chinese immigrant community (and maybe in China anyways? Not sure). They then proceeded to have EIGHT CHILDREN.

#3: My great great grandfather "went insane."
I don't really know what happened. But this is from his obituary in the Sacramento Bee in 1909:  Until two years ago Hoy conducted a store (blah blah blah) and was one of the most prosperous of the local Chinese. Suddenly he went insane and his last two years have been spent in Napa.

That's literally exactly all it says. So in 1909 you can just go cray and get shipped off to wine country? Must investigate this approach.

#4: The media was racist AF back in the early 1900s.
This is a literal excerpt from my great great grandfather's obit: "His family are still in possession of the store and business. Among white people Hoy was as well or better known than any other member of his race in the city." Yay? Then, from a previous marriage newspaper article in 1890: "The marriage of Luk Hoy, the well-known Chinese interpreter, and Miss Fong Sue, a coy maiden with a complexion of olive hue (!!! WTF) occurred last night etc etc."

by catherine at September 25, 2016 11:04 PM

September 18, 2016



While setting up my new network at my house, I figured I’d do things right and set up an IPSec VPN (and a few other fancy bits). One thing that became annoying when I wasn’t on my LAN was I’d have to fiddle with the DNS Resolver to resolve names of machines on the LAN.

Since I hate fiddling with options when I need things to just work, the easiest way out was to make the DNS names actually resolve on the public internet.

A day or two later, some Golang glue, and AWS Route 53, and I wrote code that would sit on my dnsmasq.leases, watch inotify for IN_MODIFY signals, and sync the records to AWS Route 53.

I pushed it up to my GitHub as DNSync.

PRs welcome!

September 18, 2016 09:00 PM

September 15, 2016



Steph and I have been AirBnBing our guest bedroom for about a year and a half now, and it’s been mostly great. It’s not a ton of extra money, but it’s not an insignificant amount, either. We occasionally meet interesting people. We are regularly reminded that the world is full of people unlike ourselves, and that it’s possible to get along with them, at least when the interaction is supervised by an app’s influential reputation system.

And it seems like it’s probably good for us. I love my job dearly, but it does involve a lot of playing with computers and eating free snacks. Spending a few hours a month scrubbing toilets for money makes me feel like I might have at least a slim chance of surviving the revolution.

The aforementioned reputation system does a good job of driving nearly everyone within it toward neurotic approval-seeking. You are not just supplying a service for money; you are also hoping your guests will have a good time and compliment your home and be impressed with your lifestyle. They are not just paying for lodging; they are trying not to be a bother and giving you coffee from their home country and making implausible offers to put you up if you ever visit COUNTRY/CITY X. It’s all a little bit charming and let’s be honest more than a little pathetic, but the five-star ratings really do seem to weed out the sociopaths. It works pretty well.

Despite their business being built on overeager social fumbling, AirBnB is taking steps to make interactions more impersonal through the use of their Instant Book feature, by which hosts relinquish their ability to approve requests from prospective guests one by one. They have both good and bad reasons for this. Good, in that there is strong evidence of racial and no doubt other forms of iniquity in how hosts accept guests. Bad, in that they were pushing Instant Book well before the bias conversation, presumably because lowering coordination costs leads to more transactions and revenue.

I am in favor of systematizing away opportunities for human odiousness, but Steph and I are unlikely to enable Instant Book. In our experience, the worst AirBnB interactions occur when expectations are mismatched. A first-time user with poor English expects to get a full condo, rather than just a room, for eighty bucks a night. A high school kid from suburban Maryland expects to stay at our place with his girlfriend. A couple of friends expect a third to maybe join their weekend trip on a whim and crash on our living room couch. A new graduate’s parents have never been out of China before and expect to order room service. Or maybe Steph and I just have an inkling of plans for a week we haven’t thought to block off yet. Reviewing potential guests allowed us to avoid several of these catastrophes. Plus the silly letter the guest has to compose gets the stilted courtship described above off on the right foot.

Most guests are nice but boring folks. They typically hole up in the room they’ve let and do their thing without much bother. We have learned to identify risk factors for those who will spend a bunch of time at home (when they do this you have to pretend not to mind):

  • Those at the end of very long trips will be exhausted and will just want to surf the web rather than continuing to fake enthusiasm for seeing cultural treasures or whatever.
  • The young will be too poor to spend time outside of the house except for whatever their Big Planned Event is. Also their blase attitude toward their creeping mortality makes them feel like they have all the time in the world to visit the National Archives someday, but you know what, young man, you don’t.
  • The old, particularly those who have clearly been dragged along by their spouses, might just want to watch TV, which in our household often requires moderate-to-advanced skill at TCP/IP network configuration. We try our best but some of them don’t even know how to run a traceroute.

We have been charmed by several guests. There was the Parisian atmospheric scientist who flew planes to take air samples, who Steph still pines for. There was the bartender who was back to take the bar for the third time after missing the date for the one near his home in New York City. There was the Eastern European flight attendant who met his internet language-learning community girlfriend for the first time in our house on Valentine’s Day, followed her home to Southeastern Virginia, proposed, was not allowed to meet her family, flew home without a ring or engagement, and was still so polite as to respond to our thirsty AirBnB requests for details about how it all went. I think fondly of all of them.

But if I were to offer only one piece of advice about how to charm your AirBnB host it would have to be this: try not to leave too much hair behind. Honestly, this is all I care about. Maybe avoid putting wet garbage in the bin, too, so I can reuse the liner after I empty it. Otherwise, go nuts. My dream guests are an aging and profoundly bald gay couple. No stray hairs, in bed at a reasonable hour, and maybe they can tell us some good stories over a glass of wine. God bless them.

If you are considering AirBnB hosting, I have a longer list of suggestions:

  • Consider the cost of room turnover and the cost of guests letting their guard down and beginning to transgress boundaries. For us this means bookings of 3-5 nights, which is a narrow window that probably hurts earnings but minimizes stress.
  • Use AirBnB’s free photography service. It makes your place look great, though it can take a while to get an appointment and our listing makes it look like we have a Christmas tree up year-round.
  • Buy some makeup removal wipes and leave them in a prominent spot, or else you will eventually wind up with some destroyed towels. The first time you see a guest heading out for the evening in unexpectedly high heels you should immediately buy another towel set on Amazon.
  • Get some programmable door locks or a key lock box, obviously. Alternately, prepare yourself to get upset over guests not respecting your arrival policies. You will be irate but they will not understand the problem at all, like a dog getting yelled at for drinking out of the toilet. It’s water, isn’t it? I don’t see what the big deal is.
  • Ask existing hosts for testimonials to get over the “is this new listing a scam that will steal my kidneys” hump.
  • If your guest shower has a hose sprayer, great, bully for you. If not, get one of these things. It will make your bathroom cleaning so, so much faster. A little handheld vacuum is also a substantial time-saver.
  • It’s maybe overkill but we installed some fan timers and USB outlets to encourage non-moldy bathrooms and fewer questions about borrowing chargers.
  • We’ve found that guests leave reviews about how much they like having a good neighborhood guide, a comfy bed, immaculately clean bathrooms and an electric kettle in the room. They don’t seem to care about the cheap Trader Joe’s wine we gave away for a while. I guess we weren’t fooling them.

Sometimes we are attentive, sometimes we are busy, sometimes we are maybe even a little surly. The guests don’t seem to notice. The AirBnB review is by now a well-understood compositional form. Give them a fair deal and they will write you one, like a traveling bard composing a song. You’ll meet some strangers and it’ll basically be okay, sometimes a little worse but often better than you’d think.

by Tom at September 15, 2016 04:36 AM

September 13, 2016


Strengthening Congressional Oversight of the Intelligence Community

Today 33 organizations called on the House of Representatives to strengthen its oversight of the intelligence community. Concurrently, a bipartisan quartet of organizations made in-depth recommendations on how the House should update its intelligence oversight rules.

The letter and white paper are the culmination of nearly two years of work. Their release comes on the heels of the commemoration of 9/11 one day prior to a House hearing on updating the lower chamber’s rules.

This video, prepared to accompany the release of the letter and white paper, explains the importance of a strong congress.

The letter is below. The White Paper is online.

Dear Speaker Ryan and Minority Leader Pelosi,

We write to express our concerns about congressional oversight of intelligence activities. Congress is responsible for authorizing and overseeing these programs. In recent years, experts and policymakers have expressed concern that congressional oversight efforts are falling short. Experts have put forth reform proposals, but there has been no systematic evaluation of whether reforms adopted heretofore have met the mark.

We believe Congress must renew its commitment to provide a meaningful check on the executive branch and reform how it conducts oversight over intelligence matters. The time for modernization is now. When the House convenes for the 115th Congress in January 2017 and adopts its rules, the House should update them to enhance opportunities for oversight by House Permanent Select Committee on Intelligence (“HPSCI”) members; members of other committees of jurisdiction; and all other representatives. The House also should establish a select committee to review how it engages in oversight.

HPSCI Modernization

Provide staff designees for HPSCI members. Each HPSCI member must be able to designate a staffer to represent his or her interests on the committee, as their Senate counterparts do.

Improve HPSCI operations and transparency. HPSCI must improve transparency while protecting classified information. We recommend:

For HPSCI members. Regularly review whether HPSCI receives all requested information and reports from the executive branch. Retain an information specialist to track all requests made by and reports received by HPSCI from the intelligence community.

For the House of Representatives. Abide by the same requirements placed on standing committees with respect to providing notice to Congress and the general public. Provide appropriate notice to all members about HPSCI’s work and support an informed conversation about intelligence oversight.

For the general public. Establish a process to declassify, review and process intelligence information.

Improve responsiveness to House membership. HPSCI must quickly and transparently

respond to member requests for information or for meetings, with a process to engage the full chamber. Information in HPSCI’s custody must be available to House members and cleared staff upon request, unless restricted by statute.

Make available annual unclassified intelligence reports. The annual, unclassified intelligence reports that HPSCI receives must be made public with minimal delay.

Modernize HPSCI membership. The current structure of HPSCI must be further aligned with the interests of the House. The Speaker and the Minority Leaders should continue to designate the chair and ranking member. Chairs and ranking members of other committees with intelligence jurisdiction — Appropriations, Armed Services, Foreign Affairs, Homeland Security, Oversight and Government Reform, and Judiciary — should each select a designee on HPSCI. For the remaining committee members, each party conference should have an inclusive process to choose them (four for the majority, three for the minority).

Empower all members of Congress

Improve training for members and staff and establish Office of Classified Information Access. Members and staff must be provided training to handle classified information and to conduct effective congressional oversight of classified matters. A new office must be created to assist with handling classified materials.

Reaffirm member access to executive branch communications. Communications from the executive branch must be made available to all members, unless the sender explicitly indicates otherwise.

Clarify discussion of public domain information. Reaffirm that members and staff may refer publicly to classified information already in the public domain.

Allow congressional publication of information in the public interest. Reform the process by which members of Congress may inform the public of matters they conclude should be publicly available.

Provide members with sufficient staff assistance: All members must be allowed to designate one personal office staff member to be provided Top Secret/Special Compartmented Information (TS/SCI) clearance to attend briefings on behalf of and to provide counsel to the member.

Strengthen Congress’ capacity to engage with whistleblowers. Federal employees and contractors who blow the whistle must be able to speak to any members of Congress, committee of jurisdiction or personal office staffer without fear of reprisal. A new whistleblower ombudsman office will be created to provide assistance and advice to offices and review House disposition of whistleblower complaints. Committees with jurisdiction will create new secure, classified intake systems for whistleblowers to contact Congress directly.

Review of Intelligence Community oversight

In addition to the above reforms, we urge you to consider establishing a distinct, broad-based review of the activities of the Intelligence Community since 9/11, modeled after the 9/11 Commission or the U.S. Senate Select Committee to Study Governmental Operations with Respect to Intelligence Committees.

When questions were raised about the activities of the intelligence community in the 1970s, Congress reacted by forming two special committees, colloquially known as the Pike and Church committees. Reports preceded wholesale reforms of the intelligence community, including improving congressional-oversight mechanisms. The outcome improved congressional oversight and the perception of its efficacy. The House should provide the new select committee adequate staffing and financial support, and give it a broad mandate to review practices and structures associated with congressional oversight of intelligence matters.

Background information on our recommendations are available in the forthcoming white paper “Congressional Oversight of the Intelligence Community Reform Agenda.”

Thank you for your service to our nation and for your attention to our request. We welcome the opportunity to discuss this with you further. Please contact Daniel Schuman, policy director, Demand Progress, at and 202–577–6100 or Nathan Leamer, outreach manager, R Street Institute, at 202–525–5717 and

Sincerely yours,

American Library Association
American-Arab Anti-Discrimination Committee
Association of Research Libraries
Bill of Rights Defense Committee/Defending Dissent
Brennan Center
Campaign for Liberty
Center for Democracy and Technology
Constitution Project
CREDO Mobile
Demand Progress
Electronic Frontier Foundation
Electronic Privacy Information Center (EPIC)
Federation of American Scientists Project on Government Secrecy
Fight for the Future
Free Press Action Fund
Government Accountability Project
Liberty Coalition
National Security Archive
National Security Counselors
Open The Government
Participatory Politics Foundation
Principled Action in Government
Progressive Change Campaign Committee
Project on Government Oversight
Public Citizen
R Street Institute
Restore the Fourth
Rhode Island Coalition to Defend Human and Civil Rights
Sunlight Foundation
World Privacy Forum

Strengthening Congressional Oversight of the Intelligence Community was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at September 13, 2016 03:04 PM

September 11, 2016


Come join this possibly infinite workout challenge

I read the most brilliant workout challenge this week on Style By Emily Henderson and I'm stealing it wholesale. Read the details below, and let me know if you want to join - the pot is already up to over $1,000 bucks. FREE MONEY! You just have to work out literally for the rest of your life, a lot!

Deets: Everybody puts $100 (or however much) in a pot, with the deal being you have to work out every week, four times a week for 45 minutes (at one go - like a 30 minute run and 15 minutes of weights is fine, but you can't do 20 minutes of weights in the AM and a 20 minute run at night). You get one 'pass' week, and you can also miss a week if you're sick. But if you don't accomplish those 4 workouts one week, you're out of the challenge (though you could buy back in for another $100 if you really want to). The last person standing (aka, the last person who has continued through all the weeks to do the 4x a week 45 minute workouts) gets all the money in the pot. Long walks do not count as exercises. 

Yes, this could go on forever, because I have several insanely motivated and much fitter friends than I that work out at least four times a week regularly, but I bet I can get myself to a solid at least 3 weeks of regular workouts with this competition, and that's worth about $100 to me. Let me know if you want in and I will add you to the Facebook group. We start Sunday, September 18th. I will be the one holding onto your money. Mwahahaha. 

Other fitness things of note:

I'm on fitbit, which I find comfortingly appealing. It has made me even more competitive and smug about my workouts, which I did not think possible. Follow me here

I've found the annoying boutique DC gym workout of my choice, the terribly named Sweatbox DC. I like it because the instructor is, due to a screen that changes color depending on your effort level, able to see exactly how hard you are actually working. At something like Soulcycle (which I never found that good of a workout) I was always like, sure I am turning the effort knob up... looks around furtively, turns effort knob down. But here I know the instructor will yell at me if the screen is not the right color, so I'm going all out. Besides the bike, it also incorporates body weight and TRX stuff, so you get lots of other muscles going on. It is approximately one billionty dollars per class, but they have a $99 deal for 5 classes for September going on, so check it out and let me know if you go.

by catherine at September 11, 2016 09:43 PM

September 05, 2016


Vlogging, Internationally

When people learned that Kriston and I would be hanging out in England at the same time for our dear friend Susan's wedding, the onslaught of people asking us to vlog from England was TOTALLY... nonexistent. Except the voices in my head. They really wanted us to do it. And because I'm a nothing but a glutton for online humiliation, I did sneak in an insulting attempt at a British accent or two. A conversation this weekend reminded me that not everybody has seen these videos since we vlogged using Facebook Live, so here you go!

Because Facebook Live is an utter mystery to me, it's letting me embed the above video (which Kriston posted, not me) but is not letting me embed the second vlog/video I posted on MY Facebook so whatever. Here's a link. Teaser is it includes the story of a man who told me to never again do a British accent in public, or anywhere.

by catherine at September 05, 2016 11:24 PM



Within the past week, I’ve been in four cities and eaten a lot of very bad and very good food as is inherent with travelling. However, one of the items on my must-go list was a burger and drink from bar restaurant Drink in Boston.

Drink is one of those places that you never knew existed, but once you have been there once it changes your entire perspective on what food and drink should be. Famous for its bartenders who understand the drink you desire before you have told them, the experience is impossible without one of Drink’s menu items – the burger.

While the Proper Burger from Duke’s Grocery in the Dupont Circle neighborhood of DC maintains its prestige as my favorite burger, this burger from Drink takes a very strong second. It plays on everything classic about a burger – tomato, lettuce, pickles, cheese, meat – and doesn’t pretend that it’s not the epitome of bar food. However, while understated in appearance, this burger is everything in taste. Its meatiness alongside a perfectly balanced sweet pickle and a buttered bun get this dish very close to perfection.

Of course, the beverages at Drink cannot be ignored. You can, of course, order off of their wine/beer list, and get a delicious beverage. But what you should do at Drink is decide what kind of drink you’re in the mood for and explain it to your bartender. There are no limits or requirements for what you can ask for – they will figure out what your heart desires and bring you the perfect start to your night. For instance, on Thursday I asked for something like a French 75 with maybe some citrus or herbal notes. I not only got that – but my drink also included my favorite apertif, Aperol. Good job indeed. And, after I finished that drink a little tipsy, I asked for something a bit lighter with a lower ABV and was given a classic, light Tom Collins to wash down some incredibly rich fries. Seriously, I don’t understand how they do it.

So, if you’re ever in Boston – regardless of your plans – hit up Drink in Fort Point. It is signless, but will entice you through basement windows along the sidewalk and show off its unnecessary yet hip line.


September 05, 2016 03:01 AM



In the spirit of blogging about some of the code i’ve written in the past year or two, I wrote a small utility library called go-haversine, which uses the Haversine Forumla to compute the distance between two points.

This is super helpful when working with GPS data - but remember, this assumes everything’s squarely on the face of the planet.

September 05, 2016 02:52 AM

August 30, 2016


August 29, 2016


Kudos to House of Reps. for Releasing its Spending Info as Data

Today the House of Representatives published its spending information as structured data (a CSV) in addition to printing three volumes of tables. This is the second time it has done so. (I wrote about it the last time it happened and why it is important for accountability.)

Okay, Senate, it’s your turn. Publish your semi-annual spending statement as data.

by Daniel Schuman at August 29, 2016 08:57 PM


Friend walks into my apartment and over to the kitchen counter. Picks up the wooden bowl full of...

Friend walks into my apartment and over to the kitchen counter. Picks up the wooden bowl full of silver sequins. 

“OK, you’re going to have to explain this.” 

“I made art!”

“Oh! What’d you make?!”

“…a bowl full of sequins.”

August 29, 2016 04:59 PM


D3: a travelogue

I broke my promise from last time and included a visualization.

by Ben Klemens at August 29, 2016 12:00 AM

August 28, 2016


St. Louis, Fried

I’m writing this post from a coffee shop in St. Louis, Missouri. As part of my first trip to the true mid-west, I decided I would eat sterotypically midwestern (read fried) this trip. St. Louis has definitely not disappointed.

On my first day in St. Louis, I went for barbecue with one of my sorority sisters at Pappy’s Smokehouse. Not feeling my best, I opted to select a few sides from their menu and ordered apple sauce, sweet potato fries, and what would be the achievement of the day – fried corn on the cob. I figured when ordering this that it would be good, beacuse fried corn, but I had no idea how it would turn out. Apparently when you fry a corn on the cob, seemingly in a buttered pan, you get the most fantastic tender, crispy, and complexly flavored corn on the cob imaginable. The only downside to this dish was the hot oil that splattered after each bite.


After a long night on my second day I went out with a group for brunch at a non-assuming place in the suburbs called “The Shack”. From the street, this place looked like a wannabe shack with grey shingled siding and green shutters. However, on the inside, everything was spot-on authentic. The first thing that catches your eye when walking up to the door are the walls covered in Sharpie marker, with notes of visitors past. This motif continues throughout the restaurant on the ceilings, bar, walls, seats, and tables. Everything has a message from someone written in vibrant Sharpie. With a craving for chicken and waffles, I ordered the closest thing on the menu – chicken in a waffle. The vibrancy and playfulness of the space extended to the dish – a piece of unbelievably juicy chicken breast fried in waffle batter and served alongside two eggs, hash browns, syrup, and sriracha. Needless to say, I didn’t finish the dish and if I had a kitchen at my hotel I would have brought this with me for my next meal. I’m sincerely hoping a restaurant nearby me in DC picks up this chicken/waffle trick and I start seeing it on menus nearby because it’s now that way that I want all of my chicken and waffles to be.


On my final day in St. Louis, I took a solo trip out to The Hill, St. Louis’ Italian neighborhood. Unlike the bustling Italian neighborhoods of the East Coast I found The Hill to be incredibly sleepy for midday on a Sunday. However, that didn’t matter as I was going to The Hill for one mission and one mission alone – to obtain fried ravioli. I went to what is likely one of the more famous joints – Mama’s on the Hill. Fun fact: Mama’s also appeared on Restaurant Impossible after it was taken over by new ownership in the mid-2000s. While the fried ravioli were exactly what I needed (fried pasta, meat, cheese, and tomatoes), they didn’t live up to my expectations. I had hopes for these ravioli to contain more cheese on the inside, equal to the meat mixture. Since this is mostly personal preference, I do standby that the ravioli’s meat mixture was supreme to most that I’ve had. The meat was very smooth and tender – almost alluding to the consistency of a melted cheese.

As I’m still in St. Louis as I write this, wrapping up my weekend with some gooey butter cake, I’m going to try to direct my diet to the less fried as I head to Chicago tonight. I don’t think my arteries can take St. Louis for much longer.

August 28, 2016 08:03 PM


The End of Daylight Savings is Coming: Prepare Thyself

On Sunday, November 16, 2016, the worst day of the year with the worst of the truths will arrive: winter is coming. Daylight savings will be over. 
Each year as I age (and boy am I aging), the end of daylight savings and the darkness of November through March gets harder and harder, because it precipitates a very strong Seasonal Affective Disorder in me (appropriately acronymed SAD). If you don't know what SAD is, it's basically the winter blues, brought on by a lack of sunlight (that's a scientific definition, right?). Everybody gets the blues once in a while, but when you're getting them for four or five months straight, and you haven't seen sunlight since what feels like the Jurassic Era, things start to go a little pear-shaped.
Wonder if you have SAD? My systems include pretty basic depression type symptoms: feeling blah, sleeping too much, anxiety, lack of an ability to focus, generally feeling hopeless. You can have them mildly, you can have them very strong, you can have them in between, you can have these symptoms sometimes and not others, etc etc. It varies for each person. 
I know that in late August it may seem a bit, how do you say, excessive to already be worrying about SAD, but I've learned in life you've got to be like a Boy Scout: overly prepared and wearing a lot of khaki. So with that in mind, there are a few steps I've learned to take that make the endless slog of winter months feel a little better and more productive, though. I've written about them before, and I'm going to share them again here (with some updated tips I've found useful). 
A couple of things: These tips are probably good to do yearround, because they mostly include "healthy living" type things (GROSS). Also, as with every post, I am not a doctor, and probably nobody should listen to me about anything, ever. That said, definitely listen to these tips and heal your SAD-addled brain. If you want me from November to March, I'll be hiding out in the Caribbean or under my desk, no in betweens.
Tip #1: Watch your diet
This is the most boring, annoying part of all the tips. (Hang with me, though, because later I'm going to recommend a trip to the Caribbean.) What I eat generally affects my mood all the year long, and especially so in winter. What helps? Cutting out refined grains and refined sugar, cutting down on alcohol, and cutting down on coffee. God, this is so boring and awful I'm already falling asleep, but seriously, those things help. A model winter diet? Tea (I'm partial to Trader Joe's ginger-tumeric tea); a big helping of this green smoothie (yes, it looks like sadness in a jar, but getting all those greens in one serving helps, though all the stuff she says about breaking down things to a particular consistency seems like bullshit); scrambled eggs and avocado; salads and fish and veggies for lunch and dinner; nuts and fruits for snacks and sweetness. Basically, a paleo diet (ugh, sorry). Cutting down on the alcohol REALLY helps, because one (aka, me) forgets that alcohol is a depressant and while a margarita in the summer sun is all fun and giggles, a half of bottle of wine on your couch under a blanket while watching the 2000 Sex and the City movie is just sadness distilled.
Tip #2: Meditate, and while you're doing it, meditate in front of a sun lamp
I've long espoused the mind-calming benefits of meditation, but in the winter I'm going to try doing it a bit differently, to kill two birds with one stone: I'm going to try to meditate each morning for 15-20 minutes in front of a sun lamp. Meditation makes my mood happier, and a sun lamp definitely helps me with the SAD, so I'm going to be like that insane hyper efficient family in Cheaper By the Dozen and do both at once. (Secondary tip: meditation is nothing more than closing your eyes and counting your breaths for 10-15 minutes, you don't have to complicate it more than that. And you can get a cheap sun lamp on Amazon - I have this one.) 
Tip #3: Exercise
And you can't just half ass it on an elliptical for 30 minutes either. I've found that when I doing exhausting heart-rate-raising exercise for 20-30 minutes a few times a week, it seriously improves my mood, whether it's in the winter or not. If you don't belong to a gym where you can do a boot camp or the stair mill (my personal favorite exercise machine of all), these high-intensity videos are good to do at home. The Nike Fit app is also really good, as is the Sworkit app.  
Tip #4: Go somewhere warm, preferably in early or mid-February
I've done a lot of scientific research on this, and I've found that late January to mid-February is the time I'm most likely to go totally cray from SAD. So if I can, I try to plan a vacation to warmer climes around that time. Anywhere in the Caribbean will do (I've had great times in Tulum, the Dominican Republic, and St. John); I've also had a really good vacation (and it's a super quick flight/drive) to the Florida Keys. 
If you can't make or afford a trip, just make sure on the sunny days that do happen you're walking outside a lot. Or try a trip to Spa World in Centerville (a big old Korean spa outside the DC area). It's warm and infrared saunas are the best and you'll feel like you're treating yourself a little bit.
Tip #5: Sleep better
Easier said than done, I know. Meditation helps so much with my sleep. As well as turning away from screens an hour before I need to go to sleep, and not bringing my iPhone into bed (I really can't break this habit; it's so hard). But if you can install the Flux app on your computer, and set your iPhone to go into night mode, those things will at least harsh the blue glare from the screens and ideally help making go to bed a little bit easier. I also just got a Fitbit and you can set it to buzz like 30 minutes before you want to go to bed so you're aware it's time to step away from the screens, start winding down, and doing bedtime stuff.
Tip #6: It'll end, one day....sob 
I wrote this tip last time I wrote about SAD, and it still holds true for me: Know you're not crazy. Sometimes I forget how bad I get SAD and I think I will be an awful, anxious, sluggish mess forever. And I think that I AM that person - muddled by lack of sunlight and reluctant to do anything or make good decisions. But then I do some of the stuff above, or get back from a trip to Mexico, and I feel like I've been reset. I remember how I normally am. Only one billionty days to go until spring!

by catherine at August 28, 2016 11:01 AM


Dataviz packages: a travelogue

So named because I really do feel like a tourist in these parts, and because this post is about the general structures I happened to observe, not specific how-tos.

by Ben Klemens at August 28, 2016 12:00 AM

August 22, 2016


Duck Donuts

In DC, great donuts are relatively hard to come by. There are plenty of Dunkin’ Donuts and an iconic Krispy Kreme location in Dupont Circle – but Astro Chicken and Fried Donuts is the only, in my opinion, great offering of fried breakfast doughs. I went to Astro earlier this year, and was pleased with their offerings. Delicious donuts. However, I was not blown away.

I’ve been hearing similarly great things about Duck Donuts and for the past year or so have been driving by its location in Rockville stating “Ooh! There’s that Duck Donuts place – I hear it’s really good!” I never went in.

So, this week I was heading into work and having a subpar morning, I had a craving for a comforting, warm donut. I routed to the Duck Donuts location in Arlington and found myself in a strip mall, in line with more families than I imagined would be a donut shop at 9:15 in the morning.

To my surprise, the shop consisted of a quite large menu, instructing me to choose my coating, topping, and/or drizzle for a donut that would be made hot just for me. In all of the times that I had heard how good this place was, no one had mentioned to me that these donuts weren’t just made hot, but totally made to order (toppings and all!)

As this was my first visit to Duck Donuts, I decided to choose two: something simple and something nostalgic. I chose a cinnamon sugar and a vanilla icing with rainbow jimmies – taste of childhood. I then stood in line for a very long time watching two donutiers fancy up dozens of donuts behind a sneeze guard.

When it was time to retrieve my donuts, they can in a perfectly sized for two box with little vents on the top to help with the incredible steam coming off these hot-off-the-oven donuts.

I proceeded to eat my donuts alone in the car (remember, I was having a bad morning?) and boy did they brighten my day. They were almost too hot to eat, melting in my hands and mouth like no donut has ever before. I’m jumping on the bandwagon that these donuts are the best in the DC metro area.


August 22, 2016 02:29 AM


go-wmata - golang bindings to the DC metro system

A few weeks ago, I hacked up go-wmata, some golang bindings to the WMATA API. This is super handy if you are in the DC area, and want to interface to the WMATA data.

As a proof of concept, I wrote a yo bot called @WMATA, where it returns the closest station if you Yo it your location. For hilarity, feel free to Yo it from outside DC.

For added fun, and puns, I wrote a dbus proxy for the API as weel, at wmata-dbus, so you can query the next train over dbus. One thought was to make a GNOME Shell extension to tell me when the next train is. I’d love help with this (or pointers on how to learn how to do this right).

August 22, 2016 02:16 AM

August 19, 2016


Will Sen. McConnell Finally Close the Presidential Library Golden Parachute for Ex-Presidents (and…

Will Sen. McConnell Finally Close the Presidential Library Golden Parachute for Ex-Presidents (and a Future One)?

Yesterday the Clinton Foundation announced it no longer would accept donations from corporate or foreign entities should Hillary Clinton be elected president, responding to criticism for “potentially allowing donors to seek special access through [Clinton’s] government post.” Unremarked upon is the danger of having a foundation linked to a president accepting any donations during his or her term of office, a circumstance that led to major scandals in the last three administrations.

Over the last 70 years, every outgoing president raised money for a presidential library. George W. Bush hauled in a Texas-sized $500 million, and Barack Obama expects to reach a cool billion in his already-underway efforts, though the president himself promised he personally will not fund-raise in office. With the existing Clinton Foundation, potential president Hillary Clinton may have a head start. The libraries aren’t just a repository for presidential papers; they are an attempt at telling the story of a presidency from the president’s perspective.

Departing presidents may raise unlimited funds while still in office from anyone, anywhere — from the Smiths to the Saudis — and don’t have to disclose a penny.

As you might imagine, these cozy going-away gifts — and the scandals that follow — irk members of Congress. In 2001, Bill Clinton was accused of trading a pardon of fugitive financier Marc Rich, who illegally traded with Iran during the oil embargo and was a gold medal tax evader, for a $450,000 library donation from Rich’s ex-wife. In 2008, a businessman close to George W. Bush was caught on video trading access to administration staff for a $250,000 library donation. Even George H. W. Bush ran into trouble in 1993. In an effort to avoid controversy, President Obama is voluntarily disclosing some of the donations, but it’s not enough.

The Presidential Library Donation Reform Act, a bipartisan bill that would move these fundraising efforts out of the shadows, requires quarterly disclosure of the sources of donations over $200 while the president is in office, up until the library is finished. The bill has made it past all hurdles in the House and but one in the Senate, a vote on the floor — the domain of Senate Majority Leader Mitch McConnell. He’s sat on the legislation for over a year.

Just about everyone — except perhaps those in the market for a presidential pardon or favor — agree that more transparency in presidential library funding is a good idea. Barack Obama, during a primary debate against Hillary Clinton in 2007, endorsed the bill.

Even Secretary Clinton, as Senator, endorsed a similar albeit less rigorous bill, although she balked at voluntary disclosure during her debates with Obama.

When the Senate resumes in September, Sen. McConnell can address the apparent corruption problems with presidential library fundraising by scheduling a vote on the Senate floor. Let’s see whether he can show that his Senate is one that can get commonsense things done.

Will Sen. McConnell Finally Close the Presidential Library Golden Parachute for Ex-Presidents (and… was originally published in Demand Progress on Medium, where people are continuing the conversation by highlighting and responding to this story.

by Daniel Schuman at August 19, 2016 12:46 PM

August 15, 2016


"“You’re the first person ever to win two Olympic tennis gold medals. That’s an..."

“You’re the first person ever to win two Olympic tennis gold medals. That’s an extraordinary feat, isn’t it?” Inverdale asked.

“Umm,” Murray said. “Well.”

He was indeed the first modern tennis player to successfully defend the singles title at the Olympics, he noted.

But “I think Venus and Serena [Williams] have won about four [gold medals] each,” the Scotsman said with a small smile.

His memory was right: Each of the Williams sisters has one gold medal from the singles event, and three gold medals from doubles.


August 15, 2016 07:06 PM


To encourage production of new terrain, a tax subsidy for maps


This is a post about a paper I just put out to Elsevier’s SSRN, because I believe every academic paper should have a blog post explaining why it is useful.

The paper is about the intellectual property (IP) box. The proposal is to provide a lower tax rate to profits associated with a patent or other IP. IP boxes currently exist in a few countries, and a few bills have been introduced in the U.S. Congress to set up an IP box.

The bills proposing IP boxes—which they refer to as innovation boxes—could possibly be traced to a measurement problem. Innovation is hard to define, let alone measure, so many academics will use patent rates as a proxy, in a classic case of looking under the lamppost and replacing a complex concept with something that can be counted and looked up in a database. This seems to have become ingrained, and arguments about patent boxes seem to depend upon the assumption that patents==innovation. This column traces where that substitution leads us.

The math in the paper is a mixed-strategy Nash equilibrium of a two-player game, which produced actually policy-relevant results. I don’t see solutions of equilibria in continuous strategies all that often, so even if you think the IP box politics is uninteresting you may get something out of the paper by skipping straight to the game and its solution in the appendix.

Every IP box has a different definition of what is qualifying IP: some include movies, some include only patents, and so on. For simplicity I’m going to assume just patents here; see the paper for the details.

Claim: innovations are patented

Let us define research as inquiry that leads to knowledge in the public domain, and development as inquiry that leads to private property like a patent. Laws of nature are not patentable, so anything we have learned about mathematics, chemistry, biology, is research, not development. Even within the realm of inventing gadgetry, there are wide ranges of things, like software as such or “obvious to try” developments, that can not be patented.

Claim: Each patent is an innovation.

A lot of patents—I’d say most—provide an incremental step forward on something rather uninteresting. They are definite steps forward, but not necessarily what we picture as innovation.

There are some parties that benefit greatly from maintaining a general belief that there are distinct innovation industries that work differently from others. Maybe you’ve noticed that the software industry has lately taken to calling itself the “tech industry”. Especially given how broad some IP boxes are (including know-how or designs), chair makers and restaurants could claim IP box credits.

Claim: The spillover benefits to important inventions, like transistors or CT scans, are immense. If these had not existed, society would be much worse off.

This is true, but to make this statement useful for policy it is important to know the counterfactual of what would have happened if our favorite major inventions were not invented by their inventors. Pop history likes to characterize the people who invented fundamental technologies as Great Men without whom the invention would never have existed. But the academics who study these inventions, anecdotally or using data from various sources, find that simultaneous invention is the norm, and if the Great Men who got there first didn’t do so, humankind would be deprived of the invention by a few months or years, not forever.

This makes it hard to measure the spillover benefit from a single patent. If a grain provider has a higher-quality product than its competitors, it can charge a penny a pound more, and there’s our measure of the added benefit. If an inventor gets a patent first, then the second to invent (or second to file, let’s not get in to it now) is locked out entirely. With grain, the counterfactual of what life would be like if the better grain maker didn’t exist is easy—check the next one. With an invention, the counterfactual is an exercise in creative alt history. But only if we believe the Great Man theory—and I can’t find a non-pop writer who does—will the benefits provided beyond the counterfactual be the full benefits of a new invention.

Claim: Subsidizing development has immense gains because inventions have immense gains.

If we don’t know what would happen if an inventor were somehow halted, we also don’t know what would happen if an inventor were subsidized. Maybe we’d get something that would otherwise be impossible; maybe we’d get something two weeks earlier.

Note that we’re still talking only about subsidizing development. Research has a commons problem, meaning that if we don’t subsidize many threads of research, they are economically infeasible and may indeed never get done.

Claim: When patents leave the country, the country is less innovative.

A patent has an inventor and an assignee. If we believe that having smart people who come up with interesting ideas geographically close is beneficial to the economy (and I do), then we want to have nearby inventors of patents, of artwork, of all kinds. The assignee, meanwhile, signs the contracts and takes in the royalties.

Having the assignee geographically close has little or nothing to do with invention. It may be a holding corporation with zero employees. It may be registered in the island nation of Sargasso, but have all its cash in an account at Bank of America, where the funds are used to support loans to U.S. startups.

WTO trade treaties prohibit making restrictions on where a patent can be assigned. The inventor may be unable to leave or enter a country, but the ownership assignment must be able to.

Claim: Patents leaving the country is costing billions in lost tax revenue.

This is true, but shouldn’t be. Say that WidgetCo holds a widget-making patent, and sells it to HoldingCo for $10 million. WidgetCo wants to keep making widgets, so they pay HoldingCo royalties of $1 million every year for the next eleven years, at which point the patent in our example expires. So WidgetCo has effectively shifted its risk to HoldingCo, and turned a long stream of future income into a big chunk of present cash. HoldingCo absorbed the risk, so it should make some profit off the transaction, but if it made too much then WidgetCo should have done all this with somebody else who would offer a better rate. In short, a patent reassignment paired with a licensing deal should be largely revenue neutral, and therefore also largely tax neutral. This would especially be the case with a patent portfolio, where the risk of dozens of patents are pooled.

This is not what we’re seeing in real life among U.S. companies and their subsidiaries overseas. When these companies assign a patent to their own sub, they consistently take a payment that is absurdly low relative to the future royalty stream: sell the right to a holding company in Sargasso for a million, creating an obligation to ship 100 million a year in royalty payments overseas. The million coming in to the U.S. is taxed; the 100 million a year going out is not. Incorrect transfer pricing is what makes IP shifting a tax avoidance scheme.

Claim: If we just lower tax rates to below Ireland’s, we can get those patents back.

A lowered rate is one step in a sort of auction for the assignation of the patents. As a baseline, consider a situation where two countries are bidding for the right to tax some mobile capital. They each have their own fixed capital in the country, and declare some tax rate at which both mobile and fixed capital will be taxed. The mobile capital will then flee to the lower-tax country.

If this were played as an alternating, turn-based game, the bids would never settle down. Bids would get lower and lower until one bidder realizes that it is better to just tax the fixed capital to the max than go so low chasing after the mobile. But then the other bidder won’t bid so low, and raises to just underbid the max-taxing bidder, and so on.

This is where mixed strategy equilibria come in, giving us a stable distribution to describe the outcomes. The claim that countries would randomly draw tax rates is a clear fiction, but it’s at least not incoherent, acknowledges that the U.S. setting its rate is not the last step, and produces predictions that are in line with reality.

First, in the unique mixed strategy Nash equilibrium, the country with larger capital, let’s call it the USA, will let the mobile capital go to the smaller country (the fictional tax haven of Sargasso) with a likelihood increasing in the disparity between capital rates. In the sequential game, Sargasso loses less in taxes from fixed capital when it bids lower, so it can always underbid the USA, and this fact from the equilibrium reflects that part of the storyline.

However, Sargasso doesn’t have to bid so low if the USA isn’t willing to bid low because of a loss of taxes associated with fixed capital. So the expected tax rate that the mobile capital sees is an increasing function of the amount of fixed capital held by the USA.

As a corollary, the expected tax revenue the USA sees from just the mobile capital is an increasing function of the amount of fixed capital it is taxing at the same rate. It wins the right to tax the mobile capital less often as it is less willing to bid low, but the rise in expected rates is enough to offset that.

Claim: The USA could better compete in the race to the bottom if there were a separate tax rate for IP.

How would we modify the model to describe an IP box? As it is, there is some fixed capital that is taxed at the same rate as the mobile capital, but the point of the IP box is to eliminate that linkage. If our interest is the tax rate on the mobile capital, the fixed capital associated with that rate is near zero.

We can then read the results off the model, and they’re not good for the taxing entities. The expected tax rate on the fixed capital goes to zero, and the expected revenue to the USA goes to zero.

Claim: Ireland and Luxembourg already have IP boxes, and the sky didn’t fall.

This is true, but is uninformative when considering a U.S. IP box. The model results are all asymmetric, primarily keyed to the fixed capital of the larger country. Why should Sargasso lower rates to zero if the USA can’t lower its rates below some high threshold without losing domestic revenue?

This is especially salient because, due to recent history, a lot of the high-tech happenings just aren’t in the countries that have IP boxes (it’s debatable whether China has an IP box, by the way), so the competition is still focused between countries with a higher high-tech stock like the USA and smaller countries trying to gain a foothold.

Claim: A lowered tax rate on IP-related profits would lead to increased research and development

First, remember that the lower rate on patent-related work isn’t about research at all. We’re not using tax revenue to fund the NIH or NSF, we’re lowering tax revenue to encourage patenting.

As for development, we already have some incentives that are proportional to the level of research and experimentation. The IP box incentive is proportional to the level of profits associated with R&E. The extra steps of finding associated profits give wide latitude to game the system. If you associate profits with R&E (taxed at 10%) but associate expenses with ordinary profits (taxed at 35%), you can score a negative tax rate from adding a profitable business line. If you contract out your lab to a bigger firm with a larger scale of profits (something that can be done entirely on paper), the bigger firm gets more IP box benefit, and then you can split the savings. The third part of the paper brainstorms all the ways you can game an IP box without doing additional bona fide research or development. It was fun to write.

Claim: An IP box leads to an overall lower corporate tax rate.

This claim is true. But the right way to lower corporate tax rates is to lower corporate tax rates, rather than producing something that can be gamed like crazy, would only win patent assignments back from Ireland if Ireland somehow was unable to respond, and is likely to distort behavior in many ways unrelated to expanding human knowledge.

by BK at August 15, 2016 11:34 AM


Ye Olde Blogging and Why It Disappeared: Part IV

As I wrote earlier, now it's 2016, and "nobody blogs anymore." I was interested in exploring why this happened, and why it's so hard to get this world of personal blogs back on the internet. So I (via email) asked four friends who made up the core of my blogging group in the mid-2000s to share their thoughts with me on the topic: What happened to personal blogging as we knew it, and why did it happen?

Tom's thoughts are here, and Matt Yglesias's are here, and Susan's are here. Last but not least, Kriston.


I'll bet what all of us miss is the smallness of the blogosphere. It was once possible to read everything in your blogroll. (Or, in the late days of the High Blogosphere, your RSS reader.) Mine was always aspirational: I'd read all of y'all's stuff, plus, you know, The Poor Man, Eschaton, Calpundit, Tapped, Pandagon, then maybe half of a really long Crooked Timber post on Hegel or something, see what Volokh had to say, sneer at something on Tacitus. I tried to read everything I could with what time I wasn't fisking something really, really important.
But the crucial thing was that it was possible to read or at least know about everything happening. And that made it exciting! I'm not the first person to observe that the early blogosphere was a bit like post-college college; I learned things about political science and economics that I never bothered to study in college, at least enough to seek out more information about specific topics. It was also like post-college college in that it felt socially like a closed loop, like a dorm. The blogroll was never as much a library device as it was a banner, a House Shield.
I would say that social media has suffered in the same way that blogging did. It eventually grows so large and non-local that it becomes difficult to keep up with it. I think Facebook was probably fun at one point (wasn't it? Surely it had to've been) and I definitely remember Friendster and MySpace being fun and important things at the start. But all these and even Twitter went the way of the media: they became global, not local, with rules and expectations set by everyone, not just us.  
Now that it's no longer small I would find it hard to write something jut for fun. It's partly because I'm old and don't have any kind of fun that really needs to be shared all that badly, and partly because I enjoy writing about fun topics like exclusionary zoning or installation art. Maybe some part of me occasionally thinks about sharing feelings about family or sadness or dreams, and like a responsible adult I suppress those instincts! So I don't know what for myself a return to blogging would look like, other than of course the excellent blogging we are serving up at I think there isn't any other return to blogging because the borderlessness that made it great personally and the boundaries that made it right socially are gone.
What I don't get anymore is where the blogging instinct went, or what people are channeling that feeling into now. I don't buy that Vine represents exactly the same energy although I will buy that it's immensely creative (based on the Vine that I have seen). Mittens will know better than me what young writers are doing with their time, but it isn't starting blogs just hoping to get noticed. 
We did so much sharing through text. Is that over? Millennials don't want to do that anymore? I guess we have little choice to conclude that ours is the greatest generation and it was blogging that made us strong.

by catherine at August 15, 2016 02:11 AM


Fried Chicken Dan Dan Mien

In DC’s H Street neighborhood sits one of the best ramen I’ve ever had. Above The Pug, a wonderfully dingy bar that cheers for Boston sports clubs, is Toki Underground, a tiny ramen bar with a solid menu. Unlike Daikaya in Chinatown, Toki is dark (even at 6pm) and pumps out hip hop music loudly from its speakers. The walls are plastered with stickers and wooden boards encouraging defacement as evidenced by the nearby Sharpies settle you in something slighly different. However, like Daikaya, the wait for a seat is often daunting – arrive early or be prepared to wait at The Pug downstairs (cash only) or a nearby bar down H Street.

When my father visited this weekend I decided to take him to this favorite DC spot for a food he often doesn’t get to eat. While sweating bullets due to a lack of hearty air conditioning and enticed by curry flavors, he went for the Taipei Curry Chicken Ramen. Meanwhile, I was tempted by the adjacnet words “fried chicken” and “dan dan” on the menu.

This dish gave me everything to be loved about the traditional dan dan noodle, lots of sesame and a big bowl of noodles. However, that was about it. Toki’s flavors are often surprising, but simultaneously comforting. On top of the traditional noodles was a pile of cripsy fried chicken pieces, slides of cornichons (say what!?), and cilantro. Underneath, a smear of sesame paste, sesame seeds, and chili paste. The best part? The soft poached egg hiding at the bottom of the bowl.

While I was incredibly pleased with my meal, this wasn’t the best I’ve had at Toki. I recommend staying with the ramen…but if the restaurant is a bit too hot, these nooldes are a great backup option.


August 15, 2016 12:54 AM


Minica - lightweight TLS for everyone!

A while back, I found myself in need of some TLS certificates set up and issued for a testing environment.

I remembered there was some code for issuing TLS certs in Docker, so I yanked some of that code and made a sensable CLI API over it.

Thus was born minica!

Something as simple as minica tag@domain.tls domain.tld will issue two TLS certs (one with a Client EKU, and one server) issued from a single CA.

Next time you’re in need of a few TLS keys (without having to worry about stuff like revocation or anything), this might be the quickest way out!

August 15, 2016 12:40 AM

August 14, 2016


black hat and def con

A week ago I was in Las Vegas, surrounded by thousands of people attending Black Hat and DEF CON, the computer security industry’s two most important US gatherings. I had never been, and I loved it. I loved it.

What could be more hyperbolic than an army of hackers building a hive within Las Vegas, a place that is already a cartoonish, predatory and vacuum-sealed daydream? We have all watched decades of hacker movies and shitty quasi-martial CBS procedurals where geeks have piercings and weird hair and (when in front of a keyboard) superpowers. My expectations had been set by portrayals I knew to be bad. Surely the reality would be different, which is a euphemism adults use for “disappointing”.

But it wasn’t. It was a wonderland. Those production designers did a better job than I thought. And the superpowers are real, albeit demanding of much more time and tedious scrutiny of IDA Pro output than can comfortably fit in three acts and 46 minutes. But I’m getting ahead of myself.

I did not understand the difference between Black Hat and DEF CON before going. Black Hat is more professional, I had heard. DEF CON is cheaper. A lot of the same people go to both. All of this is true, but it’s a shallow explanation.

Black Hat is an expertly-produced conference for security professionals, a category that includes researchers, software vendors and surely more than a few cybercriminals. Its escalatingly expensive tiers of access allow participation in the frenzied vendor hall; attendance at the “briefings” where new and sometimes dangerous research is presented; and “classes” where specific attacks are taught–to use a not entirely hypothetical example, a fun class exercise might involve bringing Iran’s IP address block to its knees for an hour or two.

I was surrounded by khaki pants and polo shirts and a pervasive air of menace. My most vivid memory of the conference is among my first: walking into the keynote, an impossibly vast space even by Vegas’s improbable standards. Far above me the ventilation system exhaled a low, cavernous breath. The only light came from the projection screens that relayed the distant speaker’s image, bright like windows in a spaceship orbiting a blue-white star. By that light I could make out the silhouettes of the audience, thousands and thousands of them sitting in shadow, waiting to learn something new and frightening. You don’t take photos of other people at Black Hat, but in a room like that it would be hard, anyway: they’re not even lit by their own screens. Bringing a computer into such a hostile network environment is considered by most not to be worth the risk. I’ve never seen fewer computers in a conference audience than at this computer security conference. Everyone there learned long ago that if you are in the business of having prey you are also in the business of being still and unnoticed.

It freaked me out. Black Hat’s lightning talk track is called “Arsenal”; on Twitter, observers complained about talks that didn’t come with working code. This is not an academic conference.

DEF CON begins as Black Hat ends, and it is fundamentally a social gathering. The Black Hat attendees slip into a less stony kind of crypsis, cheerfully blending in with people whose skills and interests are similar to theirs but who possess vastly less discipline. Things become a lot more fun. $240 — cash only — at the considerably seedier Bally’s got me a skull-shaped electronic entry badge with ciphertext printed across it, connection pins that would whisper more secrets if hooked to the right hardware, and absolutely no instructions. If you solve the puzzles built into it and the lanyards and the conference signs and the schedule booklet and a hidden subdirectory on the welcome CD-ROM and who knows what else, you win free entry for life.

This was just one of many badges. I stood in line to get a kit that let me build a different badge, this one associated with an annual cyberpunk role-playing game. I soldered it together at the hardware hacking village’s free workstations; afterward I could use its infrared LEDs to trade handles with other players, then send them radio messages. There were badges that could connect to your car’s diagnostic network, badges for the LGBTQ and women-focused subcons, and badges made by groups of friends where you just had to know a guy to get one. They blinked LEDs, and paired with each other, and had secret accessories.

The badges are only a small part of the con, though. In a little over 48 hours I learned about beating airport wifi portals, lockpicking, dumping and decompiling router firmware, messing with tamper-evident seals and hacking Italian parking meters. The vendor hall was full of booths devoted to hawking t-shirts rather than to collecting CISO emails; I bought gadgets to let me spy on Bluetooth network traffic and a USB thumbdrive that injects exploit code at a thousand characters per second. Around midnight on Friday I found myself in safety glasses, a nylon net cage, a 26th floor suite, and a state of considerable intoxication, all at once, as I prepared to pilot a drone against three other people vying to be the first to pop a balloon at the cage’s center. Across the hall you could get an RFID chip implanted in your hand for $60.

I was jealous of the kids whose parents had brought them. They were finding this place so early. There is a certain type of person with certain types of interests and this is where they occasionally gather, like migratory animals, for those rare experiences unmediated by LCD screens.

My ebullience at finding so many people of the same type as myself powered me through most of the weekend. But at some point I had to start asking myself what type of person that was, exactly.

On Saturday my badge was malfunctioning. It wouldn’t blink the way it was supposed to. I had no relevant tools to tinker with, and was eventually referred up to one group’s suite for help. There an exhausted man behind a mountain of soldering equipment and several empty Surge tallboys was explaining, to a semicircle of my fellow newbies, how he had designed and thought about the group’s badge. No, the group wouldn’t accept sponsorship, he said. They paid for it out of their own pockets. To get a badge you had to be cool, that was it. They never had as many to give away as they would like. He didn’t want to see them in the hands of certain people, people whose names I had never heard of but which he practically spat. No, this wasn’t his day job, he–he trailed off. “I don’t make a lot of money,” he said, breaking eye contact.

He was generous with me, and after attending to a long line of questions and requests for aid that had arrived ahead of me, he performed a simple diagnostic test and declared, reasonably, that the repairs I needed were beyond the tools he had present.

It was about five minutes into our interaction before I realized he was open-carrying a glock on his hip. That’s the kind that doesn’t have a safety. This made me pretty uncomfortable, but of course I didn’t say anything. I was his guest, in his and his friends’ suite. I thanked him earnestly and honestly and left to find someone else to help me with my badge.

That gun was jarring to me, but maybe it shouldn’t have been. What are all of these exploits, these network packet captures, these lockpicking sessions about, anyway, if not having power over others? All of us there wanted secret knowledge to make ourselves stronger. For some it’s because we can’t forget being weak before. For others it’s probably something uglier. But it’s hard for me to imagine any of it being born of an impulse that’s particularly noble.

At best, it can be enough to know when you have gained that strength, to limit its expression to sly winks and low-grade mischief shared with the similarly afflicted. That’s DEF CON. If you begin using that new strength for a living, or find yourself forced to face the people who do–Black Hat. Worse things, if you ask me.

Well, I might find its emotional foundation suspect, but DEF CON was a hell of a lot of fun, and I will be back. Eventually, I’d like to better understand why I want to go so badly. But my short-term goal is just to get faster with my new lockpicks.

by Tom at August 14, 2016 06:49 PM


Should lawyers learn to code?

For the past several years, I’ve been asked one question many times: “should lawyers learn to code?” Over those years, my view has been mostly consistent… “yes, lawyers should learn to code.” Probably unsurprising, given that I wrote Coding for Lawyers several years ago.

But, there’s always been a lingering bit of doubt. “Should all lawyers learn to code?” I would quietly ask myself. “Why?” I’d wonder. What specifically about coding did I think lawyers should learn?

Recently, the parlor game has been played out many times over amongst the #legaltech set, and folks are taking sides. So now, despite my previous reservations, here is my full-throated argument for why lawyers should learn to code.

At the outset, it’s probably the wrong question. As I suggested a few weeks ago: “Asking whether lawyers should learn to code is like asking whether lawyers should read fiction.”1 Reading fiction can help a lawyer improve her legal writing. It can help foster greater empathy and understanding of others’ motivations. Reading fiction can provide balance and joy to a lawyer’s life. No one would scoff and wonder aloud “why would a lawyer waste her time reading fiction instead of the latest article from the Yale Law Journal? Instead, lawyers should make nice with authors and literature critics who do this for a living.” Right? This is a patently absurd argument.

Except the argument reveals the deeper concern: that “learning to code” is actually a shibboleth for “lawyers should be coders.” For my part, I do not think that lawyers should be coders. Lawyers have many duties and obligations, and writing production code should not be one of them. Although there are some remarkable lawyer-coders out there, I have no utopian illusions of – or desire for – armies of lawyers submitting upstream pull requests on open-source law-related software. In that regard, even though I took a course in plasma physics in undergrad, I probably will never make any contributions to the field as a professional plasma physicist. For that matter, even though every lawyer has suffered through attempting to understand the Rule Against Perpetuities, very few of my friends in practice actually need it in daily practice.

In short, if “should lawyers learn to code” is the wrong question, “should lawyers be coders” is a false question. No one seriously asks it. But enough dodging the question.

Should lawyers learn to code? Part of my hesitation in answering the question is that “should” is normative, not objective. As someone who has written code and found it both pleasurable and professionally rewarding, encouraging others to learn to code seems like a no-brainer. But it also implies priorities.

If a lawyer had a choice between reading Python Documentation or representing her client, the answer is pretty clear: “No, coding comes second.” But if there’s a choice between learning about REST APIs and reading a Law Review article in a topic not directly relevant to your practice, how should you decide? For that matter, should lawyers learn French? Should lawyers learn to garden? Should lawyers learn to weld? This sort of analysis eventually reduces to arguments about how you can use coding skills to better serve clients.2 And that, in turn, circles back to whether lawyers should be coders.

This sort of analysis, for what it’s worth, is not limited to law. Some have made the case that everyone must learn to code and others have argued compellingly against it. In some sense, I imagine this debate as not much different from that which took place when deciding whether drivers’ education should be taught in schools (nota bene: that book is fascinating, definitely encourage you to click through).

As such, I will not appeal to the practical benefits of learning to code as something that will improve the practice of law. Instead, I propose that the best reason to learn to code is that it can improve the interaction of lawyers and the non-lawyers.

I have, over the years, watched many lawyers and non-lawyers talk past each other. Many lawyers assume that developers are either code monkeys who should just focus on implementing the latest lawyers’ vision for a better “app” or magicians who can solve any societal ill, usually through hand-wavy big-data “solutions.” Still other lawyers believe that code can never solve any problems because they perceive computers as being unable to solve complicated questions. This is all wrong in my estimation. But, I also understand why lawyers hold these views. Before I started my journey in learning to code, I held many of these same beliefs. Once I started to see things from the perspective of a developer, I gained better insight into how I might frame the questions and challenges.

Similarly, as much as it pains me to admit it, non-lawyers have wildly incorrect views of what practicing law is actually like. It seems so deceptively simple: if only we did “X”, then justice would achieved. Over time, folks who have actually worked in the trenches of legal technology observe that the answers are out there, they are just not easy.

The lack of clear communication is unhealthy for society. Lawyers, much to technologists’ chagrin, can make or break the advance of technology. Given that we are still in a period of relative infancy in grappling with the effect of digital technologies on law and society (let alone the practice of law), lawyers really ought to understand basic concepts like data encryption and even machine learning. On the other end of the spectrum, technology can help us tackle societal challenges; consider body cameras and the effect of DNA technology on criminal justice. Unfortunately, I suspect if you were to ask technologists whether they primarily view lawyers as partners in the march toward a more just society in the digital age, you’d hear a resolutely negative response.

Ultimately, lawyers and non-lawyers must learn to talk to each other. To collaborate with each other. To tackle society’s challenges together. And that requires empathy for each other’s domain expertise.

In that sense, I believe that it is relatively easier for the legal community to take the first step.3 All lawyers are part of the same profession, with a mostly unified approach to credentialing academia and professionals. By contrast, developers and technologists need no formal education and have no central professional organization representing the world of code. As such, in a purely tactical sense, it is easier for lawyers a to gain empathy for the fundamentals of code than it would be for the broader, dispersed community of non-lawyers to gain empathy for the fundamentals of law. In other words, we hold the power to create a more just society, and we should wield that power.

Whether lawyers will choose to learn to code is a different question, and one that will no doubt require substantially more discussion, and action. But if we value the idea that lawyers are supposed to be a force for good in the information age, then we need to stop debating whether lawyers should learn to code or not. We should. The sooner the better.


  1. Some have pointed out that the better analogy might be “should lawyers learn to write fiction.” The answer to that question is facially obvious: there’s not a person on the planet who thinks that a lawyer should not learn to write fiction. The question of whether a lawyer needs to be a professional writer of fiction, well, I’ll leave that to the late-night comics.

  2. For what it’s worth, understanding a little bit of code can make lawyers much better consumers of technology and to allow lawyers to ask the right questions. If nothing else, basic understanding of coding can provide a sanity check on some of the more fantastic claims that lawyers will no doubt encounter in the #legaltech space.

  3. It is necessary here to address the critique by Eddie Hartman, that lawyers equate “learning to code” with “working with coders.” I can only speak from personal experience, but I have found that learning to code actually did allow me to work better with coders. I don’t expect that understanding how to use a map function will magically enable lawyers to communicate with engineers. But it certainly could help lawyers better understand how an engineer approaches her work, and through that understanding gain greater empathy for the beautiful complexity of production code. And, for what it’s worth, coders don’t get a pass here either; building with is still very much a work in progress…

August 14, 2016 12:00 AM

August 10, 2016


Hey I finally pushed out a new edition of my newsletter! Though...

Hey I finally pushed out a new edition of my newsletter! Though this rise from the grave might have you thinkin’ it’s Easter, I promise you it’s summa summa summa time and I’m back with a few new tips and tricks.

August 10, 2016 08:13 PM


What Happens to VP Biden’s Senate Office Documents When He Leaves?

Here’s a random thought. Vice President Biden maintains an office in the United States Senate, where he serves as President of the Senate…

by Daniel Schuman at August 10, 2016 07:19 PM


This is a recently made movie, believe it or not! Not something...

This is a recently made movie, believe it or not! Not something made in the 70s! 

August 10, 2016 03:44 PM

August 08, 2016


Listening to Shani snip at Amina is my favorite thing. Also the long winded explanation of the Chris Paul State Farm commercial is really great. 

“I bet the bone apple tea guy is a second wave feminist.”

August 08, 2016 06:18 PM


Using PKCS#11 on GNU/Linux

PKCS#11 is a standard API to interface with HSMs, Smart Cards, or other types of random hardware backed crypto. On my travel laptop, I use a few Yubikeys in PKCS#11 mode using OpenSC to handle system login. libpam-pkcs11 is a pretty easy to use module that will let you log into your system locally using a PKCS#11 token locally.

One of the least documented things, though, was how to use an OpenSC PKCS#11 token in Chrome. First, close all web browsers you have open.

sudo apt-get install libnss3-tools

certutil -U -d sql:$HOME/.pki/nssdb
modutil -add "OpenSC" -libfile /usr/lib/x86_64-linux-gnu/ -dbdir sql:$HOME/.pki/nssdb
modutil -list "OpenSC" -dbdir sql:$HOME/.pki/nssdb 
modutil -enable "OpenSC" -dbdir sql:$HOME/.pki/nssdb

Now, we'll have the PKCS#11 module ready for nss to use, so let's double check that the tokens are registered:

certutil -U -d sql:$HOME/.pki/nssdb
certutil -L -h "OpenSC" -d sql:$HOME/.pki/nssdb

If this winds up causing issues, you can remove it using the following command:

modutil -delete "OpenSC" -dbdir sql:$HOME/.pki/nssdb

by Paul Tagliamonte at August 08, 2016 12:17 AM


Murphy bed projects

This is a post about my workflow, which seems to be different from the norm. It comes with a bonus script to facilitate life with git, and provides a contrast to the last post about revision control as narrative—this post is about revision control for just plain archiving.

by Ben Klemens at August 08, 2016 12:00 AM

August 07, 2016


Things I'm Loving this Summer

Been a while since I did a roundup of things that are bringing me joy, but it's summertime and the living is easy or whatever so here's some good stuff:

-Traveling like a madwoman. OK, I can't say I explicitly recommend a 7-week period in which you go to the beach, go camping, to to Minnesota for work, go to Boston to visit a friend and her adorable new baby, go to San Fran for a wedding, and then go to the UK for a wedding, but getting to spend time with rad people makes up for it. And I bought a fascinator for the upcoming UK wedding, so win. 

-These brown butter rice krispie treats. If you need to make friends fast at a party, these are your guys.

-I'm apparently really into the "short essays as memoirs by woman" genre of books lately, and I have two I can recommend wholeheartedly: Jessi Klein's "You'll Grow Out of It" and Nora Mcinerny's "It's Okay to Laugh." If you like this blog, you'll really like those books, because those women are actually talented writers with a voice I aspire to.

-This profile of the Khan family. Astounding. 

-The Sofia Coppola rose. It's on sale at Costco, which I went to for the first time in my life yesterday. How does anybody get out of there without buying literally everything? SURE I NEED 27 POUNDS OF FROZEN SALMON WHAT A DEAL.

-Fresh Rose Face Mask. It's pricey but you can get an affordable sample of it on Amazon to try out first. 

-This spicy pork tenderloin salad recipe.

-Bad Moms, the movie. We laughed the whole time and I'm in love with Kathryn Hahn.

-This extremely cheap chef's knife. I ain't fancy and it works fine for me.

-Chrissy Teigen's cookbook. It's actually good. It was the choice of our last cookbook club, and the standout was really this insane dip. Make it. 

-Y'all know I drank the koolaid for Reply All a long time ago, but this particular episode explaining a couple of truly weird internet memes/scandals (Harambe, and some weird beauty blogger that may have been kidnapped by ISIS?) is so funny. 

-Barrel Oak Winery out in Virginia. We stopped here after a camping trip in early July. Stunning views, woodfire grilled pizza, decent wine, lots of puppies and kiddies playing around, and just about an hour from DC? I hope to go back soon. 

by catherine at August 07, 2016 03:52 PM

August 06, 2016


Poke Bowl

I have a bit of an obsession with Union Market in Northeast DC. If you have never been, it’s a place that makes you instantly happy yet simultaneously not hip enough to be there. Coming from Philadelphia, my idea of an indoor market is the bustling, crowded, dark, and authentic Reading Terminal Market. DC, however, has nothing like this. Instead, it has the stark, bright, hip Union Market.

Situated in DC’s NoMa neighborhood among a few block’s radius of wholesale food vendors is bright white building topped with a Hollywood sign-like declaring “Union Market.” Inside, you’ll find three restaurants, a cheese and a fishmonger, produce stand, charcuterie, espresso bar, full-service butcher, the best creamery, and both patisserie and boulangerie-style bakeries. There are also about a dozen prepared food vendors serving everything from bagel sandwiches, korean-style tacos, arepas, waffles, crepes, barbecue, pudding, and freshly made pasta dishes. And if that’s not enough, there’s a place to buy spices and flours, homegoods (the second Salt & Sundry location), creams, and lotions as well as a person who will sharpen your knifes.

In the summer, Union Market puts on monthly drive-in movie events taking advantage of the white exterior of the market on which to project films. Yesterday, I went to see Ratatouille and opted for Union Market to be the source of “dinner” for this dinner and a movie date.

I’ve had The District Fishwife’s amazing seafood a few times now, but have never opted for their usual prepared food of fish platters and sandwiches. However, last night they had a poke bowl on the menu. My decision had been made; turning down raw fish is close to impossible for me.

Not only was this dish beautiful, but it was also delicious. While I love Reading Terminal Market in Philadelphia, it would be unwise to eat raw fish from inside that building.

Fishwife’s bowl had chunks of soy and sesame marinated ahi tuna (yum!) covered in a balanced miso sauce, seaweed salad, ginger, and carrots over a bed of rice, garnished with a dollop of wasabit, and sprinkled with toasted sesame seeds.

Poke bowl

August 06, 2016 05:28 PM

August 04, 2016



August 02, 2016


Last week, I had a bit of a work crisis. Some unexpected bad feedback, a first in my long career of...

Last week, I had a bit of a work crisis. Some unexpected bad feedback, a first in my long career of highest marks on performance reviews. I completely lost my cool, in a crying jag in the office of a partner of my firm sort of way. But I found my way to a really productive solution through two methods: 

1. Time: I let myself calm down and regroup over the weekend before taking any actions to fix anything. 

2. I sent an SOS email to a group of lady friends where we occasionally discuss professional woman things. 

This part is what this post is really about. I could go on about the specifics of my incident and the specifics of their advice – ranging from communication tactics to ways to frame my thoughts around conversations to the importance of rehearsing important conversations to perspective and encouragement, to sticky conversations about the realities of gender dynamics in these situations and how to not let them make me want to jump off a roof, to advice I didn’t want to hear but was totally necessary. And holy crap. The level of support I was able to tap into was just phenomenal. So this is just to take a moment and, unironically say, what a time to be alive! I’m lucky enough to have two things women in previous generations didn’t. Electronic communication that can build an immediate bridge between DC, NY and SF. And a big network of close friends who I trust with my most delicate feelings who are also at high levels and grappling with these same issues. 

August 02, 2016 09:20 PM

"I watched The X-Files, loyally, from age 11 to age 16: the fundamental premise of the show, it..."

“I watched The X-Files, loyally, from age 11 to age 16: the fundamental premise of the show, it seemed, I now recalled, was that nothing — the state, people, the natural world, facts — was as it seemed. There were powers out there that could literally erase your identity, turn you into someone other than your self. That was the truth. Black fluid could crawl into your eyes and nose and control your actions, or a cancer-eating mutant could duplicate his own body.”

- Improbably, this is a quote from an article about whether or not Gucci Mane is a clone. 

August 02, 2016 08:33 PM


The Constitution (Annotated) In Your Pocket

After a powerful speech by Khizr Khan at the Democratic National Convention, sales of pocket U.S. Constitutions have skyrocketed, becoming…

by Daniel Schuman at August 02, 2016 03:56 PM

Tracking Lobbying by Foreign Governments

In the next few months, the Justice Department’s Inspector General will release a report on lobbying by foreign powers aimed at the federal…

by Daniel Schuman at August 02, 2016 12:40 PM

August 01, 2016


Version control as narrative device

Here is a post on why people use Git even though it is inscrutable. While I was away, I posted a series on tax policy on my other blog and, fwiw, an essay on listening to classical music. I hope to get back to posts with math in them very soon.

by Ben Klemens at August 01, 2016 12:00 AM

July 31, 2016


Nectarines and Burrata

I enjoy scrolling through Pinterest for recipe inspiration. Over the Winter, I was scrolling through countless pins until a incredibly colorful pin stuck out at me. It was a pin of a salad fit only for summer – and something that I would need to wait months to make.

Those months are now here with peaches, plums, and nectarines bountiful and sweet in the grocery store. As soon as I could get my hands on some stone fruit, I made sure to recreate the pin I found months prior.

This recipe is incredibly simple – great for a snack or meal. To prepare, segment a nectarine (or peach) with the skins on, halve a handful of grape tomatoes (or segment a whole tomato), slice the burrata into pieces, drizzle olive oil and balsamic vinegar around the salad. Finish with torn basil leaves and season with freshly ground sea salt and pepper.

To make this dish into a full meal serve with some toasted bread – you’ll be thankful to soak up all of the fruit juice, cream, and dressing at the end. Or, add some prosciutto to the mix if you’re craving something a little more salty (see Pinterest pin above!)

I’ve made this dish a couple times in my kitchen at work since it only takes a few ingredients and no heat source. It’s a simple set of ingredients that you can always have on hand – so that you don’t have to go without a homemade meal at work. All it takes is to throw a tomato, nectarine, burrata ball, basil leaves, and a small container of olive oil and balsamic vinegar into your lunch bag. No unnecessary Chipotle, for you! Also, it’s beautiful to boot.

Nectarine and burrata salad

Here are a few more delicious-looking burrata recipes from Pinterest that I hope to try soon: fig + burrata and beets + burrata Because what’s better than cream-filled mozzarella?

July 31, 2016 11:31 PM


introductory OpenStreetMap politics

None of the following will be of much interest to people already familiar with OSM, except perhaps as an opportunity to take offense. The internet has plenty of those; I encourage you to trust me when I say that I mean no disrespect. I offer this both to satisfy my own commitment to write more and because I’ve recently been thinking that saying things that seem obvious can be important. Sometimes they turn out not to be that obvious after all.

Mike Migurski has a characteristically thoughtful post about OpenStreetMap and how he feels the community must adapt to be more welcoming of automated edits (“robot mappers”) and communities focused on improving the map for emergency response (“crisis mappers”). He characterizes the interests of these communities as being at odds with the original participants in OpenStreetMap, which he names “craft mappers”.

In comments, several OSM doyens object to this characterization even while betraying some of its truth: Frederik Ramm cops to the project’s import as a social mechanism, and Richard Fairhurst (who I hasten to add seems like he might be the most reasonable person ever to use the internet) extolls the project as a vehicle for personal expression and empowerment.

One has to admit that this is a bit of stacked deck. Crisis mapping is enormously important but it’s also a rhetorical atom bomb. Saving lives is always going to be more important than preserving the hobby of a few map obsessives.

So let me complicate Mike’s typology by adding one more constituency: passive users of OpenStreetMap data. Naturally I am thinking of Mapbox customers, but also people using MapQuest and Mapzen and Carto and and countless other businesses. It’s not entirely clear to me how much the earliest mappers of OSM care about their efforts finding use, or whether they are content to build a beautiful scale model of the world. The project’s relative inattention to building consumer-friendly services has always seemed to me an intelligently-chosen strategy of allowing the competitive market to handle distributing the project’s achievements. But I suppose indifference is an equally plausible explanation.

Still, I don’t think there can be any doubt that an enormous number of people benefit from OSM as mediated by commercial entities like Mapbox. Anyone who owns a smartphone can understand the growing importance of geodata. Finding the nearest coffeeshop is a modest benefit compared to being pulled from a collapsed building by rescue workers, but it happens considerably more often. It’s reasonable to be wary of equating profit with good, but commerce generally does indicate that someone is having their needs or wants satisfied. And there’s plenty of money in maps.

This community has no meaningful franchise within OpenStreetMap, and is instead represented by the commercial actors who serve them (:waves:). Those actors command both the resources and resentment you might expect of profiteers in a volunteer community: valued for the contributions of effort, software and money that professionalization affords, but viewed with understandable suspicion as to motives. We can do a lot of things, but people are quick to assume that we are doing them for bad reasons.

It is not a very democratic circumstance, but no one claimed otherwise: OpenStreetMap is often referred to as a “do-ocracy”, implying that those who contribute work have outsize influence. Fair enough, but this means that when the work that must be done includes discussion, conflict that amounts to a veto is the overwhelmingly likely outcome.

And that means that stasis is the order of the day. A slowly growing map, best in places where people have enough time and money to support a particular type of eccentric hobbyist. Across from them, another group of professionals, this one anxious to build the map everywhere, and quickly, before the next earthquake or funding round.

Everyone involved is as earnest and passionate as you might imagine, but there are probably only a few hundred of us bothering to write heartfelt blog posts and send snarky tweets from conference sessions. Oblivious to all of this are the overwhelming majority of the tens of thousands of active mappers; the tens of millions of people using OSM data without knowing it; and the billions of people who could be safer, or richer, or freer if OpenStreetMap or a project like it became the understood commons where we map our shared world.

I think mapping is a great and interesting problem, but it’s my job, not my hobby. Perhaps this makes it too easy for me to follow my utilitarian open data beliefs and say that OSM should be built as quickly and unselfishly as possible. But there it is.

by Tom at July 31, 2016 09:49 PM


Hacking a Projector in Hy

About a year ago, I bought a Projector after I finally admitted that I could actually use a TV in my apartment. I settled on buying a ViewSonic PJD5132. It was a really great value, and has been nothing short of a delight to own.

I was always a bit curious about the DB9 connector on the back of the unit, so I dug into the user manual, and found some hex code strings in there. So, last year, between my last gig at the Sunlight Foundtion and USDS, I spent some time wandering around the US, hitting up DebConf, and exploring Washington DC. Between trips, I set out to figure out exactly what was going on with my Projector, and see if I could make it do anything fun.

So, I started off with basics, and tried to work out how these command codes were structured. I had a few working codes, but to write clean code, I'd be better off understanding why the codes looked like they do. Let's look at the "Power On" code.

0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x00 0x00 0x5D

Some were 10 bytes, other were 11, and most started with similar looking things. The first byte was usually a 0x06 or 0x07, followed by two bytes 0x14 0x00, and either a 0x04 or 0x05. Since the first few bytes were similarly structured, I assumed the first octet (either 0x06 or 0x07) was actually a length, since the first 4 octets seemed always present.

So, my best guess is that we have a Length byte at index 0, followed by two bytes for the Protocol, a flag for if you're Reading or Writing (best guess on that one), and opaque data following that. Sometimes it's a const of sorts, and sometimes an octet (either little or big endian, confusingly).

These are all just wild guesses, but thinking of it like this has actually helped a bit, so I'm just going to use this as my working understanding and adjust as needed.
 |         Read / Write
 |              |
 |   Protocol   |            Data
 |    |----|    |    |------------------------|
0x06 0x14 0x00 0x04 0x00 0x34 0x11 0x00 0x00 0x5D

Right. OK. So, let's get to work. In the spirit of code is data, data is code, I hacked up some of the projector codes into a s-expression we can use later. The structure of this is boring, but it'll let us both store the command code to issue, as well as define the handler to read the data back.

(setv *commands*
  ;  function                       type family         control
  '((power-on                         nil nil            (0x06  0x14 0x00  0x04  0x00 0x34 0x11 0x00 0x00 0x5D))
    (power-off                        nil nil            (0x06  0x14 0x00  0x04  0x00 0x34 0x11 0x01 0x00 0x5E))
    (power-status                   const power          (0x07  0x14 0x00  0x05  0x00 0x34 0x00 0x00 0x11 0x00 0x5E))
    (reset                            nil nil            (0x06  0x14 0x00  0x04  0x00 0x34 0x11 0x02 0x00 0x5F))

As well as defining some of the const responses that come back from the Projector itself. These are pretty boring, but it's helpful to put a name to the int that falls out.

(setv *consts*
  '((power        ((on           (0x00 0x00 0x01))
                   (off          (0x00 0x00 0x00))))

    (freeze       ((on           (0x00 0x00 0x01))
                   (off          (0x00 0x00 0x00))))

After defining a few simple functions to write the byte arrays to the serial port as well as reading and understanding responses from the projector, I could start elaborating on some higher order functions that can talk projector. So the first thing I wrote was to make a function that converts the command entry into a native Hy function.

(defn make-api-function [function type family data]
  `(defn ~function [serial]
      (import [PJD5132.dsl [interpret-response]]
              [PJD5132.serial [read-response/raw]])
      (serial.write (bytearray [~@data]))
      (interpret-response ~(str type) ~(str family) (read-response/raw serial))))

Fun. Fun! Now, we can invoke it to create a Hy & Python importable API wrapper in a few lines!

(import [PJD5132.commands [*commands*]]
        [PJD5132.dsl [make-api-function]])

(list (map (fn [(, function type family command)]
               (make-api-function function type family command)) *commands*)))

Cool. So, now we can import things like power-on from *commands* which takes a single argument (serial) for the serial port, and it'll send a command, and return the response. The best part about all this is you only have to define the data once in a list, and the rest comes for free.

Finally, I do want to be able to turn my projector on and off over the network so I went ahead and make a Flask "API" on top of this. First, let's define a macro to define Flask routes:

(defmacro defroute [name root &rest methods]
  (import os.path)

  (defn generate-method [path method status]

    `(with-decorator (app.route ~path) (fn []
       (import [PJD5132.api [~method ~(if status status method)]])

       (try (do (setv ret (~method serial-line))
               ~(if status `(setv ret (~status serial-line)))
                (json.dumps ret))
       (except [e ValueError]
          (setv response (make-response (.format "Fatal Error: ValueError: {}" (str e))))
          (setv response.status-code 500)

  (setv path (.format "/projector/{}" name))
  (setv actions (dict methods))
  `(do ~(generate-method path root nil)
       ~@(list-comp (generate-method (os.path.join path method-path) method root)
                    [(, method-path method) methods])))

Now, we can define how we want our API to look, so let's define the power route, which will expand out into the Flask route code above.

(defroute power
  ("on"  power-on)
  ("off" power-off))

And now, let's play with it!

$ curl
$ curl
$ curl

Or, the volume!

$ curl
$ curl
$ curl
$ curl
$ curl
$ curl
$ curl

Check out the full source over at!

by Paul Tagliamonte at July 31, 2016 04:02 PM

July 26, 2016


Ye Olde Blogging and Why it Disappeared: Part III

As I wrote earlier, now it's 2016, and "nobody blogs anymore." I was interested in exploring why this happened, and why it's so hard to get this world of personal blogs back on the internet. So I (via email) asked four friends who made up the core of my blogging group in the mid-2000s to share their thoughts with me on the topic: What happened to personal blogging as we knew it, and why did it happen?

Tom's thoughts are here, and Matt Yglesias's are here. Now up, my dear friend Susan, who I would not have met without the blogs of 2004. You really should dig through her archives. She's such a talented writer. 


Now you've made me go back and think about why I started blogging in the first place. I had a boring job sitting in a dark corner of a law firm where it made no difference if I worked 2 hours or 10. I was reading Elizabeth Spiers' pre-gawker blog Begging to Differ and discovering this hilarious register of communication called snark. I had just moved to DC and had no friends and Kriston was still in Texas. I was bored. And nobody was listening. So why not. I could try on a persona, hear what I sounded like, amuse myself and one or two others, risk free. Very soon it became about the community of bloggers and the space we met online and offline - a primitive scratching of the itch that other forms of social media have now optimized and monetized. Same basic formula as today: voice and community.  Looking back dispassionately: it was a (relatively) time-consuming way to express ourselves on the internet and connect to other humans. You had to work out your page design. You had to choose a comment-management service. You had to curate and update blog rolls. You had to learn basic html! No platform would ask that of its casual users today! 

Like T Lee says, on a personal level, none of the blog-friendly factors are there now. We don't have boring jobs anymore, we've (tragically!) discovered our own banality, and if the payoff to sitting down and tapping out 2,000 words on my Wesley Clark crush was the pleasure that came from continuing an inside joke, the satisfaction of comments from friends on my blogroll, an approving link from another blogger -- well, now I can get that same payoff a lot quicker if I want. 
But, you know, I used to blog a lot. And I don't tweet a lot. OK, yes, a good part of that is the price of a throwaway remark is too damn high. (Remember getting "Dooced" as a fringe, tail risk injustice?)  But also I'm just no good in 140 characters. It's not my form. I'm okay with that. I am happy twitter is there and I can have a peek into the lives of all of you and follow my super niche regional interests. (Ask me about Moldovan financial sector corruption!) All the social media platforms you are abandoning this month have our basic interaction and community needs amply covered.    
But the voice side -- well, not for me. I miss writing things like a human and not a corporate-bot. (Ask me about stakeholder engagement and capacity building!)  Blogging was public enough that I had to put some effort into what I wrote, but not so public that it was paralyzing. At its best, it was satisfying in a way that finally achieving a properly witty tweet will never be for me.  I don't have the discipline to sit and write for no audience whatsoever, and so I don't write at all. And I miss your voices, you guys! I would like to blog again, in order to write just a little bit again.  But gonna go deep here - the other thing I suspect we might miss about blogging: Twenty-something Us. Isn't blogging nostalgia quite a bit like college best-years-of-our-lives nostalgia? We had all the time, we were blithely ignorant of our ignorance, everything we thought was interesting, our friends were brilliant (still are!), everything was new, worthy of note, our motives were Pure! People do still write like that all over the internet, those people just aren't us. DO WE MISS BLOGGING OR DO WE MISS OURSELVES???? 

To answer your question about the return of blogging. Do not forget that in 30 years we will return to our prior state. We will have time. We won't give a shit what anyone thinks. We will think we know it all. We are going to have some awesome group geezer blogs, y'all.      

by catherine at July 26, 2016 11:15 PM

July 25, 2016


Programming is a subjective experience

One time, I read Zen & The Art of Motorcycle Maintenance, so I pretty much know everything anybody needs to know about philosophy. At least, I know as much as one needs to know to be able to make sweeping generalizations about such things. How do I know I’m philosophically wise enough for this? Because, how have I not made this clear enough yet, I read Zen & The Art of Motorcycle Maintenance.

With that settled, I want to explain why, for me, programming is a subjective experience. Before you try and back sass me, let me redefine some key terms, specifically subjective and objective. I do this mostly because it’s an easy way to win an argument, but also because I have, like, opinions man.

Think back to college. Remember that time when you made the mistake of talking to that particularly annoying Physics major, yes, that one, the one who needed you to understand that the Universe made Sense. He cornered you for twenty minutes, proselytizing you to switch majors (but only if you were smart enough), so that you too could experience the beauty of understanding of how the world works. He’d talk about the math behind attractive forces and friction and black holes and are you doing anything later? He wasn’t wrong mind you, he just hadn’t learned yet that vector calculus wasn’t a viable replacement for charm.

There are rules and equations and math and shit that can be used to explain how tons of things in life work. If all you give me is an atom and a perfect vacuum, I can’t do all too much to surprise you if you know about the basics of physics. The rules are the rules and, given enough dedication, all the rules for how that atom and that vacuum interact can be written out and modeled and understood piecemeal. To me, that’s objective, where you can know all the rules beforehand for a situation and use them to make accurate predictions about what will happen.

Subjective is when you don’t know all the rules beforehand, can’t know all the rules beforehand, when you can only “know it when you see it”. You can try to write down all the rules and use them to make a subjectively good piece of work but then you’ll be called formulaic and fail out of your second MFA program. There are still rules when you are subjective, there’s always an explanation for why something is subjectively bad, but there isn’t an easy way to predict when something will be subjectively good. In some ways, the threshold between subjective and objective is determined by the number of rules involved. For physics, I could simplify down all the rules onto a single sheet of paper and roll from there. For art, it’s not possible to write down enough of the rules ahead of time to figure out what’s possibly going to happen. Subjective things reflect the complexity of life and the universe and how could all that fit on one sheet of paper, I mean, really?

To bring it on home, programing is subjective because we build up all these abstractions and layer them on top of each other, preventing me from understanding everything all at once. There are so many little rules and gotchas in programming that it’s not possible to know enough to predict what a computer will do ahead of time accurately. Everyday, I write programs that break in ways that I could not and would never predict to happen. Even though I could dig in and find an explanation for every thing the program does, in total, the program is an accumulation of rules that I don’t have the brain capacity to understand all at once. I can maybe remember python’s syntax, the basics of networking, the bare bones of the ftp protocol and the task at hand. The idea of trying to remember everything about how a computer works, keeping it fresh in my mind, while also trying to do anything useful is a joke. Computer programming is subjective in that I know when I’ve broken one of the rules but I can’t tell you ahead of time what all of the rules are nor whether I’m about to break one of them.

So, what I’m trying to say is that computer programming is like painting because one time I read a bunch of essays by Paul Graham and he gets this stuff deep man.

by Zack Maril at July 25, 2016 03:33 AM

July 24, 2016



For the past few months, I’ve been trying to make a successful sourdough. That endeavor has yet to be fruitful. Meanwhile, I’ve found comfort in the needy process that is brioche-making.

Brioche is a Viennoiserie (a French word for something that tastes liek a pastry but is made like a bread or from puff pastry). Brioche’s pastry-like high butter content makes this one of the most indulgent and yummy of all the breads.

However, that yumminess comes at a price – time. I follow Rose Levy Berenbaum’s Basic Brioche recipe which requires a relatively small lineup of ingredients: water, sugar, instant yeast, all-purpose (AP) flour, sugar, salt, and of course, butter. Like many breads, this brioche recipe starts with making a starter (or sponge). I make the starter the afternoon or night before I want to bake the brioche, letting it ferment overnight. But the more time you have and can plan ahead, the better your flavor will be due to a longer fermentation process.

Once your starter has fermented, all bubbly and yeasty, you make the dough adding eggs and flour. While there’s something relaxing about kneading dough – I highly recommend using a stand mixer for brioche. Due to its high butter content, you’ll need to add the butter very gradually and kneading by hand will become just plain tiring. Understand that this will be a 20+ minute process and break out your KitchenAid and dough hook.

Once all of the dough is kneaded and has developed a good gluten structure, my favorite part of the bread making process begins – the rise. While most kitchen activities require taking the life of meat and produce away – bread is a rare opportunity to make something grow. And goodness will you get to see something grow when you make brioche.

Brioche is all about the flavor development and rise, and the dough requires your involvement on an hour basis throughout the room-temperature rise/deflation process. First, you need to let your dough double in size, then chill, then deflate, then chill again, then deflate again (and shape), then chill for up to two days. Again, the longer the better to develop flavor.

However, after you wait up to two days for your bread, you’re not quite there. You’ll need to remove your dough from chilling again, deflate again, cut and let rise (again) in your baking tins. Like I said, brioche is needy.

However, at the end you’ll find yourself with a gorgeous golden loaf of buttery bread. Delicious warm with even more butter, grilled, as french toast, or covered in fruit, take my advice and make a double batch.

Brioche loaf

July 24, 2016 04:25 AM

July 22, 2016



I’ll be at HOPE 11 this year - if anyone else will be around, feel free to send me an email! I won’t have a phone on me (so texting only works if you use Signal!)

Looking forward for a chance to see everyone soon!

July 22, 2016 12:16 PM

July 19, 2016


I am completely obsessed sideways with STRANGER THINGS. I watched the new Netflix series Sunday and...

I am completely obsessed sideways with STRANGER THINGS. I watched the new Netflix series Sunday and Monday. Holy guacamole is it perfect. The reverence it has for all things 80s supernatural cinema is getting most of the digital ink on the show. And don’t get me wrong, I loved it too, it added layers and depths from a common language that starting fresh wouldn’t have achieved. But it was so much more than a nostalgia trip or an ode to Stephen King. I am a complete sucker for anything based on true friendship bonds between a pair or small group of tweens and this scratched that itch so hard. The guilelessness of the performances was amazing (also an 80s throwback), but holy crap were these kids incredible. And they let the teens have acne!!!!! Nancy is going to be a superstar and Toothless/Dustin is my new favorite human. I want to watch everything he is ever in (which apparently includes a national tour of Le Mis? OK!). I have like 33 other Why STRANGER THINGS Is So Very Great topics I want to hit on but I’ll save that for my friends who have already watched it. Go watch it, ok? it’s so very great.

July 19, 2016 06:43 PM

veronicamars: BUFFY MEME / 10 scenes » #6 (3x20: The Prom) “We...


BUFFY MEME / 10 scenes » #6 (3x20: The Prom)

“We have one more award to give out. Is Buffy Summers here tonight? This is actually a new category. First time ever. I guess there were a lot of write-in ballots, and, um, the prom committee asked me to read this.”

It wasn’t the hardest I ever cried at Buffy when it first aired (that still goes to Season 2′s Angel sacrifice; I was still so upset the next day I asked if I could stay home from school) (I was told no, because my parents aren’t insane), but man it was close. 

July 19, 2016 06:37 PM

littleredrydenhood: ryan reynolds and his daughter  See,...


ryan reynolds and his daughter 

See, parenting doesn’t seem so hard. 

July 19, 2016 06:34 PM

July 16, 2016


Rose’s Luxury

Last week, I made my second trip to Rose’s Luxury, a restaurant famous for its long lines and New American small-plates menu that don’t shy away from odd-ball flavor. The restaurant sits on Barrack’s Row, a commercial corridor in Southeast DC, with signage consisting of only a green neon sign spelling out “Roses” in the window. The quaintness of the building makes this restaurnt enticing, welcoming, and warm – and this extends fully throughout the restaurant, from the decor and food to the ecletic set of plates and silverware that will land upon your table.

Two people dining at Rose's Luxury open kitchen bar

When first sitting down for a meal at Rose’s you’ll be greated with what I deem my absolute favorite part of the meal: a small loaf of potato brioche served with buttermilk butter, crispy potato skin bits, and chives – baked potato, anyone!? This bread course is the perfect introduction to the fun cheekiness of chef-owner Aaron Silverman’s menu.

Open kichen bar and dining room at Rose's Luxury

Photo by laurabl / CC BY-NC-ND 2.0

The menu has a few classics, like the Hand-Cut Chitarra “Cacio e Pepe” and family-style brisket served with a stack of toasted white bread. But, ultimately the menu stays seasonal – enough so that the menu that I’m looking at today has already moved on from the items I enjoyed last week. If you go, trust the menu, your server, and your sense of adventure – order a dish or two from each section (for a party of two) and let Rose’s take care of you.

Cacio E Pepe

Photo by T.Tseng / CC BY 2.0

As for beverages, order one. In my most recent trip, I jumped for their Aperol Spritz – a simple cocktail of Aperol, sparkling wine, soda, and fresh orange that I fell for in Venice. This Aperol Sprtiz redefined my expectation for this cocktail (topping many of the versions I had in the drink’s Italian motherland) and any of Rose’s cocktails have never disappointed. (This is likely due to the recent additon of Jeff Faile to the Rose’s Luxury team as its first beverage director.)

Now, while this pains me, I can’t write about Rose’s luxury without acknowledging The Line. Rose’s seat capacity is relatively small and it retains a strict no reserverations policy throughout the week, causing an impressive line to form daily starting around 3pm. The restaurant opens for seatings at 5pm and will start seating those in line immediately if their entire party is present. If no seating is available, or your party is not present, you get put on a waitlist. My experience this week was pretty simple. I started waiting in line around 4:30pm and was sat immediately with my party of two shortly after the doors opened at 5pm. No fuss. Embrace the line. And, as my mother would say…“It’s a good time to practice patience.” Or, as proof with this photo, it can also be a good time to turn your purse into a mobile standing desk.

Woman standing typing on laptop located in purse

July 16, 2016 08:17 PM


The Open Source License API

Around a year ago, I started hacking together a machine readable version of the OSI approved licenses list, and casually picking parts up until it was ready to launch. A few weeks ago, we officially announced the osi license api, which is now live at

I also took a whack at writing a few API bindings, in Python, Ruby, and using the models from the API implementation itself in Go. In the following few weeks, Clint wrote one in Haskell, Eriol wrote one in Rust, and Oliver wrote one in R.

The data is sourced from a repo on GitHub, the licenses repo under OpenSourceOrg. Pull Requests against that repo are wildly encouraged! Additional data ideas, cleanup or more hand collected data would be wonderful!

In the meantime, use-cases for using this API range from language package managers pulling OSI approval of a licence programmatically to using a license identifier as defined in one dataset (SPDX, for example), and using that to find the identifier as it exists in another system (DEP5, Wikipedia, TL;DR Legal).

Patches are hugely welcome, as are bug reports or ideas! I'd also love more API wrappers for other languages!

by Paul Tagliamonte at July 16, 2016 07:30 PM

July 14, 2016


Hiding at the bottom of the stack

You will recall from the discussion of the mortgage interest deduction that where a credit or deduction appears on the tax form can matter deeply for how it works in practice. To some extent, it reveals how high-priority the law is.

The pros refer to this as the stacking order. Something low on the order gets taken into account after everything else, and so may demonstrate funny interactions and side-effects with items earlier in the order.

As I covered over the course of two columns, Form 3800 lists a few dozen credits, but the total general business credits one can take are limited. The first two pages of Form 3800 calculate that limit, so it’s complicated, but let’s just say that the credits are limited to 25% of taxes otherwise owed.

So say that you have 300k in investment credits, 300k in low-sulfur diesel credits, and 100k in miner rescue training, but are limited to taking only half a million in credits.

This is where the stacking order comes in. You are deemed to have taken the 300k in investment credits, 200k in diesel credits, and that’s it. The rest (100k diesel, 100k miner rescue), you can carry over to next year and maybe use then.

This means that, in practice, the credits at the bottom of the stacking order are less likely to be taken.

The difference between a credit taken and a credit not taken can be subtle. As far as the taxes for the business this year go, all that matters is that credits were taken, not what their names were.

If the firm has the same finances next year, it’ll claim the same higher-in-the-stack credits, and over time it may wind up carrying an increasing amount of diesel credits. Recall how past losses can carry over and eventually be used, or make the company a more valuable asset. The same is true of a firm carrying unused credits, with the caveat that companies that are already hitting their limit on credits have no need for more.

Or, the credits may just atrophy. They aren’t inflation adjusted, and so lose value the way anything else earning 0% interest will. Or, Congress may cancel the credit entirely. Many of these credits are renewed every year, so if Congress forgets to do its homework, or the miner rescue industry loses favor, the credit is cancelled and it’s unclear what happens to potentially years’ worth of saved-up credits.

On the other side, credits carried forward have no real, present cost. That means that the earlier credits look bigger to Congressfolk and pundits. When you read CRS reports listing total costs for different credits, a credit carried over has zero cost, so it’s the higher-up credits that are brighter blips on the radar.

In short, credits at the bottom of the stacking order are cheap, economically and politically.If you’re feeling positive, this means that the credits are very well-targeted: small companies that fit the quirk the credit addresses will get their credit, while big companies exhaust their credit usage by the time they get to line 1c, so any carryover from the credit on line 1y effectively drifts away.

This is the eighth and last essay in a series on tax subsidies that divide the population between people who benefit from the subsidy and people who have no idea that the subsidy exists (which started here). Now you know where to find a few dozen of these sorts of subsidies, and see how the system is built so that even in the cost accounting, they maintain as invisible a presence as possible.

by BK at July 14, 2016 12:29 PM

July 12, 2016


Rep. Hoyer Speaks on Renewing Faith in Government

Yesterday, House Minority Whip Steny Hower (D-MD) gave an interesting speech on renewing the American people’s faith in government. He…

by Daniel Schuman at July 12, 2016 03:18 PM

July 11, 2016



just went for a walk // without precious body glide // living to regret

A haiku about summer dresses

By me


July 11, 2016 07:49 PM


Blueberry Pie

We’re in the swing of summer. And that means berry season. While berries are available practically year-round, there is still a distinct difference between the blueberries that you eat in March and those you eat in July. There’s also a huge difference in price.

After a recent viewing of Alton Brown’s Good Eats episode “Kinda Blue,” I was inspired to pick up a two pound container of blueberries at Whole Foods, for the excellent price of $6. Not only were these blueberries in-expensive, but they were beautiful, tart yet sweet, and huge!

As someone who isn’t the biggest fan of raw bluerries eaten by the handful, I decided that a baked preparation would be best. I had never made a blueberry pie before – and now seems like a great time to give it a shot!

I’m quite fond of this butter pie crust recipe from Epicurious and decided to repurpose it for this pie. I don’t own a food processor and can attest that this recipe still works great by using the shortcrust pastry method. This method calls for you to cut up butter into quarter-inch cubes into dry ingredients and rub the butter with your fingertips in the dry mixture until the mixture resembles breadcrumbs or meal. Rubbing with your fingertips is important so as not to melt the butter into the flour – you want the butter to remain solid, so start with very cold, yet malleable butter!

As this was my first blueberry pie, I wanted to stay classic and simple. While some recipes call for tapioca flour (like Alton’s or corn starch, I opted for the traditional flour coating. I knew this had the potential to make my crust soggy, but I baseline is always useful!

In addition to the flour and blueberries, I added the zest and juice of one lemon and grandulated sugar. That’s it! After mixing up the blueberries, I placed them into the raw dough base of the pie dish.

To finish off the pie, I opted for a lattice crust. I used another Alton Brown method: utilizing the width of a ruler to make even top crust pieces by flipping the ruler over across the rolled out crust.

Before placing in the oven, I used a simple milk and egg yolk wash to finish off the crust, making it extra golden brown.

I hope you get the chance to make your own bluerry desserts this summer while the berries are at their peak!

Blueberry lattice pie

July 11, 2016 02:24 AM


geocoding your way to a great vacation

The road had descended steeply into the valley, and if there was a river anywhere near, it seemed like we would find it soon. There were even a few signs for a dock, but by that time we were suspicious. The people of Skradin would have you believe that their great civic passtime is standing on street corners, wearing t-shirts emblazoned with the letter P and proclaiming the availability of free parking for ferry passengers. It seemed suspicious. Besides, Google told us the ferry was over one more mountain. Nice try, Skradinze.

Our rented VW diesel leapt up the incline, no doubt leaving unimaginable pollutants in its wake. At the bottom of the hill a construction worker made a sort of :no_good: gesture but maybe he was communicating with a colleague behind us? We proceeded onward toward the pin. The road became one way, not too unusual for this part of the world. Some trees were growing into the road; I rolled up my window. Soon the gap became so small that we worried about our mirrors. But the pin urged us on.

Eventually we reached the end of the alley. The walls had closed in. There were a couple of driveways headed up to estates on the hill to our left, so steep that a scooter might tip backward. Backing out looked terrifying: to our right, footpaths ramped down from, then parallel along the road. With no guardrails in evidence, a misplaced wheel could fall into several feet of empty air.

I was panicking, but Steph got out of the car and eventually guided me through a many-, many-point turn (restarted three times). The owner of an adjacent house looked on disapprovingly, convinced with good reason that an idiot was about to crash into her house at low speed.

Obviously you should not ask me for advice about driving when abroad. But thanks to work I can tell you exactly why this happened, and how you can spot the circumstances that might produce similar predicaments for you.

We had geocoded the ferry, plopping its address into an app’s text field and relying on the location to which it was matched. Results from such a service can be divided into two levels of quality: address point and interpolated.

Point geocoding works the way you might imagine. If you put in “150 Main Street”, the system finds the coordinates associated with the building at that address and returns them. Exactly what that spot represents can vary. Sometimes it represents the land parcel, sometimes the building’s rooftop, sometimes even the entryway.

Point geocoding results are the best kind. But point geocoding datasets are never comprehensive. People build new structures all the time, and it’s hard to drop pins for them all in a prompt manner, particularly since address numbers aren’t visible from satellite imagery.

So virtually all geocoders fall back to interpolation when they can’t find a point to match a query. An interpolated dataset includes a map of road network line segments. Each segment record has the road’s name, a start and end number, and whether the odd-numbered addresses go on its right or left side. This lets the system make an informed guess about an address location when no point is available. If a segment named “Main Street” starts at 100 and ends at 200, then a query for “150 Main Street” will be placed at its middle.

This works well a lot of the time. But of course addresses are not spaced perfectly evenly along roads. Some buildings are wider or thinner than their neighbors. Some blocks have several buildings clustered at one end, followed by empty space.

Geocoding data like this is often collected by state or municipal authorities and stitched together into national and international datasets. Those authorities collect it for different reasons: taxes or emergency services or road maintenance, for instance. So it’s common to have the level of quality vary by location even within a single country or region.

And quality tends to be worse in rural areas. There are fewer government agencies managing and maybe-digitizing those places. Businesses can’t make as much profit from those areas, so there’s less money sloshing around to fix problems. And everything is spread out: a so-so interpolation result can be off by a few hundred feet on a city block, or several miles along a farm road.

The interpolation data for our Croatian ferry terminal just wasn’t very good. And there probably wasn’t any data at all for the small houses that I nearly drove into.

In the abstract, this might not be of much interest to people who don’t work on geocoders all day. But it’s worth keeping in mind for your next vacation: if you get a result that doesn’t land on a rooftop, it might pay to be suspicious of the next results, too. At the very least, I recommend paying close attention to any non-obscene gestures that you see construction workers making.

by Tom at July 11, 2016 01:46 AM

July 10, 2016


Ye Olde Blogging and Why it Disappeared: Part II

As I wrote earlier, now it's 2016, and "nobody blogs anymore." I was interested in exploring why this happened, and why it's so hard to get this world of personal blogs back on the internet. So I (via email) asked four friends who made up the core of my blogging group in the mid-2000s to share their thoughts with me on the topic: What happened to personal blogging as we knew it, and why did it happen?

Tom's thoughts are here, and next up? Matt Yglesias (one of the many people I met through blogging in the mid-2000s and became IRL friends with).

Matt's thoughts on the disappearance of personal blogging:

Old-time blogging was, essentially, what we would nowadays call "social media" and it died basically because it was beaten by Facebook and Twitter and Instagram and Pinterest and so on. 

The time and energy that once upon a time people would have put into a blog is now put into social networks that are simplified, easy to use, and more popular than blogging ever was. At the same time, blogging has "upscaled" into professional, monetized media companies.
I don't think blogging per se will ever come back, but I do think that Twitter's timeline is basically the closest thing to blogs that we have today and it's at least conceivable that the company's leadership will build the product tools that would make it possible to use Twitter to blog. Instead of "tweetstorming," for example, maybe you could attach a post to a Tweet the way you attach a photo? Contra Tom, I do think a lot of the rambling, risk-taking, discursive nature of blogging lives on — it's just up on twitter. 
Something that I think is interesting here is the counterfactual. In the heyday of blogging, Alphabet (née Google) owned both Blogger and Google Reader but didn't focus on developing either of them as businesses or really as products. This was also the period during which Google tried (and failed) to launch Orkut, Buzz, Wave, and Plus all to no avail. What if Google had made ongoing development of Reader/Blogger the pillar of the social strategy rather than trying to launch brand new social products? Is it possible then that Facebook's remorseless march to become King of All Web Content could have been halted? Would a more RSS-centric traffic universe have saved the blogs? 
Who knows. One tension is that Google's core product was and remains web search, and something Google realized early on was that to make the web search experience work the way users wanted it to work random blogs had to be heavily downweighted relative to more "credible" content. So given the centrality of search to Google's identity and business model, it would have been challenging for Google to promote a form of content that Google's own standards rate as low quality. 

by catherine at July 10, 2016 08:11 PM


The problem of incentivizing nothing

Maybe this will sound obvious, but it is impossible to offer a tax credit on money nobody spends. This basic fact creates noticeable distortions in the landscape of the tax code.

Say that the Planning Committee has determined that sugary drinks are bad for you. One approach (`the stick’) is to tax drinks with high sugar content. One (`the carrot’) is to give a tax credit or subsidy for buying drinks that substitute away from sugary drinks, like low-calorie soda or carrot juice.

Setting aside Tang,  sugary drinks do not live in a vacuum. Perhaps last year the Planning Committee initiated another set of tax subsidies to handle malnourishment, and recognizing that carbohydrates are a necessary nutrient and that sugar is a pure form of carbohydrate, set up a tax subsidy for sugar.

At the end of it all, the only people not getting some sort of tax subsidy are the people who don’t buy drinks. If you’re drinking tap water, buying two boxes of tea a year and calling that your beverage budget, growing carrots and juicing them yourself, then you are outside of the economy, and there’s no way for a tax subsidy to reach you.

To give another example, my local electric company will pay a not-negligible subsidy to people who agree to install a smart thermostat that slows down their air conditioner during peak demand periods. Except I’m ineligible, because my house doesn’t have an air conditioning unit at all. It may be cost-effective for me to install a cheap unit I never use so I can score the subsidy.

In those situations where there is a `sinful’ form of consumption, the first best outcome is to simply not consume, but not consuming can’t receive a subsidy. The second best is lite consumption, and this is where the tax code is able to nudge people.

Last time, I went over some of the more interesting credits on Form 3800 (PDF), but the bulk of the credits are energy-related:

1f renewable electricity, refined coal, Indian coal production
1l biodiesel, renewable diesel
1m low sulfur diesel
1o nonconventional source fuel
1p energy efficient home
1q energy efficient appliances
1r alternative motor vehicle
1s Alternative fuel vehicle refueling property
1y Qualified plug-in electric drive motor vehicle
4c Biofuel producer
4e Renewable electricity, refined coal, and Indian coal production again

There are a lot of fuel taxes (Form 720), but use Form 4136 to get a zero tax rate for certain uses of gasoline, undyed diesel, undyed kerosene, kerosene used in aviation, liquefied petroleum gas, compressed natural gas, liquefied hydrogen, Fischer-Tropsch process liquid fuel from coal (including peat), liquified fuel or gas from biomass, liquified natural gas, and diesel-water fuel emulsion blending.

And lest you worry that only the petroleum alternatives are getting the credits, I enjoyed this overview of the subsidies that oil extraction companies receive (PDF).

At this point, it is hard to imagine a U.S. motor whose operation is not somehow subsidized by the federal government.

Of course, if you run a fleet of bike taxis in San Diego, where the weather is always so perfect that your office needs neither a/c or heating fuel, there are no credits for you.

In total, the incentives on Form 3800 are consistent with the story I told above: you can’t incentivize doing nothing, but you can incentivize consumption lite, like buying efficient appliances and renewable diesel. More on reading these incentives next time.

The commune

An alternative hypothesis is that the goal of the code is not to shape society for some undefined better, but to push its members to move.

In a world where the only businesses are wholly self-sustaining yogic meditation communes, where everybody drinks juices made from fruits and veggies in the garden and they burn the cow’s manure on chilly nights, no money is exchanged and so GDP is zero. If your goal is maximum GDP growth and all you have are people who are blissfully self-sustaining, you have to find a way to get people to move. To modify a standard example, if you can get the people in commune A to water the plants in commune B for $10,000/year, and get the people in commune B to water the plants in commune A for $10,000/year, then the commune members are doing no additional work besides walking next door, but GDP is up $20,000/year (and tax rates follow accordingly).

My commune example may sound far-fetched, but more and more of the economy is about information, which is relatively costless to move, using open source or free-to-use software. The person who runs Pinboard broke down what he pays to run the web site that is his livelihood. He pays for four Amps a month. Doing some back-of-the-envelope math, four Amps at 110 volts for a month comes out to 317 kWh. For reference, my household of four people used 185 kWh last month, so this person’s entire business uses as much energy as two residential households. He’s not running a commune off the grid, but just about any business based on moving physical objects or maintaining a storefront or sending people around on frequent flights will show a greater mark on the GDP accounts.

By this reading, the basic message of the tax code is not that you should use energy efficiently, but that you should use energy. Form 3800 is consistent with this story as well.

by BK at July 10, 2016 03:26 PM



A while back, I found myself in need of two webservers that would terminate TLS (with different rules). I wanted to run some custom code I’d written (which uses TLS peer authentication), and also nginx on port 443.

The best way I figured out how to do this was to write a tool to sit on port 443, and parse TLS Client Hello packets, and dispatch to the correct backend depending on the SNI name.

SNI, or Server Name Indication allows the client to announce (yes over cleartext!) what server it’s looking for, similar to the HTTP Host header. Sometimes, like in the case above, the Host header won’t work, since you’ve already done a TLS handshake by the time you figure out who they’re looking for.

I also spun the Client Hello parser out into its own importable package, just in case someone else finds themselves in this same boat.

The code’s up on!

July 10, 2016 01:34 PM

July 09, 2016


When a micro-purchase doesn’t work out, we try to learn from it

This week, I co-authored a blog post for the 18F blog, entitled: When a micro-purchase doesn’t work out, we try to learn from it. It discussed a thing that is rarely discussed in government: failure. Here’s the opening graf:

Two months ago, the 18F acquisitions team ran a public micro-purchase auction to find a vendor to develop a small new feature for 18F’s, and for the first time after several successful micro-purchases for other products, the contracted vendor didn’t deliver the code on time. This was very interesting to us — we’re early in the life of the micro-purchase platform, and we believe that failure is a great way to learn. In the spirit of experimentation and sharing our lessons, here’s how we went about analyzing this, and here’s what we learned.

I encourage you to read it!

July 09, 2016 12:00 AM

July 08, 2016


"I am inside someone who hates me. I look out from his eyes. Smell what fouled tunes come in to his..."

I am inside someone
who hates me. I look
out from his eyes. Smell
what fouled tunes come in
to his breath. Love his
wretched women.

Slits in the metal, for sun. Where
my eyes sit turning, at the cool air
the glance of light, or hard flesh
rubbed against me, a woman, a man,
without shadow, or voice, or meaning.

This is the enclosure (flesh,
where innocence is a weapon. An
abstraction. Touch. (Not mine.
Or yours, if you are the soul I had
and abandoned when I was blind and had
my enemies carry me as a dead man
(if he is beautiful, or pitied.

It can be pain. (As now, as all his
flesh hurts me.) It can be that. Or
pain. As when she ran from me into
that forest.
Or pain, the mind
silver spiraled whirled against the
sun, higher than even old men thought
God would be. Or pain. And the other. The
yes. (Inside his books, his fingers. They
are withered yellow flowers and were never
beautiful.) The yes. You will, lost soul, say
‘beauty.’ Beauty, practiced, as the tree. The
slow river. A white sun in its wet sentences.

Or, the cold men in their gale. Ecstasy. Flesh
or soul. The yes. (Their robes blown. Their bowls
empty. They chant at my heels, not at yours.) Flesh
or soul, as corrupt. Where the answer moves too quickly.
Where the God is a self, after all.)

Cold air blown through narrow blind eyes. Flesh,
white hot metal. Glows as the day with its sun.
It is a human love, I live inside. A bony skeleton
you recognize as words or simple feeling.

But it has no feeling. As the metal, is hot, it is not,
given to love.

It burns the thing
inside it. And that thing

- An Agony. As Now. - Poem by Amiri Baraka

July 08, 2016 01:52 PM

July 07, 2016


Is The House Intelligence Committee Out of Balance?

Yesterday’s appointment of representative Joaquin Castro (D-TX) to the House Intelligence Committee may push the Committee’s membership out…

by Daniel Schuman at July 07, 2016 06:55 PM

July 05, 2016


11 Simple Things to Improve Senate Accountability

Democratic members of the U.S. Senate recently announced “We the People,” a legislative package the New York Times describes as intended to…

by Daniel Schuman at July 05, 2016 01:46 PM

July 03, 2016


Fun with Form 3800

This is part of a series on Form 3800. I started with this piece about how much the public can or should learn about obscure details of law, followed by this piece about laws that divide the population between people who directly benefit from the credit and people who have never heard of the credit. This section provides examples of such laws, diving into Form 3800 (PDF) itself.

The first two pages Form 3800, General Business Credits, are largely an equation stretched out over two pages, because IRS assumes that everybody does their taxes with an abacus. Skip to Part III on page three, which is the list of tax subsidies.

Each line is its own story. If I had a class of 36 or fewer students, I’d give each student one line to dig into.

Line 1u is miner rescue training credits, because apparently companies underinvest in the training to rescue their employees in case of disaster.

Line 1n is a credit for wholesalers on every case they buy of distilled spirits bottled in the U.S.

There is a class of investment corporation aimed at low-income areas, with community members on the board. These corporations get a credit on Line 1i, “new markets”. Unpacking the IRS description of low-income areas of the U.S. as “new markets” is an essay that will have to wait for another day.

Does your business have fewer than 30 employees, and do you have to comply with the Americans with Disabilities Act, because it is a federal law? Line 1e will help you out. It also covers recording books on tape and other steps toward a more accessible world, as long as they are by a small business.

Are you a smaller railroad company (not one of the big seven) who has privately-owned facilities that you use to operate your business? Great, line 4g will help you out.

Does your company do research and experimentation (R&E)? It probably does, given that those broad terms are left undefined in the US Code, though please bear in mind that this credit applies to “research or experimental expenditure only to the extent that the amount thereof is reasonable under the circumstances.” First, you get to expense your investment instead of depreciating it (on Form 4562). It’s too boring for news coverage, but minor changes in depreciation rules can have a massive effect on what corporations pay in taxes, and the rule that R&E depreciates immediately is at this point a relatively major part of the tax code.

Second, did you increase your R&E spending this year relative to years past? That too merits a tax credit, on line 1c.

It’s up to you if you want to be outraged that these carve-outs exist, or delighted that there are subsidies in place for helping the disabled get to work, providing childcare facilities for employees (line 1k), and making wholesale purchases of Skyy vodka. My joking descriptions aside, I don’t want to make thumbs-up or thumbs-down judgments here.

But I’m betting that you didn’t know that these credits even exist. Yet here they are, clearly listed on page three of Form 3,800. You can see that it’s an active page, with spaces for new credits and blanks for elimination of old credits (like line 1v, which was a credit for theft prevention measures on fertilizers and pesticides). It’s certainly a long list, with line one alone going all the way through the alphabet to part 1bb. Check the instructions to line 1zz for the list of credits that have been dropped in recent history, like Hurricane Katrina-related credits, which is not nearly as long.

by BK at July 03, 2016 03:24 PM

July 02, 2016


Hill Country BBQ

As someone who may get takeout a few times a month, whenever I do, I want to make it worth it. this often means ordering from my favorite Thai or Chinese or Indian restaurant. It’s no coincidence that I order cuisines that I have no talent in. There’s no universe in which I can whip up a Butter Chicken as delicious as Indigo, which means the $11 I spend on takeout are well worth it.

However, this week I had a dilemma: massive hunger and no desire to touch a pot or pan. I also felt slightly adventurous and bored by my typical takeout rotation. This perfect storm brought me to order takeout from Hill Country BBQ, a Texas-style cafeteria style joint in Downtown DC. (Note: Hill Country has three locations: one in Washington, Manhattan, and Brooklyn.)

I was ordering for two and opted for one of Hill Country’s daily specials that included a ¼ of their Market Chicken, a bone-in beef short rib, a ¼ pound of lean brisket, a side (of which I chose mac and cheese), and cornbread. I also opted for their “confetti” cole slaw and a quart of unsweetened iced tea – yes, they sell their iced tea by the quart!

The restuarant itself is large and cafeteria-style with a big bar at the front. It’s screams “WE SERVE BBQ” with drinks in mason jars and reclaimed wood all around. To pick up my order, I was able to go back to the ordering area and easily ask for my order. Quick and easy!

Opening my haul, I first noticed the large quart-size mason jar filled with iced tea. Let’s just say, a free large mason jar was enough to win me over to this place. The cornbread was served with an ancho honey butter – sweet and salty: the perfect accompaniment to the savory bread muffins. The lean brisket, smoked chicken, and short rib were wrapped in paper, perfectly warmed and tender, with plenty of tangy barbecue sauce served on the side. The sides stood on their own and were a great balance of creaminess to cut the salt and vinegar of the rest of the meal.

Ultimately, I think that Hill Country is going to be a perfect addition to my take-out rotation. I highly recommend them when you’re craving some really solid and dependable barbeque in a pinch.

Chicken breast, mac and cheese, cole slaw, and cornbread

July 02, 2016 07:02 PM


Hello, InfluxDB

Last week, I posted about python-sense, and API wrapper for the internal Sense API. I wrote this so that I could pull data about myself into my own databases, allowing me to use that information for myself.

One way I'm doing this is by pulling my room data into an InfluxDB database, letting me run time series queries against my environmental data.

#!/usr/bin/env python

from influxdb import InfluxDBClient

import json
import datetime as dt
from sense.service import Sense

api = Sense()

data = api.room_sensors(quantity=20)

def items(data):
    for flavor, series in data.items():
        for datum in reversed(series):
            value = datum['value']
            if value == -1:

            timezone = dt.timezone(dt.timedelta(
                seconds=datum['offset_millis'] / 1000,

            when = dt.datetime.fromtimestamp(
                datum['datetime'] / 1000,

            yield flavor, when, value

client = InfluxDBClient(

def series(data):
    for flavor, when, value in items(data):
        yield {
            "measurement": "{}".format(flavor),
            "tags": {
                "user": "paultag"
            "time": when.isoformat(),
            "fields": {
                "value": value,


I'm able to run this on a cron, automatically loading data from the Sense API into my Influx database. I can then use that with something like Grafana, to check out what my room looks like over time.

by Paul Tagliamonte at July 02, 2016 05:13 PM

June 27, 2016


Hello, Sense!

A while back, I saw a Kickstarter for one of the most well designed and pretty sleep trackers on the market. I fell in love with it, and it has stuck with me since.

A few months ago, I finally got my hands on one and started to track my data. Naturally, I now want to store this new data with the rest of the data I have on myself in my own databases.

I went in search of an API, but I found that the Sense API hasn't been published yet, and is being worked on by the team. Here's hoping it'll land soon!

After some subdomain guessing, I hit on So, naturally, I went to take a quick look at their Android app and network traffic, lo and behold, there was a pretty nicely designed API.

This API is clearly an internal API, and as such, it's something that should not be considered stable. However, I'm OK with a fragile API, so I've published a quick and dirty API wrapper for the Sense API to my GitHub..

I've published it because I've found it useful, but I can't promise the world, (since I'm not a member of the Sense team at Hello!), so here are a few ground rules of this wrapper:

  • I make no claims to the stability or completeness.
  • I have no documentation or assurances.
  • I will not provide the client secret and ID. You'll have to find them on your own.
  • This may stop working without any notice, and there may even be really nasty bugs that result in your alarm going off at 4 AM.
  • Send PRs! This is a side-project for me.

This module is currently Python 3 only. If someone really needs Python 2 support, I'm open to minimally invasive patches to the codebase using six to support Python 2.7.

Working with the API:

First, let's go ahead and log in using python -m sense.

$ python -m sense
Sense OAuth Client ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Sense OAuth Client Secret: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Sense email:
Sense password: 
Attempting to log into Sense's API
Attempting to query the Sense API
The humidity is **just right**.
The air quality is **just right**.
The light level is **just right**.
It's **pretty hot** in here.
The noise level is **just right**.

Now, let's see if we can pull up information on my Sense:

>>> from sense import Sense
>>> sense = Sense()
>>> sense.devices()
{'senses': [{'id': 'xxxxxxxxxxxxxxxx', 'firmware_version': '11a1', 'last_updated': 1466991060000, 'state': 'NORMAL', 'wifi_info': {'rssi': 0, 'ssid': 'Pretty Fly for a WiFi (2.4 GhZ)', 'condition': 'GOOD', 'last_updated': 1462927722000}, 'color': 'BLACK'}], 'pills': [{'id': 'xxxxxxxxxxxxxxxx', 'firmware_version': '2', 'last_updated': 1466990339000, 'battery_level': 87, 'color': 'BLUE', 'state': 'NORMAL'}]}

Neat! Pretty cool. Look, you can even see my WiFi AP! Let's try some more and pull some trends out.

>>> values = [x.get("value") for x in sense.room_sensors()["humidity"]][:10]
>>> min(values)
>>> max(values)

I plan to keep maintaining it as long as it's needed, so I welcome co-maintainers, and I'd love to see what people build with it! So far, I'm using it to dump my room data into InfluxDB, pulling information on my room into Grafana. Hopefully more to come!

Happy hacking!

by Paul Tagliamonte at June 27, 2016 01:42 AM

June 26, 2016



I rode my bicycle a hundred miles yesterday, and so yes, this is mostly an extended humble-brag. But it is also a mark of how much has changed since my first, ecstatic road bike experience.

A down pedalstroke no longer seems to make the ground leap past me, and my legs no longer feel like springs ready to launch. In retrospect, I got what I wished for in that post, a melding of body and bicycle: a fall two years ago means my collarbone is now built with lightweight, precisely-machined titanium (alas, my bike frame is still mere aluminum). Having wishes granted is fraught.

But I still love being on a bike, and I understand it a bit better than I did. Certainly I understand my limitations better: I am not built to be a great cyclist. Too many college days in the gym, adding muscle to protect myself for an awkward but already-concluded adolescence. These days too much mass, period. The great cyclists are hugely tall and nearly skeletal, save for the enormous engines of muscle between their knees and hips. I’m not built like that.

More interesting than that is the revelation of a body’s limits. This is Charles’ insight, really. But a bicycle makes it easy to understand yourself as a machine, to deplete your metabolism before breaking your body in a away that’s hard to achieve when running or doing most other athletic things. The air cools you and there’s little stress on your joints. You can adjust gearing to manipulate the difficulty of the task. Really, you can just keep going until you run out of fuel. If you forget to feed yourself every 20 miles or so, you will fall to pieces, but the brief delay of digestion makes it hard to remember this. Which is why I bonked around mile 60, shortly after we had climbed Sugarloaf Mountain.

Well, no matter. Matt and Charles were patient with me as we stopped in the shade near a park, and a few miles later we sat down to lunch at a restaurant in Poolesville. I consumed a digusting amount of Coca-Cola at a pace exceeded only by my heart rate, which refused to slow down. I ate my club sandwich so fast that my throat still hurts today. Afterward I felt a lot better.

The last 40 miles were not pleasant, exactly–the human butt is not meant to sit on a saddle for that length of time, and a pinched nerve in my neck meant that the skin at the top of my back was numb until this morning. But I took better, steadier care of myself after lunch, and arrived home with an odometer showing a distressing 94.5 miles.

Steph had gotten me some century-related birthday gifts two years before, but schedules and injury had made it impossible. This was a long-deferred goal. Matt had promised an 85 mile ride, which we had (accidentally) exceeded. And Charles had headed down to Hanes point when we reached 15th Street to put in the necessary laps to hit three digits.

So I trundled up and down the Met Branch Trail a few times, watched my bike computer font get the smallest it’ll ever be, then laid down on my living room floor for an hour. Today I feel fine, though I can’t tell if it’s good or bad that the impact on my knees, butt and neck seem to be the same for a 40 mile ride and a 100 mile trip.

by Tom at June 26, 2016 09:30 PM


Ye Olde Blogging (and why it disappeared)

Long is the lament that "nobody blogs anymore." (Even though you are reading a blog currently. I know. I'm shocked too.) This lament mostly comes from me and my other friends who now, as we rapidly approach 40, wax super nostalgic for what we remember as the golden days of blogging in the early and mid-2000s.

Picture it: There was no Twitter, no Snapchat. There was no Facebook, even. (Yes, a world before Facebook existed.) When people wanted to share their ill-informed thoughts on the world around them, they fired up a blogspot or a livejournal and furiously typed on their keyboards late into the nights (or, if you were me, during a boring desk job when I really should have been working more). Comments were a new thing, and oft-respectful discussions often took place in them, believe it or not. Thoughts were somewhat coherently formed. Blog posts were hundreds of words instead of 140 characters. Real-life relationships and friendships were developed through these platforms. Personal blogging was a thing -- not just blogging about politics or fashion, but about regular old stories and experiences that could happen to anybody. 

But now it's 2016, and "nobody blogs anymore." I was interested in exploring why this happened, and why it's so hard to get this world of personal blogs back on the internet. So I (via email) asked four friends who made up the core of my blogging group in the mid-2000s to share their thoughts with me on the topic: What happened to personal blogging as we knew it, and why did it happen?

I'll be sharing their thoughts over the next few weeks. First up are thoughts from Tom (who now blogs here! SEE WE WILL BRING BLOGGING BACK GOT DAMMIT): 

These days it's hard for me to think about anything on the internet except in terms of people competing for social esteem, and it's how I retroactively understand blogging, too. Writing letters to your friends and strangers to make yourself look smart or funny is a relatively harmless form of narcissism, but I do think it's basically the same as someone performing signaling on social media today by, for instance, scolding others for not caring enough about the dead in Beirut.
The systems we use for this behavior have evolved since our time into more efficient and less flattering forms. Blogging can't really compete: it takes a lot of time to produce and consume. But the alternatives seem less interesting to me.
It's also become more fraught for us to write for fun. Back then our social networks didn't match our IRL networks that closely, which offered a freedom we don't have today. I didn't care too much if, idk, norbizness was offended by something I wrote. But my mom reads my blog now. So do my coworkers, and potential future employers.
And, not to be too much of an aggrieved white guy, but there's less room to safely say dumb or half-thought-out things on the internet now than there used to be in absolute terms, too, since expressions of tribal allegiance have been popularized as an efficient (and sometimes devastating) strategy in the aforementioned esteem competition. Discourse is polarized by it. Certainly I'm mortified by some of the things I wrote back then; I'm glad I had the freedom to write them, though, and friends who read them generously and talked to me about them. The Overton window on any number of these topics is just as wide as ever, but I do think that dipping a toe into its middle has become substantially less safe. You can lose your job for telling a bad joke. That is not how the internet worked for us back then.
But mostly, of course, we got older. We had relatively undemanding jobs back then, and many of us had fewer family obligations. I, at least, was young and dumb enough not to recognize when my narcissistic ramblings were unoriginal and embarrassing. I cut myself a lot more slack, and that translated into post volume.
I think something like old-school blogging is doubtless recurring in different forms among the 20somethings of today. Look at the funny little skits millennials make on Vine! That's just a totally different form from anything we considered doing. I really would not have been any good at it. We were lucky to pick up the habit during an interesting and primitive era, when technological limitations and traits of its participants produced a freewheeling and casual (but non-stupid) epistolary form -- a time when there was an inexplicable audience for longwinded explanations of XBox encryption and indie rock recommendations. I will be forever grateful for it happening.
So yeah, I don't think blogging is coming back, but I miss it badly. I've tried to move that energy into Goodreads reviews -- having an essay prompt feels good, and I think writing about novels offers less temptation to write for bad reasons than some other forms. But it's not the same (and that Hillary Mantel French Revolution book ground me down pretty badly this fall). I would love to find some new writing outlet, but I don't know what yet (so far I am too much of a coward to try fiction).

by catherine at June 26, 2016 04:25 PM



Like most who live in DC, I’m a transplant from another corner of the country. My home corner, is a few hours up I-95 in Philadelphia. Of the many things I miss most about the abrasive land of Philly is the food. I’m sure in a future blog post, I’ll talk about the times that week that I ate delicious underrated meals in Philadelphia, worthy of more national recognition than they receive, but this week I’m going to talk about the touristy, tried and true classics.

You can’t get a soft pretzel, egg sandwich, cheesesteak, scrapple, or water ice in DC. You can get lousy imitations – but they’re just simply not the same. The soft pretzels are frozen, egg sandwiches are dry and fancy, the cheesesteaks sit on menus next to hot dogs and egg rolls, the scrapple isn’t Habbersett (the only way to go), and the water ice…well, Rita’s actually does a good job. Sorry, Rita’s.

On Friday, I found myself in University City at a few appointments with no time to eat the things I actually wanted to spend time and calories on. I had already decided that I wouldn’t eat anything during my weekend in Philly that wasn’t something I had truly missed. In between appointments, I stopped in to Philly Pretzel Factory for one of my favorite cheap-eats…and a $0.75 pretzel. Freshly baked, warm, crispy yet soft, and served in a paper bag (the best indicator of a good pretzel) this pretzel reminded me that the soft pretzel is the perfect cheap mini-meal.

Before my mini-meal, I started my carbo-loading weekend with an egg sandwich from one of my favorite food trucks: Big Blue Lunch Truck. This food truck is old school – no fancy paint or ingredients – with more consistency than a nationwide fast food joint. I used to survive almost solely on egg, cheese, and tomato bagel sandwiches from Big Blue when I worked at Monell Chemical Senses Center – the building that Big Blue permanently sits in front of. Not only does Big Blue pile on the eggs, cheese, and tomato onto a lightly toasted bagel, but the total cost comes out to $3.50. I challenge you to find an egg sandwich in DC with as much consistency, speed, and value as what Big Blue turns out daily.

The next morning, my breakfast turned home where I was quickly reminded of the ever-present block of scrapple in my parent’s refrigerator. Scrapple is melange of pork scraps, cornmeal, flour, and spices formed into a loaf that’s cooked best when sliced thin and fried. Scrapple has found its way outside of Philadelphia cropping up in delis or lunch counters around the Mid-Atlantic. However, it’s hard to find what I deem as my favorite brand of scrapple, Habbersett, outside of the Philly area. I reckon that I find Habbersett to be the most delicious due to some combination of having grown up with it in my family meat drawer and that it’s made with a only cornmeal and wheat flour. Habbersett skips the common buckwheat, unlike its competing brand, Hatfield.

Later that day, the whole family and I stopped for cheesesteaks at Dalessandro’s Steaks and Hoagies a Philly classic in the neighborhood of Roxborough. Unlike many cheesesteak places around the city, Dalessandro’s has a lengthy menu. Normally, I deter anyone from eating at a cheesesteak place that makes more than chopped and grilled steak on a roll, Dalessandro’s pulls it off. I tend to go classic with my steak orders, asking for provolone, fried onions, and ketchup. Although a classic order, Dalessandro’s makes their steaks stand apart from the cheesesteak-crowd with finely chopped, tender steak, and amazingly soft hoagie rolls. If you ever find yourself in Roxborough, make the stop.

Dalessandro’s cheesesteak

While I ate many things while in Philly this past weekend including cheeses from Di Bruno Bros., whipped ricotta and rosemary flatbreads from Zavino, and tomato pie from Corropolese (I’ll likely have a separate post just about the beauty of tomato pie), the one thing I ate twice was water ice. Water ice is the perfect summer cool-down treat appropriate for any time of the day. While Rita’s is my go-to, traditional joints like John’s Water Ice in Bella Vista scream old-school Philly and make your heart sing. With a simple recipe served in Solo Jazz cups, this place bleeds nostalgia.

June 26, 2016 02:09 PM


The Code of the District of Columbia is now available online

At long last, the Code of the District of Columbia has a permanent URL, within the domain. This may not seem like a big deal, but this simple event is the culmination of years of effort, and I couldn’t possibly be happier.

Much has already been written about the work to first get the code up online. To get from an unofficial DC Code to today, though, was the result of many many folks, too numerous to name really. But here are twelve:

  • Tom MacWright, the developer who started this whole thing
  • Ben Bryant, the Codification Counsel for the Council of the District of Columbia
  • Josh Tauberer, the civic hacker who worked with me many times to move the ball forward
  • David Greisen, the Council’s Free Law Innovation Fellow, who took the ball and carried it to the endzone
  • Ellen Efros, the current General Counsel to the Council of the District of Columbia
  • Carl Malamud, the Rogue Archivist who pushed all of us
  • Seamus Kraft, the Co-Founder of the OpenGov Foundation and who spurred the free-law innovation movement into action
  • Ed Walters, the CEO of Fastcase who has been fighting in the trenches for the free law movement
  • Waldo Jaquith, the delightful and unstoppable force for good for all things open data who created the States Decoded
  • Eric Mill, the developer and friend who persuaded me to write my first scraper
  • Chairman Phil Mendelson, the Council Chairman (and his staff) who supported this effort from day one
  • Chris Warren, the Council’s Chief Technology Officer

The craziest part is that there are literally dozens more I could name. Ok, here are a few more:

  • the DC Legal Hacker and Code for DC communities
  • the Arnold Foundation
  • Nyasha Smith and Jen Budoff
  • the Uniform Law Commission (particularly Michele Timmons)
  • and so many more

And in that sense, what makes me happiest of all is not the code, though that’s certainly nice. What makes me happiest of all is that, in making this small thing a reality, I’ve had the incredible luck to work alongside and become friends with so many brilliant people.

June 26, 2016 12:00 AM

June 25, 2016


How an ostensibly universal deduction excludes lower income taxpayers

Some tax subsidies survive by dividing the population into those who benefit from the subsidy and those who have never heard of it. The mortgage interest deduction survives by going in the opposite direction: it benefits so many people that it is largely impossible to eliminate.

It doesn’t benefit everybody: you clearly can’t take the mortgage interest deduction (MID) if you don’t have a mortgage. And people who get a smaller mortgage may have such a small MID that the deduction provides no benefit. As you may recall from filling in your 1040, taxpayers have a choice of either itemizing deductions (including the MID) or taking a standard deduction, which is $6,300 for a single person with no kids and twice that ($12,600) for a married couple. So if you’re married and you have $12,000 in mortgage interest that you want to deduct and nothing else to itemize, then you’re better off eschewing the MID and taking the standard deduction. Total MID benefit: $0 reduction in taxable income. If you have $12,700 in interest to deduct, you’re now an itemizer taking the MID, but you can only itemize if you give up your $12,600 standard deduction. Total MID benefit relative to not having a mortgage at all: $100 reduction in taxable income (0.8% of the interest paid).

Conversely, consider a family that has large business expensess, or already has an existing mortgage on their first house, so that they started itemizing deductions long ago and the standard deduction is a distant memory. If they take out a new mortgage with $12,700 in interest, then their taxable income falls by $12,700 (100% of the interest paid).

In practice, few people making under $50k/year take the deduction to any great effect. This is a tax subsidy primarily for people who can afford expensive houses and have good enough credit to get large mortgages.

A chart of MID benefits claimed by income. Very little is claimed by those under $50k. Conversely, most of the people with severe housing cost burdens have incomes below $50k.

The mortgage interest deduction primarily benefits those who can afford more expensive houses.

In fact, in terms of encouraging home ownership among those making less money, consider a situation where one family wants to bid on a house, but knows that, as above, the extra $1,000/month in mortgage interest won’t be worth deducting. For another family bidding on this house, the purchase would be their second mortgage, so they will take the full MID, and on the bottom line of the tax form save $3,000 on their taxes every year for the next thirty years. Given that subsidy, they decide to raise their bid by $10,000. Thanks to the mortgage interest deduction, the lower-income family stands that much less of a chance of achieving homeownership.

The price of comparable houses is probably the foremost factor in how home prices are valued. So after this house sold for $10k more than it would have without the MID, expect the neighbors to tick up their asking prices—even in situations where none of the bidders are expected to use the MID. Soon every house will be more expensive than in the world without the MID subsidy, meaning that it will be that much more difficult to buy a house without some sort of subsidy.

There are proposals to solve some of the asymmetry between the two families by making the mortgage interest deduction a credit. There are different ways to put a credit on the tax form, but for now we’ll just assume that it is a separate space from the standard deduction, allowing people to take both. This article (the one I copied the above bar chart from) goes into great detail on many variants of the deduction-to-credit option. In each, the family with $12,700 in mortgage interest payments would first deduct the $12,600 standard deduction, then deduct the full $12,700 as well, not just the sliver past the standard deduction.

The deduction-to-credit trick could be done with any deduction, by the way, so you’ll often find politicians propose to give a tax cut to the poor by shifting something or other from the list of deductions to the list of credits.


Even if you own your house mortgage-free, or you got over the hump and bought with no tax benefits, the price of your most valuable asset is bolstered by the mortgage interest deduction. If the deduction were eliminated, your house price would suffer. [If your plan is to sell your house and buy a more expensive home, it would basically be a wash, but people tend to not be so subtle in their thinking, and there can be complications.]

The National Association of REALTORs, which represents a group of people whose pay is calculated as a percentage of house price, has this official position: “The mortgage interest deduction (MID) is a remarkably effective tool that facilitates homeownership. NAR opposes any changes that would limit or undermine current law.”

So there are people who indirectly benefit from the subsidy, and people who directly benefit from the subsidy. And on the other side, the only people who wouldn’t see an immediate loss from the elimination of this subsidy are renters who for some reason never want to be home owners [let me tell you about my ritzy Velux skylights that leak every time it rains…].

There are two points to take away from this. First, order matters deeply in the design of tax incentives. The one-sentence version of the subsidy (you can deduct mortgage interest from your taxes!) sounds equitable and potentially beneficial to families at the bottom end of homebuying. But because of the exact positioning of the deduction on the tax flowchart, low-income families and those with smaller mortgages get almost no benefit from this subsidy.

Second, regardless of the original motivation, regardless of whether the mortgage interest deduction actually improves homeownership rates despite its complete ineffectiveness among the lower-income people most on the homebuying fence, regardless of whether home ownership is even something the federal government should spend billions of dollars encouraging, the deduction exists and is self-sustaining. The price of every house or condo in the United States takes into account the subsidy on the mortgage virtually every buyer will take out, and it is difficult to eliminate in direct proportion to its upward distortion of prices.

by BK at June 25, 2016 05:41 PM

June 22, 2016


"Report from the 2016 Legislative Data & Transparency Conference" in Demand Progress

Today the House of Representatives’ Committee on House Administration hosted its fifth annual Legislative Data & Transparency Conference in…

by Daniel Schuman at June 22, 2016 05:45 AM

June 20, 2016


When I started writing this post last week, all i got through was the title. “So, one of my best...

When I started writing this post last week, all i got through was the title. 

“So, one of my best friends is dying.” 

By the week’s end, the verbs needed to changed. One of my best friends died of cancer at 35. 

She’s been fighting it for a long time. Too long. First she fought for her mother, who died just a few months before she was diagnosed with some breast cancer of her very own. Ups, downs. Chemo. Remission. Back again. New treatments. Healthy living. Remission. Back again. On and on. She went from regular updates on her health to only telling a few people she was sick again at all, much less stage four and failing. I imagine I’d behave the same way if I’d been dealing with the same awful, worsening thing for my entire young adult life, my entire marriage. 

But then a note from her cousin came in. A laundry list of organs it had spread to. Talk of her pain and opioid dosages. An estimate of life left measured in weeks. A request to come up and say goodbye. I knew from unfortunate experience with my dad that that meant getting my ass to suburban New York needed to happen sooner rather than later. I coordinated with two old friends – people I love but have pretty much only been connected to through her as an adult – and we set off. Two of us coming in from DC, one all the way from Mali. 

We got there after she’d been moved to hospice. After she could speak or open her eyes. After she’d lost more weight than my worst imagination conjured. But while she could still hear and listen and react. Her truly wonderful family was there, coordinating her visitors and her care and displaying more strength than people suffering from that much grief, stress and sheer exhaustion should have been able to. We held her hand, we told old stories. We admitted to her dad about how those tire tracks in the front yard really got there that one weekend in high school. We read aloud from a notebook she and I used to pass back and forth in school, and were gobsmacked by our outrageous level of boy craziness. We took turns – two people holding hands and talking while the other took a break to walk across the room and cry. 

We got mad at ourselves for not being better friends in recent years. We got mad at the world for everything that was happening. We caught up on each other’s lives. We swam in the hotel pool. We tried to stay strong for our girl, for her family. We hugged a lot. We took solo walks away from each other and sobbed. 

We went back the next day before our trains home to say one-on-one final goodbyes. Her condition was sharply declined that day. The things anyone unlucky enough to have seen end stage cancer before can’t forget had set in – no consciousness, lots of swelling, more pain, labored breathing. And sometime around when we and her family had sat down to eat lunch, the family was summoned to come in for her final moments. 

I’m afraid I don’t have a tight ending to this post or a hopeful stopping point. There’s a lot I want to do and to think about. Her life rather than her death and all that. I think I just needed to get this part out, to write it down, so I can move it from the front shelf to the basement of my memories of my friend.

June 20, 2016 06:18 PM


fortress: shed

I am already failing badly at Iron Blogger. Should I hit publish on that post in drafts that I wrote months ago but which might upset my family? Is that valuable self-expression or just narcissism?

Well, we’re going to ignore that question for another week, because it turns out I haven’t introduced you to my shed.

Some of you may not realize this, but when you get close to completing the process of purchasing a house your realtor will prompt you to issue some ridiculous demands to the seller, as if you have encountered an unusually boring genie. Typically your request will be for a novelty appliance the seller secretly regrets purchasing, or maybe some furniture. It’s considered impolite to ask for pets, and requests for children should only be attempted when buying from particularly large families.

Well, Steph and I asked to build a shed. The place came with a parking spot, but we don’t have a car or much desire to haul our bikes up a flight of stairs every day. The building is a duplex, so we had to get the neighbors’ okay to build a hulking bike receptable. They are kind people and, better still, maybe did not quite realize what they were agreeing to.

We built a mighty shed, thanks in large part to help from Charles, Kriston and Ben. And yes, we used a kit. But that was just the beginning.

First, the physical security layer. Some steel pipe, threadlock, wood screws and creative reuse of the “SOLD” sign our realtor repeatedly failed to pick up produced a serviceable indoor bike rack.

bike rack

But obviously my heart lies with the electronics.

led strips and infrared sensor

LED strips are affordable and already have resistors and adhesive backing in place. All you need to do is supply twelve volts. That happens to be the voltage of most automotive and marine electrical systems, and consequently also a lot of battery technology. But more on that in a second.

The white dome zip-tied to the cross bar is a passive infrared motion sensor. For $3, it works surprisingly well. The cable running up from there goes to a photoresistor. The apex of the shed’s roof is made of translucent plastic to provide illumination during the day. The photoresistor and motion sensor ensure that the lighting system only activates when someone is in the shed and it’s dark out.

arduino/solar controller

This gadgetry runs down to an Arduino and associated hardware like a MOSFET, a comparator, a trim pot. The Arduino spends most of its life asleep, consuming as little power as possible. But it wakes up a few times a second to see if there’s any business it needs to attend to.

Above it is the solar charge controller. That’s the gadget that sits between the solar panel and battery and the things you’re powering with both. This is a particularly cheap and crappy controller, but it seems to work fine. It’s connected to a sealed lead acid battery on the floor and, on the roof:

shed roof

This guy. My eBay history says I paid $50 for a 20 watt panel back in 2014. Honestly, it’s hard to find units rated for so little power these days. But this is about enough to keep the battery topped up. The arrangement works well, though on the coldest days of winter I’ve learned I need to take the battery inside to keep it from freezing and suffering permanent damage.

The final ingredient is an underwhelming electronic door lock. It wouldn’t survive an intruder’s boot heel for more than a stomp or two, but it might make enough ear-splitting noise before then to alert us. I have an old fire alarm bell from Community Forklift and an RFID module waiting to be installed. But not every project can be a shed project.

If only it could! But they aren’t all winners. Shed telemetry, in particular, has proven tricky:

temp sensor

The obvious need for real-time shed temperature readings, published to the internet, can no longer be ignored. But doing this without draining the battery turns out to be tricky. I’ve got some new ESP8266 Arduino clones in hand. If shed telemetry proves to be viable, you’ll be among the first to hear about it.

by Tom at June 20, 2016 02:30 AM

June 19, 2016



Hear me out on this idea guys. I think it will make me one billion, or one, dollar.

I've online dated on and off for the past few years. As many of you know, it can be a tough process, though also rewarding (I've had two relationships come out of OKCupid dates with a couple of good guys). The hard parts? The constant messaging, sifting through profiles, toughness of generally putting yourself out there. The hardest part? Naturally, the actual first date. It can be nerve-wracking meeting a total stranger who has the potential to either (on a spectrum of possibilities) ruin your night or become the love of your life.

Part of the complication of this whole process that goes a little bit unacknowledged is finding a good enough first date spot to meet a complete stranger from the internet who maybe could really suck, but you also sort of want to impress, and if he's not a psycho and you want to have a conversation, a place where you can do so in a relaxing but charming setting, preferably with good drinks and also easy access to the front door and the safety of your couch and Hulu if the whole thing turns out terribly. (I also say this from the perspective of a straight white women who goes to a certain type of bars. It is quite possible that this is not an issue for anybody else. Maybe even other straight white women. As with many things, it is totally feasible this entire anxiety-inducing issue lives only in my head. If that is the case, excuse me. I will just continue to go to Bar Pilar or All Souls for first dates forever.)

The other hard part of first online dates is that it is TOTALLY OBVIOUS TO EVERYBODY AROUND YOU THAT YOU ARE ON A BLIND ONLINE DATE. I've witnessed countless of them. You can just tell - the small talk, the nervousness, either the total incompatibility or the increasing amount of flirtation that takes place (I'm always rooting for you guys, btw). I've had numerous bartenders tell me stories about first dates they've silently observed and judged. Same with friends. I've told those stories. The Washington Post recently published a whole piece about how online dating is observed in the city and economic impact it is possibly having on bars and restaurants. (The short version being places claim it impacts them negatively because people only nurse a beer, which, in my experience, could be the case ANY time you go to a bar. Oh I only ordered one drink no matter whom I'm with? That's sort of how it goes. In fact if I'm on an online date, yes I will only have one drink if it's going badly, but if it's going well, or REALLY BADLY, I will have a lot of drinks. If it's going REALLY well I will have a lot of drinks and also maybe food. And also, these are occasions on which I would otherwise just be sitting my butt on my couch watching Game of Thrones and not patronizing your establishment, so I really actually can't see how the rise of online dating especially in a city like DC isn't actually a boon to bar tabs. But whatever.)

Another difficulty though, regardless of how the date goes, is cost. With friends or a significant other, you're often more likely to be hanging out at a person's house, making dinner or having a drink on your balcony or whatever. But that's not possible with first dates. I'm sure there's been some economic studies about the cost of online dating, but it can be large. If you're going on a couple of online dates a week, that's anywhere from $20-$100 bucks a week I probably wouldn't otherwise be spending.

So I'm going to solve this problem for everybody (and by everybody I mean me). And the answer is: ENCOUNTERS. (You have to say it breathlessly and intently like it is always in bold and italics at the same time.)

Encounters is what I've decided to call the first-ever (that I know of) bar dedicated to being a spot solely for online or blind dates. I have put probably 10 minutes of thought into this enterprise, so you know it will work. These are the things that Encounters will offer:

-A charming first date spot where you are EXPECTED to be on a first date so nobody there will be judging or observing you, because you are one of many and that's sort of the whole point of the place.
-The ability to order affordable cocktails OR tea or coffee, because sometimes, you just don't want to get drunk every time you have to go out on an online date.
-Place cards with a set of encouraging questions you can use to eke out conversation out of your first date. Would you rather fight one horse-sized duck or 20 duck-sized horses, or what have you. It will also include place cards that have tips on how to be a good first date (straight men, one tip for you: make sure you are asking thoughtful questions of your date and not just speaking a monolog for an hour. This happens on 80% of my dates.)
-A compatible app so that if and when your date ghosts you (happens to everybody), you could potentially be automatically matched up with somebody else whose date has also ghosted or has left, because things went south super quick. Your entire night shall not be wasted! Two for one!
-A compatible app so that if your first date ghosts, you can be matched instead with a potential platonic friend of the gender of your choosing, so you can bitch endlessly to each other about the pain that is online dating (a conversation that your coupled friends only want to have every so often). And then you get to make new friends as an adult! (A whole other issue I could write a blog post about.)

Yes, basically this bar concept is sort of like if a singles mixer came to life and birthed a bar, but I think there's some merit to it. There's already enough pressure out there on an online date to connect with a person. A location like ENCOUNTERS takes off the additional pressure of 1. picking a spot 2. feeling judged by other observers at your spot 3. The possibility of meeting other people to connect with or be friends with who understand what online dating is like 4. errr, that's about it.

Things I haven't figured out how to deal with yet:
-How it makes money, or whatever
-How to prevent creepers who are just there to come on their own and stalk vulnerable first-daters
-How I can get it sponsored by OKC or Tinder
-Where my first billion dollars of venture capital funding will come from

What do you think, online daters? What is your advice for good online first dates? (I had one recently where the guy suggested we meet up at a cute coffee shop after work, which was great, because it was cheap and cozy and not crowded, so maybe the actual answer to this whole conundrum is just "have more first dates at coffee shops.") Regardless, as I continue my online dating journey, I'd be interested in your takes.

by catherine at June 19, 2016 11:04 PM


Go Debian!

As some of the world knows full well by now, I've been noodling with Go for a few years, working through its pros, its cons, and thinking a lot about how humans use code to express thoughts and ideas. Go's got a lot of neat use cases, suited to particular problems, and used in the right place, you can see some clear massive wins.

Some of the things Go is great at: Writing a server. Dealing with asynchronous communication. Backend and front-end in the same binary. Fast and memory safe. Things Go is bad at: Having to rebuild everything for a CVE. Having if `err != nil` everywhere. "Better than C" being the excuse for bad semantics. No generics, cgo (enough said)

I've started writing Debian tooling in Go, because it's a pretty natural fit. Go's fairly tight, and overhead shouldn't be taken up by your operating system. After a while, I wound up hitting the usual blockers, and started to build up abstractions. They became pretty darn useful, so, this blog post is announcing (a still incomplete, year old and perhaps API changing) Debian package for Go. The Go importable name is This contains a lot of utilities for dealing with Debian packages, and will become an edited down "toolbelt" for working with or on Debian packages.

Module Overview

Currently, the package contains 4 major sub packages. They're a changelog parser, a control file parser, deb file format parser, dependency parser and a version parser. Together, these are a set of powerful building blocks which can be used together to create higher order systems with reliable understandings of the world.


The first (and perhaps most incomplete and least tested) is a changelog file parser.. This provides the programmer with the ability to pull out the suite being targeted in the changelog, when each upload was, and the version for each. For example, let's look at how we can pull when all the uploads of Docker to sid took place:

func main() {
    resp, err := http.Get("")
    if err != nil {
    allEntries, err := changelog.Parse(resp.Body)
    if err != nil {
    for _, entry := range allEntries {
        fmt.Printf("Version %s was uploaded on %s\n", entry.Version, entry.When)

The output of which looks like:

Version 1.8.3~ds1-2 was uploaded on 2015-11-04 00:09:02 -0800 -0800
Version 1.8.3~ds1-1 was uploaded on 2015-10-29 19:40:51 -0700 -0700
Version 1.8.2~ds1-2 was uploaded on 2015-10-29 07:23:10 -0700 -0700
Version 1.8.2~ds1-1 was uploaded on 2015-10-28 14:21:00 -0700 -0700
Version 1.7.1~dfsg1-1 was uploaded on 2015-08-26 10:13:48 -0700 -0700
Version 1.6.2~dfsg1-2 was uploaded on 2015-07-01 07:45:19 -0600 -0600
Version 1.6.2~dfsg1-1 was uploaded on 2015-05-21 00:47:43 -0600 -0600
Version 1.6.1+dfsg1-2 was uploaded on 2015-05-10 13:02:54 -0400 EDT
Version 1.6.1+dfsg1-1 was uploaded on 2015-05-08 17:57:10 -0600 -0600
Version 1.6.0+dfsg1-1 was uploaded on 2015-05-05 15:10:49 -0600 -0600
Version 1.6.0+dfsg1-1~exp1 was uploaded on 2015-04-16 18:00:21 -0600 -0600
Version 1.6.0~rc7~dfsg1-1~exp1 was uploaded on 2015-04-15 19:35:46 -0600 -0600
Version 1.6.0~rc4~dfsg1-1 was uploaded on 2015-04-06 17:11:33 -0600 -0600
Version 1.5.0~dfsg1-1 was uploaded on 2015-03-10 22:58:49 -0600 -0600
Version 1.3.3~dfsg1-2 was uploaded on 2015-01-03 00:11:47 -0700 -0700
Version 1.3.3~dfsg1-1 was uploaded on 2014-12-18 21:54:12 -0700 -0700
Version 1.3.2~dfsg1-1 was uploaded on 2014-11-24 19:14:28 -0500 EST
Version 1.3.1~dfsg1-2 was uploaded on 2014-11-07 13:11:34 -0700 -0700
Version 1.3.1~dfsg1-1 was uploaded on 2014-11-03 08:26:29 -0700 -0700
Version 1.3.0~dfsg1-1 was uploaded on 2014-10-17 00:56:07 -0600 -0600
Version 1.2.0~dfsg1-2 was uploaded on 2014-10-09 00:08:11 +0000 +0000
Version 1.2.0~dfsg1-1 was uploaded on 2014-09-13 11:43:17 -0600 -0600
Version 1.0.0~dfsg1-1 was uploaded on 2014-06-13 21:04:53 -0400 EDT
Version 0.11.1~dfsg1-1 was uploaded on 2014-05-09 17:30:45 -0400 EDT
Version 0.9.1~dfsg1-2 was uploaded on 2014-04-08 23:19:08 -0400 EDT
Version 0.9.1~dfsg1-1 was uploaded on 2014-04-03 21:38:30 -0400 EDT
Version 0.9.0+dfsg1-1 was uploaded on 2014-03-11 22:24:31 -0400 EDT
Version 0.8.1+dfsg1-1 was uploaded on 2014-02-25 20:56:31 -0500 EST
Version 0.8.0+dfsg1-2 was uploaded on 2014-02-15 17:51:58 -0500 EST
Version 0.8.0+dfsg1-1 was uploaded on 2014-02-10 20:41:10 -0500 EST
Version 0.7.6+dfsg1-1 was uploaded on 2014-01-22 22:50:47 -0500 EST
Version 0.7.1+dfsg1-1 was uploaded on 2014-01-15 20:22:34 -0500 EST
Version 0.6.7+dfsg1-3 was uploaded on 2014-01-09 20:10:20 -0500 EST
Version 0.6.7+dfsg1-2 was uploaded on 2014-01-08 19:14:02 -0500 EST
Version 0.6.7+dfsg1-1 was uploaded on 2014-01-07 21:06:10 -0500 EST


Next is one of the most complex, and one of the oldest parts of go-debian, which is the control file parser (otherwise sometimes known as deb822). This module was inspired by the way that the json module works in Go, allowing for files to be defined in code with a struct. This tends to be a bit more declarative, but also winds up putting logic into struct tags, which can be a nasty anti-pattern if used too much.

The first primitive in this module is the concept of a Paragraph, a struct containing two values, the order of keys seen, and a map of string to string. All higher order functions dealing with control files will go through this type, which is a helpful interchange format to be aware of. All parsing of meaning from the Control file happens when the Paragraph is unpacked into a struct using reflection.

The idea behind this strategy that you define your struct, and let the Control parser handle unpacking the data from the IO into your container, letting you maintain type safety, since you never have to read and cast, the conversion will handle this, and return an Unmarshaling error in the event of failure.

I'm starting to think parsing and defining the control structs are two different tasks and should be split apart -- or the common structs ought to be removed entirely. More on this later.

Additionally, Structs that define an anonymous member of control.Paragraph will have the raw Paragraph struct of the underlying file, allowing the programmer to handle dynamic tags (such as X-Foo), or at least, letting them survive the round-trip through go.

The default decoder contains an argument, the ability to verify the input control file using an OpenPGP keyring, which is exposed to the programmer through the (*Decoder).Signer() function. If the passed argument is nil, it will not check the input file signature (at all!), and if it has been passed, any signed data must be found or an error will fall out of the NewDecoder call. On the way out, the opposite happens, where the struct is introspected, turned into a control.Paragraph, and then written out to the io.Writer.

Here's a quick (and VERY dirty) example showing the basics of reading and writing Debian Control files with go-debian.

package main

import (


type AllowedPackage struct {
    Package     string
    Fingerprint string

func (a *AllowedPackage) UnmarshalControl(in string) error {
    in = strings.TrimSpace(in)
    chunks := strings.SplitN(in, " ", 2)
    if len(chunks) != 2 {
        return fmt.Errorf("Syntax sucks: '%s'", in)
    a.Package = chunks[0]
    a.Fingerprint = chunks[1][1 : len(chunks[1])-1]

    return nil

type DMUA struct {
    Fingerprint     string
    Uid             string
    AllowedPackages []AllowedPackage `control:"Allow" delim:","`

func main() {
    resp, err := http.Get("")
    if err != nil {

    decoder, err := control.NewDecoder(resp.Body, nil)
    if err != nil {

    for {
        dmua := DMUA{}
        if err := decoder.Decode(&dmua); err != nil {
            if err == io.EOF {
        fmt.Printf("The DM %s is allowed to upload:\n", dmua.Uid)
        for _, allowedPackage := range dmua.AllowedPackages {
            fmt.Printf("   %s [granted by %s]\n", allowedPackage.Package, allowedPackage.Fingerprint)

Output (truncated!) looks a bit like:

The DM Allison Randal <> is allowed to upload:
   parrot [granted by A4F455C3414B10563FCC9244AFA51BD6CDE573CB]
The DM Benjamin Barenblat <> is allowed to upload:
   boogie [granted by 3224C4469D7DF8F3D6F41A02BBC756DDBE595F6B]
   dafny [granted by 3224C4469D7DF8F3D6F41A02BBC756DDBE595F6B]
   transmission-remote-gtk [granted by 3224C4469D7DF8F3D6F41A02BBC756DDBE595F6B]
   urweb [granted by 3224C4469D7DF8F3D6F41A02BBC756DDBE595F6B]
The DM أحمد المحمودي <> is allowed to upload:
   covered [granted by 41352A3B4726ACC590940097F0A98A4C4CD6E3D2]
   dico [granted by 6ADD5093AC6D1072C9129000B1CCD97290267086]
   drawtiming [granted by 41352A3B4726ACC590940097F0A98A4C4CD6E3D2]
   fonts-hosny-amiri [granted by BD838A2BAAF9E3408BD9646833BE1A0A8C2ED8FF]


Next up, we've got the deb module. This contains code to handle reading Debian 2.0 .deb files. It contains a wrapper that will parse the control member, and provide the data member through the archive/tar interface.

Here's an example of how to read a .deb file, access some metadata, and iterate over the tar archive, and print the filenames of each of the entries.

func main() {
    path := "/tmp/fluxbox_1.3.5-2+b1_amd64.deb"
    fd, err := os.Open(path)
    if err != nil {
    defer fd.Close()

    debFile, err := deb.Load(fd, path)
    if err != nil {

    version := debFile.Control.Version
        "Epoch: %d, Version: %s, Revision: %s\n",
        version.Epoch, version.Version, version.Revision,

    for {
        hdr, err := debFile.Data.Next()
        if err == io.EOF {
        if err != nil {
        fmt.Printf("  -> %s\n", hdr.Name)

Boringly, the output looks like:

Epoch: 0, Version: 1.3.5, Revision: 2+b1
  -> ./
  -> ./etc/
  -> ./etc/menu-methods/
  -> ./etc/menu-methods/fluxbox
  -> ./etc/X11/
  -> ./etc/X11/fluxbox/
  -> ./etc/X11/fluxbox/
  -> ./etc/X11/fluxbox/
  -> ./etc/X11/fluxbox/keys
  -> ./etc/X11/fluxbox/init
  -> ./etc/X11/fluxbox/system.fluxbox-menu
  -> ./etc/X11/fluxbox/overlay
  -> ./etc/X11/fluxbox/apps
  -> ./usr/
  -> ./usr/share/
  -> ./usr/share/man/
  -> ./usr/share/man/man5/
  -> ./usr/share/man/man5/fluxbox-style.5.gz
  -> ./usr/share/man/man5/fluxbox-menu.5.gz
  -> ./usr/share/man/man5/fluxbox-apps.5.gz
  -> ./usr/share/man/man5/fluxbox-keys.5.gz
  -> ./usr/share/man/man1/
  -> ./usr/share/man/man1/startfluxbox.1.gz


The dependency package provides an interface to parse and compute dependencies. This package is a bit odd in that, well, there's no other library that does this. The issue is that there are actually two different parsers that compute our Dependency lines, one in Perl (as part of dpkg-dev) and another in C (in dpkg).

I have yet to track it down, but it's shockingly likely that `apt` has another in `C++`, and maybe another in `aptitude`. I don't know this for a fact, so I'll assume nothing

To date, this has resulted in me filing three different bugs. I also found a broken package in the archive, which actually resulted in another bug being (totally accidentally) already fixed. I hope to continue to run the archive through my parser in hopes of finding more bugs! This package is a bit complex, but it basically just returns what amounts to be an AST for our Dependency lines. I'm positive there are bugs, so file them!

func main() {
    dep, err := dependency.Parse("foo | bar, baz, foobar [amd64] | bazfoo [!sparc], fnord:armhf [gnu-linux-sparc]")
    if err != nil {

    anySparc, err := dependency.ParseArch("sparc")
    if err != nil {

    for _, possi := range dep.GetPossibilities(*anySparc) {
        fmt.Printf("%s (%s)\n", possi.Name, possi.Arch)

Gives the output:

foo (<nil>)
baz (<nil>)
fnord (armhf)


Right off the bat, I'd like to thank Michael Stapelberg for letting me graft this out of dcs and into the go-debian package. This was nearly entirely his work (with a one or two line function I added later), and was amazingly helpful to have. Thank you!

This module implements Debian version comparisons and parsing, allowing for sorting in lists, checking to see if it's native or not, and letting the programmer to implement smart(er!) logic based on upstream (or Debian) version numbers.

This module is extremely easy to use and very straightforward, and not worth writing an example for.

Final thoughts

This is more of a "Yeah, OK, this has been useful enough to me at this point that I'm going to support this" rather than a "It's stable!" or even "It's alive!" post. Hopefully folks can report bugs and help iterate on this module until we have some really clean building blocks to build solid higher level systems on top of. Being able to have multiple libraries interoperate by relying on go-debian will be a massive ease. I'm in need of more documentation, and to finalize some parts of the older sub package APIs, but I'm hoping to be at a "1.0" real soon now.

by Paul Tagliamonte at June 19, 2016 04:30 PM


Stuffed Squash Blossoms

Often at the Farmer’s Market, I come across foreign items that I have no idea what to do with. With the arrival of summer, comes the arrival of squash blossoms – an item that epiotomizes the feeling, “What could I use that for?”.

When I think of squash blossoms I think of stuffing and frying them. I’ve heard that the petals tend to break easily. And that the stuffing gets everywhere. And that in hot oil things tend to go south quickly.

But despite all of the signs pointing me away from purchasing a box of squash blossoms, that’s exactly what I did. After some recipe research and consultation, I whipped up a filling and brought a pot of vegetable oil up to 350 degrees.

My filling included ricotta, fresh chiffonaded basil, an egg, fresh minced garlic, and salt and pepper. I filled a plastic bag with the ricotta filling to pipe into the squash blossoms.

stuffed squash blossoms before frying

After that was prepared, the fun part began. Each of the squash blossoms was tightly folded together and required very soft handling to pull them apart. [The closest feeling that I could relate this too would be the feeling of stretching old nylons.] If you’re in the mood to do something incredibly fiddly in the kitchen, this is a great option.

For the frying batter, I opted for a one part seltzer, one part all-purpose flour batter. After dredging a squash blossom (very gently) in the batter, I placed them into the hot oil to fry under the batter was cooked through.

This recipe turned out amazing and goes on the list of best things I’ve ever made. I highly recommend trying this out yourself if you’re looking for something tedious and entertaining. Also…they’re delicious with some marinara.

fried stuffed squash blossoms

June 19, 2016 01:58 AM


DC's Voter Rolls are on the Internet

Earlier this week, the Washington Post ran an article with a headline destined to scare the crap out of DC’s voters: “D.C. makes it shockingly easy to snoop on your fellow voters.” But behind this hyperbole was a simple act; the DC Board of Elections posted the voter roll on the internet for public inspection. For those who might not know any better, this must have been quite a surprise. But for close observers of DC’s elections, this was, well… a nothingburger. Here’s why.

In 2015, with little fanfare, the District passed the Primary Date Alteration Amendment Act of 2014, which required the Board of Elections to “publish and display on its website…a searchable copy of the list of qualified electors registered to vote as of the date the voter registry closed.” This law is what scandalized the Post.

The legislation’s concept of public display of the voter roll was hardly novel, since the law had already long required the Board to “cause a District-wide alphabetical list of qualified electors registered to vote in the District to be placed in the main public library.” So, ok, you’d have to make your way to Penn Quarter to get the voter roll, but there it was.

In practice, this was not the only way to access this data. In fact, the most common way to access the voter roll was to spend $2, fill out this form:, and get the Microsoft Access Database. If you wonder whether that would actually work, here’s Aaron Schumacher’s write-up of getting the data online.

And, if you think that this was abnormal, you must never receive campaign mailers or have campaign volunteers know your name. Because the reality is that this data has long been in the hands of political operatives in the District. I can say from personal experience that I had the complete set of voter data in 2006.

Because I’m only a few minutes away from the start of Game of Thrones, I won’t dwell too long on all of the policy implications of posting this information online. I, of course, recognize the arguments about privacy implications.

But those who argue that this information shouldn’t be available electronically misunderstand the reality of the situation: it’s been accessible to political parties and anyone with a Thomas Jefferson bill for at least a decade. And to the extent that voter roll data has been widely accessible anyway, it seems to me that Aaron Schumacher hit it on the head:

I wonder if [the Board of Elections] would accommodate daily requests for every ward’s data. It seems like it would be much less annoying to just put the data online automatically; it isn’t even very heavy…. Any option that doesn’t require making a physical visit to their office during their fairly narrow business hours would be an improvement. Any format that doesn’t require purchasing proprietary software would be an improvement.

Furthermore, as Aaron notes, perhaps those who care about civic engagement might use this data for good: it “could be used for planning voter registration drives or reminding people to vote, for example. It could also be combined with other data sets to get a more comprehensive understanding of DC, and probably lots of other things I haven’t thought of.” Rather than be afraid, perhaps DC’s civic tech community should find a way to use this data to make DC more humane, to use this data to create more connections among Washingtonians who exercise their most basic, fundamental right to vote.

The alternative is, if we’re being totally honest, just the status quo.

June 19, 2016 12:00 AM

June 18, 2016


Why failing startups that do stupid things get bought for millions

Year zero. Your hip new startup—it’s like Uber, but for trees—just got off the ground, and lost a million dollars. On the plus side, it had no taxes. Year one: it took off, and made three million bucks. Your company is allowed to carry over the losses from the prior year, so that the reported taxable profits in the second year are only two million. This story of a company that loses in its first years and then starts gaining is a common one, but any year that a company records a loss means that next year’s taxes will be a little lighter.

Bolstered by your success, wealthy investor Eva Peronosi gives you $3 million to develop your new startup. It’s like, but with more square dancers. Year zero: lose a million dollars. Fine, but year one: lose another million. Year two: lose another million dollars, and go out of business. You call a friend at Multinational Business Ventures, and ask MBV to buy your company, which is like but with more square dancers.  Naturally, MBV offers to pay a million dollars for your startup.

After MBV buys your company, your $3m loss carries over to the now-parent company, and they can use it to lower their business expenses. If their balance sheet showed $30 million in profits after the purchase, then your $3m loss turns that into $27 million in taxable income. With a corporate tax rate of 35%, a $3m reduction in MBV’s taxable income equals a $1.05m reduction in taxes. Taking into account the million it just paid, and MBV saved $50,000 by purchasing a worthless asset.

To whom the million dollars MBV paid depends on contracts, existing debts, and other such details we could only guess at. But Eva got where she was by making sure that payments like these go back to her. With a corporate tax rate of about a third, Eva can always gets back a third of her losses by selling the company and its carried-over losses. The papers said Eva bet $3m on your project, but if the existence of a $3m loss is itself worth $1m, then she really only put $2 million on the line (which is still more than I’d put on a gamble…).  And as per the title of this post, when you read about a company that got pounded in the market getting bought anyway, this carryover of losses has to be at least part of the buyout story.

Is there a conservation of tax liability, like the conservation of energy, so that when one body subsumes another, it absorbs all its liabilities? Is a corporation a “going concern” that has an annual tax check-in, or can we treat it as a new corporation every year?  That MBV bought a worthless company for big bucks is certainly odd, a distortion of market behavior caused by the tax system, but it is the product of not-insensible answers to these questions about the meaning of a corporation.

by BK at June 18, 2016 07:22 PM

June 14, 2016


Just want to make sure – you all know the stock trick, right? It goes like this: keep a...

Just want to make sure – you all know the stock trick, right? It goes like this: keep a ziplock bag in your freezer. Throw all the garlic ends, onion heads, mushroom stems, nearly wobbly carrots, green tops of root veggies, collard spines, etc. you have in there from cooking as you go. Next time you need to make stock, boom. You’re all set. Just wanted to make sure we were all clear on that.

June 14, 2016 02:15 AM

June 13, 2016


Why people tip in US restaurants

Here, I’ll discuss a tax incentive by the federal government to encourage bosses to have employees paid via tips instead of a typical wage.

The waitress is the only person who knows how much she got tipped. [I flipped a coin to write this example, and she came up female]. And, unless she’s in the narrow band where EIC (earned income credit) kicks in, she pays out a tax on those tips and so wants to understate her tip income.

Typically, employers pay payroll taxes on income, meaning social security tax (6.2%) and medicare tax (1.45%). In such a case, her boss would be very OK with her under-reporting her tips.

To give a more precise example, say that the boss pays the waitress the minimum wage, but she takes home $20/hour in tips on top of that. She works a typical full time of 2,000 hours/year, so she takes home $40,000 in tips. Payroll taxes, totalling 7.65% of $40k, would be $3,060. That’s a $3,000 incentive for the boss to write down a small number on the waitress’s W-2.

For the IRS, the big problem is the waitress. Reporting herself at minimum wage, she gets a refund of $689 (thanks to EIC); reporting all income, she pays $6,906; for a total swing of $7,595. So the IRS’s goal in this game is to get the waitress to pay taxes, in opposition to the goal of both the waitress and the boss. If you expect that the waitress is making less money than the business owner, then this is a case where the IRS does better going after the poorer person.

The official record of tips is not what the waitress says she has in her apron at the end of the day, but the W-2 that the boss prepares. So the IRS offers the boss a credit on payroll taxes. Whatever tip income the waitress reports (past minimum wage), the boss pays zero payroll taxes.

[Formally, he pays the payroll taxes, but then reclaims the taxes as a credit when he fills in his annual taxes. I’ll get to how this can create some exceptional cases later, but in the typical case, this is a full refund of all payroll taxes associated with above-minimum tips.]

Form 8846: Credit for employer social security and medicare taxes paid on certain employee tips

I asked myself, what’s the most exciting image I could put on this blog about restaurants and waiters?

With this arrangement, the boss is a neutral party, and has no reason to tell the waitress to hide her income or lie about it himself when he prepares her W-2. There may also be incentives in how the restaurant operates to get her to be forthright about her tips.

Next year, the owner reads this enthralling series of articles about no-tip  restaurants, and decides that he’s going to do it: instead of expecting customers to calculate 15 or 18 or whatever percent, he’s just going to add 18% to the price listed on the menu. Customers eat, pay what the menu told them to pay, and leave. The waitress gets paid $25 for an hour of work, and if the business does badly or well it’s the boss’s risk, not hers. When it was a tip-oriented restaurant, the waitress always knew that if she was an inexcusable slacker and ignored tables, the boss would fire her, and that doesn’t change once she’ll be getting a fixed wage like everybody else with a job. Say goodbye to customers who think 15% of $50 is $5, explaining to Europeans that they shouldn’t leave the tip line blank, all the weirdness about splitting tips between the waitress and the kitchen, all the creepiness of customers who think they own the waitress and can be jerks because they’re leaving a $5 tip, it’s all delightfully out the window.

So he calls his accountant and tells him that everything is going to be a lot more simple from here on in. And his accountant points out that simplifying the experience for his customers and employees is going to cost $3,000 per waiter per year in un-refunded payroll taxes. Our imaginary restauarant has five waiters, so the owner has to decide whether his experiment is worth an up-front loss of $15,000/year. Knowing the margins of the restaurant business, and knowing the limits of how many expenses can be passed on to somebody buying a ten dollar burger, that ends the story right there.

The tip credit is a clear incentive for a custom that a lot of people would be fine seeing gone. If tipping were not a concept today, it’s hard to imagine a restaurant pitching customers that they’ll have a better time because they can pay less for food but must leave a variable wage payment on the table. The credit is an incentive for compliance, where in most parts of the tax code the only incentive for compliance is that you won’t get arrested. As we’re drifting toward an economy where every payment involves electronic access to an account, it seems that the problem of under-reporting of tips is on its way to obsolete. But the tip credit is a nice example of the sort of tax that divides the population into restauranteurs who benefit from the tax and everybody else who has no idea that the tax exists, so it is unlikely to go anywhere any time soon.

by BK at June 13, 2016 11:38 PM


"House Passes Historic FOIA Bill, Obama Expected to Sign" in Demand Progress

Today the House of Representatives passed the FOIA Improvement Act of 2016, which passed the Senate in March; President Obama indicated…

by Daniel Schuman at June 13, 2016 09:18 PM

June 12, 2016


Feeling like a grown-up

I wrote a little piece for the home/design section of Refinery29 this week about things you can do to make your home feel like that of an adult. Obviously, those things are subjective, but it's a few pieces of advice of how to clean up your place so it doesn't feel like an eternal frat-monster has taken over your home well into your 30s.

In the research of the pieces, as I often do, I solicited thoughts about what my friends thought should go into the home of an "adult." Then, after reading the thoughtful comments on those posts, I decided to ask a more personal question: "When did you truly feel like you were an adult?"

As you probably know by know (and if you're younger and you're reading this and you don't, you will eventually): you almost never "feel" like an adult. The one thing I've come to accept about my life is I will constantly be winging it. I'm in my mid-30s, and nothing as truly yet made feel like a grown-up -- not buying my own place, not refinancing it, not being good and respected at my job, not buying a couch. I still eternally feel like I'm 23 and figuring things out as I go along. Which is fine. I'd rather know life is that way than feeling like I'm missing out on some secret manual that my parents forgot to hand down to me upon college graduation.

Anyways, my friends on Facebook had some really interesting thoughts on the moments when they did feel like an adult, so I'm sharing them here, anonymously and with their permission. When did you first feel "grown up"? Have you yet at all? 

(PS: my favorite answer came from my cousin, sorry to out her, but it's the one I agree with most: Realizing your parents were making it up as they went along.

Not that they are stupid, or don't have more experience, just that there is no secret rule book or script or dictates for how to act as an "adult".

The best analogy I can think of is when you become adept at a skill, and look back and think about how that skill was indistinguishable from magic before you knew how it worked. But there is no magic. Just you, knowing how to do stuff.)

  • The first time I made an appointment with a general practitioner for no reason other than it's a good idea to get a checkup.
  • This may sound odd, but it was when I realized I could order orange juice AND coffee at breakfast if I wanted because I was paying. My dad used to be super stingy about that, griping about how much beverages were marked up at restaurants. He didn't get the point of going out for a meal, I guess.
  • For me it might have been spending significant money on a nice mattress that actually went a long way toward improving back pain. :)
  • Talking to the guy at Ace hardware about which is the best filter for our HVAC unit.
  • Sorry to bring this wayyyy down to depression land, but it was agreeing to not use life support for my father after his heart attack. I mean, FUCK. That was the single most adult moment of my life (and the days that followed), even more so than marriage and birth.
  • When I became a mother.
  • When I hit "pay full balance" on a credit card payment for the first time.
  • Getting jackets altered.
  • After I drop 2 kids off at 2 separate care places and drive to work alone in my car with two car seats I realize...good lord, I am an adult.

by catherine at June 12, 2016 10:12 PM

June 11, 2016


Grilled Avocado

A few weeks ago, my little sister visited me for a weekend. Entertaining a less than 21 year-old is a challenge in DC; it stretches ones creativity. What this weekend did include, was a tour of many of my favorite food purveyors in DC: Duke’s Grocery for a Proper Burger, Indigo DC for the best butter chicken and roti, and Daikaya’s Ramen Bar.

If you have ever dined at Daikaya, particularly during a traditional meal-time, you are familiar with their no reservation policy and long wait times. Daikaya, however, has no place to sit in their vestibule. With an hour wait and a rainy day outside, I found the perfect opportunity to try Daikaya Izakaya, the restaurant/bar upstairs from the Daikaya Ramen Bar.

Pro Tip: If your table is ready at the Ramen Bar and you’re still enjoying food/beverage from Izakaya, ask your server to relocate said food/beverage to your table downstairs. Not only will you have a delicious cocktail/sake/beer/appetizer to accompany your giant bowl of ramen, but your neighboring diners will look on with envy at your off-menu items.

Once we found our spot at the bar (yes, Izakaya was somehow okay with a child sitting at their bar), we got to ordering: chicken thighs, corn, and grilled avocado. When the grilled avocado was delivered to our table, it came with instructions. There were multiple components on the plate, including a grilled half avocado with the pit well filled with ponzu. The server instructed us to incorporate the components served alongside the avocado (sea salt, wasabi, and lemon wedge) into the ponzu. We obeyed, mixed up our sauce, and began to eat. The simplicity of this dish intrigued me and I decided mid-avocado half that I would attempt this dish at home.

This dish is What I Ate This Week. A craving for something grilled and light, and a bag of avocados on hand, brought me to the international aisle of my local grocer, filling a basket with ponzu and wasabi. Once back in the kitchen, I got to work dressing the plate with components while I delegated grilling the avocado halves to someone without a fear of open flames.

Cooking and plating this dish took less than ten minutes. [An eye-pleasing plate plus a short cooking time put this dish up for recommendation for any dinner party.] We sat down to eat our avocados, mixing our components one by one in the ponzu, and began to scoop out avocado and sauce.

Immediately, at first bite, we could tell something was off. The sauce was strong, bitter, and…terrible. With so few components, the problem was obvious – I had picked up undesirable wasabi too-full of horseradish.

While not the most delicious bite of food, this dish showed incredible promise, and made for a pretty picture. I know for next time to make a trip to Hanna Japanese Market for a higher-quality wasabi…and to taste all components before putting them on the plate.

grilled avocado and ponzu served with sea salt, wasabi, and lemon

June 11, 2016 11:52 PM


"House Beats Back Effort to Weaken Office of Congressional Ethics, But It Was Ugly" in Demand Progress

On Friday rank-and-file members of the House of Representatives beat back a last-minute amendment by Rep. Steve Pearce (R-NM) to reduce…

by Daniel Schuman at June 11, 2016 07:37 PM


It's all relative

As nearly anyone who's worked with me will attest to, I've long since touted nedbat's talk Pragmatic Unicode, or, How do I stop the pain? as one of the most foundational talks, and required watching for all programmers.

The reason is because netbat hits on something bigger - something more fundamental than how to handle Unicode -- it's how to handle data which is relative.

For those who want the TL;DR, the argument is as follows:

Facts of Life:

  1. Computers work with Bytes. Bytes go in, Bytes go out.
  2. The world needs more than 256 symbols.
  3. You need both Bytes and Unicode
  4. You cannot infer the encoding of bytes.
  5. Declared encodings can be Wrong

Now, to fix it, the following protips:

  1. Unicode sandwich
  2. Know what you have
  3. TEST

Relative Data

I've started to think more about why we do the things we do when we write code, and one thing that continues to be a source of morbid schadenfreude is watching code break by failing to handle Unicode right. It's hard! However, watching what breaks lets you gain a bit of insight into how the author thinks, and what assumptions they make.

When you send someone Unicode, there are a lot of assumptions that have to be made. Your computer has to trust what you (yes, you!) entered into your web browser, your web browser has to pass that on over the network (most of the time without encoding information), to a server which reads that bytestream, and makes a wild guess at what it should be. That server might save it to a database, and interpolate it into an HTML template in a different encoding (called Mojibake), resulting in a bad time for everyone involved.

Everything's awful, and the fact our computers can continue to display text to us is a goddamn miracle. Never forget that.

When it comes down to it, when I see a byte sitting on a page, I don't know (and can't know!) if it's Windows-1252, UTF-8, Latin-1, or EBCDIC. What's a poem to me is terminal garbage to you.

Over the years, hacks have evolved. We have magic numbers, and plain ole' hacks to just guess based on the content. Of course, like all good computer programs, this has lead to its fair share of hilarious bugs, and there's nothing stopping files from (validly!) being multiple things at the same time.

Like many things, it's all in the eye of the beholder.


Just like Unicode, this is a word that can put your friendly neighborhood programmer into a series of profanity laden tirades. Go find one in the wild, and ask them about what they think about timezone handling bugs they've seen. I'll wait. Go ahead.

Rants are funny things. They're fun to watch. Hilarious to give. Sometimes just getting it all out can help. They can tell you a lot about the true nature of problems.

It's funny to consider the isomorphic nature of Unicode rants and Timezone rants.

I don't think this is an accident.

U̶n̶i̶c̶o̶d̶e̶ timezone Sandwich

Ned's Unicode Sandwich applies -- As early as we can, in the lowest level we can (reading from the database, filesystem, wherever!), all datetimes must be timezone qualified with their correct timezone. Always. If you mean UTC, say it's in UTC.

Treat any unqualified datetimes as "bytes". They're not to be trusted. Never, never, never trust 'em. Don't process any datetimes until you're sure they're in the right timezone.

This lets the delicious inside of your datetime sandwich handle timezones with grace, and finally, as late as you can, turn it back into bytes (if at all!). Treat locations as tzdb entries, and qualify datetime objects into their absolute timezone (EST, EDT, PST, PDT)

It's not until you want to show the datetime to the user again should you consider how to re-encode your datetime to bytes. You should think about what flavor of bytes, what encoding -- what timezone -- should I be encoding into?


Just like Unicode, testing that your code works with datetimes is important. Every time I think about how to go about doing this, I think about that one time that mjg59 couldn't book a flight starting Tuesday from AKL, landing in HNL on Monday night, because United couldn't book the last leg to SFO. Do you ever assume dates only go forward as time goes on? Remember timezones.

Construct test data, make sure someone in New Zealand's +13:45 can correctly talk with their friends in Baker Island's -12:00, and that the events sort right.

Just because it's Noon on New Years Eve in England doesn't mean it's not 1 AM the next year in New Zealand. Places a few miles apart may go on Daylight savings different days. Indian Standard Time is not even aligned on the hour to GMT (+05:30)!

Test early, and test often. Memorize a few timezones, and challenge your assumptions when writing code that has to do with time. Don't use wall clocks to mean monotonic time. Remember there's a whole world out there, and we only deal with part of it.

It's also worth remembering, as Andrew Pendleton pointed out to me, that it's possible that a datetime isn't even unique for a place, since you can never know if 2016-11-06 01:00:00 in America/New_York (in the tzdb) is the first one, or second one. Storing EST or EDT along with your datetime may help, though!


Improper handling of timezones can lead to some interesting things, and failing to be explicit (or at least, very rigid) in what you expect will lead to an unholy class of bugs we've all come to hate. At best, you have confused users doing math, at worst, someone misses a critical event, or our security code fails.

I recently found what I regard to be a pretty bad bug in apt (which David has prepared a fix for and is pending upload, yay! Thank you!), which boiled down to documentation and code expecting datetimes in a timezone, but accepting any timezone, and silently treating it as UTC.

The solution is to hard-fail, which is an interesting choice to me (as a vocal fan of timezone aware code), but at the least it won't fail by misunderstanding what the server is trying to communicate, and I do understand and empathize with the situation the apt maintainers are in.

Final Thoughts

Overall, my main point is although most modern developers know how to deal with Unicode pain, I think there is a more general lesson to learn -- namely, you should always know what data you have, and always remember what it is. Understand assumptions as early as you can, and always store them with the data.

by Paul Tagliamonte at June 11, 2016 03:45 AM


My theory about The Americans

This week marked the finale of season 4 of the Americans. Like almost everyone else, I loved it. Already, I can barely wait until the next season starts. But as I prepared to watch the finale, I had a nagging thought. I just couldn’t let it go. And now, I am absolutely convinced that … [Warning, serious spoiler alert ahead!]

… Stan Beeman is CIA.

Let that soak in for a moment.

My theory is that Stan has known about the Jennings from day one. In fact, Mrs. Sandra Beeman is in the CIA, too. They’re just like Elizabeth and Philip; a “married” couple working together on getting close to the Jennings. The FBI story? It’s cover, designed to make the Beemans too attractive for the Jennings to pass up. Although we’ve all been waiting for Stan’s “Leaves of Grass” moment when he realizes the Jennings are KGB, we’ve been played. This whole time we’ve been thinking that Philip is trying to convert Stan? Think again: Stan has been working Philip.

If you pause and think about it, we don’t really know anything about Stan Beeman before he moves into the neighborhood. And neither do his peers. Here’s a man who one day shows up with a family that barely knows him, with a backstory that is plausible but decidedly undeveloped. Here’s a man who is decidedly tenacious in his day job, but back at the home front seems never to suspect that his neighbors are spies, despite the fact that he was suspicious on day one and then never again after that (“Huh. Nothing in the garage? Job’s done, folks!”). And, gosh darn it, even though Stan sees basically a million sketches of the Jennings, he never sees them in the pictures. I guess those wigs are just super solid.

There are a lot of pieces of the puzzle that start to make sense when you play this out. For example, Beeman has already flipped two Soviet spies: Nina and Burov. In doing so, he’s managed to thwart major dangers to the US (an assassination attempt, loss of biological weapons, etc.). Maybe it’s the Russians who are having morality crises, or maybe it’s that Beeman is a master in spycraft.

And what about the protective halo that surrounds Beeman? Remember back in season one when Stan kills a KGB agent, against orders, seemingly out of pure passion, in an unauthorized operation? Remember how Stan basically suffers no consequences for this? And, oh yeah, it was a joint operation of the FBI and CIA? Fast forward to season 3, remember when Stan effectively ran an off-books operation related to Burov? And how Gaad can’t punish him? Maybe Stan’s just lucky and the FBI prizes results over protocol. Or maybe Beeman’s got air cover.

Then, there’s Henry. Hasn’t it been a bit weird that Stan has gotten so close to Henry? Philip we can understand. They’re just two middle-class dudes in suburban DC living their lives, talking cars and EST, drinking their beers. But Henry? Sure, we’re supposed to believe that Stan’s filling the family-shaped whole in his heart now that Sandra and Matthew are out of the picture. But what if Stan’s grooming Henry? Sting is most certainly right that the Russians love their children, but the Americans’ love of Russian children might just be a little more calculated.

Finally, there’s Martha. Yes, Martha is the crown jewel in the FBI’s bumbling. Unless of course the US has known about Martha the whole time, and has been using the situation as a vector for misinformation back to the Soviets. Or, better, using Martha as an emotional wedge against Philip. Or even better, a CIA operative now working in the Soviet Union, exfiltrated by the Russians themselves! If Martha was in on it (“oh, she doesn’t have any friends either, you say? weird.”), then maybe – just maybe – the tapes from the pen were edited before they got sent to KGB Centre.

Now, all of this could be off the mark. It’s obviously possible that Beeman’s just an average American FBI agent, working in counter-intelligence, coincidentally living across the street from the KGB’s most important couple. But, if we’ve learned anything from the show, sometimes the best secrets are hiding in plain sight.

And, oh, by the way… Joe Weisberg, the creator of the Americans was CIA. Just sayin’.

June 11, 2016 12:00 AM

June 10, 2016


Faint Success, or, Surviving My First Tinder Date

I’ve been on Tinder for a long time. Me and my thumbs make vague attempts at engaging with it from time to time, but have never made it to the point of actually going on a date. At first I experienced the same phenomenon I did on earlier online dating endeavors – men who only seemed interested in chatting forever, perhaps fulfilling some ego fanning by thinking someone’s interested in you? perhaps a sign they were in fact not available and just wanted some attention? Or the constant barrage of either just gross descriptions of sex acts before nary a hello or its inverse: just being deadly boring. At any rate, sometime last weekend when I was staying in thanks to some general malaise, I decided aw fuck it. I’m going to chat up some dudes on these many apps i swipe through from time to time, and I’m going to make some fucking dates. 

This guy seemed fine – professor, multi-lingual, over 30. We seemed to share a bunch of Facebook friends, but I think that proved a glitch when those all disappeared the next day. He asked me a question About something in my profile then suggested we go for pizza, something I also mentioned liking in my profile (I’m a get to the point kind of gal. THE POINT AT THE END OF A SLICE! HEYOOOO!). “Alright, here we go, let’s roll the dice and say yes,” is what my mental monologue said. 

After I had to reschedule once because of work, pizza turned into beers (something he had expressed great interest in) at a bar he recommended. I like new bars I don’t know! This one was a board game themed place in Dupont Circle that had a really great bartender, some delightful seeming regulars, a sufficient beer selection, and had made a baffling decision to paint a giant mural on the beautiful brick wall instead of the dead boring white plaster wall opposite it, whose nakedness I found really distracting. 

So my date arrives. He jumps into a question and barrels over my answer with another question, whose answer he also steps on. I’m taken aback but chalk it up to nerves. He asks for an Allagash, which the bartender informs him they don’t have. (I find this odd as this is a favorite place of his, I thought.) The bartender lists other wheat beers they have. He asks for a Blue Moon. (That wasn’t on the list.) OK, I think, listening: not his thing. The conversation trucks on, mostly about his career, for a while. I notice that he only seems to smile at things he says. I forget how but I made some pivot away from work at one point and mentioned I have a pet, and make some comment about generally loving living things (except for bugs). He says he doesn’t like animals, or plants. He reveals he grew up in a very quiet house hold where the TV was never on and there wasn’t a lot of noise, mostly just reading books. Ah ha, I think. 

I then basically made a one foul swoop move to end the date. Asked for my tab, put on my purse, stood up and basically just kept talking the entire time throughout this motion while I shook his hand, backed away and exited. (Yes, I announced my plans to leave first, I’m not a monster.) I escaped to the soul soothing rock n roll of King Khan at the Black Cat and realized that joyfulness is a must-have quality in any mate of mine. Not something I recognized the need to quantify before. 

Anyway, moral of the story: I can keep a conversation going with just about anyone. There is some very serious woman out there who will make this man very happy but that woman is not me. I have a second date lined up tonight with another suitor. It will either be better or a disaster of a different color. I will keep trying this for a while since the regular TV season is over and there’s less to do at home right now, I guess. 

June 10, 2016 03:45 PM

June 09, 2016


I have become so weirdly obsessed with Game of Thrones this season. i’ve watched it all along, but...

I have become so weirdly obsessed with Game of Thrones this season. i’ve watched it all along, but never before have I spent LITERALLY AN ENTIRE DAY on wikis learning the ins and out of the various religions in Westeros (and Easteros! Did you know we’re talking about continents here? I didn’t!). My main lesson: the show leaves out and/or doesn’t emphasize A LOT of what makes most of the plot develop. And I think correcting for that is what’s been making this season so good. 

I pretty much constantly have at least 4 GoT tabs open and just want more and more and more content. GIMME YR CONTENT, NERDS! 

June 09, 2016 08:37 PM

Gonna buy tickets to this multiple times just to drown out the...

Gonna buy tickets to this multiple times just to drown out the MRAs.

June 09, 2016 07:42 PM

buzzfeednews: Obama Endorses Hillary Clinton For...


Obama Endorses Hillary Clinton For President

They’re here. It’s happening. The Historic Campaign Feels have creeped up on me hard. 

June 09, 2016 07:41 PM

June 07, 2016


The time I went to see a House Ways and Means Committee tax hearing

At this session, the Ways and Means Committee was hosting a show and tell, as roughly forty Congresspersons took three minutes each to talk about their favorite proposal for tax reform. Here, I’ll talk about one common pattern for single-industry reforms.

I went to the hearing partly for serious purposes that are off-topic here, but also as a bit of tourism. Most of the work of Congress happens in committees that conduct business in the office buildings that flank the Congress building itself. You’re free to attend. Security-wise, there’s a metal detector at the building entrance, but it’s much easier to enter the House Ways and Means Committee hearing room than, say, your flight to Chicago.

The House Ways and Means Committee hearing room

The House Ways and Means Committee hearing room.


I thought it was a great time, but I understand if you’d like a summary of the arguments presented instead of watching the full two hour, 40 minute video. There were a few different forms of proposal, but the one I want to focus on can be summarized in two paragraphs and an image I GIMPed up.

Think back to your first day of Econ 101. You learned that if I own a widget and value it at $10, and you want the widget and value it at $20, then an exchange will occur, let’s say at $15, leaving both of us $5 better off. From my perspective as the seller, beyond selling my widget, I produced $5 of added value for you that I did not capture. I’m some kinda charity over here, an essential engine of the economy that deserves to recapture a tiny fraction of the uncaptured value I add for others via a tax subsidy.

This argumentation form can be used by almost any industry, because as long as it is engaged in voluntary trade with the public it produces uncaptured surplus for the public. All it takes to turn this into lobbying is doing some back-of-envelope calculations to quantify the surplus. To give a local example, have a look at this PDF from the DC DOT  justifying why they want to spend millions of public dollars improving private rail lines solely owned and operated by private companies. At the hearing, there was mention of railroads, mechanical insulation makers, contract research labs, and all sorts of other corners of the economy we don’t spend much time thinking about.

My intent is not to say that this argument is wholly invalid—maybe we want to subsidize patent holders, or solar panel producers, or people operating happy farms—but to clarify that the justification for the tax cut is often tediously identical across industries.

A parody image with a car sharing logo and the caption

My mock-up rendering of what most advocacy ads boil down to.

So that’s the rationale for many of the tax reforms aimed at a specific group. With regards to such reforms, we can divide the voting public into two camps:

  • Parties that benefit from the reform.
  • Parties that have no idea that the reform exists.

To give an example that came up several times, 1 hour 24 mins into the video a Representative from Colorado gives a shout-out to H.R. 2903, the Craft Beverage Modernization and Tax Reform Act of 2015 (herein the CBMTRA).

He points out that this bill regarding craft beverages is supported by brewers with a major presence in his district, such as Miller-Coors and Anheuser-Busch. Toward the end of the hearing a representative from Surly Brewing came out to speak. The bill has some parts about tax accounting that benefit only some small businesses, but by my reading the key provision is a change in how some capital expenses are treated under tax law, shifting them from being depreciated over years to being immediately expensed.

Before I told you about this proposal, were you aware that the CBMTRA even existed? As you read about expensing versus depreciation, is your outrage meter registering anything? That’s why this bill has relatively decent odds of passing.

This is a well-tested strategy, and tax law is littered with the results: single-industry benefits that few people outside of that industry know exists, let alone care to challenge.

Next time, I’ll show some interesting examples from Form 3800.

by BK at June 07, 2016 11:17 AM

June 06, 2016


Amish Butter

It’s been said that Boris Yeltsin realized that the USSR had failed as an economic system after visiting a supermarket in Houston and seeing how much more good, cheap food was available to the average American than their counterpart in Russia. The Americans didn’t even have to wait in lines! Yeltsin apparently just roamed around the aisles, looking at all the food and considering his life choices. Just as Yeltsin sunk into a deep despair after his shopping experience, so too have I began to reevaluate my life after being introduced to Amish Butter. All I know about Amish Butter is that it is butter that is, presumably, made by Amish people and that I can buy it at the Harris Teeter by my house. Beyond that, I don’t feel like I know much about it or food in general anymore because Amish Butter has challenged my relationship with what I eat.

I was hanging out with a foodie friend in his kitchen (natch). He pulled what looked like a wad of c4 and/or lard out of his refrigerator. He grabbed a fancy knife looking thing, one of those planar knives that’s mostly just a blade and was probably originally meant to parcel out designer drugs. After sizing up a piece of bread, he cut a quarter inch thick slice of butter that covered the entire bread slice and told me to eat it. He knew better than to say try this, because you can’t just try Amish Butter, you are compelled to finish whatever the butter is on lest you let the Amish Butter go to waste and karma sees fit to prevent you from having the fortune to eat it again. Within 24 hours, I had gone out and purchased my own hunk of Amish Butter and made most of my roommates and my dad sit down and eat toast and Amish Butter with me.

Amish Butter is perhaps the only food I’ve eaten that has immediately changed my diet. It comes in two pound hunks that are surprisingly cheap. It’s got a heft to it that demands respect. I’ve refused to use a regular butter knife when slicing it out, alternating between reaching to the back of the drawer for a small sharp knife for precision slicing and a fork when I don’t feel like wasting the time to try and find the proper utensil. It doesn’t seem right to use a regular butter knife, because Amish Butter isn’t regular butter. Amish Butter is what regular butter aspires to be, the same way little kids aspire to be the president before they understand how utterly impossible it is for them to ever achieve that dream and resign themselves to living their somewhat satisfying but ultimately average and likely mediocre lives.

After Amish Butter, I now have an urgent need to deeply understand my toaster. I have more opinions about toast now than I previously thought were possible and they are all entirely predicated on finding the right level of toastedness for my bread so it can live up to Amish Butter’s exacting standards. The trick to eating Amish Butter is to eat as much as possible without getting sick. The toast acts as a transport while also reminding me of the physical limits of how much Amish Butter I can eat in one sitting. The toast can’t be so hot as to cause severe melting but it can’t be so cold as to distract from the experience. There is a certain crunch that is needed. Lukewarm cripsy toast is best for me, though I’m sure each person will find their own path towards best experiencing Amish Butter. For some reason, I can’t simply slice as I go, it has to all be cut and prepared at the beginning of the toast session. Part of the experience is seeing exactly how much Amish Butter I am about to one sitting and soaking it all in.

This all is a long winded way of saying that I’ve become that person who sits outside on his deck with two pounds of Amish Butter, a reliable knife, four pieces of toast and a massive shit eating grin  and, if you ever chance a visit to my home, you will become just such a person as well.

by Zack Maril at June 06, 2016 03:57 AM


Next Steps in Congressional Openness: News from the May Bulk Data Task Force Meeting

The 21 year-old legislative information website THOMAS will be retired on July 5 was the top news from last Wednesday’s congressional Bulk Access to Legislative Data public meeting. The fact that THOMAS was shutting down was not news, but the timing was.

While it didn’t generate a story in the press, two other developments are particularly important regarding how Congress engages the public. For the first time, the meeting was webcast and panelists—who came from offices and agencies throughout the legislative branch—responded to questions from people inside and outside the room. This will soon become regular practice; and video will shortly be available. Even more striking, Congress is responding to technical comments made on GitHub to the data it releases, creating an ongoing, real-time conversation about public access to legislative information with all the relevant stakeholders. This is a big deal. Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM


The Library of Congress announced that the legislative information website THOMAS is scheduled to stop functioning on July 5, with to replace its functionality. This will allow the Library to focus all its energy on instead of having also to maintain a very awkward, 21-year-old website.Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

Bulk Data Task Force Meets Wednesday 4/27 at 10:30

The Congressional Bulk Data Task Force will meet this Wednesday at 10:30 am in the Legislative Resource Center in the Cannon Building near room 133. The Library of Congress graciously has offered to host the event online– go here after 10:15ish for a live feed.

On the agenda:

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

3 Cheers for the Door Stop Awards

The OpenGov Foundation hosted the Door Stop Awards yesterday, which recognized the largely (but not entirely) unsung efforts to open the doors of Congress to the American people.

Last night, at the first ever Door Stop Awards last night, six Members of Congress and congressional staff were honored by the open government community for their tireless efforts to drag Congress into the digital age and make the legislative branch more open, responsive, and accountable.Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

House Publishes Its Rules, Jefferson’s Manual, & More Online as Structured Data

Today the Government Publishing Office published the House Manual — which contains Rules of the House of Representatives, Jefferson’s Manual, and other important legislative documents — online in a structured data format on GitHub. GPO did so pursuant to direction from the House Rules Committee, which was acting in accordance with the rules package passed at the beginning of the 114th Congress, which declares:

The House shall continue efforts to broaden the availability of legislative documents in machine readable formats in the One Hundred Fourteenth Congress in furtherance of the institutional priority of improving public availability and use of legislative information produced by the House and its committees.

The online publication of key legislative documents as structured data is a welcome development. The Congressional Data Coalition has for a long time requested the enhancement, which empowers further analysis and reuse of the information in many different context. I, for one, will be glad to be able to automatically track revisions in the House Rules from Congress to Congress. I know others will find much more insightful uses.

All the offices and agencies involved with the project deserve congratulations, including: the House Rules Committee, the House Parliamentarian, the Clerk of the House, and the U.S. Government Publishing Office. (I’m sure there are more.)

The House Manual, as helpfully explained in the user guide to using the electronic version of the manual, includes:

  • the U.S. Constitution
  • Jefferson’s Manual
  • the Rules of the House of Representatives
  • Provisions of the Legislative Reorganization Acts
  • Congressional Budget Act laws
  • Legislative Procedures

All of the files can be found here. I have not had an opportunity to fully review what’s online — for example, I’m trying to find an unannotated version of the House Rules— but GPO has helpfully requested feedback on the GitHub page.

House Rules Committee Chairman Pete Sessions hailed the move in a statement:

Technology plays an important role in our daily lives, and it is necessary that the House keep up with the most efficient and effective ways to provide information about Congressional activities. As Chairman of the House Rules Committee, I am committed to the advancement of sharing legislative data online and am confident that our efforts will result in a better informed public.

GPO explained, in a press release, the value of publishing the documents in a more flexible format:

Making Government information available in XML permits data to be reused and repurposed not only for print output but for conversion into ebooks, mobile web applications, and other forms of content delivery, including data mashups and other analytical tools by third party providers, which contributes to openness and transparency in Government.

Good job. And thank you.

Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

2016 Legislative Data & Transparency Conference Set for June 21

The Committee on House Administration will host its fifth annual Legislative Data and Transparency Conference on June 21, from 9-4 in the U.S. Capitol.

Free registration is now open. Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

A Guide for Appropriators on Opening Up Congressional Information and Making Congress Work Better

For the fifth year in a row, today members of the Congressional Data Coalition submitted testimony to House Appropriators on ways to open up legislative information. The bipartisan coalition focused on tweaking congressional procedures and releasing datasets that, in the hands of third parties, will strengthen Congress’ capacity to govern.Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

Congress open up the tap for Legislative Data!

Today the Government Publishing Office and Library of Congress completed a full revolution in public access to legislative information. Information about legislative actions in congress–the bills, summaries of the bills, and their status–is now available online, in bulk, in a structured data format. As I wrote in December, this has great significance:

  • It marks the publication of essential legislative information in a format that supports unlimited public reuse, analysis, and republication. It is now possible to see much of a bill’s life cycle.
  • It illustrates the positive relationship that has grown between Congress and the public on access to legislative information, where there is growing open dialog and conversation about how to best meet our collective needs.
  • It is an example of how different components within the legislative branch are engaging with one another on a range of data-related issues, sometimes for the first time ever, under the aegis of the Bulk Data Task Force.
  • It means the Library of Congress and GPO will no longer be tied to the antiquated THOMAS website and can focus on more rapid technological advancement. (At least for data from the 113th and 114th Congresses).
  • It shows how a diverse community of outside organizations and interests came together and built a community to work with Congress for the common good.

Many more good things are on the horizon, and we have hopes for many more from Congress and civic coders, but for now, congratulations to our tireless friends in Congress and the legislative support offices and agencies that have labored to make this happen. Read their announcement here.

-- Delivered by Feed43 service

June 06, 2016 03:30 AM

Congress Poised for Leap to Open Up Legislative Data

Following bills in Congress requires three major pieces of information: the text of the bill, a summary of what the bill is about, and the status information associated with the bill. For the last few years, Congress has been publishing the text and summaries for all legislation moving in Congress, but has not published bill status information. This key information is necessary to identify the bill author, where the bill is in the legislative process, who introduced the legislation, and so on.

While it has been in the works for a while, this week Congress confirmed it will make “Bill Statuses in XML format available through the GPO’s Federal Digital System (FDsys) Bulk Data repository starting with the 113th Congress,” (i.e. January 2013).  In “early 2016,” bill status information will be published online in bulk– here. This should mean that people who wish to use the legislative information published on and THOMAS will no longer need to scrape those websites for current legislative information, but instead should be able to access it automatically.Continue Reading

-- Delivered by Feed43 service

June 06, 2016 03:30 AM


I'm Blogging Again!!! About Linux

It's been over a year now since I last blogged, which is really disappointing. I think I got a lot of good writing done here from 2013-2015, with posts that really stand the test of time, and I'd like to create more of those.

This will not be one of them! But it is the start of me participating in Iron Blogger, which the kind and gentle Paul Tagliamonte has rounded up me and a number of our DC friends to do. So, I will pay a fine not to update my blog each week.

Though it is humbling to be at the point where a monetary penalty is the personal motivator that successfully puts e-pen to e-paper, I have decided to accept this and channel it in the best direction possible.

Today I would like to talk about Linux.

Desktop Linux: still not dead yet

Thanks to a dedicated little team at Dell called Sputnik, it is possible to get a light, beautiful, exquisitely machined laptop that ships with Linux, made with a world-class supply line, solid hardware and specs, and a guarantee that everything will Just Work.

In late 2014, I bought a snappy little thing and, with Paul Tagliamonte's help (sensing a pattern?), installed Debian and documented the hell out of how to do it for those who came after me. I loved that computer to pieces, in fact I loved it too much and I offered it a sip (well, quite a few sips) of the soda I was drinking at the time and then we had to spend some time apart.

So I recently went and checked out the latest from Dell's Sputnik line and got myself a new XPS. It is an outstanding and wonderful little machine:

Though it comes Ubuntu 14.04 LTS, you can install Ubuntu 16.04 or the latest Debian on it just fine. The only hiccup is that mine shipped with a buggy motherboard, but a call to Dell got me quickly in touch with a genuine expert who sent a technician out promptly to replace it. Even the customer support was excellent, better than I expect from a massive global company -- and especially nice to not have the company flick you away with their little finger when they hear that you've installed Linux on the computer they sold you. Because this time, they installed it first themselves!

If you're thinking about a new laptop and have an open mind towards Linux, consider Ubuntu or Debian. Ubuntu is very easy to install, while Debian is more challenging, my Debian instructions from last time got me through very well this time, and I'm in the process of updating them for tiny changes in Debian and the new XPS.

Did I mention that Steam works, with 3D and everything? I can play everything from Stephen's Sausage Roll to The Talos Principle, all on my fast and thin Linux laptop.

Also there's a gratuitous touch screen! The entire screen is a touch screen, while also sporting a 3200x1800 super high-resolution. It may not be the Year Of Linux On The Desktop, but goddamnit, you can still get a beautiful Linux computer today that runs a true community-built free operating system and it will make you feel very good.

June 06, 2016 03:20 AM


Good technology in the hands of terrible people

I’m definitely not the first person to say this (nor, unfortunately, will I be the last), but as creators and builders we has a responsibility to think through the implications of what we’re building. No matter how benign we may believe the app to be, we have to ask: if I were a terrible person, how would I use this for evil?

I, like many people, prefer to assume that people are inherently good, and we build apps with (I would hope) the best of intentions. However, this doesn’t mean we can ignore the hidden costs of our technology. Take the time to think through every possible, twisted scenario that could arise. If you can’t think of a single situation where someone could use this for nefarious purposes, find someone who can. This is yet another benefit of diversity: your worldview and experiences are going to be completely different from someone else’s. Especially someone of a different gender or race. We all have amazing powers of empathy, but that is so different from someone who’s lived it. They’ll think of things that would never occur to you, and that’s okay. I would argue that’s a good thing.

Diversity is (obviously) incredibly important to me, but it really hits home for me when thinking about the scary side of technology. It struck me particiulary hard when I downloaded Gyroscope and integrated it with Moves. Let me start by saying: I love these apps. They’re beautiful, they’re simple, and they’re a really great way to track your health, fitness, steps, productivity, sleep patterns, habits, etc. etc. The possibility for improving people’s lives is incredible. But the same things that make these apps great, are also what scare the daylights out of me.

Unlike something like 4Square which requires you to check into places (actively opt-in to admitting you were somewhere), Moves constantly tracks where you are, how you got there, and how long you stayed. It turns this information into a convenient map, and translates activities into calories burned. This is great if you want to track habits and remember that one bar you went to that one time. But what happens when someone else gets ahold of this information? I can hear some of you thinking “but really, the company isn’t going to do anything with my personal information, and what do I care if a stranger has this info?” Remember what I said at the top: what if I were a terrible person?

Personal story time: A long, long time ago, I, like so many other women I’ve talked to over the years, made a terrible dating choice and ended up in an unhealthy, manipulative relationship. Everything I did was watched. Friends I added on Facebook, new contacts in my phone, you name it. Anything and everything could be used as ammunition against me. It’s a long story for another time, but I bring it up because Moves would have been a nightmare for me. He could have installed it on my phone without my knowledge, and checked it at any given time. Sure, it would have been on my phone, but if you think I was allowed to have a password that’s very optimistic of you. When something as innocusous as a Spotify music update can be used for evil, image the damage that Moves could do.

I’m not saying Moves shouldn’t exist. Now, several years and many states of separation have granted me a sense of security, so now I love Moves. What I’m saying is that we need to think about the worst of the worst. The bottom-of-the-barrel “no one is really like this” situations. Think about them, ask other people, ask yourself what you can do to improve security and privacy. We owe it to our users.

June 06, 2016 03:00 AM

June 05, 2016


The pop culture of my life

I was on the stair mill on the gym the other day, as is my wont. (I have ranted about this to a lot of my friends, and I'll never stop spreading the word: the stair mill is the best piece of equipment in the gym. It's like climbing a vertical mountain non stop giving you the best leg muscles ever but instead of like being outside in beautiful nature or whatever you can also be listening to Britney Spears' greatest hits and reading trashy magazines.) Anyways, I was reading a trashy magazine, and thinking about what to blog about this week, when I came across a feature in EW mag called the Pop Culture of My Life. They interview a celebrity every week about the latest book they read, first album they bought, etc., etc. Seemed like a pretty good idea so I'm stealing it for this blog post, because the content beasts never stop being hungry.  

The book I read in secret as a kid 
This is really embarrassing (and I'll have to see if I'm remembering it correctly, I'm sure my parents, who read this blog, will chime in) but in elementary school I was a Sweet Valley High devotee. There was one particular book in the series that had gotten around the mom group that it was too scandalous to read. One of the twins, Jessica, encounters a mustachioed college student who touches her butt. Literally. My mom said I was to never read it, so naturally, I stole it from the library and read it, and then hid it in my purse until it was many months' past due. One day I came downstairs and my baby sister was playing with my purse and had thrown out that book, and my mom looked at it, and I looked at it, and we looked at it each other, and I picked it up and returned it to the library, and we never spoke of it again.
The book I’ve read over and over
I haven't reread many books as an adult but from the ages of 8-13 I probably reread the entire Anne of Green Gables series approximately 37 times.
The last TV show I binged
I'm in the midst of Game of Thrones, currently in season 3. That's right, I'm the last person on earth who had seen it. It's pretty cool I guess.
The last book that made me laugh out loud
Probably Mindy Kaling's latest. It's predictable, but has some pretty good spots.
The last album I listened to
Pavement's Brighten the Corners, this morning. Something about Pavement screams early summer to me - hazy, lazy, lo-fi, clever.
My all-time favorite movie
Sad but true, probably the 1996 A&E version of Pride and Prejudice.
The TV show that doesn’t get its due
Uh, HGTV's Property Brothers? I don't watch a ton of current TV because I find it too overwhelming to keep up with all of the things I should. Oh but you know what was a really good show that everybody thought looked terribly stupid was Selfie. It was wildly funny and Karen Gillan and Henry Cho had wonderful chemistry.
The first album I bought with my own money
Radiohead's The Bends, circa 1995, at the long-gone Tower Records on Leesburg Pike, RIP. Would put it in my discman every night, fall asleep by track 6 "Nice Dream" and awake with a start to "Just," then fall back asleep by "Bulletproof." Emo Cath.
The last book I read
Tenth of December by George Saunders. 5 stars.


by catherine at June 05, 2016 04:48 PM


Storytelling and federal procurement

Last week, after chatting about challenges in federal procurement, a colleague suggested a book entitled the “Free Enterprise Patriot.” The opening statement of the book sets the stage:

Had the complexity of today’s bureaucratic government existed when the War of Independence began, this is how it might have been, with one exception … we probably wouldn’t have won.

The book is satire, written in 1964 by a pseudonymous author, about a blacksmith who wants to sell a cannon to the Continental Army during the American Revolution. It begins with the vendor’s unsolicited proposal:

I strongly favor the action taken by the Representatives of the Colonies on 04 July 1776. Since I want to do my part to help, I want to know if you could use another cannon. I have a small blacksmith shop here in Wilfred Corners which I run myself. I have never made a cannon, but I am sure I could and if need be, I could get some of the men around these parts to help. I would only charge for the metal and a “little to help my family buy corn meal and meat for the winter. Please let me know what kind of cannon you want and where you want it, and I will get started on it right away.

And the response is pure gold:

In order to conduct business affairs with the Continental Congress and the supply agencies of the Colonial Army, it will be necessary for you to complete certain routine forms to help our Weapons Procurement Evaluation Branch (WPEB) evaluate your business and determine whether you qualify as a supplier to the Colonial Army. Naturally, in the interests of security during this period of unrest, the government agencies must insure that its suppliers meet minimum standards of quality and performance. Please fill out the attached forms provided (in triplicate), retain one file copy and return the other copies along with a statement of the type of weapons manufacture or Army supply on which you wish to bid.

This sort of back-and-forth continues throughout the book. It’s amusing and I recommend it (I bought it on Amazon for about $10). But the thing that I find most astonishing about it is how effective it is in conveying why federal procurement is so stultified.

In that vein, over the past few months, I’ve spent a lot of time learning about user experience and design. One aspect of the practice that has captured my imagination is the role of storytelling in design. The central idea behind storytelling in design is that telling a story invites teams to agree upon problems, gain an understanding of context, and consider multiple alternate realities in an easy way. But as my colleague Andrew Maier explains, storytelling is hard work:

We can use the concept of storytelling to give our teams an idea of where we are headed. But applying storytelling to the websites we create is difficult work…

It is therefore important to appreciate that the Free Enterprise Patriot is so good precisely because the reader had extraordinarily deep insight into the complexities of the federal procurement system. It only hangs together because the author had obvious empathy for the myriad ways that the government created barriers to success, for good reasons and bad. Indeed, it’s because of that insight that the author could tell an effective story using a completely different context to create space for a conversation of the current context.

The lesson for me is that storytelling can have a broader utility than creating incredible user experiences. Storytelling can also help us learn about extremely complicated topics, and find a shared understanding of how to tackle modern challenges.

June 05, 2016 12:00 AM

June 04, 2016


The time I saw Ezra Klein talk about presenting research

This post and the next are leading up to a discussion of IRS Form 3800. Why should you care about Form 3800, a form you likely have no personal dealings with? Because a form nobody cares about is a great place to hide a lot of things.

I’ll start the story by telling you about the time I saw Ezra Klein, the head of an increasingly popular news outlet. Somebody in one of the World Bank’s research groups invited him to present an explainer to the researchers about how they can get their news out to the public.

He opened strong: we eggheads like to complain that the public just wants fluff and isn’t interested in detailed or technical work, but if the public doesn’t care about your work it’s your fault, not theirs. There’s an interesting and accessible lede to every story, and it’s up to you to find it (and not bury it in academic-level detail).

If you think it’s an especially interesting story, then there’s nothing wrong with directly and politely contacting journalists and telling them about it. Finding recent papers with something new and newsworthy is exactly the kind of thing Ezra’s journalists are trying to do all day.

One WB researcher had a paper on pirates. Does having military officers on board deter them? Yes, he found, but only at a scale such that it’s not deemed cost-effective. Ezra was delighted—pirates!

Another had a paper about textbook provision in countries that rarely see textbooks. She found that teachers don’t hand them out to the whole class as one would expect, because they don’t expect to ever see another textbook shipment again and the conservation/stockpiling instinct kicks in. Ezra was less excited. Maybe the correct audience is not the general public, but the community of people who do procurement and distribution.

The third example was mine, during the Q&A after his talk. I’m writing a paper about a technical issue of great import to the U.S. public—the one tweak that could save the U.S. taxpayer billions of dollars. But you can’t understand it until you know a lot of background about the existing state of a technically complicated system (even more nuanced than Form 3800). How does one get over the hump of background information? Ezra’s reply: you don’t. He thinks that my target audience is not the public at all, but maybe even just one person, the Secretary of the Treasury. Representative democracy and an informed public is great, but we also have to respect the time of our readers, who have lives outside of public policy.

To summarize my read of his position, we can explain anything to the public in a manner that will hold their interest, but that doesn’t me we should. The journalist side doesn’t have the bandwidth to cover it all, and the public doesn’t have the bandwidth to digest it all—even Congressional staffers don’t have that much time.

This is a little more nuanced than the typical story that the public is too dumb or too apathetic, which Ezra rejected at the outset. Rather, it’s a question of the finite resource constraint of a 24-hour day. Readers will only pay attention to so many issues, especially given that they have only negligible power to change anything, and people who curate and prepare issues for the public can only hit so many topics given their own resource constraints. Technocratic issues have an inherent disadvantage on these fronts, because they cost more in time and effort for readers and authors, and the public typically has an even more minuscule influence over them.

Next episode, I’ll visit the House Ways and Means Committee, where a good deal of the more obscure policy is discussed. This is where the lack of public bandwidth will start to matter.

by BK at June 04, 2016 11:10 PM


Strawberry Shortcake 🍓

A strawberry has always been my go-to everday fruit. And by everday fruit, I mean all 12 months of the year. Growing up, I have memories of my mother buying 2 quarts of strawberries every week at the grocery store – and they were always delicious. Seasonality was not a concern or on my radar thanks to modern agricultural miracles.

Today, strawberries are still a constant in my life. However, each year I find myself surprised by the red, plump, sweet berries that appear at the grocer every May.

This year, I decided to step outside of my plastic clamshell strawberry universe and go strawberry picking. These strawberries did not disappoint.

woman holding strawerries in field

While raw, as jam, or covered in cream, strawberries may be one of the few upsides to impending summer heat. With a recent ~~obsession~~ peaked interest in local dairy, I decided that strawberry shortcake made of fresh strawberries, shortcake biscuits and homemade vanilla bean whippped heavy cream would be the perfect entry to the summer months.

I used Bon Appetit’s “BA’s Best Strawberry Shortcake Recipe” to guide the adventure, mainly because it included a few oddball, unexpected ingredients (a sign that a recipe has been through a test kitchen wringer and is likely foolproof). While hard-boiled egg yolks and cornmeal seems like bizarre ingredients for a shortcake recipe, they created a biscuit like density and brought some earthiness to what could have been a too-sweet dessert.

I made a few modifications to the recipe due to lack of tools/ingredients on hand. While I think my version turned out perfectly acceptable and delicious, I would recommend sticking with Bon Appetit’s suggested implements.

  1. I did not have access to a large enough food processor to pulse the dry ingredients. Instead, I opted for a KitchenAid at speed #4 with the whisk attachment.
  2. I did not have parchment paper on hand. Instead, I opted for a silicone mat.
  3. I did not have sanding sugar in the pantry. Instead, I used granulated sugar. Note: these shortcakes really missed the sanding sugar.

The recipe notes that these shortcakes can be baked a day in advance. I did this, but found that they did lose their external crispness and needed a quick crisp-up in a higher-heat over before serving.

As for the strawberries, this recipe asks for two different strawberry preparations: maceration (with fruit, this just means adding sugar and let sit to let the fruit release its juices) and compote (a word for half-made jam, cooked fruit in syrup). This was probably the best part of this recipe. The combination of the warm compote syrup soaked into the shortcake halves with the chill of the macerated sweet beries created the perfect temperature balance. While seemingly-labor intensive, neither of these preparations take much attention and can provide you time to clean up your counters as the strawberries cook and chill.

Aside from the dual strawberry preparation and oddball ingredients, I selected this recipe for its encouragement to utilize whole vanilla beans. Needless to say, the whole bean made the difference with a raw vanilla application in the whipped cream. As for appearance, the black specks present throughout the cream can’t be over-hyped.

strawberry shortcake

June 04, 2016 04:19 PM

June 03, 2016


Alice, it is $1,000 for the upcoming year, or $19 a week, or $3.84

Because of the way spending money works, the money for this is from a different pool of funds entirely from what pays for Social Security…

by Daniel Schuman at June 03, 2016 12:25 PM

June 02, 2016


Timeline adjacency points out a startling resemblance. *****My...

Timeline adjacency points out a startling resemblance. 


My clever friends respond to this over email: 

Kriston: I’m going to Her Grace’s Land

LSG: diamonds on the soles of her wellies? the only living girl in…. ?????????????

Josh: Take a deep breath, Beth
No need for the quiz, Liz
Just get outta my face, your Grace
And get yourself free

Me: Lizzie, I’m lost, I say, as we drive past the garden. I’ve got a new album and I don’t know whyyyyyyy

Kriston: If you’ll be my body guard, I can be your long last palI can call you Betty, and Betty when you call me, you can call me Prince Philip, Duke of Edinburgh, Lord of the House of Schleswig-Holstein-Sonderburg-Glücksburg

LSG: applause, i was just gonna send you unchanged lyrics from “I Am A Rock”’ but i’m out

June 02, 2016 02:50 PM


Alice, I’m afraid you have misunderstood what has happened.

First, staff are not getting an $18,000 raise. On average they’re getting a $1,000 cost of living adjustment, which will come out to about…

by Daniel Schuman at June 02, 2016 02:19 PM

June 01, 2016


What’s more Classic Blogging than a weekend/vacation recap? I’m fresh from a trip to Charleston for...

What’s more Classic Blogging than a weekend/vacation recap? I’m fresh from a trip to Charleston for the 40th annual Spoleto festival, which was on the heels of missing most of last week of work because of strep throat, which came right after being in England for 10 days. So basically I stopped adulting some time ago and highly recommend this lifestyle. 


The first time I went to London when I was 16, I had this overwhelming sense of “I’m supposed to live here.” I had it again when I studied abroad there. Again every other time I’ve gone. This trip was no different. God I love that city. All of the big city trappings of NYC without the DIFFICULTY plus the charm of being SUPER OLD and everything is just accessible and man I love it. London was just a pit stop on the way to Dorset, aka classic beautiful English countryside of your dreams. We were there for my goddaughter’s Christening. DESTINATION BAPTISM Y’ALL. (Really it’s just that the father is English and it was important to his family to do it there.) So me and my co-godmother (in England girls get 2 G-mothers and 1 G-father, boys the inverse) and the godfather and his lovely wife went with our best friends across the pond for a week and change of stone cold mother land adventuring. 14th century churches, 16th century farm houses, iron age forts, endless G&Ts, spaniels and labradors as far as the eye can see. Then we spent a few days at the beach in Devon. You know what’s cool? Being on a beach surrounded by rolling green hills where you can hear cows and sheep while you make sand castles. That is cool. Also my goddaughter is the best and cutest and I love her the most. 


I’ll save the story of how my mom almost missed our trip for another post. Despite the visiting monsoons courtesy Tropical Storm Bonnie, Spoleto is really cool. I saw a couple of performances I wasn’t wild about – Old Crow Medicine Show is so dogged in their schtick that it looses all immediacy. Every song is about some different southern city or river and every movement is deeply choreographed. No looseness. No dirt. Unassailably great, multitalented musicians and performers, just too too too much for this thing they’re doing. The big central event of this year’s Spoleto was a staging of Porgy & Bess, blocks from the neighborhood it was set in. It was super sold out but I made a friend in the nail salon who was in the chorus who tipped me off to some last minute released tickets. I jumped and gave them all of my money and sadly it was kind of a stinker. The brand new concert hall’s multi-million dollar build out didn’t yield perfect acoustics, leaving most of the lyrics unintelligible. And the set designer was more focused on impressing people with his own genius than making design decisions that amplified the story. All in all it was disappointing and distracting, though the chorus and orchestra were phenomenal. 

But I saw some amazing stuff too! Ada/Ava by Manual Cinema was one of the most moving, incredible, inventive, creative things I’ve ever seen in my life. I can’t think of an art form that wasn’t applied to this work of genius. The story is told with shadow puppets and actors over overhead projectors with live musicians. I can’t begin to explain what made it so special but holy hell. If you ever get the chance to see something they do, run don’t walk. 

I also got the distinct pleasure of seeing Bill T. Jones’ dance company perform two pieces. He’s a titan and it was completely perfect and incredible. 

The re-opening of the Gibbes Museum was another high point, featuring a very Charleston-centric permanent collection and an exhibit in reaction to the shootings at Mother Emmanuel last year. It was very smart and moving and really well done. 

I also ate ALL of the food in that incredible food city, walked all over, saw so many beautiful houses and gardens, went to some muckity muck cocktail parties, watched my uncle be a BFD, and spent good quality time with beloved family. 

Now I’m back at work, mainlining iced coffee. 

June 01, 2016 02:42 PM


universal basic income

UBI is getting a ton of attention these days, and on the whole I’m glad. Smart people I know who care deeply about social welfare have been quietly nursing this dream for a long time, and I respect the depth of their thought and commitment. One friend is even writing a book about UBI! I would like to see a greater share of society’s wealth go to the poor, and this seems like a mechanism for achieving that goal that is worth investigating.

This is not to say that I’m a believer. Untested ideas for social improvement generally look pretty good compared to the ones we’ve actually implemented, which have somehow all turned out to be complicated and horrible. And I’ve known enough people with serious problems to call myself a paternalist without discomfort. The dignity of financial self-determination sounds great on paper, and saying that some people can’t handle it does not. Alas, personal experience has made the latter conclusion inescapable to me.

But I don’t want to talk about that today. Really, I want to talk about the deeply silly people from my own culture who are driving this policy moment. The nerds have discovered UBI.

There’s no better spot to observe this phenomenon than Hacker News, a site that shares Reddit’s basic worldview but is more brainy, shy, and — thank goodness — ashamed of its sexuality. HN is great because threads about, say, astrophotometry fill up with people whose PhD theses were about a _similar_ kind of laser, and they think the way these researchers cooled the dielectric here is really quite clever. It’s terrible because basically everything else is about Soylent or Bitcoin or buying Soylent with Bitcoin.

(Okay, that’s a cheap shot. These days it’s about how you could write Ethereum blockchain contracts to distribute Soylent.)

HN is populated with smart people who work at software startups, most of whom live in the Bay area. Many of them are very excited about UBI. There are nineteen pages of results for the first relevant phrase I tried. It has become a subject of sufficient fascination in the community that Y Combinator, the incubator that birthed and maintains Hacker News, is investing in a series of experiments to evaluate UBI’s viability. They just announced their first UBI director and pilot program, in fact.

This is all to the good. Wealthy people are going to give some money to poorer people to see if it helps them. I bet it will! Good for them.

But at the risk of ruining a good thing, I can’t help wondering why my fellow software developers find this idea so interesting. From that post:

One reason we think it may work is that technological improvements should generate an abundance of resources. Although basic income seems fiscally challenging today, in a world where technology replaces existing jobs and basic income becomes necessary, technological improvements should generate an abundance of resources and the cost of living should fall dramatically.

When Sam says “technological improvements”, I don’t think he means better cookstoves in rural China. I suspect he means the kind of stuff that Y Combinator is funding. Software stuff, mostly — probably a bunch of machine learning projects that promise to finally invent a machine that does more than rotate, plus maybe one or two discount-rate materials science startups (I hear you can make quantum dots in room temperature water these days).

He might be right! But even if he’s not, what glorious hubris.

Imagine meeting a child running a lemonade stand. She’s proud of her lemonade, and why not?

“In fact,” she says, “I think there’s a pretty good chance that this lemonade is going to be the only thing that people drink from now on. I mean try it.”

You do. You have to admit it’s pretty good.

“On the whole I’m excited and humbled to have finally solved the beverage problem. But it won’t be an easy transition for everyone! I mean, for me it will be, I’ll be fabulously wealthy, ha ha.”

It seems polite to join in the laughter so you do.

“So I’ve been thinking,” she continues, “That the responsible thing to do is to invest a portion of my profits into researching how to remediate those negative effects. If I don’t, I think it’s pretty likely that the children of soda manufacturers, for example, will wind up dying in the streets. And before they die, they could riot. It would be hugely disruptive.”

You remark that that sounds like it would be bad for business. She locks eyes with you with a sudden intensity, in way that inescapably says: I knew you would understand.

Imagine thinking you and your buddies are so smart that your efforts are going to make most other human endeavor pointless. It must be sort of overwhelming. I’d probably feel compelled to hire a postdoc to do something about it, too.

Obviously this is not the only reason people support UBI. It’s not even the only reason people in the software industry support UBI! But, knowing human nature and my industry’s hilarious track record at introspection, I do think it’s possible — juuuust possible — that some programmers have been driven by self-regard into a historical materialist analysis under which their superior intelligence transforms society and creates a permanent, pitiable underclass. UBI is both a compassionate response to this sad calculus and, coincidentally enough, a mechanism by which the vast majority of our fortunes and lifestyles can escape disruption.

Well, I wish us all luck. At the moment there is no reason to believe that any of this is happening whatsoever. But it does seem like the robot car thing might work out.

Still, if you’re worried about the technology industry further immiserating the poor, I would pay less attention to Uber ordering LIDAR units and more to them inviting their drivers to finance their vehicles instead of spending capital on a fleet. I agree that autonomous applications driven by deep learning models written in TensorFlow are much more exciting, but if you really want to avoid screwing over the little guy, Excel spreadsheets are probably the first place to look.

by Tom at June 01, 2016 03:02 AM

iron blogger

My friend and former colleague Paultag has challenged me to participate in a scheme he calls Iron Blogger, which nudges people to blog by fining them $5 per week if they don’t. More posts than usual should follow! And no, this one doesn’t count.

by Tom at June 01, 2016 01:50 AM

May 31, 2016


"House of Reps’ Spending Info Is Now Online as Data" in Demand Progress

Yesterday the House of Representatives began publishing its spending data online as a spreadsheet (and continued publishing it online as a…

by Daniel Schuman at May 31, 2016 04:07 AM

A little math illustrates why providing a modest COLA to congressional staff really should be…

To summarize, my article considers whether there’s a connection between our investment in congress and bad outcomes. You get what you pay…

by Daniel Schuman at May 31, 2016 02:16 AM


Iron Blogger DC

Back in 2014, Mako ran a Boston Iron Blogger chapter, where you had to blog once a week, or you owed $5 into the pot. A while later, I ran it (along with Molly and Johns), and things were great.

When I moved to DC, I had already talked with Tom Lee and Eric Mill about running a DC Iron Blogger chapter, but it hasn’t happened in the year and a half I’ve been in DC.

This week, I make good on that, with a fantastic group set up at; with more to come (I’m sure!).

Looking forward to many parties and though provoking blog posts in my future. I’m also quite pleased I’ll be resuming my blogging. Hi, again, planet Debian!

May 31, 2016 01:37 AM

May 30, 2016


Things I'm enjoying in May

An occasional and arbitrary list of things I'm liking for whatever reason

-Making my own chicken salad sandwiches. Why did nobody ever tell me about the magic that is poached chicken? Takes almost no time or effort, and you end up with shreddable chicken that you can douse in mayonnaise to your heart's content (my dessert island food would probably be pizza, or bread/olive oil/cheese, but a close runner up would be rotisserie chicken dipped in mayo because I'm a disgusting human being). I poached several chicken breasts, shredded them up, tossed them with celery, dill, dijon, mayo, salt, pepper and green onions and ate it served on rustic bread. Great summer meal. 

-Pantene Pro-V Triple Action Volume Maximum Hold Hair Mousse. Just a great mousse for fine hair. Does all the things a mousse is supposed to do (more volume, body, holds any styling you do) but doesn't feel crunchy and gross. 
-This is sort of a weird recommendation, but the restaurant Carmine's in DC's Penn Quarter. I always thought of it as a huge tourist trap - it's a giant, theatrical, old-school-style Italian looking place that's always packed with out of towners and (on the night we went) prom date kids. Well, I recently had my own group of out of towners in town (a family reunion) and I was tasked with some logistics, one of those being to find a place to have a private room hold 25 of us for dinner. Carmine's fit the bill, and the food was actually... magnificent. The thing I can't stop thinking about is their chocolate torte, which is the best I've ever had. I will scour the internet to its ends looking for that recipe. Anyways, recommended for groups. 
-NPR's Pop Culture Happy Hour podcast. Have I recommend this before? Perhaps. Anyways, I don't listen to every episode because some stuff discusses things I don't care about or haven't seen (mostly comic book stuff; Hamilton) but I know it's good because even though I friggin hated the most recent Captain America (I'm the only person in America), I really enjoyed their podcast on it, because they are thoughtful, funny people and I like the things that come out of their mouths. 
-These fake Vans-style shoes from Target and these flats from Target. They're both comfortable and oh so cheap and when you inevitably wear them into the ground this summer, you just purchase them again.
-Running. I'm sloooooowllllly easing back into it after really not running much after October's marathon. It really just proves to me I, unlike many people out there, PREFER running in the disgusting summer weather. I like it. Bring on the sweat. I'm thinking of signing up for a half marathon in September, so we'll see where it goes. 

by catherine at May 30, 2016 06:40 PM

May 28, 2016


Thoughts from a person who just started watching Game of Thrones

(Though I've read all the books. Though I've also forgotten almost everything that happens in the books.)

First half of season 1 responses:

-They literally say "winter is coming like 17 times an episode." This seems like overkill.

-Catelyn Stark makes some real bad decisions. What did she THINK was going to happen if she captured Tyrion? Did she not even consider the myriad issues it would cause her husband/daughters? From what I remember of having read the books, she continues to make bad decisions. Her and Cersei. Get it together, leader women.

-So many boobs.

-The depiction of the Dothrakis seems... problematic. 

-I don't know how she progresses in the rest of the seasons but the casting of Emilia Clarke as Daenerys never sat right with me. Too wide eyed and boring.

-Can you imagine just not seeing people for like 10 years? And then you're like 'hey bestie I missed you.'

-Why had John Snow never seen the Wall if it wasn't that far of a ride up from Winterfell? (At least it didn't seem like it was that far of a ride the way episode framed it.) He got screwed.

-Bran is annoying. 

-The theme song is great and everybody should listen to the Song Exploder podcast episode on it.

-How many candles do you think they go through on an episode? Like, literally thousands. 

-How come John Snow gets to bring his dog to the wall? You can't get married or have sex but you can have a dog? OK Night's Watch. Let's have some consistency.


by catherine at May 28, 2016 08:18 PM

May 23, 2016


The Icky Democrat(ic) Party

There is a weird difference in how Democrats and Republicans refer to the Democratic Party, and it comes down to the suffix “ic.”

by Daniel Schuman at May 23, 2016 09:01 AM

May 22, 2016


How to have a delightful solo vacation in Charlottesville (without a car)


The post I wrote earlier this year about taking a solo vacation was noticed/reread by a couple of other friends this week, so I thought it would be a good time to revisit the subject. As timing would have it, I treated myself to a little solo vacation in Charlottesville just last week. Want to do the same for yourself? Here's an itinerary. (If you don't feel like reading through the narrative, I've compiled all the places I visited and dined towards the end.)
I find Charlottesville exceedingly walkable (if you're staying downtown nothing is really more than a 20-30 minute stroll away), but your mileage may very. And if you do want to visit wineries, Monticello, etc., you will need a vehicle. 
Drive down midday with your coworkers for two days of business meetings. (Bonus, when you don't own a car of your own, this is a very convenient way to get down to Cville.) Go to Studio IX, a lovely coffee shop and coworking space in a former textile mill warehouse space. You can rent their conference rooms by the hour or day. Have enormously productive work meetings! 
For dinner, go to Oakhart Social (this is a really buzzed-about place, and it was solid, but we found it just pretty good, not great). That said, it's still pretty cute, the atmosphere and cocktails are awesome, and the pork belly and pizzas were good.
Wander to Downtown Mall, have several beers at Citizen Burger Bar. Too many several beers. Consider second dinner; don't. Walk back on a pleasant spring night to hotel.
Assuage work beer hangover with giant bagel from Bodo's on the corner (I went for an onion bagel with lox and cream cheese and a large lemonade. Magic). Go work back at Studio IX for a few more hours. Studio IX happens to be in a larger complex housing a lot of other cool things, including Brazos Tacos, a nice little taco joint. Get lunch there. Work a few more hours. Bye, Studio IX! Bye, work!
Go to your Airbnb in the neighborhood of Fifeville. Nap. 
Then treat yourself to a nice evening out: oysters, an IPA, and a custom cocktail at the excellent Public Fish & Oyster just up the street. Walk over to Belmont to have tapas and a margarita at Mas (order the shrimp, the dates, and the boquerones). Have a leisurely walk home through the Downtown Mall, where the free Fridays After Five concert series is taking place, with lots of folks and children milling about, listening to the music. Get a butter pecan ice cream cone at Chaps Ice Cream, where the same woman who served you ice cream 15 years ago when you went to UVa is still doling it out and calling you honey. 
It's coffee time. You're going to get so much coffee. Head up to Sheepdog Coffee, in the new-to-you Graduate, a boutique hotel that's taken over the old Red Roof Inn space next to Mellow Mushroom. Get a La Colombe cold brew. Walk down towards the Downtown Mall because it's time for more coffee. Stop in Milli Coffee Roasters for another iced coffee.

YOU ARE VERY CAFFEINATED AT THIS POINT. It's also time to eat something, because you haven't technically had breakfast yet. Stop over at Marie Bette Bakery for two -- yes, two -- croissants -- one almond, and one ham and gruyere. Walk around a bit on the Corner, indulging in the easy rhythm of nostalgia -- oh, that's where -- oh this is different -- oh, that's the same -- and enjoy the sunshine, which feels like the rarest pleasure of all.
Saunter back home and decide you have time for a quick run around campus. Lace up shoes, wheeze around for three miles, surprised at the fact that Charlottesville is hilly. Did it seem so hilly when you were running through it at 21? No, no it did not. Run past the Rotunda -- still under construction, sad face -- and down the lawn. Run past your old house of senior year -- gosh, it's not even there anymore! -- and the houses of your other friends -- they're still there, and, shockingly, even more decrepit when you all lived there. College students have not gotten more discerning with time, it seems. 
Shower, change, and meet your friend right before a giant thunderstorm rolls through town for your most excellent meal yet, a beer, some bread, and a giant prosciutto pizza at the neapolitan pizzeria Lampo. Eat entire pizza by yourself while rain slams against window, then clears up as quickly as it came in.
It's time for a nap after that, then you meet your friends again at a lovely park and hang out with their kids for a while (you're full, from previous entire pizza, but they've bought delicious savory and sweet pies from the Pie Chest to snack on). You leave them and stroll up to the Livery for a beer on the downtown mall, then Tavern Grocery over on Main Street, which has this stunning atmosphere -- dark wood, gas lights, low ceilings, right out of Thomas Jefferson's time for a beer and some fried oysters, then sneak downstairs to this "secret" speakeasy you read about online (so, not really secret) called Lost Saint for a cocktail at the bar.
It's bedtime after that, then it's Sunday, and you have time for only one more breakfast. It's gonna be Ace Biscuit & Barbecue for a pork belly breakfast biscuit. You scarf it down, run to the nearby Bodo's for a bagel with walnut raisin cream cheese for the trip back, run to the Amtrak, hop on the 11:17 train back to Washington, DC, and google Charlottesville real estate the whole way home.
Where to go:
Bodo's Bagels
Marie Bette
Ace Biscuit & Barbecue
Lunch or Dinner: 
Oakhart Social (modern American, very hipster-y atmosphere)
Mas (tapas)
Public Fish & Oyster
Brazos Tacos
Lampo (pizza)


by catherine at May 22, 2016 10:43 PM

May 18, 2016


"House Appropriators Turn Back Public Access to CRS Reports, but Not Without a Fight" in Demand Progress

Today the House of Representatives’ Appropriations Committee debated two amendments that would make Congressional Research Service reports…

by Daniel Schuman at May 18, 2016 02:22 AM

May 17, 2016


May 16, 2016


How to Give Your Job Announcements Legs

What to include when your post announcements on your website — and how to do it

by Daniel Schuman at May 16, 2016 01:14 PM

May 08, 2016


The Time I Screamed at Thom Yorke

Radiohead launched their new album, A Moon Shaped Pool, just an hour or two ago. I listened. It's got a couple of good tunes on it but overall is pretty boring. That's a fact. That's also my stance on The King of Limbs. Those things are facts. But obviously they are basically still one of the best bands in the world. 

Most of you who have been reading for a long time know that in my youth, I was a kind of intense Radiohead fan. Like from ages 15-22, I was basically a groupie. I followed them up and down the East coast and saw them play like 12 times in a few years. My email still is pablohoney at gmail dot com (a holdover from when PabloHoney was my AIM screen name). Now, I'm old and boring and my back can't take standing for hours at concerts (and the last time I saw them live was I think in 2012, when they played the Verizon Center). But they 100% still have a special music-shaped hole in my otherwise cold and dark heart.
So in honor of the new album drop today, I will tell you the story about how I once screamed like a crazy person at Thom Yorke to play "True Love Waits."
It's a simple story. My Radiohead groupie friends that I developed via the internet (one of whom is now an elected official, and most of us grew up to be semi-respectable) (and yes, people were meeting on the internet back in the 90s, we had listservs and chat rooms and everything old is new again) and I went up to New York City to watch them play a couple of shows at Radio City Music Hall. I think this was in 1998, so I would have been 18. Because I was 18, and had stamina, and energy, and lacked cynicism, and held people as idols, we actually waited outside of Radio City Music Hall literally all day before the concert in hopes of running into members of the band. 
It worked - I met Stanley Donwood, the artist who creates most of Radiohead's album and concert/poster art. I met their drummer Phil Selway (the awesomely embarrassing experience of which you can read about here). 
At one point, Ed O'Brien, the guitarist, perhaps most well-known as The Hottest Member of Radiohead, came out of one of the side doors after their soundcheck. I am embarrassed to say, I literally sprinted after him (along with some other fan I did not know, who was ON CRUTCHES AND MOVED LIKE A SPEED DEMON) to go get his autograph. Dreamy.
But it immediately became clear that Ed had been deployed out of that side door to try to act as a decoy to distract attention from Thom Yorke, who followed out after. My friends were yelling at me to come back as he, imp-like, scampered into a waiting SUV, clearly terrified by all of us adoring maniacs. In my memory, I basically threw myself against the door of the car, screaming and crying, though I sincerely hope the interaction wasn't that desperate and insane. 

At that time, an unreleased track had been floating around called "True Love Waits." They'd played it a few times live and it really gained a following amongst fans. It was included on A Moon Shaped Pool as the last track and I just listened, and much prefer the original version, a very sweet, simple, acoustic song usually played solo by Yorke. 
So as Thom Yorke raced to hide in his giant SUV, smiling nervously at the small throng of dedicated Radiohead weirdos, I, in my Radiohead bear t-shirt and flared jeans that I distinctly remember wearing because I thought they were cool, tried to make very serious eye contact with him through the car window and screamed, "PLAY TRUE LOVE WAITS TONIGHT! PLAY TRUE LOVE WAITS!" Yorke nodded nervously and waved, and the car sped off.
They did not play "True Love Waits." I feel like that was my fault, because Thom Yorke probably feared me like, assassinating him if he did, taking it as some sort of sign that we had a mental connection. Oh well. Can't say I regret any of it. 

by catherine at May 08, 2016 07:54 PM

April 28, 2016


"So Long, THOMAS" in Demand Progress

The Library of Congress announced that the legislative information website THOMAS is scheduled to stop functioning on July 5, with Congress…

by Daniel Schuman at April 28, 2016 02:45 PM

April 21, 2016


"Thoughts on Public Access to CRS Reports and the Next Librarian of Congress: Watching Hayden…" in Demand Progress

Yesterday I sat behind Dr. Carla Hayden as she testified on her pending nomination as Librarian of Congress before the Senate Rules…

by Daniel Schuman at April 21, 2016 02:21 PM

April 05, 2016


be gentle to their servers and mean to their lawyers

I didn’t like this article about ethical screen scraping very much, and said so on Twitter.

Well, you asked for it.

Screen scraping is the automated collection of information from the web. For our purposes, let’s assume it’s public information. Stuff you can load in your web browser, using an incognito window and a pasted URL. Stuff meant for ungated human consumption.

When might it be unethical to systematically collect this information, which is being published freely? I can think of a few scenarios that might qualify. If your use of the resource makes it unavailable to others, that might be unethical. This could happen if you hammer the server, but it could also happen if you mirror and resell a database that someone has spent money amassing and maintaining, undercutting them and destroying the model that sustains the resource for others.

What if the owner simply doesn’t like the way in which you use their information? Some people think this is a workable way of limiting how information is used. For example, they feel that public tweets shouldn’t be quoted by journalists if the tweets weren’t written with widespread distribution in mind. In a screen scraping context, a realtor site might be fine with you shopping for a home but less excited about your collecting price data to power an analysis of gentrification.

I think that these kinds of implicit rules about how information is used are at best impractical. Well, okay, that’s my diplomatic framing. I really think the sentiment is prudish, illiberal and ludicrous. The transfer of knowledge is not zero-sum and we should err on the side of preserving that miraculous quality. But some people do think along opposing lines.

And although there is very little legal support for their idea that such limitations should be the default way that our society works, it’s certainly possible to impose arbitrary limits on what people do with information you give to them if you can get them to agree to a contract.

This brings us to screen scraping.

You have a right to use information you’ve been told

Liberal society works because facts belong to everyone. Unless you have a very good reason not to, you need to believe in your right to use published information. You need to believe in your right to think and speak freely about the things you have perceived. This is how our civilization works; it’s how our minds work; it’s how reality works. Don’t give up this belief without a fight.

Fuck their contracts

Nearly every website has a terms of service document. These are typically contracts of adhesion that say you can’t use the site at all unless you agree to a ton of fine print, which will often include a prohibition on automated data collection and probably other things you will do in the normal course of using the web and sustaining belief in a modicum of personal rights. They’re also sometimes called “clickwrap” licenses, a rough category of legal agreements that people mindlessly agree to through implicit action when they use software (or when they broke a seal during unwrapping, back when software came in boxes).

This is fundamentally outrageous. You do not enter a contract when you walk into a store or open a book. But the law around websites was born in a later and worse age, when we let them get away with this kind of shenanigan. To a point.

Just because a company puts something in a TOS doesn’t mean it’s legally enforceable. Google probably can’t require you to murder a stranger as a condition of accessing your email, for example. They may not even be able to force Gmail users to permanently forego their right to sue if a self-driving car runs over Fluffy (though Google’s lawyers will certainly try). When the fight lands in front of a judge, who will determine which outrageous overreaches are allowable, Google’s case will be stronger if its lawyers can prove you read and understood the contract terms prior to violating them. I am not a lawyer, and you should consult a real one rather than relying on my advice. But reading the TOS may not do you any favors.

The CFAA is bullshit

Outside of any contracts you mistakenly agree to, the Computer Fraud and Abuse Act is the primary vehicle by which scraping might get you into trouble. Let’s let the EFF explain:

The CFAA is the federal anti-hacking law. Among other things, this law makes it illegal to intentionally access a computer without authorization or in excess of authorization; however, the law does not explain what “without authorization” actually means. The statute does attempt to define “exceeds authorized access,” but the meaning of that phrase has been subject to considerable dispute. While the CFAA is primarily a criminal law intended to reduce the instances of malicious hacking, a 1994 amendment to the bill allows for civil actions to be brought under the staute.

This is a stupid, arbitrary law, and you are potentially violating it every time you use the internet. You should be aware that it exists in the same way that you are aware sharks exist. But you shouldn’t let them stop you from going in the ocean.

Not asking questions is a great way to avoid dumb answers

This is tricky, I know. If a site operator might be excited about your project, getting their permission might unlock better data, save you time, and avoid subsequent fights. But if they’re antagonistic or even just *surprised*, they will instead ask their lawyers how they should respond to your request and their lawyers will (eventually) tell them to say “no”. Then you will have no plausible way to claim that you didn’t know you shouldn’t collect the information. Worse, the publishers will be on their guard.

If you think the site operator might want to work with you, you should ask for their help. If you’re not sure, you should instead ask yourself if you have an ethical claim to the data. The site operator is not necessarily the appropriate arbiter of that question. At Sunlight we encountered endless situations where the site operator was not the information’s rightful owner. Government sites, hosting public information, with robots.txt files forbidding automated collection? To hell with that. It’s wrong.

The stakes matter

I say all of the above blithely and confidently, and I think it’s good advice for the audience to which the original talk was aimed: journalists. It is decidedly not how I approach these questions in my professional life, at least not these days. I work for a private, for-profit enterprise. We’re trying to make money. We have the resources to be careful, to buy licenses, to read contracts, and to be worth suing.

And while I’m proud of how much work our company does to add to the public good, we are not investigative reporters or nonprofit activists. Perhaps more to the point: if we callously take someone else’s information and they come after us with a decent argument about it, no one will shed tears for us.

If you are acting on behalf of a corporation, talk to your counsel, then talk to their counsel, then work out an agreement. Take it from Gawker, getting deposed isn’t as fun as it sounds.

If you are a journalist, a hobbyist, an activist, or really anyone seeking knowledge rather than wealth: scrape that site. Teach us something. Try not to be a jerk about it. It will probably be fine.

by Tom at April 05, 2016 02:49 AM

March 19, 2016


Managing complexity: encoding the tax code

I put together an interactive tool to explore the U.S. individual tax calculation.

Here is a screenshot of the most basic tax form. You can click through to and add components for kids, check the boxes to add components for a mortgage, student loans, rents and royalties, and so on.


What inspired me to develop it this far is that I showed an early draft to friends and colleagues, and for the most part their reaction was complete indifference.

Taxes are not something you understand, I was told, they are something you do. Every year, you stuff numbers into a black box, and the black box spits out a single owed/refunded number, and that’s what taxes are. There is never any need to intuit how the tax system works.

But tax law is of central importance in governance—nobody jokes about the inevitability of death and parking enforcement. And title 26 of the US Code (herein, the tax code) is arguably the most complex part of the law. What does it take to be an informed citizen or policymaker in this context?


Try it yourself

Here are some fun exercises (really) you can try with the graphical tax explorer linked above:

Q: You can’t deduct large real estate losses—they’re limited by a function of income. But you can reduce your AGI (adjusted gross income) via a student loan interest deduction. Does using the student loan deduction loosen the limitation on real estate losses?

Q: The child tax credit is also limited by a function of income. Does the student loan interest deduction affect that limitation?

Q: Can you receive EITC (earned income tax credit, a subsidy to the poor) and pay the alternative minimum tax (a limit on the wealthy) at the same time?

After you try it with the graphical version, see if you can answer the same questions using this format or this format.

Understanding matters

There are tax analysts who hate the word loophole, under the presumption that every quirk in the tax code was deliberately put there by a policy maker, but errors in managing complexity seem inevitable. When you read about how MegaPlusCorp saved fifty million dollars on their taxes by some very specific trick, you can ask whether it was a choice by legislators to allow it or a failure to manage complexity—a loophole.

Setting aside the lawmakers and the multinationals, the code is filled with exhortations to average users to do things differently. The mortgage income deduction is an incentive to take out a mortgage, the EITC is read as an incentive to work, the child tax credit is an incentive to have kids under seventeen. But if there is no way for a taxpayer to know the effect of these incentives, they aren’t really incentives.

What’s worse, they could come off as lies. “They told me that if I buy this house I’d have a tax bill that’s $1,000 lower, but deducting my house expenses did something I don’t understand to my child tax credit, which teaches me that the tax system is haphazard, random, fixed against people like me, and just plain corrupt. I’ll vote for any politician that promises to burn the whole thing down.”

It is a corollary of the principle that transparent government is good government: the more opportunities citizens have to understand the tax code, the better off the entire system will be. Wouldn’t it be great if civic hackers had a reference implementation of the tax code around which they could write what-if calculators for consumers or businesses, a policy analysis tool using IRS SOI (statistics of income) data, still more infographics, or tools for in-person tax prep for all the tax clinics that pop up this time of year?


In 1913, there was a two-step encoding process to tax law: first, legislators would write the tax code, then the IRS would write a 1040 translating the law into practice.

In the present day, we now add one more encoding, rewriting the law in the form of tax calculators, including the IRS’s Free File Fillable Forms (FFFF, or if you’re in a bad mood, FFFFF). And it is the final encoding, the one taxpayers see, that matters. Consider what would happen if FFFF and 26 USC disagree on some minor detail. Can you imagine IRS imposing penalties on somebody who correctly followed the form instructions but owes taxes under the tax code?

So legislators write the tax code in legalese, then the IRS re-encodes 26 USC in the Byzantine language of tax form instructions, then others re-encode the tax form instructions as executable instructions that people actually use. Policymakers have a harder time of it all because of the multiple re-encodings, individual taxpayers lose interest and tune out, and the big corporations exploit the encoding difficulties to find loopholes. How could we streamline the sequence of multiple re-encodings? My tax graph and the underlying cell database are some potential alternate encodings one could use to understand the process of taxation; what others can we invent?

by BK at March 19, 2016 02:53 PM

March 07, 2016


Reflections on Outreachy

I’ve written about Outreachy a number of times, but since today was my last day, I feel it’s appropriate to write one final summary post. Who doesn’t want a chance to tidy up all of their thoughts and put a nice bow on it?

Outreachy is a program dedicated to getting underrepresented members of the tech community involved in open source software through paid internships with partner companies. Much to my excitement (and surprise) I was accepted as Cadasta’s Outreachy intern for the winter session. I had been teaching myself to code for less than a year but had absolutely fallen in love with it, so I quit my job to spent three months at the Recurse Center in order to fully immerse myself. Armed with enough knowledge to get by but not enough real experience to be dangerous, Outreachy was an exciting next step towards becoming a full-time developer.

I don’t know that I would have had the confidence to pursue coding as a career without the opportunity that Outreachy provided. Part of me was terrified at the thought of doing another internship. Right out of college, I got two internships back to back that both showed me (rather quickly) that the field I thought I wanted to get into was not for me, but they also didn’t feel like a solid step forward. I wasn’t fetching coffee, but the work I was given was minimal and intern (i.e. error) proof. Going into Outreachy I expected something similar. I expected to be handed an endless list of bugs to fix, and to be told exactly what to do, when to do it, and how. It made sense. I didn’t have a lot of experience. Why would I expect anything different?

Day one I found out how misguided my expectations were. Everyone at Cadasta was unbelievably welcoming, and I was given responsibility for the entire Field Papers user interface redesign, with the expectation that it would be treated the same as any other project. I was provided with guidance by people who advised me on where to start, who pointed me in the right direction when I got stuck, and helped me make the final decisions along the way. I had walked in expecting to be handed a blueprint, but was instead asked to write the blueprint, build the scaffolding, and make the final touches. Admittedly, it was a little nerve-racking, and I kept expecting someone to stop me once they discovered I was sort of winging it.

But that was the point: this was an opportunity to learn how these projects work in a supportive and educational environment. I learned how to work with multiple companies on a single project, and that the end results of working with a team are vastly better than when you work alone without feedback. I learned to reach out frequently along the way to make sure I wasn’t getting too attached to any one idea in particular or getting off track. I learned how to work collaboratively and substantially on open source projects that had a real impact beyond bug fixes. Most importantly, I gained confidence in my own ability in a way that feels tangible because I can point to a project that I completed, that got the approval of multiple people along the way. The opportunity that Outreachy and Cadasta provided for me is invaluable, and I can’t thank or recommend them enough.

March 07, 2016 12:12 PM

February 24, 2016


February 20, 2016


On links to court filings

Dear Media,

It’s time we had a talk. Because you’re hurting democracy.

Yesterday, over lunch, I had a lovely conversation with some colleagues about the recent controversy over Apple’s intention to oppose a court order related to unlocking an iPhone in connection with the San Bernadino tragedy. We debated some of the technical aspects of encryption, the legal principles underlying the Fourth Amendment, and the policy implications of the court order. But, it turned out, none of us had read the actual order that Apple was opposing.

As such, I did what I typically do. Google: "judge order apple". There were many links to news articles about the controversy. For example:

To a certain extent, much of the news I read and hear comes from these three outlets. I listen to NPR in the morning. I have a subscription to the NY Times. I live in Washington, DC. These are also large, sophisticated organizations, with commitments to journalistic integrity. They also are hip to the Internet, taking their digital platforms seriously.

Here’s the thing, though. Although these news articles were about a federal judge’s order, none of the articles had a link to that order.

Perhaps you could chalk this up to a selection bias. Maybe I’m just reading the wrong sites? As it turns out, they are not alone. Here are three other TV media outlets with the same problem:

Even a legal media outlet couldn’t be bothered.

Kudos, though, to TechDirt, which actually provided a copy of the order and included the full text. It’s a model for how it should have been done by everyone.

As far as I can tell, it is somewhat normal in journalism to refer to legal disputes and not link to the primary filings in question. It’s not always the case, as evidenced by the most-recent article from the New York Times about the “sharply worded, 25-page motion” by the Department of Justice. But it’s normal enough.

This norm should be flipped. When court filing is the subject of a news article, the absolute default should be a link to an archived version of the file. Here’s why:

From the journalist’s perspective, it should be a no-brainer. One of the standards of the Society of Professional Journalists Code of Ethics is to “Seek Truth and Report It” and to carry out this standard, the SPJ recommends that journalists “Provide access to source material when it is relevant and appropriate.” It would seem wise—if not obligatory—to link to the underlying court filings when they are the subject of an article.

From a legal perspective, there is no good reason not to make a copy of the court filings and link to them. After all, court filings enjoy no copyright protections.

Making a copy of court filings solves another problem, too: expanding legal access. Unfortunately, despite being in the public domain or protected by fair use, many filings exist behind a paywall; providing a publicly available copy of a file will increase public access (not to mention future discoverability) to the law. To the extent those case filings that are not already on the internet behind a paywall, there’s even greater reason to make a digital copy and share it.

Finally, making a publicly available copy helps to prevent link rot of legal documents.

From the public interest’s perspective, the failure to include links harms democracy in the long run. There are many conversations about the politicization of the judiciary. One of the most incredible features of the American judiciary is its commitment to the written word. And one of the reasons for emphasis on writing is ensuring the legitimacy of those decisions. If those decisions are not published or readily accessible when they are the subject of public attention, the institution of the courts — and by extension, American democracy — is harmed.

Which is to say, in addition to harming the journalists’ and lawyers’ professional interests, the failure to cite case filings in news articles harms democracy itself. And providing a link to a copy of a court filing is so easy. If you’re a journalist, for democracy’s sake, just drop that link into your article. Thank you for your attention to the matter.

February 20, 2016 12:00 AM

February 12, 2016


Handling remote work - pair programming with Cloud9

As my Outreachy internship moves along, and I’m learning just how much I love remote work. I love being able to set my own schedule, take a nap when I need to, cook during my lunch break, and workout when then gym’s not crowded. Also, my couch is really freakin comfortable.

I was initially worried about remote work because I love pairing with people. I can happily work by myself and look up answers when I get stuck (my google fu is on point), but the way that I really cement knowledge is by pairing with someone who knows more than I do. It’s a way for me to double check my assumptions, and clear up any confusions that I might have been glossing over. There’s also a really good chance I’ll learn something random, like new bash commands. I had gotten really used to doing this at Recurse Center because they encourage you to do it as much as possible, and I was worried about losing that opportunity when I started working remotely.

Enter Cloud9

Cloud9 was built primarily as an all inclusive development environment in the cloud. While this is great and all, it’s not really why I’m excited about it. I’m excited about it because it allows multiple people to work on the same project at once. It’s different from screen-sharing programs like Screenhero which constrain you to literally sharing the same screen. Cloud9 allows you to work on the same files, but yours screens don’t have to mirror each other. If we’re both looking at the same file, I can see the other person’s cursor and what they’re typing, but I’m not constrained to looking only at the file that they’re looking at. Pair programming I’ve done in the past is has consisted of one person talking and one person driving. This is definitely a different experience. I end up just saying my thought process out loud as I type, and then when I get stuck or want to see how they would do it, I ask. If we run into a bug, we can look in two separate areas and cover ground faster. While it does occasionally lead to both of us working on two separate things rather than both being engaged in one task, it feels more efficient and still provides the safety net of being able to ask questions and watch as they come up with solutions. The one glitch is that we both share the same terminal window, and whoever’s window happens to be smaller constrains the other person’s terminal. So my tiny laptop is seriously limiting to someone who has giant two monitors set up. They don’t handle private .files, so you have to edit these in the terminal using vim, and the server is pretty slow getting set up, but overall it is a pretty nice system. My favorite part: they handle merge conflicts like a dream.

I don’t know that it would ever replace the work that I do on my local machine, but it certainly makes collaborative programming easy, and provides an environment that both a sublime and an emacs users can agree on. I give it two (or four if you’re pairing) thumbs up.

February 12, 2016 03:00 PM

February 05, 2016


First Major PR for Outreachy

It’s done!

Well, sort of. This week I submitted my first major pull request for all of the work I’ve been doing on Field Paper’s UI. After two months of drawing up mocks, working through experiments, and putting together a working product, Ian and I finished putting all the pieces into something that’s actually functional. Is it any good? We’ll see, but at least it works!

During this last chunk of the process I’ve been learning enough Rails to get by. I’ve worked with Node and Flask in the past, so I have a solid understanding of the basic model view controller structure. I understand what routing is, and how to use template languages such as Jade and Handlebars. When I initially started going through the Rails tutorial, it seemed like familiar territory. But imagine setting out on a cross-country hike, and expecting to come across some challenges: a forest to stumble through, a mountain to scale. However, when you get there, someone’s already cut a clear path through the forest and put up a nice fence with a few benches along the way in case you get tired. They’ve also installed an elevator at the bottom of the mountain, so all that climbing gear you’ve been caring around now seems silly and useless. That’s how I felt learning Rails. I’ve implemented user accounts in the past using Passport, and all of the other libraries that are required to create secure user accounts, and along comes Rails with it’s magical User model generator and has_secure_password. It’s very disorienting and makes you almost feel like you’re no longer involved in the process. It’s not that the elevator to the top of the mountain isn’t nice, you’re just vaguely suspicious because you can’t tell how it works and can’t see who’s operating it…

In the end I slogged (or strolled) through, and learned just enough Rails to be able to reconfigure my static Field Papers experiment into the original Field Papers ecosystem. Once it was up and running, it was time to re-write basically all of the CSS I had previously written. If I was going to fully integrate my changes into the original project, I needed to work with the asset pipeline, rather than try and shoehorn my !important changes in. After fiddling with a full-length menu, at the recommendation of both Chandra and Ian, I switched to an accordion menu. One of my favorite things to do in my spare time is learn how to build fancy things in CSS from other people on CodePen. I ended up not only learning how to build an accordion menu, but also re-learned how to create triangles and arrows in pure css. (Sometimes, I think CSS is really cool. But don’t tell anyone.)

See the Pen Accordion Menu by Lindsey Jacks (@linzjax) on CodePen.

There’s still plenty of room for improvement, which is why we’re currently conducting a survey to get feedback from the community. We’re hosting a demo platform where you can checkout the options for the side menu, as well as try out the UI experiments I rambled about in the last blog post. Though the process is nowhere near complete, I’m really excited about the progress that I’ve made so far. This project has ended up being a really exciting challenge and a great way to solidify my skills and confidence. It feels really good to be able to point to something and say “I built that, and it’s actually helpful to other people”.

Until next time!

February 05, 2016 12:12 PM

January 25, 2016


Admitting you don't know

Have I bragged about Recurse, or Outreachy lately? Oh, I have? Well, I’m going to do it again.

Reason #142 (or whatever) why I’m thankful for Recurse/Outreachy:

Recurse provided me with the courage and enthusiasm to admit when I don’t know something, the excitement of being presented with completely new information, and the hubris to know that I could tackle any challenge put in front of me if given enough time and support. Saying “I don’t know what that is” has become one of my favorite phrases. It’s not admitting defeat, it’s not revealing the fact that I secretly know nothing (buzz off imposter syndrome) - it’s an opportunity. They get to feel good about explaining something, and I get to learn something new. It’s a win-win situation.

When I initially got into programming, I started in python, but it never really clicked for me. I spent the entire time wondering how the user was going to interact with it. What were they going to see? So, I switched to JavaScript since front-end had a greater appeal to me. However, now that I’m comfortable with JavaScript, I find myself worry about the exact opposite: Now I’ve got something pretty the user can interact with, but it doesn’t actually do anything. So when my mentor Ian took away my JavaScript crutches and asked if I wanted to learn Ruby on Rails I responded with a hearty “Hell yeah!” (ok I said something a little more of a professional like “Sure, I would love to”, but that doesn’t make for good blog rhetoric). I knew, due to the learning environment Outreachy and Cadasta had set up, this would be the perfect time to try something completely new. So being able to work with someone on back-end, someone who I’m actively encouraged to ask my stupid/basic/fundamental questions, is perfect. It’s been great having Ian and everyone else at Cadasta be so responsive to my “I don’t know” questions.

##Why the thought of leaving this comfortable bubble worries me:

I’m learning so much, and I’m having so much fun in this internship, but I’m aware that all good things must end. With March around the corner I’ve (unfortunately) started thinking about my next steps. While I’m excited about the prospect of finding my first “big kid” tech job, I’m concerned I’ll never find an environment like this again. I had forgotten that RC and Outreachy/Cadasta are the exception, not the rule when it comes to culture. I went to a JS meet up the other day, and I was surprised at the people I talked to that felt the need to puff their chest out when talking about their experience. It felt like they were walking around with a giant “try me” button.

The majority of the people were lovely, very excited about the work that they were doing, and just happy to be surrounded by other like-minded programmers. The moderators were amazing, and overall I had a ton of fun. However, those few people were an interesting reminder that a safe learning environment is not a guarantee. How do you foster a learning environment if people are secretly terrified of being discovered as frauds?

I think Recurse Center’s social rules go a long way to solving this problem - no feigning surprise in particular. It makes it okay to admit ‘I don’t know’ something, and creates a culture of excitement around introducing someone to something new. Rather than “HOW HAVE YOU NOT HEARD OF X, Y, AND Z?! HAVE YOU BEEN LIVING UNDER A ROCK?!” You get “OMG X, Y, AND Z IS AMAZING! COME! LET ME TAKE YOU ON A JOURNEY! YOU’RE GONNA LOVE IT!” It shifts the focus to building others up instead of putting them down. Who knows, maybe there was someone else who didn’t know about x, y, and z either. Now they get to learn something new rather than thanking their lucky stars they weren’t stupid enough to ask the question.

I feel like it would be tough to judge this attitude in an interview process where admitting you don’t know something feels like writing a giant ¯_(ツ)_/¯ as an answer to a test question. Questions about mentorship and continued education only go so far as boiler plate answers, and besides, who says “nah, we hate that stuff” to a question like that. How do you really find out about the culture before signing on the dotted line?

The solution?

I actually have no answers to this so…. ‘I don’t know!’ (see what I did there?). So if anyone has any suggestions I’d love to hear them!

January 25, 2016 12:12 PM

January 08, 2016


Outreachy and the messy reality of UI

I had set aside my sketchbook, put the finishing touches on my wireframes, settled on one of them, and sat down to build a stand alone version of Field Papers. All my brilliant ideas for an improved UI were dancing around in my mind, excited to be turned into a reality that users would be thanking me for for years to come. Then, like a kid who’s finally discovered that Santa’s not real, I realized that nothing was as simple and glittery as I had hoped.

Okay, so I’m being a bit over-dramatic. Still, there’s nothing quite like that sinking, humbling feeling of reality setting in. It turns out creating the perfect UI for Field Papers is a messy ordeal. It’s a nice reminder that I am, in fact, still learning. However, the perfectionist in me was none too pleased with this situation.

Let’s take a journey together on my train of thought, to see what happened as the project went along:

Grid stays centered.

My biggest beef with the old Field Papers was that the grid didn’t move with you as you panned around, so let’s fix that! Everything is nice and centered, and when you go to add more rows and columns the map politely zooms out to let you cover the area you’re trying to access… oh wait, what if that’s not the are you wanted to cover? What if you zoomed in to the exact area you wanted to cover and now you’re frustrated that it’s zooming and jumping all over the place? Hm… ok…

Grid stays front and centered the entire time.

This is perfect. It’s like looking through the lens of a camera. You find the area you want to cover, add rows and columns to fit your desires, and voila! All done. It’s only covering the area that you’re looking at, no obnoxious jumping around, the grid and the map are now two totally separate things. Simple, easy, no bells and whistles. But wait… the zoom on Leaflet is really aggressive, so it’s really hard to get just the area that I want to cover.


Grid stays front and centered the entire time with a resize scaling button in the corner.

Alright, the grid stays in the view your looking at, and now you can adjust the size of the grid to exactly what you needed it to be. Just one whistle, that’s fine, nothing too complicated. Wait… What if because of how far you had to zoom out to keep it centered, you have no idea what you’re actually looking at? You now can’t tell what details are in each individual square!

…. okaaay…..

Grid stays front and centered the entire time with a resize scaling button in the corner and ability to lock it in place.

Ok, this time I’ve got it. The grid stays in place unless you lock it in place, which gives you the ability to pan and zoom without the grid moving at all. Wait, this is just the old UI with less mobility! Ugh, and now all of my calculations are wrong, and things aren’t able to update the way that they should, and what if…

What if situation [x, y, z, fish, etc]??

There are so many caveats. So many! This spiral went on for quite some time. Something I had pictured so perfectly in my mind was slowly falling apart in front of me. After a nice cup of warm tea and a chat with my mentor Ian, he helped me come to the realization that it doesn’t have to be perfect. In fact, it doesn’t even have to be great. It just has to be better than what’s already there. Besides, how are we going to know what works best without other people messing around with it and pointing out all of its flaws? We can worry about fine tuning and nitpicking in future iterations, but there’s no need to start pulling hair out just yet. It would be unreasonable to expect a perfect UI first go around, without any user input or research. This is a process with many steps involved, and I shouldn’t (read “can’t”) skip any of them.

After taking a few slow, deep breaths, I’ve started winding up my initial ui-experiments into something not perfect, but good enough. I’ll hopefully be passing them off for other people to debate about in the near future. In the mean time, Ian suggested that we work together to learn a little bit of Ruby on Rails, and I’m super excited! Full-stack here I come!

Until next time!

January 08, 2016 12:12 PM

January 03, 2016


New Years Cliché

Oh New Years.

A time for delusional fantasies and misplaced hopes. At least it provides motivation for me to finally get a gym membership. If I missed out on months of beautiful running weather because I “wasn’t feelin’ it”, there’s no way in hell I’m going to convince myself to go running when New York finally decides it’s time for winter. Maybe between a half-baked new year’s resolution and a $20 a month fee I’ll finally get my butt back in shape again (not that my butt doesn’t already have a lovely shape, but you know).

Eye-rolling sighs aside, this really is something I need to do. My health isn’t what it used to be. My stomach can’t handle eating three slices of cheesecake a day, no matter how hard I might try. Feeling tired, exhausted, and a kinda sad all the time is not really how I want to spend my time. So, after a few difficult goodbyes to my junk food collection and an awkward re-acquaintance with my tennis shoes (“oh, it’s you again…”), I’ve decided to start this blog as a way to keep myself accountable.

My Goals

Honestly, no section should start with “My Goals”. “What I hope to accomplish if maybe, for once, I can hold myself accountable to something longer than it takes to say ‘gosh my bed is warm’” would be much closer to the truth. Anyway…

30 Day Reset

My biggest problem is that Hashimotos has been kicking my butt for over a year now. My lab results are normal, but my gut and my brain are telling me otherwise. I’m going to stick to a 30 day reset with the AIP Protocol in an attempt to straighten things out, see how I feel, and then slowly introduce things back in.

Go to the gym (more than once)

Biggest perk of being in NYC: there are two gyms on the same block that I live. No excuses. If I’m spending $20 a month on a gym membership, I need to spend 20 hours a month (at least) in there. My knees aren’t what they used to be, and having a job that has me stuck at a desk for eight hours isn’t exactly helping me maintain my current physical status.

Learn to play the guitar/tennis/rock climb/etc…

I miss music. I miss being active. I used to be really good at both of those things, and it’s darn well time I brought them back into my life. Going to the gym is all well and good, but it should be for the goal of helping me get better at an activity I love, or don’t know that I love yet.

Get a tech job

I’ve dug my grave, now it’s time to lie in it. I quit my job, jumped off the deep end, and now it’s time to convince not only myself but others that I have skills that are useful and employable. I’m going to finish reading Eloquent Javascript, I’m going to stop having panic attacks at every Leet Code challenge, and I’m going to finally understand algorithms. Gonna do it!

Stop spending hours on social media

Why do I do this? Why do I care? It’s like my brain doesn’t know what to do if it’s not constantly entertained. I’m going to get a bedside clock so that I’m not tempted to stay in bed and stare at my phone. I’m going to start being more aware of my knee jerk reaction to open those apps. I’m going to find something more useful with my time.

There are so many other things that I could list here, but I feel like this is a good start for the next few months, which is how I’m going to do this. A year is a very long time, and can seem daunting. A few months though, that’s not bad. I can reward myself after a few months, re-evaluate my goals, and start again. We’ll see how it goes!

January 03, 2016 12:09 PM

December 24, 2015


Research, Rethink, and Redesign

“Avoid pixel-pushing at all costs – your job is to solve problems. View your work through that lens at all times. […] Accurately defining the problem goes a long way towards solving it.” - J.P. Onori

Getting started

It’s week three of my internship with Cadasta, and I have been working on a complete redesign of the UI for Field Papers. Field Papers is an open source mapping tool that allows users to select areas on an atlas grid to be printed out, taken into the field, and then loaded back onto Field Papers. The concept of Field Papers is simple in theory, and it wasn’t until I started actually trying to improve it that I realized how complicated it was, but I’ll talk more about that in the next blog post (teasers!).

As I started digging into Field Papers there were a few seemingly simple issues that stood out to me:

1) The map was way too small to actually be able to successfully navigate the atlas grid positioning.

2) The atlas grid movement was completely disconnected from the map movement, which was confusing.

3) The process was broken down into three separate steps, and could be consolidated into a single page site.

4) Adding rows and columns was complicated by the fact that the buttons ran away from you as you clicked on them.

Following the suggestion of my mentor Ian, I focused on three ways to solve most of these problems: “demodalisation”, “big map” and “better UI interaction model”.

Demodalization involves combining all three map composition steps onto a single page, and doing away with the “wizard” mode. Big map, rather unsurprisingly, consists of turning the current tiny map view port into a full screen map view. This will give the user much more flexibility and room to maneuver. Creating a better UI interaction model has turned out to be much more complicated and less straight forward than anticipated. But, again, I will discuss this in more detail in my next post.

Addressing these issues needed to start with creating a full screen map display that could incorporate all possible map interactions onto a single page. Rather than jumping straight into building, I started with research, sketches and wireframes.


My first task was to see what other people were doing.

  • [Examples of other websites with large scale maps. Most of them include a large side menu.]

Turns out that there’s not a whole lot of variation in the world of full screen maps. Unfortunately, there can’t be. If the goals is to allow the user to interact with the map, layouts and menus should be as unobtrusive as possible. There’s no need to be clever and cute. Just get out of the way.

After examining what the current trends are, I came to a few conclusions:

Only use lightbox menus for specific purposes.
There were a few sites that used them for every action. It turned out to be distracting and frustrating. Not only were they in the way of the map view, they didn’t allow me to quickly flip back and forth between actions.

Icons without explanation can be more confusing that they’re worth.
I’ve run across this in a few apps, where in attempt to be as clean and streamlined as possible they turn all of their buttons into icons. This is all well and good, but only if it’s extremely clear exactly what each icon represents. (I’m looking at you viscocam….)

Placement of menus should be simple and consistent.
Having menus along all four walls of the browser window feels cluttered, and doesn’t allow your eyes to rest. Try to keep it limited to two walls.

Having the option to toggle whether or not the menu is visible is nice.
However, and this goes along with the icon point, it should be clear how to trigger this interaction.

Separate actions into different menus only if it makes sense.
You want to make sure the separations make sense and are organized in a manner that’s not confusing to the user.

If you’re ever uncertain, include a help section.
If you think any of the interaction or icons might be confusing, include a help section. Heck, even if you don’t think it’s confusing, include a help section.


After my initial research and with these notes in mind, I settled down to do a quick 20 minute sketch session. The purpose of this exercise was to get as many ideas as I could in the allotted time, and to not stop until the timer was done.

Sketchy sketch is sketchy. #outreachy #noideawhatimdoing

A photo posted by Linz Jax (@linzjaxx) on Dec 9, 2015 at 8:56am PST

This exercise prevented me from spending much time focusing on any one idea, which prevented me from becoming attached and letting that influence all of my subsequent decisions. It also prevented me from worrying about completing each design idea. That way, when I started building wireframes I could choose the best options out of a pile of ideas and then allow myself to finish them. A lot of the sketches ended up looking the same, but they still fed ideas once I actually started building out the models. There aren’t many options when it comes to being unobtrusive, and that’s ok.

During this process, I also brainstormed different ways each interaction could be designed. When does a dropdown vs. buttons make sense? Are there ways that tasks can be separated into different actions (map adjustment actions vs. saving and note-taking actions).



Once I was done with that I moved onto wireframes. I used Balsamiq to build my wireframes, and oh my gosh it was magical. Incredibly easy to use, and little to no learning curve. Since this was the first time I had really worked with a wireframing tool, I started with the initially suggested design (with a few tweaks of my own). After that, I tried to implement as many different designs as I could, and ended up with about eight. I tried to make several that were very different, as well as a few I knew just straight up wouldn’t work. I wanted to build these anyway just to see why it wouldn’t work and what it was about these designs that made me uncomfortable.

These are a few examples of uncomfortable designs:

Image one: You can’t see anything because the text lacks a background. Also, by placing the menu all the way around the edges your eyes are never given the chance to rest.

Image two: The design just feels old, and while the positioning of the options are similar to the original Field Papers, it doesn’t feel like an improvement.

Image three: While initially I liked this design, it still presents the problem of tasks being separated a bit too harshly. It also doesn’t allow the user to write notes until they’re done with the map, which is not ideal.

After pushing myself to come up with as many ideas as possible, I was then able to narrow down my selection to three, and have a much better idea of why I preferred these designs over others. These were my final three:

This first one combines all of the task into one side menu. Everything is in one place, easily found, and always present.

This second one separates all of the actions into their own icon, allowing the user to think of them as different components to be tweaked on at a time. Stays as unobtrusive as possible.

This third one combines the first two ideas. It separates the actions into two categories, and provides a more solid menu to navigate.

After talking it over with the Cadasta team, we ended up deciding on the first one. It ensures that all of the options are present, and completely removes the issue of modalization that was so problematic with the initial Field Papers.

Final thoughts

I was glad that I had the time to spend on going through this process. It allowed me to really think through all of the decisions I was making, rather than just running with whatever idea popped into my head first. Also, designing out in the open was valuable because it prevented me from developing this idea that these designs were mine and precious and private. It allowed me to get comfortable with other people’s thoughts and opinions, and my designs only improved as a result.

So on to the next step! I am currently working on building a stand alone version of the tool to see how it actually behaves. Up next: The messy reality of UI.

Until next time,


December 24, 2015 01:33 PM

December 22, 2015


Star Wars

I think Ezra’s right about the commercial mechanics of comic book movies (though I think this is partly due to origin stories being the only filmable comic book stories). But this is not what the new Star Wars movie is doing. Or I hope it’s not.

Retelling a story is one thing, but quoting it is another. The Force Awakens isn’t taking the timbers of the original franchise and building a new house around them. It’s self-consciously constructing a scale model.

There are two ways to interpret this choice. One is that Disney has cynically decided that the things that fans love and will pay for are incredibly specific moments: lightsabers Force-flying out of snowbanks, father-son showdowns on perilous catwalk bridges, precision bombing runs to disable shield generators. The evidence for this perspective is the numerous otherwise-pointless fanservice notes that movie invokes (the holographic chess game on the Millennium Falcon comes to mind) and the colossal amounts of money at stake.

The other interpretation is that the series’ new architects are reestablishing the franchise’s structure, rebuilding a framework badly damaged by the careless renovations in the prequels. The only creative advantage to having such structures — cumbersome, constraining sets of rules and obligations — is that you can subvert them. The evidence for this is pretty thin, and basically boils down to JJ Abrams not being a hack and everyone involved being smart and rich enough to want to play the long game.

Wishful thinking means I’m leaning toward the second option, hoping for a Rey dark side turn and subversion of the franchise’s focus on a small royal family by making Finn the new trilogy’s (Force-less) hero. But who knows. As Yglesias says, we won’t know if this new movie was good or bad for some time. Sure was fun, though.

by Tom at December 22, 2015 08:40 PM

December 10, 2015


Hello Outreachy

It’s been two months since I applied, one month since I found out I got accepted, and four days since the beginning of the Outreachy internship, and yet somehow, somehow I’m still in denial about the fact that it’s actually happening.

But it is.

How cool is that?

So I’ve set aside my denial and decided to tell the world about my Outreachy journey. (Also, it’s a requirement of the internship, but I would have done it anyway. No really. Don’t look at me like that.)

As I was finishing up my batch at the Recurse Center, reality was starting to set in. If I really want to turn this hobby into a career, I have to start convincing other people (and myself) that I know what I’m doing. Outreachy seemed like a great place to start.

For those that don’t know, Outreachy is a project that works to help underrepresented members of the tech community get involved in open source. You get to spend three months working with one of their partner companies on a project they’ve outlined. Open source has been an integral part of my journey to become a developer (see my previous post for more open source banner waving), and I was excited by the opportunity to continue working within the community.

So here I am, and I am so excited to be working with Cadasta! I’m thrilled to have the opportunity to combine design and development as I work with their team to rethink and redesign Field Papers’ UI. Over the next few weeks I’ll be blogging about my progress and musings along the way.

First installment: Research, rethink and redesign.

Until next time!

December 10, 2015 12:09 PM

December 06, 2015


Apophenia v1.0

A package announcement; kind of a big deal for me (and I hope for others). The first draft of this post was originally dated 1 January 2014.

by Ben Klemens at December 06, 2015 12:00 AM

November 18, 2015



We had been feeling cross about Uber. This is, by far, the subject about which Steph and I fight the most, as the service’s admittedly poor routing prompts different and conflicting reactions from us. She cannot resist reaching across gaping chasms of culture, language and basic navigational competence to put our drivers on the right path. I prefer, in characteristically nonconfrontational style, to quietly abandon myself to fate, gladly surrendering a few hundred meters or cents if it saves everyone some embarrassment.

This was the first Uber we had taken in Paris–hoofing it from Île Saint-Louis to Canal Saint-Martin seemed unappealing, especially since we’d dawdled longer than we’d planned. Mostly the ride was great. Our driver Radhouan spoke no English but was impeccable at piloting a black sedan while wearing a suit and bald head, in exactly the way that people in movies often do before being beaten up by Jason Statham.

Our plan had been to start at the south end of the canal and pick a restaurant as we walked north. Instead, Uber’s geocoding dropped us closer to the Porte Sainte-Martin.

uber trip in paris :-(

We walked a few blocks past tiny, packed restaurants, many featuring diners sitting outside under heaters. The neighborhood was clearly cooler and younger than the tourist-filled center of the city where we’d been spending our time.

Soon we reached the canal. I thought it was obvious that most of the restaurants would be south of us, but Steph wanted to go left and I was already in hot water for my poor piloting of the Uber app. So left it was. As we walked, a police car’s blaring siren tore past us, headed south, and I made a lame joke about it not being very romantic.

The restaurants were indeed more sparse to the north, so when we found Les Enfants Perdus we quickly went in.