October 2008


You can imagine that, in an election that's as enthusiastically watched as this one, there's a lot of attention to predicting the outcome. Sites like fivethirtyeight.com use sophisticated statistical models to make predictions based on polling data. I've written about this previously.

Another mechanism getting a lot of attention, however, is the prediction market. Prediction markets are just like stock markets, except that instead of investing in shares of a public company you invest in a future outcome, such as Barack Obama winning the election. When you buy a stock on the NYSE or NASDAQ, what you're really doing is making a prediction that a particular company will do well in the future, or at least that it's stock price will do well. Prediction markets take that basic mechanism and turn it into a way to predict. In a prediction market, the price of an outcome going up and down reflects the collective intelligence about how likely that outcome is.

At least that's the idea. The New York Times has an interesting article today about recent problems with prediction markets around the upcoming presidential elections. Apparently, among three top prediction markets, InTrade, BetFair, and the Iowa Electronic Markets there's been a great deal of variation in predictions at any given time. In other words, the predictions don't agree. This is not supposed to happen.

Prediction markets work on the principle that if you give enough rational, self-interested, maximizing people the chance for tangible benefit from a future outcome, all those people acting in their own interest will give you a very good idea of what's going to happen. It's in their interest to predict as best they can, and when lots of people do that, the invisible hand works to set the right price / prediction. Meanwhile, I can bet on a prediction at any one of the prediction markets. Theoretically, I'll put my money in the one that gives me the best chance for a gain. If InTrade is predicting a John McCain win, I'm buying Barack Obama as quick as I can if I'm a Democrat. And vice versa. The effect should be to reduce the variation in price across the markets.

But apparently that isn't happening. The NY Times article notes that InTrade saw a giant swing towards John McCain recently that wasn't matched in any of the other markets. Apparently, there was a single 'institutional investor' who was betting big on InTrade for 'political reasons' and skewing the results. At least that's the story they tell. But that's not supposed to happen either. In a big market like InTrade, outliers should not be able to push the price around that much. The bigger the market, the more buying or selling it takes to artificially change the result.

It begs the question – how big does the market have to get in order to be insulated against outliers. Or, can it ever really be insulated at all? We're starting to put a lot of stock in prediction markets. For sure, some of it is justified – the Iowa Electronic Markets have successfully predicted the winner of the presidential election many, many times.

But I don't think we know enough about how incentives work in prediction markets yet, especially on issues like presidential elections. I'm not going to fight 100s of years of economists who have relied on the assumption that people seek profit for themselves. No doubt that's a powerful motive. But it's not the only one. Knowing that people are paying attention to prediction markets, that those markets have the power to sway perceptions and votes, maybe my incentive to invest in John McCain isn't only based on wanting to walk away with a new flat screen TV, it's also based on my Republican ideology. I'm willing to bet my $ on the chance that swaying the market could sway the election.

Is that so far fetched? I don't think so. NY Times notes that big-time political sites like RealClearPolitics list the prediction market prices right there next to the polls. I'm not claiming that the prediction markets are broken. I'm just claiming we don't know. The assumption that profit is the only incentive at work is unfounded in my view. In high-stakes situations like this, where other powerful incentives exist, we really need a deeper understanding of what drives people when they bet.

Well, I've spent the last year thinking about my dissertation proposal, the last 2 months writing it, and on Friday I'll defend it. Eep. Actually, it's been great, and I can't wait to finally get started on this research that's all my own. Or, mostly, since no one really has a new idea anymore.

As soon as my Quals. are over, I'm going to start blogging a lot more about my research, data as it comes in etc. For now, I can tell you that it's called 'Motivated by Information: Information About Online Collaboration as an Incentive for Participation.' I've also been inspired by Joe to feed my proposal into the very cool Wordle word-cloud tool to see what comes out.

Motivated By Information
(Click for a larger version)

OMG! It's about information! Also, I think it kind of looks like a grenade. An information grenade.

Occasionally I think there are moments around here that illustrate how unique (read: strange) the iSchool at Berkeley is.

Case in Point: the 'A Hierarchy of Skills' thread. It began innocently, with someone inviting us into the thought experiment of ranking programming languages in the order that they should be learned. Enter incredible geekdom, and more than 100 sometimes impassioned emails about a variety of topics, including:

  • why PHP sucks
  • why Python is amazing
  • why Java sucks
  • why Ruby is amazing
  • what an iSchooler should know
  • what the best language for programming courses is
  • occasionally, the original question

So, basically, it was one of the most in-depth, geekiest, interesting threads ever. And then, to top it off, we have this. The abridged, cliff notes version in graphical form. Who would do this? Ryan Greenberg, in this case. But really it occurs to me how unique and amazing the Berkeley iSchool can be, full of talented people who will debate each other to death, then make jokes, then make pretty visualizations of the whole process (and then probably go drinking). God this place is special.

Centithread - A Hierarchy of Skills

(Click for a larger version)

What do you think about ballot propositions? In California, every election cycle we're asked to vote on somewhere between 4 and 13,000,000 individual propositions. This year, all but one were put on the ballot by petition rather than by the legislature.

I'm conflicted. On the one hand, ballot propositions are a great outlet for representative democracy. Want to see a new government program, or a change to the California constitution? Just get some signatures it it can be on the ballot. Then again, any old dumbass can gather signatures. It seems to me you could find enough people to sign on to even the worst idea and get it on the ballot.

And once it's there, we're putting an awful lot of faith in the knowledge and comprehension of the voting public. I hate to be a cynic, but I just don't trust voters to get it right. Why? Well, I could go for the straight (and offensive) argument that most people are stupid. Meh. Actually, I don't even need that argument. I think to myself: I've got more post-graduate education that your average 3 people put together. That doesn't make me smart, but it does give me a lot of practice with reading tough material, digesting complex issues, making conclusions. And I can't make any sense of most of these things! The frikkin' voter handbook is like 2 inches thick! Yes, it includes the actual text of the law at the back. But then again, it includes the actual text of the law at the back! I need a translation. I need some Advil. And if I can't make heads or tails of it, can most people? Maybe. Maybe I'm just dum.

AAA Logo
This year's annual meeting of the American Anthropological Association (AAA) is in San Francisco from Nov. 19th to Nov. 23rd. Looking through the preliminary program (PDF), there are a ton of interesting sessions. As usual, it's bound to be an absolute clusterf*ck, and each time slot has about 30 sessions in different rooms. Oh well. Anyway, I pulled out just a few of the interesting sessions:

Wed. 11/19

12 – 130
REMIXING ANTHROPOLOGY: COLLABORATION
2.0 IN THE REPUTATION ECONOMY
Chair(s): P Kerim Friedman Organizer(s):
P Kerim Friedman, Michael L Wesch
Participant(s): P Kerim Friedman, Todd S
Harple, Kimberly A Christen, Eric C Kansa,
Casey K O’Donnell, Michael L Wesch
Discussant(s): Christopher M Kelty

ANTHROPOLOGICAL PERSPECTIVES
ON ONLINE AND HYBRID EDUCATIONAL
COMMUNITIES
Chair(s): Chia Yuan Hung Participant(s):
Chia Yuan Hung, S A Mousalimas, Sundy L
Watanabe, Wesley R Shumar, JoAnne Kleifgen,
Katalin J Kabat

6 – 730pm
MOURNING THROUGH TECHNOLOGY IN
KOREA AND JAPAN
Chair(s): Eleana J Kim Organizer(s): Elise
Marie Prebin, Nan Youngnan Kim–Paik
Participant(s): Elise Marie Prebin, Nan
Youngnan Kim–Paik, Fabienne Duteil–Ogata
Discussant(s): Ellen Schattschneider, Michael
Herzfeld

Thurs 11/20

1015 – 12
NEW TECHNOLOGIES, GENDERED MEANINGS
AND SOCIAL INEQUALITIES
Chair(s): Barbara Herr Harthorn Organizer(s):
Barbara Herr Harthorn, Laury Oaks
Participant(s): Barbara Herr Harthorn, Theresa
A Satterfield, Muriel Vernon, Kathi R Kitner,
Lucia L S Siu, Laury Oaks Discussant(s): Jo
Murphy–Lawless

145 – 545
SOCIAL NETWORK ANALYSIS AND
ANTHROPOLOGY
Chair(s)/Organizer(s): Arthur D Murphy
Participant(s): Thomas Pluckhahn, Carly L
Hertz, Arthur D Murphy, Linda J Jencson, Chris
McCarty, Christine B Avenarius

Friday 11/21

145 – 330
ENGAGEMENT WITH ART AND TECHNOLOGY
Chair(s): Joshua P Feola Participant(s): Joshua
P Feola, Shelia Pozorski, Ruben G Mendoza,
Louis W Fortin, Jeb J Card, Amy J Hirshman

Invited Session: BRICKS, BLOGS AND
BUNGALOWS: REDEFINING LEISURE,
REINVENTING SELF (Sponsored by NASA)
Chair(s): Lisa Bintrim Participant(s): Lisa
Bintrim, Amelia M Moore, Maria T Brodine

Presidential Invited Session: THE
ANTHROPOLOGIST AS SOCIAL CRITIC:
TOWARDS AN ENGAGED ANTHROPOLOGY
(Sponsored by SUNTA)
Chair(s)/Organizer(s): Sally Engle Merry,
Setha M Low Participant(s): Sally Engle
Merry, Signe L Howell, Maria Teresa Sierra,
Michael Herzfeld, Kamari M Clarke, Ida
S Susser, Alan Smart, Kamran A Ali, John
L Jackson Discussant(s): Barbara Rose
Johnston, Merrill C Singer, Sally Engle Merry,
Setha M Low

Saturday 11/22

1015 – 12
Invited Poster Session: PERSPECTIVES ON
PRACTICE: SOCIAL ACTION (Sponsored by
NAPA)
Chair(s): Philip E Coyle Participant(s): Patricia
J Hammer, Katherine S Nutter, Sarah D Cote,
Philip E Coyle, Marcela Uribe

145 – 330
Invited Session: FINDING COMMON GROUND:
OVERCOMING BARRIERS IN APPLYING
ANTHROPOLOGY FOR DEVELOPMENT,
HUMANITARIAN AND NONGOVERNMENTAL
ORGANIZATIONS (Sponsored by NAPA)
Chair(s): Daniel Hruschka Organizer(s):
Brandon A Kohrt Participant(s): Joanna P de
Berry, Kent S Glenzer, Lisa M Rende Taylor,
Brandon A Kohrt, David M Citrin Discussant(s):
Lynn M Sibley

330 – 530
MEDIA IDEOLOGIES
Chair(s): Lauren G Leve Organizer(s): Ilana
Gershon Participant(s): Jeffrey D Himpele,
Joshua Malitsky, Ilana Gershon, Laura E
Kunreuther, Daniel B Noveck, Amanda
Weidman Discussant(s): Susan Gal

Invited Session: THE ETHICS OF VISUAL DATA:
PICTURING INCLUSION, COLLABORATION
AND ENGAGEMENT (Sponsored by SVA)
Chair(s)/Organizer(s)/Introduction: Jonathan
S Marion Participant(s): Sara E Perry, Kate
Hennessy, Anne Zeller

Sunday 11/23

1015 – 1245
NEW COMMUNICATION TECHNOLOGIES AND
HUMAN INTERACTION
Chair(s): Elizabeth Keating Organizer(s):
Elizabeth Keating, Chiho Sunakawa Inoue
Participant(s): Chiho Sunakawa Inoue,
Leighton C Peterson, Qing Zhang, Josh
Iorio, John Handy Bosma, Elizabeth Keating
Discussant(s): Lucy Suchman

Update: In my quick skim through the program, I missed the session put together by my former Digital Youth colleagues. Apologies! I'm sure I've missed other interesting sessions too, so post them in the comments:

AMBIVALENT ALLIANCES: EXPLORING
COLLABORATIVE COMPLEXITIES AMONG
DIGITAL YOUTH
Friday 11/21, 4 – 530
Chair(s)/Organizer(s): Patricia G Lange
Participant(s): C J Pascoe, Christo Sims,
Patricia G Lange, Dilan Mahendran, Dan
Perkel, Rebecca Herr

Here's another issue I couldn't find a simple answer to. I'm building a website in PHP, and I want a simple front controller. In other words, I want every bit of traffic to run through a central script that farms out the traffic by parsing the URL. And I want it to be silent – I don't want the user to know the redirects are happening. Now, I could do this with query strings – that's like http://mysite.com/index.php?page=foo&action=bar But that's ugly, and it gets complicated fast.

Instead, I want to do it in the user-friendly, semantically meaningful, SEO-ok way, like: http://mysite.com/foo/bar I want to use the path structure instead of the query string. This is a common pattern for Ruby and Python, but maybe less so in PHP. So, here's how I did it.

(Note: This isn't rocket science. Yet it was still hard to find. And I'm sure there are 1000 ways this could be done better, cleaner, faster, more. But I'm a functional coder. I don't care if it's the most elegant, I care if it works. And this works.)

There are two parts to the controller. The first is the .htaccess file. I'm using XAMPP on Windows Vista as my development environment. If you need help getting .htaccess to work there, check out my earlier post.

RewriteEngine on
RewriteCond $1 !^(index\.php|lib|parts|pages|images|robots\.txt)
RewriteRule ^(.*)$ /your/webroot/index.php/$1 [L]

Here's what this does. (Full disclosure: I adapted this from CodeIgniter's model…) The first line enables mod_rewrite. It's a must. The second line sets the conditions for the rewrite. It says, rewrite everything except what's listed in the parenthesis. If you have additional directories that you keep images, css files, or other things in, you just add them to the list in parens with a '|' between. Finally, the last line sends everything through the main controller, which is index.php, but without actually changing the URL in the address bar. This part is what makes the whole thing transparent to the user. Good stuff.

Ok, so now, we can type something like 'http://mysite.com/foo/bar' and it will silently redirect to 'http://mysite/com/index.php/foo/bar'. So now all we have to do is set up index.php to handle the incoming request. Now, there are lots of more object oriented ways to do this, but for my purposes, the simple procedural way works best: a switch statement.

< ?
//A file with all the common configuration, like web roots, security,
//database, language, etc.
require_once('lib/config.php')

//Your header, the same regardless of the page
require_once('parts/header.php')

//This is the content area that will change based on the URL.
//My div is called 'textarea'. Yours might be called something else.
//echo "
"; //The switch statement $url = substr($_SERVER['REQUEST_URI'], strlen(URLROOT)); switch($url){ case (''): require_once('pages/root.php'); break; case ('foo'): require_once('pages/foo.php'); break; case ('bar'): require_once('pages/bar.php'); break; default: //the default is an error! require_once('pages/error.php'); break; } //End your content div here //echo ''; //Your footer, the same regardless of the page require_once('parts/footer.php') ?>

That's it. No mystery. In that first line of PHP ($url = …), I get the path string that's in the address bar – so this will show what the user typed before we did the redirect. Then, in my config.php I've set a global variable called 'URLROOT' that corresponds to the path in my local environment. Using substr, I snip out only the part of the path that comes after the root, and feed that to my switch statement.

Like I said, I'm sure a more experienced coder has 1000 better ways to do this. But, give it a try. It worked for me!

Recently I was trying to get .htaccess control working under Windows and XAMPP. I found it surprisingly hard to find the answer, even though it's a simple one. You've got to make two changes to the httpd.conf file, which for me was found in C:/xampp/apache/conf.

  1. Search the httpd.conf file for 'mod_rewrite'. You'll find the statement that loads that module is commented out. Remove the '#' at the start of the line to un-comment it.
  2. By default, XAMPP on Windows does not allow .htaccess files to override the httpd.conf file. Search the httpd.conf file for 'AllowOverride'. You should find one or more statements that say 'AllowOverride None'. Wherever you find it (or more selectively, if you're savvy like that), change it to 'AllowOverride All'.

Don't forget to restart Apache, and you're done!

I was reading through the guidelines for the NSF Doctoral Dissertation Research Improvement Grants, and came upon the funniest thing:

Proposals that violate these regulations in an attempt to squeeze in more information antagonize reviewers and may be returned without consideration.

Hah! It's like Messin' with Sasquatch. Just don't do it!

AOIR Logo
The Association of Internet Researchers (AOIR) maintains a really useful set of links to topical bibliographies on their wiki. Topics include blogging research, SNS research, and HCI more generally. Great stuff.

Richard Stallman
Stallman, in typical outspoken fashion, rails against cloud computing in a recent Guardian interview:

"It's stupidity. It's worse than stupidity: it's a marketing hype campaign."

Interesting. Well, no one ever said the Stallman wasn't single-minded. His priorities are built so that the privacy concerns are the only thing that matters, so that giving control of your data to the cloud is the dumbest thing you can do. Well, it's an awfully myopic perspective. But maybe the world needs extremists like Stallman, especially because we all know to take him with a giant grain of salt by now. Still, I don't live in the world he lives in.

« Previous Page