[Sent from my iPhone 3GS]
[Sent from my iPhone 3GS]
The issue of how does the network impact the design of a programming language is huge. As soon as you’ve got a network, you have to deal with diversity; you have to deal with communication; you really have to think about how failures affect things; you have to worry a lot more about reliability. In particular, you have to worry about how to build systems that can be robust and continue operating in the face of partial failures, because most of the systems that people are building that are of any interest are ones where there’s always something that’s broken. And the traditional view of software has been that it’s sort of an all-or-nothing thing; it’s working, or it’s not. And a lot of those sort of concerns feed into things like the Java exception mechanism, the strong type system, the garbage collector, the virtual machine, and on and on. I mean, the network had really profound effects on the design of Java, the language and the virtual machine. - James Gosling
There’s a complicated relationship between the two things. Sometimes flexibility may add to power — if I could just make these things green, my eye could pick them out more easily, and I’d get my work done more quickly.
But flexibility detracts from power just as often — or more often. Flexibility is an invitation. It says, “Hey, futz with this. And this. And this. You’re not getting anything done, but at least you kind of have the illusion of doing something.”
Michael Schilf (@WriterSchilf)8/5/10 1:47 PM We are what we repeatedly do. Excellence, therefore, is not an act but a habit. - Aristotle |
In teams, that has to be one of the overriding challenges maintaining that conceptual integrity.
Yes. And so, when I was teaching a software engineering lab, I would tell the teams (typically consisting of four people), “Choose one person to be the boss and another one to be the technical director.” And I use the analogy of the producer and director of the film. One person is responsible for getting it done and another one is responsible for getting it right. And those are different functions, and the producer had better not interfere with the artistic concept of the director—that is, the designer.
I think most people have one top idea in their mind at any given time. That's the idea their thoughts will drift toward when they're allowed to drift freely. And this idea will thus tend to get all the benefit of that type of thinking, while others are starved of it. Which means it's a disaster to let the wrong idea become the top one in your mind.
The management changes, announced in an e-mail message to I.B.M. employees, were intended to improve the company’s products and services, Mr. Palmisano wrote. For example, computer hardware and software are for the first time being placed under the oversight of one executive.
Increasingly, Mr. Palmisano wrote, computer systems must be “designed and brought to market as tightly integrated” packages of hardware and software.
That's the problem with A/B testing. It's empty. It has no feeling, no empathy, and at worst, it's dishonest. As my friend Nathan Bowers said:
A/B testing is like sandpaper. You can use it to smooth out details, but you can't actually create anything with it.The next time you reach for A/B testing tools, remember what happened to Phil. You can achieve a shallow local maximum with A/B testing -- but you'll never win hearts and minds. If you, or anyone on your team, is still having trouble figuring that out, well, the solution is simple.