Monthly Archives: October 2004

Mind in the Gutter

I once referred to it as the margin. Then for a while I called it the sidebar. Today? I call it the gutter. (reader: “What you talking about Ben?”) That area on the edges of webpages where folks pile up navigation, advertising, and other what nots.

My favorite bit of gutter trash has been my little link blog, based off of one of my categories in delicious.

Notice! New gutter trash.

The coolest new bit of trash is a tiny map of the world with dots all over it showing an estimate of where my readers dropped in from. It’s a way down toward the bottom. Too cool!

I just added some advertising for ApacheCon. ApacheCon is a delightful conference for real engineers who actually build stuff (example). None of that enterprise sales cruft; just real people who like to hack up solutions to problems. Good bunch of people! A great place to learn what new tools people are actually using versus who’s buying a lot of advertising.

The group of folks in Apache who organize this event do a great job. They are careful to keep the costs down. Las Vegas is cheap to fly to. The hotel is nice, affordable, and free of those damn machines that keep demanding that you pay attention to them and feed them money.

Register today, you won’t be sorry.

Internets!

Last time around the right wing treated us all to a concerted campaign to pretend that Al Gore had falsely claimed to have invented the Internet.

I presume it was nostalgia for those good old days that lead President Bush to invent the whole new and improved internets. As usual the Whitehouse made a valiant effort to prove there the existence of many Internet (or is it Interneti); even leaking top secret information to make their case.

But wait! There’s more! INTERNETS VETERANS FOR TRUTH.

Expensive Number Registries

I think I’m currently in the lead; so let the games begin. What numbers are the most expensive? The UCC firm prefix is around $150/year and about $750 get into the game. Martin Geddes takes a stab at the value of a phone number treating it as a license to bill customers he get’s a valuation of around $140 dollar a year.

I’ve become increasingly interested in the number business; i.e. selling minted registered official numbers. The raw material is free and plentiful. It is almost the canonical example of the commons. But as the examples above make clear, registered numbers are can be quite expensive. The act of converting a common number into private property is the business of a registry. The domain over which the numbers are used form a club, the registry plays a role in the regulation or governance of that club. That registry can be a private rent seeking entity, like Verisign, or a nonprofit that seeks less naively quantifiable goals like the UCC or ICANN.

Frame it how ever you like, there is always an owner (or owners) of the registry function. A bit of paranoia about these registries is in order. On the one hand they are well positioned to become abusive monopolies (or oligarchies) , while on the other they can suffer all the classic breakdowns that trouble commons.

The rent seeking registry owner strives to make the numbers scarce. To convince customers that common numbers are worth something are better than common numbers is a bit of a magic trick. The trick is one of illusion, faith, and fact.

Consider the prime numbers needed to implement https connections; i.e. SSL keys. How much of the value of a SSL key from a leading vendor is illusion, faith, or fact?

What concerns me is the lack of awareness among system designers of the choices they are making when they block out the design of these registries. Some design choices favor the emergence of a highly concentrated registrar market while others favor the emergence of a dysfunctional diffuse set of registrars. While either outcome has unfortunate side effects it appears to me that most designers aren’t even aware they are making these choices.

Consider an example – domain name registries. Rent seeking is common. Long tedious efforts by members of the club to reduce the degree of market concentration continue. I have been amused to notice a nice example of how making a market more diffuse creates challenges in market’s social contact. Consider this example: the scarcity of domain names provides the foundation for a lot of spam filtering and as domain names become less scarce those techniques are breaking down. Notice that these registry numbers provide the hook on which reputation hangs. A registrar that retains ownership of the number, and only licenses it’s use, can engage in bait and switch pricing, so I wonder about the recent offer of free domain names from a number of top level registrars. I don’t recall anybody who was aware of that this kind of game was being set up when the original designs for DNS were blocked out. Certainly some people were aware of the risk of having a single point of failure; but that’s just one example of something to be paranoid about.

Actually I don’t think it’s a necessary to have the contest. I think I know what the most expensive registered numbers are: citizen ID numbers. Those in wealthy nations with strong well functioning social contracts and deep pools of public services. A Manhattan phone number is a just proxy for a set of those. Which brings us full circle back to Martian’s posting about phone number values. Should the citizens of Manhattan demand that their phone numbers not be handed out to others; clearly that erodes the value of their numbers?

[[ My current favorite example of a light weight registrar: Linux User Numbers. ]]

BCCI

It is an amazement to me that we can be approaching the election and people can fail to know who John Kerry is. I doubt there is much I can do to compensate for that but I might as well try.

Let’s just take an example that’s very relevant to the mess in the Middle East.

BCCI was a bank run out of one of Arab gulf states. The quotes below are from the Senate investigation’s final report on BCCI.

These oil rich gulf states are an organizational pain the neck. When the wealth of a nation flows thru a few very easily controlled bottlenecks it’s almost impossible to avoid extremely severe distributions of wealth. So you get dictators. A handful of men with nothing that can counter act their power; particularly nothing at home. It breeds the worst kinds of societies. Oppression, slavery, prostitution, terrorism, powerful wealthy bad-actors. The typical mess you get when the distribution of wealth becomes so severe that nothing prevents abuse of the little guys while at the top the competition becomes vicious.

And it’s a mess that tends to spread. Because the money and power buys friends and the vicious local culture when exported can find the liberal democratic culture easy prey. BCCI was a perfect example of this kind of spreading cancer.

BCCI’s criminality included fraud by BCCI and BCCI customers involving billions of dollars; money laundering in Europe, Africa, Asia, and the Americas; BCCI’s bribery of officials in most of those locations; support of terrorism, arms trafficking, and the sale of nuclear technologies; management of prostitution; the commission and facilitation of income tax evasion, smuggling, and illegal immigration; illicit purchases of banks and real estate; and a panoply of financial crimes limited only by the imagination of its officers and customers.

Nice people huh?

While BCCI was an ugly mess. But of course such things aren’t hard to find. Here are a few examples: Enron, WorldCom, the California energy debacle, the 80s Savings and Loan mess, the War in Vietnam, the fouled up process of going into Iraq, the apparent institutional breakdown in the days leading up to 9/11, Love Canal, Abu Ghraib, Somilia, Reconstruction after our Civil War.

These are society’s equivalent of natural disasters. They are like a Hurricane sweeping across the Florida pan handle, or the 6 story waves that recently hit the populated coast line of Japan. But these aren’t, entirely, acts of nature and on our good days we learn from these. We toughen up the building codes, we set the buildings back from the shoreline. We remove for the scene those folks who were failed to do the building inspections. We fine the builders that cut corners. We punish those that bribed or took the bribes.

Societies learn. Sometimes one of these comes along and we discover a failure modality that we haven’t seen before – the Asian currency crisis in the 90s was one of these. With luck we figure it out and then lay in regulatory mechanisms – building codes – to temper the risk it will happen again.

Social disasters like these sometimes have bad actors at their core. These actors who labor to overcome society’s defenses.

In 1977, BCCI developed a plan to infiltrate the U.S. market through secretly purchasing U.S. banks while opening branch offices of BCCI throughout the U.S., and eventually merging the institutions. BCCI had
significant difficulties implementing this strategy due to regulatory barriers in the United States designed to insure accountability. Despite these barriers, which delayed BCCI’s entry, BCCI was ultimately successful in acquiring four banks, operating in seven states and the District of Colombia, with no jurisdiction successfully preventing BCCI from infiltrating it.

When these social disasters happen it is very rare for them to go entirely unnoticed. For example the CIA knew what BCCI was up to.

By early 1985, the CIA knew more about BCCI’s goals and intentions concerning the U.S. banking system than anyone else in government, and provided that information to the U.S. Treasury and the Office of the Comptroller of the Currency, neither of whom had the responsibility for regulating the First American Bank that BCCI had taken over. The CIA failed to provide the critical information it had
gathered to the correct users of the information — the Federal Reserve and the Justice Department.

After the CIA knew that BCCI was as an institution a fundamentally corrupt criminal enterprise, it continued to use both BCCI and First American, BCCI’s secretly held U.S. subsidiary, for CIA operations.

It is also a very common pattern that as these disasters unfold the coordination problems between societies institutions (rivalry for example) frustrate pulling together an appropriate response. For example the various parts of the justice department didn’t seem to be able work together on BCCI.

Justice Department personnel in Washington, Miami and Tampa obstructed and impeded attempts by New York District Attorney Robert Morgenthau to obtain critical information concerning BCCI in 1989, 1990, and 1991, and in one case, a federal prosecutor lied to Morgenthau’s office concerning the existence of such material. Important failures of cooperation continued to take place until William P. Barr became Attorney General in late October, 1991.

Cooperation by the Justice Department with the Federal Reserve was very limited until after BCCI’s global closure on July 5, 1991.

We almost always get to watch the good guys getting confused about what their job is. Acting to assure their local benefit rather than doing their job.

Some public statements by the Justice Department concerning its handling of matters pertaining to BCCI were more cleverly crafted than true.

One way the bad guys manage to pull off something like BCCI is to buy their way into the elite fabric of the societies they are undermining. Much the way the Enron’s Ken Lay was Bush’s largest donor last time around, or the local TV broadcast stations use are so friendly with those who regulate them, or the local savings and loan banks were so friendly with their regulators in the 80s.

BCCI’s systematically relied on relationships with, and as necessary, payments to, prominent political figures in most of the 73 countries in which BCCI operated. BCCI records and testimony from former BCCI officials together document BCCI’s systematic securing of Central Bank deposits of Third World countries; its provision of favors to political figures; and its reliance on those figures to provide BCCI itself with favors in times of need.

The result was that BCCI had relationships that ranged from the
questionable, to the improper, to the fully corrupt with officials
from countries all over the world, including Argentina, Bangladesh,
Botswana, Brazil, Cameroon, China, Colombia, the Congo, Ghana,
Guatemala, the Ivory Coast, India, Jamaica, Kuwait, Lebanon,
Mauritius, Morocco, Nigeria, Pakistan, Panama, Peru, Saudi Arabia,
Senegal, Sri Lanka, Sudan, Suriname, Tunisia, the United Arab
Emirates, the United States, Zambia, and Zimbabwe.

While that kind of relationship building is well worth it as the cancer spreads it has a much more serious consequence.

When the disaster finally becomes obvious every one of those partners in crime becomes an ally for a cover up. These are powerful people.

To stand up to that power takes guts.

Who led the Senate investigation on BCCI? John Kerry.

Could there be any experience that makes a man better suited to understanding what is really unfolding in the Middle East?

Do you want a president with that experience?

Ascription

Thinking about badges and how people reveal their membership in things…


Millitary service ribbons have a rank ordering.

Blog authors announce their affiliation with various vendors, standards, etc.

Boy scouts can wear one of these to reveal their religion, except for Unitarians.

Pins are very popular in the Soviet Union. People collect them.
This power adaptor claims to be very conformant.

Diagnostic Typing

One of the dialectics in computer science is between dynamic and static typing. Dialectics are like professional wrestling. Cheap fun. But, they leads to category blindness. So let me blather a bit about a “third way” that I call diagnostic typing.

At one point in my career I spent a few years deeply committed to the static typing camp. The height of that experience was an amazing day when we successfully linked, for the first time, a huge complex program. It consisted of hundreds of thousands of parts written by numerous authors and code generators. It worked! First time! Getting to that point had required tremendous labor, since the static type checking demanded by the language we were using had forced us to fix lots of stuff that might have been left for latter. At that moment it seemed worth while that we had deferred so much immediate gratification for so long.

Late in the project we had some really amazing bugs. Bugs that took weeks and teams to fix. Fun bugs with long interesting stories to tell about each of them.

During that later period I found my self writing what I came to call diagnostic typing code. This code would work to prove a complex declaration about the nature of a data structure. These declarations were put forward by the team members. For example somebody might say “All the records of type A are in the dictionary D.” and then somebody else would say “Ah, I thought the core set of those aren’t in the dictionary.” At that point I’d go off and write some code to to check if these declarations were true. It was fun because the truth was almost always much more complex than anybody thought. The bugs were all around the edges of these.

So the dialectic between dynamic and static typing is actually a kind of layered thing; with at least with three layers. Static, Dynamic, and Diagnostic. Static type checking is done at compile time. Dynamic type checking and dispatching is done at runtime. Diagnostic type checking is done intermittently; usually in response to a demand or a fear. It was extremely valuable to become explicit about some of the declarations that had been implicit.

Diagnostic type checking can be very very expensive. That makes it a lot of fun! It lets you can write all kinds of assertions about your program that would never be practical to check or enforce at the compile or runtime. You can get out the big guns: graph theory, statistics, coverage, grammars, budgets, spelling correctors. For example: all the window components form a strongly connected component via their child/parent arcs. For example: the elements of this hash table are uniformly distributed. (As an aside I don’t think I have every found a hash table that was well behaved in the wild.)

One of my favorite examples. This isn’t just for data structures you can do this on program traces too. Back in the 1970s somebody at CMU wrote a paper about using the ideas from language grammars to declare the patterns over calls on class instances. Things like: x:foo<-create(x); {open(x); {update(x)}+; close(x)}+; destroy(x)}*. In a later life I would sometimes write code to diagnostically check statements like that by using the tracing facilities in Common Lisp.

I wrote a lot of this diagnostic typing code for the persistent store using prolog. I would dump the entire persistent store into a suite of prolog assertions and then write the diagnostic typing declaration as small prolog programs who’s execution would prove or disprove these declarations. While that found a lot of very very subtle bugs I found it more fascinating how it raised raised the level of discussion about the work.

This kind of approach will, I suspect, become more common real soon now. So much of the data sloshing around on the net is full of surprises that diagnostic typing declarations would reveal. Moving the data across organizational boundaries creates a demand for tools that can frame the discussion between the parties.

One of the reasons I’m suffering a fit of enthusiasm for RDF is how it appears to offer a normal form, much as prolog assertions did for me in my previous experience, for just this kind of problem solving.

This trio: static/dynamic/diagnostic typing are all about shifting around the work, the trust, and the gratification. Don’t overlook the gratification. There is a lot of fun to be had in diagnostic typing approaches. I doubt you can write down all the declarations about the data before it starts flowing. Why defer the fun of flow?

Tree of Life

Evolutionary tree of life
The drawing above shows three thousand species arranged around the perimeter. The arcs in the interior are the result of pattern matching on the rRNA of those species, and show an estimate of what evolved from what. So at about 5Pm on the clock we have the Archaea which were discovered only recently hot springs, and other exceptionally hostile environments. Running counter clockwise from there we have the Bacteria, the Protoists, the Plants. At 12 pm we have an assortment of things between plants and animals. Then the Animals (including a mark reading ‘You are here” for we homo spaiens). Finally the Fungi. You can down load this chart as a PDF off this page. It really makes your PDF viewer work hard!

Comic Genius

Benziono NapaloniI think I’ll try out the Brad DeLong technique and bring your attention to something by quoting the entire article. Let’s see if I get this right.

In the royal court of the shrill the Third Assistant to the Second Vice Jester innovates new modalities of shrill giggling.

It’s debatable

Now, I had never seen George Bush speak for any length of time before watching the three presidential debates.

I had no idea.

The man is a comic genius.

The sheer breadth of his repertoire, the winks, the allusions, the outright mimics of so many comedy greats, it’s astounding, exhilarating, it’s

Oh, where to begin?

It’s the ongoing homage to the old Mack Sennett zanies: Too Many Highballs, The loud mouth, The bluffer, A close shave, Hubby’s latest alibi, Daddy boy, The beloved bozo, Remember when? the list just goes on and on.

He’s nailed, I mean nail-ed, the Emmett Kelly frown, Harry Langdon’s blank stare, Sam Kinison’s delivery, Judy Holliday’s incredulity, Jack Benny’s shrug, Harold Lloyd’s eye shifts, Jack Oakie’s Benzino Napaloni pout, Don Knott’s indignation, Bill and Ted’s memory lapses, Shirley Temple’s lemon-squeezed determination, Lucy’s look when caught by Desi and that thing, that thing he does when he gets all riled up by something Kerry said and, when given the chance to respond, just freezes.

Man, that’s good television.

As a leitmotif, I sensed a grand homage to Gilda Radner’s Miss Emily Litella character in all those instances where he was asked a question, and responded with a fully off-topic descent into nonsense.

Actually, Mitch McConnell had a minimum wage plan that I supported that would have increased the minimum wage. But let me talk about what’s really important for the worker you’re referring to

And, let’s be frank, who but the most avant-garde comedian would maintain a lump of white spittle on the right-hand corner of their mouth for the entire first half of a “serious debate” if they had no ulterior vision in mind?

(A coincidence that Derrida had just died, and a new era of perception had dawned? I think not. The man knows his audience.)

Gosh, there are so many to choose from, but I really think the defining moment came in the second debate, when discussing the issue of Supreme Court appointments:

That’s not what the Constitution says. The Constitution of the United States says we’re all-you know, it doesn’t say that. It doesn’t speak to the equality of America.

That, my friends, is comedy gold.

Is he wired?

Well, let me just ask you this: would you expect Letterman or Leno to perform their monologues without cue cards?

Let’s be honest, now.

Standardizing Social Networks

Standard bar code for a relationshipIf I had a EAN.UCC Company Prefix of my very own (only $750 dollars!) then I could assign all my relationship partners a unique GSRN or Global Service Relationship Number (pdf). This would be very useful when I need to quickly retrieve the details of any given relationship. In some cases I might want to hand out multiple GSRN to the same person, since our relationship is framed in different modalities; friend/coworker, wife/mother/helpmate. I could then mark up all my correspondence so it might be quickly associated with other aspects of the relationship. Membership cards! Better yet jewelry with RFID chips embedded. Then when they drop by the house I could dynamically customize their visit to my home.

Bar codes? Not just for tangible items anymore! Label the intangible. This is going to be big!

Collaboration is better even than nice!

These results are just delightful! Twenty years ago people started running a tournaments to find the best algorithm for playing a repeated prisoner dilemma game of random length. Pretty quickly the winning strategy (nice is better than mean) emerged and nothing much has changed since them.

This year one of the entrants found a new approach!

Instead of entering one algorithm they entered 60. In the metaphor of they game they didn’t send one criminal to be repeatedly arrested; they sent a gang. Members of this mafia were very loyal to each other and they methodically ganged up on the other players and the police. When matched with an opponent in the game these gang members would try to puzzle out if they were playing against one of their own or not. In the real world you identify others of your kind with various signalling devices: secret handshakes, gang tags, etc.

In this game they can only signal to each other via the game. Using patterns in their game play mafia members recognize each other. At that point they can game the police in ways that to raises the gang’s overall score.

It’s just wonderful. This is the classic model of all game theory! And even in this tiny little dishpan model collaborative groups form and once they form they out compete the players that fail to collaborate. As Dave Weinberger once pointed out, we are a species that will form communities even if it means tapping out the alphabet on the wall of our cell.