Incentives matter

The tech sector’s obsession with user engagement is like quantifying health by measuring total calories consumed.

In case it’s not obvious: this is a bad thing. Let the renewal begin.

First Arduino project: distance alarm

Amazingly, our refrigerator doesn’t have an alarm for when you accidentally leave the door open.

In the last six months, we’ve left the refrigerator door open overnight three times. Because the light stays on when the door is open, another horrible design decision, the refrigerator thermometer hits 107°F by the time I notice it in the morning.

At yesterday’s inaugural PDX Raspberry Pi and Arduino meetup, I prototyped my solution to the problem: an alarm for accidentally leaving the refrigerator door open.

Using a Parallax Ping Ultrasonic distance sensor, the Arduino board detects its distance to the nearest object in front of it. If there’s nothing within 2 inches for greater than 5 seconds, then the Arduino board uses a piezo buzzer to make some noise. The system resets when an object is placed within 2 inches again.

On a whole, I was surprised how quickly I got up to speed on Arduino. My “Hello World” project, blinking a LED diode, took about 10 minutes to complete. This distance alarm only took 20 minutes beyond that, with a little bit of guidance on what hardware to use and access to tutorials on how to use it.

Up next: figuring out how to miniaturize the entire setup so I can put it in a small housing and deploy to production (aka use it in my home).

Four short links – April 5, 2018

TV worth watching, urban experiments, and open source sustainability.

  1. Lessons from "The Profit" (Marginal Revolution) — I hardly watch TV but I'm going to binge so hard on this series.
  2. The big experiment at Plaza 122 (Bridgeliner) — To buy in, neighborhood residents first have to participate in a financial literacy class, which is available in Spanish, Vietnamese, Arabic, and Russian. After completing the course, they can make micro investments of $10 to $100 in the plaza each month. With enough of these investments, the community will eventually own Plaza 122 in full. So cool! You should subscribe to Bridgeliner.
  3. One City: Many Futures / Better Block PDX (Design Week Portland) — Can we make this bike lane better, on a budget that's slightly more than beer? "Street prototyping" as disruptive policy innovation.
  4. Open source sabbatical = awesome (Julia Evans) — Sabbaticals as a model for open source sustainability.


Thanks to the generosity of WP Engine and DreamHost, I now have a good amount of time to dedicate to Gutenberg over the next few months.

Of particular interest: using automated systems to ensure an exceptional day one (and two and three) user experience.

Lots of problems to solve between now and then — looking forward to diving in!

Nothing is sacred

What’s wrong with voting?

Although voting seems like an intuitive concept, there are a few major flaws that seem to be getting worse over time.

Voting is never truly representative

We assume voting is fair because it vaguely reflects some total population that we are trying to represent. It’s impossible to exactly pin down what “representative” means. (Similar demographics, interests, incomes, ideologies? All of the above?)


Voting is a competitive game

Voting is a zero-sum game, meaning that whomever wins does so at the expense of someone else. As a result, voting promotes competition, not cooperation. Players might coordinate as a means of gaining an edge (“if you vote for X this time, I’ll give you Y next time”), but ultimately, “winning” the vote means beating someone else.


So. We have our current system, and we’ve identified some emerging problems that we need to solve for. What does that look like?

Designing for cooperation, not competition

If you’re an avid board gamer, you’ve probably come across a cooperative game or two, like Pandemic or Forbidden Island. In a cooperative game, you work with, rather than compete against, your fellow players to achieve a shared outcome…

Nadia Eghbal – The problem with voting

Update all sites on WordPress Multisite to https using WP-CLI

Need to update all of your sites on WordPress Multisite from http:// to https://? As it turns out, it’s not easily possible with wp search-replace but you can do it with wp eval-file instead.

Simply download the following http-to-https.php file and run:

wp site list --field=url | xargs -I % wp eval-file http-to-https.php --url=%

Read this for a better explanation of wp site list and xargs. Your output should look something like this:

Updated 'home' to 'https://wp-ms.test'
Updated 'siteurl' to 'https://wp-ms.test'
Success: Options updated for https://wp-ms.test
Updated 'home' to 'https://wp-ms.test/foo'
Updated 'siteurl' to 'https://wp-ms.test/foo'
Success: Options updated for https://wp-ms.test/foo