Warning: ob_start() [ref.outcontrol]: output handler 'ob_gzhandler' cannot be used after 'URL-Rewriter' in /home/.elfa/mogens/xt1.org/wp-includes/functions.php on line 821
xt1.org » 2004 » June -- Christian Mogensen writes software and dreams of droids

Archive for June, 2004

Lofoten!

Work sends me to Lofoten for a few days, and I’ve had to stop the papers for the duration. This sort of thing is easily arranged on-line (well, relatively easily) but Aftenposten just sent me the greatest confirmation e-mail:

Du ønskes en god ferie.

Vennlig hilsen Aftenposten

or in English:

You are wished a good vacation.

Kind regards the Evening Post

The use of passive voice in a computer generated message - sublime or sign of madness?

Laughing at the use of passive voice in a computer generated message - madness, surely?

Add comment June 28th, 2004

Script engine hacking

Hrm - it turns out that if you forget to remove the testing code you put in earlier in a fit of frustration that says “ignore the subroutines, just evaluate the expression”, then the script engine returns 0 subroutines when you ask it “how many subroutines?”.

Argh! PEBKAC!

The scripting engine is working much better now, and I just have to refactor a bunch of stuff over from the file classes into the test-fixture classes so that the user can run each test sub-routine separately.

Add comment June 27th, 2004

GetMemberProperties broken

My slow progress towards a releaseable version of the COM scripting unit tester thingy has been stymied by the difficulty of getting the scripting engine to tell me the names of the procedures. It turns out the obvious mechanism for this is broken… Many, many thanks to Eric Lippert’s Adventures in Coding for clarifying this before he started his vacation. Debugging stuff that should work, and where reality and the documentation are at odds is no fun.

Basically I was doing this:

m_pScriptEngine->GetScriptDispatch(0, &pDisp);
pDisp->QueryInterface( IID_IDispatchEx, (void**) &pDispEx );
pDispEx->GetNextDispID(fdexEnumAll, curId, &nextId );
pDispEx->GetMemberName( nextId, &bstrName);
pDispEx->GetMemberProperties( nextId, grfdexPropAll, &propsOfName );

It turns out that GetMemberProperties isn’t implemented, but the previous architect forgot to return E_NOTIMPL, instead returning S_OK.

Argh!

There is a workarond, where you get the typelib from the script and use that to figure out what the procedures are….
Onward!

Add comment June 24th, 2004

Count the Bodybags

Compare and contrast: US and the Coalition vs Iraqi.

Add comment June 22nd, 2004

Harry Potter vs Azkaban

Watched Harry Potter and the Prisoner of Azkaban last week (just before my brother’s birthday). It was good and dark and frightening (I wouldn’t bring a 10 year old to see it), but also rushed and a bit disjointed. Lots of happenings that didn’t really connect with anything storywise. i.e. Draco Malfoy is dragged out to be annoying and bullying, but could just as well have been dropped.

The dementors looked great, except for the first one, which looked like a ball on a stick with a bit of cloth draped over it — it didn’t really work for me. The soul-sucking a few moments later was really freaky though. The time-travel worked out well - it hangs together as long as you don’t think too much about it. It doesn’t form a closed loop, since the outcome changes during the second time round the loop, thus violating causality (I think). But the movie could have been trimmed in a few places (the opening sequence), and expanded in others (more magic training for Harry, more on the marauder’s map). I don’t think another fifteen minutes wouldn’t have killed this movie, but then I have all the Extended Edition sets of the Lord of the Rings movies, so I’m probably not the person to ask.

Add comment June 22nd, 2004

Just say no to DRM

The EFF’s Cory Doctorow tells Microsoft what is what. Obligatory Bruce Schenier quote: “Trying to make bits uncopyable is like trying to make water not wet.”

Add comment June 22nd, 2004

Stupid Microsoft Tricks

Why is it that Microsoft logs everything in different places in different formats? IIS logs to text files (which is good) with timestamps in UTC (GMT’s new standardized name). The system and event logs are in some binary format only Microsoft’s Event Viewer understands, but here the timestamps are in local time, not GMT.

So in order to get a coherent picture of what is happening on a server you need to dump the event logs to text format, convert the logs to UTC, reverse the date formatting to be consistent YMD order, then merge-sort the results into one log, and then maybe you can find out why a server at a different company decides to crap out every morning for no apparent reason leaving behind only the mysterious error message 273|800a000d|Type_mismatch:_’Application(…) when fetching an ASP file that does not use the Application object.

Debugging an intermittent problem via a consultant proxy and log files - so much fun!

June 21st, 2004

I am halfway

35. Not a round number, but between things. I am between 30 and 40. Between 0 and 70, the traditional upper limit on a life. Looking back, it’s odd to think that 70% of my life so far has really been preparation for the second half. I mean, I’ve started thinking seriously about pension funds. I had a serious conversation about wall painting at work. Zoiks!

Add comment June 20th, 2004

Troy - not so good

Troy - not really worth the money. Brad Pitt: impressive, but do you don’t really care whether the trojans or the greeks win, do you?

Instead, read this: Troy in Fifteen Minutes cause it’s damn funny.

Some Voiceover

ODYSSEUS: If there’s one thing we Greek heroes hope, it’s that you remember us.

AUDIENCE: EEEE!! IT’S BOROMIR! SQUEEEE! HI, BOROMIR!

ODYSSEUS: …That’s not exactly what I meant.


…. much later
…..

The Beaches of Troy

Achilles’ ship gets there first, because all the other kings are sort of hanging back and filing their nails. Except for Ajax, who tosses one of his oarmen out of the way so he can row faster himself.

PATROCLUS: I wanna go fiiiiiiiight!

ACHILLES: Siddown and guard the boat, kid.

EUDORUS: So basically, fifty Myrmidons are going to run out onto the beach with a frillion Trojan archers watching, and no one’s got our back.

ACHILLES: Pretty much.

EUDORUS: You wanna do that turtle thing with our shields?

ACHILLES: Nah, I figure I’ll wait until half of us get killed before we do that.

EUDORUS: Oh… okay.

Half the Myrmidons get shot just climbing out of the boat. Then they do the turtle thing and charge up the beach. Achilles busts out and starts going Hellenic on the Trojans’ asses.

BLOOD: *spurts*

TROJANS: *die*

OTHER GREEK ARMIES: *hang out in the boats*

Add comment June 19th, 2004

Unit Testing is Good For You

Unit Testing support should be included with all versions of Visual Studio 2005 and not just with Team System.

Unit tests are good for you. Visual Studio makes writing code easy. It should make writing and running tests easy too.

In fact, I should finish wrapping up my ScriptUnit test runner. I just need to fix the output file to fit the NUnit XML output format so that the unit test results are easily integrated with existing NUnit infrastructure. This may not be an issue elsewhere, but at work this is a big deal. We log all test runs through a web service so we can see when a test started failing. Tests are run automatically as part of a nightly build. At the moment the test are all NUnit, but we need a simpler framework to use for testing COM components (NUnit and COM don’t play too well together)

Anyway, I’ve been telling Microsoft to put Unit Tests into VS.net and into their new enterprise modeling tools (Whitehorse and MBF (Microsoft Business Framework)). MBF is full of meta-data that can be used for test generation. It would be a shame to miss the opportunity for embedding unit-tests in the dev environment. Maybe this petition will have more effect…

Add comment June 15th, 2004

Previous Posts


Posts by Category

Calendar

June 2004
M T W T F S S
« May   Jul »
 123456
78910111213
14151617181920
21222324252627
282930  

Posts by Month