One third party: a tiny bit more complexity; Many: :-(

I didn’t find the most interesting part of the StackOverflow podcast #16 to be my question. I direct you to 17:06 in, where Jeff discusses the pros and cons of using OpenID as the authentication mechanism for StackOverflow:

Atwood: Granted, there’s a third entity here so there’s going to be a tiny bit more complexity.

What Jeff’s overlooked here is the Combinatorial Complexity; he’s not hooking up with an OpenID provider, he’s hooking up with all OpenID providers, which he acknowledged earlier can be a bit of a problem [34:48 in podcast #7]:

Atwood: Well you can, I found that Yahoo doesn’t really do attribute exchange very well.

If you look at the uservoice… forum… bug-reporting… suggestion-y thing for the StackOverflow beta, you see a lot of people complaining “my OpenID provider doesn’t work [at all]/[properly] with your site”.
OpenID has a spec, but given the difficulties being experienced, it mustn’t be terribly tight or there’s no reference implementation to validate against.

Having said all that, guess what I’m going to be using as my authentication process on my next website?

Oh no…

If you are a member of one or more Yahoo Groups, and dread the newbies who unwittingly send through humongous attachments, then watch out.

Just a heads up that the maximum file size that can be attached to a message has been increased from 1.5 megabytes to 15 megabytes. — Yahoo Groups blog

15 megabytes?! Why on earth would they want to allow attachments of that size through email, particularly when YG has

shared files functionality? Ironically the shared files can only be up to 5 Mb.

God help you if you're on dialup.

And we know that YG already has reliability problems. Who knows what'll happen when people are regularly emailing through 15Mb video files.

Of course, group moderators can flick the switch to filter out all attachments, but it's a case of all or nothing.

(Nice to see Yahoo keep a tight lid on people leaving comment spam on their official blogs. heh.)

zp8497586rq

Flash crash

Is it just me who's having stability problems with theage.com.au? Sometimes when I'm loading pages, it crashes the browser completely. Locks it up. It happens at home, on both my PCs, in both IE7 and Firefox on XP SP2, and appears to be linked to a video player Flash applet displayed on some pages, particularly at night and weekends when they appear not to have other content such as adverts to show.

Age crash

Oddly it doesn't occur at work, but it causes big problems at home. I've up

dated to the latest Flash plugin and that doesn't seem to help. I haven't found any other Flash applets that cause the issue.

I've put theage.com.au into IE's Restricted Sites list. That neatly zaps the use of plugins like Flash.

There appears to be no equivalent method in Firefox. Flashblock would do the job, but is a little like a sledgehammer to crack a nut. AdBlock Plus should do better.

Of course, none of this solves the root cause. I wonder if it's just me.

zp8497586rq

The Triple J question

Trust Josh to ask a curly question for the StackOverflow podcast: “Why did the Stack Overflow schedule blow out?” and quoting back Jeff and Joel's own previous forecasts at them.

Made for an interesting discussion though. I certainly agree with the point that until you're actually working on something, you d

on't have a great deal of confidence in just how much there is to do … that becomes apparent as you go.

Transcript.

(So I can find it later: WordPress URL parameters, for example for showing all posts by Josh.)

zp8497586rq

Linker problems galore

LINK : fatal error LNK1104: cannot open file ‘mfcs42d.lib’

Go to Tools | Options… | Projects and Solutions | VC++ Directories, select Show Directories for: Library files and insert the path to your existing mfcs42d.lib.

Now you get
LNK2019: unresolved external symbol “public: __thiscall AFX_MODULE_STATE::AFX_MODULE_STATE(int,long (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),unsigned long)” (??0AFX_MODULE_STATE@@QAE@HP6GJPAUHWND__@@IIJ@ZK@Z) referenced in function “public: __thiscall _AFX_DLL_MODULE_STATE::_AFX_DLL_MODULE_STATE(void)” (??0_AFX_DLL_MODULE_STATE@@QAE@XZ)

Remove mfcs42d.lib and you get
mfcs90d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in MSVCRTD.lib(dllmain.obj)

Know what you did wrong?

I’ve got the answer.

Don’t link to mfcs42d (and, for that matter, the non-debug version mfcs42.lib) in your 2008 project. If that name’s hard-coded into your project – and it is, isn’t it? – then change the name to mfcs90d and you’ll be fine.

Wiiware not for the lone coders

Back when it was announced, it sounded like Nintendo's WiiWare would let bedroom coders get their games into their Wiis, just like Microsoft XNA lets anybody write for the XBox 360.

Not so. Apparently all the usual NDAs and licence fees apply. The difference is the games can be developed by small teams (within licenced developers) and the games are distributed via Nintendo's online service.

Nintendo snubbing small developers for WiiWare

WiiWare is a lie

I know I was never going to get around to coding any more games, not with my current workload, but all the same, I liked the idea, and it was helping leaning me towards buying a Wii.

Visual C++ Compiler Error C2316: Make with the class definition

Visual C++ Compiler Error C2316

You know, I was getting this error when porting some exception catching code from Visual C++ 6 to version 9. The error message helpfully states that 'exception' cannot be caught as the destructor and/or copy constructor are inaccessible

Weird thing was, it was wrong. Both the copy constructor and destructor for the class and all it’s ancestors were in public scope.

Eventually there was the figuring out: the exception was being anonymously caught, like so:
try {
whatever();
}
catch (MyExceptionClass&) {}

And to keep MSVC6 happy, earlier in the codebase a preceding programmer had coded:
class MyExceptionClass;
Which did indeed keep MSVC6 happy. MSVC9 asked what I’d done with the copy constructor. Well, dear friend: it’s in the header file that wasn’t included. Delete the forward declaration, add one #include and we are cooking with gas.

If we actually give the compiler the definition of the class being caught it can generate code rather than misleading error messages. Why the error message wasn’t: “No definition for this class” is beyond me.