That’s why the search for a root cause is usually a witch-hunt in disguise, trying to find someone or something to blame. If you think there is really a single cause, you eventually must identify a single person. If you stop short of that, everyone knows the process was a farce. But blaming a person is also a farce. Everyone knows that someone’s being thrown under the bus and that wasn’t the real problem.

Baron Schwartz, The Root Cause Fallacy

"Fallacy" might be a little strong, but yes, a dysfunctional post-mortem will descend into a witch-hunt and someone can wind up on the horns without any real solutions being proposed. Not that no one ever deserves to get strummed out, but it can’t be your first reaction.

I suspect that even the designers of Unix shells are often surprised at the inventive uses developers have wrought with their simple but powerfully composable abstractions.

Neal Ford, Why Everyone (Eventually) Hates (or Leaves) Maven

A post on composable systems (vs. contextual ones). It’s a thoughtful post, and worth a slow and careful read.

Tags: composition
So I can’t believe I forgot to mention this here on ye olde Tumblr but…
I wrote this book. It came out in June. It’s about PhantomJS and uses a cookbook approach to present a variety of testing strategies — unit testing, end-to-end testing, continuous integration, and more. (Plus some PhantomJS fundamentals.)
You can pick up a copy from the Packt website: goo.gl/NJnFq1

So I can’t believe I forgot to mention this here on ye olde Tumblr but…

I wrote this book. It came out in June. It’s about PhantomJS and uses a cookbook approach to present a variety of testing strategies — unit testing, end-to-end testing, continuous integration, and more. (Plus some PhantomJS fundamentals.)

You can pick up a copy from the Packt website: goo.gl/NJnFq1

Ilya Grigorik, Script-injected “async scripts” considered harmful”:

The inline JavaScript solution has a subtle, but very important (and an often overlooked) performance gotcha: inline scripts block on CSSOM before they are executed. Why? The browser does not know what the inline block is planning to do in the script it is about to execute, and because JavaScript can access and manipulate the CSSOM, it blocks and waits until the CSS is downloaded, parsed, and the CSSOM is constructed and available. A hands-on network waterfall is worth thousands words, consider this example:

Ilya Grigorik, Script-injected “async scripts” considered harmful”:

The inline JavaScript solution has a subtle, but very important (and an often overlooked) performance gotcha: inline scripts block on CSSOM before they are executed. Why? The browser does not know what the inline block is planning to do in the script it is about to execute, and because JavaScript can access and manipulate the CSSOM, it blocks and waits until the CSS is downloaded, parsed, and the CSSOM is constructed and available. A hands-on network waterfall is worth thousands words, consider this example: