- Angular JS Style Guide — I love style guides, to the point of having posted (I think) three for Angular. Reading other people’s style guides is like listening to them make-up after arguments: you learn what’s important to them, and what they regret.
- Consensus Filters — filtering out misreads and other errors to allow all agents, or robots, in the network to arrive at the same value asymptotically by only communicating with their neighbours.
- Why Banks are BASE not ACID — Consistency it turns out is not the Holy Grail. What trumps consistency is: Auditing, Risk Management, Availability.
- perfmap — front-end performance heatmap.
Putting ourselves in the shoes of the user is key to building better systems and services.
In this podcast episode, Tim O’Reilly talks about building systems and services for people, keeping a close eye on the end user’s experience to build better, more efficient systems that actually work for the people using them. Highlighting a quote from Jeff Sussna, O’Reilly makes a deeper connection between development and the ultimate purpose for building systems and services — user experience:
“[Jeff Sussna says in his blog post Empathy: The Essence of DevOps]: ‘It’s not about making developers and sysadmins report to the same VP. It’s not about automating all your configuration procedures. It’s not about tipping up a Jenkins server, or running your applications in the cloud, or releasing your code on Github. It’s not even about letting your developers deploy their code to a PaaS. The true essence of DevOps is empathy.’
“Understanding the other people that you work with and how you’re going to work together more effectively. That word ’empathy’ struck me and it made me connect the world of DevOps with the world of user experience design.”
Mark Burgess chats about Promise Theory, and Geoffrey Moore discusses a modern approach to his Crossing the Chasm theory.
As systems become increasingly distributed and complex, it’s more important than ever to find ways to accurately describe and analyze those systems, and to formalize intent behind processes, workflows, and collaboration.
In this episode, John Allspaw talks in-depth about blameless postmortems and creating a just culture.
When you’re dealing with complex systems, failure is going to happen; it’s a given. What we do after that failure, however, strongly influences whether or not that failure will happen again. The traditional response to failure is to seek out the person responsible and punish them accordingly — should they be fired? Retrained? Moved to a different position where they can’t cause such havoc again?
John Allspaw, SVP of technical operations at Etsy and co-chair of the O’Reilly Velocity Conference, argues that this “human error” approach is the equivalent of cutting off your nose to spite your face. He explains in a blog post that at Etsy, their approach it to “view mistakes, errors, slips, lapses, etc., with a perspective of learning.” To that end, Etsy practices “blameless postmortems” that focus more on the narrative of how something happened rather than who was behind it, and that remove punishment as an outcome of an investigation.
A collection of must-see keynotes from Velocity Santa Clara, with bonus videos of some of the best sessions.
Editor’s note: this post originally appeared on Steve Souders’ blog; it is published here with permission.
Velocity Santa Clara was our biggest show to date. There was more activity across the attendees, exhibitors, and sponsors than I’d experienced at any previous Velocity. A primary measure of Velocity is the quality of the speakers. As always, the keynotes were livestreamed — the people who tuned in were not disappointed. I recommend reviewing all of the keynotes from the Velocity YouTube Playlist. All of them were great, but here’s a collection of some of my favorites.
Start. Here. Scott Hanselman’s walk through the evolution of the web and cloud computing is informative and hilarious:
If all companies are software companies, then all companies must learn to manage their online operations.
Two years ago, I wrote What is DevOps. Although that article was good for its time, our understanding of organizational behavior, and its relationship to the operation of complex systems, has grown.
A few themes have become apparent in the two years since that last article. They were latent in that article, I think, but now we’re in a position to call them out explicitly. It’s always easy to think of DevOps (or of any software industry paradigm) in terms of the tools you use; in particular, it’s very easy to think that if you use Chef or Puppet for automated configuration, Jenkins for continuous integration, and some cloud provider for on-demand server power, that you’re doing DevOps. But DevOps isn’t about tools; it’s about culture, and it extends far beyond the cubicles of developers and operators. As Jeff Sussna says in Empathy: The Essence of DevOps:
…it’s not about making developers and sysadmins report to the same VP. It’s not about automating all your configuration procedures. It’s not about tipping up a Jenkins server, or running your applications in the cloud, or releasing your code on Github. It’s not even about letting your developers deploy their code to a PaaS. The true essence of DevOps is empathy.