Migrating WSUS to a new server without downloading all the updates

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

I’ve spent the last day or so decommissioning my old domain controller, which also doubled up as a DNS, WINS, DHCP, print, RIS, anti-virus and WSUS server (okay… so a bit more than doubled up then!). Migrating Active Directory/DNS/WINS services was straightforward – it just involved setting up the new server, replicating the data, updating client settings (via DHCP) then removing the old services. DHCP was similarly straightforward (I’ve blogged before about migrating DHCP databases between servers) and RIS just needed to be installed on the new server, the images copied across, and the remote installation services setup wizard run. I recreated my single print queue manually but I could just as well have used the Microsoft Windows Server 2003 Print Migrator. That left just left my anti-virus management console (reinstall the console and reconfigure the clients) and WSUS.

I could just have installed WSUS, resynchronised with Microsoft Update and approved the necessary updates; however that would have involved downloading more than 10GB of updates (which could have taken my bandwidth usage for the month to a level that would result in my Internet connection being throttled under my ISP’s sustainable usage policy).

One potential WSUS migration option would have been to backup and restore the WSUS configuration but I wasn’t convinced about how that would work in a migration scenario involving a change of servername. Then I found a blog post from Nathan Winters about migrating WSUS between servers which helped me to import the content without going out to the Internet and downloading it again. Nathan suggests that the approvals database gets imported too, but that’s not the case – the wsusutil import command only imports the update metadata (not the file, approvals, or server settings). Similarly wsusutil migratesus migrates approvals from a SUS server (not WSUS) and wsusutil movecontent is for moving the content within the local file system. More details on managing WSUS from the command line can be found in the Microsoft Windows Server TechCenter.

By chance, I’d installed my new WSUS server as a replica of the original one so I could synchronise with the old server as my upstream source, leaving the new server with the content (from a a manual file copy followed by a metadata import) and the approvals information (from the synchronisation with the old server). All that remained was to finalise the server settings (synchronisation options etc.) and update group policy so that my clients went to the new server.

I hit a problem when I found that WSUS 2.0 doesn’t allow replica servers to be converted to standalone mode (that’s expected when WSUS 3.0 is released later this year), effectively preventing me from repointing WSUS to download updates from Microsoft Update. Luckily, Mohammed Athif Khaleel’s PatchAholic blog features a post on changing the mode of a WSUS server and a follow-up comment from SpJam includes a script to switch a server from replica to standalone mode (modified here to reflect subsequent comments):

rem Restore values after exec spEnableReplica stored procedure
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB UPDATE dbo.tbConfigurationA SET SyncToMU = ‘1′ UPDATE dbo.tbConfigurationB SET AutoRefreshDeployments = ‘1′ UPDATE dbo.tbConfigurationC SET ReplicaMode = ‘0′ UPDATE dbo.tbConfigurationC SET AutoDeployMandatory = ‘1′ UPDATE dbo.tbAutoDeploymentRule SET Enabled = ‘0′”

rem Add removed values in tables
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbTargetGroupInAutoDeploymentRule(AutoDeploymentRuleID, TargetGroupID) values (1, ‘A0A08746-4DBE-4a37-9ADF-9E7652C0B421′)”
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbTargetGroupInAutoDeploymentRule(AutoDeploymentRuleID, TargetGroupID) values (2, ‘A0A08746-4DBE-4a37-9ADF-9E7652C0B421′)”
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbUpdateClassificationInAutoDeploymentRule(AutoDeploymentRuleID, UpdateClassificationID) values (1, 1)”
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbUpdateClassificationInAutoDeploymentRule(AutoDeploymentRuleID, UpdateClassificationID) values (1, 5)”
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbUpdateClassificationInAutoDeploymentRule(AutoDeploymentRuleID, UpdateClassificationID) values (2, 1)”
“%ProgramFiles%\Update Services\tools\osql\osql.exe” -S %COMPUTERNAME%\WSUS -E -b -n -Q “USE SUSDB Insert into dbo.tbUpdateClassificationInAutoDeploymentRule(AutoDeploymentRuleID, UpdateClassificationID) values (2, 5)”

It looked as if the script worked as advertised (except that automatic approval options were still not available) until I started to encounter the following error message when running reports or attempting to view update information:

Windows Server Update Services error

Error connecting to the Windows Server Update Services database
There was an error connecting to the Windows Server Update Services database. Either the database is not available or you do not have the correct privileges to access the database.

If you believe you have received this message in error, please check with your system administrator.

Click here to reload the site: Windows Server Update Services

Thinking that I had corrupted the database and that I might need to go back and start the WSUS migration from scratch, I decided to restart the server “just in case”. After the restart, everything seemed to be working (including the previously-missing automatic approval options). I’ve since approved some more updates and run various reports and (so far) there have been no problems administering WSUS.

The final step was to edit the group policy that I use to control automatic update options on my clients – a minor edit to change the server which clients should contact for updates.

So, to summarise, my WSUS migration process was:

  1. Install BITS 2.0 (a fully-patched Windows Server 2003 server should already have this).
  2. Install WSUS (in replica mode) and WMSDE.
  3. Export the update metadata on the old server using %programfiles%\Update Services\Tools\wsusutil export filename.cab logfilename.txt.
  4. Copy filename.cab (created above) and the contents of the WsusContent folder to the new server (e.g. using an external disk to network connectivity issues).
  5. Import the update metadata using %programfiles%\Update Services\Tools\wsusutil import filename.cab logfilename.txt (note that this takes a long time – it was just over three hours in my case).
  6. Synchronise WSUS with an upstream server.
  7. Save the script above as filename.cmd and execute it from the command line. The output will detail each command followed by the number of affected rows in the database.
  8. Reboot the server.
  9. Configure server settings (e.g. set Microsoft Update as the update source) and administer WSUS as normal.

I’d be interested to hear if anyone has any variations on this approach – for example, I don’t really recommend installing WSUS in replica mode and then hacking the database (and this wouldn’t be an option if there was any network segregation in place). Indeed, since I completed the exercise I found reference to a tool called WSUSMigrate which is part of the WSUS API samples and tools and can be used to migrate the approvals data – that looks like a much better approach.

Testing torrents

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

BitTorrent gets a lot of bad press. I’m a self-confessed geek and I’d been led to believe (largely by mainstream media it has to be said) that it was all about illegal downloads of copyrighted music and video and, to a large extent, that is the main use of the technology today; however it’s also potentially an immensely powerful medium for content distribution.

I’ve heard some great remixes recently of Snow Patrol’s Open Your Eyes. I waited for the single release (last Tuesday), went to iTunes and there was just a basic single with two tracks, just like the old days of buying 7″ vinyl (showing my age now). In the 90s I bought a lot of CD singles – with 3-6 tracks (mostly remixes) until the chart rules limited the number of tracks on a CD single (an anti-consumer practice if ever I saw one, as most record companies started releasing two versions of a CD single instead with different content, bringing in twice the revenue). Anyway, I digress – there was no sign of the Redanka remix that I wanted. A bit of googling turned up the track I wanted at AllOfMP3 for just $0.39 (but did I really want to hand over my credit card details to a website of dubious legality for such a small sum?) – googling also turned up versions on YouTube and various torrent sites but I was prepared to part with cash to buy this legally!

I went to the official website for the band and asked where I could get the tracks legally… no response. In fact my comment wasn’t even approved by the moderators!

It seems to me that record companies are not helping themselves here – but making different content available in different markets (as well as online/offline), they fragment the market and frustrate the consumer. Little wonder really that people turn to underground download sites…

Now, I’m not encouraging anything that might be illegal here but this blog has an international audience and not everywhere respects the UK’s copyright legislation. If one was to be driven down the torrent route then this is what they might find…

There are many torrent sites that offer content, both legal and illegal for download. I’m not going to link any here but they can be found by using your favourite search engine. If you want to know how to get started, then check out the TorrentSpy Forumsguide to BitTorrent for total newbies as well as how to use Torrents (a basic introduction to BitTorrent vocabulary may also be useful). There are also articles at TorrentFreak which look interesting including summaries of the popular BitTorrent clients for Mac OS X and Windows – many of these are also available for Linux.

There is one very important rule, if you download, then remember to leave your BitTorrent client running once the download is complete to seed the content for others (don’t be a leech). It’s this distributed distribution that’s the big advantage of the BitTorrent technology – leaving aside any illegal content, let’s imagine that I am a media producer trying to distribute content without any big business capital or sponsorship. Instead of running a website with potentially huge bandwidth costs, that cost is shared by those who download the content and make it available for others. Other examples of legal torrent use include distribution of certain software (e.g. Linux distributions) and podcasts and as people realise the potential of peer-to-peer technologies (of which BitTorrent is only one form), they will gain increased acceptance.

When Polydor/Universal Music release the track that I’m after as a download on iTunes, I’ll buy it and pay my dues.

More problems since the Blogger upgrade

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Blogger logoSince the middle of last year, I’ve been using a sitemap to help spiders to crawl around my little bit of the web. After looking into the various options, the easiest method for me (by far) was to use the XML-Sitemaps generator but the free version is limited to 500 pages. Upgrading to the paid version was the best $19.99 I ever spent as Google now indexes all my pages (therefore increasing my exposure on the ‘net and hence my advertising revenue, which may be small but is worth having).

Unfortunately, when I tried to run the generator yesterday, it refused to index my blog (which, at the time of writing, represents 98.8% of my website’s pages) but luckily (and this is another reason for having the paid XML Sitemap generator), within a few hours I had an answer to my problem from the administrator of the XML Sitemaps Forum – for some reason, my blog pages contained the following tag:

<meta name="ROBOTS" content="NOINDEX,NOFOLLOW">

It’s no wonder that the pages were being skipped as this is a directive for robots that says not to index this page and not to follow links!

Now, I didn’t add that tag… so how did it get into my code? It seems that it was added by Blogger. Blogger uses a system of template tags to generate content, one of which is <$Blog MetaData$>, used to insert all of the blog’s meta data. This has been working for me up to now, but it seems that the upgrade has added the directive for robots not to index my pages, nor to follow links. According to Blogger’s help text, this is only inserted if a blog is set not to be added to listings, but mine has a very definite yes (I do want to be listed):

Screen shot showing that the blog is set to be listed

After replacing the template tag with the correct (manually-inserted) meta data, I was able to crawl the site successfully and create an updated sitemap.

I’m not denying that Blogger is a great system for people starting out with their own blog (and many of the new features are good for more advanced bloggers too) but it seems to me that considering it’s owned by Google (a company with many products that seem to be in perpetual beta) it has more than its fair share of problems and it looks as if a major upgrade has been rushed out of the door (I’ve already had to apologise to subscribers that old posts are creeping back in to the Atom and RSS feeds). I wanted to stay on the old platform for as long as possible but when I logged in a few days back I was given no choice but to upgrade.

Thankfully, my pages didn’t drop out of the Google index (as I upload the sitemap manually and so spotted the error) but this directive may well have affected the way in which other search engines index my site… luckily I caught it within a few days of the offending code being inserted.

Apologies to subscribers on the RSS/Atom feeds

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Blogger logoAnyone who views this blog using the Atom or RSS XML feeds has probably noticed old posts coming back into the feed this week. It seems that after forcing me to upgrade from plain old Blogger to “new” Blogger (out of beta), Blogger now updates my feeds whenever a post is updated (e.g. if someone adds a comment), rather than when it is published. So far, I haven’t found a way to control this so for the time being, all I can do is apologise (I’ve been talking about moving over to WordPress for a while now… maybe this will be the catalyst although, to be honest, I’m a bit busy with the site redesign, among other things).

Whilst I’m writing this, I might was well point out that there seems to be a new RSS 2.0 feed available directly at the site (the old one was via Feedburner). I’m not sure how it got there (I haven’t found a corresponding option in Blogger) and I haven’t turned off the Feedburner RSS feed but you may want to switch existing RSS subscriptions to the new URL (http://www.markwilson.co.uk/blog/rss.xml). For Atom subscribers there’s no change (it’s still at http://www.markwilson.co.uk/blog/atom.xml) – Blogger has always supported Atom.

I’m still working out how to use the new features (it seems that a lot of the Blogger help content still relates to the old system) but I do plan to provide comments feeds (site-wide and per-post) as well as post labels (but with over 700 posts to go back and label that might take a while). In the meantime, please bear with me.

Recycling old CDs/DVDs and tapes

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Recycle now(Recycle Now is a UK website – United States readers can find out more about acting in an environmentally-friendly manner at Earth 911)

Leo Hickman: A Good Life - the Guide to Ethical LivingRecently, there have been a few posts on this site that aim to encourage reuse and recycling within our industry. It’s not that I’m going “green” – I’ve actually been interested in sustainability for a while now (and I recommend reading A Good Life – the guide to ethical living, by Leon Hickman). It’s not even about climate change – maybe mankind is warming up the planet with possible catastrophic consequences but maybe it’s just nature. One thing it’s almost impossible to argue with is that the world’s resources are finite and my personal belief is that we all have a duty to use those resources in the best way possible (well, ideally not to use them at all… but you get my drift).

Oh sure, I’m no saint (my family uses two cars and my kids use disposable nappies for starters) but there are things that we can all do and, whilst I don’t know the situation for any overseas visitors to this blog, here in the UK, the Government does little except pay lip service to environmental issues (and don’t get me started on wind “farms”).

Anyway, as part of my ongoing clearout of “stuff” from my loft/garage/office, I was about to throw away something in the region of 300 CD/DVDs (not music ones, just old software betas and demos, Microsoft TechNet CDs, etc.) and thought “these must be recyclable”. Well, it turns out they are (the United States Environmental Protection Agency has also produced a poster which demonstrates the life of a CD or DVD, from initial materials acquisition, through to reuse, recycling or disposal) and, even though my local authority only recycles the most basic of items, I found out about The Laundry (and it seems that they will accept CDs, DVDs, CD-Rs, VHS and compact cassettes for recycling from anyone, including the jewel cases and inlays).

The Laundry collectionThe Laundry is an excellent idea, because for as much as consumers control the amount of landfill waste that we produce, our hands are largely tied by local authorities that don’t recycle all items that it is possible to recycle (for example, mine won’t accept certain types of plastics, aerosols, Tetra Paks, etc. for recycling – even though the links I just provided prove that they can be recycled), meaning that consumers have to find another outlet for this type of waste (and most won’t bother). Businesses have an even bigger problem as many local authorities won’t accept anything but landfill waste from them, so they end up throwing away recyclable items (and paying for the privilege). By providing a weekly kerbside collection service for small businesses in London, The Laundry has the potential to really make a difference – I’d love to see them expand nationwide.

The next time I’m in East London, I’ll be dropping off my old CDs and DVDs at The Laundry. As for the packaging, there’s an amusing discussion on what to do with the plastic spindles that blank CD-Rs are sold on at the How can I recycle this? site.

Hunting down hot spots in Milton Keynes

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

A couple of weeks back, I wrote a post about the 40th anniversary of the creation of Milton Keynes, Britain’s last “new town”, the Borough of which includes the town where I live. That post included some rather tenuous technology links, one of which was VNU’s report that Milton Keynes is to become the site for the UK’s largest area of high-speed wireless broadband access – for free (in addition to the first WiMAX deployment in the UK).

According to the local press:

“Free Internet access is spreading across Central Milton Keynes as Britezone grabs people’s imagination. Already the two shopping centres and [the main street adjacent to the shopping centre] offer free connection for wi-fi phones and laptops… Britezone was launched less that three months ago and has been an immediate success… It couldn’t be simpler to register: as soon as you enter the Britezone your phone or laptop will offer Britezone as an ISP option and you click on it to be connected for free”.

[Milton Keynes Citizen, 1 February 2007]

Skeptical as ever, yesterday afternoon I decided to check it out, hunting down hotspots in Central Milton Keynes.

To be fair, the map that accompanied the text I just quoted showed two distinct rings of coverage, with more planned as sponsors are found. Interestingly, one of the main sponsors is the local newspaper, and a search of their website for Britezone turns up no results – not even a link to the (badly written – both in terms of textual information and coding) Briteyellow website. I headed for the point where the two rings overlapped most – “The Boulevard” – an area full of coffee shops situated between The Centre: MK and Midsummer Place. I fired up my Windows XP laptop, searched for Wireless networks and… no Britezone, although I did find a variety of wireless networks, both secure and insecure.

After walking a little further, into the middle of a busy thoroughfare, I spotted what could have been a wi-fi antenna on the roof of the shopping centre and finally picked up a weak signal (much to the bemusement of passing shoppers), connected and opened a browser, entering the walled garden and registering for my free 12-hour access code.

Could this be an antenna for the CMK Britezone?

The registration process was not simple – it required giving away chunks of personal information in mandatory form fields (name, mobile phone model and number, address, sex, age, inside leg measurement… well maybe not inside leg measurement but far more information than I was happy to part with for some free wireless access) and although the mobile phone model didn’t show up as a mandatory field, I couldn’t register until I provided the details.

Once online, I could browse the ‘net (I didn’t try much else) but I set about tracking the signal to see how extensive the Britezone is. As I found the strongest point, I spotted, mounted on the roof, outside Marks and Spencer, a Strix Systems access point. I wandered a little further around the shopping centre, and although I found many wireless networks on my travels, there was no evidence of Britezone anywhere outside this very small zone of coverage!

Strix Systems access point

At the time of writing, Milton Keynes’ free wi-fi coverage seems pretty poor. I’m sure it will get better but it got me thinking about who this service is actually aimed at. Wandering around a shopping centre with a laptop, I felt pretty vulnerable (and got a lot of strange looks). Once the rest of the city centre is covered then it may be of use for office workers but most businesses will already have Internet connectivity (and I wouldn’t trust a free hotspot to run a corporate network). I can see that metropolitan coverage will be good for home users (as the local cable network was built with aluminium cables – not copper – and so has technical difficulties to overcome before it can be used for broadband access) but there will be competition as Pipex Wireless is trialling WiMAX services in parts of Milton Keynes (the first users have been connected already). Given that Briteyellow, who operate the wi-fi service I tested, were so keen to gather my mobile phone model and number it seems likely that the main beneficiaries will be smartphone users and one of the registration options was to be notified of special offers. At this point, I realised the whole point – it’s not about free Internet access, but advertising – imagine the scenario – as you pass HMV (for example), the details of the latest CD releases pop up on your mobile… and there’s 10% off if you show the advert in store – you get the picture? Free Internet access is just the hook. Another service on offer is a low-cost softphone and instant messaging solution – why use your (expensive) mobile cellular phone when you can use a free wi-fi network and pay them for your phone calls?

Britezone is certain to have its uses. Whether it will ever cover the entire city (or even the whole city centre) is yet to be seen but until it covers the many parks and green spaces, or a few coffee shops where I can sit in comfort with my laptop (without constantly looking over my shoulder), I don’t think I’ll be using it again. I do wish them luck though – the service certainly has potential, as long as they can expand the coverage. In the meantime, I’ve registered my interest in the Pipex WiMAX service. Further information on broadband coverage in Milton Keynes can be found via the Milton Keynes broadband action group.

Obtaining version information for Flash (.SWF) files

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

In my post about embedding video content in (X)HTML this morning, I mentioned that I didn’t know the correct codebase attribute to use when embedding Flash video clips from online resources in my web pages… well, now I do!

It seems that every Flash (.SWF) file includes a header which includes the Flash version number in the 4th byte.

OK… great… but how do I view the header?

First, I found a forum thread discussing a method for testing the minimum version of Flash player is required to display a .SWF. however, trying to write some ActionScript in MX Studio 2004 blew my mind (I don’t know anything about Flash development). A bit more googling led to another thread on .SWF header-only parsing, including some Java code (unfortunately I don’t know how to use a Java class either!).

Now what? Realising that I’m an operating-system-and-infrastructure-kind-of-guy and not a programmer, I started to think about the command line… what if I get hold of a .SWF file and type head filename.swf? Lots of beeps and unintelligible ASCII characters, that’s what! Hang on… that started with CWS? Flash file headers always begin with CWS or FWS… getting warmer… how can I read that 4th byte… think back to hacking school computers with the MS-DOS debugger 20 years ago… think hexadecimal… a hex editor – that’s the answer!

As I was working on Mac (i.e. no debug.exe available), I needed to download a free hex editor. HexEdit looked like it should do the trick but there is not a universal binary version available yet (only 68000 and PowerPC). Then I found a link to 0xED (nice name for a hex editor guys!) on the Apple development tools download site. I opened a .SWF file and… 43 (C)… 57 (W) … 53 (S)… 07… Flash Player 7 required. Sorted. Repeating for a few more files, I found FWS4 and FWS5… this was looking good, now what about the iFilm and YouTube links in my post this morning? As they don’t expose the content directly (even when you dig about in the HTML), I thought of using something like TubeSock to rip the content but realised that wouldn’t help in this case as it also performs a file format conversion. Then I noticed that the websites use their own Flash players to access the video content – 0xED can also open by path – and after entering the required URL (http://www.ifilm.com/efp or http://youtube.com/player2.swf), I found the information I needed – YouTube content needs Flash Player 7 or later and iFilm content needs Flash Player 8 or later.

.SWF file viewed in 0xED

Now I can go back and edit those codebase attributes to the correct minimum player version!

Embedding video content in (X)HTML

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

Yesterday’s Mac vs. PC post should have been straightforward, except that it contained three video clips, each of which I wanted to embed in a standards-compliant way whilst maintaining maximum browser compatibility (i.e. ignoring the official advice from Adobe on embedding Flash content and Apple’s advice for embedding QuickTime content by avoiding the non-standard <embed> element and just using the <object> and <param> elements)… what a task that turned out to be.

To be honest, a lot of the problems probably came down to me not thinking my code was working because the preview function in my content management system (Blogger) failed to display the videos in one browser or another so, after another late night, I decided to publish and be damned. The resulting code seems to work for the Flash content on most the the browser/operating system combinations I have tried (Mozilla 1.7.13 and Firefox 1.5.06 on Linux; Internet Explorer 7.0.5730.11 on Windows XP, Safari 2.0.4 and Firefox 2.0.0.1 on Mac OS X – Intel), although I was using Adobe Flash Player 9 (I’m not sure which version is needed for the clips I used so I didn’t update the codebase attribute to reflect it – older player versions will not automatically update until I fix this) and I’m aware that there may still be some issues with the QuickTime clip (it does seem to be working on Firefox and IE though).

So, how should this be done?

Firstly, the valid Flash, video, and audio embed (object) markup post at the Web Standards Project links to some great articles which should be read, namely:

These give the background to why the <embed> element shouldn’t be used, as well as demonstrating the use of conditional comments to force certain browsers into compliance. I actually used another variation on this theme – David Grudl’s how to correctly insert Flash into XHTML – ironically this uses a negated version of Internet Explorer-specific conditional comments to force IE into ignoring code intended for other browsers!

Then, there is the issue of the changes made to the behaviour of ActiveX content in Internet Explorer, following the Eolas patent suit, as described by Robert Nyman. In my case, it doesn’t really matter if you need to activate a control to view a video clip on my blog; however there are some workarounds. Most use JavaScript (indeed Adobe recommends a JavaScript-based workaround to the changes made in Internet Explorer) and one popular alternative is to use document.write in an external JavaScript function to dynamically re-write the object embedding code. Alternatives include Geoff Stearns’ SWFObject (formerly known as FlashObject) and Bobby van der Sluis’ unobtrusive flash objects (UFO). I plumped for a version I found in a comment by Karl Rudd the Robert Nyman post that I linked earlier (Fix It uses a similar concept, also advocated by David Grudl in his post on how to avoid activation of ActiveX in IE).

After spending most of yesterday working on the object embedding, and a good part of this morning writing about it here, I think I’ll leave that one alone now, unless anyone has any better ideas to fix my code (note that the <br /> tags scattered through it were added by Blogger – not by me).

Mac vs. PC

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.


PC guy - Mac guy

A few months back, I commented that Apple’s Mac vs. PC ads were amusing but it still strikes me as odd that a company with a brand as strong as Apple’s would drop to what is effectively bragging. Anyway, despite the rumours of Mac guy Justin Long being replaced (which he appears to deny on his website), new ads are running and they are still amusing… even if they do sometimes sail a little close to the wind (more on that in a moment).

The ads have grabbed the public attention so much that there are even spoof ads:
Even Microsoft seem to be getting in on the act, and although the original source of the Zune vs. iPod clip below is unclear, it was reported to have been shown at a Microsoft event (I can believe that):

Meanwhile, the United States’ campaign has been so successful that it is now being rolled out in other parts of the world – David Mitchell and Robert Webb have been brought in as PC guy and Mac guy for the UK ads and it seems to work well (my favourites so far are definitely “Restarting” and “Virus“).

I said that Apple are sailing close to the wind here and this is why… I have to restart my Mac far more often than my Windows XP or Windows Server 2003 PCs – so that’s one of the UK ads that’s a blatant lie then. I’ll accept that view is a little subjective, so let’s objectively consider the new “Security” ad in the US which pokes fun at Windows Vista’s user access control:

…and here’s a screen shot from my Mac, after I change the default behaviour which allows me to run as an administrator although admittedly not as root (and with the client firewall turned off):

OS X authentication

I know the ads are largely about fun but isn’t this a case of the pot calling the kettle black?

Clearer vision with iSight

This content is 18 years old. I don't routinely update old blog posts as they are only intended to represent a view at a particular point in time. Please be warned that the information here may be out of date.

When I originally bought my Mac, I avoided buying an Apple iSight camera, as I figured they were a little expensive; however more recently I’ve been convinced of the need to buy a decent webcam. Unfortunately, getting hold of an external iSight now is very difficult as they have been withdrawn from sale in the US and Europe (if not worldwide) – I had to pay over the odds on eBay to secure mine (until then I’d been using a DV camcorder on a firewire cable) – but even so, I thought I’d publish a couple of links that might be useful for iChat AV users thinking about their choice of webcam:

iSight image in iChat AV

This screen shot was captured earlier this evening using the external iSight camera and even though it was taken in a dark room under a mixture of compact fluorescent and halogen light sources, the camera has done a pretty good job of both the exposure and the focus… although by the look of the bags under my eyes, I need more sleep!