Code: Custom IIF for VBscript

I add a custom IIF function to every VBscript I make:

' IIF recreated for VBscript
FUNCTION IIF(Expression, Truepart, Falsepart)
	IF Expression THEN 
		IIF = Truepart
	ELSE
		IIF = Falsepart
	END IF
END FUNCTION

'used like so:
strFlavor = IIF(strColor="brown", "chocolate", "not chocolate")

 

Mind you, it evaluates all parameters on the way in, so even though this checks the objTest object when assigning using it, it would still fail (when the objTest object reference is not set):

strFlavor = IIF(IsObject(objTest), objTest.flavor, "vanilla")

 

It’s no ternary operator, but it’s still indispensible for efficient VBScript coding.

…And finally someone else noticed.

Guess I’m not the only one who was baffled by the new W3C XMLHTTPRequest spec credits.

From Dare Obasanjo:

Interesting. A W3C specification that documents a proprietary Microsoft API which not only does not include a Microsoft employee as a spec author but doesn’t even reference any of the IXMLHttpRequest documentation on MSDN.
I’m sure there’s a lesson in there somewhere. 😉

And then finally from Anne van Kesteren (one of the spec’s authors):

Hereby my apologies to everyone who had to waste his time by writing a rant… The current draft reads: “Special thanks also to the Microsoft employees who first implemented the XMLHttpRequest interface, which was first widely deployed by the Windows Internet Explorer browser.”

XMLHttpRequest finally becoming standard

It’s great that XMLHttpRequest is finally becoming an official standard.  It’s better though, that the “other” browsers didn’t wait for this before implementing it.  Real progress has happened as a result, in particular the recent popularity (& naming) of the AJAX technique, and the somewhat-related “Web 2.0″ phenomenon.

The news also makes me smile at the anti-Microsoft folks who have thrown stones at Internet Explorer’s standards support — once again the IE team innovated (*overused word through gritted teeth*) a proprietary extension, and it was such a good thing that the competition swiped the idea, thus making it a de-facto standard.

I’d rather have a good de-facto standard now, than an official one too-late. End result: Developers and Users win (and they already are winning).

Footnote: Anyone else think it’s strange that the standard’s authors list seems to represent every browser except for XMLHttpRequest’s inventor?

What happened to the design?

Thanks to Clagnut, I’m observing CSS Naked Day on April 5th.

To know more about why styles are disabled on this website visit the
Annual CSS Naked Day website for more information.

For the remaining dotText-ers out there who want this to automatically kick-in every April 5th, I just added this condition to DTP.aspx:

<%
// suspend styles on April 5 to observe CSS Naked Day - http://naked.dustindiaz.com/
DateTime dtNaked = DateTime.Today; 
if(!(dtNaked.Month==4 && dtNaked.Day==5)){
%>
		<link rel="stylesheet" type="text/css" href="/mystyles.css" />
<%
}
%>

Dev tip: CSS-only workaround for IE SELECT Z-index bug

Via Dean Edwards’ Links, meet
HedgerWow’s <SELECT>-Free Layer, a CSS-only workaround for Internet Explorer’s SELECT bug with z-index.

It’s not quite clear from the demo, but I think the magic is an absolutely-positioned + transparent + huge IFRAME inside the layer to show.  C’est trés hacky, but it still seems better (in a way) than the usual dynamic hide/show javascript approach.

Here’s hoping that Microsoft will quickly windows-update us all with IE7 (which fixes this bug, hoorah), and free us of these sHACKles.

12-car Flash Design Pileup

I went to grab the new IE7 beta, and couldn’t get past this complete Flash mess:
id="flip" align="" height="350" width="450">name="flip" align="" height="350" width="450" scale="showall">

Yuck! …It even says “everything you need, nothing you don’t” — very much unlike this Flashturbation.

I’d guess the Flash designer hasn’t seen Microsoft’s (great) parody of its own bad design habits, The Microsoft Ipod:

Miscellaneous Brrreeeport

Looks like I’m:

  • Participating in Scoble’s

    brrreeeport

    experiment.

  • Syndicating Digg’s Programming news here now (in the sidebar).
  • Considering participating in Technet ScriptCenter’s Scripting Games event, despite my busy-ness. (Hey, I could be a contender!)
  • Baffled why UC would require its own Alumni (aka “prospective donors” to UC’s board) to jump through Stone Age hoops to get a transcript (this is 2006, and phone isn’t even an option), and they’ll still take “5-10 days” to process it.
  • Downloading various free VMwares at the moment. Oh, and eating cookie dough.
  • Wondering why the machine I’ve reinstalled at least 12 times in 12 months — due to strange disk problems, but with different disks — now appears problem free after switching its filesystem from NTFS to FAT32 (which is supposedly more fragile).
  • Also wondering why the Virtual NT4 Server I spent the last week fighting with just refuses to run IIS4.
  • Avidly tracking shipment of my new little Athlon 64-based machine, due here Tuesday.
  • Chuckling at the recent surplus of general serendipity.
  • Remembering that Tuesday is Valentine’s day….

Gopher is a funny word,

and so I was sad to see it go away again today:

Y’know, I remember seeing the early web on Lynx, and thinking “oh, like gopher, except harder to use — what’s the point?” Then I saw it on Netscape 1 and everything changed.

(Yes, I actually have a need for NT 4 Server right now. I never thought I’d be installing Option Pack this many years later. At least I’ve got Virtual PC & Server these days).