Airtel 4G Dongle, Metered connection and Delivery Optimization

Windows 10 has a setting named “Metered connection” that can be used to mark a WiFi network as metered connection which then disables many data hungry features. One of those features is “Delivery optimization” that allows windows to download updates from many other PCs besides from windows update servers. This also make our own PC as seeder and this feature is enabled by default. As it can be guessed, this is a problem on limited connections. Many people may be using lot of bandwidth unknowingly uploading windows update bits on behalf of Microsoft without Microsoft paying them anything. Microsoft has converted entire windows 10 ecosystem as a giant network sharing update pieces with others without their knowledge.

If we are using Airtel 4G dongle, it is recognized as “Dial Up” device by windows 10 and there is no setting available to mark it as “Metered connection”. If we choose to update our laptops while using these dongles, we unwittingly becomes part of peer to peer network sharing updates using valuable limited connection bandwidth.

To save on your bandwidth, make sure to disable “Delivery Optimization” on your laptop. Instructions are given at Disable and Turn Off Windows Delivery Optimization . Failing to do so can give you nasty surprises.

  1. Metered Connection
  2. Delivery Optimization
  3. Airtel 4G Dongle

Modification in Remove-ScriptVariables by

I tried to use the script created at Function: Remove-ScriptVariables – Cleaning Up Script Variables in PowerShell by Pat Richard

There seemed a issue which makes this script unusable. I then made some changes in it. Changes added are for removing ‘SCRIPT‘ from variable names and cleaning the variables in the defined scope of the script.

function Remove-ScriptVariables()
     $result = Get-Content $path |
        ForEach{ if ( $_ -match'(\$.*?)\s*=') {
            $matches[1]  | ? { $_ -notlike'*.*' -and$_ -notmatch'result' -and$_ -notmatch'env:'}
     ForEach($v in ($result | Sort-Object | Get-Unique)){
        Write-Host "Removing" $v.replace("$","")
        Remove-Variable -Name:($v.replace("$","").replace("SCRIPT:","")) `
            -Scope:Script -ErrorAction:SilentlyContinue
} # end function Remove-ScriptVariables

Do ‘Get-Help Remove-variable -full | more’ to know what needs to be passed for Scope. Usually “SCRIPT” should be passed. This function can also be called at end of a function for better control with scope being defined as “LOCAL”. An example of using it as follows. This will remove script level variables created inside the script. Variables created inside a function will anyway be not accessible outside. ‘main’ is the function where I usually keep all my code.

    Remove-ScriptVariables -path:$MyInvocation.MyCommand.Name -scope:"SCRIPT"

Reality of Windows 10 upgrade

As reported in various places, Windows 10 is a free upgrade. And it has got many excited and many tech users are also thinking as to why and how Microsoft is doing this. Everyone got used to the theory that

Microsoft is evil corporation over charging for its OS.

Its a bit shock to them that they are going to get free something for which they had to pay earlier. They do tend to forget few things though.

Earlier, main OS used to get released after 3 to 5 years and Service packs were free in between. And Many service packs used to substantially change OS. Now, the service pack model has been done away with and main OS is getting released fairly quickly. This means that Microsoft is not going to lose much revenue. Upgrade is free not new installation. This means that you need to have an existing OS on the system whether its pirated or genuine. That status and flag will not change in windows 10. A pirated OS will continue to be marked as pirated. Genuine users have already paid for their copy of windows not too back in past. Windows 10 is thus essentially like Service packs of yore but named as Major OS.

Another factor is growing popularity of laptops over desktop. Most of these laptop comes pre-installed with Windows which means that consumer has already paid for windows in recent past. Most of these laptops cannot be easily tinkered and parts are not easy to change. Laptops have average life span of 2-3 years after which a new one will have to be bought paying again to Microsoft.

Think of upgrade compatibility. Many devices will fail to meet the upgrade criteria and will not get upgraded. Warning at the beginning will deter many from going with upgrades. To get Windows 10, those users will have to buy new laptops and thus no loss to Microsoft.

Overall, this means that not a significant number of users will freely get new OS thus not harming Microsoft revenues. On the other hand, it will easily allow them to reduce number of pre-10 OSes in non-enterprise segments. Enterprise users are anyway not eligible for free upgrades. Major OS revenue source is enterprise users and laptop users. Most of them will either pay for new OS or already paid in recent past or denied upgrade. Even those allowed have to do it in first years itself which will also reduce few numbers.

Servicing cost will go down for Microsoft as it will not have to think about the PCs in wild given that most of them connected to Internet will be on the new OS. Those not connected to internet will anyway not release windows updates and thus those will not be deciding factors in servicing scenarios. They can even mandate for some patches to be downloadable only on Windows 10. Creating patches for Pre-Windows 10 versions with only Enterprise installations in majority will reduce the app compatibility issues and reduce servicing complexity thus leading to indirect savings. Money lost at miniscule scale will be recouped through better servicing strategy, PR win and uniform installation base for the vociferous group of users critical about paying for OS. Enterprise users do not pay for OS themselves, hence are not too critical about it.