Thursday, August 29, 2013

Why Have The Red Sox Gotten Worse Over The Last Six Years?

It's 5:16 am. I'm debugging baseball code while listening to conservative talk radio (aka "NPR"). They just ran a story about multiple climate scientists scrambling to explain why global air temperatures have "dropped over the past 15 years."

I'm flabbergasted. Global temperatures are dropping? That would seem to contradict the opinions of 97.4% of all climate scientists.


As you can see in the graph, 1998 (exactly 15 years ago) just happened to be an extremely hot year. And the graph shows that it was a bit hotter than the most recent year for which we have data. So, technically, global temperatures have dropped over the last 15 years.

However, they have risen significantly over the last 16 years (and also over the last 14 years).

It's no surprise that you can find a temperature drop if you hand-pick the comparison year. This is called confirmation bias: people who want to deny climate change (which apparently now includes NPR) only pay attention to the one single year that supports their bias.

Why didn't they run a story on why temperatures have skyrocketed over the last 13 years, or the last 17 years? There are only three reasons that "scientists" would choose exactly 15 years and not look at any of the other data:

1) They are making shit up to get attention.
2) They are making shit up because the oil companies are paying them to.
3) They are morons.

This is insane. This is the logical equivalent of a New York Times article titled "Why Have The Red Sox Gotten Worse Over The Last Six Years?"

Well, gee. If you hand-pick the year they last won the World Series (2007), you can pretend that the Boston Red Sox are on a "downward trend" (from a winning percentage of .593 to .590).

This line of reasoning is, of course, absurd. The Red Sox have the best record in the American League, just one year after finishing in last place. Everyone in Red Sox Nation knows that the team has righted the ship and are the favorite to win the division.

But if you cherry-pick the data and only look at 2007, then you might think it's time to release Big Papi, trade away Clay Buchholz, and fire John Farrell and Ben Cherington. While you are calling the sports radio shows with this brilliant analysis, I'll be enjoying the Red Sox playoff run.

Thursday, August 22, 2013

On Plastic Straws...



Causes.com just sent me an email asking me to sign a petition to get Applebee's to stop giving out straws.

I guess I'm a total douchebag to want straws in my drinks when kids are starving in Africa. But I really like straws. In fact, this email got me thinking that I like straws so much that I should buy some for home. Way to go, Causes.com!

Applebee's says they will still give you straws if you ask, but I don't want to be the guy that's flagging someone down for a straw; that guy is a douchebag. The waitstaff is already earning 71% less than minimum wage. Is Applebee's going to give them a raise for the added hassle of stingily doling out straws? Or hire more waitstaff? I doubt it.

Also not sure why I would be eating at an Applebee's. But maybe I have a business trip in Texas and every single non-chain restaurant was wiped out by a hurricane. It could happen.

If I'm not going to get a yummy Diet Pepsi with a straw in it, I might as well order beer. Applebee's serves Bud Light which is so watery that I'll drink five of them. Then I'll drive drunk and kill a 7-year-old, all because I wanted to keep 0.3 grams of plastic out of a landfill.

The blood of that dead child is on your hands, Causes.com! Next time, pick a real cause.

Monday, July 29, 2013

The New Pig Meat Hierarchy

Spam

We know that unsolicited automated email is called "spam".

And now some people are trying to use the term "bacon" to describe approved automated email (such as updates from your Facebook page, or newsletters from companies or causes that you care about). This term is allegedly used because such e-mail is not "spam" but it still deserves a pork-related term because it is automated.

This is a travesty, and one we must fight with every fiber of our being. Bacon is the queen of meats. It isn't some cross between "meat I love" and "meat I hate".

I beseech you all to only use the term "bacon" to describe email that you are happy to get, from actual human friends. Here is a more accurate hierarchy:

1) Bacon: Original e-mail sent to you, and only you, by a friend -- such as an invitation to meet up for dinner, or an enthusiastic discussion of something you are collaborating on (such as a new barbecue recipe, or your father's 75th birthday party).

2) Ribs: E-mail sent to you by a friend, but copied to others, such as an invitation to a barbecue.

3) Canadian Bacon: Important but not necessarily well-received original e-mail, such as from your boss.

4) Ham: Automated e-mail from groups you care about, such as your local LARP or Ultimate Frisbee Yahoo Group.

5) Sausage: Automated non-profit e-mail that you have opted in for, such as from MoveOn.org.

6) Canned Ham: Automated commercial e-mail that you have opted in for (e.g. from Zappos or Staples).

7) Spam: Automated unsolicited e-mail.

Sunday, July 14, 2013

Kickstarter and Feature Creep


Kickstarter

An example of feature creep (by James Provost)
The current buzz in game dev circles is about the Double Fine Adventure launched on Kickstarter 18 months ago.

To make a long story short:
1) Development team goes on Kickstarter to raise $400K
2) No stretch goals were specified.
3) They raised more than $3.3 million.
4) Nine months after the "Estimated delivery" date, there is no game.
5) Uproar has ensued.
I can see while people are angry. If you don't deliver a crowd-funded project because the lead designer gets hit by a bus, that's understandable. But if it's because you have too much money, that looks really unprofessional to an outside observer.

I have some comments, but please note that I am not criticizing Tim Schafer and the Double Fine team. The game industry has people that are actually evil and I see no evidence that Double Fine has done anything immoral or intended to do anything immoral. I'm not a backer and I'm not in their shoes. Nevertheless, I am taking a moment to talk about another team's project because:

1) I believe that crowd-funding will, and should, play a major role in the future of game development.
2) The crowd-funding paradigm is still young, and we need to discuss and clarify what backers should expect from developers.
3) Feature creep is, in my experience, the single greatest enemy to successful game development.

The Pressure of Feature Creep

The Double Fine team expanded the scope of their project in an attempt to have the magnitude of the project match the magnitude of the funding level. As the scope of a project increases linearly, the complexity of the project tends to increase exponentially. Therefore, it's no surprise that the project slipped past the completion date that they originally promised, despite having much more money to work with.

Based on the high funding level, I can understand the extreme pressure felt to add features not originally specified (aka "feature creep"). To say that I "understand" is an understatement. I can viscerally feel the pressure just by looking at the funding level. Game designers always want to add as much as we can, and we want to deliver everything that the consumer expects, and more. So when I see that funding level, I feel the pressure of higher expectations, in my gut, even though I have nothing to do with the project.

However, I have felt the pressure of feature creep many times before, and I have gotten better and better at resisting it as I have gained experience in this industry. I have also gotten better at justifying such resistance to management, publishers and customers. My sanity and happiness have increased in direct proportion to my ability to resist feature creep.

Backer Expectations

In my opinion, the decision about whether or not to succumb to feature creep in this situation should be guided by the expectations of the project's backers. They are the ones "buying" the product, and they are the ones to whom you have promised to deliver a specified project on a specified timeline.

I have supported Kickstarter projects in the past, and I have never had an expectation that the scope of a project would increase if the funding exceeded expectations (unless this is explicitly specified with stretch goals). For me personally, I wouldn't have gotten mad if Double Fine had simply delivered what they promised and "pocketed" the extra money. If they are getting paid accordingly to do what they love, without having to work for a big evil publisher, they will almost certainly make more games. So any "extra" money is just going into those future products.

My logic on this is that the crowd-funding paradigm looks to me an awful like the "pre-ordering" paradigm. You pay ahead of time for a product, in exchange for some positive benefit. In software, this benefit might be a lower price or a bonus game level, or even just the assurance that you will get the game on launch day instead of having to waiting in line. This is the customer/publisher relationship. If a traditional game publisher has more pre-orders than planned, they don't expand their scope accordingly. In fact, the very idea is silly. If EA projects that Madden pre-sales will be 250K and they hit 300K, the development team doesn't run back to the studio and try to squeeze in an extra feature before launch.

But Crowdfunding is Different

However, there are reasons that this project can't be compared to traditional game development, and can't be compared to other Kickstarter projects:

1. The "pre-order" numbers are *very* public.
Yes, you could theoretically find out if Madden exceeded sales goals and then demand more features from EA. But in the crowdfunding scenario, the funding level is right there on the very page where you "buy" the product.

2) Crowdfunding is a new field that doesn't fit the current retail paradigm.
Rightly or wrongly, we put more trust in a Kickstarter team than we do in a big game publisher. And in return, rightly or wrongly, we expect that the Kickstarter team will act (as an economist would say) in an "irrational" manner, going out of their way to provide us with a quality product instead of only looking at the bottom line.

3) Software is different.
If you are Kickstarting a board game with a $10,000 funding goal and you get five times that, there isn't an expectation of scope creep. The game is probably already designed and the funding is being used to meet actual physical printing costs. More funding means you have to print more copies and spend most of that money. Because software distribution is perceived as "free", people expect that any "extra" money should go back into product development.

The problem is that when you internalize the above points, you end up succumbing to feature creep and promising more than you can deliver. This puts you in a horrible situation where you are not only working 80-hour weeks, your customers are also mad at you for not delivering what you originally promised.

Expanding Scope While Limiting Risk

Assuming you do get caught up in the internal and external pressure for feature creep, what are some ways to address this pressure without exponentially increasing the complexity of the project? Some ideas:

  1. Hire more QA. Most gamers would rather have a modestly-scoped game with no bugs than an ambitious but buggy release.
  2. Run a serious beta test, run entirely by staff outside the existing development team, so you don't distract them from their efforts to reach the finish line.
  3. Hire customer service folks to ensure that the game runs properly for everyone after launch, and that problems and requests are responded appropriately. Design teams always underestimate the problems that will occur with downloads, billing, shipping physical product, and delivering patches and updates.
  4. Promise an update to the game 6 months after launch that incorporates feedback, fixes game balance etc.
Anyway, I think this is really interesting discussion and a really important one for our industry. Not only because crowdfunding is becoming an important path to market, but because feature creep has always been our worst enemy.

If I ran my company the way they tell you to in business school, we might have 50 employees. On the flip side, if I always tried to expand scope to meet every single customer's request or expectation, we would be out of business. As one of example of this, I know for a fact that I have customers who would earnestly complain that I took 30 minutes out of my day (on a Sunday) to write this post, instead of working on the actual product.

Finding a balance is tricky. I feel for Double Fine, I wish them success, and I hope they can take the outrage with grain of salt and make the game they want to make.

Monday, June 3, 2013

Today's Only Game Of Thrones Blog Post With No Spoilers

Apparently, something big happened in Game Of Thrones last night. I don't know what it was, and I'm not going to find out. I have stopped watching Game Of Thrones for two reasons:

1) I don't watch shows or movies that include torture or rape. I watch shows where bad guys get punched and shot, but not where they get tortured. If a bad guy is attacking your family, it's OK to shoot him. It's never OK to torture or rape him.

I don't ignore torture and rape in the real world. I know they exist and make some effort to stop them (such as by being a member of Amnesty International). But I don't want it in my fiction.

2) I believe that Game Of Thrones is rape culture. I'm sure this point will be more controversial than #1, as my circle of friends includes an above-average number of feminists and an above-average number of GoT viewers. I don't have the time to construct a cogent argument (especially since I promised no spoilers), so I will just leave this point open for discussion...

There's a lot I like about GoT. I look forward to renting it on Netflix five years from now, after the torture and rape culture have been edited out.

Sunday, May 19, 2013

Top 22 Nicknames for Benedict Cumberbatch

Photo by Sam Hughes
22. King Of The Cumberbitches!
21. Cummerbund Bandersnatch 
20. Spongebob Squarebatch
19. Vorpal Blade Snicker Snack
18. Jinglebear Briarpatch
17. Sasquatch Pancakestack
16. Litterbox Slumber Cat
15. Grammy Pick Grandmaster Flash
14. Bandicoot Crash and Snatch
13. Turtleneck Dumbledore
12. Peregrine Bumpershoot
11. Parlortrick Chunter Prat
10. Boffin Dick Baby Match
9. River Styx Titan Clash
8. Bend-It-Like-Beckham Snatch
7. Bubble Tea Cabbage Patch
6. Benny Hill Camelsnatch
5. Thistledick Lumberjack
4. Bento Box Bumble Batch
3. Watercloset Chimneysweep
2. Bendy-Dick Cum-On-My-Baps
1. D'Brickashaw Ferguson

Note: "Bendy-Dick Cum-On-My-Baps" was an actual school nickname. If you don't know what "baps" are, ask a Brit.

Tuesday, April 9, 2013

Ayn Rand's Utopia


We all know that libertarians believe in drug legalization, the free market, free speech and freedom of religion.

But what everyone forgets is that libertarianism effectively prohibits pollution of any kind (air, water, noise, etc.). It doesn't just tax it or discourage it. It makes it virtually impossible.

Philosophers from Thomas Paine and William Godwin to Robert Nozick and Frederick Hayek have written much about libertarianism. But I'm going to quote Ayn Rand, as she is the modern face of libertarianism (and the woman for which Ron Paul named his son):

"The basic right of man is to live his life without being harmed by others. This implies the requirement to refrain from harming others as well, since all men share this most fundamental right."


Ayn Rand
This isn't just Rand's philosophy. This is the core tenet of libertarianism and laissez-faire capitalism. This is why libertarians are against taxing people to provide social programs. By using force to take someone's money, you are harming them and violating the "basic right of man".

However, modern Objectivists rarely point out that burning coal or pouring chemicals into a river causes harm to others in the same way that taxation does. And like taxation, pollution uses force to cause harm. According to the World Health Organization, air pollution from burning coal kills more than 1 million people every year, and causes physical harm and monetary harm (aka "theft") to many many more. In Rand's philosophy, pollution is the moral equivalent of robbery or rape.

So, what is the role of government when one individual (the owner of a coal plant) is causing harm to others against their will?

Modern "right-wing" politicians (aka "the Republican party") advocate that we should ignore these harms. The coal plant is providing electricity and creating jobs, and one could argue that this benefit outweighs the harm (to the society as a whole, if not to each individual). Despite what Paul Ryan and the Koch Brothers would like you to believe, this is not "free market capitalism". This is tyranny. This is what Ayn Rand calls "collectivism" -- the government using force to decide that the "needs" of the entire society are more important that the rights of any one individual.

Modern "left-wing" politicians (aka "the Democratic party") advocate that we should "regulate" these harms. This means using government force to reduce "excessive" pollution, and to tax the rest. If the scientists at the EPA decide that burning coal causes $100 worth of damage to every American, then left-wing politicians will levy a tax on coal burning equal to $100 per American. They could then turn around and give this money to each person that was harmed. However, more often, that money is used to pay for government programs that attempt to ameliorate that harm (e.g. health care) or reduce future harm (e.g. investment in "alternative" energy).

As with the Republican solution, the Democrat's solution is also "collectivism". It is the government using force to put the collective good ahead of individual rights.

Libertarianism holds that both the Republicans and Democrats are allowing (and even encouraging) a moral wrong. No one has a right to harm any other person without using the free market to reach an agreement beforehand. I can't just burn down your house because I feel like it, and then pay you $100 the next day because I feel that this is the "fair value" of your home. If you want to sell me your house, you are free to do so. But we must come to an agreement *before* I burn down your house.

In the case of pollution, this means that every single person harmed by pollution must agree to it beforehand. As one individual, I could decide that I'm willing to let a coal plant pollute my air if they pay me $100 each year. Every single person could reach this same agreement with the coal company. This is the free market at work: individuals determining how much something (such as clean air) is worth *before* they sell it.

It's even possible that everyone would come together and legally delegate a representative to negotiate on their behalf. This is what unions do, and it allows the workers to continue to do their jobs and live their lives while a fair market price is determined.

However, unions are voluntary organizations. If you don't want to work for GM, you don't have to. But breathing isn't voluntary. If you pollute my air, you are using force to harm me, and it is the legitimate role of any libertarian government to stop that harm (by using the courts and police force to physically prevent this harm from taking place).

As it is virtually impossible that 7 billion humans will all agree to have their air polluted, libertarianism and pollution are incompatible in the real world (unless the polluter finds a way to contain the pollution in a bubble built on private land, or to stop the pollution at the source -- but then it isn't really "pollution", is it?)

At this point, libertarians might choose to compromise their principles in exchange for efficiency. For example, I would like to be able to drive a gasoline-powered vehicle so that I can visit my family on Thanksgiving. Therefore, I elect a government that enforces my "right" to pollute, even though I am violating the rights of others. This is democracy. But it isn't libertarianism.