The Daily Parker

Politics, Weather, Photography, and the Dog

Fast, Cheap, Good: pick two

I don't often use profanity on this blog, but this morning I am moved to call the Iowa Democratic Party's leaders a bunch of fucking morons. Last night we saw the results of the IDP picking "fast" and "cheap" for critical infrastructure in the most important election cycle in a generation. Now the national Party will go into New Hampshire with a black eye and no end of razzing from the Tweeter in Chief.

It's not just that the IDP chose "fast and cheap" instead of, you know, "good." It's also that everyone in the Democratic Party, from Puerto Rico to Nome, knows what a fucking big deal this election is. Presumably someone involved in this debacle might have done some contingency planning. Like, for example, having enough volunteers on the phones in case something happened with the app.

We've had years to prepare for last night's Iowa Caucuses. Perhaps not a full four years—they changed caucus rules a bit and added verification steps to prevent fraud—but certainly longer than two months. That's how long it took to write the mobile app the Party commissioned to make this the smoothest Caucuses ever, according to reports in NPR and the New York Times. That and $60,000, which gets you two junior developers and a journeyman team lead for two months, tops.

I've run multi-million-dollar software projects (including one in Des Moines 15 years ago), and my back-of-the-envelope estimate for an app to tabulate caucus results that needs to run perfectly on election night came to about $300,000 for a fast project (4-5 months) or $200,000 if it could take 9-10 months. A budget of $60,000 might, perhaps, cover just the coding, not UI testing, app distribution, security testing, project management, integration testing, API deployment, load testing, or testing the testing (i.e., test validation). And the $200k budget doesn't include $20,000 in infrastructure charges to ensure adequate capacity on election night.

In other words, any competent person would have chosen "fast and good" or "cheap and good."

Plus, media outlets also report that the IDP kept the app's origins and code a secret, in complete contravention of basic principles of secure software design. Had they put the code up for review on GitHub, outside reviewers could have caught any technical problems far, far earlier.

So once again, the state of Iowa, a technology hub renowned the world over as a serious rival to Palo Alto, New York, and Bangalore, demonstrated exactly why they need to conduct a primary election on the same day as a few other states a bit later on in the season.

This election is ours to lose. And with this own-goal, you, the Iowa Democratic Party, are fucking making it happen.

Madam, I'm February 2nd

Today is 2020-02-02, which is 02/02/2020 in the U.S. and 02.02.2020 in Europe. There's a thing going around the Internet today that this is the first time in 909 years that both ways of representing dates have been palindromes on the same date. They put the previous instance as 01/01/1010.

Unfortunately that's not true. This has never happened before, for a few reasons:

  • Representing dates as a string of numbers only started, as far as I can tell, in the mid-19th century.
  • As recently as the middle of the 20th Century much of Europe would have written the month as a Roman number, e.g. 2.II.2020.
  • In the year 1010, the year began sometime in the spring (possibly March 25th under the Julian calendar). So the entire concept of numbering months would have made no sense.
  • The United States didn't exist in 1010.

So this is an example of someone noticing a numeric pattern that only makes sense in the modern world and extrapolating that ad absurdam.

If you like palindromes and absolutes that actually do have the same meaning when representing dates in the 11th century as today, you should look at 27 February 2019, which was Julian day number 2458542.