Easter. Enjoyed the time with the family.

Don't you hate it when you have a potentially nifty thought, but you don't feel smart enough to bring it to completion? For what it's worth, here are the rails in my train of thought:

  • In user interface design, and perhaps in software engineering, there is a commonly-accepted rule that "modes are bad".
  • What are modes? State that affects behavior.
  • Why is it bad? You have to remember what state you're in to predict behavior, making it harder to reason about a system.
  • What does this sound like? Pure functional programming.
  • What could this mean? Here's where I'm not smart enough.

On the other hand, I do very much enjoy stumbling upon a right set of refactorings to get me where I want to be.