Saturday, October 17, 2009 
Football, dogfighting, and brain damage

In Football, dogfighting, and brain damage, Malcolm Gladwell writes of the rather startling findings concerning brain damage that American footballers sustain over their careers.

The constant butting of heads leads to an enormously high rate of chronic traumatic encephalopathy (C.T.E.), which has symptoms like Alzheimer's. It's not just the concussions that cause it, but all the subconcussive contact. It's almost as dangerous to one's long-term health as boxing.

I grew up hating rugby and transferred that hatred to American football. I have no time for the game, which I find violent and repellent, nor for the jock culture that surrounds it.

Regardless of my feelings about football, Gladwell's article (as so many New Yorker pieces do) makes for compelling reading. Though I found the digressions about dogfighting to be strained and irrelevant.

posted on Saturday, October 17, 2009 7:34:53 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, October 16, 2009 
C is for Cookie

Over the last few weeks, I built a PHP application that overlays Approve 71 banners on profile pictures. The actual application is hosted in an iframe and lives on a server in a different domain, eq.dm, than the main server at approvereferendum71.org.

This works fine in most browsers. Then we started getting reports that it wasn't working in IE8 on Win7 RC1. The iframe content was blank.

Poking around, I found the problem with the Fiddler proxy. The landing page on eq.dm was supposed to stick some information into the PHP session, then redirect to a second page at the same site. The second page was in an endless loop, redirecting to itself. In Fiddler, I saw a different PHPSESSID cookie on each response, and no cookie in the requests.

After reading IE 8 only has access to session cookies, I told IE8 to Accept All Cookies and the iframe content appeared. That fixed it for me, but we could hardly ask people to lower their security sessions.

I created a P3P file for the second domain, using the IBM P3P Policy Editor. (KB 323752 has more background on P3P and third-party cookies.)

IE now worked at its default security level. Problem solved! Or so I thought.

A day later, we got reports of similar problems with Safari 4 on Mac OS X.

I sniffed the traffic with Wireshark. Same problem: the “third-party“ cookie wasn't being accepted by Safari.

Unfortunately, Setting cross-domain cookies in Safari indicated that there was no reasonable workaround.

We overcame the issue up playing some DNS games, which was only possible because we control both servers. The second server is now also acting as a subdomain of the first, at dev.approvereferendum71.org. We used ini_set("session.cookie_domain",".approvereferendum71.org") to scope the iframe cookies. I've tried it in a variety of Windows, Mac, and Linux browsers, and it works in all of them.

posted on Friday, October 16, 2009 7:15:10 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Thursday, October 15, 2009 
March to the Stars
Title: March to the Stars
Author: David Weber, John Ringo
Rating: 3.5 stars out of 5
Publisher: Baen
Copyright: 2003
Pages: 589
Keywords: science fiction
Reading period: 4–10 October, 2009

Third in a series, but the first that I've read.

Prince Roger and his Marine bodyguard have been marooned on an alien planet for six months. With local allies, they fight their way halfway around the world to the spaceport. And then the trouble really starts.

Well-done military SF: plausible, hard-bitten characters; good plotting; and exciting battle scenes.

posted on Friday, October 16, 2009 6:38:06 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Wednesday, October 14, 2009 
Git logo

In the last few weeks, I've switched over to Git for most of my version-control needs, at home and at work, after putting it on the long finger for months.

We continue to use Subversion at work, but I've recently followed Pavel and Eric's lead in using git-svn. I work locally on my own private branches and git svn dcommit and git svn rebase occasionally. I'm primarily on Windows at work, but I have a Linux box and a Mac Mini too, while at home, I have a MacBook, a Linux netbook, and a Vista desktop. I'm using msysGit, occasionally supplemented by TortoiseGit and QGit. Pavel's on a Mac and Eric's mostly on Ubuntu, so git adoption was easy for them.

When I first tried git-svn under msysGit about a year ago, it didn't work worth a damn. Git-svn works fine now, but it's slow compared to the *nix implementation. The developers say that's due to the fork() emulation of the MSys/Cygwin layer. The rest of msysGit is much faster.

For my home needs, I've had private Subversion repositories at DevjaVu.com and OpenSvn.csie.org. DevjaVu has gone out of business and OpenSvn has been unavailable too often for my liking. It was time to find some new hosting.

I've experimented with private Git repositories at GitHub and ProjectLocker. GitHub is very nice, but charges for private repositories. ProjectLocker provides free private repositories, but is comparatively clunky.

ProjectLocker lets you set up a fresh repository on their server. They tell you how to clone from that, which is great for a new repository. But they don't tell you how to hook it up to an existing local repository. Since I had some difficulty in figuring it out, here's the recipe:

git remote add origin git-foobar@freeN.projectlocker.com:foobar.git
git pull origin master
... merge, local edits and commits ...
git push origin master

I found Git, Xcode and ProjectLocker and Cygwin, SSH and ProjectLocker useful in figuring this out.

posted on Thursday, October 15, 2009 6:56:59 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, October 13, 2009 
The Lighthouse
Title: The Lighthouse
Author: P.D. James
Rating: 4.5 stars out of 5
Publisher: Vintage
Copyright: 2005
Pages: 383
Keywords: mystery
Reading period: 22 September–3 October, 2009

Nathan Oliver is a great writer, but a horrible man. Adam Dalgleish of Scotland Yard is called in when Oliver is found murdered on an island that is exclusively reserved for VIPs. Only a handful of people could possibly be the killer.

P.D. James adds psychological insight to a tightly plotted classic mystery. Dalgleish is both a poet and a detective. Both aspects are required to get to the heart of what happened on Combe Island.

posted on Wednesday, October 14, 2009 6:21:51 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, October 12, 2009 
Spook Country
Title: Spook Country
Author: William Gibson
Rating: 4 stars out of 5
Publisher: Berkley
Copyright: 2008
Pages: 384
Keywords: fiction
Reading period: 14–21 September, 2009

William Gibson has abandoned cyberspace for the present day. No matter. The same elements of paranoia, adrenalin, and technospeak are present.

His story follows three sets of characters, all of whom ultimately intersect, chasing the same mcguffin.

Enjoyable, if confusing.

posted on Monday, October 12, 2009 7:16:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, October 11, 2009 
National Coming Out Day

Today is National Coming Out Day, a day to promote awareness of lesbian, gay, bisexual, and transgender people. For anyone who doesn't already know: I'm bisexual.

I'm married to Emma. That leads people to tacitly assume that I'm straight. Too often, I do little or nothing to challenge that assumption, either from straight people or gay people.

I came out in grad school, a couple of years after leaving Ireland. It was difficult at first, but ultimately rewarding.

I'm married to a woman, but I could have ended up with a male partner, a partner whom I could not legally marry in Washington state. Emma and I married because anything else is second class. This is the root of my passionate involvement with the Approve 71 campaign. It's also why I've been a leader of BiNet Seattle for more than a decade.

The National Equality March takes place in Washington DC this weekend. Forty years after the Stonewall riots, LGBT people are rallying for equal protection in all matters. This is also the Seattle LGBT Equality Weekend.

There's a march this afternoon, starting from Volunteer Park at 2pm. I'll be there. Will you?

PS Let me refer you to Tim Wilson's Coming Out as Good Citizenship.

posted on Sunday, October 11, 2009 6:50:51 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, October 10, 2009 
Approve71 silhouette

I'm breaking radio silence to explain the uncharacteristic drought of blog posts. In my last post, I mentioned that I had created a Twibbon overlay for Approve71.org, allowing you to overlay Approve71's badge over your Twitter icon.

The next day I went over to Approve71's headquarters and introduced myself to the tech team, Josh, Joe, and Adam. One thing led to another, and I spent that weekend writing my first-ever PHP code, which allowed you to upload a photo to Approve71's website, stamp a banner on it, and then save it so that you could subsequently upload it to Facebook for your profile picture.

It's been a big success, used a couple of thousand times.

Since then, I spent a lot of time working on a second version, which lets you crop the photo (using imgAreaSelect) and choose from a set of overlay banners. Some of the banners are for the NO on 1 campaign in Maine, where they're fighting an attempted repeal of their same-sex marriage law.

George on Facebook George on Facebook

The second site went live earlier this week. Try it out: Create a Profile Picture.

posted on Saturday, October 10, 2009 6:59:44 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Wednesday, September 16, 2009 
George on Twibbon

Twibbon is a service that allows you to overlay a cause's badge over your Twitter icon.

I created a Twibbon overlay for Approve71.org.

The results look great on Twitter and Twibbon.

Unfortunately, if I save the image and upload it to Facebook as my profile picture, it doesn't look so good. Even if I use the FB UI to pan around in the image, the cropping ruins it.

I just mailed stormideas, the people behind Twibbon, asking if they could do something similar for Facebook profiles.

George on Facebook
posted on Wednesday, September 16, 2009 7:47:24 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, September 15, 2009 
Approve Referendum 71 community organization meeting

I attended the Approve Referendum 71 community organization meeting this evening and came away with several good ideas.

Emma and I are going to organize a fundraiser in late September or early October. Stay tuned.

I'm getting Freely Speaking Toastmasters and BiNet Seattle to officially endorse the Approve Referendum 71 campaign.

Large businesses like Microsoft and Boeing endorsed the campaign yesterday. I'm told a number of small businesses have too. I'm going to ask our CEO to endorse the campaign. Robbie was willing to host Patty Murray at Cozi and to appear in her press releases, so why not.

I offered my technical services to the campaign, though I'm willing to do grunt work too.

posted on Wednesday, September 16, 2009 6:57:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, September 14, 2009 
The Stockholm Syndicate
Title: The Stockholm Syndicate
Author: Colin Forbes
Rating: 3 stars out of 5
Publisher: Pan
Copyright: 1981
Pages: 321
Keywords: thriller
Reading period: 13 September, 2009

The SPECTRE-like Stockholm Syndicate is ruthlessly spreading terror among the European governments. The shadowy Telescope organization, led by former cop Jules Beaurain, is fighting it.

The plot is preposterous but engaging in a classic Cold War thriller way.

posted on Tuesday, September 15, 2009 6:58:35 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, September 13, 2009 
The Thirteen-Gun Salute
Title: The Thirteen-Gun Salute
Author: Patrick O'Brian
Rating: 4.5 stars out of 5
Publisher: W.W. Norton
Copyright: 1989
Pages: 368
Keywords: historical fiction
Reading period: 7–13 September, 2009

After the events of The Letter of Marque, Jack Aubrey is reinstated as a post-captain in the Royal Navy. He and Stephen Maturin are sent on a diplomatic mission to the South China Sea. Stephen gets to indulge in both a great deal of natural history and in behind-the-scenes political intrigue during the negotiations. Soon after their departure from Pulo Prabang, the Diane beaches upon a reef and breaks up during a storm, marooning them on a remote island.

The book stands on its own merits, but it also advances the story that builds throughout the series. Ledward and Wray, the English traitors who nearly brought down Jack, get their comeuppance in a ghoulish way. Stephen, weaned of his longstanding dependence on laudanum, is both sharper and less pleasant. There is plenty of sailing, but very few battles. Much time is spent on land, but little of it in England.

Recommended.

posted on Monday, September 14, 2009 5:54:01 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, September 12, 2009 
Lyndol and Marie

Two months after our memorial for Frank Maloney, we took the ferry over to Vashon Island to scatter his ashes. It was a beautiful September day, sunny but not too hot, and a 20-minute ferry ride was most pleasant.

Kim and Holly fed us lunch at their place and we all fell in love with their six rescue kittens. We drove to a secluded beach and each of us scattered a teaspoon of Frank's ashes upon the waters. We sat there for a while and talked and wandered. Then, back to Holly and Kim's for cake and coffee.

I know that Frank would have thoroughly enjoyed the day: the fine weather, the ferry ride, the beach, and the food. He would have reveled in the kittens and shone in the company of his friends, who continue to miss him.

I took a large number of photos. The best, somewhat edited, are up at Flickr: ferry, kittens, and ashes.

posted on Sunday, September 13, 2009 6:55:29 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, September 11, 2009 
Win64

I've been running the 64-bit version of Windows 7 RC since June. It's been quite painless on the whole.

One wrinkle that I ran into was with some batchfiles which launch applications in %ProgramFiles% (normally C:\Program Files). Due to the magic WOW64 redirector, 32-bit applications are actually installed into %ProgramFiles(x86)%—normally C:\Program Files (x86)—instead of %ProgramFiles%. This is transparent to the 32-bit applications, which think they're running in %ProgramFiles% (C:\Program Files).

However, the cmd.exe shell is 64-bit (unless you make a special effort to run the 32-bit cmd.exe in SysWOW64), so batchfiles see the 64-bit %ProgramFiles% which contains 64-bit applications.

Hence, a batchfile that launches an installed 32-bit application on Win64 must use %ProgramFiles(x86)%, not %ProgramFiles%.

It sounds trivial to have a batchfile detect which flavor of %ProgramFiles% it should use, but the parentheses in the environment variable name make it tricky to parse. On earlier versions of Win64, the environment variable was called %ProgramFilesx86%. Presumably they added the strange parentheses into the variable name because the directory name always included them.

Here's a tiny batchfile that will launch the 32-bit DiffMerge correctly on both Win64 and Win32 platforms.

@setlocal
@set _pf=%ProgramFiles%
@if not "[%ProgramFiles(x86)%]"=="[]" set _pf=%ProgramFiles(x86)%
@start "" /b "%_pf%\SourceGear\DiffMerge\DiffMerge.exe" %*

I long ago found that the safest way to test environment variables whose values may include spaces, is to surround them with both double quotes and square brackets.

posted on Saturday, September 12, 2009 6:06:58 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Thursday, September 10, 2009 
Approve Referendum 71

I spent 90 minutes phonebanking for Approve 71 after work today. I called voters who had already been identified as leaning progressive and asked them to vote APPROVE on Referendum 71 in November.

Under the recent Domestic Partnership law (SB 5688 aka the “everything but marriage bill”), registered domestic partners (same-sex couples and opposite-sex couples with at least one partner over age 62), and married couples, are now treated equally under the law in all parts of Washington state.

The Religious Right objected and put together an initiative which scraped together just enough signatures to be on the ballot. They'll be voting to REJECT the bill, which would overturn domestic partnerships in this state.

Civil rights should not be subject to a vote. It's important not to have a repeat of last year's Proposition 8 debacle in California. It's important to me personally and I'm putting time and money into the campaign.

If you want to join the effort, sign up at Approve71.org, and become a fan on Facebook.

Phonebanking will take place regularly in Seattle and other locations. In Seattle, it's happening at the Equal Rights Washington offices at 7th & Columbia, beside the freeway offramp. If you have a laptop with Skype, bring it along.

See you there.

posted on Friday, September 11, 2009 6:39:12 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Wednesday, September 09, 2009 
Paying Bills

Paying bills always makes me grumpy. More than just the drain on my wallet, it's also the sheer hassle and tedium.

I think it was last year that I finally switched over to using electronic billpay. (I'm not always an early adopter.) The hassle is less and I seldom write checks now.

I'd like to know why electronic payments take days, not milliseconds, to clear. More predatory bank practices, no doubt.

I wrote several checks tonight. For months I had been putting off renewing my membership in various do-gooder organizations like the ACLU, the EFF, and GLAAD. Some I wrote checks to, others I used their online forms.

I'm going to be getting a couple of dozen checks in the next few weeks. I'm the treasurer of Freely Speaking Toastmasters and our semi-annual dues are due at World HQ on October 1st. We had to raise our club dues by $5, as we moved our meeting location and now have to pay rent.

posted on Wednesday, September 09, 2009 7:47:18 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Tuesday, September 08, 2009 
Bad Debts
Title: Bad Debts
Author: Peter Temple
Rating: 4.5 stars out of 5
Publisher: Quercus
Copyright: 1996
Pages: 319
Keywords: mystery
Reading period: 7 September, 2009

Jack Irish is a one-time lawyer who makes a living doing odd jobs—investigations, racehorse handicapping, cabinet making—in Melbourne. A former client, who went to jail years ago while Jack had crawled into a bottle, tries to reach Jack and promptly turns up dead. Jack starts looking and what he finds isn't pretty: corruption all the way up into the state government.

Jack isn't stupid, but he is naïve and out of his depth for much of the book. Temple combines the Australian backdrop, social commentary, a decent plot, and interesting characters to make a good book.

posted on Wednesday, September 09, 2009 6:25:46 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, September 07, 2009 
Dracula in London
Title: Dracula in London
Editor: P.N. Elrod
Rating: 3 stars out of 5
Publisher: Ace
Copyright: 2001
Pages: 248
Keywords: horror
Reading period: 2–6 September, 2009

In Bram Stoker's 1897 novel, Dracula relocates from Transylvania to London. Asking themselves, what would Dracula have done in London before he was killed by Van Helsing, 18 authors wrote unconnected short stories. Dracula meets the Prince of Wales, he is observed by the servants, he terrorizes Aleister Crowley and Charles Fort and Ellen Terry, he even takes the lead in the Pirates of Penzance.

The stories are uneven. None is outstanding.

posted on Monday, September 07, 2009 7:42:32 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Sunday, September 06, 2009 
AIDS Walk 2009

I held my annual fundraising barbecue for the AIDS Walk today. Actually, the weather was so wet this morning that we cooked and ate inside.

I am happy to report that thanks to the generosity of my sponsors, I have raised $982 of my original goal of $1000. With three weeks left until the walk, I am predicting success in reaching my goal.

posted on Monday, September 07, 2009 6:55:26 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]