The new Windows Update v6

Trying out the new Windows Update v6 (now called “Microsoft Update”).  Cool that they’ve finally integrated Office Update and other products (SQL Server for instance).

A few observations, though:

  • It took several ActiveX installs, plus closing and restarting IE for it to actually load fully.
  • Windows Update has been slooow for me lately (before this version even). Dunno why, but it still is. 
        Update: same slowness on sparkling fresh XPSP2 and SBS 2003 installs.  It ain’t me.
  • Still a ton of French Spell Checker updates?? (2 for Office, 1 for Visio, 1 for Project) I saw this a lot with Office Update too. I have no French anything on any machines, so what’s the deal?.

About time to reboot…

How do you decide?

My friend Mike Butler posted a thought-provoker about blog self-censorship and choosing topics.

I’ve struggled with that dilemma too.

One one hand, I want my family, friends, and strangers to be able to read my blog without being offended or bored.  On the other, I need to express myself freely.  I realized early with this blogging venture that I have a habit of putting on personas for each situation.  That bugged me since it seemed disingenuous, and it was making me second guess myself.  I think I settled on making my blog just For Me (at least as far as topics) — including the tech-geek, the father, the immature Jr. High dork, the business man, the music-fan, the navel-gazing philosopher, etc.

If a subject bores or bothers someone in real life, they have to grit their teeth.  Here at least they can ignore me without worrying about my feelings :>

I think my goal is no longer about avoiding boring/scaring people away, but rather trying to attract people by giving each of my facets a balanced representation.  For example, Me-the-father hasn’t really posted yet (mostly due to the sheer magnitude of the thoughts I want to distill into a post), so there’s a whole audience I’ve missed so far. 

Good food for thought.  Thanks Mike.

IIS: “Compress Application Files” breaks DSOs and TDCs

HTTP Compression is a wonderful idea.  Unfortunately, its implementation in IIS 5 was deeply flawed

Besides the usual issues, I’ve also found that HTTP Compression breaks Data Source Objects (DSOs) and Tabular Data Controls (TDCs) in IE (wonderful features for client-side data-binding in web apps).  IE loads the data (showing “XX items remaining” counting down in the status bar, and eventually “Done”), but it never data-binds to the table template or gives any error messages, leaving an empty table.  My guess is that IE uses a different mechanism for requesting DSO data resources from a webserver than it does for normal resources (pages and their referenced files like scripts, stylesheets and images).  I’ve never seen this issue documented by anyone else, which I attribute to the relative obscurity of DSOs and TDCs (they were never marketed to devs enough).

So you can imagine it was a big pain figuring this out the first time…

When IIS 6 came out, I heard a lot of excitement that it fixed HTTP Compression, so I was excited too.  Well I’ve recently/finally moved into IIS 6, enabled HTML compression, and then just got confused all over again today because my TDCs were broken.  Grrr…

Sure enough, turning off “Compress Application Files” (and restarting IIS) fixed it.  At least IIS 6 gives separate compression settings for dynamic and static files, so now I’m just compressing static files (e.g. HTML, CSS, JS, VBS, HTC), which should still help a bit (of course those files are cached by the browser anyway…).

Apparently Jeff Atwood has also found other big issues with IIS 6’s HTTP compression.   He’s got a lot of good info, plus a handy metabase snippet to help fix those problems.  Check it out.

Change Windows XP Home to XP Pro

It requires modifying the installation CD (just two bytes), but for the brave: HOWTO Change Windows XP Home to Windows XP Pro – Gizmodo

Lessee, judging by Microsoft’s Windows XP Comparison Guide, that should get you:

  • System Restore
  • NTBackup
  • Fast User Switching
  • Offline Files
  • Remote Desktop
  • hardware support (Dynamic Disks, Multiple Processors)
  • security (Access Control, EFS)
  • IIS, and
  • domain support (Group Policy, Assigned Software Installation, Roaming Profiles, RIS).

Of these features, everything but IIS and domain support can be useful to many home users.  In particular, there’s no way the first three — System Restore, NTBackup, and Fast User Switching — should have ever been left out of XP Home — ALL users could benefit from them. Whoops, had some bad info before I checked the XP Comparison Guide (and I was caught editing, so I can’t just erase it now!  Good catch Ed!) — It looks like FUS and System Restore are in XP Home. My opinion stands for NTBackup and Remote Desktop, tho.

For those less venturesome (or unwilling to reinstall), it is possible to install NTBackup on XP Home.  See Ed Bott‘s “The amazing hidden backup program“.


I’ve implemented Dean Edwards‘ Star-Light for code-formatting here.  It’s an awesome (and useful!) demonstration of the power of DHTML Behaviors.

Oh, and it’s free (just a Creative Commons license).

And it works in both IE and Firefox*.

All it takes is a linked stylesheet and a CSS class on the target code section (specifying the language of the code), and Star-Light dynamically formats and colors it in the browser. 
For example, this code:

<pre class="vbscript">
' this is a "comment"
'' so is 'this'
DIM string
string = "' string '"
call msgbox("Hello ""Dean""!")
FUNCTION getText(a, b, c)
	getText = a + b & cstr(c)

displays thusly:

' this is a "comment"
'' so is 'this'
DIM string
string = "' string '"
call msgbox("Hello ""Dean""!")
FUNCTION getText(a, b, c)
	getText = a + b & cstr(c)

The supported languages are CSS, HTML, Javascript, PHP, and XML.  (For fun, it can also enhance plaintext conversation text: emoticons into images, *bold* into bold, /italic/ to italic, _underline_ to underline, plus enhancing “>” quoted sections.)

Coolest of all, though, it’s highly extensible via language modules.  I glanced through the code to see if I could make it support VBScript.  The engine is pretty complicated, but each module is a simple HTC file.

From there, it was easy to create a new module for VBScript and plugin the appropriate keywords straight from Microsoft’s Windows Script 5.6 Documentation.  I sent my VBScript module (working above) to Dean — he made a couple improvements, and said he’ll include it with the rest soon.  (I may also create modules for VB6 or VB.Net, but there’s a lot stuff to those languages…)

I don’t mean to gush, but: Very Cool.

Unfortunately, Dean hasn’t yet documented how to do write your own module (I figured it out on my own), but it’s pretty easy for someone who knows HTCs and has a language reference to copy/paste.

* Another gee-whiz bit: despite the coolness of DHTML Behaviors, they are normally only supported by Internet Explorer.  But Dean’s done a wonder, and written a Mozilla XBL wrapper which makes Mozilla/Firefox support DHTML Behaviors too! (which is of course wrapped into Star-Light).  This situation should be the poster child for the de-facto standards camp -vs- the slow academic W3C types, but more on that another day.  Meanwhile, I’ll sit back and regret my rationale “DHTML Behaviors are IE-only anyway, so I’ll go ahead and use all this other IE-specific code.” Like, uh, VBScript….. (dough!)