And our users clearly thought of us as an open-source developer tools company, because that’s what we really were. Which turned out to be very unfortunate, because the open-source developer tools market is one of the worst markets one could possibly end up in. Thousands of people used RethinkDB, often in business contexts, but most were willing to pay less for the lifetime of usage than the price of a single Starbucks coffee (which is to say, they weren’t willing to pay anything at all).

This wasn’t because the product was so good people didn’t need to pay for support, or because developers don’t control budgets, or because of failure of capitalism. The answer is basic microeconomics. Developers love building developer tools, often for free. So while there is massive demand, the supply vastly outstrips it. This drives the number of alternatives up, and the prices down to zero.

Slava Akhmechet – RethinkDB: why we failed

/**
 * Verifying Intent
 *
 * Even though a given user might have the capability to perform the action you’re checking, they might not have initiated it. Nonces are WordPress’ way of verifying the user actually initiated the action.
 */
/**
 * Checking Capabilities
 *
 * To keep sneaky evildoers from making changes to your WordPress site, it’s important to check that a given user has permission to make the change they want to make.
 */
/**
 * Securing Input
 *
 * Any time you’re using potentially unsafe data, it never hurts to validate and sanitize it. Validating is confirming the data is what you expect it to be. Sanitization is a more liberal approach to cleaning your data.
 */