First impressions developing blocks for Gutenberg

Zac Gordon, Andrew Taylor and I are hosting a "first impressions developing blocks for Gutenberg" livestream/hangout/thing this Friday (1/19) at 2 pm Pacific. We've each tried our hand at writing a block — some things went well and others were disasters.

Curious what it's like to build a custom Gutenberg block? Have experiences of your own to share? Register here for the cage match and help us debate the merits of ES5 over ES6 on Friday at 2 pm Pacific. Leave a comment if there are any questions you'd like to submit in advance.

Massive list of links: January 10, 2018

In honor of Nat Torkington’s Four Short Links, I present you: a massive list of links.

  1. Saving the Free Press From Private Equity (Robert Kuttner & Hildy Zenger) — Scathing critique; never did I realize how significant of a role financiers played. Makes me bullish on the opportunity for local media businesses.
  2. When is a Dollar not a Dollar? (Leo Polovets) — Excellent set of evaluation criteria for determining where your service/product fits within your customer's wallet (or whether it does at all).
  3. Romanticizing the Hunter-Gatherer (William Buckner) — Not actually the original affluent society, as we’re led to think.
  4. These 6 Cities Are Smarter Than Portland About Housing (Willamette Week) — Useful set of reference points.
  5. CSforALL Consortium — Computer literacy/CS education initiative. "8% of STEM graduates are in CS, yet 71% of all new STEM jobs are in computing."
  6. How to tell if a CEO is worth working for (Claire Lew) — Great questions to ask (e.g. “What would an employee who’s left the company say it’s like to work for you?”).
  7. Mr. Money Mustache, UBER Driver (Mr. Money Mustache) — No surprise: a highly competitive market means race to the bottom for compensation.
  8. How Shopify Grew From a Snowboard Shop to a $10B Commerce Ecosystem (Hiten Shah) — Answer: clear alignment between business model and customer success.
  9. The World’s Foremost Expert Explains How To Value Stock (Bloomberg Odd Lots) — Such a clear, understandable explanation.
  10. Recession-Resistant Investing & the Benefits of Buying Shopping Centers with David Puchi (BiggerPockets) — Growth trend: buying out individual owners at the end of their careers, and then doing the rehab work they didn't want to do.

Brief plugin directory data analysis

While working on wordpress/gutenberg#4072 today, I was inspired to do some data analysis on the plugin directory.

To prepare, I populated a plugins table with data from the REST API via this plugin-stats.php script. Download the SQL file to avoid needing to re-fetch the API data.

Based on the initial API request, there are 49,749 total plugins.

Of the entire data set, only 18,002 plugins have 200 or greater active installs. The remaining 31,747 plugins represent an inconsequential number of active installs compared to the total.

The 18,002 plugins represent 182,296,500 total active installs. A WordPress install can have multiple active plugins, so this total isn't unique WordPress installs. Also, we can ignore the remaining ~32k plugins because they would only represent 3,174,700 additional active installs if each plugin had 100 active installs.

Of the total active installs, 168,623,000 (92.5%) are represented by 3,440 plugins with >=5000 active installs. For that matter, 159,720,000 (87.6%) are represented by 2101 plugins with >=10000 active installs.

It'd be interesting to know what percentage of WordPress installs have a plugin not tracked in the plugin directory (e.g. premium or custom).

Forward email newsletters into Feedbin

Email newsletters are some of the best free content produced by news organizations these days — concise, timely, and devoid of their website's megabytes of advertising JavaScript. However, it's distracting to receive them at random points during the day. I much prefer to manage my news consumption at my own pace.

Fortunately, Feedbin is two steps ahead of me! You too can use Feedbin's "Subscribe to Email Newsletters" feature to move your email newsletter subscriptions into RSS. Simply:

  1. Copy your secret newsletter email address from
  2. Add your secret newsletter email address as a forwarding email in Gmail.
  3. Configure a Gmail filter for each newsletter to auto-forward to Feedbin (and mark as read / archive).

Pretty awesome.

Why we work

Business owners do not normally work for money either. They work for the enjoyment of their competitive skill, in the context of a life where competing skillfully makes sense. The money they earn supports this way of life. The same is true of their businesses. One might think that they view their businesses as nothing more than machines to produce profits, since they do closely monitor their accounts to keep tabs on those profits.

But this way of thinking replaces the point of the machine’s activity with a diagnostic test of how well it is performing. Normally, one senses whether one is performing skillfully. A basketball player does not need to count baskets to know whether the team as a whole is in flow. Saying that the point of business is to produce profit is like saying that the whole point of playing basketball is to make as many baskets as possible. One could make many more baskets by having no opponent.

The game and styles of playing the game are what matter because they produce identities people care about. Likewise, a business develops an identity by providing a product or a service to people. To do that it needs capital, and it needs to make a profit, but no more than it needs to have competent employees or customers or any other thing that enables production to take place. None of this is the goal of the activity.

Charles Spinosa, Fernando Flores & Hubert Dreyfus – Disclosing New Worlds: Entrepreneurship, Democratic Action, and the Cultivation of Solidarity (via Kottke)

Humanist software development

Three principles to live by:

Humans come first. Software exists to serve humans, not the other way around. Design software for your end user, because they are holy and nothing else is sacred.

Pragmatism over purism. Consider for whom you’re optimizing, not for what ideal. Software ideals are false gods when they don’t serve the humans they’re meant to reflect. Choose the most pragmatic implementation over the most correct one.

Simplicity over complexity. The elegance of complex systems is a dangerous mirage. Complex systems are more difficult to maintain over time, more difficult for new people to understand, and more likely to succumb to entropy. Only choose complexity when it yields significant, durable advantages.

STEAM in Oregon

Variety of assorted programs:

Generation Screwed

We’ve all heard the statistics. More millennials live with their parents than with roommates. We are delaying partner-marrying and house-buying and kid-having for longer than any previous generation. And, according to The Olds, our problems are all our fault: We got the wrong degree. We spend money we don’t have on things we don’t need. We still haven’t learned to code. We killed cereal and department stores and golf and napkins and lunch. Mention “millennial” to anyone over 40 and the word “entitlement” will come back at you within seconds, our own intergenerational game of Marco Polo.


For decades, most of the job growth in America has been in low-wage, low-skilled, temporary and short-term jobs. The United States simply produces fewer and fewer of the kinds of jobs our parents had. This explains why the rates of “under-employment” among high school and college grads were rising steadily long before the recession. […] The decline of the job has its primary origins in the 1970s, with a million little changes the boomers barely noticed. The Federal Reserve cracked down on inflation. Companies started paying executives in stock options. Pension funds invested in riskier assets. The cumulative result was money pouring into the stock market like jet fuel. […] The pressure to deliver immediate returns became relentless. When stocks were long-term investments, shareholders let CEOs spend money on things like worker benefits because they contributed to the company’s long-term health. Once investors lost the ability to look beyond the next earnings report, however, any move that didn’t boost short-term profits was tantamount to treason.


In one of the most infuriating conversations I had for this article, my father breezily informed me that he bought his first house at 29. It was 1973, he had just moved to Seattle and his job as a university professor paid him (adjusted for inflation) around $76,000 a year. The house cost $124,000 — again, in today’s dollars. I am six years older now than my dad was then. I earn less than he did and the median home price in Seattle is around $730,000. My father’s first house cost him 20 months of his salary. My first house will cost more than 10 years of mine.


And the problem is only getting worse. That’s because all the urgency to build comes from people who need somewhere to live. But all the political power is held by people who already own homes. For homeowners, there is no such thing as a housing crisis. Why? Because when property values go up, so does their net worth. They have every reason to block new construction. And they do that by weaponizing environmental regulations and historical preservation rules.

Michael Hobbes — Generation Screwed

Open source is debt

An idea I'd like to throw in the wild.

Open source is software businesses use to shorten time to market and accelerate their product. Some businesses build and collaborate in public because it's a leverage strategy to get more from less. Most businesses maximize their use of open source software because they get it for "free".

Debt is the financial term, stolen for the sake of illustrating a concept.

Open source is debt because:

  • Open source software is not a sellable asset. It's both priceless and devoid of monetary value. What counts is the business value it enables.
  • The liability, and effort required to service this liability, grows as: 1) the software gains users, and 2) those users become more dependent the software. Support is a variable accelerant to the liability (e.g. it can grow the liability at an exponential rate).
  • Maintainers hold the debt liability. Their ongoing labor is required to service the debt. Typically, maintainers can only escape the obligation by declaring bankruptcy: "it's done" or "I'm done."

This idea could be helpful framing for:

  • Businesses to understand their dependency on open source in CFO-friendly terms.
  • Communities to understand the debt burden carried by maintainers, and general health of the project.

Another, possibly more correct, way of thinking about this is: "every line of source code, open or closed, is a liability." Businesses own 100% of their closed source liability. They like open source because they would rather own 0% the liability.