Thursday, September 25, 2008

One More Question

Mr. President, there's one more question that's been bothering me. In a free market, I would expect assets to move to the entity best equipped to extract the most value from them. For instance, I would expect banks to hang onto their mortgages, because banks are in the best position to make sure that the mortgage holder makes payments on time. If the bank sells the right to receive mortgage payments to someone else, and the mortgage holder defaults, won't that someone else have to go back to the bank to harass the mortgage holder into paying up, or to seize and sell the house? It seems to me that having to go back to the bank would increase transaction costs, making the right to payment worth less to that someone else than it is to the bank. So the bank shouldn't normally be willing to sell that right in the first place.

Yet, according to your speech, mortgage securitization, selling that right to get payments, is a big part of the mess we're in. A really big, $700 billion size, part. That means a lot of banks have been selling mortgages that basic economic theory says they shouldn't be able to sell. And it wasn't a fire sale, because they were doing it in a period of rapid economic growth. What's going on?

The only thing I can think of is that someone was either fibbing or asleep at the switch. Maybe the people buying the securitized mortgage debt didn't know how to value it properly, either because they had bad information from the sellers or because they simply weren't financially sophisticated enough to value it, despite the accredited investor safeguards we have in place. Or maybe that debt was being repackaged into securities designed to skirt around laws and regulations that would normally prevent purchasers from buying that kind of debt.

In any case, I'd really like to know. Preferably before we commit to giving these people $700 billion of our tax money. After all, if they're not savvy enough to value the mortgage debt properly, are we confident they'll use the money wisely? And if they were fibbing, then we'll want to keep an extra close eye on them, maybe closer than what a few members of a bipartisan panel can keep.

Follow-up: if you're not sure what I'm talking about, you can find a readable summary of mortgage securitization, complete with "chicken parts" analogy, here.

Wednesday, September 24, 2008

The Bush Economy Speech

Dear Mr. Bush,

Thank you for taking time out of your busy day to explain to us why your administration is proposing this $700 billion Troubled Asset Repurchase Plan. I feel it is the least I can do to respond to some of the points you have raised.

First, you mentioned a number of questions that you knew many Americans have tonight: "How did we reach this point in our economy? How will the solution I've proposed work? And what does this mean for your financial future?" I would like to add two more: How will we prevent this situation in the future? And why is the solution you have proposed the appropriate one?

I couldn't help but notice that your discussion of how we reached this point in our economy did not touch on some factors that are probably significant. You mention large amounts of foreign investment, easy credit, a faulty assumption that house prices would continue to increase, and a large number of mortgage defaults triggered by an oversupply of housing. But you did not discuss the role of deregulation in creating a complex, intertwined financial system, in which no one knows the size of the Credit Default Swap market, an issue that led to the government's $85 billion line of credit to American International Group.

You also did not address the role of the credit ratings agencies and their failure to properly rate this mortgage debt. Nor did you touch upon the role moral hazard plays, in which a free market, hands-off philosophy only during good times allows financial companies to keep their profits but encourages them to take on too much risk, on the belief that the government will bail them out. Finally, you did not provide your thoughts on whether compensation packages that reward chief executive officers for short term gain, coupled with severance packages that do not take into account the long term financial position of the company, create an incentive for too much risk.

In fact, Mr. President, your discussion of how to avoid this situation in the future was limited to Mr. Paulson's suggestion that the Federal Reserve (not the SEC?) "take a closer look at the operations of companies across the financial spectrum and ensure that their practices do not threaten overall financial stability" and that Congress consider "other good ideas," but with the stern caution that they must "ensure that efforts to regulate Wall Street do not end up hampering our economy's ability to grow."

That last caution was enough out of step with the rest of our address that it seems necessary to address some of its implications. In justifying this deviation from your normal inclination against intervening in the markets, you said that "these are not normal circumstances" and that "the market is not functioning properly." Mr. President, I put it to you that, by the time a company has grown "too large to fail," it is already operating outside the free market system--by definition. Once it has reached that size, the market forces that apply to that company are already not functioning properly.

You also did not address why the solution you propose is the correct one. You made a case for quick action, painting a gloomy picture of the consequences of inaction and noting that the government's top economic experts are warning there must be immediate action. But from there, the primary justification you offer for this particular economic rescue plan is to say "after much discussion, there is now widespread agreement on the principles such a plan would include." I cannot help but note that the news reaching us taxpayers does not portray anything approaching "widespread agreement" from Congress.

Why are you confident that $700 billion, spent primarily to buy bad debt from financial institutions, is the appropriate fix for this problem? What will be the long term effect on the economy of raising the debt ceiling? Is it appropriate to delay addressing those "good ideas" to prevent this problem in the future until after spending the money, rather than building provisions into the contracts with the firms that will receive the money, or at least building in additional latitude such as the ability to obtain a significant voting block of stock?

Finally, I understand there is only so much you can fit into a fifteen minute appearance, and you no doubt had good reasons to limit your talk to fifteen minutes. In the future, however, may I suggest asking your speech writers to include a good sound bite. Here's a good starting point: "we have nothing to fear but fear itself."

Wednesday, September 10, 2008

Conjugal

Cory Doctorow has a wedding ring designed by Bruce Schneier. It's a secret encoder ring, naturally. Now they're looking for an encryption algorithm that can use the ring. I hit a slow patch at work, waiting for some documents to arrive (which means it's going to be all the worse when they actually do arrive), so I spent a few minutes on one. I'm going to post the short version of the algorithm at boingboing, but here's the long version, implemented in Perl. (I deliberately avoided using Perl tricks to keep it clear.)

Update 9/10/08: you get better results if you calculate the advance a bit differently. Start with 1. If ring 2 has a dot above, add 2; if it has a dot below, add 1. If ring 3 has a dot above, add 6; if it has a dot below, add 3. I'm still experimenting with the advance, though.


#!/usr/bin/perl -w

# Calculates how many positions to advance a ring to get to the desired letter
sub calcAdvance {
my ($pos, $newPos) = @_;
my $advance = $newPos - $pos;
if ($advance < 0) {
$advance = $advance + 26;
}
return $advance;
}

# Ring1 is inner-most, Ring3 is outer-most.
#
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
my @ring2Dots = (9,9,0,0,3,3,9,9,0,0,3,3,9,9,0,0,3,3,9,9,0,0,3,3,9,9);
my @ring3Dots = (2,2,2,0,0,0,1,1,1,2,2,2,0,0,0,1,1,1,2,2,2,0,0,0,1,1);

#
# The Conjugal Encryption Algorithm.
#
# Initialization using the crypto key.
#
# Start by aligning all the "A"'s.
my $ring2Pos = 0;
my $ring3Pos = 0;

# Then initialize the ring.
my $key = "congratulations";
while ($key ne "") {

# 1. Get the next character of the key
my $keyChar = substr ($key, 0, 1);
$key = substr ($key, 1);

# 2. Rotate rings 2 and 3 together so the A on
# Ring 1 aligns with the key character on
# Ring 3.
my $advance = calcAdvance ($ring3Pos,
ord (lc ($keyChar)) - ord ("a"));
$ring2Pos = ($ring2Pos + $advance) % 26;
$ring3Pos = ($ring3Pos + $advance) % 26;

# 3. Calculate an advancement amount.
# a. Start with 1.
# b. Look at the Ring 2 letter next to the A of Ring 1.
# If there's a dot above, add 9. If there's a dot
# below, add 3.
# c. Look at the Ring 3 letter next to the A of Ring 1.
# If there's a dot above, add 2. If there's a dot
# below, add 1.
$advance = 1 + $ring2Dots[$ring2Pos] + $ring3Dots[$ring3Pos];

# 4. Advance Ring 3 that many letters.
$ring3Pos = ($ring3Pos + $advance) % 26;
}


# Generate some useful output
my $plaintext = "Wishing you a happy life together!";
print $plaintext, "\n";

# Skip whitespace and punctuation when encrypting.
$plaintext = lc($plaintext);
$plaintext =~ tr/a-z//cd;
print uc($plaintext), "\n";

#
# Encrypt text. Initialization vector omitted for clarity.
#
my $cyphertext = "";
while ($plaintext ne "") {

# 1. Look at the letter on Ring 3 adjacent to the A on Ring 1.
# Rotate Rings 2 and 3 together so that same letter on
# Ring 2 is adjacent to the A on Ring 1 (and some different
# letter on Ring 3 will now be adjacent.)
my $advance = calcAdvance ($ring2Pos, $ring3Pos);
$ring2Pos = ($ring2Pos + $advance) % 26;
$ring3Pos = ($ring3Pos + $advance) % 26;

# 2. Calculate an advancement amount.
# a. Start with 1.
# b. Look at the Ring 2 letter next to the A of Ring 1.
# If there's a dot above, add 9. If there's a dot
# below, add 3.
# c. Look at the Ring 3 letter next to the A of Ring 1.
# If there's a dot above, add 2. If there's a dot
# below, add 1.
$advance = 1 + $ring2Dots[$ring2Pos] + $ring3Dots[$ring3Pos];

# 3. Advance Ring 3 that many letters.
$ring3Pos = ($ring3Pos + $advance) % 26;

# 4. Get the next character of the plaintext.
my $plainChar = substr ($plaintext, 0, 1);
$plaintext = substr ($plaintext, 1);

# 5. To encrypt this letter of plaintext, find the
# plaintext on Ring 1 and write down the matching
# cyphertext on Ring 3. (To decrypt, look at
# the cyphertext on Ring 3 and write down the matching
# plaintext on Ring 1.)
my $ring3CryptoPos
= (ord ($plainChar) - ord ("a") + $ring3Pos) % 26;
$cyphertext = $cyphertext . chr ($ring3CryptoPos + ord ("A"));
}

# Print the cyphertext.
print $cyphertext, "\n";

Thursday, August 14, 2008

more on inverting the pattern

I've been thinking a bit more about inverting the pattern, moving from a blog-like pattern of lots of talking and not much listening to something with more listening and less talk, or at least more meaningful listening.

Broadcast media is not the answer. A radio or TV station is basically the same thing as a blog, still a monologue where the speaker is hoping listeners will tune in. There might be more listening, but only because there are fewer speakers.

If you look at the pattern of a typical conversation, it's a group of people with only one person talking at a time. It happens that way because if two people try to talk at once, they interfere with each other. And it's usually considered bad form for one person to monopolize the conversation. With blogs, though, there's really no limit to the number of people who can talk at once, so there's a lot more talking. But with all the talk, who has time to listen and evaluate?

So what would it mean to bring a conversation-like pattern into the Internet? One example might be Internet Relay Chat: when one person types, everyone on the channel sees it. Another example, which I like even better because it moves a little more slowly, allowing the opportunity for greater depth, is a computer bulletin board. The modern version would be a web forum. Unlike blogs, where the blog's author holds most of the conversational power, the participants in bulletin board systems or forums [1] all have roughly equal power, so there's more room for the give-and-take that makes for conversation.

[1] Apologies to the classics purists, but I just can't bring myself to write "fora".

Tuesday, August 12, 2008

inverting the pattern

Blogs are all about talking, but they're rarely about conversing. They're more like monologues within earshot of one-another, and sometimes another person will tune in and change their own monologue in response. Twitter's basically the same thing, which isn't too surprising since it's really a form of blogging.

I wonder, though, if there's a way to invert the pattern. Instead of everyone talking and hoping someone listens, is there a way you could reverse it so there's much more listening going on than talking? What would such a thing look like? And would people use it?

Tuesday, July 22, 2008

Al Gore's speech

This post was originally going to be an analysis of Al Gore's energy challenge speech and some of the criticism of it.

If you view the speech as a logical or rhetorical argument, it has its share of problems. For example, when talking about the falling price of silicon for solar cells, Gore says, "the same thing happened with computer chips--also made out of silicon. The price paid for the same performance came down by 50 percent every 18 months--year after year, and that's what's happened for 40 years in a row." This conclusion doesn't follow: the price per unit of performance for computer chip drops because transistors keep getting smaller, but making the features on a solar cell smaller will quickly run out of steam because you're fundamentally limited by the amount of sunlight per unit area. Even if you increase efficiency by 50% every 18 months, and in a few years you get darn close to 100%, you still hit the limit imposed by the sun. That's not to say that solar cells won't get cheaper, but microchips' cost per unit performance is not the right model. Also, Gore has the annoying habit of not citing his sources, even in the transcript, which makes the speech very hard to fact-check.

The criticism is worse. It opens by saying "Al Gore wants you to do as he says, not as he does" and spends fully a third of its length calling Gore a hypocrite. But that doesn't follow either: the validity of Gore's contention that we need this energy challenge, and the underlying reasoning he presents, have nothing to do with his personal energy consumption habits. It could just as easily come from, for example, T. Boone Pickens. The next third of the criticism is devoted to an argument that says, essentially, it's impossible because we're not doing it now: renewables are a tiny percentage of our current energy production, therefore it is unreasonable to expect that they could reach 100% in ten years. But at its core, this argument is a simple assertion that change is impossible, which we know by experience to be false. Finally, two thirds of the way down, the criticism brings up a scientific paper that denies human impact on global temperature change, which is at least fodder for debate. (More background on that paper here and here.)

But you know, my heart just isn't in the analysis. Deep down, the reason is that I missed the last Apollo project and want one I can be a part of. And this is a cause I can get behind. It's big, it's inspiring, it'll create some fantastic spinoff technologies, and it'll produce great results. Even on the (exceptionally remote) chance that the IPCC is wrong and the paper the criticsm cites is right, that anthropogenic global temperature change is an illusion, it's extremely hard to deny that much of U.S. foreign policy is driven by a dependence on foreign oil, that even if we tap all our domestic sources they won't meet our demand, and that shifting to domestically produced renewables would give us a ton of new flexibility in foreign policy. So, yeah, I hope this thing takes off. And if it does, I want in.

Sunday, July 13, 2008

redundancy and unexpected interdependency

A couple weeks ago, the office network went down. Not surprisingly, we couldn't print or get to any electronically filed documents. Maybe a bit more surprisingly, the phones also went out because we've moved to fancy new Cisco network-based phones, and they took voice mail--which is now e-mail-based--with them. And so did the fax machines, because when faxes come in they get scanned and e-mailed to us. The net result was that we were almost dead in the water. Fortunately, the Blackberries stayed up, so we could use cell phones and could still send e-mail through the Blackberry server.

These sorts of unexpected interdependencies are cropping up more and more often as we begin to link one network to another, and as traditional network technologies shift around. I've already written about how my (now former) cell phone's alarm clock stopped working when the phone couldn't reach the cell network. There was a radio discussion today about an issue with digital TV: many people put battery-powered analog TV sets in survival kits so they can get news if there's a natural disaster, but (1) the set-top converter boxes that we'll need to use once HDTV becomes standard require wall power to run, which would make those analog battery powered TVs useless, and (2) many radio stations no longer have a news department, acting more as satellite feeds for a central office, so your transistor radio may not be able to pull in anything useful, either. Oh yeah, and many folks are moving away from conventional land-lines at home and going to VOIP phones or cell phones exclusively.

The classic way to deal with system failure is through redundancy: if the TV network goes out, you still have radio, which can get you much of what you need, or maybe you still have telephone. And so forth. The problem is that redundancy only works where you can stop a failure in one system from propagating to other systems. That's one reason most software doesn't have a redundant design: it's very hard to predict how far the effects of a failure will propagate through software, so it's generally not cost-effective to make it redundant. As our networking capabilities become more sophisticated, we're getting to the point where it's becoming harder to figure out what effect a failure of one network will have on the other networked systems we use.

The right way to do this, from an engineering perspective, is to take these sorts of problems into account when designing the systems, and then to periodically test them to make sure we got it right. That's not going to happen, at least right now, for social and economic reasons. The second-best approach would be to invest time and money into developing the design and evaluation tools necessary to either constrain the effects of a failure, so they don't propagate to other systems, or to at least be able to predict the likely failure modes and how far they'll propagate. We might eventually do that, but it'll take time. What's most likely to happen is the same thing that happened in structural engineering a hundred years ago: we may well see a series of unexpected, unforecasted failures, and they'll likely continue until we implement one of the first two approaches above.