Restaurant reviewers, anonymity, and the (non-?)wisdom of crowds

slaniel | Books; Films; Food and wine | Monday, February 8th, 2010

A great Boston restaurant reviewer who goes by the handle “MC Slim JB” links (via Twitter) to a Columbia Journalism Review history of food reviewing. The review is essentially divided into three themes:

  • how food reviewing tracked the expanding universe of ethnic foods available in New York City
  • reviewers’ perspectives on anonymity — specifically, whether they felt obliged to remain anonymous to prevent favorable treatment by the chef
  • the questionable ethical guidelines followed by today’s amateur food reviewers.

The first bullet is interesting. The second is as well, and for the record I think reviewers should always be anonymous; there’s no question in my mind on this point.

To the extent that Internet reviewers make a name for themselves and drop anonymity to get special dishes at restaurants, that’s obviously bad. The CJR piece focuses on a few amateur reviewers who prostitute themselves in this way. For what it’s worth, I’ve never heard of any of these reviewers.

What the CJR piece doesn’t bother to examine is what happens when everyone is a reviewer. When chefs only need to be on the lookout for Ruth Reichl, they can post her photo up in the kitchen and keep an eye out. But when every one of us could go on Chowhound and tear a restaurant to shreds, presumably the culinary standard always has to stay high.

Of course there are caveats here. First is that, when everyone can talk, everyone’s voice is correspondingly diminished: why should someone listen to me when there are thousands — millions? — of other people on the Internet just like me? But that just changes the point a little: chefs now have to make nice not only with the Reichls of the world, but with the entire Internet.

The Internet speaks with many voices, of course. What you’ll find on Chowhound is that one man’s pigsty is another man’s foodie bliss. Sometimes this reflects the quirks of the particular day the reviewer went. Other times it means that the reviewer has no taste. You have to judge on your own. Certain Internet reviewers get rated highly by their peers; MC Slim JB gets that honor on Chowhound. Does that rating mean anything? Maybe their peers are all dolts; this is certainly how I feel about highly-rated Slashdot posts (whose quality, from my once-yearly checks, has declined from even its already piss-poor station).

So you just have to decide how you like the reviewer and how you like the venue where he posts. I find that if a number of Chowhound reviewers have good things to say about a restaurant, if their tastes match up with mine, and if the reviewers sound intelligent, then I should probably check out the restaurant. Over time, who knows whether this will remain true: maybe the world at large will discover Chowhound, will fill it with “EAT THE FRIED SHRIMP AT TGI FRIDAYS IT IS TO DIE FOR LOL”-type reviews, and will therefore kill its allure. As more idiots fill up the forums, they’ll tend to promote reviews that they themselves like. And so on down the drain we’ll go. All I’m really entitled to say is that as of this moment, Chowhound is my place to go for good restaurant reviews.

The world is more complicated now. I think it’s unquestionably better. Previously, you had two or three professional voices to rely upon, and the voices of your friends; if your tastes weren’t in line with the reviewers, tough luck. Now you can find people who share your tastes and follow their recommendations. It’s a happy world.

I’ve thought of this in other contexts, too. Lots of people venerate the wine reviewer Robert Parker, the man with the million-dollar nose. He certainly knows more about wine than I ever will, and he may even be better equipped, biologically speaking, to do that job than I am. Precisely because he’s such a different a wine consumer than I am, why should I necessarily base my wine-purchasing decisions off what he says? Is it at all clear that I’ll enjoy a complicated wine as much as Parker does? I certainly don’t agree with Dave Barry’s joke, probably 20 years old at this point, that no one can tell the difference between wine and melted popsicles. At the same time, I can’t detect many of the flavors that Parker can. What he considers a superb bottle of wine may turn out to be a waste of money for me.

Another way to view Parker’s job is as a teacher. Here I think the possibilities are more hopeful. I may not be able to taste, as Parker did during his road-to-Damascus moment, the “main components of a Riesling.” (Or maybe I can. Not sure.) But if Parker tells me that a wine contains such-and-such flavors, I can start looking for things that I wouldn’t have thought to look for before. Drinking a wine with Parker by your side may be akin to staring at an abstract painting in a museum with an art historian by your side. It looks like a jumble until someone puts together the pieces for you.

When reading Parker on wine, or Anthony Lane on film, or Michiko Kakutani on books, the question I think we’ve always asked is whether the reviewer is similar to us. If Lane says he dislikes a film for some particular reason, we have to decide whether that reason is something we care about. If it’s not, we should find another reviewer who focuses on other things. One reviewer may not like Avatar because he thinks the story is silly; another may love it for the visuals. If you’re into visuals, maybe you should listen to the second reviewer.

None of this is rocket science, of course. But it’s worth thinking a bit about why and how we read reviewers in the first place, before we decide that the Internet is the death of professionalism.

A long weekend’s journey into Sunday evening

slaniel | My Life and My Friends | Sunday, February 7th, 2010

It was a long, stressful (but exhilarating) month at HubSpot, and everything wrapped up last week. So I was looking forward to this weekend to recharge my batteries a bit.

It didn’t quite work out that way. First of all, my body took the end of the one-month development cycle, with its stress and sleeplessness and lack of exercise and not-entirely-awesome diet, as an excuse to finally collapse. The cold started on Thursday, built a head of steam on Friday, and really pummeled me on Saturday.

I couldn’t do what I wanted on Saturday, because I had to help my lovely girlfriend move her stuff from one place to another — including beds, dressers, etc. We moved all that stuff out of the old place yesterday, and moved it all in to the new place today. Normally I’d have plenty of energy for that sort of thing, but the cold took it all out of me after a few hours of work.

I took the 1:30 train back to Cambridge and planned my relaxation. Central to it was a hot toddy. Also a bed. Other than those two things, most was negotiable.

A few hours later, and here I am: pajamas on, in bed, toddy balanced on my sternum, cats both within reach, and nothing I’ll need for the next 15 hours anywhere outside a three-foot radius. The toddy has already worked its warming magic. Life … is good.

Microsoft and its critics

slaniel | Microsoft | Friday, February 5th, 2010

There’s a very odd exchange between a former Microsoft VP and the official Microsoft blog. What’s odd is that Microsoft essentially tells the former VP that he’s right: when Microsoft says that “what matters is innovation at scale, not just innovation at speed,” what that says to me is “We take innovations that others have come up with, once we know that the market is established, and make that market bigger.”

In fact this is how I’ve heard Microsoft’s business model described. And there’s nothing wrong with Microsoft’s approach, actually. Little companies innovate; big companies scale up innovation. So that’s fine.

It’s just weird, though, that Microsoft even bothered to respond, if essentially their entire point was to affirm the truth of the op-ed. I’m 100% with Jon Gruber on this:

Why in the world did they respond to this? And even worse, without refuting any of his claims, most especially his core premise that Microsoft is divided into dozens of bureaucratic fiefdoms that fight against each other to protect their turf?

P.S.: Microsoft really didn’t need to include a fucking smiley face in the middle of their blog post.

Speaking, as we were, of JavaScript

slaniel | JavaScript; jQuery | Saturday, January 23rd, 2010

…I’m really enjoying jQuery. I’ve never really written JavaScript before, so I very much enjoyed writing this little thing.

Automatic memoization: cleverness to solve the wrong problem

slaniel | Computer science; JavaScript; Perl; Python | Saturday, January 23rd, 2010

This is the first time in my career that I’ve used JavaScript extensively, so I’m trying to learn some best practices. A few people have recommended Crockford’s JavaScript: The Good Parts, so I picked it up. While skimming through it looking for something else, I ran into his description (on page 44) of using memoization (essentially, caching) to speed up the computation of certain functions.

The example people always use here — and Crockford is no exception — is the Fibonacci sequence. The shortest way to implement it is recursively. As Crockford points out, the recursive solution doesn’t scale: the number of recursive calls necessary to compute the nth Fibonacci number is proportional to the nth power of the golden ratio. (From what I can see, the constant of proportionality converges very rapidly to about 1.11803. That number must have some special name.) I’ve coded both versions up in Python; the recursive version keeps track of how many function calls it had to make.

So then Crockford’s solution, and the solution written in lots of places (Higher-Order Perl, for instance) is to use memoization: cache the results of fib(n) for smaller n, then use the cached results rather than computing those values anew when you need them later on.

This isn’t really a solution, though, as my friend Seth pointed out to me some months ago. It’s certainly clever, and languages like Perl or JavaScript make it very easy. In Perl, you can automatically memoize any of your functions with the Memoize module: just do

use Memoize;
memoize('fib');

and voilà: all of your calls to fib() will be memoized from then on. Pretty cool, really. Manipulating the symbol table is kind of neat.

But this has only temporarily disguised the problem. Let’s look at the time and space requirements for all three of our fib(n) implementations:

Recursive, non-memoized: exponentially many function calls, hence exponentially many stack frames, hence exponential memory usage. Linear running time.

Recursive, memoized: linear memory usage (one cache entry for every i, for i less than or equal to n). Linear running time.

Iterative, non-memoized: constant memory usage (must keep the nth, (n-1)st, and (n-2)th values of the sequence in memory at all times, but that’s it), linear running time.

By using some language cleverness, you’ve made the problem harder than you need to: memoization increases your memory usage from constant to linear, and does nothing to your running time. By thinking harder about the problem, you can improve both performance aspects and not need any clever language business.

Seth has told me for quite a long time that recursion and higher-order programming (closures and so forth) are interesting but make debugging a lot harder. His contention would probably be that you can often replace a clever recursive solution with a non-clever, easier-to-debug, better-performing one.

That said, at least some higher-order-programming tools make my life easier. In Python, I love list comprehensions:

print [x**2 for x in xrange(1,11) if (x**2 % 2 == 0)]

or the older-school but perhaps more familiar map() and filter():

print filter(lambda x : x % 2 == 0, map(lambda x : x**2, xrange(1,11)))

(because I favor readability over concision, in practice I would expand this into several lines: a map() line, and a filter() line, and so forth)

As I’ve mentioned, I lament the absence of first-class functions in Java. Then again, I’ve seen enough people shoot themselves (and me) in the foot with unreadable Perl or Python, using all the cleverness that the languages provide to them, that I think I’d be okay with a less expressive language that forces programmers to be really boring.

Way behind on book reviews; here are some capsules

I think owing to busyness at work, limited sleep, lack of exercise and similar things, I’ve been way behind on writing book reviews. Rather than wait until I have the time to handle each of them properly, I’m going to summarize as many as I can right here.

  • Doug Henwood, After the New Economy (With thanks to Henry Farrell for recommending this.) The new economy — everyone blessed with thousands of (as it turns out, worthless) stock options, everyone making money off senseless business ventures, everyone a “web designer” — is over, and we’re back to the old economy. Henwood argues convincingly that the new economy was only really lucrative for the small handful of people on top, and that most of us just continued to get screwed: the American economy got a lot better for the rich and not all that much better for the rest of us. This all avoids being a tirade, because the author combines the prose of the pamphleteer with most of the erudition of a scholar. (“Most of” here is a compliment: most people don’t read scholars, and people should read Henwood.)

  • Ken Auletta, Googled: The End of the World As We Know It

    I’d say there are three parts to this book, woven all around one another: first, and most sizably, lots of Ken Auletta being a Google fanboy (see his onstage interview with Google’s Eric Schmidt if you want to see a man keeping just on the respectable side of fawning); second, a rather powerful chunk reminding us of just how completely the Internet has changed the world; and third, some nonsense, of the sort that drives engineers nuts, about how Google’s focus on rationalizing markets means that they may fundamentally lack wisdom.

    The fanboy part I’ll ignore; I should have expected, in any book about popular technologists, that it would coo over its subject. When Auletta steps back and describes just what the Internet has wrought in only about a decade and a half, on the other hand, it’s astonishing. Craigslist killed newspaper classified ads and thereby a large chunk of newspapers’ revenue. Google is in the process of overthrowing traditional advertising. YouTube is how many of us consume television shows now, and Netflix is how we consume movies. Amazon changes how we buy books. iTunes (Napster, really) turned music digital. Google is moving into the cell-phone industry. Their acquisition of YouTube looked at the time like they were purchasing a known massive copyright-infringement platform with the intent of directly challenging intellectual-property law. And on and on. It’s breathtaking.

    Now, part of what makes Google Google in all of this — part of what all of us love watching — is the rationality driving it all. We perceive — and Auletta confirms — that Google approaches any new market, asks “What should this market look like?” and immediately moves to drive out irrationalities. Advertising could be done better, so Google is doing it better. Cell-phone software sucks and doesn’t reflect the computer revolution of the 1980s; Google is building Android to fix that. They see a problem and have the resources to fix it, so they fix it.

    If you’re from one side of C.P. Snow’s “Two Cultures,” and you’re a writer who needs to provoke controversy in a book about Google, you will wag the disciplinary finger at Google here and bemoan their “cold, logical rationality.” It’s a staple of the genre, and I can’t really fault Auletta for it: in writing a book about a tech company, you’re either going to fall into fanboydom or into These Guys Really Should Have Got A Degree In Anthropology So That They Could Understand How Humans Really Are territory; Auletta does both, and does both rather mildly, so I have little to complain about. But in any case, he has to get in his digs: Google’s founders are confused when EPIC objects to algorithmic monitoring of Gmail, according to Auletta because the founders view the world through hyper-rational blinders. This part of the book isn’t really believable, probably because I’m a geek. Humankind has not created very many men who both are prose stylists and who can talk to geeks in their language.

    (Little sidebar from an earlier part of my life. I used to work for a startup that was all about openness when it could afford to be: that is, when the venture-capital funding hadn’t yet dried up. Every month, they’d show the company’s engineers the raw numbers and the bottom line. Then there came a point when maybe they didn’t want to share quite as many numbers with us. When pressed by the engineers in the room, this company’s founder explained, not convincingly, that we geeks would just take those numbers, overreact to them, and get scared. So this was for our own good, you see.

    Turned out that the numbers were really just bad in an objective sense. By the time the company was acquired — because it had a lot of intellectual property, a lot of smart developers, and a world-famous founder — the acquirer bought it by just paying off its substantial debts.

    I’ve taken some lessons from this: 1) that when openness disappears, it’s time to polish off your résumé; 2) that transparency is something that companies keep so long as it’s convenient; and 3) that geeks really do have a great built-in bullshit meter, which entirely derives from that cold, rational, objective viewpoint that Auletta scorns.)

  • E.L. Doctorow, Ragtime

    The only novel I’ve ever encountered that has a detectable meter. On quite a few pages I read it while snapping my fingers. Check out Ta-Nehisi Coates’s excerpt to see what I mean.

    The story centers on one New York family and the intense, exploding world that surrounded them: Harry Houdini escaping from damn near everything; Emma Goldman (whose Living My Life awaits me on my bookshelf) singing the virtues of anarchy and inviting policemen’s truncheons; obsessive men falling prey to the charms of glamorous film actresses; murders happening on the roof of the original Madison Square Garden; and black men resisting abuse and getting torn to shreds as punishment. In its literary skill at combining many historical personages into one fluid story, it’s like Forrest Gump for smart people. This is an exciting, captivating, rhythmic book. My only suggestion would be that you read it in one sitting: the excitement is hypnotic, but only if you’ve let yourself settle into the trance that Doctorow has built for you.

    (Ragtime confirms a pattern I only started to notice when I got into Philip Roth: books by men very often feature completely unexplainable sex by their male protagonists with beautiful women. The men are often awkward nebbishes, yet they end up with curvy, sexually unslakable women. It never makes any sense, but hey: if I get into the position to write a novel, I’ll probably put my fantasies down on paper too. “Maria Romero’s raven-black locks fell around her as she collapsed breathless on the silk-covered pillow. She’d spent the previous six hours engaged in her favorite activity: ecstatic sexual congress combined with a lecture on Löwenheim-Skolem.” Get ready for it, because nerd porn is coming.)

  • Tom DeMarco and Timothy Lister, Peopleware: Productive Projects and Teams

    There’s a lot to recommend this book, and lot to recommend avoiding it. On the plus side, the authors really are on the right of the battle to make companies enjoyable for their workers. Give all your employees windows, they say; it’s nonsense to claim that this is impossible, and hotel rooms — every last one of which has a window — supply the existence proof. And more: don’t push your employees to push crap out the door; let them know that you respect quality, and they will rise to the challenge. And still more: your teams need to “gel” (DeMarco and Lister may spell it “jell,” but I refuse). To make them gel, they need managers, but they don’t need managers to sit watching their every move. Your employees want to create great work; people want to enjoy coming to work every day, and they want to produce something that they’re proud of. Make that kind of job available to them, and the quality product will flow out of them naturally. Hence the quasi-paradoxical line: Quality is free, but you have to pay for it. Peopleware is loaded with good bits like this.

    At the same time, it suffers from some annoyances. The authors seem out to sell their own consultancy, so much of the book feels like hucksterism. Just adopt practices A, B, and C, and you’ll end up with a great company. There’s certainly a selection bias: those companies that enlist DeMarco and Lister’s consulting services probably differ systematically from those that don’t — either in the negative sense that more’s broken at D&L’s clients, or in the positive sense that those clients are the more adaptable ones. D&L insist that they’ve distilled decades of experience into this book, which just makes me crave more evidence that they’ve fomented real, positive change for their clients. Then there’s the inevitable question: if you guys are so good, why haven’t you started a software company?

    So expect about half this book to make you pound the desk with enthusiasm. Expect the other half to make you roll your eyes.

  • Frederick P. Brooks, Jr., The Mythical Man-Month: Essays on Software Engineering

    Everyone in software knows this book by now. It’s most famous for Brooks’s Law: “adding manpower to a late software project makes it later.” Brooks presided over a number of massive projects at IBM in the 60s and 70s. He writes from a whole different world: the technical specs for a new operating system would fill 10 or more feet of bookshelf space; contrary to my expectations, Brooks actually seems happy about that. You just have to get the right documentation guy to write clear docs.

    In some ways, Brooks’s writing sounds really antiquated; it’s written for people putting together massive software projects that take years to complete. All the rage nowadays is “agile”: get something out the door within a few weeks or months, then improve it bit by bit over time. In part this is to control customer expectations: put something concrete and limited before your users; now they have a specific reference point against which they can specify their needs, rather than building a dream world in their minds that you’ll never be able to meet. Brooks’s Law certainly applies as much in this new world as it did in the old. As do Brooks’s other maxims: software still needs a designer to impose architectural harmony on the whole.

    I found his “No Silver Bullet” idea the most compelling of all: that no improvement in software technology or process would improve programmer productivity by 10x over the next decade. Brooks held out some hope for object-oriented programming, but I think his hopes — feeble as they were — have been dashed. The promise and the peril in organizations comes from, and has always come from, the people in those organizations. No amount of technology is going to solve that problem. Brooks summarizes one part of this as Conway’s Law: “Organizations which design systems are constrained to produce systems which are copies of the communications structures of these organizations.” That’s still the truest thing I’ve ever read on software-organization design.

    For how much it’s discussed, I’m amazed that I still got so much out of Brooks. The Mythical Man-Month remains a must-own.

  • Siri Hustvedt, What I Loved

    This is another book that has to be read in few sittings, I think. It’s really an unending series of heartbreaks and frozen daggers to the gut (metaphorically speaking) for the poor narrator. Having read it over many sittings and scattered sessions on the elliptical at the gym, I lost a lot of its rhythm and its beauty. The narrator is a professor at some New York university (possibly NYU, possibly Columbia — I don’t know that the book ever says), his best friend is a mixed-media artist, his best friend’s first wife is a strange, cold woman, and he’s surrounded by a cast of literal misfits. People die suddenly, others get involved in drugs, and the world just keeps dragging him along. His voice has an exhaustion to it, which Hustvedt conveys skillfully: he’s at the end of his life, looking back on one disaster after another.

    Obviously I can’t really suggest such a book for what it will do to your spirits, but it’s an engaging read.

  • Diego Gambetta, Codes of the Underworld: How Criminals Communicate

    Fascinating from start to finish. You can think of many reasons offhand why such a book would be endlessly captivating, but Gambetta will continually surprise you with the twists and turns in his subject.

    Start with the obvious question: you’re a criminal, and you want to communicate with your fellow-bad guys. How do you do it? That’s intriguing on its own. If you know the other bad guy, you can vouch for him (or think you can — see “Brasco, Donnie”). If you don’t know him, you need to much more carefully apply the vetting that we use in the legit world: find someone you know who knows him, ask around about him, and so forth.

    Obviously your big concern as an underworld fellow is the police. They’re constantly trying to listen in on your communications, get fellow bad guys to turn state’s evidence, and plant undercover cops in your midst.

    When your organization reaches a certain level of success and infamy — think of the Mafia here — you now have a brand to protect. Rival organizations start claiming your name to strike fear into their enemies’ hearts. To avoid brand dilution, you need to make sure that only those people who are actually in the Mafia say they’re in the Mafia. Trademark law isn’t going to protect you here, so you need to enforce your own brand.

    And how do your establish your bona fides as a bad guy? One intensely fascinating thread in Codes to the Underworld has to do with commitment strategies: imposing some heavy cost on yourself — some cost that absolutely no one outside the Mafia (or whichever group) would ever think of fakin. Henry Farrell, over at Crooked Timber, excerpts one amazing bit on this score:

    Erefaan’s face is covered in tattoos. “Spit on my grave” is tattooed across his forehead; “I hate you, Mum” etched on his left cheek. The tattoos are an expression of loyalty. The men cut the emblems of their allegiance into their skin. The Number [the name of the hierarchical system in Pollsmoor prison] demands not only that you pledge your oath verbally, but that you are marked, indelibly, for life. Facial tattoos are the ultimate abandonment of all hope for a life outside.

    Gambetta has spent decades studying the Italian mafia. He’s a brilliant economic naturalist, with story upon story from the world out there. He’s a gripping writer, to boot. Codes of the Underworld is one of the few works of economics that you’ll be unable to put down. This may be because it’s not recognizable, at first glance, as a work of economics. But its economic cred is pristine; it’s filled with references to the great Thomas Schelling. Highly recommended, both for those who love economics and those who love The Godfather.

    (I’d be remiss here if I didn’t mention, by the way, Schelling’s Micromotives and Macrobehavior. It’s an boundlessly interesting piece of work.)

One little note on Scott Brown, Martha Coakley, and health reform

slaniel | Health care and insurance; Helping the Less Fortunate; Obama, Barack | Wednesday, January 20th, 2010

This election has me more miserable than I really want to go into, so let me just say this:

Yes, Brown’s election means that a lot of filibusters down the line are possible. But what people are really flailing all around about now is that health reform, in particular, might be filibustered to death.

Now then. If that’s what people are actually concerned about (let me be really fucking clear that that’s what I’m concerned about), then we could have dodged the bullet on this long ago. Obama and Senate Democrats tried to play nice with Republicans for a long while. That failed. It led to months of delay. If we’re essentially into conference-committee territory now, we could have been in conference-committee territory months ago. By the time Scott Brown’s miserable ass got sworn into Congress, we could have long since had health reform that people aren’t embarrassed about.

Lots of people, myself included, have railed against Senate procedure causing everything to get slowed down. But the fact is that health reform was and is an unforced error. The threat of a filibuster cannot explain why Democrats took so long to get the job done.

A brief note on the ethics of Harry Reid and of his critics

It speaks to our failings as a society that Harry Reid could be pushed to resign for saying some words about Barack Obama, whereas the entire Republican party feels no compulsion to resign for, objectively speaking, consigning many thousands of uninsured poor people to die every year and resisting all attempts to improve the lives of the less fortunate.

It speaks to the Democratic Party’s failings that they don’t say this.

A natural total ordering for health-care expenses and outcomes?

slaniel | Mathematics | Sunday, January 10th, 2010

Looking at the chart on Andy Gelman’s post about health-care expenses and outcomes, I wonder if there’s any way to put all of those data points in an order. You want to say that country A is better than country B in its health-care outcomes and expenses, and you want to be able to do that for all countries.

There’s an obvious partial ordering for all those countries: A’s health care is better than B’s if A’s health-care outcomes are better than B’s and if A spends less on health care. That is, if A is to the left of and above B, then A is better than B. But we’re unlikely to be so lucky that countries can be put into a line that slopes uniformly down and to the right.

If there were some widely accepted way to balance expenses and outcomes, then we could achieve a total ordering here. Let’s say, for instance, that we defined the “goodness” of a health-care system as 1/3 times its per-capita price, plus 2/3 times its health outcome. Then our two-dimensional chart would collapse into a one-dimensional line, and all countries would naturally be totally ordered. But unless I’m missing something, there’s no objective criterion for combining these two quantities.

What I’m asking, I think, mathematically, is whether there’s any natural total order on ordered pairs. Probably not, right?

P.S.: I wonder whether the ratio of quality to price has any claim to objectivity. One would expect, though, that the marginal gain in quality for every marginal dollar spent would decrease with the quantity of dollars. (Diminishing returns.) So if we’re not careful with this ratio, it will tend to reward those countries that spend hardly any money and have mediocre health outcomes. So I wonder whether the ratio of quality to price, limited to the set of countries with quality above a minimum threshold, would be an interesting metric. This does, however, start to get us into “how much money is an additional year of life worth?” territory, which is ethically contentious.

This particular ratio, too, depends on some possibly special features of the response function (i.e., the response of quality to increased cost). In particular, the response function probably has a positive first derivative (every extra dollar buys you some increase in quality) and a negative second derivative (…but the amount of extra quality attained for every dollar is decreasing). This is somewhat specialized, but decreasing returns of this sort are fairly common.

P.P.S.: Even without this specialization, it seems fair to say that country A’s health index is less than country B’s if they spend the same amount of money but A has lower quality.

A short history of religious wars

slaniel | Miscellaneous | Monday, January 4th, 2010

Coworker Dan (obviously baiting me, a Mac user, from the other side of the room): “At least it’s not a stupid Mac. Those suck.”

Me: “I don’t do religious wars; sorry.”

Dan: “Oh, I do. I love them. And Macs suck.”

Me: “Oh yeah? Vim versus Emacs?”

Dan: “Vim.”

Me: “Open brace on the same line versus open brace on the next line?”

Dan: “Same line.”

Me: “Good. Glad we got that out of the way.”

A quick note on Avatar and Broken Embraces

slaniel | Avatar; Broken Embraces | Sunday, January 3rd, 2010

…They’re more similar than you might think.

First of all, cards on the table: they’re both beautiful films, and I strongly recommend going to both.

What unifies them is that you don’t really go for the plot. You go for the astonishing visuals. In the case of Broken Embraces, you also go because the cinematography has a rhythm that lulls you into a trance-like state.

Years ago, David Thomson — author of the quirky, curmudgeonly, contrarian, authoritative Biographical Dictionary of Film — said on some NPR show (probably Terry Gross) that it doesn’t even make sense to call a film “melodramatic”. Film is the medium that allows you to dissolve from a shot of a tear running down a woman’s face, says Thomson, into a shot of a dagger. The medium that allows this has long since run past the “melodrama” line. Film is melodramatic at its heart.

Pedro Almodóvar has taken this to heart. At one point in Broken Embraces, a single tear runs down the side of a tomato; the tomato and the tear fill up the entire screen. Like all Almodóvar films, the colors are all intensely saturated, and every object in every frame stands starkly out from everything behind it. Perhaps 90% of the shots in Broken Embraces deserve to be framed and hung on the wall. (This, by the way, is something I’ve wanted to do for a long time, with a lot of films. Rear Window would get first dibs on my wall.)

And then there’s Penélope Cruz. Broken Embraces is Pedro Almodóvar’s love song sung directly to Cruz. She fills nearly every frame of the movie. She is luxurious. If you’re not into Penélope Cruz … well, first of all, what’s wrong with you? But secondly, you’ll probably find Broken Embraces a bit much. In many ways it reminds me of portraits I saw in the National Gallery: beautiful women looking coquettishly at the painter, who either had already slept with his subject or dreamt of doing so and who splashed his desire on the canvas.

You don’t watch Broken Embraces for the story. You watch it because its director exploits the medium for all it’s worth.

You also don’t see Avatar for the story, though actually there’s more there than I would have guessed. In fact it’s a rather moving, heartbreaking story; I was shocked. It’s also a thinly disguised attack on U.S. military policy in Vietnam (heavily armored military centered around helicopters, destroying the indigenous people within their dense jungle home), or on the U.S.’s massacre of American Indians in the 19th century.

In fact, there are two parts to Avatar: a live-action part in the human world, and an animated one in the alien civilization’s world. I hope I speak for most of the movie’s viewers when I say that the animated world is much the more compelling. I think James Cameron realizes this, because most of our time is spent in the alien world. It is beautiful, lush, and absorbing: it is its own world, with its own language. Avatar is the reason you go see movies on the big screen, with surround sound. Broken Embraces could be viewed with the sound off, but you still need the big screen; you need to get lost in the world of the film, which is something only the theatre can buy you.

The trailer for Broken Embraces suggested to me that its score would be another haunting Alberto Iglesias construction, like that for Talk To Her (which is one of my few favorite films). The trailer turned out to be deceptive; I can’t actually recall any part of the soundtrack from the film itself, whereas Talk To Her featured the immortal “Raquel” and “Cucurrucucu Paloma”, performed by Caetano Veloso.

These are two entirely different films, but I strongly encourage you to see both. They are examples of filmmakers at the top of their games.

Mathematical-logic/complexity-theory books for autodidacts?

slaniel | Mathematics | Saturday, January 2nd, 2010

I seem to be running into topics of conversation that return to mathematical logic in some form or another a lot lately. E.g., Adam Rosi-Kessel and I got to talking about Gödel, Escher, Bach-type topics recently, namely the connection — if there is one — between consciousness (whatever that is) and self-reference in formal systems. Then there was this blog post today about programs that can print themselves and other topics.

I need to learn me some mathematical logic already, extending (let’s say) all the way from propositional logic through predicate calculus, up to Gödel’s theorem. Anyone have any recommended readings here?

The bogus-business-”philosophy” reading project

slaniel | Business-fetish porn | Saturday, January 2nd, 2010

Those of us who have been reading or watching the various purported “revolutions” in business for a while should have noticed a few patterns:

  • Whatever decade we’re in, it’s purported to be entirely different from all decades that preceded it.
  • The companies purported to be the revolutionaries all ostensibly treat their employees in novel ways.
  • The employees themselves are purported to want more time with their families, want freedom to set their own schedules, etc.
  • All companies eventually become authoritarian.

Does everyone remember when Microsoft was the new hotness? That was back in the 80s and 90s, when they were the anti-IBM. Microsoft eventually became — at least in the public eye — everything against which it had previously revolted. I have precisely zero doubt that Google will go the same way. Eventually the exponential-growth phase will end and Google will have to start looking like a traditional company.

I’ve been convinced for a long while that there is nothing new under the sun in how corporate “revolutions” are purported to happen. I am convinced that none of the descriptions of corporations from the start of the computer revolution through the dot-com era to now would have been out of place in a business book from the 1950s. Back then the dichotomy they presented was between “20th-century companies” and “19th-century companies”. Apparently we’re far enough into the 21st century that we can now talk about “21st-century businesses” and how they differ “fundamentally” from “20th-century businesses.” Plus ça change…

So I’ve decided to start a reading project that will approach this from a few angles:

Of course, the story wasn’t always that those companies were best which treated their employees like individuals. That may partly be a conceit arising from the notion of the “knowledge worker,” a term coined by Peter Drucker. Knowledge workers are supposed to confront vague, ill-specified problems and translate them into concrete products — unlike the mythical industrial worker, lashed to his machine and stamping out identical product after identical product until the day he dies. I strongly suspect that this is a mischaracterization in two directions. First, I doubt that industrial workers were as close to automata as the story makes them out to be; the Taylorist time-and-motion ideal exists alongside the work-to-rule strike, in which workers demonstrate how poorly a company would actually function if they followed processes to the letter. So I suspect the stereotype understates the role of creativity in “19th-century” industrial companies. At the same time, I suspect that it overstates the role of creativity in “21st-century” companies. Yes, projects often start with vague specifications from the customer, but there’s an awful lot of mechanical work to be done between there and the end product. We’re not all knowledge workers, and we’ve not always been automata. In part, I think this story reflects the soi-disant masters of the universe to whom these books are directed: “Maybe all those people are automata, but not I; I’m creative.

Even if we were all knowledge workers, and had previously all been automata, my strong suspicion is that we’ve been telling this same story over and over again for at least a century. At time T, goes the story, we were automata; but now, at time T+k, for some k, we are all creative, working in “flat hierarchies” (ahh, remember that other fantastic buzzword?). If this story has always been told, then it’s reasonable to suspect that it has never been true.

Finally, there’s another part of the story, which is actually the opposite of the above. People like John Kenneth Galbraith and Alfred Chandler believed that “the market” would eventually give way to a GM- and IBM-shaped economy driven by bureaucracies indistinguishable from a government. I will need to address this strand as well; reality has not been kind to it.

My frustration with unending business sloganeering has finally boiled over. It’s time to read and eviscerate.

P.S.: This Bruce Sterling piece (via Cosma Shalizi) seems oddly appropriate — at least for the 21st-century globo-info-twittersphere-mega-virtual economy that all us knowledge workers are now part of.

P.P.S.: By the way, everyone in the ’90s was a “web designer.” Now everyone is a “social-media marketing” expert. I think 3/4 of my followers on Twitter are marketing drones whom I’ve never met and will never meet. They’re hoping that I’ll follow them back, I guess. And when everyone has tens of thousands of followers … well, something awesome will surely happen.

Does Java really lack a sum() function?

slaniel | Java | Wednesday, December 30th, 2009

I’m writing a lot of code that needs to sum over reasonably long collections. Somewhere on the things-that-you-just-shouldn’t-have-to-write checklist, right next to “a date-parsing library”, is “a function to sum over collections.” The naïve way to do it is simply

public double sum(List<Number> numbers) {
    double retSum = 0;
    for(Number i : numbers) {
        retSum += i.doubleValue();
    }
    return retSum;
}

At one level, this code is annoying because it’s not generic enough. You’d like to be able to add complex numbers, for instance. Or matrices. Anywhere that ‘+’ is sufficiently “number-like,” you want this function to work. You wouldn’t really want it to work with, say, strings, even though Java overloads ‘+’ for them. Or maybe you would? Essentially, maybe you want to duck-type: if ‘+’ makes any kind of sense for the objects, allow them to be summed. In any case, I want sum() to be a function that takes a Collection of objects of some type T and returns another T.

What’s ickier about this code is that there are many more elegant ways to write it, at least in other languages. A language which supports first-class functions (see Joel Spolsky’s excellent Can Your Programming Language Do This?, whence the remarkable Java-as-kingdom-of-nouns parable) would allow you to define the wonderful map() and reduce() abstractions, whence (to use Python as an example) addition becomes just one use for reduce():

def sum(inList):
    """
    Return the sum of the items in inList.
    """
    return reduce( lambda x,y: x+y, inList )

One great virtue of map() and reduce() is that they’re highly parallelizable: the sauce that makes Google tick involves breaking many common tasks into a map() step and a reduce() step, then farming those separate steps out across thousands of machines.

My friend Ken Shan, by the way, pointed me to an absolutely wonderful talk by Guy Steele on the need for more parallel style in modern programming, now that we’ve entered the age of multicore machines. Whenever I see any sequential programming, like our sum() function above, I look for some way to turn it into a balanced tree: divide the list up into two sublists, for instance, and then sum the sublists; repeat this recursively until you’re down to the sum of zero- or one-item sublists, which is trivial to compute. Yes, I could write this now in Java, but I’d like a more general construct that would allow a great many functions — apart from sum() — to be likewise parallelized.

First-class functions make those sorts of abstractions easy, but I wonder whether they could be accomplished in Java with a bit more work. Perhaps it can be done with a functor? I know not about functors. This is perhaps something to research.

The broader point is just that it’s very silly not to already have a sum() function written for me — thoroughly generalized, well-tested, and highly optimized.

Performance debugging OS X?

slaniel | OS X | Monday, December 28th, 2009

I only recently started using OS X (starting to write iPhone apps once I get my feet fully under me at work), so I’ve not yet touched on higher-level tasks like performance debugging. It seems as though I need to start on this, because the performance of this laptop — MacBook Pro, 2.66-GHz dual core, 4 gigs of RAM — is becoming unacceptable. Most of the time it’s fine, but very often it hangs for a couple seconds in the middle of whatever I’m doing. At that point I get the spinning OS X beach umbrella of death. Eventually it comes back. But those delays are really annoying when you’re in the middle of, say, watching a YouTube video.

I have a small array of standard techniques at my disposal to debug this sort of problem. The main one would be “Start with no applications open and keep opening apps until the problem appears.” Does anyone know of a faster way to zoom in on whatever is causing my system to hang at those moments? Profiling tools, etc.?

Sure, Reid and Obama may be gutless, but have some perspective

A lot of people have been calling Obama and Harry Reid gutless for the compromises they’ve struck on the way to health reform. Yes, those compromises suck, and many of us would prefer single payer. Short of single payer, we’d prefer a robust public option. Short of a robust public option, we’d prefer a weak public option run by the states. We didn’t get any of those. So that’s galling. What we did get is coverage for 30 million people who couldn’t afford it before, and a deficit reduction over the next ten years. That’s nothing to sneeze at.

Blaming Obama and Reid is rather short-sighted. Look back at the last Democratic attempt at health reform under Clinton. It failed utterly. If, as looks likely, the Senate health plan gets signed into law, it will be the first major progressive piece of legislation since Lyndon Johnson. If you were a betting man and had been asked to put money on health reform back in 2008, you should have bet against it or bet only a tiny amount in its favor.

“But what about Obama’s overwhelming electoral victory in 2008?” you might ask. Well, what of it? “The reigning ideology had been roundly discredited, we were in the middle of the worst recession since the Great Depression, and still he couldn’t do what Roosevelt did?” Right. Ronald Reagan couldn’t get all of what he wanted in the 1980s, either, even though the reigning welfare-state ideology had been roundly discredited and we were in the middle of “stagflation”. Reagan tried and failed to dismantle Social Security. He got a huge increase in the military’s budget, certainly. But the actual remnants of the Reagan Revolution, if I’m not mistaken, are just a general distrust of the welfare state. That may well have been with us anyway.

“But what about Bush?” Bush got a lot more than we wanted: he got the PATRIOT Act, he got to torture whomever he pleased, he got a massive tax cut for the wealthy, he got to invent a war, and he pushed our society further along the road to a police state. But he also failed to privatize Social Security, even after being re-elected. And I’m willing to put war into another category: Things Presidents Seem To Be Able To Get Whenever They Want Them.

I take two conclusions from these observations:

  1. It’s hard to get root-and-branch change, and it gets harder as time goes on. The Politics Presidents Make argues this in greater detail.

  2. Progressive legislation is really rare.

If you believe that progressive legislation is rare in no small part because liberals are wimps, it’s worth asking why. Why have we not had a ballbuster since LBJ? And why was even LBJ, the ballbustingest president of them all, only able to secure insurance coverage for the elderly when what he wanted was insurance coverage for all Americans? Why have we been fighting the universal-coverage battle since at least Truman? I submit that there are structural reasons why we shouldn’t expect major progressive legislation in this country.

The trouble is that we’re here on the ground, watching each new detail every day, rejoicing in the gains (the House bill has a public option! Obama delivered a great address to Congress that roused the troops!) and rending our garments with each new loss (it’s a crazy summer filled with “death panels”; Joe Lieberman is holding everyone hostage). It was like this during the presidential campaign, too: Oh no, Reverend Wright is going to kill the Obama campaign! But no, he salvaged it with The Speech On Race! Sarah Palin looks like the death knell for the Obama campaign! But no, she’s a flash in the pan!

The 24-hour news cycle demands that we constantly be fed excitement. Yet much of what I’ve read suggests that the fundamentals are set well in advance. Look at presidential campaigns: any number of books — Unequal Democracy, say — make clear that the unemployment rate and the GDP in the year leading up to an election are the prime drivers of who wins: if we’re in a recession, the reigning party is likely to be kicked out; if the economy is expanding, the incumbent wins.

Likewise with health care. We all should have known from the beginning that the Senate is an intensely conservative body with intensely conservative institutions like the filibuster. It is heavily weighted against change. Part of me wants to say that it’s weighted against progressive change, whereas a PATRIOT Act is easier to pass. But I can’t really argue that to myself convincingly, and besides: a 9/11 doesn’t happen every day; when it does, the president will get whatever he wants.

Once again I find myself ignoring a principle that I should have been following all along: the less we pay attention to the news, the more likely we are to be calm in the face of joys and sorrows. The health debate was mostly decided long ago by the structure of the U.S. government; whether Obama gives a speech, or whether people bark about “death panels,” is unlikely to shake those fundamentals. We get the government we’ve always had.

Health-care reform: it isn’t about you

slaniel | Health care and insurance; Helping the Less Fortunate | Sunday, December 20th, 2009

Paul Krugman’s latest piece about health reform says something that’s been nagging at me for a while in a less-clear form:

But back to Obama: the important thing to bear in mind is that this isn’t about him; and, equally important, it isn’t about you. If you’ve fallen out of love with a politician, well, so what? You should just keep working for the things you believe in.

It isn’t about you. It’s about providing health coverage for the poor. It’s about restoring some of our tattered safety net, because capitalism — for all the innovating it does — can leave people destitute for macroeconomic reasons beyond their control. It’s the job of a civilized society to protect its citizens against forces beyond their control.

Liberals — of whom I am unabashedly one — have made health reform a vanity exercise of late. As long as people have focused on the public option, they have taken their eye off the ball: protecting the poor. Indeed, even if the public option were part of the bill, we’d still need to resolve a lot of questions about, for instance, how much the poor would be expected to pay out of pocket (for a public plan or a private one). These questions don’t just disappear when the government offers a health plan to compete with private insurers.

So really: progressives, it’s not about you. It’s about spreading coverage to America’s neediest, and it’s about controlling the cost of health care. Focus on those two things. Focus on ends rather than means. The public option was always a means, but there are other ways to achieve the same ends. Progressives have far too easily proposed sacrificing the ends in pursuit of the means.

Great health-reform advice from Matt Yglesias

slaniel | Health care and insurance; Helping the Less Fortunate | Wednesday, December 16th, 2009

If you want to know what to do about [health-care reform], read the last paragraph of “Politics as a Vocation”.

(via Yglesias on Twitter)

Well hey, I can use The Google! Heeeere’s the appropriate paragraph from Weber:

Politics is a strong and slow boring of hard boards. It takes both passion and perspective. Certainly all historical experience confirms the truth –that man would not have attained the possible unless time and again he had reached out for the impossible. But to do that a man must be a leader, and not only a leader but a hero as well, in a very sober sense of the word. And even those who are neither leaders nor heroes must arm themselves with that steadfastness of heart which can brave even the crumbling of all hopes. This is necessary right now, or else men will not be able to attain even that which is possible today. Only he has the calling for politics who is sure that he shall not crumble when the world from his point of view is too stupid or too base for what he wants to offer. Only he who in the face of all this can say ‘In spite of all!’ has the calling for politics.

How many syllables can you pack into a beat?

slaniel | Music | Tuesday, December 15th, 2009

I was just thinking about a great line from a Roots song:

Backstage whisperin’ to management, like
“Change the order, it’s no way that we can rock after them.”
My man sport the ‘fro like What's Happenin'?

In that last line, you could rap any number of people in the place of “My man”: 1 syllable

Dre sport the ‘fro like What's Happenin'?

or 2 syllables, like The Roots sing it, or 3 syllables

Steve Laniel sport the ‘fro like What's Happenin'?

or even four

Gary Coleman sport the ‘fro like What's Happenin'?

Presumably there is some limit past which you just can’t pack any more syllables in there. But what’s the limit? And what determines it?

Mourning Paul Samuelson: we shall not look upon his like again

slaniel | Samuelson, Paul | Tuesday, December 15th, 2009

Paul Samuelson’s death has saddened me a lot more than I expected it to, and I had already expected it to. I had been trying to think of some way to meet the great man during his life, knowing that he was an old fellow and that his days weren’t likely to be long. I guess I missed out.

Samuelson essentially defined economics for the last 50 years. His contributions are all over the map, and are deep in every realm that they touched. I couldn’t do a better job than Paul Krugman, or than The New York Times’s obituary, so I won’t try.

The thing I want to point out about Samuelson is what a good mathematician he was. I mean something specific here: Samuelson’s mathematical economics — he was the father of mathematical economics — knew exactly when to stop. His conclusions never went further than his theorems allowed him to go. Indeed, his theorems often define the limitations on the standard economic view — as in his classic public goods paper. As Krugman puts it:

4. Public goods: Why must some goods and services be provided by the government? What makes some, but only some, goods suitable for private markets? It all goes back to Samuelson’s 1954 “Pure theory of public expenditure”.

Too often, economists — particularly anarcho-capitalist libertarians — are failed mathematicians. “If A is true, and B is true, then clearly C is true.” But you’ve not stated the assumptions on A and B clearly enough; if you tease apart exactly what you’re saying, you’ll see that A and B are only true under certain conditions that are never satisfied in practice.

Economics has taken a beating recently, and justifiably so: the assumptions underlying much of modern finance were horribly broken. Whenever I read about finance, I always expect Samuelson to receive a bit of the beating as well; he did, after all, establish one of the fundamental results of modern finance, namely that prices fluctuate randomly under certain conditions. But whenever it looks like Samuelson’s reputation will be tarred by a broad brush coating his fellow economists, he escapes cleanly — precisely because he’s a good mathematician who makes only the assumptions that he’s allowed to make, and therefore only draws the conclusions he’s entitled to draw.

Mathematics isn’t a game that allows you to derive absurd conclusions, the more absurd the more entertaining; it’s a tool for getting at the truth. Samuelson was the pre-eminent mathematical economist. I’m really going to miss him.

Next Page »

Bad Behavior has blocked 409 access attempts in the last 7 days.