Allegory of the debate

This little parable came in my email today. It was thought-provoking.

Two armies meet on a field of battle. There is no hope for surprise; the enemy has already fired the first shot.

The leader of one army goes to his officers and says, “I think we need to fight this battle and we need to win. Are you with me in fighting this battle?”

A battle-hardened lieutenant is among those who agree. “We need to fight this battle and we need to win. I agree with this. Go ahead.”

This little parable came in my email today. It was thought-provoking.

Two armies meet on a field of battle. There is no hope for surprise; the enemy has already fired the first shot.

The leader of one army goes to his officers and says, “I think we need to fight this battle and we need to win. Are you with me in fighting this battle?”

A battle-hardened lieutenant is among those who agree. “We need to fight this battle and we need to win. I agree with this. Go ahead.”

The General then says, “Okay, my plan is to send our infantry up into this box canyon.”

The Lieutenant says, “Wrong unit, wrong place, wrong time. If you send those units into that canyon you will be boxing them in where they will be in danger and can do little good. You make them sitting targets for the enemy.”

The General answers back. “You are being inconsistent. First, you say we should fight this battle. Now, you say ‘wrong unit, wrong place, wrong time.'”

The Lieutenant answers, “I am not being inconsistent,sir. We need to fight this battle, and we need to win. Marching that infantry into that box canyon without doing a lot of preparation is not the best way to fight and win this battle.”

“So, what would you do differently?” the General asks.

“Well, I think we should first meet with our allies so that we can coordinate our attack. We need to convince them that this is right and add their strength to ours. This will increase our chance of victory.”

“So, you want to give them veto power over whether we defend ourselves. You want them to decide for us whether we fight or run away.” says the General.

“No, not at all,” says the Lieutenant. “I want a coordinated attack by the largest army possible, not an isolated attack by a force that is smaller than it could be and, honestly, smaller than it should be.”

“Make up your mind, Lieutenant. First you say we should fight. Then you say “wrong unit, wrong place, wrong time.” Now you say we should go over there and ask those other Generals whether we should defend ourselves, after you have already said that we should fight. You are a mass of contradictions, Lieutenant.”

“Permission to speak freely, General.”

“Granted.”

“Either you are too dense to understand basic military strategy, General, or you have some ulterior motive for lying about what I am saying. If you are lying, then you are contradicting your own belief that it is wrong to bear false witness against thy neighbor, because you are constantly bearing false witness here against me.

“What I am saying, and what any reasonable person knows that I am saying, is that it is a mistake to move your infantry into the canyon unless you have an exit strategy. Make sure you take the high ground first, and make sure that you can get your units out again if you need them someplace else.

“Also, a winning strategy involves a coordinated attack by the largest possible force. This means getting together with our allies and working out a joint strategy. The soldier who arrogantly charges in alone is far weaker, and far more likely to get himself killed, than the soldier that participates in the coordinated activity of a larger unit.

“Certainly, some of those allies may disagree with our plans. We may need to negotiate. That is the price of having friends — you have to have a little give and take. A person does not dictate to and bully his friends. He negotiates with them. No friend is going to have veto power over whether I defend myself. But, if I want his help — if two is stronger than one — I may sit down at the table with my friend and work out a joint strategy that we both think has a better chance of defense. Maybe he knows something that I do not. Maybe he understands something important better than I do. Either way, we are stronger as a team, than we are as separate individuals.”

The general then shakes his head. “I have allies,” says the General. “I have four other generals fighting with me. In addition, I have this contribution from thirty other armies.” The General points to a haggard platoon of infantry in random uniforms.

“This is your alliance?”

“How dare you insult these people like that! These are good, loyal, and brave soldiers! You take that back!”

“General, I agree. These are good, loyal, and brave soldiers. But . . . this is all you cold get? I am not impuning their fighting spirit or their character, I am amazed at how ineffective you have been at forming alliances. Victory is best achieved by the strongest army possible, and this is all you can get?”

“You are out of line, Lieutenant. This is insubordination!”

“You gave me permission to speak freely. I shall, until you revoke my right to free speech. Is that right revoked?”

The general looks out among the crowd. “The right to speak freely includes the obligation to speak responsibly. By questioning my plan, you are undermining the morale and fighting spirit of this army. Who in their right mind would follow a person who says, ‘wrong unit, wrong place, wrong time’?”

“I expect people to react with the recognition that they are better off with a winning strategy than a losing strategy, and ‘wrong unit, wrong place, wrong time’ makes the case that I, at least, can tell the difference.”

“That’s it, Lieutenant. This discussion is over. Back in line. We are going to do things my way and anybody out there who says anything against my plan is guilty of treason. You are either with me, or you are against me, Lieutenant. There is no middle ground. Either I am right, or the enemy is right. I am certain that, given these choices, you will agree that I am right. So, shut up and follow orders.”

THE END?


Matthew P. Barnson
– – – –
Thought for the moment:
“Gee, Toto, I don’t think we are in Kansas anymore.”

gmail and vim

As regular readers of barnson.org know, I’m a big fan of Vim, or “vi Improved”. It’s a text editor with great keyboard shortcuts, a zillion extensions to do everything from text editing to folding to email formatting. Very convenient. I even use it to format mail messages in Microsoft Outlook, the email program I must use at work due to corporate policy.

As regular readers of barnson.org know, I’m a big fan of Vim, or “vi Improved”. It’s a text editor with great keyboard shortcuts, a zillion extensions to do everything from text editing to folding to email formatting. Very convenient. I even use it to format mail messages in Microsoft Outlook, the email program I must use at work due to corporate policy.

Well, I recently changed my back-end email provider for my personal account to gmail. I’ve been mostly pleased with the transition, as I get a ton of legitimate mail and gmail makes it much easier to index.

However, there are a few things missing that I’m used to from using mutt and Cyrus Mail:

  1. Notification of new email arrival. Mutt would beep at me from its console window, but for gmail I’d have to look at my tab in my web browser, Firefox.
  2. Being able to use vim as my text editor.
  3. Automatically-appending witty sayings at the end of my messages. I’ve been doing this a long time using a short little bash shell script I wrote. Setting up a program to write your signature in mutt is a pretty easy thing to do.
  4. Automatically wrap my text at 72 characters. It’s not a huge beef, but sometimes messages get formatted very weirdly if they don’t have a good text wrap, and I want to make sure that mine are eminently readable regardless of email reader program.

Finally, I couldn’t stand it anymore, and dug around for solutions.

  1. For message notification, I found the Firefox Gmail Notifier. Now, Google has its own windows application to notify you when you have new gmail, but I wanted something that stayed in my browser window and would work on Linux or on Windows. Note: you also must use Mozilla Firefox, or the Mozilla browser suite, to use this tool. You should be using a Mozilla-based browser instead of spyware-infested Internet Explorer, anyway.

The solution to 2, 3, and 4 turned out to be the same thing: Using the Win32 version of Vim 6.3 (which, of course, I already had installed) combined with the Cygwin version of the “fortune” program. Since I already had Cygwin installed on my Windows box, this is a no-brainer. But from what I understand, there are native win32 versions of fortune that you can use instead.

The first thing I did was download another extension for Firefox: mozex, a Firefox plugin to allow you to run certain applications for certain types of objects on a web page. It’s pretty simple to install.

2006 update: You can download mozex for UTF-8 and compatible with Firefox 1.5 and later here! The extension is finally under development again! Yay!

Unfortunately, because the current version (as of this writing) doesn’t show up under the extensions manager in Firefox, I had to restart my browser and go to this URI: chrome://mozex/content/mozexPrefDialog.xul. This is a clickable link if you have the mozex extension installed.

Now, I have vim installed in c:\vim\, and cygwin installed in d:\cygwin\. So I wrote this shell script, which may need adaptation to your environment:

 #!/usr/bin/bash # # startemail.sh # starts my vim editor with my preferred signature, among other things.

echo " -- Matthew P. Barnson - - - - Thought for the moment:" >> $1 /usr/bin/fortune >>$1

/c/vim/vim63/gvim.exe -c 'set tw=72' $1 

What this does is automatically append a signature to mozex’s temporary file, and then launch my editor with my preferred text wrap setting, 72 columns. I named this script “startemail.sh”, and put this script in d:\bin\, so back in my mozex configuration panel, I put this into the “Textareas” field:

 d:\cygwin\bin\bash.exe /cygdrive/d/bin/startemail.sh %t 

Clicked “OK”, and now when I’m editing an email in Gmail, I just right-click on the text box, go to the Mozex menu, and select “Edit TextArea”. Up pops vim with the contents of the textarea for me to edit.

There are a few other obnoxious behaviors I’d like to correct about this setup, but for now it works better than a “raw” textarea:

  • Once I finish editing, save, and quit out of vim, I have to click the textarea I was working in in order for mozex to paste my work back. Not a big deal, but an extra click at the end of my work.
  • Navigating a right-click menu tree to launch my editor is annoying. I need to figure out how to set up a hotkey for it instead, like “CTRL-SHIFT-E”. That would be quicker, and since one of the primary benefits of using vim is that I don’t have to use the mouse to edit text, I could keep my hand off the mouse more. For now, the annoyance factor isn’t too huge, but it’s there.
  • I run two monitors: one external CRT, and my laptop LCD. Firefox has had long-standing issues with dual-monitor setups, and unfortunately has a bug here, too. You can’t get past the first cascade level of a right-click menu in Firefox on the additional monitor. So I have to keep Firefox on my LCD (primary) screen if I want to use this functionality. Vim and Cygwin have no such bugs, but it’s still one more thing to remember when I’m working, that Firefox is quirky if it’s on the second screen.
  • There’s a blank bash shell open behind my vim window. Even if I attempt to background the gvim process, it’s still there. I’m certain I could get rid of it if I just used the cygwin version of vim, but the win32 version of vim has some really nice integration with the Windows Clipboard that makes life easier, and it’s not running in a dos cmd window. On the other hand, instead of using a cmd shell to run bash, I could run it via rxvt and have decent clipboard performance. The only thing that sucks there is rxvt’s startup time on windows is horrid.
  • Unlike mutt, I have to configure this same setup on every computer I want to use it on. Mutt, I install it once on my mail server and I’m done. As a plus, since I chose a cross-platform solution, it can work on my Mac, PC, FreeBSD, and Linux machines. But still, it would be nice to configure it once and be done with it, you know?

That’s it for my adventure using vim as my editor for gmail. I’m actually using the same setup to write this blog entry, after having deleted the signature at the bottom.

Aww, heck, here it is anyway.


Matthew P. Barnson
– – – –
Thought for the moment:
In Seattle, Washington, it is illegal to carry a concealed weapon that is over six feet in length.

Florida approves electronic ballots

In other news today, Florida approves an electronic ballot. I guess they got tired of the public lampooning they received last election for discarding thousands of Gore votes due to less-than-exact punches.

In other news today, Florida approves an electronic ballot. I guess they got tired of the public lampooning they received last election for discarding thousands of Gore votes due to less-than-exact punches.

BUSH vs. KERRY

Well.. I guess I’ll be the one to broach the subject.

I am the person these guys wanted to get. I am a registered republican who is dissatisfied with much of what the current presidential administration has done.. and it is now possible for either candidate to get my vote.

Going into the Debate last night, here’s what I was thinking..
BUSH:
Pros: I think he believes what he’s saying, that he’s a relatively honest guy, that he believes in his heart that he’s doing the right thing and that with him it is a lot more “what you see is what you get”
Cons: I think he’s not as smart as Kerry, that he relies on his advisors(who suck) too much, and that even if he was the best president in the world, he is personally disliked by people who I want to be reallied with us (Gemany, France)

Well.. I guess I’ll be the one to broach the subject.

I am the person these guys wanted to get. I am a registered republican who is dissatisfied with much of what the current presidential administration has done.. and it is now possible for either candidate to get my vote.

Going into the Debate last night, here’s what I was thinking.. BUSH: Pros: I think he believes what he’s saying, that he’s a relatively honest guy, that he believes in his heart that he’s doing the right thing and that with him it is a lot more “what you see is what you get” Cons: I think he’s not as smart as Kerry, that he relies on his advisors(who suck) too much, and that even if he was the best president in the world, he is personally disliked by people who I want to be reallied with us (Gemany, France)

KERRY: Pros: He can help restore alliances, he seems smarter, he says he wants to be relatively conservative regarding the war, and he’s not afraid to say he wants to Kill the terrorists. Cons: I don’t know what to expect from him. He flip flops, he doesn’t seem genuine at all, he has alredy said things that could alienate Allies we have, and he has not given a really good, solid, laid out plan (the way both Bush and Gore did 4 years ago).

After the debate, I came away feeling much the same as when I went in. Bush got flustered, but seemed genuinely passionate about what he was saying, but he wasn’t quick on his feet and he wasn’t able to deftly command the situation.. and that makes me worry.

Kerry was too aggressive, seemed unfriendly, mentioned his combat experience way too much, and spent all his time attacking Bush when given the opportunity to lay out a plan.

So, I don’t know who I’m going to vote for.. right now.. personal poll.. Bush 55%, Kerry 45%. Today, I’d vote Bush.. but I’m very persuadeable.

My baby girl

When I was in Utah last month, I told everyone that Genna was having surgery this week. Well, she had her adnoids taken out on Tuesday and she was a trooper. She did everything the doctor said and came out of it as well as can be expected.

BUT…while recooperating, she got some sort of infection or virus. I rushed her to the hospital last night. We didn’t get home until almost midnight. They thought she had viral menigities. I haven’t had much sleep, so please excuse me if I can’t seem to spell anything today. Well the procedure that they had to do to find out that she didn’t have it was a spinal tap. They gave her four doses of morphine and she feel asleep in the middle of the procedure. If nobody has had one before, it is as bad as it sounds. I was with her the whole time.

When I was in Utah last month, I told everyone that Genna was having surgery this week. Well, she had her adnoids taken out on Tuesday and she was a trooper. She did everything the doctor said and came out of it as well as can be expected.

BUT…while recooperating, she got some sort of infection or virus. I rushed her to the hospital last night. We didn’t get home until almost midnight. They thought she had viral menigities. I haven’t had much sleep, so please excuse me if I can’t seem to spell anything today. Well the procedure that they had to do to find out that she didn’t have it was a spinal tap. They gave her four doses of morphine and she feel asleep in the middle of the procedure. If nobody has had one before, it is as bad as it sounds. I was with her the whole time.

She is home with grandaddy today. She still has a fever but she says she feels better. Keep your fingers crossed that my baby is on the mend.