As You Were

Devin Coughlin's blog.
Styles: Serious Spare

February 26, 2005

The Gun Fetish

Given that armed insurrection against a government possessing satellites, fighter planes, tanks, and long-range artillery (not to mention nuclear, chemical, and biological weapons) is likely to fail, I don't really get why the right wing is so hung up on the right to bear arms.

Busty Woman with Gun

After all, in terms of importance, the right to own a gun ranks somewhere between the right to install a fire alarm in your house and the right to own a tennis racket. Maintaining these rights is important of course (could you imagine if the government outlawed tennis rackets?), but it seems to me that there are better ways to spend your time.

Surely it makes more sense to fight for the weapons that have been effective: freedom of speech, a free and functioning press, governmental transparancy, free and fair elections, checks and balances, a well-educated populace, etc.

Really, if you're in a position where you have to fight the U.S. government with guns, you've already lost — the only effective strategy would be to terrorize innocent civilians. Do the gun nuts believe we need a right to terrorism, too?

Posted by coughlin at 12:52 PM | TrackBack (0)

February 16, 2005

Orkneyinga Saga

Ben has posted some amazing pictures of Orkney on wasabi.
Posted by coughlin at 5:25 PM | TrackBack (1)

February 14, 2005

The Best Awful

I started this site one year ago today. Since then I've posted 96 blog entries, most of which are of the "... and then I brushed my teeth" or "here are cute pictures of my cat/dog/nephew" varieties. Nonetheless, there are a handful of posts that I am proud of.

  • Gender, Science, and Math Skills — A magnum opus on the gender divide in math skills — and why it doesn't matter one bit in the natural sciences. Based on my experiences studying chemistry and computer science, I really don't think that fast math-fact retrieval and spatialization are very important in experimental science.
  • 1 Degree — Observations on a cold night at the Trident.
  • The Stupidest Plan Ever — A primer on Social Security and a rant about the sheer ridiculousness of President Bush's plan to partially privatize it. In looking at the Bush Administration's current campaign to convince people to divert Social Security money to private accounts, I am reminded (like so many others) of the scene from Apocalypse Now:

    Willard: "They told me that you had gone totally insane, and that your methods were unsound."
    Kurtz: "Are my methods unsound?"
    Willard: "I don't see any method, at all, sir."
  • My WWDC 2004 Wishlist — None of it came true, but there's always 2005. Here's what really happened.
  • Nader Revisited — A rant on the evils of protectionism and the merits of globalization. I wrote this in 2000, back when I was at Stanford, but posted it on my blog when it became clear that Nader was going to run again.

It hasn't escaped by notice that most of my interesting (to me, at least) posts are driven by my obsession with politics. It's like baseball, only stuff happens.

I'm more than a little bit surprised at the lack of technical posts, given that I spend most of my time either programming or trying to muddle through my math homework. I guess I use blogging as an excuse not to get work done, so maybe this makes sense.

Here's to another year, and beyond.

Posted by coughlin at 8:32 PM | TrackBack (0)

February 13, 2005

Prototyping in PHP

As I mentioned to Scott when we talked the other night, I've been using PHP to prototype some of my non-GUI projects.

I've found that while prototyping does take a lot of extra time, it really helps to crystallize which design elements are necessary and which aren't and provides insight into what tradeoffs to make between simplicity and abstraction. It turns out that PHP is pretty good at this — it makes the tedious things less tedious but still exposes the hard design decisions.

I started using PHP for web work because I thought it was time to learn a new language and was tired of relearning the finer points of Perl every time I started a new project. I was initially drawn to PHP4 for two reasons. First, on the surface it seemed dirt simple. It has objects, arrays, the standard control structures, and that's about it. There is a certain minimalism in PHP that is quite appealing. Unfortunately, as I soon found out, it is still a pretty immature language and has a couple of really annoying gotcha's. Second, I was quite enamored with how PHP turns the usual scripting paradigm on its head. In PHP, the scripting logic is embedded in the text (in my case, HTML, mostly) rather than the other way around. It reminded me of Knuth's Literate Programming. This, too, was something of a disappointment; it turns out that in practice, for any non-trivial web application, at least, you end up wrapping almost all your HTML inside PHP methods, which defeats the point.

Still, I really like PHP, and it has become my language of choice for web work. I am really looking forward to the time when PHP5 is widely deployed — I wish I could say the same for Perl 6.

PHP is full-featured enough that there can be an (almost) 1-1 correspondence between the objects and methods in the prototype and those in the actual implementation but is just crappy enough that you're not tempted to use prototype in production.

Code can be written very quickly in PHP because it is dynamically typed, dynamically bound, and dynamically interpreted. This makes debugging harder, because the compiler can't catch as much, and most bugs don't show up until runtime. In a prototype, though, you're more interested in design bugs. Anyway, I'd like to see a statically-typed language that can catch those. PHP's ease of string, array, and dictionary manipulation is wonderful in this regard, too. You can optimize for performance, algorithmic, or otherwise, when the prototype is done.

PHP is particularly well-suited to prototyping Objective-C data models. Perhaps, when it comes down to it, this is because they are both relatively immature languages. Objective-C was incredibly advanced, for its time, but it doesn't seem to have grown up much since then. The real power in Objective-C comes from the Cocoa libraries and not from the language itself. PHP4 is pretty nifty but is deficient in a bunch of odd and unexpected areas (PHP5 fixes some of these, though). Neither language seems to be quite finished, really. Still, they are both quite useful, especially if you know when to embrace the rough edges and when to run from them.

PHP is introspective enough that you can use it to implement Cocoa's delegation pattern, wherein instead of creating a subclass to add functionality, you provide a separate object, called a delegate, that is is queried and notified whenever the class wants to do something interesting. This isn't all that unusual (Java has a similar listener pattern, for example). What makes Cocoa's approach so rewarding is that there is no typed relationship between the object in question and its delegate. If a delegate is interested in receiving a particular message from the object, it implements a method with the message name. If the delegate doesn't care, it doesn't. Then when an object does something interesting, it uses introspection to see if the delegate implements a method for the message in question and, if so, calls it. An example in PHP, from my own code, is:


function notifyWeDidFindFileInDirectoryWithPath($file_name, $parent_path) {
     if (method_exists($this->delegate, "directoryEnumeratorDidFindFileInDirectory")) {		
          $this->delegate->directoryEnumeratorDidFindFileInDirectory($this, $file_name, $parent_path);
     }
}
So, in this case, if the delegate cares about when the DirectoryEnumerator finds a file, it implements directoryEnumeratorDidFindFileInDirectory(), otherwise, it doesn't. This technique allows you to couple disparate classes very easily and suprisingly naturally. The lack of explicit typing does allow for bugs to creep in, though (what happens, for example, if you mispell "directoryEnumeratorDidFindFileInDirectory" in the delegate?).

The biggest problem with prototyping Objective-C in another language is its out-in-left-field approach to constructors. Objective-C "constructors" are just plain weird.

A constructor is a promise on the part of the programming language that you can allocate memory for an object and initialize that object into a consistent state in a single step. That way the programmer never has access to the uninitialized object. When an object has a superclass, the constructor for the super class is called first and then the object's own constructor is called. The idea is to make sure that the object is a valid instance of the superclass before turning it into an instance of the subclass.

Objective-C doesn't really have constructors, per se. Instead, a class has two methods, one for allocating memory and another for initializing it, that are called in succession. Because the initializer is just any old method, the programmer has to make sure that the superclass' initializer is called before it does any initialization of its own. This opens up a potential problem, though: what if the constructor in the superclass has a method that has been overriden by the subclass? The subclass' version of the method expects that the object has been initialized — but the subclass' initializer hasn't finished yet. This could lead to an error.

Modern programming languages, such as Java, solve this problem by considering any object as an instance of the class whose constructor is currently executing. That is, an object is guaranteed to run its own versions of methods called in its constructor, even if they are overriden in a subclass. Objective-C can't do this, of course, because its initialization occurs in a regular method.

PHP offers constructors but dispatches methods dynamically within them. For example, the following PHP:

<?php
class Foo {
	/* This is Foo's constructor */
	function Foo() {
		$this->boo();
	}
	
	function boo() {
		echo "Foo says boo!\n";
	}
}

class Bar extends Foo {
	/* This is Bar's constructor */
	function Bar() {
		echo "Done initializing Bar\n";
	}

	function boo() {
		echo "Bar says boo!\n";
	}
}

$bar = new Bar();
?>
results in:
Bar says boo!
Done initializing Bar.
You can imagine that if Bar's version of boo() relied on the object being initialized, bad things would happen. In contrast, the equivalent program in Java would output:
Foo says boo!
Done initializing Bar.

It turns out that dynamic dispatch during initialization is quite useful. It allows you, for example, to write a "skeleton" constructor in the super class and have the subclass fill in the details. I rely on this quite a bit in Objective-C, and it is nice to be able to design for it in my PHP prototypes.

Unfortunately, Objective-C "constructors" have other facets that PHP constructors can't emulate — indeed, there are many important aspects of Objective-C that don't really have an analogue in PHP.

Objective-C's syntax for method calls is perhaps its most remarked-upon feature. It is also quite different from any other language I have worked with and takes some getting used to. A method is called as follows:

NSColor *newColor = [color blendedColorWithFraction: 0.5 ofColor: anotherColor];
(For comparison, in Java this might be expressed as color.blend(0.5, anotherColor), whereas in Perl we might have $color->blend(0.5, $anotherColor)).

Here color is the target (or receiver) of the method with name blendedColorWithFraction:ofColor while 0.5 and anotherColor are the parameters for the method.

Notice that the parameters aren't passed by keyword (or key-value) like in Python. Instead, the paramaters are passed inline within the method name. I like to think of this as a "fill-in-the-blank" or Mad-Lib: a method name is a phrase with certain parts missing. In order to invoke the method, you fill in the missing parts.

It is standard practice to indicate something about the meaning of each parameter before its place in the method name. So, in the invocation of the method from the PHP delegation example above, we would have:

[delegate directoryEnumerator: self didFindFile: file_name inDirectory: parent_path];

This is a bit like Hungarian notation but without the Hungarian. Many people find this quite unwieldy, but I think it is quite useful. When you memorize a method, you have to memorize the order and type of the arguments anyway — in this style that information is just encoded in the method name. I find thinking of a method as a phrase rather than as a name makes a lot of sense. It makes unfamiliar code a lot easier to read, too. PHP doesn't have this naming convention, so prototyped method names have to be munged (I simply remove the colons, which is potentially ambiguous, but there are other more reliable techniques).

Another problem with prototyping applications in PHP is that PHP doesn't support threads. Often times, the most difficult part of designing a (non-GUI) application is ensuring consistent state and scalability across concurrent accesses. Without threads, there is no good way to prototype concurrency. On the other hand, for many projects, it may be overkill (and a major distraction) to introduce threading into the prototype.

In any event, PHP has just the right combination of simplicity, power, and crappiness to prototype OO projects.

Posted by coughlin at 11:21 PM | TrackBack (0)

February 12, 2005

Class Action Lawsuits

Driving into town last week, I heard an absolutely awful article on Morning Edition about class action lawsuits.

They had a bit about some guy in San Diego who bought an LCD monitor that was slightly smaller than advertised. "I didn't care one bit," he said, "but then these lawyers contacted me about a lawsuit, and I joined just to see what would happen." The reporter then described how the guy only got a check for $9, while the lawyers made off with $5 million. And that was it. She then went on to describe another, unrelated, lawsuit.

The implication was that the lawsuit was frivolous (the guy didn't care that he was lied to) and that the lawyers took most of the money (they got $5 million, while he only got 9 bucks!).

Of course, this is impossible to know since the reporter didn't tell us how many people were in the affected class, how much they were bilked out of, how many people actually claimed their $9 (or whatever), nor what it cost the law firm to pursue the class action.

Saying only that someone in the class got peanuts while the lawyers made out big is meaningless at best and misleading at worst. Shame on NPR for wasting airtime with it.

A lot of people don't seem to understand why we have class action lawsuits in the first place. It seems like they are unfair to big businesses and are a giveaway to the trial lawyers. We need them, though, because they maintain the balance of power between large corporations and their customers.

If you're running a business, trying to meet payroll, or trying to squeeze out a little bit of extra profit this quarter so the board doesn't fire your ass, are you going to screw over one customer for a boatload of money or screw over a lot of them for just a little bit each? I'm reminded of the Richard Pryor character in Superman III — remember, he steals fractions of a penny from every transaction at a bank. No one notices because there's not a big discrepancy in any account balance, and yet millions of dollars have gone missing.

If you're a customer (or client) of such a business, what can you do? The amount you've lost is a drop in the bucket compared to even an hour with any decent lawyer. You've been defrauded, and there is nothing you can do about it. Sure, you could notify the Better Business Bureau or file a complaint with the Federal Trade Commission, but these won't get you the money back.

Class action lawsuits are meant to be a solution to this problem. The idea is that if enough people have been defrauded in the same way by the same company, your lawyers could request that all of these people be certified as a single class. Then each individual person wouldn't need to hire their own lawyers and file their own lawsuit — this would be a massive waste because the merits of all the separate cases are presumably the same — and the per-plaintiff costs become more manageable. If there is a settlement or judgment against the company, then the lawyers take their (usually not inconsiderable) cut, and the rest is put in a trust. Reasonable attempts are made to contact the members of the class and, after a certain period of time, the unclaimed money is returned to the company.

This kind of action is necessary to counter the fundamental asymmetry between big corporations and their customers. The corporate fascists don't like class action lawsuits because they dilute one of the most powerful advantages of being a big company: the possibility of hiring as many lawyers as needed. Without the class action mechanism, any individual or small business could not afford to fight back. True capitalism needs the threat of class action lawsuits. Otherwise, every transaction between a large corporation and one of its customers would be inefficient because the customer couldn't be sure that they were getting what they thought they bought.

Still, though, there are legitimate concerns about class action lawsuits. Because these lawsuits involve large amounts of money, they attract unscrupulous lawyers. The potential for large settlements and judgments invites frivolous lawsuits and turns a class action into a speculative venture, which encourages law firms to file as many suits as possible in the hopes that one might stick. This problem is inherent to all lawsuits, though, and could be best avoided by making sure that any frivolous lawsuit is rejected as early in the process as possible.

A similar problem is that of so-called "Judicial Hell-holes," like Madison County, Iowa. It turns out that in some jurisdictions, the judiciary in which the lawsuit is filed gets to keep the interest generated from settlement/judgment money while it is held in trust for claimants!. This is insane and encourages judges to be extremely liberal in accepting class action lawsuits. I can't believe this is legal, much less tolerated.

Another problem, caused by our federal system, is that every state has a different commercial code and different rules for civil procedure. This makes organizing a multi-district litigation tricky. Some have proposed requiring that all class-action lawsuits be filed in Federal court. This proposal may or may not make sense — but those supporting it seem to hope that forcing all these lawsuits into the already over-worked and under-funded Federal judiciary would limit the number of possible class action cases.A final argument against class action lawsuits (really, against torts of all kinds) is that the consumer should have known better. He should have known that in the LCD world, 15-inch really means 14.5-inch, that certain cars are prone to exploding, that those baby clothes are made from a fabric known to cause cancer before assuming the risk of buying them. In a true capitalist system, the best way to punish a company would be to not buy their products. Unfortunately, our capitalist system is sufficiently crappy that this just doesn't work. We'd have to know before hand that a product is defective. We'd have to have a way to get out of a long-term contract with a company if it didn't provide the services promised.

Imagine how awful our lives would be without class action lawsuits. A cell-phone service provider could raise your rates by $5 a month, and there'd be nothing you could do about. Suing the company would cost tens of thousands of dollars, which is not an option for most people. You could switch to another of the three providers in your area, but you've still got 16 months on your current contract. You could just not pay, but then the company would send your name to a credit reporter and a collection agency, and then you'd have to sue them.

In a capitalist society, corporations will do as much as they possibly can to wrest your money from you (as they should — that is, after all, why we invest in them), but we need a sufficiently strong countervailing force to make sure that they don't get away with breaking the law. Class action lawsuits, for all their problems, seem to me to be the best way to do this.

Posted by coughlin at 10:24 PM | TrackBack (0)

Emmett Pictures

Here are some recent pictures of my nephew, Emmett. Not shown: the one where he is wearing nothing but his motorcycle helmet. His third birthday is coming up; he says he wants a sword.

Emmett and Katie

Emmett in a knit hat

Emmett with tousled hair

Posted by coughlin at 6:27 PM | TrackBack (0)

February 6, 2005

What If Tomorrow Never Came?

My mom just sent me a rant by Bill Moyers about the dangers of dispensational premillennialism. Pretty amazing to see him get so worked up. I can't imagine believing rapture is right around the corner. It makes me wonder why President Bush is bothering to even think about fixing Social security.

Update:
My uncle, who works in the Office of Pesticide Programs at EPA, has this response:

I don't know much about the other allegations that Mr. Moyers makes about environmental issues, but I find his "reporting" on pesticides to be so slanted as to approach untruth. It is frustrating.

The portion of the article by Mr. Moyers referring to research on children's exposure pesticides is technically correct. He likely did read an article in the news that said what he reports, but such article seriously misrepresented a study proposed by EPA. The research, the Children's Environmental Exposure Research Study (CHEERS), is an observational study designed to measure the amount of exposure familly members get from the normal use of pesticides around their homes. You can find out more information about CHEERS at www.epa.gov/cheers

The Moyers article ignores the fact that the families who volunteer and are accepted as participants in the study will make all of the decisions about which pesticides to use and even whether to use pesticides. EPA does not require anyone in the study to use any pesticides, either as a criterion for acceptance into the study or as a condition to remain in the study. To protect the participants, EPA will advise all participants before and during the study about the need to follow product directions and about non-pesticidal methods of controlling pests. EPA will also monitor all participants and if it appears that anyone is misusing the product, we will inform them and encourage them to change their behavior. If we see anyone experiencing unsafe levels of exposure, we will inform them and advise them on how to lower their exposure. Any person may quit the study at any time.

Mr. Moyers is correct in noting that the research is partially funded by the American Chemistry Council. EPA and ACC entered into a Cooperative Reseach and Development Agreement (CRADA). CRADAs are authorized and encouraged by Congress as a way to leverage the taxpayers' dollars in the research arena. CRADAs contain numerous provisions to ensure that the private sector partner does not influence the research in a way that would bias the results.

Here, ACC's financial support had nothing to do with the design of the pesticide portion of the study. Rather it allowed EPA to expand the number of chemicals to include non-pesticidal materials that can be found in homes and about which we would like to get a better understanding, e.g., flame retardents.

Finally, Mr. Moyers is also correct that Congressional staff proposed to add a rider to the FY 2005 Omnibus Appropriations Act that would have had the consequence of exempting the use of pesticides from the Endangered Species Act. I understand that the rider was proposed by the pesticide industry's trade association, Crop Life America. I am pleased to say that the Administration did not support the rider, although I am unaware that the Administration actively opposed it. I think that shortly after the proposal became widely known, public opinion forced the staff to withdraw it. As the saying goes, sunlight is an excellent disinfectant.

Posted by coughlin at 1:31 AM | TrackBack (0)

February 5, 2005

The Stupidest Plan Ever

We've been promised an Iraq War-style blitz from the Bush Administration regarding their plan for Social Security. I guess that means we can expect a bunch of bad data and shifting rationales. They haven't really told us what President Bush's plan to remake Social Security is, but at least they've finally released some details.

This has to be the supidest plan ever.

But first some facts about Social Security:

  • Social Security payouts to current retirees are paid for by current workers — This is, in effect, a Ponzi scheme. But not too much of one, however, because of population growth and increased productivity. The bulge in the population pyramid caused by the Baby Boom was a real problem for social security but was solved in 1983 by the creation of the Social Security Trust fund.
  • Payroll taxes are currently too high. — We pay more in payroll taxes, currently, than is needed to pay out current benefits. In the 1980s, facing the the impending doom of Social Security, Congress raised payroll taxes. The surplus is "deposited" in the so-called Social Security Trust Fund. Really what happens is that the money goes in the general fund and the government promises to pay it back later in the form of special Treasury bonds. We've paid higher payroll taxes for twenty years, which has subsidized cuts in income taxes and capital gains taxes for the rich, with the promise that in the future, when Social Security calls in its IOUs, we raise income taxes and captial gains in order to cough up the cash.
  • Social Security is not an entitlement program — Even though Social Security benefits aren't paid for by the people who get them, Social Security isn't welfare. The amount of money you get out, in your first retirement year, is based on the amount of money you put in over the 35 years you put in the most. An average person would start with benefits equivalent to about 40% of their income. After the first year, benefits increase with the Consumer Price Index (CPI), which is one measure of how much it costs to buy things.
  • The rich don't pay their share of payroll taxes — What makes the surplus in payroll taxes more than a little bit disgusting is that they transfer the tax burden from the rich to the poor. The income subject to payroll taxes is currently capped at about $90,000. So you only pay payroll taxes on the first 90 grand you make a year. The rich also make a lot more of their income from non-payroll sources like capital gains.
  • Some numbers and dates — we currently have a surplus in payroll taxes and will have one until about 2018, when we will have to start drawing out from the trust fund to supplement payroll taxes. The trust fund will run out of money in either 2042 or 2052, depending on whether you believe the Administration or the non-partisan Congressional Budget office. At this point, we will only be able to pay out about 75% of promised benefits but will continue be able to do so for the foreseeable future. President Bush skillfully calls this "bankrupt," which implies Social Security will be completely gone. It will not. It is also worth noting that since benefits are currently tied to wages, and wages increase faster than prices, that the purchasing power of 75% of benefits in 2042 will be greater than than the purchasing power of 100% today. Thus if we did absolutely nothing we would, in some sense, still be better off than we are today.

These are the current realities. There really is no crisis, and anyone who says there is is either lying or doesn't know what they're talking about. Still, though, there are things that could be done to shore up Social Security. Some of these make more sense than others.

  1. Raising the FICA cap — Social Security payroll taxes apply to only the first $90,000 you make. This means the poor pay proportionally more and that only 84% of total wages are taxed. If we raised the cap but left benefits alone this would erase 88% of the social security deficit. This means rich people would pay more than their fair share of payroll taxes, which is ideologically unappealing to some people, but the poor have been paying more than their share for twenty years now. This would, in essence, convert some of Social Security to an entitlement program. But unless you make more than $90,000 your benefits would still be proportional to your contributions. In 1993, Congress did this for Medicare. It would not be unreasonable to extend it to Social Security.

    One problem with this scheme is that the richer you are the more likely you are to get income in non-payroll— forms (stock options, low-interest loans, lear jets, etc.). As more of wages are taxed, it is likely that companies will elect to pay their employees in alternative forms. Nonetheless, this reform alone would almost solve the Social Security problem. Anyone who is not seriously thinking about this isn't serious about fixing Social Security.
  2. Raising payroll taxes — Raising payroll taxes by 2% (1% employee contribution, 1% employer contribution) right now would eliminate all of the deficit. This would continue the practice of screwing the poor to support lowering income and capital gains taxes on the rich, but would at least guarantee a safety net.
  3. Raising the retirement age — starting in 2027 the retirement age will rise from 65 to 67. Raising it further would help reduce the social security deficit, but not all that much. As people live longer, it is reasonable to expect them to work longer, but they will also spend more time retired, drawing benefits.
  4. Private Accounts — Subsidizing personal savings in the form of private accounts in addition to Social Security make a lot of sense. Most economists say that Americans don't, in general, save enough. The government could either force people to save some part of their income in a personal savings account or provide incentives to do so. One idea would be to use the private accounts to pay for the first five years of your retirement and then rely on Social Security for the rest. That way if you got screwed by the market you could either work longer, or retire on less, knowing that after five years you would be guaranteed Social Security income.

    There are two important caveats, here. First, it doesn't make sense for the government to borrow money and put it in the stock market. There would not actually be any increase in savings, so the economic growth we would expect from increased investing in the market would not materialize. Second, we have to be realistic about the risks and returns from private accounts. The risks of private accounts allow for the possibility of greater returns, but also raise the risk of lower returns. It doesn't make too much sense to have private accounts if we have to bail out everyone who loses money in the scheme. Any projection of stock market gains greater than 5% above inflation is pure fiction. Investors with a low risk tolerance would also want to invest in bonds, increasing safety but reducing returns.
  5. Changing COLA — The Cost-of-Living Adjustment determines how much a retiree's benefits go up each year after retirement. This is currently based on the consumer price index, which some economists think may overstate inflation. Lowering the COLA would decrease benefits, but the argument could be made that they grow too quickly anyway. One important consideration is that the mix of goods costs for seniors (food, housing, medicine) is very different than the mix for others classes of people. Any COLA that doesn't take into account the high costs of (and growth in) medicine and housing doesn't make sense.
  6. Supplements from the General Fund — Another solution to the Social Security problem would be to supplement the Social Security deficit with revenue from the General Fund. This money would have to come from tax increases, probably income and capital gains on the rich. The amount of money needed is only slightly more than President Bush's recent round of tax cuts. I'm going to say that again: We could solve the Social Security Problem almost entirely simply by rescinding President Bush's recent round of tax cuts. This is ideologically unappealing to some because it uses money from rich people to support poor people.

Bush has proposed a plan to "save" Social Security that 1) reduces benefits so that in the future benefits will match incoming payroll taxes (so-called pay-as-you-go) and 2) allows workers to divert up to a third of their payroll taxes into private accounts (the current White House focus-group— approved term is now "Personal Accounts"). His plan would lower benefits and tie them to prices rather than to wages. Younger workers (those under fifty) would be able to invest a third of their benefits in certain limited ways and the government would borrow $1.8 trillion to make up the lost revenue to Social Security in order to pay current recipients. Workers with private accounts would assume a greater risk in the hopes of getting a return greater than that provided by Social Security. Notice this second part of the plan just moves money around; it doesn't actually do anything for Social Security's long term finances.

The President has said the he hopes his plan to partially privatize Social Security will promote what he calls the "Ownership Society." His hope is to get more people's wealth tied up in corparate profits rather than worker's wages.For reasons that should be obvious to any observer, the President's plan is total crap. He's refusing to explain the details (he says it's Congress' job to come up with them, but that is bullshit. He's afraid that releasing hard numbers will make it easier for opponents to poke holes in the plan. That's what happens when you have a crappy plan).

  • What if we ignored the problem? — We know that if we literally do absolutely nothing we will be able to maintain between current benefits up until the 2040s, and provide between 70% and 80% of current benefits in perpetuity thereafter. If the President's plan cuts benefits to around these levels (or to lower) you have to ask: Is it worth it? I'd imagine this is one reason they're refusing to release actual numbers.
  • Clawback — Under Bush's privatization plan, when you retire you get a lump sump of the money you invested and buy an annuity, based on your life expectancy, with that lump sum. You also get your regular (now-reduced) benefits. But they subtract the inflation + 3% they would have gotten if you'd opted to stick with the regular reduced benefits Social Security and payed all of your payroll taxes into the system. Or think of it this way: they let you take a third of your payroll taxes out, but you have to pay them back with interest. What if your investments, minus brokers' and managers' fees, of course, made less than inflation + 3%? Well, you're screwed. You get a smaller lump sum and they still raid your regular benefits to make up the difference. Under Bush's plan you get reduced benefits and even then, only two thirds of them are guaranteed. Nice safety net, eh?
  • Limited investment opportunities — Perhaps to assuage fears about the clawback problem, it appears that you will only be able to invest in certain broadly distributed funds. That's right, you don't get to choose what you invest in. This limits your risk, as your diverse investment is likely to grow at the rate as the market, but is a serious waste of capital. Increasing investment in the stock market is desirable only because it makes capital available for research into risky new ideas that create growth. Hoping to grow the economy by injecting a large amount of money into risk averse ventures is stupid, stupid, stupid.
  • The REAL Ownership Society — The immediate effect of adding a bunch of new money to the stock market is to increase volume and prices. Fund managers and brokers will get rich because they get to collect yearly and per-transaction fees and percentages. Also, as more money gets pumped in, current investors will make a killing because there will be more money chasing around the same extant shares. The real winners are the current owners — not the future ones. This is, of course, not a big surprise.
  • What about the Trust Fund? — Conveniently, defaulting on the Trust Fund will allow the government to make the Bush Tax Cuts (again, targetted towards those who pay income taxes — the rich) permanent. Remember, the Trust Fund was created as a promise to workers. Taxes were raised on workers with the promise that starting in 2018 they would be raised on the rich to pay off the Treasury bonds. Now that it's time to start thinking about paying off the bonds, we've decided not to. Yet another fuck-you to the American worker.
  • Assumptions about wage and stock growth — In order to make their plan more attractive, the Bush Administration has assumed that over the next fifty years stocks will grow much faster than wages. It is pretty hard to imagine a realignment in market forces that could make this happen, especially given our current stance regarding immigration. This violates rule number one for making big changes: if you have to lie to convince people to do it, it's probably not a good idea.

The take home message is this: under the Bush Plan you will get reduced benefits and only two thirds of those benefits will be guaranteed. In return, you'll get the chance to invest one third of your Social Security payroll tax in lukewarm investment funds run by the President's campaign contributors. It's no wonder even Republicans won't touch the plan with a ten foot stick.

Posted by coughlin at 2:07 AM | TrackBack (0)