Watch: Jacob Kaplan-Moss Keynote at Pycon 2015

35 minutes that are absolutely worth it. Watch Jacob Kaplan-Moss at PyCon 2015 explain why he is a ‘mediocre programmer’ and why we need to take a hard look at our industry, how we define our careers, and the myths we tell, because they are flawed, and we are all the lesser as long as it remains so:

Reading “The Practice of Cloud System Administration”

It is human nature to look for patterns and to assign them meaning when we find them. Kahneman and Tversky analyzed many of the shortcuts we employ in assessing patterns in data and in making judgments in the face of uncertainty. They dubbed those shortcuts heuristics. In general, heuristics are useful, but just as our manner of processing optical information sometimes leads to optical illusions, so heuristics sometimes lead to systematic error. Kahneman and Tversky called such errors biases. We all use heuristics, and we all suffer from biases. But although optical illusions seldom have much relevance in our everyday world, cognitive biases play an important role in human decision making. And so in the late twentieth century a movement sprang up to study how randomness is perceived by the human mind. Researchers concluded that “people have a very poor conception of randomness; they do not recognize it when they see it and they cannot produce it when they try,” and what’s worse, we routinely misjudge the role of chance in our lives and make decisions that are demonstrably misaligned with our own best interests.
— Thomas A. Limoncelli, Strata R. Chalup, Christina J. Hogan, “The Practice of Cloud System Administration”

Kathleen Vignos, Director of Engineering at Wired.com, on its new design

Read Kathleen Vignos, Director of Engineering at Wired.com, on their new design, and launch on a new Web stack. It looks like Wired.com has joined a growing, varied, and impressive list of large media sites using WordPress, including Time.com, Beyonce, Google Ventures, GM, TedNasa, and Forbes. I pulled together that list recently when putting together material for the TechGirlz and Comcast class on Worpress that I participated in. It was nice reading about some of the deployment and development pipeline they are building there. Nice work Wired.com.

“Distributed big balls of mud”

Read Simon Brown’s post about how microservices are not the Silver Bullet some are promoting them to be.  As always, pick the right tool for the problem *and* for who will be solving it (the team and organization matters!!!). Sometimes, yes, that’s microservices. Sometimes it’s not. Pick your poison, but do so with open eyes and a level of clarity.

 

Quote

Consider a system to be made up of procedures, some of which are stateful and others which aren’t. We have already discussed the difficulties of understanding the bits which are stateful, but what we would hope is that the procedures which aren’t themselves stateful would be more easy to comprehend. Alas, this is largely not the case. If the procedure in question (which is itself stateless) makes use of any other procedure which is stateful — even indirectly — then all bets are off, our procedure becomes contaminated and we can only understand it in the context of state. If we try to do anything else we will again run the risk of all the classic state- derived problems discussed above. As has been said, the problem with state is that “when you let the nose of the camel into the tent, the rest of him tends to follow”.

As a result of all the above reasons it is our belief that the single biggest remaining cause of complexity in most contemporary large systems is state, and the more we can do to limit and manage state, the better.

“Out of the Tar Pit”, Ben Moseley and Peter Marks, 2006

Quote

The “software crisis” was first identified in 1968 and in the intervening decades has deepened rather than abated. The biggest problem in the development and maintenance of large-scale software systems is complexity — large systems are hard to understand. We believe that the major contributor to this complexity in many systems is the handling of state and the burden that this adds when trying to analyse and reason about the system. Other closely related contributors are code volume, and explicit concern with the flow of control through the system.

“Out of the Tar Pit”, Ben Moseley and Peter Marks, 2006