James O'Neill's Blog

April 30, 2008

SCVMM: If you go down to connect today, you’re sure of a nice surprise

Filed under: Virtualization,Windows Server,Windows Server 2008 — jamesone111 @ 9:22 pm

There were rumours that it would be announced at MMS, but I didn’t want to comment on them until the announcement was made. System Center Virtual Machine Manager has gone beta.

On the (recently revamped) home page of http://connect.microsoft.com, if you click Connection Directory or See all Connections you’ll find

System Center Virtual Machine Manager

Virtual Machine Manager 2008 (VMM) is a comprehensive virtual management solution optimized for Windows Server® 2008, Microsoft Virtual Server, and VMware infrastructures.

That’s exciting news. If you’re working on Virtualization and would like some assistance drop me a mail – ideally with the word "Airframe" in the title and I’ll give you some information about a support programme which we’re running.


This post originally appeared on my technet blog.


April 26, 2008

Microsoft and VMware and approaches

Filed under: Virtualization,Windows Server,Windows Server 2008 — jamesone111 @ 3:48 pm

We’re two dates into our roadshow and I’ve twice been asked to do a comparison of VMware and Microsoft in the high availability area.

So lets go back to basics a second. Microsoft is involved in lots of areas of software, covering: Operating Systems, several different kinds of Virtualization, server Applications and Management software (a lot of customers are keen to Manage VMware with System Center Virtual Machine Manager – which is probably worth it’s own post). We’ve got a history with high availability. Back in OS/2 LanManager days we had domains where any one of several machines could validate a logon. When we introduced WINS and DHCP in NT 3.5 we supported multiple servers being able deliver the same service to the same client. We have Network Load Balancing – Office Communications Server is designed to leverage it, and IIS in server 2008 is designed to play better with it. We introduced fail over clustering 10 years or so ago, and we’re up to our 4th generation of it with Server 2008. Exchange, SQL, file shares and virtual machines can all be clustered. Clustering at the application level is THE only way to provide high availability over a wide range of problems. If the hardware fails, if the OS running the server application fails, if the application itself fails… application level clustering saves the day. If an application is critical of itself and can be clustered there is no excuse for not clustering it. 

We see the main task of Hyper-V Servers as running a reasonably static collection of Server workloads. That’s not to say workloads never move between servers: but they tend to stay put. It’s not to say we never run client workloads using Virtualization; but usually Terminal Services is a better way to run many identical "virtual desktops"  Running many clients as VMs has a much bigger disk, memory and CPU overhead: but in some cases it is still the best way to go. Companies who can sell you the same solution based on Terminal Services, or Client OS virtualization (ourselves or Citrix) will tend to go the TS route: patching and application deployment is simpler that way too. VMware don’t offer that choice.

I talked about applications which are critical of themselves: over on the virtualization blog Jeff talked about consolidating applications which aren’t critical individually, but move 5, 10, 20 such apps onto one server and that server becomes critical. If it fails unexpectedly your job’s on the line. So, to allow VMs to live on shared storage and be failed over to another machine, VMware have their "HA" option and we use the clustering of Enterprise/Datacenter builds of Windows  A by-product of clustering is the ability to migrate VMs from one box to another – this is quick but not "live" it involves a brief interruption of service. 

This is the area where VMware have their major differentiator, VMotion. We know that some customers want to be able to move machines around with no downtime, and we’ve talked about it for a future version. I want to avoid getting into any criticism of the feature itself – with Microsoft not having it today that would have the tang of sour grapes to it. I don’t think it is controversial to say VMware’s software costs substantially more  than Microsoft’s nearest equivalent; to stay in business they need to offer features which justify that cost. VMotion is just such a feature, the problem is that VMotion is touted as the cure for all ills: which it is isn’t. It lets you say "Move this machine", it copies the machine’s memory to another host and switches over in under a second. But VMotion doesn’t help with unplanned downtime (Jeff gives chapter and verse on VMware’s HA document here). So Vmotion helps with planned downtime – patching or upgrading the host. As Jeff points out in a third post we think most customers – even the ones who  have a live migration solution still warn people the system will go down and do the upgrade during off hours. If both host and guest are running Windows there is the possibility to patch the guests and take them down, patch the host, and then bring everything back up together.

One other thing about VMware’s approach is that they make a feature of "sweating" the hardware to a higher level than we do – whether the workloads are client or server ones (See the argument about over-committing memory ). This means dynamically allocating resources and being able to move VMs from an overloaded box to an underloaded one. It’s really a kind of "grid" computing where the workloads (VMs) float from host to host, cost makes it necessary and VMotion makes that possible. In the Microsoft world we tend to say spend the money you save from cheaper software on more hardware, so you don’t have to sweat it as much; and workloads don’t need to hop from box to box as frequently.

This post originally appeared on my technet blog.

Humphrey Lyttelton. 1921-2008.

Filed under: General musings,Music and Media — jamesone111 @ 9:12 am

Humphrey LytteltonOn the Roadshow we have been in Cinemas so it seemed appropriate to have a round of IT professional’s film club, an idea which we lifted from Radio 4’s "I’m sorry I haven’t a clue".

I’ve never really taken to any other Radio station: I can remember asking my grandmother why "Just a minute" had that "very fast piano music" (The Minute Waltz) as a signature tune. On "I’m sorry I haven’t a clue" Humph’s fantastically contrived double-entendres and good natured insults are exactly my sense of humour. As one of the many tributes from the public posted this  morning on the BBC web site says, "Not having to pull over due to crying with laughter will mean the roads will be safer now, unfortunately."

So it was a bombshell to hear, on Radio 4 as I woke up this morning, that Humphrey Lyttelton has died It seems too small a thing to say "I’ll miss him". But I will, terribly.

This post originally appeared on my technet blog.

April 25, 2008

Newton’s third Law of presentations

Filed under: Events,Virtualization — jamesone111 @ 1:34 pm

"Every reaction to presentation has an equal and opposite reaction" Well I guess I asked for it yesterday,

  • I think it worked very well to have 2 people presenting and bouncing off one another – makes a very big difference and kept things interesting!
  • Some of the presenters were trying to do a ‘Laurel and Hardy’ approach, which personally I do not think came across well.

One of the requests was for

  • Better answers to questions on comparison features to opposition, it’s a technical forum so I expect to hear technical answers not market positioning.

Now this seems a reasonable request until you consider that I have to know Office Communications Server, all of Windows Server (with an emphasis on Hyper-V and terminal Services) all of Vista, have a handle on deployment technologies, and at least some clue about the management technologies like Virtual Machine Manager. Someone lambasted Viral in Cardiff for not knowing about Backup Domain Controllers: Viral’s not primarily an AD person and he joined Microsoft five years after BDCs were declared obsolete. So besides the breadth of technologies we have know history and futures (never forgetting to divide those into rumours, secrets, plans etc.) And then people expect us to have a good understanding of the offerings from companies with complimentary technologies, like Citrix and what the respondent calls the "opposition". Assuming we know all of that stuff we have about two minutes to answer any question and have to cover ground and pitch the response at the right level for the audience. If the question is "Can you give me a detailed summary of the High availability and resource distribution features in VMware and Microsoft Hyper-V and compare them" we’re not going to do a great job. How well do you think Microsoft and VMware can describe each others products anyway.

That said we can say some things about Microsoft and VMware and the approaches of both when it comes to High availability.  And I’m going to deal with that in the next post.

This post originally appeared on my technet blog.

Accessing the Hyper-V API: disks.

Filed under: How to,Powershell,Virtualization,Windows Server,Windows Server 2008 — jamesone111 @ 1:39 am

… In which we create compact, mount, unmount vhds

In my last post I said "There are two WMI objects which do most of the work", and mentioned the one named "Msvm_ImageManagementService". I spent last week with  poor Internet connectivity and so I had to discover some of the following by using WebmTest; it’s not a widely used tool but it’s a kind of swiss army knife for WMI. That’s given me the subject matter for another post but, It’s much easier to get the information from the MSDN page for Msvm_ImageManagementService.  This gives you a list of methods you can call via WMI. There are 13: CreateDynamicVirtualHardDisk , CreateFixedVirtualHardDisk , CreateDifferencingVirtualHardDisk , ReconnectParentVirtualHardDisk , CreateVirtualFloppyDisk , MergeVirtualHardDisk , CompactVirtualHardDisk , ExpandVirtualHardDisk , ConvertVirtualHardDisk , GetVirtualHardDiskInfo , Mount , Unmount , ValidateVirtualHardDisk

For now I’m only looking at 6 of them the 3 CreateXXXvirtualDisk functions, mount and unmount, and compact.

The script which contains my functions has a line which sets a variable to point to the Image management service WMI object. With that in place I created a New-VHD function. Initially  I created "new-DynamicVHD" and "new-FixedVHD" functions. I then thought I’d merge them and have a  -fixed switch, in addition to that I pass the function a path and a size (I love the fact that Powershell  understands what 20GB means here !)

function New-VHD
{param ([string]$vhdPath , [int64]$size , [Switch]$Fixed)
   if ($fixed) { $IMGMgtSvc.psbase.invokemethod("CreateFixedVirtualHardDisk",@($vhdPath,$Size,$null) ) }
   else  { $IMGMgtSvc.psbase.invokemethod("CreateDynamicVirtualHardDisk",$arguments ) }    }

[Update. A bit of PowerShell 2.0 crept into the above. In 1.0 you can’t call the .InvokeMethod  method of a WMI object directly, you have to call it via .psbase]

I changed this later to have a Parent parameter. If this is present I Invoke the CreateDifferencingVirtualHardDisk  method of the WMI object: instead of passing it and array with path,size and a null, I pass it path , parent and a null. The null is for data being returned and points to a "job" – Hyper-V creates the hard disk in the background and we can check on progress by examining the WMI object representing the Job, and the final version of the function returns the job ID, to make that easier. The version above is easier to read, but I’ll make the full version available with the rest of the functions at a later date.

You can see how the Job ID can be used in the next function. Mounting a disk via WMI is easy. Just for illustration I’ve used two different syntaxes $IMGMgtSvc.invokemethod("MethodName",arguments ) and $IMGMgtSvc.methodName(arguments)

All that’s need to the mount the disk is to call the MOUNT method with the Path to the VHD. The functions return 4096 if they start a job, so I check for that and get the Storage Job, I could poll the job until it completes but I just wait 5 seconds instead. Buried in the storage job is the Disk  index. Because disks are mounted Offline I string together commands for mounting it and pipe them into DiskPart. If there are any partitions on the disk they’ll have drive letters so after letting the mount process settle I check what they are. I make sure the drive letters are echoed to the screen, but I return the index of the disk as the result of the function.

function Mount-VHD
{param ([string]$vhdPath=$(throw("You must specify a Path for the VHD")) , [Switch]$Offline)
if   ($result.returnValue -eq 4096)
      {start-sleep 5
       $StorageJob=(Get-WmiObject -Namespace root\virtualization -QUERY "select * from msvm_storageJob
where instanceID=$($result.job.split("=")[1])")
       $diskIndex=(Get-WmiObject -query "Select * from win32_diskdrive
where Model='Msft Virtual Disk SCSI Disk Device'
and ScsiTargetID=$($storageJob.TargetId)
and ScsiLogicalUnit=$($StorageJob.Lun)
and scsiPort=$($storageJob.PortNumber)").index
       if ($diskIndex -eq $null) {"Mount failed"}
       elseif (-not $offline)  {@("select disk $diskIndex",
"online disk" ,
"attributes disk clear readonly",
"exit")  | diskpart | Out-Null
       start-sleep 5                  
     get-wmiobject -query "select * from Win32_logicaldisktoPartition
where __PATH like '%disk #$diskIndex%' " |
foreach-object {$_.dependent.split("=")[1].replace('"','') | out-host }
else {"Mount Failed"}

Unmounting the disk is so simple

function UnMount-VHD
{param ([string]$vhdPath )

$IMGMgtSvc.Unmount($vhdPath) }

and compacting is hardly complicated, just be aware that it takes and ARRAY of paths not a single variable.

Function Compact-VHD
{param ([string]$vhdPath)
$IMGMgtSvc.invokemethod("CompactVirtualHardDisk",@($vhdpath)) }

This post originally appeared on my technet blog.

On the road again …

Filed under: Events — jamesone111 @ 1:06 am

The whole team has been out on doing Technet Roadshows this week, first in Cardiff and then in London. I never like the first date of tour because, no matter how much we rehearse beforehand things don’t click into place until we’ve gone through a real delivery with real customers.  We can see people’s on-line feedback in near-real time; including the "verbatims" the comments people take the trouble to type up: one customer ended a long comment with "Sorry if this all sounds so negative – I’m not really Victor (Bloody) Meldrew. I actually took a hell of a lot out of the whole … I just hope the above helps you in later events." we really do read them all and action what we can. (Specific comments really help) and the delivery changed for London. But … we were more critical of ourselves than the people of Cardiff were [and yes Cardiff, we’ve seen how many of you were glad that we finally came over the Severn bridge]. None of the team felt they’d done a truly good job. I still remember driving Darren back from Nottingham last year after what he called the worst crash and burn presentation of his career; nothing in Cardiff was that bad but the presenter who came back with me this time felt he "tanked". So it was a real pleasure to watch my colleagues today – getting it right. At least that’s how we felt … but lets see what improvements we people can suggest.

This post originally appeared on my technet blog.

April 19, 2008

More on the accessing the Hyper-V API from Powershell

Filed under: How to,Powershell,Virtualization,Windows Server,Windows Server 2008 — jamesone111 @ 5:51 pm

… In which we find VMs, them choose one, start them, stop them  , and connect to them.

I spent more of the last week than I planned looking at Hyper-V and Powershell, and I’m getting dangerously close to calling myself an expert.

There are two WMI objects which do most of the work “Msvm_ImageManagementService” and “Msvm_virtualSystemManagementService” and I’ve got posts to write about things you can do with both of them, and some of the tricks of Wbemtest as well.

I also found that in several places I needed the WMI object representing the VM, or the object representing its status. Cue two functions

function Get-VM   
{Param ($machineName="%")
Get-WmiObject -Namespace "root\virtualization"               
-Query "SELECT * FROM Msvm_ComputerSystem
                       WHERE ElementName like '$machineName' AND caption like 'Virtual%' "
} #example 1: Get-VM
#           Returns WMI Msvm_ComputerSystem objects for all Virtual Machines #           (n.b. Parent Partition is filtered out)
#Example 2:  Get-VM "%2008%" #        Returns WMI Msvm_ComputerSystem objects for machines containing 2008 in their name #        (n.b.Wild card is % sign not *)

I re-wrote my function for displaying VM status as a format function and this little bit of code

function Format-VMStatus 

{param ($VM) if ($VM -eq $null) {$VM=$input}
$VM | Format-Table -autoSize  -properties as in the old post


Function Get-VMStatus
{Param ($machineName="%")
Get-VM $MachineName | Format-VmStatus

and Choosing a VM turned into

function Choose-VM  
{$VMs = Get-VM 
$VMs| Format-VmStatus | out-host
$VMs[ [int[]](Read-Host "Which one(s) ?").Split(",")] }

I wanted to be able to start a VM  (multiple VMs), stop it, pause it or connect to it using either it’s name or the Msvm_ComputerSystem object so I wrote 4 little functions which will do just that. (Yes I should have 3 of them calling a single “change state” function !)

function Start-VM 
{Param ($vm)
if ($vm -is [array]) {$vm | forEach-object {Start-VM $_ } }
if ($vm -is [string]) {$vm=(Get-VM $vm) }
if ($vm -is [System.Management.ManagementObject]) {$vm.requestStateChange(2) }
#Example Start-vm (choose-vm) - prompts the user to select one or more VMs and starts them

function Suspend-VM
{Param ($vm)

if ($vm -is [array]) {$vm | forEach-object {Suspend-VM $_ } } if ($vm -is [string]) {$vm=(Get-VM $vm) }

if ($vm -is [System.Management.ManagementObject]) {$vm.requestStateChange(32769) }

function Stop-VM
{Param ($vm) if ($vm -is [array]) {$vm | forEach-object {Stop-VM $_ } }
if ($vm -is [string]) {$vm=(Get-VM $vm) } if ($vm -is [System.Management.ManagementObject]) {$vm.requestStateChange(3) }

function Get-VMConnectSession
{Param ($vm) if ($vm -is [string]) {& 'C:\Program Files\Hyper-V\vmconnect.exe' $VSMgtSvc.SystemName $vm } if ($vm -is [System.Management.ManagementObject]) {& 'C:\Program Files\Hyper-V\vmconnect.exe' $VSMgtSvc.SystemName $vm.elementName } } #Example: Get-VMconnectSession $tenby
#         Launches a Terminal connection to the server pointed to by $tenby.

In the next post I’ll look at things we can do with virtual disks using the “Msvm_ImageManagementService object

This post originally appeared on my technet blog.

April 16, 2008

Core! that firewall management has some tricks.

Filed under: How to,Security and Malware,Windows Server,Windows Server 2008 — jamesone111 @ 5:23 pm

Quite a lot of the last few days has gone into preparation for the Road-Show and making sure I had all the things right for show Windows Server Core.

Core, as you probably know by now, is server 2008 with support of only a subset of features, and most of the GUI bits removed. The idea is that you manage core remotely, but some things need to be done at the command line. I’ve got all my notes on core on my PC but when I checked out the Core document in the step by step guides, I found it had all the bits I’d pulled together over recent months in one place, and a few more. I recommend it.

Server 2008 starts "shields-up" that is with the firewall blocking just about everything (even to the point of blocking inbound PINGs, which might be going a bit far). To manage core remotely from the management console, you need to set some firewall rules. In an ideal world my demo core machine would be in a domain -  and group policy would set the firewall rules. But it isn’t: the Step by step document kindly tells me that to allow all MMC Sanp-ins to connect, at a comment prompt, I need to type

   Netsh advfirewall firewall set rule group="remote administration" new enable=yes

and to enable remote management of the firewall

   Netsh advfirewall firewall set curentprofile settings remotemanagement enable

There’s one more section that jumps out of the document To manage a server that is running a Server Core installation and is not a domain member using an MMC snap-in … establish alternate credentials … on your client computer using

   cmdkey /add:<servername> /user:<username> /pass:<password>

This works like a charm for everything … except for the firewall MMC. The fact that it governs it’s own management traffic separately should have been a clue here. I haven’t found any way to get it to accept alternate credentials. This normally wouldn’t be an issue, because I use a standard password on all my demo machines. Steve does the same; they’re different passwords (of course), and in this case Steve set up the Hyper-v host computer, I set up the core machine as Virtual Machine guest on it. One had his password and one had mine. Much gnashing of teeth followed. 

This post originally appeared on my technet blog.

April 7, 2008

SD cards (again)

Filed under: Music and Media,Photography,Windows Vista — jamesone111 @ 4:37 pm

I was about to say some things about Vista and TV when I realized I had actually said them a few months ago

When your TV programmes are FILES there’s a different psychological relationship to them compared with TAPE. VHS cassettes were something you recorded over and over. You taped a programme watched it, taped over it. ..it’s easy to buy the DVD of the show … But with files we’re conditioned to Save them, why call them files if you don’t, well, file them ?

Memory cards for photos have got so cheap, I’m seriously considering using memory cards only once (with back-up copies).

Memory cards and photos first, A few weeks ago, I had a sad experience with my (almost) new diving camera…  Normally there is a 1GB Mini-SD card in an adapter for plugged into my laptop for Vista to use as a ReadyBoost device. When I heard that one of the changes in SP1 is that Vista uses Readyboost to speed up the time to come back from sleep I thought I’d stick an old card in the SD slot semi-permanently: ,it stays in when I put the laptop in its bag – although because it sticks out there’s risk of damaging the adapter.
At the end of my last dive trip I swapped the ReadBoost card with the one in my camera so as not to lose it while I downloaded my photos. When I came to swap the cards back the Mini SD card came out of the camera leaving the adapter stuck fast. To cut a long story short the SD slot was damaged, not covered by warranty and the quote to fix it was greater than the cost of a new camera – which arrived this morning.

With 7 day shop charging round the £6 mark for 2GB Micro-SD cards by Kingston and SanDisk (compatible with my phone and with a much safer adapter) I really should get rid of the old Mini cards, but that’s hard to do, Psychologically, we’re conditioned not to throw these things away. So, I tried to get a bit more life out of a device with a replacement cost less than a prawn sandwich  and it cost me a camera. As if to add insult to injury, the card itself died this weekend. I had two of them so the other is nowin the laptop – but at the first sign of trouble it’s going in the bin. As if to prove the that these events always come in the threes, the SD socket on my Portable Hard-disk/Card reader has decided to play dead as well. Grrrr. But on the bright side when I got it my biggest memory card was 512MB. Now I can shove 10GB of SD in my pocket. And it is still useful as storage photo photos and MediaCenter recordings. 

When I rebuilt my machine for Vista SP1 I managed to reset some of the settings in MediaCenter. Mostly, I like the Media parts of Vista, but every now and then they drive me nuts and it’s usually around storage. Firstly MediaCenter seems to insist on keeping 5% of my disk space free. Keeping the last 1GB from 20GB might make sense, but keeping the last 50GB from 1TB probably doesn’t. I’ve not found any setting to manage this. The problem is compounded because it over estimates the space needed by a recording, and sometimes, wrongly, says there won’t be space for a programme (e.g. 3 hours of Grand Prix coverage would have needed about 4-5GB of space, with 12GB free Media center said "No") . Worse, it keeps free space by deleting recordings unless you tell it not to:  infuriatingly last week it was told to record two programs back to back, and deleted the first one seconds after it was made. This sent me off to BBC iPlayer, which has become Vista Compatible since last time I wrote about it. I was surprised how small the file size was for good  quality with the iPlayer, which I daresay I’ll talk more about another time.
Since I’m pushed for space it makes sense to move the files off the machine but here comes the next irritation… Different channels run different levels of compression:  I recorded the same Episodes of Ashes to Ashes, on when first shown on BBC-one (2.30 GB) and repeated on BBC Four (1.70GB). A US drama on Channel 4 is 1.42 GB, but re-broadcast on on E4 it was 1.05 GB. So… I the number of 1 hour Episodes I can burn onto a data DVD varies dramatically: if I use Stephen Toub’s DVR-MS Editor to trim the channel 4 shows down, they’re only 40 minutes of actual programme so I can fit in 6 episodes on a disk; an hour of BBC is an Hour of programme and only 1 fits.  I can get 150 Minutes with a video DVD – and unlike Media Center’s files, a DVD will play on my Xbox. But making a DVD is a long process, not just because the transcoding takes time but also  because psychology cuts in again: unlike files-on-a-DVD-disk, a "proper" DVD feels wrong if it has all the extraneous crud of a recording, so it needs to be edited and before you know it you’re going to the trouble of making bootleg DVDs. The time it takes to make one is worth more than the cost of the commercial DVD – and I like to own the artifact anyway.   (And working for a company based around intellectual property, I really shouldn’t be making bootlegs).

With 8GB SD cards now available below £20 may the smart thing would be get some and treat them like VHS tapes; that would be more battery efficient when travelling too. Streamlining the media I use for everything sounds attractive. 

This post originally appeared on my technet blog.

April 4, 2008

Who says health and safety people have no sense of humour ?

Filed under: General musings,Working at Microsoft — jamesone111 @ 3:36 pm

This from a colleague who says her team’s blog is far to serious for this kind of Friday afternoon frivolity.

I was walking through [Microsoft UK Building 5]  lobby and saw one of our maintenance guys putting up a display box with a sword in it. I stopped and asked him about it. It is an award from the British Safety Council and what’s more, the display box they supplied was not up to standard and had to be modified so it wouldn’t fall down and hurt someone. I would have loved to have been at the meeting when they decided what the award should be. I imagine it went something like this:

Bob the H&S guy:             Let’s commission a plaque made of a soft, flexible material with rounded edges: it will be really safe and reinforce our message.

Max the marketer:          Nah, let’s give ‘em a sharp sword in a dangerous box

This post originally appeared on my technet blog.

April 3, 2008

Blockers. What would we want from IE 8… or 9

Filed under: Internet Explorer,Privacy — jamesone111 @ 1:31 pm

I have used this blog to grumble about "Flash turds" – those super-annoying adverts whose determination to grab the eye brings them to the point of being a test for epilepsy. I’m not seeing many of them being built in Silverlight, yet, but it can only be a matter of time.

Fortunately I use IE7-Pro which has both an AD blocker and a Flash-blocker, which is more effective than simply disabling the Flash add on in IE – a box appears which says "Flash blocked" and I just have to click it if it is some part of a site which I want to see. It’s not 100% effective – Our own Live Spaces manages to bury its flash too deeply for IE7Pro to un-pick it, but IE7Pro will run scripts against pages it loads and I found a script in their forums to plug that gap. Hooray !

As O’Brien passed the telescreen a thought seemed to strike him. He stopped, turned aside and pressed a switch on the wall. There was a sharp snap. The voice had stopped.
Julia uttered a tiny sound, a sort of squeak of surprise. Even in the midst of his panic, Winston was too much taken aback to be able to hold his tongue.
‘You can turn it off!’ he said.
‘Yes,’ said O’Brien, ‘we can turn it off. We have that privilege.’

George Orwell: 1984

Once, we had to tolerate things like Pop-ups, then blockers became something that you had to add to a browser and now anyone with a reasonably up to date browser can take it for granted that Pop-ups will be blocked by default. IE7pro fills some of the gaps which were apparent in IE7 back when it was in beta (search on the context menu being an obvious one – and something IE8 addresses in a really smart way with "Activities"). IE7Pro also does a good job of blocking anti-social behaviours on otherwise useful web sites.  The issue I find I come back to again and again is the responsibility of being Microsoft – not so much because we might squeeze third parties out of the market, but is it improper to have blocking abilities, out-of-the-box ?  Making it too easy to block (lets say) Google Ads would have two problems – firstly if Microsoft is to develop its own advertising business, blocking a competitor would bring regulators down on us in minutes. Secondly there are plenty of sites out there which depend on Ad revenue, choking off their funding wouldn’t be good for anyone: I singled out Google’s ads because they are about as inoffensive as it is possible to make an ad (so unlike the Flash turds the reader gets no benefit by dumping them).

It’s all very well for me as one individual to rail against Bad Flash used in advertising, but there’s a question of what is legitimate to block. Pop-ups were universally hated, but what about blocking specific active-X controls (Flash, Silverlight, you choose) with a "click to re-enable" option ?  What about providing methods to allow customers to block insidious advertisers, like Phorm ?
In case you haven’t picked up stories appearing everywhere from the BBC to The Register a number of UK ISPs propose to intercept the web traffic of their customers and pass it on to a third party to target advertising. The range of opinion runs from Sir TIm Berners-Lee saying he he would change his internet provider if it introduced such a system to a home office legal adviser suggesting that it was an interception of a communication within the meaning of sections 2(2) and 2(8) of the Regulation of Investigatory Powers Act 2000 (RIPA), to Trend Micro telling the Register that "The nature of Phorm’s monitoring of all user web activity is certainly of some concern, and there is a very high chance that Trend Micro would add detection for the tracking cookies as adware in order to protect customers.". This sets my privacy antennae twitching , not least because my ISP is one of those said to be planning to use Phorm.  What’s the best way to deal with it ?

  • Legal – using things like RIPA and the office of Information Commissioner (as the FIPR has done)
  • Market – ensuring any company which attempts to use Phorm loses business as a result. Like Sir Tim Berners-Lee I’ll be changing ISP if Virgin decide to spy on me; and I’ll try to Boycott any company which hosts Phorm ads on its site or places adverts with them. No doubt someone will publish a list of these companies.
  • Or Technological – blocking it in the browser

Comments welcome (as ever).

(update – somehow lost a crucial NOT in there)

This post originally appeared on my technet blog.

April 2, 2008

It’s official, Office Open XML is an ISO standard

Filed under: Office — jamesone111 @ 11:46 am

ISO have posted the official news to their web site, and the less than inspiring title, "ISO/IEC DIS 29500, Information technology – Office Open XML file formats, has received the necessary number of votes for approval as an ISO/IEC International Standard."

I’ve had some pretty robust things to say about certain competitors who used approval by standards bodies as a substitute for producing a good product, and the temptation to go "Nah nah na-na nah" – or something equally childish is pretty strong. But that would be to ignore a couple of important things, the first is Microsoft handing over responsibility for file formats to a standards body. The second is that customers get both choice of file formats and the comfort that Microsoft (and others) won’t go changing standards on a whim.

Brian Jones has a very well thought out post on the subject if you want to read more.  

Technorati Tags: ,,

This post originally appeared on my technet blog.

April 1, 2008

Licensing event on 15th April

Filed under: Events,Windows Server — jamesone111 @ 1:40 pm

There’s no getting away from it, licensing software gets complicated: in fact I’ve been know to joke that with 40 odd technical certifications and a degree in computer science, I’m nowhere near clever enough to understand it.

Well help is at hand, George has a reminder about the an event we have coming up:

TechNet Event: An Introduction and Overview of Microsoft Licensing

This session is aimed at providing IT professionals with a complete understanding of Microsoft’s Software Licensing. The course is not in-depth or technical, but will help you evaluate the different licensing options to best suit your business needs. The session will cover:

  • The basics of Microsoft’s licensing options
  • Differences between OEM, FPP and Volume licensing
  • How you can benefit from investing in Software Assurance
  • How you can manage your licenses using Software Asset Management (SAM), minimising time and cost
  • How to licence a client/server environment including Terminal Services and Virtual Server 2005
  • Licensing specific Microsoft Servers, such as Windows Server 2003, MOSS 2007, Exchange 2007 and others
  • Preview of Licensing for 2008 Servers
  • Question and Answer Session

We will provide you with tools and resources to help you manage your licenses and avoid costly mistakes. Register now

This post originally appeared on my technet blog.

Blog at WordPress.com.