Monday, January 28, 2008

The State of Our Union

Is it only a year since the last State of the Union address? Here's my play-by-play:
  • It's all motherhood for now. Let's trust each other during this challenging time. Yada yada yada.
  • Letting tax cuts expire is a tax increase. Perhaps the Republicans who passed those cuts a few years ago should have been honest about their intentions and about the long-term cost of the plan in the first place. And shame on Democrats who didn't call them on it.
  • Bush is going to cut $18B from the budget! Wow! Up against the $300B we'll spend on the war this year, we're talking some real money. And while the record-setting earmarks of the Republican-led Congress sailed across the President's desk, now that his party is out, he's going to start sharpening his veto pen when he sees earmarks? Nice gesture; a little late. Congratulations; we're on the road to fiscal responsibility now.
  • Trust doctors and patients to make good decisions about their health care. Except when it comes to abortion. In that case, trust the Congress.
  • Performance in primary education is improving. Time for Congress to renew No Child Left Behind. Give Pell grants to public school kids. To do what? Is this a voucher program? Unclear.
  • Free trade for good manufacturing jobs. It's good for security reasons too. Without free trade, we play into the hands of those selling "false populism." ::cough:: Chavez ::cough::
  • Reduce our dependency on oil. Not even a "foreign" qualifier. That's good news. Wait -- the answer is coal. Shoot. And nuclear. Not sure how I feel about that. We need an international agreement to stop the growth of greenhouse gases. Give no "major economy" a "free ride."
  • Double subsidies for scientific research in the physical sciences. Maybe we can pay for it with those $18B we just saved.
  • Make stem cells out of skin cells; don't kill the embryos whose parents threw them away.
  • Judges should be strict constructionists. Confirm my judges! Wouldn't be the State of the Union, for any president, without this one in there.
  • Congress should permanently extend federal funding for faith-based charities.
  • Social Security privatization is coming. He's going to say it.... He didn't! Just "I've offered proposals; now I want yours." A humble admission of failure?
  • No more catch-and-release at the border. But we will never seal the border if there's no legal outlet. I agree with him here. We need a "sensible and humane way" to deal with people already here.
  • Our foreign policy is based on a hope that people prefer democracy. Now we're onto the defense portion of our program. The Terrorists hate Freedom. More Marines for Afghanistan.
  • The Surge is working in Iraq. The Troops have our gratitude. Everyone stands; Pelosi is a bit perfunctory. The Iraqis love us again, and are driving Al Qaeda out everywhere. We've killed "hundreds" of "key" Al Qaeda operatives. (How big is their leadership structure, anyway?)
  • Now the surge forces are starting to come home. One unit has come home already (that's like, six guys?); eventually, 20,000 will come back. That's similar in size to the original surge, or perhaps slightly smaller. That's not a troop draw-down, it's jst a relaxation of the draw-up. If you need those guys over there, then defend that policy. Don't pretend you're bringing them home.
  • Now we're getting to what the surge was supposed to be for: making space for political reconstruction. The Iraqis are making progress.
  • The Palestinians want peace. So do the Israelis. Unfortunately, leaders on both sides are the weakest they've been since Bush took office. I applaud Bush's recent efforts; I wish he had made them sooner.
  • Iran is doing bad things. We love the people of Iran. All their government has to do is to disclose all of their defense secrets, admit total strategic defeat in the nuclear arena, and reconstruct itself as a liberal western style democracy. I'm not saying those things wouldn't be positive from an American point of view, but isn't it a little bit patronizing to say "we're looking out for you" while implying the humiliation of someone's country? The Iranians don't want America to look out for them. They want us to leave them alone.
  • The government needs to know who people who might be terrorists might be talking to. Any corporation who discloses information to the government as part of a warrantless illegal search should get away with it.
  • We oppose genocide in Sudan. That's got to be good for some applause. Raise your hand if you're against genocide. Me! Pick me! No word on actually doing something about it.
  • Half of the world's food aid comes from the U.S. Buy crops created by local farmers in the Third World. I thought the reason why we couldn't is the dumping of highly subsidized produce our country is doing in their countries.
  • More motherhood about trust and freedom. God Bless America.

Democratic Response by Kathleen Sebelius, governor of Kansas

Nevermind; this is an American response. Sounds like it reflects the platform of the Democratic Party. Funny; I must be mistaken.

Nothing to see here; move along.

The End

I am not a Democratic Party hack. I am a moderate. In the last election in which I voted, I cast votes for candidates of no fewer than four different political parties. I gave The Man some props after last year's State. And so it bothers me that I come across as so snarky in the list above. But I have to say, I found the speech very uninspiring. It comes down to this:

Is the Republican Party so morally and intellectually bankrupt at this point in time that it has nothing to offer us but militarism, tax cuts, and some pat statements about stem cells?

Where's the strategic vision for building our international relationships and our place in the world? I don't hear any Reaganesque "city on a hill"; all I hear is some hard talk about taking the nukes and giving back democracy. Yes, more of that, please; it's worked out so well thus far. In this difficult economic climate, with a possible recession in the short term, and globalization in the long term, making everyone nervous about their economic place in this world, what's the strategy? Free trade with Colombia, and make my tax cuts permanent? Are you kidding me?

Governor Sebelius said one thing of note: "We have no more patience for divisive politics." That at least, I hope, is true.

Thursday, January 24, 2008

On Liberal Fascism

I heard an interview on KPCC the other day with Jonah Goldberg, a "conservative columnist" at the LA Times (why do news outlets hire people to be Rightists and Leftists?) who has written a new book entitled "Liberal Fascism." I expected to hear a Coulteresque diatribe about life-hating, Jesus-denying, America-blaming, surrender-monkey liberals, and the ways in which they excrete everything Bad(TM). The book may indeed contain such -- I have not read it, although I am considering it -- but the interview was actually quite interesting.

The premise seems to be that Liberalism and Fascism, Socialism and Nationalism, share a collectivist bent, leading to similar high levels of state influence in daily life -- such as in health care, education, and employment. ("Fascism" is here reduced to its definition as a theory of government, not the history of its genocidal incarnation in Germany.) The author also pointed out that, in the 1920's and '30's, when Fascist ideas were new to the political scene, many of the system's original backers were in fact Socialists, not free marketeers.
I'm not sure what the goal is behind making these points, because -- as I said -- I have not read the book. To make the author and his fellow partisans feel self-righteous and justified in their views? To make those on the opposite end of the political spectrum defensive? To convince the moderate reader that universal health care is on a slippery slope that leads ever downward to slavery and genocide? Let's put those questions aside for now.
The author's characterizations of "conservatives" and "liberals" lined up with some, but not all, of the people I've known who've proudly worn those labels. I find the gaps and differences more interesting than the similarities. What do we mean by "conservative," "right," and "nationalist"? Are they the same"? What about "liberal," "left," and "progressive"? To what extent do these concepts line up with the major American political parties?

Let's start with the first set of labels:
  • conservative: Cautious; resistant to change. Traditional. Also, tending to conserve one's resources; frugal.
  • nationalist: Favoring the particular interests of one's own nation over interests shared with other nations. Emphasizing independence over dependence or co-dependence with respect to international relationships. Frequently, favoring strong central governance and a strong military.
  • right: Wikipedia alleges that the term originates with the French revolution, during which representatives of the nobility (the so-called First Estate) sat to the right of the president's chair and the representatives of the common people (Third Estate) to the left.
    The clergy comprised the Second Estate; no word on where they sat. Above? Nowhere -- and everywhere?
    These origins bring together elements of both conservatism -- traditional values and social forms -- and nationalism: strong central government.
Conservatism implies a reluctance to accept unproven or ill-defined policies or commitments. Nationalism is therefore, to some degree, a logical extension, in that it emphasizes freedom from foreign entanglements that might oblige a nation to carry out future actions not necessarily in its own best interest. (World War I provides a useful object lesson.)

...And the second:
  • liberal: Tolerant of change. Broad-minded; not emphasizing or placing a high degree of importance on tradition. Permissive.
  • progressive: Embracing the notion that society can be improved, and favoring "reforms" to bring about this change.
  • left: With respect to origins, see "right" above. Emphasizing the interests of the "common people," the lower and middle classes.
In my experience, most people of all political stripes tend to be, when at their best, hopeful and optimistic. It is therefore no surprise that those who embrace change should emphasize a change for the better and seek actively to bring it about. Historically, those most in need of such change have been those with least access to the traditional power structures of state and church. It is therefore also unsurprising that those of the "left" should constitute the most ardent supporters of progressive values.

You will notice that I have avoided the economic connotations of the above definitions and focused instead of the political (if indeed politics and economics can be separated). This is because, in recent times, the situation has become somewhat confused. Economic liberalism -- that is to say, permissive laissez-faire policies -- have ironically become associated with political and social conservatism. (Or perhaps I should say illiberalism to emphasize that this brand of "conservatism" often seems less about each of us attending to our traditional interests and values and more about me forcing you to attend to my priorities, whatever they may be.) Meanwhile, social and political liberals have embraced a brand of economic collectivism characterized by a high degree of state influence.

Pursuing that dichotomy a little further, we observe two empty squares in our matrix:

Socially LiberalSocially Illiberal
Economically Liberal?Republican
Economically IlliberalDemocratic?

The upper-left quadrant, social and economic liberalism, is the realm of Libertarianism. Libertarian thought has a long history in America; sadly, it seems to be in decline in recent years. (Perhaps the candidacy of Ron Paul will do something for public awareness and consideration of Libertarian ideas.)

In the lower-right quadrant, we find strong enforcement of social, cultural, and behavioral norms combined with centralized economic control. This is a version of the Democratic Party in which gay rights have been replaced by the Religious Right. It is the Republican Party with the free marketeers replaced by radical Socialists. It is German-style Fascism. Let's all breathe a sigh of relief that, in this country anyway, there are very few people in this quadrant.

There is something to be said for the idea that Fascism shares a philosophy with the economic collectivists of the modern Left. But to call it a product of liberalism is false. Fascism is precisely and entirely an illiberal philosophy. It is also highly traditional -- dare we say conservative? -- in that it emphasizes cultural uniformity. To tie it more closely to the Democratic Party than to the Republican is to embrace those elements in the Republican coalition that are the most permissive -- the most liberal -- and ignore precisely those socially conformist elements that have been most ascendant in recent years.

One Laptop Per Child

You may have heard of the One Laptop Per Child project, which seeks to provide children in the developing world with access to information technology. The ideals of the project are one thing -- and a good one -- but the laptop itself is another. If you haven't taken a peek, check it out. Pretty innovative. If I were a kid in the developing world, I would totally want one. And if I were an engineer in the United States, I'd want one too.

Saturday, January 19, 2008

I Want to Complain

I learned about a brilliant phenomenon the other day: complaint choirs. A complaint choir is one that only sings songs, the lyrics to which are complaints about various things. One of the best-known is the Complaints Choir of Birmingham.

Tuesday, January 15, 2008

Disclaimer

I had an interesting experience today. Someone contacted my employer with a question about this blog. For the future, let me be clear: this blog represents my personal views, and is written for a private audience, although all visitors are welcome, of course. These views are generally uncensored, although I try my best not to offend people I expect to be in the audience. :-) (Hi Joe. No not you -- the other one.) When I mess up, sorry -- let me know and I'll try to do a better job of explaining myself next time.

Monday, January 14, 2008

Ushahidi: a Witness to Violence

I'm filing this as "Good News," but it's really more like hopeful news. Ushahidi, Swahili for "witness," is a tool to allow Kenyans and others in that country to report acts of post-election violence. The first step in driving violence from a community is to identify it. This site takes that concept national -- and then global.

Hotties for Ron Paul

Why doesn't Hillary do something like this? Oh wait... nevermind.

Death Star Canteen

We had some friends over for dinner yesterday night, and over the grilled ahi and mahi, we came up with a criterion for judging comedy quality that I think history will prove correct: any routine animated with Lego is a sure winner. The rationale? No one would go to all that work if it wasn't for a good cause. Case in point: Eddy Izzard's "Death Star Canteen."

What's with the name of your blog?

The name of this blog, Cathedral of the Bizarre, is a play on the name of a famous paper called "The Cathedral and the Bazaar" about the different ways in which people form communities and take on projects together. The cathedral represents a highly structured project; the bazaar, a highly unstructured one. Method and madness, if you will. Personally, I find the method to the madness, and the opposite, to be more interesting than either individually; hence the title.

Saturday, January 12, 2008

On The Next Industrial Revolution

This is an essay that’s been rolling around in my head for a while now. After six months, I’ve finally gotten it down on “paper.” I expect that some of these ideas will be with me for some years and will no doubt become more refined as time goes by. But for now, here’s something to think about.

Introduction: MILS

While attending my last OMG meeting in Brussels in June, I listened to a talk on a concept called MILS, or Multiple Independent Layers of Security. The concept is simple: government and military types have information with different security classifications (unclassified, secret, top secret, etc.). They want to be able to work with all of them while keeping them separate. (If you’re a nerd, Google MILS -- it’s interesting stuff.)

Now, the number of security patches Microsoft releases every month, and the speed with which PCs without these patches can be exploited, tells you something about the state of software security these days. Therefore, the spooks and their colleagues in other agencies maintain all of this information separately—and not only in separate files, manipulated by separate programs. I mean, 100% physically isolated: on separate computers connected by separate networks. There might be three boxes sitting right next to each other on a rack, identical in every way except for the classification level of the information they work on.

Needless to say, this approach is inefficient. What these folks would like to do is have a single box and a single network and trust their software to keep things from mixing in ways in which they’re not allowed.

Aye, there’s the rub: trust.

Now, my readers will know that one oughtn’t to trust Windows with sensitive information, but that doesn’t get one very far. Trust cannot be based on the reputation of a software vendor.

Some people will argue for or against open source software on the basis of security, depending on how well they understand how open source works and how much faith they have in their fellow human beings. These arguments are beside the point too.

The point is this: You don’t want the firing codes to the nuclear missiles secured by our confidence that we have cleverer software people than the Chinese or the North Koreans. Trust must be verified, by which I really mean proven.
There is an old chestnut in the computer science world about a book by Don Knuth, one of the godfathers of the field. He included some example code with a warning: “Beware of the above code. I have only proven it correct, not tested it.”
...And this is where MILS comes in. The whole idea behind MILS is that you can prove that a system is secure if every piece of it is simple enough to be proven correct, and if the interfaces in and out of each piece are defined rigorously enough. In fact—and this is where the multiple independent part comes in—you don’t even have to make the whole system secure. If you can make the software component that orchestrates the actions of all of the others—the kernel in operating systems-speak, or separation kernel in MILS-speak—secure, and the particular services you need secure as well, nothing else running on the machine matters. One piece of rogue software doesn’t have the ability to affect, infect, or observe anything in the secure area. That’s MILS.

Revolution

The concept behind MILS is incredibly important, and the reason is only superficially about security. It’s about something much more fundamental: software that does what its authors intend it to.

Until all software has this essential characteristic, we software developers are not engineers; we are craftspeople. Good software is good because the people who write it are talented, well-educated, and conscientious people who follow what passes for repeatable processes in this industry. We are, at best, talented pre-industrial artisans.

This is not to say that engineered products cannot or should not exhibit craftsmanship. The Golden Gate Bridge and the iPhone demonstrate that they can and do. But no one commissions a bridge on the basis of the talent and good taste of its architect. They require—by law—a standard of design rigor that is almost unheard of in the software industry. Bridges are composed of standardized, commoditized components and built according to well-defined processes. The performance (though not necessarily the budget or the schedule; that’s another story) of the end product can be predicted with a high degree of certainty before the first beam is laid in place. ...And a good thing, because hundreds of thousands of people will trust their lives to it.

Assembling a product from predefined components brings a host of benefits: it enables division of labor; it speeds innovation while defraying costs by easing reuse. And most importantly from the point of view of this essay: it allows a complex system to be tractably modeled by decomposing it into smaller, more easily understood subsystems. Componentization is what the first industrial revolution was all about, and it will drive the next one as well.

Let’s return to those missile codes again. Consider for a moment the amount of software that goes into maintaining, firing, targeting, and monitoring a missile. I’ll give you a hint: it’s a lot. Much of it is built, not from standardized components with well-known characteristics, but custom, monolithically, from the ground up, for this type of application specifically. Can this software be trusted? For the most part, no; hence those redundant computers.

Very Far From Here, and Very Complicated
When I was younger, my family went to Germany on vacation. We landed in Frankfurt incredibly jet lagged, rented a car, and soon became incredibly lost. We eventually stopped to ask for directions; the title of this section is what we were told upon relating our intended destination.
There are standard methodologies for building software rigorously.
  • One that’s been around for a while is called DO 178-B; it defines five levels of rigor for development processes for software that runs on airplanes. DO 187-B, Level A certification is required for any life-critical airborne software system in the United States. That this certification works is borne out by the number of people who do not die every year because their plane’s navigation software crashed.

  • A newer standard, called Evaluation Assurance Level (EAL), is gaining popularity in the intelligence community. It stresses not only development processes but also mathematical verification. EAL defines seven levels of software assurance, where Level 1 is the lowest (no assurance), Level 4 is the highest level achievable without mathematical models of behavior, and Level 7 can be achieved only with many lines of proof for each line of source code.
Unfortunately, very little software is actually developed according to these methodologies because of the incredible cost of doing so. This cost arises because of the impedance mismatch between the level of abstraction in which requirements and designs are specified and that in which software implementations are written. The former are written using some combination of English (or another natural language) and semi-formal models and diagrams. Many systems requiring high assurance are implemented using low-level programming languages like C because of the high degrees of performance and determinism they also require.

For those readers who have no idea what I’m talking about, this situation is analogous to building an airplane molecule by molecule.

Creating software that verifiably does what it claims—software that is not only highly secure, but highly reliable and predictable as well—in a cost-effective way will require new programming languages suitable for the expression of robust, secure, and verifiable software; new tools for the construction of programs; and updated development processes to leverage these resources in a repeatable way.

Time to get to work.

A Grand Experiment

My .Mac blog continues to have problems, and I'm chafing under my imposed radio silence. Time to explore my options. Time to see what this "Blogger" thing is that the kiddies are talking about. Here we go.