<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>The Opinionated Bastard</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.opinionatedbastard.com/atom.xml" />
   <id>tag:www.opinionatedbastard.com,2008://1</id>
    <link rel="service.post" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1" title="The Opinionated Bastard" />
    <updated>2008-07-23T22:36:24Z</updated>
    <subtitle>A blog about computers, politics, and foreign policy in the age of terror.</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.34</generator>
 
<entry>
    <title>Obama&apos;s Psychic Powers</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/obamas_psychic.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=836" title="Obama's Psychic Powers" />
    <id>tag:www.opinionatedbastard.com,2008://1.836</id>
    
    <published>2008-07-23T23:26:17Z</published>
    <updated>2008-07-23T22:36:24Z</updated>
    
    <summary>Even though I think Obama is a lot better then Kerry, his position on the war really bothers me. In a nutshell, Obama thinks that we never should have gone into Iraq; therefore we should pull out as soon as...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>Even though I think Obama is a lot better then Kerry, his position on the war really bothers me.</p>
<p>In a nutshell, Obama thinks that we never should have gone into Iraq; <em>therefore we should pull out as soon as possible</em>.</p>
<p>Fair enough. Despite the fact that Iraq had stockpiled <a href="http://ap.google.com/article/ALeqM5gUzCIe4JyTofL4u4RnaUn-75BV2QD91NRH480">500 tons of Uranium</a>, and that even <a href="http://www.un.org/Depts/unmovic/new/pages/compendium.asp">Hans Blix</a> found some weird shit in Iraq, I think even President Bush wishes he'd done things differently. Even if he still decided that we needed to go into Iraq, there are plenty of things we should have done differently.</p>
<p>But there's no Presidential Time Machine in the basement of the White House. If Obama is elected, he's going to have to deal with things as they <em>are</em>, not how he'd <em>li</em><em>ke them to be</em>.</p>
<p>Obama is a lawyer. Lawyers seem to believe that the way to get things done is to talk about doing things. As near as I can tell, he has never had any real project management responsibilities except perhaps his experience as a community organizer. Even then, at most, he managed 14 people and its not clear that he managed any major projects during that period.</p>
<p>So he doesn't get something that I, as a middle manager, know instinctively. <em>Schedules Slip.</em></p>
<p>Why 16 months? Why not 17? 18? 15?. I've tried to figure out where that number comes from and the best I've gotten is that Obama talked to one of his military advisers who said:</p>
<blockquote>
  <p>Well, if everything goes according to plan, we could be out in 16 months.</p>
</blockquote>
<p>Let me say that again with the appropriate emphasis.</p>
<blockquote>
  <p>Well, <em><strong>if everything goes according to plan</strong></em>, we could be out in 16 months.<br /></p>
</blockquote>
<p>The problem with that statement is that nothing ever goes according to plan, especially in a friggin' war. If one of these $2.8 million Stryker's breaks down on the way out of Iraq, does that become 16 months and 1 day? Or will Obama just leave them there to rot? I have to say that if he does that, I'd like a refund on my income taxes paid over my entire life, because if the government is going to waste my money like that, fuck 'em.</p>
<p>Ok, so let's say that if a Stryker breaks down, that we delay 1 day.</p>
<p>Now we're at 24 months, realistically. Because never, in the history of the world, has anything ever gone according to plan. Trucks are going to break down, tires are going to go flat, the list of little things that won't go according to plan goes on and on. You have to make things not going according to plan, part of the plan. Think that's a paradox? Well, welcome to project management.</p>
<p>Even worse, I can tell you from my project management experience that when I say 24 months, that's only if you realize that the schedule will slip. If you're deluded enough to think that God and the Universe actually thinks that by saying 16 over and over and over again, that somehow, magically you'll hit your original schedule date, it will take 32 months.</p>
<p>That's right, if you hold to a schedule beyond all semblance of reason, things take even longer. Its only if you're lucky that it will take twice as long. That's the second paradox of project management.</p>
<p>Back when I was a consultant, a customer hired me to fix a problem that had been plaguing them for a year. I fixed it in a month. When they asked me how I was able to accomplish this "miracle". I told them:</p>
<blockquote>
  <p>You've been trying to do 1 month of work in 2 weeks. Your team is perfectly capable, but they've been trying to patch around the problem instead of fixing it. When I signed on, I told you it would take a month, and you didn't like it, but after a year of pain you said ok. So I went and fixed it, and it took a month.</p>
</blockquote>
<p>The customer admitted that their own team had told them it would take a month to fix it a year prior, but they told them "that's too long, you have to do it in 2 weeks". So they spent a year being "2 weeks away".</p>
<p>If we try to pull out of Iraq in 16 months when we realistically need 17, 18 or 24 months, we'll be there longer then we would if we set a realistic deadline.</p>
<p>Of course, this isn't a project its a war, which means if we aren't realistic, we might have a <em>third</em> Iraq war. Or we might be there <em>forever</em>.</p>
<p>The thing that bothers me the most about Obama is that he doesn't realize what he doesn't know, and he definitely doesn't realize what his advisors don't know. Someone obviously pulled this 16 month number out of their ass, and Obama has continually avoided any attempt to learn better. Additionally, his campaign is so afraid of any question that's off the reservation that they keep him sequestered. Soldiers? <a href="http://feeds.feedburner.com/~r/Blackfive/~3/343598080/from-gi-in-afgh.html">Can't talk to them</a>. Foreign Media? We'll provide <a href="http://feeds.feedburner.com/~r/PatrickRuffini/~3/343178047/obama-campaign-prints-german-language-flyers-for-berlin-rally">flyers in German</a>, but <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/07/18/AR2008071802612.html">no foreign media to ask questions</a>. Does it seem weird to anyone else that his own campaign doesn't trust Obama to talk?</p>
<p>Meanwhile, he stubbornly sticks to this "I was right in 2002".</p>
<p>A stopped clock is right twice/day. Him claiming he was right as a Illinois State Senator doesn't impress me. What might impress me is if he explained how he reached that decision. We don't give Top Secret briefings to state senators. What information did he use to base his decision on? Whatever was published in the Chicago Tribune? His Psychic Powers? Did he read Hans Blix's report? Scary stuff in there. Did he read the Duelfer report? Scary stuff in there as well.</p>
<p>I've read everything I could get my hands on before and after we went into Iraq and I have to say, I'm glad I wasn't President, because it was a tough call. The media likes to make it sound black and white, but it's not that simple. Saddam was both stupid and evil. There are plenty of stupid world leaders, and plenty of evil world leaders, but stupid and evil was a deadly combination.</p>
<p>(If you want to argue with me about this issue, I have one word: Camelpox. If you don't know what that means, you don't know enough to argue with me about this.)</p>
<p>But I don't get the sense that Obama has done anything beyond read the newspaper about Iraq. Everything I've heard Obama say about Iraq seems less informed than me. I'm just a concerned citizen trying to understand a difficult issue, not a full time politician. Obama should be <em>more</em> informed than me about this issue, not <em>less</em>.</p>
<p>Now that Obama is the Democratic nominee, he can get Top-Secret briefings from the government. He can get other briefings in his job as a Senator. Has he done so? No.</p>
<p>In essence, Obama seems to be relying not on the facts on the ground, or the information he has access to if he just asks. Obama seems to have used his psychic powers 6 years ago to make his decision on Iraq, and he's surrounded himself with advisors who agree with him. He's studiously avoided talking to anyone who might tell him otherwise.</p>
<p>Eisenhower famously told Kennedy that only the difficult problems would end up on his desk. Easy problems get solved long before they reach the desk of the President. As President, Obama will have to make decisions not based on what his psychic powers told him 6 years ago, but on the reality today.</p>
<p>I hope he comes to realize this.</p>
<p>Meanwhile, if Obama isn't using his top secret briefing could I have it? Because I would love to truly, truly understand the last 7 years of history.</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>The Coming Apocolypse</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/the_coming_apoc.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=835" title="The Coming Apocolypse" />
    <id>tag:www.opinionatedbastard.com,2008://1.835</id>
    
    <published>2008-07-21T19:05:38Z</published>
    <updated>2008-07-21T19:06:49Z</updated>
    
    <summary>I had a weird thought today. Ok, so lets say Obama gets elected. Let&apos;s say he implements some political pandering nonsense like say, a windfall profits tax to punish those evil oil companies, for well, making money. So Silicon Valley...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>I had a weird thought today.</p>
<p>Ok, so lets say Obama gets elected. Let's say he implements some political pandering nonsense like say, a windfall profits tax to punish those evil oil companies, for well, making money.</p>
<p>So Silicon Valley has a conniption, because most software companies make something like 65% profit. If this so called windfall profits tax was too broad, you could just bulldoze Silicon Valley. So they make an exemption for technology companies.<br /></p>
<p>So Exxon buys Microsoft so they can avoid the tax.</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Flex-Fuel</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/flexfuel.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=834" title="Flex-Fuel" />
    <id>tag:www.opinionatedbastard.com,2008://1.834</id>
    
    <published>2008-06-27T21:23:15Z</published>
    <updated>2008-06-27T21:24:25Z</updated>
    
    <summary> Fortunately, however, there was one proposal that McCain put forward that could really make a difference. This was his call to require that all new cars sold in the USA be flex fueled. Flex fuel cars can run on...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<blockquote>
  <p><span style="font-family: Verdana; line-height: 14px;">Fortunately, however, there was one proposal that McCain put forward that could really make a difference. This was his call to require that all new cars sold in the USA be flex fueled.</span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;">Flex fuel cars can run on any combination of alcohol (including methanol and ethanol) or gasoline. The technology is readily available and it only costs about $100 per vehicle.</span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;">Making America a flex-fuel vehicle market would effectively make flex-fuel the international standard, as all significant foreign car makers would be impelled to convert their lines over as well. Within three years of such a mandate, there would be 50 million cars on the road in the USA capable of running on alternate fuels, and hundreds of millions more worldwide. Around the globe, gasoline would be forced to <em>compete</em> at the pump against alcohol fuels made from any number of sources, including not only current commercial crops like corn and sugar, but cellulosic ethanol made from crop residues and weeds, as well as methanol, which can be made from any kind of biomass without exception, as well as coal, natural gas, and recycled urban trash. Creating such an open-source fuel market would enormously expand and diversify humanity’s fuel resource base, protecting all nations from continued blackmail, robbery, and in some cases, starvation, induced by the oil cartel.</span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;">Methanol is selling today, without any subsidy, for $1.50/gallon on the spot market, equivalent in energy terms to gasoline at $2.80/gallon. Make cars that can choose between methanol and gasoline, and the power of OPEC to set high prices will be broken for good — everywhere in the world.</span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;">So break out the champagne. Amidst a pile of campaign nonsense, John McCain just set forth one policy that could save the nation.</span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;"><br /></span></p>

  <p style="margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 10px; color: #000000; line-height: 1.2; padding-left: 0px; padding-right: 0px; font-size: 12px;"><span style="font-family: Verdana;"><br /></span></p>
</blockquote>
<p>Hat tip: <a href="http://pajamasmedia.com/blog/the-saving-grace-in-mccains-energy-policy/2/" title="Untitled">Pajamas Media</a></p>

<div class="posttagsblock"><a href="http://technorati.com/tag/McCain" rel="tag">McCain</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Honest for Chicago Maybe</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/honest_for_chic.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=833" title="Honest for Chicago Maybe" />
    <id>tag:www.opinionatedbastard.com,2008://1.833</id>
    
    <published>2008-06-19T20:50:34Z</published>
    <updated>2008-06-19T20:52:15Z</updated>
    
    <summary> We have slightly different standards in Arizona then Chicago. But hey, you&apos;re ahead of Nixon! Election2008, McCain, Obama...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p style="text-align: center;"><img src="http://www.opinionatedbastard.com/BOHonesty.png" width="366" height="534" alt="BOHonesty.png" /></p>
<p style="text-align: center;"><br /></p>
<p style="text-align: center;">We have slightly different standards in Arizona then Chicago. But hey, you're ahead of Nixon!</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/McCain" rel="tag">McCain</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Obushma and the Wisdom Deficit</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/obushma_and_the.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=832" title="Obushma and the Wisdom Deficit" />
    <id>tag:www.opinionatedbastard.com,2008://1.832</id>
    
    <published>2008-06-17T22:17:28Z</published>
    <updated>2008-06-17T22:20:26Z</updated>
    
    <summary>As I get older, more and more, it seems to me that whatever people say, the exact opposite is true. So Barack Obama is going around saying that McCain is running for George Bush&apos;s 3rd term. Except that to me,...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Bush-Negative" />
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>As I get older, more and more, it seems to me that whatever people say, the exact opposite is true.</p>
<p>So Barack Obama is going around saying that McCain is running for George Bush's 3rd term.</p>
<p>Except that to me, of the two, Barack Obama seems like a left wing version of Bush.</p>
<p>It's what I call the "Wisdom Deficit". The Left didn't have it quite right with Bush. It's not that Bush was stupid. On the contrary, Bush was smart enough. What Bush wasn't was <em>wise</em>. Wisdom and Intelligence are two different things.</p>
<p>I went to Caltech. I'm a fucking rocket scientist, and I've worked with some of the most brilliant people in the world.</p>
<p>Some of the most brilliant people in the world can also be some of the stupidest.</p>
<p>For me, intelligence vs. Wisdom is the difference between Theory and Practice. You can come up with a brilliantly thought out theory; but it may be a disaster in practice.</p>
<p>Bush wasn't <em>wise</em> enough to be cynical about what the intelligence agencies were telling him. He wasn't <em>wise</em> enough to realize that when General Franks said "I'll plan the invasion, but the occupation is someone else's problem" that meant "You better find someone who can do this." Bush wasn't <em>wise</em> enough to keep watch on some of his appointees (FEMA, FDA, etc.). Bush wasn't <em>wise</em> enough to trust the American people with the real reasons for the Iraq War, so he took the WMD tactic. Bush wasn't <em>wise</em> enough to realize that he needed to sit down with the American people and guide us through the decision process. Bush wasn't wise enough to realize that when American's talk about winning the <em>hearts and minds</em> in a war, its not really the enemies hearts and minds we have to win over, but our own. Bush wasn't <em>wise</em> enough to take speechmaking lessons. Bush wasn't wise enough to realize that the smartest thing you can do some times is <em>change your mind</em>.</p>
<p>I think Obama might make a good president someday. But not now. Right now, he has the same problem Bush had. A deficit of wisdom. Obama doesn't seem wise enough to realize that many of his positions are just wrong, and he's surrounded himself with advisors who are well, clowns and fanatics.</p>
<p>I get that people are angry at Bush. But a left-wing Bush would be a complete disaster. Obama is a left-wing Bush. Same set of problems, just in a different direction. If you feel that the country would be best served by a confused drift to the hard left after Bush's confused drift to the right, Obama's your man.</p>
<p>But I don't think that the country needs confused direction to the Right or the Left. When I look at the candidates positions, it seems to me that in general, they're both right, and they're both wrong. What we really need in a leader is someone who can take the best of both sides and merge them together.</p>
<p>McCain has been my Senator for as long as I've lived in Arizona. I've run into him now and again, and he always had the time and grace for a constituent. When I talked to him about an issue, I learned something. When I disagreed with him and talked to him about it, half the time he convinced me I was wrong, and he always convinced me that he deeply understood the issue. McCain has been wise enough to change his mind.</p>
<p>I've always been proud McCain was my Senator, and someday I hope to be proud he's my President.</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/McCain" rel="tag">McCain</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Petreus&apos; Replacement</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/petreus_replace.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=829" title="Petreus' Replacement" />
    <id>tag:www.opinionatedbastard.com,2008://1.829</id>
    
    <published>2008-04-23T19:40:00Z</published>
    <updated>2008-04-23T20:07:24Z</updated>
    
    <summary>So it should make anyone nervous that Petreus is leaving Iraq, even if its to accept more responsibility for the Mideast as a whole. Here&apos;s his Wikipedia Bio. Which gives him mixed reviews based on my reading: Odierno&apos;s tenure as...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Iraq" />
            <category term="US Foreign Policy &amp; The War" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>So it should make anyone nervous that Petreus is leaving Iraq, even if its to accept more responsibility for the Mideast as a whole.</p>
<p><a href="http://en.wikipedia.org/wiki/Raymond_T._Odierno">Here's his Wikipedia Bio.</a></p>
<p>Which gives him mixed reviews based on my reading:</p>
<blockquote>
  <p style="font: 12.0px Helvetica">Odierno's tenure as 4th ID commander in Iraq and his unit's actions there have subsequently come under criticism from several sources. Many officers from the 1st Marine Division were critical of 4th ID's belligerent stance during their initial entry into Iraq after the ground war had ceased and the unit's lack of a 'hearts and minds' approach to counter-insurgency. Several authors have echoed similar criticisms shared with them by other military personnel in the theater. In his unit's defense Odierno strenuously argued that the situation was that such an approach was required and subsequent insurgent activity justified the actions of 4th ID as former insurgents began to join the fight against Islamic extremist groups, such as al-Qaeda, in 2007.[4][5] As a general also stated in Rick's "Fiasco: the american military adventure in Iraq": "What the 4th ID did was criminal."</p>

  <p style="font: 12.0px Helvetica">In his second Iraq deployment, Odierno served as the commander of Multi-National Corps-Iraq. During Operation Iraqi Freedom 06-08, he and General David Petraeus were the primary architects of the troop “surge” into Baghdad. Running counter to previous strategies that sought to draw down the American presence in Iraq, Petraeus and Odierno increased the U.S. presence in Iraq to 20 Brigade Combat Teams from the previous level of 15.[6] The “surge” deployed troops to many parts across Iraq, concentrating in and around Baghdad and culminating in the Iraqi led Operation Fardh al-Qanoon that began in March of 2007. In conjunction with his counterpart in the Iraqi Army, Lieutenant General Abud Qanbar, the push into Baghdad included the establishment of dozens of Combat Outposts and Joint Security Stations throughout the city. Capitalizing on the initial success of Fardh al-Qanoon,[7]Odierno then launched Operation Phantom Thunder just north of Baghdad in the Diyala, Babil, and Salah-ah-Din provinces as well as just to the west in the Al-Anbar province. Forcing many of Baghdad’s extremists from the capital, Odierno sought to root out extremist influences around the city and initiated Operation Phantom Thunder in June of 2007.</p>
</blockquote>
<p style="font: 12.0px Helvetica">So bad thing is that his first tour he was too heavy handed. Second tour, he was partners with Petreus. Hmm...<br /></p>
<p>The Weekly Standard says that <a href="http://www.weeklystandard.com/Content/Public/Articles/000/000/014/822vfpsz.asp">Odierno is Patton to Petreus' Eisenhower</a>:</p>
<p style="font: 12.0px Helvetica"></p>
<blockquote>
  <p>As is well known, General Petraeus oversaw the writing of a new counterinsurgency doctrine before being sent to Iraq. But the doctrine did not provide a great deal of detail about how to plan and conduct such operations across a theater as large as Iraq. It was Odierno who creatively adapted sophisticated concepts from conventional fighting to the problems in Iraq, filling gaps in the counterinsurgency doctrine and making the overall effort successful.</p>
</blockquote>
<p>So that goes along with the "learned better" theory. Here's a <a href="http://www.defenselink.mil/transcripts/transcript.aspx?transcriptid=4122">briefing</a> he did back in January, though you'll want to download the <a href="http://www.defenselink.mil/dodcmsshare/briefingslide%5C321%5C080117-D-6570C-001.pdf">slides</a> first. For a real treat, alternate between slide 2 and slide 4. He says some things that indicate he "gets it":</p>
<p style="font: 12.0px Helvetica"></p>
<blockquote>
  <p style="font: 12.0px Helvetica">By reversing and reducing the cycle of terror through tough fighting and immeasurable sacrifice, coalition and Iraqi security force were able to earn the trust and cooperation of Baghdad citizens. While acknowledging the risks, coalition force in Anbar seized upon Iraqi discontent with al Qaeda's brutality, and planted the seeds for what is now a burgeoning bottom-up reconciliation effort that is rejecting extremism. In June, with the full surge in place, we initiated Operation Phantom Thunder, a corps-level offensive operation focused on the Baghdad Belts to defeat al Qaeda and extremists, deny enemy sanctuary, and interdict their command and control and logistics capabilities. With Phantom Thunder's success at disrupting the enemy, we launched Operation Phantom Strike in August to intensify pursuit of al Qaeda and extremists.</p>

  <p style="font: 12.0px Helvetica"><br /></p>

  <p><span style="font-style: italic;"><strong>Q</strong> Some of the proposals by some of the candidates for president have talked about removing all of combat brigades from Iraq by the end of next year. Would you say that, given the strategy of the need to reinforce Iraqi units in the future, that you would be opposed to removing all combat forces in two years time?</span></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> Well again, it depends first on what the environment is like, and so it's hard to make a prediction of what the environment is like. And so what I would say is for us to continue to make progress and for the Iraqis to make sure that they -- the government is successful, that they become regional partners, that they become partners in transnational terrorism, we want to make sure they're successful. And so as the environment goes forward and we believe the conditions are set, then we can reduce our forces.</p>

  <p style="font: 12.0px Helvetica">The timeline of that depends on many factors. The timeline depends on the threat, the capacity of the Iraqi security forces, the capacity -- the governance capacity that's established. And based on that, we'll make recommendations.</p>

  <p style="font: 12.0px Helvetica">Obviously, it's a policy decision about how long we stay here. What I would do is make my best military recommendation.</p>

  <p style="font: 12.0px Helvetica">It's hard for me, again, to look two years from now. I see us making progress. I see us being able to get down to 15 brigades by the summer. I'm very confident of that. If conditions continue along the way they are and the same they are, then I think we'll set the conditions for further reductions, but that will be based on all the factors I just laid out for you.</p>

  <p style="font: 12.0px Helvetica"><span style="font-style: italic;"><strong>Q</strong> As General Austin comes in, could you just reflect a little bit about what you would tell him about the biggest challenges that you see ahead and any advice you'd give him on lessons that you've learned from your time here in Iraq?</span></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> Well, I mean, I would just say -- is that the bottom line is that the number-one piece of advice that I've given him and he understands very fully -- he's a great officer who has great understanding of Iraq -- is -- it's about really protecting -- you know, the lesson we learned is, it's really about providing security for the people of Iraq, protecting the population. And what we have to do -- and the Iraqis understand that. And so his mission is to continue to do that as he turns more responsibility over to the Iraqis. And my advice to him would be to do that in a slow, deliberate manner, making sure that we don't make some of the mistakes we've made in the past -- turning it over too quickly, where we lose ground and give some of these extremist elements a chance. We don't want to give them another chance. We don't want to give them anything back. So I would say that's probably the biggest challenge.</p>

  <p style="font: 12.0px Helvetica">It also is about developing jobs. We've got to help, work with the -- it's the government of Iraq's responsibility, ultimately, but here, in the next six to eight months, job development is going to become more critical, because security now is at a level where jobs become more important, economic development become(s) more important. So it's time for us to really focus on those areas, working with the government of Iraq to try to create as many -- and not -- I'm not talking about just jobs for jobs; I'm talking about sustainable jobs.</p>

  <p style="font: 12.0px Helvetica">And we've been able to do that through micro grant programs, through establishing some vocational technical institutions. We are just beginning a program called the civil service corps. We've kind of modeled after the 1930s, when we were trying to put people to work in the United States after the Depression. And so we're trying to put some of those programs -- and we're working those with the government of Iraq, with their reconciliation cell.</p>

  <p style="font: 12.0px Helvetica">So I would say those are the areas that are going to be hard to get started, and those will be -- those are the things that will be the most difficult for them to move forward with. But I believe they understand that, and they are ready to do that.</p>
</blockquote>
<p style="font: 12.0px Helvetica">Here's a more recent <a href="http://www.globalsecurity.org/military/library/news/2008/03/mil-080304-dod01.htmhttp://www.globalsecurity.org/military/library/news/2008/03/mil-080304-dod01.htm">briefing</a>, where he answers my question directly, d<span style="font-style: italic;">id you learn better</span>? (March 3rd):</p>
<blockquote>
  <p style="font: 12.0px Helvetica"></p>

  <p style="font: 12.0px Helvetica"><strong><span style="font-style: italic;">Q</span></strong> <span style="font-style: italic;">Sir, you were given credit for kind of changing your thinking about how to fight a counterinsurgency. And in effect, some people would say you got the memo when it comes to fighting a counterinsurgency. Could you talk a little bit about how your thinking changed and adapted through the past year? And also, as you kind of go into this next job, do you see the Army as well prepared to do what it needs to do in these kinds of fights?</span></p>

  <p style="font: 12.0px Helvetica; min-height: 14.0px"><br /></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> Yeah, well, I would just say, first, there's nothing like experience, being on the ground, getting to see it every day. The most important thing, though, is to try to take that and learn from it.</p>

  <p style="font: 12.0px Helvetica">And who I learned from is a lot of my subordinate commanders, frankly, these great brigade commanders, battalion commanders, division commanders. We had a collaborative process and really had a chance to really talk about this very complex problem and try to come up with the best solutions to fix these problems. And that's what enabled us to really -- and in fact, that environment was what I credit with the change, the fact that we had an environment that we were able to have these discussions. No single person does any of this; it is a team effort, you know.</p>

  <p style="font: 12.0px Helvetica">And so us working together as a group, us trying to come up with these right solutions, but it's also the -- you know, what I was most impressed about with our leaders is the time -- you know, everyone had been over there before. The time they spent back here, they used that to really do some introspective looks, as well as -- I did as well, continued to study the problem and what is the best solution as we move forward. And I think that helped us as we started to implement this counterinsurgency strategy. So I was very happy about that.</p>

  <p style="font: 12.0px Helvetica">And you asked a second part.</p>

  <p style="font: 12.0px Helvetica"><span style="font-style: italic;"><strong>Q</strong> What about the rest of the Army, as you kind of --</span></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> Yeah. I would just say, first off, it's very important, as we move forward, we are full -- what I call full- spectrum. That requires us to operate across many different levels. We can't forget the lessons we've learned -- what I call irregular warfare. And we have to continue to make sure we emphasize that. And it's about adaptability in our thinking. It's about decentralizing, giving right and left limits, providing intent, decentralizing responsibility, and then allowing them to adapt to the problems and give them the resources to do that, whether it's a division, a brigade or battalion. We have to continue that thought -- it's about decentralized thinking, decentralized execution.</p>

  <p style="font: 12.0px Helvetica">It's -- you know, our conventional forces are doing operations that our Special Operations Forces did in 2003. Our Special Operations Forces are moved higher up on their capacity to conduct their operations. And that's how -- we want to keep that, but still going back and being able to do some higher-intensity conventional operations if we can. I feel very comfortable that we can do that. But we can't ever completely go back to conventional. We've got to maintain this irregular warfare capacity that we have built into our Army.</p>

  <p style="font: 12.0px Helvetica"><strong>Q</strong> R<span style="font-style: italic;">eal quick, though. As you come back, do you see that there's a lot of pressure to kind of forget those lessons learned?</span></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> No. No. In fact, I see us incorporating it every day. I mean, I see it incorporating in our schools -- both our officer, noncommissioned officer schools, in the academies I see it being incorporated. But there's still work -- more work in our training centers, national training centers, all being incorporated, Joint Readiness Training Center. We just have to make sure we don't stop, we continue moving forward, we continue thinking about it, we continue improving ourselves. That's the challenge I think we have.</p>

  <p style="font: 12.0px Helvetica"><strong><span style="font-style: italic;">Q</span></strong> <span style="font-style: italic;">How much does the retraining in counterinsurgency play into the increased dwell time? Because I know that the families are a big focus, but you have to retrain for these full spectrums. How large of a piece is that?</span></p>

  <p style="font: 12.0px Helvetica"><strong>GEN. ODIERNO:</strong> Well, you know, it's one of the things we talk about all the time. You know – we’re deployed for a year, home for a year -- during that year you're not just sitting home every night. You're out training and doing a lot of other things and still spend some time away from home. That's why we want to extend that time. And also, you know, and we'd like to have a bit more time to reintegrate units, to spend more time on our equipment, to spend more time doing those kind of things.</p>

  <p style="font: 12.0px Helvetica">So time does play a role in it. But we have been able to do it very well. Our equipment is continuing to perform very well under really tough conditions that we have to inside of Iraq. So I'm comfortable with what we're doing. More time would just give us a bit more -- reduce the risk, mitigate the risk a little bit more.</p>
</blockquote><br />
So based on all this, it looks like he's a good replacement. As it says in the last transcript, "he got the memo".<br />
Update: Here's a Washington Post Article <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/02/15/AR2008021503716_pf.html">saying that</a>. (Hattip: <a href="http://wizbangblog.com/content/2008/04/23/gen-petraeus-to-be-named-centcom-commander.php">Wizbang</a>)<br />
Update: Hot Air is <a href="http://hotair.com/archives/2008/04/23/breaking-petraeus-to-be-named-centcom-commander/">covering this as well</a>

<div class="posttagsblock"><a href="http://technorati.com/tag/Iraq" rel="tag">Iraq</a>, <a href="http://technorati.com/tag/Iraq" rel="tag">Iraq</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Own Goal</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/own_goal.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=831" title="Own Goal" />
    <id>tag:www.opinionatedbastard.com,2008://1.831</id>
    
    <published>2008-04-23T18:59:03Z</published>
    <updated>2008-04-23T19:00:39Z</updated>
    
    <summary>Own Goal is a soccer term for when you accidentally kick the ball through your own goal, earning a point for the other team. The problem with funding Terrorism, or Biological Weapons, or Chemical Weapons, is that they end up...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="US Foreign Policy &amp; The War" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>Own Goal is a soccer term for when you accidentally kick the ball through your own goa<span style="font-style: italic;">l, earning a point for the other team</span>.</p>
<p>The problem with funding Terrorism, or Biological Weapons, or Chemical Weapons, is that they end up being dangerous to your own people.<br /></p>
<p><a href="http://www.globalvoicesonline.org/2008/04/22/iran-a-mysterious-explosion-in-mosque/" title="Seems Like the Iranians are blowing themselves up now.">Seems like the Iranians are Blowing Themselves Up Now</a></p>
<p>The Airplane-liquid bombers were going to use a concoction of concentrated hydrogen peroxide and something else to make tricacetone triperoxide (TATP), which has accidentally killed more terrorists then anything the US has done. (Oops, Own Goal)</p>
<p>Meanwhile, the liquid-binary explosive that was really cool in that Die Hard movie, only exists in that movie.</p>
]]>
        
    </content>
</entry>
<entry>
    <title>My Kingdom for a Spreadsheet</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/my_kingdom_for.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=830" title="My Kingdom for a Spreadsheet" />
    <id>tag:www.opinionatedbastard.com,2008://1.830</id>
    
    <published>2008-04-23T18:44:38Z</published>
    <updated>2008-04-23T18:45:54Z</updated>
    
    <summary>Seems like the obvious way out for the super delegates is to vote the way their state voted. That is, make the super-delegates winner-take-all in each state. If only I had a spreadsheet with all the delegates broken out by...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>Seems like the obvious way out for the super delegates is to vote the way their state voted. That is, make the super-delegates winner-take-all in each state.</p>
<p>If only I had a spreadsheet with all the delegates broken out by type and by state...</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Clinton" rel="tag">Clinton</a>, <a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>A President With a Sense of Humor</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/a_president_wit.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=828" title="A President With a Sense of Humor" />
    <id>tag:www.opinionatedbastard.com,2008://1.828</id>
    
    <published>2008-04-22T18:06:57Z</published>
    <updated>2008-04-22T19:07:30Z</updated>
    
    <summary>John Mc Cain Addresses Wresting Fans Election2008, McCain...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p><a href="http://youtube.com/watch?v=k8XkIeTz-NU">John Mc Cain Addresses Wresting Fans</a></p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/McCain" rel="tag">McCain</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Election 2008 comment</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/election_2008_c.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=827" title="Election 2008 comment" />
    <id>tag:www.opinionatedbastard.com,2008://1.827</id>
    
    <published>2008-04-21T23:21:03Z</published>
    <updated>2008-04-21T23:22:29Z</updated>
    
    <summary>I have to say, that I&apos;m much happier with either Obama or Clinton as a possible President then Kerry. Clinton, Election2008, McCain, Obama...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>I have to say, that I'm much happier with either Obama or Clinton as a possible President then Kerry.<br /></p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Clinton" rel="tag">Clinton</a>, <a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/McCain" rel="tag">McCain</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>Working Income, not Working Class</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/working_income.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=826" title="Working Income, not Working Class" />
    <id>tag:www.opinionatedbastard.com,2008://1.826</id>
    
    <published>2008-04-21T22:11:25Z</published>
    <updated>2008-04-21T22:13:33Z</updated>
    
    <summary>You know, what really bothers me about the whole &quot;cling&quot; statement of Obama&apos;s was that it touched a pet peeve of mine: I&apos;ve met a lot of working income people who&apos;ve had more class than many of the upper income...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>You know, what really bothers me about the whole "cling" statement of Obama's was that it touched a pet peeve of mine:</p>
<p>I've met a lot of working <span style="font-style: italic;">income</span> people who've had more <span style="font-style: italic;">class</span> than many of the upper <span style="font-style: italic;">income</span> people I've met.<br /></p>
<p>Upper income? Low Class. (Think Paris Hilton)</p>
<p>Working Income? Upper Class. (When my dad setup United Way at his work, the people making the least gave the most.)</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>If it was Obama vs. Clinton, Clinton Wins</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/if_it_was_obama.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=825" title="If it was Obama vs. Clinton, Clinton Wins" />
    <id>tag:www.opinionatedbastard.com,2008://1.825</id>
    
    <published>2008-04-04T22:46:00Z</published>
    <updated>2008-04-04T22:38:09Z</updated>
    
    <summary>Rassmussen Reports Notes: Winner Take All? Clinton Wins! Given that the real election is Winner Take All, if the Democrats ran their party like, well, it was a Presidential Election? Clinton would be far ahead. So if the Democrats end...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>Rassmussen Reports Notes: <a href="http://www.rasmussenreports.com/public_content/political_commentary/commentary_by_wesley_little/what_if_democrats_used_winner_take_all">Winner Take All? Clinton Wins!</a></p>
<p>Given that the <strong>real</strong> election is W<span style="font-style: italic;">inner Take All</span>, if the Democrats ran their party like, well, it was a Presidential Election? Clinton would be far ahead.</p>
<p>So if the Democrats end up with Obama, that means they have so screwed up their Primary process, that they will have nominated a candidate that would lose in a real election.</p>
<p>If they can't run a political party, how can they run a country?</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Clinton" rel="tag">Clinton</a>, <a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/Obama" rel="tag">Obama</a></div>]]>
        
    </content>
</entry>
<entry>
    <title>There&apos;s a name for this plan. It&apos;s called &quot;Loser&quot;</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/theres_a_name_f.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=824" title="There's a name for this plan. It's called &quot;Loser&quot;" />
    <id>tag:www.opinionatedbastard.com,2008://1.824</id>
    
    <published>2008-04-03T16:21:23Z</published>
    <updated>2008-04-03T16:23:50Z</updated>
    
    <summary>Over on Politico, there&apos;s this article titled: Obama readies plan to reshape the electorate If your plan to get elected requires &quot;reshaping the electorate&quot;, you&apos;re going to lose. Dear Obama, We decided we didn&apos;t want to be reshaped. --The Electorate...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>Over on Politico, there's this article titled: <a href="http://www.politico.com/news/stories/0408/9328.html">Obama readies plan to reshape the electorate</a></p>
<p>If your plan to get elected requires "reshaping the electorate", you're going to lose.</p>
<p>Dear Obama,</p>
<p>We decided we didn't want to be reshaped.</p>
<p>--The Electorate</p>
<p>Even the article says:</p>
<blockquote>
  <p><span style="font-family: arial; line-height: 18px;">Every four years, Democrats claim, and reporters write, that a massive voter registration and field operation will reshape the electorate in their favor.</span><br /></p>
</blockquote>
]]>
        
    </content>
</entry>
<entry>
    <title>Rant: Why I hate WebObjects Java Client</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/rant_why_i_hate.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=823" title="Rant: Why I hate WebObjects Java Client" />
    <id>tag:www.opinionatedbastard.com,2008://1.823</id>
    
    <published>2008-03-31T17:20:33Z</published>
    <updated>2008-03-31T17:24:25Z</updated>
    
    <summary>This is a rant about WebObjects Java Client, but really about Java Web Start, XML config files, and Lazy Engineers.
</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Computer Related" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>This is a rant about WebObjects Java Client, but really about Java Web Start, XML config files, and Lazy Engineers.</p><br />
If you find such things amusing, read on.<br />
I do provide solutions to a couple of problems with Java Client in the hopes that with the aid of Google, this will help someone down the road.<br />

<div class="posttagsblock"><a href="http://technorati.com/tag/Untitled" rel="tag">Untitled</a></div>]]>
        <![CDATA[<p>Ok, so I got our Java Client app working finally. But I still hate Java Client for several reasons.</p><br />
<br />
<b>REASON #1: Java Web Start Sucks</b><br />
JWS is a classic example of <i>sounds good in theory but sucks in practice</i>. The theory is that instead of having to deal with upgrading a whole bunch of users to the latest version, you provide a configuration file of what jars are needed, and JWS will download the required jars if necessary to the users local system.<br />
In practice, JWS violates <i>Pierce's Rule for config files</i> on several levels. For those of you not familiar with <i>Pierce's Rule for config files</i> (and why would you be, I just made them up), I will state them.<br />
<i>Pierce's Rule for config files:</i> If writing a "Hello, World" application requires me to write a 2,000 line config file, your technology sucks. This means you Struts/Hibernate/Ant.<br />
<i>Pierce's XML addendum:</i> If the config file is in XML, make that 100 lines, because XML is much less unforgiving then the average programmers "read a bunch of properties from a file" format. I also have yet to see a commented sample XML config file that does as good a job of being self documenting as say, apache.conf. That of course means that Struts/Hibernate/Ant suck by an extra factor of 20.<br />
<i>Pierce's GUI exemption:</i> If you provide a GUI for editing the config file so that I don't have to learn an entirely new programming language to get started, it doesn't matter how big the file is because I'll never look at it. (Every XML file I've ever seen is essentially learning a new programming language, which is yet another reason Ant sucks)<br />
<i>Pierce's GUI exemption qualifier:</i> If the GUI tool doesn't support everything the XML file does, then your config file format must suck. Rewrite the format to make the GUI tool easier to write. The GUI tool rules, not the XML. Otherwise, you can't claim the exemptions, Nyah<br />
So Java Web Start requires this giant JNLP file to be written. Helpfully, WebObjects generates this for you. However, JNLP is broken. It's broken because the idiot at Sun who created JNLP decided that JNLP would only allow one certificate to be used to sign jars per jnlp file. He did this so, get this, "you wouldn't have to specify multiple certificates in your .jnlp file".<br />
Translation: "I'm a moron who doesn't understand security."<br />
Since wojavaclient is signed by Apple, that means your remaining jars have to be unsigned, or you have to do the following doh-see-doh:<br />
Instead of using:<br />
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <font face="Courier">&lt;jar href="jh.jar"/&gt;</font>
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Use:
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
    <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
      <font face="Courier">&lt;extension name="Java Help" href="help.jnlp"/&gt;</font>
    </div>

    <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
      <br />
    </div>

    <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
      And then, you have to make <b>yet another XML</b> file that looks like the following:
    </div>

    <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
      <br />
    </div>

    <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;?xml version="1.0" encoding="utf-8"?&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;jnlp spec="1.0+"</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">codebase="<a href="http://ws/">http://ws</a>503" href="Help.jnlp"&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;information&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;title&gt;JavaHelp&lt;/title&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;vendor&gt;Sun Microsystems, Inc.&lt;/vendor&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;/information&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;resources&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;jar href="jh.jar"/&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;/resources&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;component-desc/&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
        <font face="Courier">&lt;/jnlp&gt;</font>
      </div>

      <div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica; min-height: 14px;">
        <br />
      </div>
    </div>
  </div>
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  See: <a href="http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/faq.html#213">http://java.sun.com/j2se/1.5.0/docs/guide/javaws/developersguide/faq.html#213</a>
</div><br />
Why this is lamebrained: First off, this doesn't supply any extra security. Sun claims: <i>This restriction avoids requiring the user to accept multiple certificates from the same source, and enables Java Web Start to know if the user has accepted all certificates used for an application.</i><br />
This is just so amazingly asinine a statement that I barely know where to begin. Since JNLP lets you load all the unsigned jars you want, this arbitrary restriction isn't providing any security. Unless like BouncyCastle, the jar requires itself to be signed, a cracker could substitute an unsigned jar, and Java Web Start wouldn't check. So there's already a giant security hole here, you should be able to specify that not only should a given jar be downloaded, but that it has to be signed. Additionally, the whole PKI system is built around the idea of one cert vouching for another, so the JNLP file should be able to say "Things signed by say, Sun" are ok, and if the user approved your cert, you can extend that to Sun. In other works, it violates another of Pierce's rules:<br />
<i>Pierce's Rule on Code Signing:</i> Signed Code should be <b>superior</b> to unsigned code, not inferior. If signed code is a second class citizen, your security system is <b>broken</b>.<br />
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Plus this is Java <i>Web</i> Start, so one would think that perhaps if you served the jar file from an https server, they would all be considered to be signed by the servers cert. That would have been a much more sensible solution.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Ok, so given the above, what do you think the chances are that Apple's helpful JNLP generator does the above doh-see-doh?
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Zero.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Which means its basically broken. If your code uses a signed jar, it will generate bad JNLP files. My solution was a hack, I basically just hardcoded the list of jars to download and edited the ones that needed to be edited to load &lt;extension href="foo.jnlp"/&gt; instead. I suppose, I could have rewritten the .jnlp generator to look at the jars and do the doh-see-doh in that case, but screw it, Apple should do that.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Even if you think I'm just whining about all this JNLP file, note that you've traded problems with getting everyone to use the latest version with problems with their Java Web Start Cache. You also have to explain how to use the Java Web Start Cache on every platform, and what that whole "save as a desktop application" thing means. Much easier to send out an email "Download this!", because you don't have to train your users how to download new software, they're used to that. JWSC is a whole new thing for them to learn.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <b>Reason #2: Lazy Engineers</b>
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  So Apple has this /Library/Java/Extensions mechanism where you can just drop jars in there and all Java apps will see them.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  If only it were that easy. For security reasons, because the jars in there load <i>before</i> anything else, instead of <i>after</i> everything else, any jar you reference from Extensions that references another jar has to find that jar in Extensions as well. So it ends up being viral, once you put one jar in Extensions other jars get pulled in. I dare you to find a jar that DOESN'T reference apache-commons-logging these days...
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Meanwhile, any jar pulled in from Extensions <i>doesn't get listed in your jnlp file</i>. Which means that your Java client may have a dependency on something, and you'll have to find it the hard way, <i>at runtime</i>.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  In our case, because no one had ever made a jar Framework to pull in all the extraneous jars, we ended up with 3 separate packages
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  .client: The client classes.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  .common: Most of the code.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  .server: Code that had to live on the server, because it used some jar not on the client.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Which means we had 3 versions of User.java. Which pretty much guaranteed you edited the wrong one... Because everytime the client tried to do something that wouldn't work without the standard set of Java jars, the engineer involved would just move the code to the server and add yet another remote call in Session.java.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  So you can fix this by building a Jar framework project and pulling everything out of Java Extensions. Except the JNLP file is generated by the <i>server code</i>, not the <i>client code</i>. So the JNLP file ends up downloading EVERYTHING the server uses, because it has no way of knowing what's actually necessary for the client, since the server code is running...the server code.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;"></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Plus the list Apple provides isn't totally complete anyways, in my case, it turns out my Java client needed EOAccess for some reason. So I had to add that by hand.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;"></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Moral of the story: Don't use Java/Extensions. If you are using Java/Extensions, be prepared for some hurting when you move away.
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  <br />
</div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: 12px Helvetica;">
  Thank you for listening.
</div>
]]>
    </content>
</entry>
<entry>
    <title>Would you vote for a Lawyer</title>
    <link rel="alternate" type="text/html" href="http://www.opinionatedbastard.com/archives/would_you_vote.html" />
    <link rel="service.edit" type="application/atom+xml" href="http://www.opinionatedbastard.com/mt-atom.cgi/weblog/blog_id=1/entry_id=822" title="Would you vote for a Lawyer" />
    <id>tag:www.opinionatedbastard.com,2008://1.822</id>
    
    <published>2008-03-26T17:44:27Z</published>
    <updated>2008-03-26T17:47:56Z</updated>
    
    <summary>McCain is the only candidate who isn&apos;t a lawyer. Meanwhile, whizbang has had some follies with the law. Election2008, McCain...</summary>
    <author>
        <name>The Bastard</name>
        <uri>http://www.opinionatedbastard.com</uri>
    </author>
            <category term="Election 2008" />
    
    <content type="html" xml:lang="en" xml:base="http://www.opinionatedbastard.com/">
        <![CDATA[<p>McCain is the only candidate who isn't a lawyer.</p>
<p>Meanwhile, whizbang has had some f<a href="http://feeds.wizbangblog.com/~r/WizbangFullFeed/~3/258356631/the-lawyer-factor.php">ollies with the law</a>.</p>

<div class="posttagsblock"><a href="http://technorati.com/tag/Election2008" rel="tag">Election2008</a>, <a href="http://technorati.com/tag/McCain" rel="tag">McCain</a></div>]]>
        
    </content>
</entry>

</feed> 
