Sunday, May 14, 2006 

I sometimes joke that I must be adopted because my parents have no aptitude for computers. I could make a similar joke about writing. Many of my immediate family, despite decent educations, seem to be incapable of writing a simple English sentence, much less a coherent paragraph.

One relative writes emails that are bereft of punctuation: neither a comma nor a full stop (period) is to be found. Capital letters occur, but too randomly for my liking. And everything is linked into one paragraph, no matter how long or disjointed. Yet, I've received adequately punctuated handwritten letters and postcards from him. I attribute his email slovenliness to a combination of laziness and hunt-and-peck typing. Whatever the cause, it reflects poorly on him.

John Scalzi has some Writing Tips for Non-Writers Who Don't Want to Work at Writing. Here's the summary:

  1. Speak what you write ... If what you're writing is hard to speak, what makes you think it's going to be easy to read? It won't be. ...

  2. Punctuate, damn you: For God's sake, is it really so hard to know where to put a comma? ...

  3. With sentences, shorter is better than longer.

  4. Learn to friggin' spell.

  5. Don't use words you don't really know.

  6. Grammar matters, but not as much as anal grammar Nazis think it does.

  7. Front-load your point.

  8. Try to write well every single time you write.

  9. Read people who write well.

  10. When in doubt, simplify.

  11. Speak what you write.

Go read the whole thing.

I found some useful links in the comments that follow Scalzi's Tips:

And here's a few tips of my own:

  • One thought per paragraph. Run-on paragraphs offend me and annoy me. If a paragraph has more than four sentences, it's probably too long.

  • Pick up something that was written by a competent writer who you enjoy and analyze a page. Why did they choose to break sentences where they did? Why are the commas placed where they are? Do the paragraph breaks make sense? What about the word choice? Did it clearly and succinctly convey their ideas, their tone? (Hell, just analyze this post.)

  • Think before you write. Before you dive in headlong, what is it you're trying to convey? This doesn't have to take you very long. A few seconds before a short email is enough.

  • Reread what you wrote, before you send it off. Revising mistakes is so easy on a computer that you have no excuse for not bothering.

This isn't enough to turn you into a professional writer, but it will make a marked improvement in what you write.

posted on Monday, May 15, 2006 6:56:18 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

David Neiwert writes:

Go smugly amid the noise and haste,
and remember what peace there may be in stonewalling.
As far as possible, leave no chance of surrender
and be on superior terms to all other persons.
Speak your truthiness loudly and garbled;
and never listen to others,
especially not the wise and the well-informed;
they can all just go to hell.

Rest here.

posted on Sunday, May 14, 2006 11:57:00 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

President Al Gore on Saturday Night Live, spoofing the disastrous six years of Bush.

posted on Sunday, May 14, 2006 10:50:22 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

I first started blogging at EraBlog in February 2003, during the run-up to the Iraq war. EraBlog never really took off and now seems to be experiencing technical problems.

I'm reposting all of my original posts. I've cleaned up the links, where possible, and added an image at the top of each one, but have not otherwise modified the posts.

As you can see, Iraq weighed on my mind. And I was fucking right! Going to war was wrong, and even then I (like many others) could see that the case for war was lacking.

2003/02/07: Casus Belli

2003/02/07: Pencil Carvings

2003/02/07: State of the Union

2003/02/07: Hasbians: Bi for Now

2003/02/07: Barbara Lee: Public Enemy Number One?

2003/02/08: Bush-Iraq parody of Nigerian spam scam

2003/02/09: Casus Belli II

2003/02/09: TiVo

2003/02/09: Powell at the UN

2003/02/14: Patriot Act II

2003/02/14: Hans Blix reports to the UN

2003/02/14: Seattle Peace Rally, Sat 15th Feb, Seattle Center

2003/02/20: The Seattle March

2003/02/21: MSNBC's The Savage Nation

2003/02/24: Why Nerds are Unpopular in American high schools

2003/02/26: Why God is a Computer Programmer

2003/03/04: Irish Personals

2003/03/12: The Onion does St. Patty's Day

2003/03/17: Candlelight Vigil for Peace

2003/03/18: How Bush made enemies of our allies

More to follow tomorrow.

posted on Sunday, May 14, 2006 9:00:31 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, May 13, 2006 

I remember about two years ago, before a trip across the Atlantic, trying to find websites that had street maps for London and Dublin -- and coming up nearly empty.

Now, a year after it became available, I notice that Google Maps covers Ireland and the UK. Unfortunately, it does a piss-poor job of finding locations: try typing anything more specific than Dublin into the search box.

Google Maps now provides a basic ability to get directions between cities.

Some other map links:

posted on Sunday, May 14, 2006 2:22:52 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

Via Bootboy, a video of "Jesus" singing Gloria Gaynor's I Will Survive.

posted on Saturday, May 13, 2006 8:38:51 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Wednesday, May 10, 2006 

More than two years in the making, Vim 7.0 is finally out!

(Vim is Vi IMproved, an enormously enhanced version of the classic Unix editor, vi.)

The main features of the 7.0 release are:

  • Spell checking

  • Omni-completion (Intellisense-like)

  • Tabbed pages

  • VimL script language now supports Lists and Dictionaries

I'm going to take credit for some minor features of Vim 7:

WikiPedia summarizes the history of Vim. This enabled me to pinpoint when I first became a contributor to Vim, back in December 1995. I cleaned up the original, rather buggy port of Vim 3.0 to NT, and posted it to the comp.editors newsgroup. Bram invited me to merge my changes into Vim 4.0, which was then under development, and I became the owner of Win32 Vim for the next couple of years.

posted on Thursday, May 11, 2006 6:42:59 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

I saw a video clip of so-called Russian Climbing at work today. It turns out that it's an extreme sport of French origin called Parkour or Free Running.

Parkour is "the art of forward motion in spite of obstacles". Its practitioners (traceurs) run around urban landscapes, performing Jacky Chan-like leaps, rolls, stunts, jumps, and flips.

The excellent HowStuffWorks.com has a good introductory piece on Parkour.

There is a local group of traceurs, who are written up in a P-I article. Their website is Washington Parkour. It seems there's a "jam" every Sunday at noon at Seattle's Freeway Park. It sounds like a photo-op to me.

posted on Thursday, May 11, 2006 6:03:20 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

Three years ago, one of our must-watch shows was Fire Within, a documentary on the making of Cirque du Soleil's Varekai show. It followed a set of would-be performers in the eight months leading up to the premiere of Varekai, as they train at the Cirque's school in Montreal, developing potential acts. Some of them make it, some fall by the wayside.

Varekai has been on tour ever since, and it just opened in Seattle. We saw it tonight. Very little of the original show survives; mostly, the aerial strap act with the twins, Kevin and Andrew.

I recommend it. Varekai is a visual spectacular, with all the familiar elements of incredible acrobatics, clown acts, and bizarre costumes.

Two young Chinese boys twirling pots on ropes; hunky twin men on aerial swings; a team of acrobats twirling each other on their feet; a spotlight-loving sleazeball crooner; acrobats hurtling off a giant swing; and a human pretzel of a contortionist. Quite the show.

Someday I have to post the photos that I took of the Zip Zap circus school performing at the Cavendish mall in Cape Town. Some of the best free entertainment that I've ever come across.

posted on Wednesday, May 10, 2006 7:07:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, May 09, 2006 

A lot of anti-war music and videos are appearing of late, and about time too.

Via AmericaBlog, I learn today of Jackson Browne's new anti-war video, Lives in the Balance.

There's also Pink's song Dear Mr. President.

Not to mention Neil Young's new album, Living with War. You can listen to the entire album online.

And the Dixie Chicks' forthcoming album, Taking the Long Way.

posted on Tuesday, May 09, 2006 9:14:06 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, May 07, 2006 

Today (May 6th) was our sixth wedding anniversary. In some ways, it feels like only yesterday. In others, it feels like we've been together forever.

Six pretty good years. Lots of good memories. Quiet times. Happy times. Travel together. Staying home together. Going out together. Mixing with our friends.

Not perfect years. I'd change a few things if I could, like Emma's health and her two long periods of unemployment. I should have quit Microsoft months before I did in 2004.

We celebrated by having some friends over for dinner. Raven came with Mr. Raven. Muhsin and Banu, newly back from a long trip to Turkey, came too. I made Afghan Chicken. It was a little dry this time, but it was still a big hit. Emma hurt her foot last week, so I did all the cooking.

Tomorrow morning, we're going on the Spirit of Washington Dinner Train for brunch.

posted on Sunday, May 07, 2006 7:33:42 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, May 05, 2006 

Here's an interesting Campari ad, where things are not as they seem. Worksafe, but only barely.

Some background from Campari: The Secret

posted on Friday, May 05, 2006 7:02:36 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Wednesday, May 03, 2006 

I hang out on the SourceForge-hosted inkscape-user mailing list, where I pick up useful tips for the Inkscape SVG editor (vector drawing program).

For months, the list has been plagued with spam; largely because anyone can send to the list. The policy has been not to require new users to sign up for the list before being able to send questions. This is commendably friendly and user-centric, but the spam has become a real annoyance.

One of the Inkscape developers finally said that, if a dozen or more people said "yes, restrict posting to list members only" and no-one opposed it, he would lock the list down. I attempted to vote yes and got the following rejection letter from SourceForge:

 <inkscape-user@lists.sourceforge.net>:
66.35.250.206 does not like recipient.
Remote host said: 550-Postmaster verification failed while checking <george@reilly.org>
550-Called: 205.158.62.206
550-Sent: RCPT TO:<postmaster@reilly.org>
550-Response: 550 <postmaster@reilly.org>: User unknown
550-Several RFCs state that you are required to have a postmaster
550-mailbox for each mail domain. This host does not accept mail
550-from domains whose servers reject the postmaster address.
550 Sender verify failed
Giving up on 66.35.250.206.

Such irony! I had received a similar bounce a few days before from the FlexWiki-Users mailing list, which is also hosted by SourceForge, when I announced Vim Syntax Highlighting for FlexWiki.

I don't own the reilly.org domain. It (and thousands of others) are owned by NetIdentity. I had an exchange with their postmaster, who said in part:

I did talk to sourceforge. They claimed it is an essential part of their spam filtering process to reject domains that dont have a postmaster mailbox.

I've tried that (at least on a test basis) myself and with all due respect to them, it is passe' ... doesnt work too well. And it has the added "advantage" of having to connect back to the sending mail domain every time to see if a postmaster for that domain exists. This holds up email and creates additional smtp connections - and hence even more load on mailservers, in the case of domains - with postmaster up and running - that are forged into spam.

I did suggest a few more rather efficient (and practical) filters they could use, but well, they didnt respond to those

He has since added a postmaster mailbox for reilly.org, so I can post to SourceForge lists again.

The Inkscape vote passed, of course. Only subscribers can post now. Non-subscribers can also use a webform to send questions, so it's not a big impairment.

posted on Thursday, May 04, 2006 6:14:37 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]

We use FlexWiki at work. It's an ASP.NET-based wiki, a low-overhead, organic way of sharing knowledge.

The only built-in means of editing a page in FlexWiki is to type into an HTML textbox, which is a horrendous user experience. There's no WYSIWYG feedback showing you whether you've got the wiki markup right.

Back in December, Emma and I went to the Oregon coast for a week. We had no Internet access and long dark evenings, so I spent quite a bit of time on my laptop, working on a couple of projects. One was a new theme (skin) for DasBlog, which I didn't finish to my satisfaction. I really ought to get back to that.

The other was Vim syntax highlighting for FlexWiki, partially because it's useful in its own right, partially because I wanted an excuse to learn the arcane syntax highlighting mechanism in Vim.

As you can see in the picture, syntax highlighting makes the wiki markup a lot clearer than it would be in black-and-white.

I got it working satisfactorily in December, but I didn't get around to releasing it on the Vim scripts repository until last week. The week before, Bram had issued a final call for submissions of scripts for Vim 7.0, which galvanized me into releasing it as the FlexWiki Plugin for Vim.

Bram has included it in the most recent beta, Vim 7.0g, after I made a few changes. Those changes have not yet been propagated into the standalone version, but I'll try to do that later this week.

posted on Thursday, May 04, 2006 6:12:00 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

Some recipes from the back of a bag of Trader Joe's Southern Greens Blend (Mustard Greens, Turnip Greens, Spinach, and Collard Greens).

Simple Greens -- Serves 4

1 lb

Mustard Greens, Turnip Greens, Spinach, and Collard Greens

1 clove

garlic, minced

1 onion

chopped

1/2 cup

chopped green onions

2 Tbsp.

olive oil

1 cup

vegetable broth

1 cup

tomato juice

 

Salt, pepper, and marjoram to taste

 

Grated Parmesan cheese

Saute garlic and onion in olive oil in a pot large enough to hold greens. Add vegetable broth and tomato juice. Bring to a boil.

Add greens and seasonings. Cover and cook over low heat for 35 minutes or until tender. Sprinkle with parmesan cheese and serve.

Mediterranean Greens -- Serves 3-4

1 lb

Mustard Greens, Turnip Greens, Spinach, and Collard Greens

1/4 cup

sundried tomatoes, oil marinated & sliced

2 Tbsp.

minced fresh garlic

 

Ground black pepper to taste

2 Tbsp.

toasted pine nuts

1/4 cup

black olives

1/4 cup

pimiento-stuffed olives

1/4 cup

kalamata olives, pitted & sliced

1/4 cup

olive oil

1 1/2 cups

roma tomatoes, cut into strips

1 cup

vegetable or chicken broth

(Note: The original recipe called for half a cup of each of the three types of olives, which we found overpowering. I've halved the quantities to one-quarter cup each.)

Combine olives, sun-dried tomatoes, garlic, olive oil, and pepper in a large pre-heated skillet. Cook over high heat for 6-8 minutes, until boiling. Blend in roma tomatoes and heat 2 more minutes. Add greens and broth and continue to cook for 25-30 more minutes. Stir in pine nuts and salt to taste. Serve at once as an accompaniment or spoon over pasta and serve as a main course.

Louisiana Style Greens & Sausage -- Serves 3-4

1 lb

Mustard Greens, Turnip Greens, Spinach, and Collard Greens

2 Tbsp.

olive oil

1 onion

diced coarsely

8 oz.

Papa Cantella's Smoked Chicken Andouille Sausage, sliced 1/4" thick (or other cooked sausage)

2 cups

chicken broth

 

Salt and pepper to taste

Over medium heat, cook onions in olive oil until soft in a 4 quart pot. Add the sausages, greens, and chicken broth, stirring to blend all ingredients. Simmer gently over low heat for about 35 minutes or until greens are tender. Season with salt and pepper to taste.

posted on Thursday, May 04, 2006 5:19:19 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

I found this recipe for dressing on the back of a bag of cole slaw.

1/2 cup

mayonnaise

1/2 tsp.

sugar

2 tbsp.

milk

1 tbsp.

ground celery seed

2 tbsp.

cider vinegar

1 lb

cole slaw

Mix sugar, ground celery seed, and milk into mayonnaise. Add cider vinegar and whisk until smooth. Add to cole slaw.

posted on Thursday, May 04, 2006 5:05:39 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

On Saturday night, at the White House Correspondents Dinner, Stephen Colbert did something brave and unparalled. Standing 10 feet from George Bush and in front of an audience of hundreds of members of the Washington press corpse, Colbert, acting in his persona of a Bill O'Reillyesque pundit, flayed them with irony and sarcasm.

The greatest thing about this man is he's steady. You know where he stands. He believes the same thing Wednesday that he believed on Monday, no matter what happened Tuesday. Events can change; this man's beliefs never will. As excited as I am to be here with the president, I am appalled to be surrounded by the liberal media that is destroying America, with the exception of Fox News. Fox News gives you both sides of every story: the president's side, and the vice president's side.

But the rest of you, what are you thinking, reporting on NSA wiretapping or secret prisons in eastern Europe? Those things are secret for a very important reason: they're super-depressing. And if that's your goal, well, misery accomplished. Over the last five years you people were so good -- over tax cuts, WMD intelligence, the effect of global warming. We Americans didn't want to know, and you had the courtesy not to try to find out. Those were good times, as far as we knew.

But, listen, let's review the rules. Here's how it works: the president makes decisions. He's the decider. The press secretary announces those decisions, and you people of the press type those decisions down. Make, announce, type. Just put 'em through a spell check and go home. Get to know your family again. Make love to your wife. Write that novel you got kicking around in your head. You know, the one about the intrepid Washington reporter with the courage to stand up to the administration. You know - fiction!

Because really, what incentive do these people have to answer your questions, after all? I mean, nothing satisfies you. Everybody asks for personnel changes. So the White House has personnel changes. Then you write, "Oh, they're just rearranging the deck chairs on the Titanic." First of all, that is a terrible metaphor. This administration is not sinking. This administration is soaring. If anything, they are rearranging the deck chairs on the Hindenburg!

What balls! To stand in front of that crowd and show them up for the fools they are.

Complete transcript. Video.

Update: A much more eloquent essay, The truthiness hurts, at Salon.

Update #2: www.ThankYouStephenColbert.org has over 50,000 signatures as of May 7th. And the Stephen Colbert Musical Extravaganza is very silly.

posted on Wednesday, May 03, 2006 7:24:24 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, May 02, 2006 

Doing the rounds. John Cleese at the Institute for Backup Trauma.

posted on Wednesday, May 03, 2006 6:49:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, April 29, 2006 

I've just spent an hour working through the tutorials for Google SketchUp. It's a free 3D modeling tool. Pretty slick and easy to use.

I worked on 3D graphics and user interaction when I was a Master's student at Brown in the early 90s. What we had then wasn't bad, but the SketchUp UI is easier to use and more functional, and it runs on a regular PC instead of a high-end Unix workstation.

I can see myself using SketchUp to model woodworking projects.

posted on Saturday, April 29, 2006 10:42:33 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, April 28, 2006 

I'm writing some C++ code at the moment, after months of C#. I'm trying to be very Test First, writing Red tests, then making them turn Green.

I'm also using CppUnit for the first time. It's not as easy as NUnit. You can't just declare your test method with an attribute, you have to declare the test method in a header file, place it inside a macro, and then have the test implementation in a .cpp file. And there's no nunit-gui. I'm using a post-build step to run the tests, which makes it fairly pain free.

There was one internal method that I didn't have an explicit test for, although I had tests for methods that called it. The main obstacle was that I didn't have a simple way to check the result, as the method returned a vector of objects. I didn't want to have to construct another vector of expected results.

Then it came to me: I could wrap the vector in a class and write a ToString() method for it (as well as a ToString() for the contained objects), and compare that to a string constant:

 RateList result = creative.GetRates();
CPPUNIT_ASSERT(result.ToString() == "100_4x3:100_16x9|200_16x9|400_4x3:400_16x9");

In retrospect, it should have been obvious. I already have ToString() methods for many of my other objects, and I'm using CPPUNIT_ASSERT(actual.ToString() == expected) in many of my unit tests. The extra step of writing ToString() for the collection blocked my thinking.

posted on Saturday, April 29, 2006 3:22:21 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, April 23, 2006 

Vim and DasBlog, two open source projects that I'm associated with, have both switched over to using the Subversion source code control system in the last week. In both cases, the prolonged problems with anonymous CVS access at SourceForge proved the final straw. And I provided the impetus, by bringing up the need for a change on the vim-dev and dasblogce-developers mailing lists. I take no credit for doing the work, however, as that was done by others.

(Vim's primary repository continues to be CVS, with Subversion acting as a mirror for anonymous access. Bram didn't want to change over until after Vim 7 ships.)

Earlier this year, we switched over to Subversion at work, after years of using Visual SourceSafe. It was a huge improvement. Having to use VSS was a big shock to my system, after years of using Source Depot at Microsoft. Transactional checkins are really nice and I've grown to like TortoiseSVN as a front-end to Subversion.

posted on Monday, April 24, 2006 3:24:51 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, April 22, 2006 

I've ported Vim to Win64. Native binaries for AMD64 can be found on my Vim page.

In the end, it wasn't all that hard. Last weekend, I fixed approximately 400 warnings that were thrown up by the x86_amd64 cross compiler. Most of them were due to the widening of size_t (especially the value returned from strlen()) and ptrdiff_t to 64 bits. Several years ago, I went through a similar exercise in fixing these warnings for Vim6, but I never finished the port.

This week, I scrounged access to an AMD64 box at work. Today, I turned on the /Wp64 flag, which found several new, subtler problems, where pointers where being truncated to __int32s or conversely __int32s were being widened to pointers. Judicious introduction of (the equivalent of) (INT_PTR) casts fixed most of those.

At that point, I tried running the binary. It refused to start! After a few detours, I had WinDbg installed, and ran gvim under WinDbg. That showed that the error was 14001 (ERROR_SXS_CANT_GEN_ACTCTX, "The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log for more detail.") The event log showed nothing.

After more investigation, I found a WinSxS manifest for the Windows Common Controls:

 

processorArchitecture="X86"
version="6.2.0.0"
type="win32"
name="Vim"
/>
Vi Improved - A Text Editor


type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="X86"
/>



Once the two instances of processorArchitecture="X86" were set to processorArchitecture="AMD64", Vim started working without a hitch. Despite my naïve expectations, none of the other fields in the comctl32 assembly needed to be changed.

posted on Saturday, April 22, 2006 7:55:29 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Tuesday, April 18, 2006 

One of my favorite shows is back on the TiVo. Barbecue University is Steven Raichlen's show about all kinds of grilling and barbecue techniques and recipes.

I love this recipe for Afghan Game Hens, although I always substitute chicken(s) for the game hens. This recipe convinced me to buy a rotisserie. It's been a huge hit whenever I've served it up. It's not the easiest meal to prepare, so I don't do it often. Note: I cook the marinaded onions in a pan and serve them with the chicken. Yum!

Beer Can Chicken, on the other hand, is very easy. It also works well in the oven. Last year, I found a stand which holds the beer can; it's far more stable than propping the chicken just on the can and the leg tips.

posted on Wednesday, April 19, 2006 6:35:53 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, April 17, 2006 

Over at FireDogLake, they've put together an impressive (and depressing) series on the "racist freak show" that constitutes so many right-wing blogs.

Enlightening, if distasteful.

posted on Tuesday, April 18, 2006 6:53:10 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

I'm a lot happier in my U.S. congressman, Jim McDermott, than I am in my senators, Patty Murray and Maria Cantwell. (Especially Cantwell.)

Jim has been a strong progressive voice in Congress for years. His early opposition to the Iraq War led to him being dubbed 'Baghdad Jim' by infuriated Republicans. He was one of the first national politicians to support Howard Dean's bid for the presidency. He had a big role in Fahrenheit 9/11. And he reads the role of Leopold Bloom for the Wild Geese Players of Seattle's readings of Ulysses.

For a decade, Jim has been fighting a legal battle for freedom of speech. Recently, the appeals court ruled against him, leaving him with a $700,000 legal bill.

One Seattle activist is organizing a theatrical benefit for Jim McDermott. More background on Boehner v. McDermott at the preceding link and at McDermottForCongress.com.

Send money at the McDermott Legal Expense Trust.

posted on Tuesday, April 18, 2006 6:44:48 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]