Tuesday, December 26, 2006

Elections and Wikipedia: Siegenthaler wrong, as expected

So, I was narcissistically browsing my archives today, and came across my old entry on Wikipedia and trust. If you recall, John Seigenthaler, Sr. was raising hell a year ago because he got pranked by a random joker on the Internet (Seigenthaler's Wikipedia biography was defaced by a vandal).

Now, if you and I were to get pranked by random jokers on the Internet, we'd probably laugh, or roll our eyes, or get irritated; but in any case we'd deal with it, fix what we could, and move on, because we realize that there's an endless supply of assholes on the Internet and you can never stop them all. However, John Seigenthaler, Sr., has an inflated sense of self-importance and an easily punctured sense of dignity. Therefore, instead of just fixing his biography, he got Op-Eds published in USA Today and The Tennessean about being pranked by a random joker on the Internet and how bad it made him feel and how dangerous Wikipedia was to society.

Of course, the grave threat to civilization represented by Wikipedia's peer-production model was forgotten by those somber stewards of truth in the "respectable" print media as soon as that news cycle wound down. But now that the 2006 election's over, I want to recall one of the absurd things that Seigenthaler said in a CNN interview following his Op-Ed pieces:

Can I just say where I'm worried about this leading. Next year we go into an election year. Every politician is going to find himself or herself subjected to the same sort of outrageous commentary that hit me, and hits others. I'm afraid we're going to get regulated media as a result of that. And I, I tell you, I think if you can't fix it, both fix the history as well as the biography pages, I think it's going to be in real trouble, and we're going to have to be fighting to keep the government from regulating you.

Did this happen in the 2006 election? No, of course not. Of course, nobody with half an ounce of sense would have predicted that it would happen, because Wikipedia was around in 2004, and it didn't happen then either. But John Seigenthaler, Sr., is one of those narcissists who believes that if something bad happens to him, the end of the world is imminent.

Why were this narcissist's baseless observations and predictions amplified and taken seriously by the mainstream media? Why were none of the people who actually understand Wikipedia and peer production --- my personal pick would be Clay Shirky --- given as loud a voice?

As usual, I believe the answer's simple. Seigenthaler is an old white guy who's plugged into the social network of senior newspaper editors. Therefore, regardless of how clueless or thoughtless his ravings are, they will get play in the media; they will not be critically and skeptically analyzed, debunked, or even investigated. His predictions will not be revisited after the fact. Followup analysis stories will not be published. And in spite of being wrong repeatedly, he will remain a "respectable" figure --- because of his class, personal demeanor, and social connections --- whereas the rabble on Wikipedia, which produces work of far greater value and accuracy, remains the object of derision.

Much the same phenomenon's responsible for the fact that pundits like Thomas Friedman remain employed. He's an old white guy with a moustache and the right social connections. Never mind how many times and how seriously he's been wrong, never mind that his thinking's about as precise and insightful as that of your average teenage anarchist punk on the street. His buddies will never, ever, ever call him out as the supreme jackass that he is.

Saturday, December 09, 2006

Mac OS X: Not just Unix with a pretty face

...and I mean that in a bad way.

I was issued a Macbook Pro when I started work, and I've been using it pretty regularly for the past few months. I had a choice of either a Macbook or a Thinkpad, and I chose the former because I hoped that it would be a more "real" Unix than Cygwin under Windows.

And the friction's certainly less than it would be under Cygwin. Just off the top of my head:

  • The OS X filesystem behaves like a real Unix filesystem, so you don't have to remember a mental mapping between native filesystem paths and paths as seen by your *nix applications (as you would under Cygwin).
  • Fink's package management tool more closely resembles apt or yum, and is therefore easier to use, than Cygwin's GUI package browser.
  • Fink includes ports of most big complex *nix software packages, whereas KDE (for example) simply isn't stable under Cygwin yet.
  • Xquartz "rootless" window mode works better than Cygwin's XFree86 (although Reflection X, if you're willing to pay for it, is better than either).

Still, there are a few nagging issues that make OS X distinctly inferior to a native Linux installation:

  • Copy and paste between native ("Aqua") applications and X applications is spotty to nonexistent. Googling reveals at least one tip for working around the problem --- keep xclipboard perpetually open --- but I don't want to keep an extra app open just to make my clipboard work.
  • Option-tab switching among X applications and native OS X applications is broken. The Quartz window manager just doesn't raise X applications to the front when you Command-Tab to them. You have to Command-Tab to X11, and then Command-backquote to cycle among X11 windows. Extremely disruptive to my workflow. Exposé only partly compensates for this problem.
  • I cannot figure out any combination of Xquartz, Xmodmap, System Preferences -> Keyboard, KDE Control Center, and xemacs/init.el settings that makes the Command key behave like Meta in XEmacs and Alt in KDE applications. Through some twiddling, I have managed to map Option to Alt and Command to Meta, but it's pretty annoying to switch between using Option-[key] under Konsole and Command-[key] under XEmacs.
  • There is no insert key, which makes Shift-Insert (a common keyboard shortcut for "Paste") impossible.

Rumor has it that some of the above problems may go away if I install a different X server, but I suspect that doing so will merely cause other things to break.

Anyway, don't get me wrong, the Macbook is a very nice machine: it's fast, it's well-designed (except for the single mouse button and lack of Trackpoint pointing device), it's sturdy, and the UI is pretty. But I was hoping that the Macbook would be strictly superior to Linux on my old Thinkpad --- that I'd have everything I used to have, plus some additional nice stuff --- and that's not the case. My next personal workstation will most likely be a Linux box, like the main workstation in my office at work.

Monday, November 27, 2006

Mark Halperin on NPR

Mark Halperin was on KQED tonight; I was listening on the shuttle home. He said something to the effect that "new media" (blogs, cable news, and talk radio) are partly responsible for coarsening the nation's political debate. According to him, new media make the debate more extreme, more polarizing, and more oriented towards pushing a point of view rather than informing the public. Some outrageous "freak show" allegation pops up on Drudge, makes its way onto local news, then cable news, and finally onto major news outlets including the New York Times.

When someone asked him a followup question about whether the "old media" (i.e., people like Halperin's employer ABC News) are therefore somehow responsible as well, his reply was basically:

  1. Yes, sure; however--
  2. the "new media" should elevate its standards, and
  3. the old media are just "giving the people what they want" --- "I didn't get into this business to write about Brangelina, but we need to survive economically".

The latter two arguments fill me with fury. They are misleading in at least two ways.

First, "new media" is a misleading level of abstraction that lumps together many wildly different parts of a huge and decentralized system. There's a world of difference between Drudge and, say, Brad DeLong, and yet the old media pay more attention to Drudge. There will always be sources of bad information in society --- social networks for promulgating rumor and superstition existed long before the Internet did, and they will always exist. The salient fact is not the existence of Drudge; it's the selection of Drudge from an essentially unlimited set of choices. Blaming the "new media" for the offal that gets promoted to the front page is rather like blaming the continent of Africa for the fact that you've elected to eat elephant shit for breakfast.

Second, the problem with the news media is not that they do stories on "Brangelina". Nobody cares that celebrity news fluff gets a few column-inches here or a few screen-minutes there. The relevant choice is not between covering "Brangelina" and covering politics; the relevant choice is between shallow, misleading coverage of important issues, and substantial coverage of important issues. Or between a view of "objectivity" where you refuse to speak the plain truth simply because some powerful person objects to your speaking the truth, and a view of objectivity where reporters arrive at independent conclusions about the truth and (gasp) state what they conclude to be true.

These two problems with Halperin's arguments are so obvious that I almost can't believe he's speaking in good faith. If Halperin's not being disingenuous, then he's either deluded or remarkably stupid. And he's the ABC News Political Director. Hence my fury.

Finally, let's back up and look at the bigger picture. If the "old media" are so easily subverted by a gossip-monger like Drudge, and so in thrall to the needs of advertisers who want to draw eyeballs via entertainment rather than hard news, that seems like a fundamental, structural, endogenous flaw with the old media.

Halperin's argument basically amounts to this: If only the entire world, including our whole audience and all of our potential sources, changed for the better, then we could publish good news. That's a pretty weak defense.

Maybe it's fundamentally a bad idea to have newspapers and television shows, supported directly by advertising, report the news. Newspapers and television news bundle many disparate forms of labor. A newspaper (a) pays reporters to investigate stories; (b) pays editors to aggregate and filter articles; (c) pays columnists and analysts to comment on the news; (d) pays marketing people to sell advertising.

It has historically been efficient to perform these functions under one roof. However, this may be an artifact of technology. A fat bundle of newsprint is more efficient to produce and distribute than a hundred articles on individual pieces of paper, so you have to package a lot of different things in one bundle. Only a few half-hour news shows can fit on the available broadcast spectrum, so you'd better tailor the whole show to the lowest common denominator to draw eyeballs.

It's far from clear that the various functions of "old media" news should be performed under the same roof today. Wire services like Reuters, AP, and AFP do more hard news-gathering than any newspaper. Online tracking systems (Technorati, Bloglines, etc.) and even individuals (Atrios, etc.) aggregate more stories in more ways than any newspaper. Blogs generate more commentary (and, at their best, higher-quality commentary) than any newspaper. Google's AdSense (and its competitors) sell ads more efficiently than any newspaper.

I leave the task of connecting the foregoing dots to the reader.

Sunday, November 19, 2006

McCain, Christianist-pandering hack

I've written before (one, two) about McCain's pandering tendencies. Today, ThinkProgress brings us still more evidence of McCain's pandering --- this time reversing his position on Roe v. Wade. By now, we all know who he's trying to please.

You know, Rick Santorum took a lot of heat for being an extremist, and everyone I know was happy when he lost. But I kind of liked Santorum. Of course, I'm glad that he no longer has any actual power, but in truth Santorum was a far more principled, independent, and honest man than McCain. Santorum was a dyed-in-the-wool conservative, and he spoke and voted exactly what he believed. As a consequence, when Pennsylvania voters discovered that they disagreed with him, they promptly voted him out.

McCain's a far more pernicious animal. His beliefs on many subjects are, in fact, roughly as extreme as Rick Santorum's. I've linked before to this roundup of McCain's positions on a wide spectrum of issues, and he falls well within the right-Republican cluster on everything but the environment. And McCains' environment score from that link is only in the ballpark of Lieberman and Kerry for that year because the latter two missed a lot of Senate votes for their Presidential campaigns; the 2005 rankings reveal a good 50-point spread between Kerry and McCain.

And that's just domestic policy. McCain's foreign policy positions are cartoonishly hawkish: his chief problems with Dick and Don's Excellent Adventure (to borrow Digby's phrase) are (a) it was insufficiently ambitious and (b) we should do this stuff more often.

But somehow even perfectly reasonable people, including political reporters who ought to know better, behave as if McCain were an independent and principled moderate. Why? I could dream up a web of complicated hypotheses, but at heart I'm a simple guy and sometimes simple answers cut to the heart of things. Let's turn to this CNN interview with Dana Milbank...

MILBANK: Well, there was some basis for that. But I think the pattern here is that the press does respond to the guy walking down the aisle and shaking hands with them.

The press responds to the staffers on the campaign just being nice to them. The whole lesson of McCain, reporters fell in love with McCain not because of anything he believed in but because he was nice to them and he gave them donuts. They're like a bunch of children.

SIMON: It was access more than donuts.

MILBANK: It's not a flattering portrayal of the president. I mean, one of the things I wrote about is comparing the quality of food served on the campaigns. Reporters like to be fed. And we are absolutely a large group of children. And it has a tremendous effect.

So when you talk about ideological bias, it's nothing. It's sort of a culinary bias.

(CROSSTALK)

KURTZ: Indictment on the food question.

SIMON: I remember the Jesse Jackson campaign where we didn't get fed at all.

MILBANK: Exactly. Look where he went.

Now, of course Simon and Milbank are partly joking in the last paragraph; Jackson lost for many reasons, of which failure to properly feed the press was only one. But the doughnuts are effective synecdoche: McCain gives reporters doughnuts --- and other little tokens to make them feel special --- and in exchange they're happy to sell out their responsibility to the American people. McCain knows that buying the Oval Office with doughnuts is a pretty good deal, so he's happy to buy the doughnuts.

In short, McCain's a much more calculating and manipulative character than Rick Santorum. He speaks in a way that obfuscates his genuine conservatism, and he manipulates the press into carrying his water. As a result, most Americans have no clue what McCain really believes, and (unlike Santorum) McCain remains a major national political figure. Given a choice between a McCain and a Santorum, I'd almost rather have a Santorum.

Saturday, November 18, 2006

Growth vs. equality, investment vs. consumption

This week there was an interesting discussion between Tyler Cowen and the Crooked Timberites about economic policies that favor growth versus those that ensure social welfare. This post at MR and this post at CT will give you the gist of the argument, which is more about relative levels of national wealth, but the underlying question is one of balancing economic growth against other aims.

There's a notion, somewhat popular among (economically) right-leaning types, that economic growth overrules almost every other concern, because in the long run even the bottom of the wealth distribution benefits more from growth than from redistributive policies. Truthfully, I don't understand this line of reasoning.

First of all, the bottom of the income distribution in fifty years consists of different people from the bottom of the income distribution now. It's unclear that the moral status of potential future people strictly exceeds that of actual present people.

Second, this whole debate is just a standard tradeoff between investment versus consumption, like any other, and in such cases some consumption is generally warranted even if it means sacrificing some investment. I could have a really awesome retirement if I decided right now to live in a cardboard box, sell my car, live on a subsistence diet, and invest all of the money I save. This policy favors economic growth, but it's also insane.

Likewise, if a family has two children named Alice and Bob, you can ensure nice retirement funds for both by making Bob live in a cardboard box in the yard, feeding him cheap bland food, clothing him in rags, and putting all the money you save into a shared retirement fund for Alice and Bob. As long as Bob stays in school, gets good grades (you can always threaten to take away his box), and gets a job, this strategy favors long-term economic growth. But that would be equally insane, and unfair besides.

Analogies based on well-known time horizons (one human lifetime) don't scale up straightforwardly to indefinite time horizons (however long humanity will be (1) nonextinct and (2) actually running the show). However, I think the core insights carry over. Poverty reduction and economic justice in the present are goods; "spending" on them through redistributive policies can be viewed as a form of consumption.* A society with vast levels of poverty or economic injustice is undignified and painful, in the same way that living in a cardboard box is undignified and painful. If society must trade off some investment for consumption to achieve what we view as an acceptable "lifestyle" today, then so be it.

Of course, this analysis suggests we should also care about economic growth: you don't want to prioritize consumption over investment in all cases. But now we're just haggling over price, if you will. In order to argue for either more growth or more of something else, you have to propose an intellectual framework for balancing growth against other values. It's completely insufficient to pull out the benefits of growth and call that a trump card.

* I am pretending, here, that redistributive policies are never investments. Of course, that's false in many cases. For example, both equalizing educational opportunity and improving childhood health clearly improve long-run economic growth. Achieving these goals in our society clearly requires some amount of wealth redistribution.

Friday, November 17, 2006

Possibly the best thing ever written about Maureen Dowd

C. Bush writes...

So, even Dowd’s defender says mostly bad things about her, but what is more telling to me, ultimately, are the good things even her detractors say about her: she exaggerates, but she provokes with her sharp wit, etc. Well, here are some examples of that wit: “We had the Belle Epoque. Now we have the Botox Epoch.” (Oh --was that a tree breaking outside [my] window or the biggest SNAP! in history?!?).

...

For me the problem with Dowd is not that her style overrides her substance, it’s that her style is no good. Apparently someone somewhere in the world reads “Botox Epoque” and chuckles to themselves “Botox Epoque, that’s good!”

Amdahl's Law and single parentood

More evidence that Ezra Klein's a bright guy: Observe as he uses Amdahl's Law to eviscerate the conservative contention that attacking single parenthood is the way to attack poverty.

Well, OK, he probably didn't know there was a name for that principle. It is a simple principle, but pretty central to thinking about any optimization problem.

Sunday, November 12, 2006

Someone please write this application for me

As follows:

  • Scan the contents of my music collection, including all .mp3 and .ogg files on my hard disk, on my portable music player, and my download history from emusic.com. (And, what the hell, scan that other online music store too, though I never buy anything from there.)
  • Cross-reference with all known databases of concert listings.
  • Email me a weekly schedule of shows in my area for bands I like. The schedule will contain two lists: (1) tickets that go on sale this week; (2) shows playing this week.

Basically, I listen to too many bands to keep up with them all manually. I refuse to spend hours browsing myspace profiles every week. Even scanning the SF Bay Guardian listings taxes my patience, and it's easy to miss a line or forget a band if I've just downloaded their song recently. I always seem to find out about shows a couple of weeks after they've happened. Mobius Band was here in mid-October and Voxtrot was here last weekend. I missed them both. Grrr.

Actually, about 90% of what I need could be accomplished by emusic directly, since they already have my download list, and I get the lion's share of my recent music from them.

Wednesday, November 08, 2006

Unix man page lookup (Wednesday Emacs blogging)

Today's a quick one:

; man page lookup (by default, f1 is help, but I
; already know how to bring that up using C-h)
(define-key global-map [f1]
  (lambda () (interactive)
    (manual-entry (current-word))))

As the comment implies, by default f1's bound to Emacs help. But of course, longtime Emacs users know how to acces the rich interactive help system using C-h; C-h ? ? gives you a list of the main C-h functions, but here are some favorites that I hit reflexively almost once a day:

C-h a
"Apropos" help: looks up anything (including both functions and variables) matching a substring
C-h b
List all key bindings in the current mode
C-h k keystroke
Look up the function bound to this keystroke

So, what do you really need that f1 help for? Looking up a Unix manpage on the current word is much more useful, especially in M-x shell mode or other modes where you're editing shell commands.

Wednesday, November 01, 2006

Fast access to dired file manager (retroactive Wednesday Emacs blogging)

Despite the existence of modern graphical file managers, I still find myself dropping into Emacs dired-mode ("the directory editor") for file management surprisingly often.

I haven't really figured out why. Certain operations just seem easier or faster in dired. Maybe it's because I can use Emacs idioms like incremental search (C-s) for moving to files and directories, and dired-advertised-find-file (f) to open things, which makes navigation speedier than scrolling and mousing inside a folder window. Maybe it's because (unlike graphical file managers) you can mark files (m) for an operation without fear of losing that selection on an errant mouse-click or keystroke. Or maybe it's because of little things like tilde (~), which marks all files in the current dired buffer that match the glob *~ for deletion.

Anyway, calling dired on the current directory when you're editing a file is extremely useful. Accordingly I've bound a keystroke to this function:

; F4 for dired buffer of the current directory in the other window
(define-key global-map [f4] (lambda () (interactive)
    (dired-other-window default-directory)))

The above Elisp binds F4 to open dired on the current directory. If you're a Unix user, then some directories have dotfiles (files whose names begin with .) that you'd rather ignore sometimes. Accordingly, I've also got a binding that uses a regexp to filter out all dotfiles from the view:

; F8 to open dired buffer of the current directory without dotfiles
; in other window
(define-key global-map [f8] (lambda () (interactive)
    (dired-other-window (concat default-directory "[^.]*"))))

Monday, October 30, 2006

Weaknesses of non-dictatorial community software projects

As an inveterate user and observer of open source, I've read many criticisms of open source software development that simply don't hold water. This post is about one criticism that I believe does hold water.

In contrary to the straw man often erected by anti-open source pundits, most open source projects have a relatively formal management structure wherein one person or a committee exercises strong top-down control over the project's canonical source code repository. That dictatorial hand may be felt lightly or heavily, but at the end of the day decisions must be made, and priorities set, and the project will follow the dictator/committee's decisions.

(Or --- in the case of a fork --- not, but nobody likes forks and ultimately each half of the fork generally assembles some sort of management structure.)

However, not all open source projects have a dictator. A few projects manage to survive with only informal technical governance structures. The largest and most successful of these is probably KDE, a desktop environment. KDE has a number of associated formal legal entities responsible for things like legal and marketing issues, but the technical direction of the project is not managed by either a benevolent dictator or a committee.

There are good things and bad things about this. Here is one of the bad things: this KMail wishlist item has been in the bugs database since December 2000. It is the top vote-getter on the most requested features list. But nobody has tackled it. A couple of people have made gestures in the direction of implementing it, but no bug-closing patch has been committed to the trunk.

In an open source project with a dictatorial or committee-led governance structure, somebody would long ago have cracked some heads and gotten this feature implemented. In a commercial software project, open source or non-, some engineer would be assigned ownership of this feature; and goddammit, if that feature didn't get implemented and maintained, that engineer would be fired and the feature would be assigned to someone else. But KDE's headless. It's less like a mammal with a central nervous system than an enormous amoeba whose various pseudopodia ooze tropically in the direction of "developer itches" and "coolest implementation hacks" (hence the recent proliferation of "hugely ambitious infrastructure refactoring" subprojects like Plasma or Solid) rather than unsexy, annoying-to-implement features that merely provide value to end users.

Now, as a by-product of this process, you often end up with a lot of excellent software. I use KDE every single day, and on balance I prefer its interface to both Windows and Mac OS X for intensive use.[0] But this software process isn't rationally optimized to serve the end-user, and so there will always be these frustrating little blind spots.

Which isn't to say that commercial software processes are rationally optimized to serve the end user either, but that's another whole series of posts waiting to be written.

(See also: Bug 8333, Bug 55777.)

[0] Yes, that's right --- not the code, not the customizability, not the Free and open source license, but the user interface of KDE is preferable, for a heavy user, to either of the big consumer operating systems. Windows XP and Mac OS X ---especially the latter --- are both highly polished and acceptable for casual use. However, when I'm juggling several terminals, eight or nine Emacs windows, and a half-dozen Firefox windows, the extra features of KDE's window manager simply destroy even Mac OS X's. Ironically, some of KWin's best features were in the classic Mac UI, and were dropped in OS X. (I first got hooked on windowshading when I was an undergrad Silicon Alley web production intern, juggling BBEdit, Photoshop, and multiple versions of Netscape. Ah, the old days...) Other features, like window gravity, have been pretty standard in Unix window managers for years, but have somehow never cracked consumer OSes even though they seem like no-brainers.

Saturday, October 28, 2006

"Do you want America to win in Iraq?"

Apparently this is the latest sound-bite for Republicans trying to defend the Bush Administration --- see this Oct. 27 Lynne Cheney interview...

Well, right, but what is CNN doing running terrorist tapes of terrorists shooting Americans? I mean, I saw Duncan Hunter ask you a very good question and you didn't answer it. Do you want us to win?

...and O'Reilly in this Oct. 27 Letterman interview...

O'Reilly: But they don't want to hear about the bad world that we live in. It's an evil world that we live in. Let me ask you something. And this is a serious question. Do you want the United States to win in Iraq?

...and O'Reilly again on the The View Oct. 18...

O'REILLY: Hold it, hold it, hold it. Want America to win in Iraq, by the way?

O'DONNELL: I don't think it's possible.

O'REILLY: Do you want, do you --

O'DONNELL: I think it's an ill-thought-out plan and I think we should get out of that situation before Americans are killed. Out. Out of Iraq.

O'REILLY: Do you want America to win in Iraq?

JOY BEHAR (co-host of The View): What does it mean to win?

O'DONNELL: I want America to be what the founding fathers wanted it to be, a democracy, where we the people --

O'REILLY: OK. So you don't want America to win in Iraq.

The clarion call has been sounded, the marching orders have been given, and all the little troopers across America are no doubt repeating this mindless sound bite --- "Do you want America to win?" --- even as we speak.

The proper sound-bite response to this sound bite is: Yes, and I want the Mets to win the World Series this year too. But that train has left the station, and we were not on board.

Bonus additional sound bite, in case you don't like that one: Yes, I want America to win. I also like puppies and apple pie. But none of those things has anything to do with continuing the war in Iraq.

The United States has already lost in Iraq, in the only sense that matters: we have failed disastrously in every single one of our war aims. The Bush administration's holding out because it cannot admit failure, and it knows that if it delays long enough then the next administration will come in and the failure can then be blamed on them. As long as America does not withdraw from Iraq under his watch, the President can continue to indulge in the delusion that history will judge him kindly. Or, in other words, the United States continues to spend untold blood and treasure, more or less, to protect George W. Bush's frail self-esteem. A noble cause, to be sure, but one wonders if the effort is proportionate to the results.

Friday, October 27, 2006

To the Critical Asses who interrupted my commute today:

My shuttle home today was halted, idling in traffic and burning fuel needlessly, for over 20 minutes today because of you self-righteous assholes. Congratulations, fucktards, you just made an enemy!

Streets are mixed-use facilities. In normal conditions, cars, bikes, pedestrians, rollerbladers, Segway riders, and all kinds of other uses share the public space. Critical Mass doesn't inspire people to respect the streets; it comes across as a bovine herd out to spitefully annoy others. The moral equivalent of Critical Mass would be a bunch of car drivers parking on the sidewalk to make a point about obnoxious pedestrians. Do you think such an action would cause pedestrians to reform their behavior? What makes you think your gesture works any better?

And I love how this movement's so big in San Francisco. Because there's such powerful opposition to mass transit, renewable and alternative fuel sources, and liberal do-goodery in general here. That point really needs to be made in the most confrontational way in this district, doesn't it. Why don't you take your shit to Los Angeles, or better yet to Bumfuck, Utah or someplace where everybody drives all the time and votes Republican? Oh, that's right --- your stunt only works here because San Francisco is already really dense, and therefore energy-efficient.

So, I got off the shuttle and actually laid myself down in the path of the bicyclists at Larkin and Golden Gate... for about thirty seconds, before I concluded that nobody else was going to join me, and therefore my gesture was futile. Resigned to this folly, I stood up and walked home.

Although, now that I think about it, maybe I should have stayed lying on the street longer. The moral status of a pedestrian one-ups that of a bicyclist, and if I stayed long enough then maybe other people would have gotten out of their cars and laid down too.

Maybe. Next year.

I suspect this post will make me some enemies. Well, it's been a while since I wrote something flat-out obnoxious. Back to form once again.

Thursday, October 26, 2006

Most effective afternoon anti-sleep trick

Chew gum.

I never used to chew gum, but caffeine doesn't work for me with any consistency anymore. Sometimes it works, but other times I can drink enough to make myself jittery and yet fall asleep in those dreadful post-lunch, midafternoon doldrums. I have never yet fallen asleep while my jaw's moving though, whether during meetings, talks, or coding at my desk.

The only major downside I've found so far is that if I chew for too long, my gums start to feel itchy, like I need to chew something harder.

This is probably the most useful thing that I will ever post here.

Incidentally, if you do this, please try to chew with your mouth closed. I hate, hate, hate the sound of human beings chewing with their mouths open, and I would not want to inflict it on anyone.

Wednesday, October 25, 2006

Scroll bindings (Wednesday Emacs blogging)

Part of the Zen of Emacs is the fact that --- in contrast to merely mortal text editors or word processors --- you need not move your hands from the default typing position for common navigation tasks, like moving to the beginning of a line (C-a) or word (M-b).

Clearly, therefore, it is uncivilized to use arrow keys, or to move your hand to the mouse and hunt for that little arrow on your scroll bar, when you merely want to scroll up or down a couple of lines. Accordingly, the following elisp binds downwards and upwards scrolling to the M-n and M-p keystrokes respectively.

; Handy incremental scrolling keys
(define-key global-map "\M-n" (lambda () (interactive) (scroll-up 1)))
(define-key global-map "\M-p" (lambda () (interactive) (scroll-down 1)))

I chose M-n and M-p to be mnemonic "cognates" with C-n and C-p. Note that scroll-up is so named because it moves the document up, which makes the viewport appear to scroll down, and vice versa for scroll-down.

Nevertheless, it is sometimes convenient to do scrolling with your mouse --- e.g., if your hand's already there because you're switching focus among open windows. Recent Emacsen understand the scroll wheel, but some older versions do not. Fortunately, they can be taught, using the following recipe suitable for either (FSF) .emacs or (XEmacs) .xemacs/init.el:

; Mouse wheel: scroll up/down; control-wheel for pgup/pgdn.
(defun wheel-scroll-up   ()   (lambda () (interactive) (scroll-up 2)))
(defun wheel-scroll-down ()   (lambda () (interactive) (scroll-down 2)))
(defun wheel-scroll-pgup ()   (lambda () (interactive) (scroll-up 20)))
(defun wheel-scroll-pgdown () (lambda () (interactive) (scroll-down 20)))
(cond
 ((string-match "XEmacs" emacs-version)
  (progn
    (define-key global-map 'button5 (wheel-scroll-up))
    (define-key global-map 'button4 (wheel-scroll-down))
    (define-key global-map '(control button5) (wheel-scroll-pgup))
    (define-key global-map '(control button4) (wheel-scroll-pgdown))))
 (t ; FSF Emacs uses weird [bracket] keymap specifiers.
  (progn
    (define-key global-map [mouse-5] (wheel-scroll-up))
    (define-key global-map [mouse-4] (wheel-scroll-down))
    (define-key global-map [C-mouse-5] (wheel-scroll-pgup))
    (define-key global-map [C-mouse-4] (wheel-scroll-pgdown)))))

This recipe also binds C-mouse-4 and C-mouse-5 to page-down and page-up, for handy fast scrolling, which does not come standard even on recent Emacsen. It should be pretty obvious how to customize it to scroll more or fewer lines at a time.

Friday, October 20, 2006

Friday cat blogging

Warning: ...ah, hell, if you can't guess from the title, your time deserves to be wasted.

A nervous but resilient feline. The SF SPCA got him from San Francisco City Animal Care & Control; who knows where he was before that, although his behavior indicates that he once had an attentive human home. The SPCA's veterinary records state that upon arriving at the SPCA, he suffered from extreme fear-related anorexia, leading to liver disease, and he had to be placed on a feeding tube. A few weeks later he was up and about again, fully recovered. When I found him at Maddies Adoption Center a couple of months later, Manny climbed onto my lap.

Peace never lasts. My nefarious plan for feline adoption necessarily entailed having an SPCA volunteer pack his yowling, hissing, miserable ass into a cardboard box. Evidently not one to take mistreatment lying down, he clawed his way out of the box during the ride home.

He spent the rest of the ride climbing around the car in panic, hyperventilating and hissing. At this point, Bay Area readers should imagine the drive from the Inner Mission to just north of Japantown, and the jostling it implies.

Cat adoption guidelines tell you to have a quiet, isolated room prepared with cat necessities. They're not kidding around. I set him down in the bathroom, and for the rest of the day he stayed there, retreating under the sink or behind the toilet whenever the door opened. My chief bonding tactic was to lie down on the bathroom floor and take naps. Sleep evidently rendered me sufficiently harmless that he was willing to come over and sniff at me periodically. (Maybe I should try this with women.)

Anyway, eliding some details, a dozen days later and he's out and about, accepting my food and affection. Unexpected noises or fast movements continue to make him flighty. Still, the mongrel cat has come home.

[Manny in the sun]

Wednesday, October 18, 2006

Rotating background colors (Wednesday Emacs blogging)

Like every veteran Emacs user, I've long used multiple buffers, multiple windows in a buffer (C-x 2) and multiple frames (C-x 5 2) to edit multiple files simultaneously during heavy sessions of programming or writing. Lately I've been working on a monitor so vast, and reading so many different files simultaneously, that I've found it useful to run multiple instances of Emacs as well. (Among other things, this speeds up tab-completion when switching buffers with C-x b, because each instance has shorter buffer list.).

When running multiple Emacs instances, it gets hard to tell which frame corresponds to which running instance of Emacs. The following Elisp code enables rotation among a set of background colors on a keystroke:

(defvar background-color-rotation
  '("aliceblue" "thistle" "lemonchiffon" "khaki" "papayawhip"
    "honeydew" "mistyrose" "paleturquoise")
  "List of background color names to rotate")
(defun next-background-color ()
  "Rotates among colors in background-color-rotation."
  (set-variable 'background-color-rotation
                (append (cdr background-color-rotation)
                        (list (car background-color-rotation))))
  (car background-color-rotation))
(define-key global-map [f10]
  (lambda ()
    (interactive)
    (set-face-background 'default (next-background-color))))

Paste this into your startup file for recent FSF Emacs (.emacs) or XEmacs (.xemacs/init.el). As always you can also try it out quickly by pasting into your *scratch* buffer and using C-j to evaluate the defvar, the defun, and define-key expressions in turn. Once the above has been evaluated, hit F10 to rotate among the named background colors.

The code's pretty trivial, so if you know Elisp --- or even if you don't --- it should be relatively straightforward to customize it for different colors, or a different keystroke. To list all the color names your display supports, use M-x list-colors-display.

I considered making the macro save the background color rotation between Emacs invocations, so that each new instance would automatically come up with a different background color. It wouldn't be too hard to do this, but I decided it didn't fit the way I work. I like to have a particular color correspond to a particular task --- "aliceblue" for general hacking (the first Emacs I open when I login), "thistle" for writing notes to myself, etc. --- so I prefer to do the rotation manually.

Incidentally, note the use of string arguments to defvar and defun to document the function and variable. Some Python advocates tout Python's "innovative" and "unique" use of string literals in class and function bodies for documentation comments. I agree that it's a clever idea, but it predates Python by several decades. There's a reason that Emacs is called the "extensible, self-documenting display editor".

P.S. The title of this post declares my intention to post a random section from my Emacs init.el files every week until I run out of things to describe. My startup Elisp has been on the web for ages, but I think that having a well-titled blog post for individual tweaks will make better Google-food, and will therefore be more useful to the world.

Tuesday, October 17, 2006

Two TLF quickies: social organization; prisons

One:

Tim Lee, who is rapidly proving himself one of the most unconventional (and hence interesting) libertarian bloggers, writes about markets, firms, and governments:

The central insight of [Yochai Benkler's paper] Coase's Penguin was that peer production is a form of economic organization on par with the market (first explained by Adam Smith) and the firm (first explained by Ronald Coase). Benkler expands on this tripartite classification of organizational structures in The Wealth of Networks. He spends quite a lot of time pointing out that non-market, non-firm methods of social organization account for a substantial fraction of our economic lives. We carpool, have dinner parties, give directions to strangers, help each other move, etc. These activities generate goods and services (meals, rides to work, information) that could also have been obtained via the market, but for a variety of reasons we sometimes find that non-market organizational methods meet our needs better.

I think this is a point that libertarians tend to under-appreciate. . . .

The whole post is worth reading (some decent comments too), but I want to focus on one particular part:

Progressives often think the state can convert market forms of organization into non-market, non-firm, social organization. But they're wrong. When the state gets involved, it almost always imposes a centralized, bureaucratic structure--a "firm" form of organization, in Benkler's parlance. A lot of progressive may laud the potential of public schools to create communities, but in practice, the public school system is every bit as soulless and alienating as the largest corporations. Folks on the left should hate the New York public school bureaucracy for all the same reasons they hate Wal-Mart.

This is true to a first approximation. However, I think it lumps too many kinds of "firm" together. For example, the National Science Foundation's formally a government agency, and it operates like a hierarchical "firm" in the sense that you can pull out an organizational chart and say Alice reports to Bob, who reports to Carol, who reports to Dave, etc. In another sense, however, the NSF is more highly decentralized than almost any "firm" operating in the actual market: essentially all of the NSF's "product" (i.e., scientific research) gets outsourced to universities, and a large fraction of that goes directly to individual researchers [0]. Even the job of choosing which research grants get funded is outsourced: grant proposals are reviewed for funding by committees of independent scientists.

So is the NSF truly a "firm"? Is it a "market"? A "commons"? It's hard to say. If you want to break it down, you might call it a firm (the NSF agency bureaucracy) that uses a commons/reputation economy (grant committees) to allocate resources to individual entrepeneurs (professors) who work within quasi-feudal federations (universities) of guild chapters (academic departments). Yet the NSF and its partners constitute one of the most successful forms of social organization ever devised: considered together NSF, DARPA, and the NIH may be responsible for catalyzing more basic scientific research results than any other institutions in human history. [1]

Although it may be useful to use the tools of management theory, economics, or political science to analyze the workings of this confederacy of institutions, it would be misleading to label it a market, a firm, or a commons.

More generally, although it's possible (with some intellectual contortion) to divide the economy into the "public" and "private" sectors, the institutions in each sector take radically different forms that depend on a myriad of forces (including social norms and "architecture", the other two modalities of regulation in Lessig's four-cornered graph). It could be argued that the public/private distinction often isn't the most useful discriminator when thinking about whether some form of social organization is better or worse for any particular purpose.

I would therefore characterize the progressive tendency to seek solutions in government intervention as simply a reflection of their willingness to seek solutions to problems, period. Is the market not serving a need? Maybe we should see if the government can do it. Maybe we should see if the formalized nonprofit sector can do it. Maybe we should see if peer production can do it. Maybe we should start a business. Progressives probably err on the side of too much hope for all of these, but the median libertarian seems to err on the side of dismissing all but the last as either futile, pointless, or simply immoral.

(Aside from all of the above, of course, a whole other justification for government action arises from the fact that coercive state action can sometimes solve collective action problems. But I'd rather not get into that today.)

[0] Who are, of course, then "taxed" by the university bureaucracy for overhead.

[1] Granted, these institutions have had more resources than any other scientific organizations in history, but I think we got our money's worth.


Two:

Adam Thierer asks why child molesters get out of jail with such short sentences. As others have noted before, the criminal justice system sets sentences based on the available capcity of prisons. According to Bureau of Justice statistics, 21% of our current prison population consists of drug offenders --- not drug-related violent crimes, which would drive this number way up, but drug trafficking, possession, etc. --- and that's trending upwards over time.

The "War" on "Drugs" wastes enormous resources that could, among other things, be used to protect children from sex criminals. Unfortunately, this kind of point's pretty tough to get across in political debate, and I can already hear in my head the shallow sound-bite rejoinder: "We don't have to choose between protecting our children from drugs and protecting them from sexual predators. We can do both:" ---pause for applause--- "we can build more prisons."

Of course, barring some revolution in incarceration policies, any more prisons that get built will be populated by roughly the same proportion of drug (and drug-related crimes) offenders, making prison-building a fantastically inefficient way to provision for improved incarceration of sex offenders. But now we're entering the territory of points too subtle to make effectively in, say, the paltry thirty seconds that were allocated for rejoinders in our last Presidential "debates". The American people might understand it, but the news media would caricature you as a wooden, uncharismatic policy wonk (if you said it calmly) or a ranting nut case (if you said it with passion). The exchange itself would last less than five minutes, but the columnists and talking heads would be repeating their talking-points caricature of it for weeks.

Thursday, October 05, 2006

On confidentiality and the present forum

When I started work at Google, I signed a confidentiality agreement, as is standard at technology companies. So, of course, I now know all sorts of juicy internal Google stuff that I cannot share here, which is mildly frustrating but both obvious and expected.

What's less obvious, to me, is what I can write about. Google has an official corporate blogging policy, but it basically amounts to "don't transmit confidential information and don't tarnish Google's reputation". Now, reputation's pretty easy: reasonable people must realize that all organizations sometimes hire nutballs like me, and that therefore any random insane or obnoxious thing I say is not endorsed by Google.

However, confidentiality's a trickier matter. If I write about technology at all, then I have to do it in a way that conveys no information to the reader about confidential matters. What does that mean?

One interpretation would be that I can write about anything in technology, except when it's related to what I do at Google. But, of course, over time, that would actually reveal what I work on at Google. If I write about many topics in computing technology, but not X, then over time it becomes increasingly likely that I'm working on X, particularly if some big X-related news item comes down the pipe and I remain conspicuously silent.

(Well, lately I've been rather silent for no particular reason --- pondering my confidentiality agreement is part of it, but I also just haven't felt much like writing. But let us assume, for the sake of argument, that my posting picks up again.)

Another interpretation would be that I can't write about technology at all. In my opinion, that's not reasonable. It would be absurd for Google to ask its employees to stop thinking, speaking, and acting on technology-related issues, particularly issues related to public policy. Regardless of my source of employment, I still live in a democracy (for the time being), and therefore have both a right and a civic responsibility to participate in the public sphere. I'm assuming that Google doesn't expect its employees to forego that.

On the other hand, in a world of at-will employment, I could in principle be fired for being a good citizen. I guess I'm just betting Google won't do that.

Anyway, I could probably second-guess this forever, but at some point I have to drive a stake in the ground. So, be advised:

  • If I post about X, you cannot infer that I work on anything related to X at Google, or that Google is planning to do something about X.
  • If I post about X, you cannot infer that I do not work on anything related to X at Google, or that Google is not planning to do something about X.
  • Anything I post here reflects my own thinking, on my own time, drawing on information that is publicly available from communication outside of any confidentiality agreement with Google, and does not reflect the existence of any Google policy, product, or snack food.

Anyway, hopefully you get the picture.

As a side note, you often hear Hayekian apologists for capitalism talk about how the market's price signals are a magnificent mechanism for aggregating information from decentralized actors. But every seriously competitive and innovative market is rife with confidentiality agreements like the one I recently signed. Price signals seem like a crude and low-bandwidth interface to such an enormous wealth of information. Astonishing amounts of knowledge gets locked up in these mile-high vertical silos, and price signals are little dime-size spigots screwed onto the bottom of each silo.

I'm not a communist. Communism was about abolishing the price signal interface. I'm a post-capitalist: I believe there must be better, richer interfaces waiting to be discovered.

I suppose you could argue that contracts already enrich the economic interface a great deal. With contracts, an economic transaction's no longer an exchange of a sum of dollars for a physical good, but rather an exchange of arbitrarily negotiable bundles of rights.

But somehow, despite that flexibility, we still end up with enormous amounts of information locked up in silos. This cannot possibly be the best way to organize information production. Academia and open source software do better in at least one way: when someone publishes a scientific result, or writes a patch for an open source project, that information gets distributed to everyone, not just the people living inside some confidentiality wall. The entire universe of potential cooperators immediately receives a richly informative broadcast of the innovation, not just a 3-tuple consisting of a scalar value and two names ("$4.95", "Alice", "Bob").

However, for a variety of complicated reasons, proprietary software companies do seem to produce certain kinds of research and software that wouldn't get made in academia or the open source world.

So, I don't really know what the answer is. I have a copy of Benkler's Wealth of Networks somewhere in my huge, freshly unpacked mound of books. I suppose I should read it.

Sunday, September 17, 2006

Poking around in Wikimedia Commons

I guess everyone's heard of Wikipedia by now, but probably not as many of you have poked around in the Wikimedia Commons, which is almost equally fun in its own way. The Commons is a place for people to contribute Freely licensed media to the world. It's not necessary that Commons pictures have encyclopedic value (although, of course, many do, and are referenced by various Wikipedias); it's merely a repository of images that someone, someday, might conceivably want to use in some kind of publication.

When I get tired of the anarchic process of wrangling with other editors on Wikipedia, I switch my contribution energy to uploading a few of my better photographs to Wikimedia Commons. It's a relief not to be forced to butt heads with some obstinate fellow editor on the Commons to defend a nitpicking detail of something I just did. At worst, my picture will simply be ignored. And if a useful picture gets uploaded, then it can get seen by a lot of people. For example, my own picture of the Ontario Legislative Assembly is currently in the Toronto article's "Government" section. (Curiously, no Toronto Wikipedian has yet uploaded a better picture than my tourist shot.) A lot of people are going to see that picture, if only in passing. It feels good to be useful this way, and the pain-to-reward ratio's much smaller than for textual contributions to the Wikipedia.

Also, one of the coolest aspects in Commons: featured pictures, which are frequently astonishing, and comparable in quality to the photographs in almost any "real" publication. Forget Brittanica; the quality approaches that of National Geographic in some cases.

Equally cool, for photographers, is the featured picture candidates page. Reading the discussions is a great way to learn what makes a good expository photograph. As a whole, the editors have a good eye and extremely high standards for technical, compositional, and affective elements of photography.

On the other hand --- as the nomination discussion on my picture of a Spermophilus lateralis reveals --- sometimes excessive cuteness overrules all that. Technically, it's not a great photograph: at full size you can see noise and blur, it's only 1024x1024 pixels (I cropped it down from a larger picture in order to make it a more effective illustration for its host article), and the (distant) snowfield in the background is completely blown out. But it's cute, so...

(This particular photo recently made featured picture on the English Wikipedia, which is a separate process from getting featured on Commons.)

Anyway, if you take photographs --- and digital cameras being being as ubiquitous as they are, you probably do --- then you should really consider uploading the interesting ones to Wikimedia Commons. You'll have to spend some time reading the uploading guide, but after that it's pretty easy and rewarding. I mean, who knew that anyone in the world would actually be interested in your vacation photos?

Thursday, July 13, 2006

Random tips for TGV travel from Paris

The Train à Grande Vitesse is a comfortable and low-hassle way to travel around the country, and reservations can be made online from the States with no fuss. However, you should know the following two items.

  1. When reserving online for the TGV that departs directly from Charles de Gaulle airport (Paris), the names "Roissy (95)" and "Aeroport CDG 2 TGV (95)" both refer to this station. This was slightly confusing to me; I just made my reservation for Roissy and crossed my fingers. Incidentally the station looks like this:

  2. In order to pick up your ticket at the station, you will need the credit card that you originally used to buy your ticket. You may be tempted by machines that look like this:

    ...which seem great, except for the following minor glitch, if you're a U.S. traveler:

    As most U.S. credit cards are currently magnetic stripe-based, you will have to wait on line at the ticket counter. The ticket counter is slow, so slow that the French guy on line in front of me remarked "Le train, c'est très vite, mais ça? Pffft."

Monday, July 03, 2006

Video corruption on resume from suspend on Thinkpad T42 with Fedora Core 5 and Xorg

Note: Narrowly targeted Google-food. Skip if you do not run a recent version of Linux on a Thinkpad T42 with the Xorg X server.

I run Fedora Core 5 on a Thinkpad T42. Like a good conscientious user, I run yum update regularly to download and install the latest security fixes and patches. Sometime in the past month or so, one of these updates broke suspend. Whenever I resume from suspend --- i.e., whenever I close the laptop's lid and open it again --- my desktop's background wallpaper gets corrupted. My lovely shot of Lake Union gets overwritten with noise: either jaggy, staggered horizontal black and white lines, or a sprinkling of randomly colored "off" pixels.

Oddly, this symptom does not manifest itself when I set my desktop background to plain black. However, using a computer without wallpaper is clearly beyond the pale of what a civilized human being can rationally tolerate.

I have no clue what's at fault: the kernel, the X server, or some other part of my laptop's software ecosystem? Who knows? My wild-assed guess is that somewhere during suspend, the video driver or kernel decides that the video memory buffer allocated for the wallpaper bitmap can be safely used for scratch space to doodle upon, or whatever it is that OS software does. I don't want to manually roll back the scads of packages I've updated via yum (Xorg alone installs about two dozen RPMs), and I don't know how to go about debugging this problem for real. I don't even know whose Bugzilla to report this to --- Fedora? Linux kernel? Xorg? Probably all of them will either ask me to debug the problem, or tell me to file the problem on someone else's Bugzilla.

Sigh. Such is the life of the user of a computer system where nobody takes responsibility for the entire hardware/software stack. I like Linux considerably, but at times like this I wonder if I should just ditch it all for a Mac, thereby giving up freedom for convenience.

In any case, my mad Google-fu did not turn up a solution, strictly speaking. However, it did turn up a pointer that eventually led me to vbetool, a system for tickling your video BIOS. My current suspend-and-resume script (/etc/acpi/actions/sleep.sh) now uses the following magic (recent additions in orange):

#!/bin/sh

# Sleep the network
# (Following should all be one line.
# Blogger keeps borking backslash-escaped EOLs)
/usr/bin/dbus-send --system
      --dest=org.freedesktop.NetworkManager
      --type=method_call
      /org/freedesktop/NetworkManager
      org.freedesktop.NetworkManager.sleep

# Save vbestate
/usr/bin/chvt 1
/usr/sbin/vbetool vbestate save >/var/tmp/vbestate

/usr/sbin/hwclock --systohc
echo -n mem >/sys/power/state
/usr/sbin/hwclock --hctosys

# Fix video corruption on resume by resetting vbestate.
/usr/bin/chvt 1
if [ -f /var/tmp/vbestate ]; then
    cat /var/tmp/vbestate | /usr/sbin/vbetool vbestate restore
    rm -f /var/tmp/vbestate
fi
/usr/bin/chvt 7

# Wake the network
# (Following should all be one line.
# Blogger keeps borking backslash-escaped EOLs)
/usr/bin/dbus-send --system
      --dest=org.freedesktop.NetworkManager
      --type=method_call
      /org/freedesktop/NetworkManager
      org.freedesktop.NetworkManager.wake

Note the chvt and vbetool vbestate calls, which save the state to /var/tmp/vbestate before suspend and restore it after suspend. You're not supposed to save and restore the Video BIOS state while you're in an X session, so I use chvt to switch to a text console before invoking vbetool, and back to the X console afterwards. This appears to fix the video corruption problem. Truthfully, I don't know why. Oh well. In the absence of understanding, I'll settle for voodoo.

For reference, I am currently running:

  • kernel-2.6.16-1.2133_FC5
  • xorg-x11-server-Xorg-1.0.1-9.fc5.5

UPDATE 26 August 2006: Fixed sleep/wake of network.

Thursday, June 22, 2006

Market share, market power, and network neutrality

J. Gattuso writes about a recent proposal by James DeMint (R-SC):

Submitted as an amendment to the telecom bill now being marked up by the Senate Commerce Commitee, DeMint’s proposal would make it unlawful to “prioritize or give preferential or discriminatory treatment in the methodology used to determine Internet-search results based on an advertising or other commercial agreement with a third party.” Any person found in violation would face a maximum fine of $5 million or imprisonment for up to one year.

...

For the record, this is a terrible idea. And, I’m willing to bet that Sen. DeMint thinks so too. Instead, the amendment seems intended to underscore Google’s uncomfortable position in the net neutrality debate. While the company has spearheaded the call to for net neutrality for telephone and cable firms, its own practices — and power — mirrors that of those companies.

...

Google’s business model to a large degree is based on tiering — providing preferred ad placement for those who can pay for it. Its clearly not a system where anybody “no matter how large or small” has equal access. Its based, like it or not, on money.

None of this matters, says Google. There’s a big difference, it says, between its actions and those of the "phone and cable monopolies." But is there? The phone companies and cable companies do have an overwhelming share of broadband connections. But market shares in the search engiine market aren’t dramatically different. Three firms — Google, Yahoo and Microsoft — account for 84 percent of all searches. Ninety-five percent of “toolbar” searches are by two firms, Google and Yahoo. Of course, this companies aren’t in lockstep — they compete among each other. And they may be challenged by newcomers, who now have small market shares. Yet, the same arguments, when raised regarding broadband networks, are rejected.

This certainly doesn’t mean that Google should be regulated. Or that it will be. Yet, there are some who have seriously proposed the idea. And once lawmakers start imposing mandates, its hard to predict where they will stop. Once network owners are regulated, it simply wouldn’t be that big a step to regulate other Internet players, starting with the biggest. Sen. DeMint’s proposal may not be meant to be taken seriously. And this week it won’t be. But someday, thanks in part to Google, it could.

First, let us dispose of the "universal slippery-slope argument" against regulation, which goes like this: "If you regulate X, what's to stop you from regulating Y?" This statement can apply to arbitrary X and Y, and is therefore not a serious argument against anything. Gattuso does not make exactly this argument (though he slides perilously close in the final paragraph), but stating the universal version illustrates the obligations that Gattuso must discharge in order to make his case.

A reasonable slippery slope argument must place a bound on X and Y, and then make the case that this bound is the necessary distinction. In other words, you need to say:

  1. "If you admit that X is regulable because X satisfies the property P, then Y is also regulable because it also satisfies P."
  2. "P is the only reasonable distinction in this case."

The second clause is necessary because otherwise, your opponent can simply propose a different (and better) bound P, which excludes Y while including X. In the course of his essay, Gattuso proposes the following two P in order to substantiate his slippery-slope argument:

  • P(X) = "X is an 'Internet player'"
  • P(X) = "X has sufficient market power that it is not subject to strong competitive pressures."

I think it is transparently obvious that the first of these is not a relevant distinction; "Internet players" is a category so broad and vague as to be analytically useless.

However, the second bullet point deserves some consideration, because it is also the distinction that network neutrality advocates propose. Distilled to its essence, Gattuso's argument is as follows:

  1. The justification for regulating telecom companies is that their market power insulates them from competitive pressure.
  2. Google, Yahoo, and Microsoft have large market share.
  3. Therefore, Google, Yahoo, and Microsoft also have market power insulating them from competitive pressure.
  4. Therefore, by the same reasoning, one should be able to regulate search engines.

Notice that between steps (2) and (3), the above argument jumps from market share to market power, effectively conflating the two. But market share is, at best, an indirect proxy for market power. Market power depends on a number of factors, but in the end two overarching factors dominate:

  • Barriers to entry: How hard is it for competitors to get started in the market?
  • Switching barriers: How hard is it for buyers to switch between sellers of the good in that market?

These are the two factors that determine how easily somebody can start competing with you, and how easily you can lose your customers to the competition. If anybody can start up a competitor and all your customers can flee overnight, then you're in a competitive market. If it takes many man-years of labor, political connections, and billions of dollars of capital to start a competitor, and it will cost your customers a lot of time and money to switch, then you're not in a competitive market.

High market share does not necessarily mean that a seller has market power. Google might be the most popular search engine because it has tremendous market power which insulates it from competition, or it might be the most popular because it simply provides a better product in an efficient and competitive market.

So, let's consider the barriers to entry and switching barriers in the search engine market, and in the telecom market.

Stop laughing.

OK, perhaps some of you are not already laughing, in which case I will have to explain it. If you want to start a new search engine, all you have to do is download Nutch, hire a programmer to customize it for your needs, and put it on the web. If you want to switch from one search engine to another, all you have to do is type a different URL into your location bar.1

Of course, I'm being slightly disingenuous here. If you want people to use your search engine instead of the competition, it will have to be significantly better, in some way, than what people use today. And that will be pretty hard. But that's also a feature of competitive markets, so that does not, in itself, indicate market power.

Contrast this with broadband Internet access. Let's take barriers to entry first. How hard would it be for me to start a new broadband Internet provider that competes with cable and DSL? I don't know the details, but I'm pretty sure it would involve either (1) enormous capital outlays to dig trenches and lay down wire, and also possibly schmoozing with municipal officials to get permission to do these things, or (2) taking advantage of "common carrier" regulations that James Gattuso and other pro-telecom pundits despise.

Now let's take switching barriers. How hard is it to switch broadband providers? OK, in most U.S. jurisdictions you can do it, but it will take you a few weeks of waiting, several hours of your time, and on the order of a hundred dollars. And you won't be able to choose from any of dozens of providers, as you can with a search engine; you've probably got two choices (aside: if you're willing to assert that two choices provides "sufficient competitive pressure to produce an efficient outcome", then I will assume that you'd also be happy with a political system in which you are legally obligated to vote for a Democrat or a Republican. You've got two whole choices, after all!).

In case the foregoing has been too verbose, here's the ten-second recap:

  • Search engine market: ten days to start a new search engine, ten seconds to switch search engines, dozens of search engines available to most consumers.2
  • Broadband Internet market: years to start a new broadband provider, weeks to switch broadband providers, two providers available to most consumers.

Which looks more competitive to you? Do these two markets look even vaguely similar?

So, we see that Gattuso's slippery slope is not, in fact, slippery at all. Google, Yahoo, and Microsoft do not have the same kind of market power that broadband Internet access providers do. (Microsoft, however, does have a very different kind of power arising from its outsized market share in the operating system market, but I don't want to get into that in this post.) Given the property that he suggests, a strong distinction can still be made between search engine providers and network carriers.

Finally, as an aside, I'd like to note that a few weeks ago, shortly after my post on network neutrality, I received PR spam written by a telecom flunky named Scott Cleland and distributed by Peter Klaus of Fleishman-Hillard public relations, containing much the same argument as that espoused by Gattuso above. I am not suggesting that Gattuso is a mouthpiece for Fleishman, but I do want to suggest that this talking point --- conflating search engines' market share with anti-competitive market power --- is going to see wider circulation in the future.


[1] Oh, is everybody using Firefox with the default search engine? (And by "everybody", I assume you mean "roughly 10% of all Internet users", because that is the current number; and Google's definitely not the default search engine for Internet Explorer.) All you have to do is hire a programmer to download the Firefox source, change a couple of configuration files, and rebuild it, and now you've got a browser with the search box pointing to your search engine. Or, even better, it's easy enough to distribute a Firefox extension that people can install in their search box with a single click.

[2] I am pretending, here, that Google's users are its customers. Of course, most of Google's users are not customers; its real customers are advertisers, which suggests a somewhat different analysis (although not necessarily different conclusions). However, Gattuso and DeMint both initiated this "users are customers" fiction and I'm going along with it for now.

Friday, June 16, 2006

Haloscan begone

Not that you care, but Haloscan's JavaScript for comments has been semi-busted lately, so I've decided to remove it. This means, regrettably, losing some older comments, but, oh well, c'est la vie. If Blogger ever gives me a way to selectively add code to my template based on a date predicate (unlikely), then I'll re-add Haloscan for older posts.

This post is here more to bookmark the date of the switchover than anything else.

Thursday, June 15, 2006

Computers are terrible

I just spent an hour of my life on the phone, talking my family through the process of connecting my sister's iBook to the family's wireless network. This involved relaying the WEP key multiple times over the phone, resetting the router, checking with the ISP to re-enter the network settings into the router, and downloading, unpacking, and upgrading the router firmware. Ultimately the router's broken-ass firmware was at fault, and hence upgrading it to version 5.3 was the solution. Curse you, Netgear MR814v2 router, and curse the horse you rode in on.

But although the router was at fault, it can't take all the blame for the situation. The crufty complexity of all the surrounding systems made it hard to isolate the problem. I could write an arbitrary amount on how broken all this was, but I don't have time. Suffice it to say I am annoyed.

Tuesday, June 06, 2006

How to try out eMusic

Executive summary, in bullet-list form:

  • eMusic is a good service.
  • However, it's not obvious how to browse the catalog before signing up.
  • Here is how: follow this link.

Details follow.

I won't have time to do any substantial posts in the near future, but I felt like sharing this little tip. I'm a big fan of eMusic, for reasons that I will not discuss at length for fear of sounding like a shill. It's not a perfect service --- why not OGGs and FLACs, eMusic? --- but it's DRM-free and good enough that I am willing to recommend it to friends.

However, they make one really huge mistake: they don't encourage users to browse the catalog before signing up for a trial account. That doesn't sound too bad, except that signing up for a trial account involves forking over your credit card info and other identifying information up front.

If you want to browse eMusic's catalog without signing up, you have to go to their home page and click the "Log in" link (as of this writing, this link's in the far upper right corner). Then, click on the "Browse" tab at the top of the login page. Ta-da: the catalog's fully accessible, so you can browse and listen to low-quality samples. Downloading full tracks will require you to sign up for an account, of course.

eMusic doesn't really restrict its catalog to users; it just makes the catalog obscure so that most non-users won't find it. I can imagine all kinds of reasons why they chose to do this, but IMO it's just an utterly boneheaded business decision. Many potential users will simply go away after they see that the entire front page directs them to a signup screen rather than the catalog. I was just on IM tonight with someone who had been meaning to try eMusic, but didn't sign up for exactly this reason.

Tuesday, May 30, 2006

Anti-network neutrality astroturfing comment spam

Exhibit A: Read the comments to my post from Sunday, May 21. Notice anything about the two comments by "Net Chick"? Do they strike you as, perhaps, somewhat perfunctory and non sequitur given what I wrote in the extensive main body of my post?

Exhibit B: Observe "Net Chick"'s Blogger profile, which reveals that "her" account was created recently, in May 2006. Note the utterly generic username, and the absence of any personal details or blog; screencap below.

Does anyone find it odd that somebody who just got onto the Internet in May 2006, and has no home page, has such strong opinions about telecommunications regulations?

Exhibit C: Observe the Google searches for '"Net Chick" network neutrality' and "posted by net chick", which reveal a wide array of comments splattered across the web under the same pseudonym. Click through to a few links, and you will see perfunctory talking points repeated in response to every post, with little regard for the post's content. Notice that all blog comments to date by "Net Chick" concern network neutrality legislation; not only does "she" care about network neutrality, it's the only thing "she" cares about.

In case the results of the above linked searches change, here are a few direct links where you can find comments which are probably (or certainly) by this same (ab)user: one, two, three, four, five, six, seven, eight, nine, ten, eleven... I guess that's enough for now. (UPDATE: If you run one of these blogs, please don't delete Net Chick's comments; we need them for evidence.) Below, for posterity, I have also captured screen shots from a few of these links.

  
  

Exhibit D, just to beat this dead horse down: post to Ars Technica...

...and corresponding profile, freshly created in May 2006:

Okay, enough evidence. Time to render a verdict.

Ladies and gentlemen, we have been defaced by a comment spammer. Not your garden-variety porn/drugs/gambling comment spammer, who would have made certain to include at least one link to an advertising-supported website somewhere in either the post or the profile page. Nor is this the work of a mere desperate narcissist spammer, who would have made some link to a personal blog available.

No; "Net Chick" is an astroturf comment spammer: an astro-spammer, if you will. Judging by the volume of spam (dozens of sites, rather than hundreds), the degree of comment differentiation, and the variety of comment systems to which the astro-spam was posted, I'm guessing that it's a human being, rather than a computer program. For this quality of A.I., it's probably cheaper to pay a human than to hire a computer scientist to write a program. This appears to be retail astro-spam, not wholesale astro-spam, although it's likely that the same entity's posting a lot more under other aliases.

(In fact, among the commenters from my original thread, the pseudonyms "Luv2Box", "MRT", "watcher", "stevens33", and Katie2020 all look pretty suspicious to me. Note the absence of links to any substantive personal page, blog or otherwise; yet these people care deeply enough about telecom policy to comment en masse at other blogs? Well, OK, it looks like "Luv2Box" has shilled previously for the Iraq War as well.)

Now, note the following traffic log, timestamped roughly when "Net Chick"'s most recent comment was posted:

This visitor left his/her browser window open for over twenty minutes, which isn't consistent with automated comment spam. Also, notice that the comment originates at an IP in Charleston, WV, which isn't the home of any major PR or telecom companies. At first, this puzzled me: what seasoned spammer would waste that quantity of time on an individual blog? Why is the spam originating from a home DSL provider in podunk West Virginia, rather than a city with major PR firms? Then I made the connection: I also recently received anti-net neutrality email advocacy spam from a PR company that provides integrated, cross-medium marketing services. The people posting the astro-spam aren't tech-savvy viral PR ninjas; they're telemarketing employees being paid minimum wage by the hour to browse Technorati and comment on the blogs they find. "Net Chick" is probably some suburban housewife moonlighting as a PR shill, or some guy who lives in his parents' basement and can't get a real job.

Notice, incidentally, that all most comments by "Net Chick" et al. appear on posts that tilt against network neutrality legislation. This makes me wonder about the online marketing strategy. Do they have different personas for posting to different sorts of blogs? How much latitude do they leave the telemarketers? Etc. I have more evidence that leads me to speculate about these things, but I prefer to keep it quiet for now. If the astro-spam sponsors see too many of the bread crumbs they're leaving behind, they'll change up their strategies.

Anyway, I'm not the first one to notice that the shills have come out: Seeing the Forest, MyDD, and IPDemocracy appear to have run across a different pack of pseudonyms shilling on the blogs they read, although I've documented "Net Chick" somewhat more thoroughly.

This sort of thing will only become more common (and more subtle) in the future. Henceforth, be wary of any blog comment that isn't backed by some persistent and credible web identity, one with a history. Even be suspicious of comments that are backed by a history. The PR-industrial complex is all around us.

I also plan to aggressively delete comments that strike me as shill-ish in the future, leaving previously posted comments for forensic purposes only. As you can imagine, I am pissed (though not surprised, since I've always been pretty paranoid).


UPDATE 31 May: Fixes: (1) Telemarketers get paid somewhat more than minimum wage. (2) Added more links to astro-spammed blog posts.

UPDATE 1 June: Fix: Moved a link that was confusingly placed.

Wednesday, May 24, 2006

In which I acquiesce to the siren song of capitalism

OK, I suppose some disclosure is in order. I recently accepted the offer of a software development position at Google.

Provided I defend as planned this summer (hardly a foregone conclusion, but my advisor seems to believe in me), this fall I'll be ending my career in academia and moving to the Bay Area.

At this point it is worth noting that if I were smarter, more talented, more focused, or simply hungrier, I would probably have done as most other recent Ph.D.'s from my research group have done, and obtained an academic job, or at least joined a research lab. I'm reminded of the time I chewed out Jonah Goldberg for implying that liberals become academics because they can't get jobs in the private sector. In computer science, the opposite's closer to the truth. (Well, I did have one academic job offer, but for various reasons I turned it down. I also turned down a few interviews, mostly because I'd concluded that I wouldn't accept those positions even if they were offered.)

Not that I'm complaining. There are worse things in life than getting a job offer that 99% of the people in my profession would kill to have.

Finally, you may wonder how this affects my blogging. Well, in my previous post, I took a position that tilts against one of Google's most prominent current lobbying efforts. That doesn't really settle the issue, of course --- especially since the mechanics of options dictate that I want GOOG to drop as much as possible before I start work, and rise to stratospheric heights only thereafter --- but anyway I hope that my opinions will remain independent of my paycheck, even after I shuffle off this academic coil.

I won't take it personally, however, if you consider me a wholly owned subsidiary of my putative future employer.

Sunday, May 21, 2006

Notes on network neutrality

So, "network neutrality" has been getting lots of press lately. Briefly, network neutrality is the principle that Internet carriers should provide "dumb pipes" that carry all Internet traffic equally, rather than discriminating based on the type, content, or destination of the traffic that flows across their networks. A wide array of interests --- including MoveOn, Google, and a number of other groups and companies across the political spectrum --- have been lining up behind initiatives to codify this principle in law for US Internet carriers. The principal opposition to the coalition comes, unsurprisingly, from two quarters: the telecommunications companies, and libertarians.

My reaction to this is twofold. My first and predominant reaction is: I am troubled by the idea of getting the FCC involved in regulating how Internet service providers architect their networks. The Internet actually works pretty well these days, so it seems dangerous to get Congress monkeying around with its guts. And the question of what constitutes a "neutral" network is pretty subtle, as the term has no widely agreed-upon technical definition.

In the absence of a technical consensus, the output of the legislative process is likely to be either a mishmash of mistargeted micro-regulations, or a vague and overly broad mandate for the FCC. Who knows what will come out of that process, but in my opinion the most likely outcome is simple regulatory friction that slowly, invisibly eats away at network innovation. Network innovation won't go away, but certain kinds of innovation will become more difficult because of legal complications, and the Internet will suffer. Therefore, I suspect that any legislation written today will hurt the Internet more than it helps. It is with some surprise that I find myself agreeing with the telecom giants and the Cato Institute, and disagreeing with MoveOn, Google, etc. If network neutrality regulation passes now, I think progressive activists and technology companies alike will live to rue the day they begged for it.

My second reaction is that this whole debate strikes me as a kind of bizarre ritual theater in which people are making noises and gesticulating wildly, but nobody talks about the real issue.

Political outfits --- ranging from MoveOn to the Christian Coalition --- are worried that network providers will begin to discriminate based on the political content of messages. This is pretty unlikely. It's not easy for an algorithm to look at a bag of bytes and classify its political content; and network providers probably can't pay for the computational power required to apply such an algorithm to the many terabytes of data that flow across their networks daily.

And even if they could, why would they? There's no percentage there. In fact, I can think of two very strong reasons for them not to start filtering based on political content. First, there would be an enormous consumer backlash. Second, there would be enormous political fallout. The latter would include not only backlash against abuse of quasi-monopoly power, but possibly the imposition of responsibility for the content that flows across the pipes. Once you begin filtering based on political content, lawmakers may poke their heads in and wonder why you aren't filtering out all that kiddie porn and gambling and such too --- and if something gets through your filters, why can't we hold you liable? The network providers don't want to open that can of worms.

So, political censorship isn't the real issue here. Nor, pace Moby et al., is it interconnection with small media providers versus large ones. Verizon's not terribly likely to block access to your music blog. They might, someday, contract with certain service providers for improved performance. For example, they might strike a deal with iTunes to store songs in a local proxy cache, so that Verizon customers would observe slightly improved performance with iTunes, but not your music blog. That doesn't strike me as either disastrous or a betrayal of the Internet's principles. Networking researchers have been proposing schemes like this for years. In fact, Akamai's basically a third-party version of this scheme: people pay them to store content in caches close to where it's demanded, so Akamai-cached websites perform better than non-Akamai websites. Akamai's been operating since 1999, and so far the Internet hasn't been torn asunder.

So what's the real issue?

As Ars Technica noted back in January, Verizon CEO Ivan Seidenberg was making noise about Google's (over-)"use" of Verizon's bandwidth. And last November, SBC CEO Edward Whitacre complained about Google and Microsoft using "my pipes" (meaning, of course, SBC's pipes; Whitacre suffers from your usual case of CEO megalomania):

"So there's going to have to be some mechanism for these people who use these pipes to pay for the portion they're using. Why should they be allowed to use my pipes?"

In a way, you have to give Seidenberg and Whitacre credit. In making these noises, they display a level of stupidity and chutzpah that rivals the dudes from Jackass.

First, the chutzpah: Google does pay its ISP for its Internet connectivity, just as Verizon customers pay Verizon for their Internet connectivity. Yet Seidenberg claims to believe that Google should pay Verizon for the Internet connectivity that Verizon's customers have already paid for. It's as if Ford were to ask Wal-Mart to pay fees to Ford, because Wal-Mart's customers were driving to Wal-Mart in Fords.

Second, the stupidity: five and a half months later, Verizon's lobbyists are working overtime to prevent network neutrality legislation from passing. And guess who's paying for the lobbyists on the other side? In many ways, Seidenberg, Whitacre, and their telecom industry cronies brought this circus on themselves through overreaching arrogance and greed.

So, here's the real story. The telecom giants currently sell you Internet access, which is okay, but dull. Dumb pipes are cheap. But hey --- what if they could sell you lots of bundled services? That really gets the dollar signs flashing in their eyes. These are the companies that want to sell ring tone subscriptions for your cell phone, and bundled cable packages with more channels than you'll ever watch. Their dream is to add a dozen extra bullshit services to your Internet service bill, so that you're paying them eighty dollars per month instead of fifty.

The big problem with that plan is that once you have dumb pipes and smart endpoints --- in other words, the Internet --- the endpoints can build essentially any service on top of the network. Of course, this is fantastic for Internet users. Once you pay for Internet access, you automatically get to use every Internet application that's ever been invented: email, the web, instant messaging, peer-to-peer, and (increasingly) the two V's, voice and video. These last two really drive the telecom giants nuts, because they used to sell you voice and video: they're phone and cable companies.

Therefore, the most likely form of telecommunications discrimination in the foreseeable future is discrimination by application, not by content. Verizon wants to give preference to its voice services, and Comcast wants to give preference to its video services. They're deeply freaked out by Skype, Google Video, and the like. If they can convince customers that competing services are slow and crappy compared to their own offerings, they think they'll have a better chance of getting you to pay for their bullshit services. Failing that, they'd like to convince Google and other Internet companies to pay fees for non-degraded service. Think of it as protection money: "Nice customer base you got there. Sure would be a shame if your packets were dropped 20% more often than your competitor's..."

If network providers got serious about this, the results would be pretty bad. Network providers should not be picking winners and losers in the Internet applications game. Applications should succeed or fail on their own merits. Now, I think network discrimination schemes would fail in the long run, but that's just a hunch and it's really an open empirical question. Meanwhile, in the short run, discrimination schemes could cause major distortions in the Internet applications market; and when you consider the possible network effects in domains like Internet telephony, it's possible that these distortions could cause lingering damage, locking in inferior applications for years to come.

So I'm really glad that people are paying attention to network neutrality. But I'm also alarmed that so few of those people seem to understand what's really going on here, and I'm skeptical that now is the time to make laws about it. So far, the Internet's still neutral. My bottom-line recommendation would be to watch and wait.

(And also to increase competition in local ISP markets, which would give customers a choice when confronted with discriminatory network policies. Note that this wouldn't be a panacea, because in practice most localities would still be served by a few providers, each of which might have an incentive to discriminate, albeit in differing ways. Oligopolies don't necessarily lead to efficient markets.)


p.s. Selected links on network neutrality: