Morten Rand-Hendriksen: Gutenberg and the WordPress of Tomorrow

If you are working with WordPress in any capacity, you have to watch this talk.  Or at least the first 25 minutes (before the Q&A).  If you are involved with web publishing or web design, you have to watch it.  If you are a web enthusiast, you have to watch it.   If you are not involved with the web at all, you definitely have to watch it, as you’ll have an idea of where things are going, and you might decide to get involved.

Just watch it!

Products Over Projects

Martin Fowler has an excellent article on the “Products  Over Projects” subject.  It depicts the differences of both, with advantages and disadvantages, especially in areas like funding, team management, and iterations.

It’s a great read for anybody involved in software development, product and project management.

 

The Rise Of The State Machines

The Rise Of The State Machines” is a nice introductory article into the domain of process management and state machines.

A state machine is a mathematical model of computation. It’s an abstract concept whereby the machine can have different states, but at a given time fulfills only one of them. There are different types of state machines. The most famous one, I believe, is the Turing machine. It is an infinite state machine, which means that it can have a countless number of states. The Turing machine does not fit well in today’s UI development because in most cases we have a finite number of states. This is why finite state machines, such as Mealyand Moore, make more sense.

The difference between them is that the Moore machine changes its state based only on its previous state. Unfortunately, we have a lot of external factors, such as user interactions and network processes, which means that the Moore machine is not good enough for us either. What we are looking for is the Mealy machine. It has an initial state and then transitions to new states based on input and its current state.

There are quite a few JavaScript code examples and library references, illustrating the basic concepts and implementation.

Mental models

Here’s a nice collection of mental models:

These are some mental models I find useful. They’re rooted in decades of experience of thousands of experts – a modern equivalent of folk wisdom. Mental models are useful to quickly and correctly reason about seemingly intractable problems. They require quite a bit of intuition to properly internalize, but once you’ve internalized them they’re relatively easy to apply. They’re also easy to forget in the moment – use this post as a checklist when thinking about complex problems.

Of those that I read through so far, I found the Planning fallacy the most useful:

Planning fallacy – the observation that humans are overly optimistic when predicting success of their undertakings. Empirically, the average case turns out to be worse than the worst case human estimate.
Corollary: Be really pessimistic when estimating. Assume the average case will be slightly worse than the hypothetical worst case.
Corollary: When estimating time, upgrade the units and double the estimate (e.g. convert “one week” to “two months”).