Windows Activation through Command Line

Windows 10 Udate Activation Key

Refer: http://www.tenforums.com/tutorials/35979-product-key-uninstall-deactivate-windows-10-a.html

Remove the old activation key
C:> slmgr /upk

Clear the registory
C:> slmgr /cpky

Enter the new key - you may need to do through GUI today
C:> slmgr /ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX

Activate the key
C:> slmgr /ato

Remove Windows 10 OneDrive

Refer: http://lifehacker.com/how-to-completely-uninstall-onedrive-in-windows-10-1725363532

To completely uninstall OneDrive:

Open Command Prompt in Administrator mode: Right-click on the Windows icon in the taskbar and select Command Prompt (Admin).

Type in taskkill /f /im OneDrive.exe to terminate any OneDrive processes and hit Enter.

64-Bit Installation
C:> %SystemRoot%\SysWOW64\OneDriveSetup.exe /uninstall

32-Bit Installation
C:> %SystemRoot%\System32\OneDriveSetup.exe /uninstall

Installing Wine in Ubuntu 16.04

Installing Wine 3.0

Refer: https://linuxconfig.org/how-to-play-world-of-warcraft-on-linux-with-wine

If you are getting black buttons, use winecfg and change default setting to Windows XP instead of Windows 7

$ winecfg
$ sudo apt install winetricks
$ winetricks, launch, and choose option install corefonts
$ wine uninstaller

Refer: http://www.omgubuntu.co.uk/2017/04/how-to-add-wine-repository-ubuntu

You might want to install from /tmp, because your going to download a Release.key

Instructions: install-wine-on-ubuntu.txt

Older Install Wine in Ubuntu 16.04

Refer: http://linuxg.net/install-wine-1-8-on-ubuntu/

Install with the following:

$ sudo add-apt-repository ppa:ubuntu-wine/ppa
$ sudo apt-get update
$ sudo apt-get install wine1.8 winetricks

Remove with
$ sudo apt-get uninstall wine1.8 winetricks

Fixing Video Display of Windows 10 in Parallels

Issue with remote desktop scaling too small, need to adjust Windows 10 to NOT use retina display.

Refer: http://blog.parallels.com/2015/08/18/how-to-configure-the-best-display-settings-for-parallels-desktop-on-a-retina-mac/

2016-05-18_10-31-44_1

2016-05-18_10-31-44_2

2016-05-18_10-31-44_3

Using eTags

Refer: http://thespringthing.blogspot.com/2015/06/etags-and-browser-cache.html

ETags and browser cache
Caching resources on the browser is one of the patterns followed to minimize redundant trips to the server and thus reduce load on the server. This works well for data that is static. But, there are cases where the data changes every once in a while (although less frequently) and you would want the browser to get the latest data without waiting for the cached data to expire. e.g. changes to a css or javascript in the new version of the application should be reflected immediately on the browser. To handle these refreshes, you might be tempted to make it a non-cacheable resource. Entity tags( or ETags for short) help you cache such resources.

ETag is a unique identifier that represents the response content of a request. By comparing Etags, you should be able to tell if the response for a request has changed or not, and decide if you need to send the new data back to the client or just use the cached data.

HTTP supports ETag response headers which can be used along with If-None-Match request headers for managing cache data. These headers are meant to be used for GET and HEAD requests, which are the recommended methods for fetching cacheable resources.

The following sequence diagrams illustrates the ETag workflow for an example of 3-step resource fetch. Each step requests for the same resource.

Step 1
Browser sends a request for a resource
Server creates an ETag value for the resource using hash or other techniques.
Server sets this value in "ETag" header in response.
Server sends the resource along with ETag.
Client caches the resource and the ETag

Step 2
Client requests for the same resource
Client sends the ETag value for the resource through the If-None-Match header.
Server calculates the ETag for the resource.
Server compares the new ETag with If-None-Match.
If it matches, then server sends a 304 response code.
Client uses the data from cache.

Step 3
Client requests for the same resource.
Client sends the ETag value for the resource through the If-None-Match header.
Server calculates the ETag for the resource.
Server compares the new ETag with If-None-Match.
If it does not match, then server sets the ETag response header with the new value.
Server sends the resource along with ETag.
Client caches the new resource and the ETag

ETag generation

ETag generation in itself could add some amount of latency, depending upon the techniques used. The simplest technique to calculate is to generate a hash of the content through MD5 algorithm or something similar. This could be pretty sluggish depending upon the size of the content.
The ETag need not necessarily be unique, as long as it can indicate the change in the content. For example, in one of my projects I used the content version as the ETag. The version indicated change in the content and that was good enough for me to refresh the cache.

Extract part of log file using less and sed

Sometimes when using less to view a log file, seem to need a little extra than just a screen full and the copy command just does not work well.  You can use the following two commands in combination to grab line numbers and then extract just those lines.

# Use this to get the line numbers
$ less -N hal-guest-server.log
# Use sed to extract that range to your home directory, notice the “little” p at the end of second line number
$ sed -n -e 32865,32966p hal-guest-server.log > ~/log-excerpt.txt