Monthly Archives: November 2004

Podcasting – the next big thing?

I had a listen to the new G’Day World podcast yesterday, and most enjoyable it was too. The whole podcasting thing is an interesting development, something that could probably only take off properly now that IPods (etc), broadband and blogs have all hit the mainstream.

Back in ancient pre-history I did try something similar. To my surprise it’s still online (those people are geniuses). It didn’t last long… I could claim it was due to no broadband, no cruisy compressible-but-reasonable-quality MP3 format and no portable players, but principally I suspect it’s because the presentation and content were rather less than compelling.

I’d love to say I’d give it another go, but I probably don’t have time in the forseeable future, nor the inclination to say anything particularly interesting. But the concept is exciting, and I’ll be digging around for some good ones to listen to. It may inspire me to buy a portable MP3 player or an iPaq yet.

What will happen in the long term? Will this kill radio? (Some people have already abandoned their car radios in favour of listening to PodCasts on the drive to work). Or will existing media find a way to co-exist, as newspapers have with the web?

Hmmm. Personal video cameras have already got the power to get events not covered by the mainstream media onto the evening news. How long until video publishing hits the web in a big way?

WTF bounce department

Weirdarse email bounce today…

Hi. This is the qmail-send program at
I'm afraid I wasn't able to deliver your message to the following addresses.
This is a permanent error; I've given up. Sorry it didn't work out.

<>: failed after I sent the message.
Remote host said: 554 delivery error: dd This user doesn't have a account ( [0] -

<>: failed after I sent the message.
Remote host said: 554 delivery error: dd This user doesn't have a account ( [0] -

<>: failed after I sent the message.
Remote host said: 554 delivery error: dd This user doesn't have a account ( [0] -

<>: failed after I sent the message.
Remote host said: 554 delivery error: dd This user doesn't have a account ( [0] -

<>: failed after I sent the message.
Remote host said: 554 delivery error: dd This user doesn't have a account ( [0] -

Why is this so weird? Well because neither myself nor the recipient are on, no way did I address the mail to “gipbexd”, and thirdly, the recipient told me she received four copies of the mail anyway.

I should add that this was sent via Squirrelmail webmail, so it’s not like my Outlook got a virus…



Ever wondered what the SysRq key does? Turns out it’s a kind of convoluted programmable key that hardcore programmers can commandeer. From the sounds of it’s it’s just as “programmable” and useful as the old function keys were on the Commodore 64 and Vic-20… eg not very much at all.

There’s also a less geeky explanation from the Straight Dope people, which goes through some of the other lesser-used keys too, including the mysterious Scroll Lock, which does have a modern use, at least in Excel, and Break, which when pressed with Ctrl will amongst other things stop execution in the VB IDE or batch files in DOS the command prompt.

Me, I wish the Insert key could be abolished. I don’t think I know of a more annoying toggle.

VB Garbage collection

This article claims it’s pointless to Set objects to Nothing in VB when you’re finished with them, except in particular cases. Maybe it’s those particular cases I’ve come up against, but I don’t believe that, myself. I’ve observed time and time again IIS apps that call VB6 DLLs grabbing more and more memory for DLLHost, and eventually choking until an iisreset has been done.

Going through the code (both the ASP VB Script and the underlying DLL VB) with a fine tooth comb and ensuring EVERY object got set to Nothing afterwards cleared these issues. Though I’m embarassed to admit that on one early project I worked on, a bunch of people looked through the code trying to find the leak, couldn’t find it, and someone eventually wrote a nightly iisreset batch job.

Reading that article, it occurs to me that maybe there was a case of destroying objects that referred to each other in the wrong order. The code is long sinced vanished, so I don’t know, and don’t care to find out.

As far as I’m concerned, it’s not only better for performance to destroy your objects, and a helluva lot easier to do all the time than just some of the time. It’s also tidier in the code. I’ll keep on doing it.

.Net, of course, is a different kettle of fish altogether.

MSXML HTTP Post: Access Denied error

In MSXML 4 SP2 (and later, I assume in advance) if you try to send Post data using the ServerXMLHTTP40 object to a site that’s in the Internet Zone, you get an Access Denied error.

This is another of those things that had me banging my head in frustration until I eventually solved the problem. Contrary to what you may first think, it’s not a bug.

It’s actually upgraded security in this release: it uses the IE settings, and if you try to send unencrypted Post data by HTTP to Internet zone sites, you run into trouble. Details are at the end of the readme for the SP2 release and in KB 820882, but the workaround given does not work in Windows 2000 because the MMC Snapin referred to is only in Windows XP.

Apparently now there’s a Windows 2000 hotfix you can get, but as with all hotfixes, it involves mucking about ringing up Microsoft PSS to get it. (And when it says “Applies to Microsoft Windows 2000 Standard Edition”… what is that, exactly? Maybe they mean Professional?)

You can also get into IE and change the zone settings, but it has to be the same user that runs your process. If the process is some kind of robot, it’s not always possible to do this.

Eventually I dug around in some MSKB articles and eventually found article 182569 that talked about how to change the relevant settings via the registry.

To tell Windows to ignore user-specific settings, and always use the zone setting you are about to define, create or edit the following Registry key:

HKEY_LOCAL_MACHINE; Software; Policies; Microsoft; Windows; CurrentVersion; Internet Settings; Security_HKLM_only (DWord value) = 1

The alternative would be to change the following setting for each user that will try and do the HTTP post, eg in HKCU/HKU instead of HKLM.

Okay, so to tell it to allow unencrypted HTTP Post data into the Internet zone:

HKEY_LOCAL_MACHINE; Software; Microsoft; Windows; CurrentVersion; Internet Settings; Zones; 3; 1601 (DWord value) = 0

See MSKB 182569 for more details.

Two Office snippets

I reckon it’s about time Word (and other Office products) figured out that those last few paragraph breaks at the ends of documents don’t need to be printed, especially if they cause an extra blank page to be wasted.

Yesterday I was trying to work out how to tell if an Excel cell has a value or a formula in it, so some conditional formatting could indicate if a value was calculated or entered by a human. Seems to be no built-in function to do it. But this seems to work, though I’m still trying to figure out how, precisely. The explanation at the bottom more-or-less explains it, but damn Excel 2003’s help, which has no index, doesn’t integrate its VBA help into VB6, seems to download everything (maybe it’s just the way I have it configured) and makes it near impossible to jump straight to the definition of GET and CELL.

Windows XP search

Windows XP Search isn’t quite as good as it first appears to be. Oh sure, it’ll find stuff in files… sometimes. After almost banging my head on the table wondering why it couldn’t find some file content I knew to be there, I initially wrote it off, guessing that it had problems with the Unix-style LFs I’d given it.

But no… a little more fiddling and I discovered that it ignores file types that aren’t registered in Windows. It doesn’t seem to say this on the search options anywhere, but I proved it by creating two identical files, one called textfile.txt and the other called textfile.randomextension. Searching for content I knew to be in both, it consistently would only find textfile.txt

Is this sensible? Is this right? Well okay, I can understand that you’d write a search tool that didn’t want to search particular types of files, for speed purposes. But why stop the user switching it to search everything? And why hide this fact so well? I can find no mention of it in the help or on the screens. Sure, you can search with an animated screen character (Clippy lives… almost), but how about looking in all files, and I mean ALL files?

Windows XP search results

Eventually I found a KB article that shows how to dodge around it:

309173: Using the “A word or phrase in the file” search criterion may not work. This lets you switch on searching for specified extensions, or to tell the Index Service to index absolutely everything, which I assume would burn up lots of disk space. There seems to be no way of searching everything on-the-fly without using Index Service.

Registering your weirdo extension as a text file doesn’t work. Renaming your file does. If there’s lots of them, you can always go to DOS and: ren *.randomextension *.txt then back again when you’re finished. (Windows XP Command Line Reference.)

And of course, there’s always DOS’s FIND "phrase" *.* >resultsfile.txt


Just proving my credentials to be writing here.

Tonight as I walk down to my car I will have a laptop, an Ipaq, a 512Meg USB key and an iPod in my hands.

Dictionary ads

I find to be a very handy resource. But boy are their ads annoying. And it looks like they’ve gone that extra mile to get their popup ads to dodge around Firefox and IE+Google Toolbar’s popup defences. (At least I assume it’s them, not some other site with popups sitting in the background).

Not to mention the fact that the popup ads are the worst kind – the ones that look to people of limited computer-literacy like legitimate system messages, for instance:

Fake warning

Oh sure, they have “advertisement” written in tiny tiny greyed writing in the corner. That makes it all better, doesn’t it. I wonder if Cancel actually closes it? (I clicked the X in the corner.)