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]
Sunday, April 16, 2006 

Via Win Tech Off Topic, an amazing collection of Rube Goldberg devices from a Japanese children's TV show. 13 minutes.

It reminds me of the famous Honda 'Cog' Ad, which can be viewed here.

posted on Sunday, April 16, 2006 10:08:14 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, April 10, 2006 

It's no secret that Bush is appallingly vacuous and incoherent whenever he has to answer a question that he hasn't been prepped for. Here are a few excerpts from his recent appearance at Johns Hopkins University:

The Presidency Is No Place for a Smart person

We're a influential nation, and so, therefore, many problems come to the Oval Office. And you don't know what those problems are going to be, which then argues for having smart people around. That's why you ought to serve in government if you're not going to be the President. You have a chance to influence policy by giving good recommendations to the President.

Return of Complete, Blithering Nonsense

I appreciate that very much. I wasn't kidding -- I was going to -- I pick up the phone and say, Mr. Secretary, I've got an interesting question. This is what delegation -- I don't mean to be dodging the question, although it's kind of convenient in this case, but never -- I really will -- I'm going to call the Secretary and say you brought up a very valid question, and what are we doing about it? That's how I work. I'm -- thanks.

What's An "Integral"?

Economic development provides hope. And so, you bet. It's an integral of our policy.

Too Many Talking Points For One Tiny Brain

I think we need to be -- understand that we're a nation of immigrants, that we ought to be compassionate about this debate and provide a -- obviously, we've got to secure the border and enforce the law.

Wouldn't it be nice if we had a president who could speak in coherent sentences.

More at Your President Speaks.

posted on Tuesday, April 11, 2006 4:55:13 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Saturday, April 08, 2006 

Vim vs. Visual Studio

I've been an obsessive vi user for more than 20 years. Vi keystrokes are indelibly burned into my muscle memory. When I have to use Notepad or Word or Visual Studio, I feel crippled. I have to work harder to do simple things; I have to type too many chords with Alt and Ctrl; I have to take my hands off the home keys to use the cursor keys and the mouse.

In the mid-90s, I adopted Vim (Vi IMproved) to the point where I became a significant contributor, writing a big chunk of the Win32 code.

While I was at Microsoft, I hardly ever used Visual Studio. I edited my C/C++ code with Vim, I compiled and linked it with the NT Build Environment and I debugged it with WinDbg/ntsd/kd. I was hardly alone in this. In the Windows division, your code has to build with the NT build environment, and the Windows debuggers are much better supported than the Visual Studio debugger for developing the OS.

Now that I'm programming in C#, using the Visual Studio IDE makes a lot more sense. VS's IntelliSense for C# is much richer than Vim7's Omni completion, especially when coupled with ReSharper, and VS is the debugger of choice for managed code. I've been spending a fair amount of time in the VS IDE, especially when pair programming, but I've also been switching back to Vim a lot. When I'm struggling with unfamiliar code, VS's IntelliSense is a great comfort; when I'm moving a lot of text around, Vim suits me far better.

ViEmu

Earlier this week, by way of its graphical Vim cheat sheet, I found an interesting compromise. ViEmu is a vi/Vim emulator for VS 2003 and VS 2005.

ViEmu implements most of the vi keystrokes and many of the Vim extended keystrokes, right inside the Visual Studio IDE. It uses the native VS IntelliSense in place of Vim's completion functions. ViEmu even implements some of the more common Ex command line, including most of the :%s regular expression substitutions. The author, who seems to be known only as JNG, is responsive. Within 24 hours of my reporting some missing keystrokes, he had implemented them in a new minor release.

It does not, however, support VimL, the Vim extension language, so if you have an extensive suite of Vim plugins, as I do, they're not going to work in ViEmu.

All in all, I'm favorably impressed with ViEmu. It provides much of the muscle memory experience of Vim inside of Visual Studio. Technically, it can't have been easy to impose such a radically different input model on VS or to emulate Vim and Ex fairly faithfully.

Vim has always been free (actually charityware), but JNG charges for ViEmu. Right now, I'm in the 30-day trial period, but I fully expect that I'll pay for a license before the trial is up.

VisVim

Vim comes with a Visual Studio add-in called VisVim, which is based on another add-in called VisEmacs. It allows VS5 and VS6 to use Vim as the default editor, albeit externally to the IDE: Vim continues to run in its own window.

A few weeks ago, Bram asked me if I could get VisVim to compile with VS 2003. I tried, but I was unable. Necessary headers are no longer included with VS 2003 or VS 2005. No doubt this is because the Add-In architecture changed radically with the introduction of Visual Studio .NET.

Work is underway, albeit very slowly, to create VisEmacs.NET. At some point, it may be worth creating a merger of VisVim and VisEmacs.NET.

End Notes

viWord allows you to use vi keybindings in Microsoft Word. It's not nearly as full featured as ViEmu and I found that I didn't like it enough to keep it around.

This post was, of course, composed in Vim. I wrote it in lightly marked-up plain text and converted it to HTML with VST, Vim reStructured Text. Blogging with VST will be the topic of a future post.

To fully take advantage of Vim7's Omni completion, you need a patched version of Exuberant Ctags. I've made a Win32 binary available.

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

Here's (left) a video of Chris Bliss doing a pretty amazing juggling routine to the accompaniment of the Beatle's Once There Was a Way.

And here's (right) a video of Jason Garfield doing the same routine with five balls instead of three.

(Each video is about 4.5 minutes long.)

posted on Saturday, April 08, 2006 11:13:36 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Friday, April 07, 2006 

In The Media's Chance at Redemption, Russ Baker ably takes the MSM to task:

When, oh when, will the U.S. “mainstream media” finally stop hemming and hawing, parsing and understating? When will they simply go for the jugular to confirm what any thoughtful American has already learned from “less reputable” but increasingly relevant alternative information sources: that from the beginning of the Bush administration, invading Iraq has always been as much an article of faith for the president as, well, promoting faith over reason?

... 

The Times report was full of throat-clearing and arcane notations that, while the memo had previously been reported, it had never been as fully reported, or that a particular passage had thus far eluded widespread scrutiny. And, indeed, the article did contribute new insights. But a careful reading of the Times piece turns up numerous opportunities where reporters could have offered—and, more importantly, still can offer—more context and thereby lead readers to the dark heart of the matter. To wit, the Times could not quite summon the courage for a sufficiently bold lead. It began:

In the weeks before the United States-led invasion of Iraq, as the United States and Britain pressed for a second United Nations resolution condemning Iraq, President Bush's public ultimatum to Saddam Hussein was blunt: Disarm or face war.

But behind closed doors, the president was certain that war was inevitable.

Even though the overall thrust of the article was that Bush and Blair were hell-bent on invading Iraq, with or without justification, there was that second sentence summarizing, blandly, that “the president was certain that war was inevitable.” This is soft-pedaling in the extreme. Bush wasn’t certain war was inevitable—he wanted to make it inevitable.

The article certainly makes that clear, describing all manner of shockers—from Bush musing about painting a U.S. reconnaissance plane in U.N. colors and deliberately drawing Iraqi fire as a casus belli, to the possibility of bringing out an Iraqi defector who would assert that WMDs existed even while Bush tacitly admitted they likely did not.

This pussyfooting, the burying of the lead, does a disservice to readers. News organizations like the Times abetted the march to war through their unquestioning acceptance of highly debatable administration assertions, and, in the specific case of the Times, its tolerance of the rampaging cowboy reportage of its correspondent Judith Miller.

... 

Looking backward, virtually everyone now agrees that the media did not ask the right questions, or enough questions, as the war drums telegraphed impending conflict. Well, that was then. But now, major mysteries still beg for resolution: including, most fundamentally, how George W. Bush convinced the bulk of his fellow Americans, including some of the brightest lights of our society, to support such an ill-conceived war.

Any journalist with a nose for news ought to be all fired up these days. It’s rare that we hacks are offered so many chances to show what we are made of—or to make up for errors of omission and commission that will otherwise haunt us in perpetuity.

posted on Friday, April 07, 2006 11:12:36 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Monday, April 03, 2006 

More on the Talabaptist front. In yesterday's Washinton Post, Kevin Phillips on How the GOP Became God's Own Party.

posted on Monday, April 03, 2006 8:17:44 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Thursday, March 23, 2006 

Rolling Stone magazine profiles Senator Sam Brownback in God's Senator. It's a scary look at the Christian far Right.

posted on Friday, March 24, 2006 1:38:56 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

The latest issue of BusinessWeek covers Atlas On Demand, the product that I've worked on for the last six months, in a piece called TV Eyeballs Close-Up

Ever since the advent of commercial television, advertisers have wondered exactly what they get for the megabucks they spend on 30-second spots. After all, the networks and cable companies offer only a crude approximation of who is watching what. With such thin information, advertisers can't target specific neighborhoods or consumer tastes. As for converting ads directly to sales, well, that's virtually impossible. Yet the Web, with its sophisticated per-click metrics, does all of that billions of times a day. "The problem," says Yankee Group analyst Aditya Kishore, "is that there's not enough math in [the TV] business."

But aQuantive Inc. (AQNT ) aims to change that. ... Despite the hoopla about advertisers moving online, the $70 billion television ad market dwarfs the Web business 5 to 1. Says aQuantive CEO Brian P. McAndrews, once an ABC executive: "TV is the largest medium out there."

... 

That's why aQuantive is taking baby steps. Starting in June, the company's Atlas on Demand unit will begin testing technology that measures video-on-demand (VOD) viewers for Charter Communications Inc. (CHTR ) VOD's Web-like interactivity is what sold aQuantive. Besides, the medium is taking off, with digital cable now in 25 million homes, far ahead of TiVo's 4.4 million.

By gathering data from the same set-top boxes viewers use to order shows and movies, Atlas on Demand plans to figure out how many people watched a show and when, as well as how many watched the ads vs. skipped them. From there, company executives hope to help advertisers determine precisely how much attention their money buys. "You know people watch Lost," says John Chandler, Atlas on Demand senior analyst. "[Now] you'll know if they watch the ad."

... 

Proponents of VOD hope the medium will become as interactive as the Web itself, allowing viewers to get discount offers, enter contests, and even buy stuff. Burger King is considering running ads offering drive-through deals to late-night VOD viewers. Such ads could be priced based on the number of leads or sales they generate rather than the number of viewers they attract. "The intersection of video on demand and interactive TV is the next frontier," says Time Warner Cable (TWX ) Executive Vice-President Peter C. Stern. "I look for it to emerge in 2007."

... 

Despite myriad challenges, the cable guys have little choice but to become more Web-like. Every other day, it seems, marks the launch of yet another ad-supported online channel. Karl Siebrecht, Atlas' general manager, bets Web video will become a major ad market sooner than VOD, but he says on-demand TV eventually will be bigger. He and the other Atlas folks don't care whether the next great video market is TV or the Web. They plan to make money either way.

Read the full article here.

By the way, the Atlas On Demand team is hiring. We have current and future openings for a dev manager and for senior developers. There are other openings at Atlas in Seattle too: look at the Atlas Careers page.

If you want to send résumés through me, email me at George.Reilly @ AtlasSolutions.com

posted on Thursday, March 23, 2006 5:37:40 PM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

Emma now has a personal blog.

posted on Thursday, March 23, 2006 8:22:47 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]
Tuesday, March 21, 2006 

Via James Wolcott and Jane Espenson, a pilot for a sitcom called Depressed Roomies by Charlie Kaufman.

Funny stuff.

posted on Wednesday, March 22, 2006 5:37:32 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [0]

I often complain about being busy, no doubt because I have a talent for complicating my life. Things were relatively quiet for a while, but that's not true anymore.

At work, we're close to releasing the first version of our product. Happily, crunch time at Atlas isn't nearly as bad as it was at Microsoft. Instead of working eight-ish hours a day, it's more like nine or maybe ten. The pressure level has risen, of course, but it's far from intolerable.

The real busyness is in my extracurricular life. I'm the president of BiNet Seattle, a bisexual community group, and have been for the last three years. I also do a hell of a lot of the work and I'm burning out. I recently gave notice that I'm stepping down. (It looks like a successor has been found.) Meanwhile, a lot of planning is going on in an effort to revitalize BiNet, as attendance has been dragging.

For the last few years, I've also been heavily involved with The Wild Geese Players of Seattle, as the webmaster and the co-dramaturge. We do readings of Irish literature, particularly that of James Joyce and W.B. Yeats. Every June 16th (Bloomsday), we do a staged reading of a chapter of Ulysses. This year, the longtime director has moved back to Northern Ireland. Currently, I am acting as the director, on top of my other roles, but I don't think I'm the right person for the job, and I'm hoping to find a replacement soon.

I'm a member of Freely Speaking Toastmasters, an LGBT speaking club. I've been working on my CTM for far too long, and I intend to knock off the final three speeches this year.

I resume my woodworking class next week, which is going to tie up ten Tuesday evenings. I haven't decided yet what I'm going to work on this time. In previous years, I built a very nice set of nesting tables and an unsatisfactory pair of bar stools.

In my Copious Spare Time, I'm also making occasional contributions to two open source projects, DasBlog and Vim. I made Vim compile with VC5-VC8, and I promised Bram that I would provide some documentation on debugging Vim with WinDbg and dealing with minidumps. I'd also like to produce a native Win64 version. With DasBlog, I've provided some feedback on the usability of the installation instructions, as well as a fix for dodgy permalinks. I'd also like to make use of my former expertise on IIS performance (see 25+ Tips, 10 Commandments, IIS 5 Tuning, and Professional ASP 3.0) to do some performance tuning of DasBlog.

I'd also like to fit in some time for photography; for reading my way through our enormous backlog of books and magazines; writing the occasional blog post; cooking; bicycle riding; traveling; working out; hanging out with my wife; socializing with my friends; movies; and more. Not to mention all the very dull projects around the house and garden that I've neglected.

posted on Tuesday, March 21, 2006 7:36:59 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Thursday, March 16, 2006 

I was born 41 years ago today. (Technically, yesterday, as it's now the early hours of March 16th.) I was to have been called Vincent after my father, but my mother's father, George Victor Clery, had died just 12 days before. I was baptised George Vincent Reilly on March 17th, St. Patrick's Day.

Beware the Ides of March, I tell people: You might have to buy George a present. Better a birthday present than the reception that Julius Caesar received on March 15th, 44BC.

I've never liked the name George all that much, but I've never disliked it enough to do anything about it. (Emma legally changed her entire name about ten years ago.) "George" has the advantage that it's largely gone out of fashion, but everyone recognizes it. How many Jeffs and Mikes and Scotts do you know? And how many Georges?

I realized over dinner with Emma that 15 years ago today, I took a momentous step: I came out as bisexual. It scared the hell out of me at the time. It hasn't always been easy. But it was definitely the right thing to do.

posted on Thursday, March 16, 2006 8:23:54 AM (Pacific Daylight Time, UTC-07:00) 
#    Comments [1]
Thursday, March 09, 2006 

WashTech has a piece on frustrations with Microsoft's compensation system. Sounds about right to me. I don't miss the horseshit of Microsoft's stack ranking one little bit.

posted on Thursday, March 09, 2006 8:19:26 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]

I just saw Mozart's Così Fan Tutte at the Seattle Opera. I had a great time. Lots of fun. Well acted. Great music. And a modern dress production that works.

The plot, in case you're unfamiliar, involves fiancée swapping. Two officers, Ferrando and Guglielmo, accept a bet from Don Alfonso that their fiancées, Dorabella and Fiordiligi, are fickle and will easily betray them. They pretend to go off to war, then disguise themselves and each woos the other's fiancée under false pretences. Don Alfonso, along with Despina, the sisters' personal assistant (maid) sows mischief. Dorabella, the flirt, wears down quickly. Fiordiligi is tougher, but eventually yields. Ostensibly a comedy, by the end, everyone has been hurt. The three men are shits and deserve what they get; the sisters do not.

In most of the operas that I've seen, the acting has been pretty wooden. Most of them seemed to be glued to the spot. The acting was a lot better than usual. Perhaps because it was directed by the legendary Jonathan Miller.

There's an interesting interview in the program with Jonathan Miller.

JM: ... It’s not even about fidelity, which is what most people think it’s about, it’s about identity. It’s about people. You see, feminists often object to the opera because it depicts the women as gullible and foolish; but the fact is that the men are much more deceived than the women are. The most dangerous thing is to get into disguise in the belief that your original identity is invisible. What happens, of course, is that you actually bring to life aspects of your identity which you didn’t suspect. And I think that’s what happens here. It’s very dangerous for a man—or anyone—to disguise themselves because, in addition to deceiving the person who in fact you intend to deceive, you actually find that you’re behaving in ways which you wouldn’t normally behave if you thought your identity was apparent.

EH: So you’re letting a little too much of the beast out, as it were.

JM: Well not so much “the beast;” but all sorts of alternative versions of yourself which you didn’t suspect come into existence. I was partly inspired by a novel which my mother, a very successful English novelist [Betty Spiro Miller], wrote after the war about the experience of being an officer’s wife. My father was a medical officer. She noticed that as soon as all of his colleagues got into uniform, they suddenly started to misbehave in a way which they wouldn’t have done if they were in their professional civilian clothes. They somehow felt that they were not recognizable and therefore not culpable.

That’s one of the reasons why people get into disguise at masked balls. It allows them to be someone else. It lets out an alternative version of yourself—not necessarily a beast, but something that you didn’t expect.

posted on Thursday, March 09, 2006 8:09:10 AM (Pacific Standard Time, UTC-08:00) 
#    Comments [0]