September 30, 2008 by Craig
Both Ted and myself have recently taken an interest in the works of Seth Godin, one of the gurus of marketing in the Internet age. More than likely we were both influenced by the good things said about him on the Stack Overflow Podcast.
Ted recently reviewed Purple Cow, one of Seth’s more famous books. He gave it a fairly negative review. I haven’t read Purple Cow or any of Seth’s other books yet (they’re still on hold at the library), but I have recently added his blog feed to my Google Reader. Based on what I’ve seen, some of Ted’s comments are right on the money:
If I hadn’t been privy to the blogging phenomena, I’d probably have described this book as The Art of War for marketing, a collection of quips and anecdotes.
The author builds some pretty big bridges over the chasm between cause and effect with bold and broad statements along the lines of “product X was crazy successful because of tactic Y,” glossing over any possible nuances of the relationship between the two or other possible external market factors.
Even though I agree with Ted on what Seth does, I don’t get the same negative impression about the results. Much like the Sun Tzu work that Ted mentioned, Seth provides illustrative insights into high-level concepts. Ted is looking for details on how to implement those concepts. Both are important to have; Seth set the direction, the things that Ted reads describe how to get there.
The most interesting part is that Seth left a comment on Ted’s review that said pretty much the same thing:
If you don’t like short and provocative riffs, you’ll hate my blog, I promise. Just FYI, I’m told by happy readers that the book has provoked people to start things, fix things, earn a lot and have fun doing it.
Seth wants to inspire people with grand visions, and hopes that inspiration will help people to discover solutions on their own. That’s a noble goal.
Category: business, web
September 26, 2008 by Craig
Why do computer scientists often confuse Christmas and Halloween?
Because Oct 31 = Dec 25
I’m not going to explain this one. If you don’t get it, you’re not going to find it funny anyway.
Category: humor, programming
September 24, 2008 by Craig
Note: I stole the title from the same place I got the information for the post: Freakonomics Blog.
This quote can’t sum up my beliefs more (although I’ve added some emphasis):
As the presidential campaign heats up, intense efforts are underway to debunk rumors and misinformation. Nearly all these efforts rest on the assumption that good information is the antidote to misinformation.
But a series of new experiments show that misinformation can exercise a ghostly influence on people’s minds after it has been debunked — even among people who recognize it as misinformation. In some cases, correcting misinformation serves to increase the power of bad information.
That’s the message behind this story at the Washington Post.
Sadly, I’m coming to accept this. Much of the time, people will not change their beliefs based on factual information or logically sound arguments. This seems to apply to some people more than it does to others. It’s also unevenly applicable across domains; a given person may respond favorably to logical arguments on one topic but unfavorably on others. (This is religion and politics are often taboo topics for discussion in friendly environments: they trigger irrational responses more easily and thus often devolve into hurt feelings.)
The part about debunking being counterproductive is news to me, but it does make sense. Provide a sound argument against someone’s strongly-held position, and you’ll very rarely get a “thank you, I was wrong” (assuming, of course, that they were). Not only is a rationalizing counterargument more likely, but you might also be shut out for your attempt. The labels “elitist”, “snobbish”, and “arrogant” are often misapplied to people who challenge beliefs with rational methods.
This is not only disheartening to me, but it’s also very dangerous. Scientific, technological, and social advancements have given humans much more power than we’ve had at any other point in history. If any of these advancements are abused via irrational beliefs and actions, there can be disastrous consequences:
- Mass communication for the spread of (mis)information
- Widespread political influence (which in turn depends on mass communication)
- Large, interdependent economic systems
- Increased environmental impact
- Weapons of both large- and small-scale destruction
Lately I’ve been trying to improve my effectiveness at convincing others. Thus far, my strategy has been to spread information in the hopes that it will push out misinformation. I’m starting to move past that now, but I’ve got a long way to go.
Category: politics, psychology
September 22, 2008 by Craig
Seth Godin writes:
I think there’s a huge gap between what people are willing to pay for nice (a lot) and what it would cost businesses to deliver it (almost nothing). Smells like an opportunity.”
In Canada, there’s two major airlines that serve most of the country: Air Canada and WestJet. It’s a common theme to hear people prefer WestJet over Air Canada because the staff are “friendly”. Their prices are mostly the same, their schedules are worse, but the staff have a reputation for being much better than any other airline. They certainly are in my experience: WestJet is noticably better than any other airline I’ve been on (about half a dozen), including my next-best pick, JetBlue. (I haven’t flown SouthWest though.)
How much does it cost them? One would think that they have a harder time finding people to staff their organization because they have to filter out the crabbier people. However, I tend to hear that potential employees are more attracted to WestJet because of the good corporate environment. In other words: niceness can be a positive-feedback loop. It may be that WestJet doesn’t pay much extra for nice people because nice people tend to seek out and thrive in WestJet’s culture.
There’s definitely people who seem to be miserable by default. I haven’t really met their opposites (people who are cheery in nearly every situation), but I’m guessing they exist. However, the majority of all people tend to fall in the middle ground: they’re nice when they’re around other nice people and aren’t under too much stress. Their capacity to be nice exists, but it does wither if external forces cloud the landscape. This means that creating a culture of nice takes effort to maintain. It’s not a Herculean task though; some simple (and cheap) actions to eliminate the worst of the problems can allow pleasantry to flourish.
Category: business, canada
September 21, 2008 by Craig
Most of the article is an attack on Sarah Palin’s beliefs and abilities as a potential President, but there is one good general quote in this recent Sam Harris article.
Ask yourself: how has “elitism” become a bad word in American politics? There is simply no other walk of life in which extraordinary talent and rigorous training are denigrated. We want elite pilots to fly our planes, elite troops to undertake our most critical missions, elite athletes to represent us in competition and elite scientists to devote the most productive years of their lives to curing our diseases. And yet, when it comes time to vest people with even greater responsibilities, we consider it a virtue to shun any and all standards of excellence. When it comes to choosing the people whose thoughts and actions will decide the fates of millions, then we suddenly want someone just like us, someone fit to have a beer with, someone down-to-earth—in fact, almost anyone, provided that he or she doesn’t seem too intelligent or well educated.
September 19, 2008 by Craig
Do computer programs that write other computer programs mean the end of the software development career for humans?
Twelve years ago, while I was in computer programming school, I was engaged in a debate with a not-so-knowledgeable person about the value of a career in software development. He claimed that before too long the profession would be obsolete, as computer programs would be writing computer programs, and the humans wouldn’t be necessary. (He was a medical magnet salesman; I think he was trying to convince me that his profession had more merits.)
Thankfully, I didn’t argue the point much. There would have been little point in trying to convince him anyway, but at the time I didn’t really have a strong argument against it. Circa 1996, RAD and expert systems were big buzzwords, and so it seemed at least possible that, given enough time, research, AI, and computing power, programs-to-build-programs could become reality.
A decade and a couple of computing revolutions later, this dream is looking less likely. We now know a lot more about how little we know about software development. We know how complex and chaotic it is, and we know how poorly algorithms are suited to handling those sorts of problems. We know that the best work is done in organizations that emphasize people over process.
That’s not to say that computers, algorithms and AI haven’t made some appreciable advancements in capability over the past few years. Google is the best-known example. The Roomba and it’s big-brothers SWORDS and Predator have finally brought robotic sci-fi closer to reality. There’s real progress being made on the DARPA challenges. Can software-that-writes-software be that far behind?
I’m not going to attach a timeline to that question, but I do have one insight. It came to me when listening to Stack Overflow Podcast 21 (you can read the transcript here). Jeff and Joel were discussing the role of experts in particular fields, how deep their knowledge really goes, and how applicable it is to new development. Jeff said:
…the way that I’ve characterised [software development] in the past, it’s kind of like a number in binary. Right? So you start off with a bit… which is, you know, zero or one. And then as you go from left to right, you flip all those bits, and say you have six bits. By the time you’ve flipped six unique bits, think how many combinations there are of what you’re doing. It was always amazing to me as a developer, it didn’t take very long at all to get completely off the beaten path, to where, like, virtually nobody is doing what you are doing. And it’s not like you’re doing anything weird. It’s just that you made 6 unique decisions that are all independent of each other, and software development is just kind of like that.
6 trivial changes can make 64 different possible outcomes (2 to the power of 6). What Jeff means is that no situation in software development is exactly the same as any other; the number of variables is so large that the number of outcomes is enormous.
Computers today cannot deal with that sort of complexity. They won’t be able to do so in the immediate future either. With increases in algorithm research and raw power, they might be able to do so someday. I don’t know whether or not that will happen in my lifetime.
What I do know is this: software development is probably the most complex domain in existence. That means that, if computer programs someday replace the software developer, it will be one of the last careers to be replaced. Most of the others will have long since fallen to ever-more-capable robots and algorithms. If you want something that’s future-proof, software development is probably as close as you will ever get.