
The Ministry of Silly Questions
News ·Saturday November 18, 2006 @ 06:28 EST (link)
I'm writing up a few "M0" (milestone zero, that is, code cleanup and reorganization) proposals, based on a stack of six densely written post-it notes spanning the project. Most items are small, like fixing bad Hungarian, and I've already fixed them and put the changes into a diff; a couple are larger:
- Remove use of setjmp and longjmp from Word: Some older code uses the C setjmp and longjmp intrinsics as exceptions; ideally these should go away as they don't play well with real C++ exceptions. Along the way I'm also removing a legacy math library.
- Clean up the Word object model dispatch: We dispatch to C functions, rather than to a class method, for one thing. Also want to add pre/post task handlers (e.g. drawing methods need setup/cleanup) and enable/disable flags (e.g. since Word doesn't do reentrancy well, most mutators would be disabled when in an event handler such as New Document). Fortunately since I added a (debug only) object model logger in Office 12 (2007), there's already code to intercept object model calls which will make a good starting place to handle flag checking and pre/post-dispatch tasks.
Ministry of Silly Questions: I didn't send in my citizenship application when I mentioned it before, but now I plan to. The N-400 naturalization form has several questions that one might regard as silly, e.g. asking if people have been Communists, helped the Nazis, lied on tax returns, illegally voted, are terrorists, been deported (or are currently being deported!), dodged the draft, deserted, support the Constitution, persecuted people, been jailed, sold illegal drugs, gambled illegally, helped people enter the US illegally, committed bigamy/polygamy, etc. But I think the purpose of the questions is twofold: first, to give people a chance to confess to and explain any lesser items (for many they allow attaching an explanatory page, e.g. "Yes, I was a member of the Communist party, but I would have been killed otherwise"), and second, to let people incriminate themselves, so that if evidence of breach is found, and the person has lied in black and white, they can be more easily denied than if there was no such question.
DVDspot added the remainder of my DVDs; I have six contributions now (1 2 3 4 5 6).
Warcraft: won vs. Orc, playing as Undead, which is the second race I've played and I seem to be getting the hang of it.