Friday, April 29, 2016

How do you create a Virtual Switch in Windows 10?

You need a virtual switch to connect to the Network via the Network Card. You follow the indicated procedure to create one.

Before you create a virtual switch you need to enable Hyper-V built into Windows 10. Follow this post to enable Hyper-V on Windows 10.

After enabling Hyper-V follow this procedure to create the virtual switch.

Thursday, April 28, 2016

What is STUN and why do I need a STUN Server?

Skype is quite well known. You can call up someone using your web browser to speak to him if he is also on the Internet or even his cell phone if he has a Skype UserId / Password or Skype account. This is made possible by VOIP (voice over Internet) using the VoIP protocol.

Now what is STUN?

STUN is Session Traversal of User Datagram Protocol (UDP) through Network Address Translators(NAT).

If you are using the IP Phone from behind the firewall (where NAT becomes important) then STUN allows you setup Phone calls to aVoIP Provider hosted outside your local network (typical example is a home network consisting of computers connected to a router).

While your voice calls go through the router to the STUN Server, the STUN server can connect to your local machine behind the firewall.

STUNServer_00
Read more here. The above image was from this link.

How do you resize multiple images simultaneously?

Sometimes you are faced with resizing a bunch of images:

  • Reduce the size of images to a level accepted by your application (perhaps the server does not accept anything more than a given size) or you can only upload a certain file size
  • You want to save space (smartphones can capture HD images with very big files sizes).  

Application like Photoshop can do this, but you can use Photo Gallery on your Windows 10 machine to do the same.

Photo Gallery is a desktop app that you can download from the Windows Store.


PhotoGal_00

In my Desktop I have a folder with 64 jpg items with item sizes ranging from 2780 KB to 5072 KB with a total folder size of 234 MB


resizeLarger_01

I bring up and choose all images in this folder in Photo Gallery as shown.


PhotoGal_01

I click EDIT and Resize as shown.

PhotoGal_02

The Photo Gallery Resize dialog is displayed where you can choose the size from the drop-down list.

PhotoGal_03

I choose size 640 and browse and save it to my presently empty folder named Larger_resized.

I then click Resize and save button. In couple of seconds it is done.
The total file size is now 10.3 MB


resizeGal_02

The individual JPGs were from 177Kb to 201KB

The Photo Gallery did an excellent job!

Wednesday, April 27, 2016

Does ping use IPv4 or IPv6?

In Windows 10 machine when I ping a web site such as WWW.Microsoft.com, I get the response as shown:

C:\Users\Jayaram>ping www.microsoft.com
Pinging e10088.dspb.akamaiedge.net [2600:1406:1f:386::2768] with 32 bytes of data:
Reply from 2600:1406:1f:386::2768: time=72ms
Reply from 2600:1406:1f:386::2768: time=64ms
Reply from 2600:1406:1f:386::2768: time=64ms
Reply from 2600:1406:1f:386::2768: time=65ms

Ping statistics for 2600:1406:1f:386::2768:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 64ms, Maximum = 72ms, Average = 66ms


The default appears to be IPv6

However, if I need to ping the IPv4 then I can ping as shown.
C:\Users\Jayaram>ping -4 www.microsoft.com
Pinging e10088.dspb.akamaiedge.net [23.15.90.161] with 32 bytes of data:
Reply from 23.15.90.161: bytes=32 time=84ms TTL=55
Reply from 23.15.90.161: bytes=32 time=89ms TTL=55
Reply from 23.15.90.161: bytes=32 time=64ms TTL=55
Reply from 23.15.90.161: bytes=32 time=80ms TTL=55

Ping statistics for 23.15.90.161:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 64ms, Maximum = 89ms, Average = 79ms


Monday, April 25, 2016

How do you install Hyper-V on Windows 10?

Actually Hyper-V is installed on Windows 10 and you need to activate it.

Before you configure a virtual machine, you must enable the Hyper-V role. You can do it in the Control Panel as shown below; using a Windows Powershell Commandlet; or DISM. Only the Control Panel method is described.

Step 1:
You do so by following this: Control Panel > Programs > Programs and Features

Step 2:
Click on Turn Windows Features on or off to turn on.
Windows Features window gets displayed.

HyperV-00

Step 3:
Place check mark for all items of Hyper-V as shown.

HyperV-01

Step 4: Click OK and reboot the computer
You are done.

Now you go and create a Virtual Switch!

Saturday, April 23, 2016

What is HTTP/2?

HTTP/1.0 was the protocol used in 1996 and was updated in 1999 as HTTP 1.1. HTTP/2 which does not have this version number with a decimal (it is not HTTP 2.0) was approved in February 2015 and is designed to overcome the older HTTP limitations. These are some of the benefits of using the new standard:
  • Multiplexing and Concurrency
  • No more need to establish multiple connections between Client and Server. Many requests can be sent on the same TCP connection and responses may return not in the order the requests were sent
  • Stream dependencies. Client can indicate which of the resources are more important than the others
  • Header Compression. Drastic reduction in the size of the headers by compression
  • Server Pushing without a request from the client

The HTTP APIs continue to work as that part has not changed but the application can perform better  with reduced consumption of resources.

Read the excellent information  here and here.

Most of the browsers already support HTTP/2 built on Google's SPDY (https://en.wikipedia.org/wiki/SPDY) protocol to reduce web content load latency and improving web security. Going forward HTTP/2 will supersede SPDY.

Regarding browser support, the HTTP/2 protocol is supported my most of the browsers as shown in this image taken from here.
http://caniuse.com/#search=http2


HTTP/2 and Microsoft Edge 34.14295.1000.0


Wednesday, April 20, 2016

Can I import an Excel spreadsheet to Google Spreadsheet?

Well both are spreadsheet programs but Microsoft Excel has lot more functionality than Google Doc's Spreadsheet.

You could import an Excel 2016 spreadsheet created on the desktop into Google Spreadsheet quite easily. The Google spreadsheet is an online application and you will end up with a web page displaying the spreadsheet.

Follow this Swaytorial, a tutorial created using the Microsoft's latest Office Suite application, SWAY.


Do you want a free copy of SQL Server 2014 Developer Edition?

You have been downloading the SQL Server Express editions for free. You can only do a few things with it. This is the first time you get a developer edition free. You can do most of what you can do with an Enterprise Edition. It would normally cost you $60+, now it is free.


Not long ago I paid 60+ dollars to buy SQL Server Developer Edition from Microsoft Store. Since end of March 2016, you can get it for free. It is a freee download but you may have to signin to Visual Studio Dev Essentials before you can download SQL Server 2014 Developer Edition. It is assumed that you have a licensed Windows 10 or Windows Server.

SQL Server Developer edition has all the capabilities of the Enterprise Edition, however it is only for development and testing. You may not run a business with it.

In Microsoft's own language,
"Visual Studio Dev Essentials is Microsoft’s most comprehensive free developer program ever, with everything you need to build and deploy your app on any platform, including state-of-the-art tools, the power of the cloud, training, and support."

This is great stuff. If you are serious you will not let go of this opportunity.

Go this URL to download SQL Server 2014 Developer Edition with Service Pack 1 (x86) or (x64)
https://myprodscussu1.app.vssubscriptions.visualstudio.com/Downloads?pid=1682

More on this news here:
https://blogs.technet.microsoft.com/dataplatforminsider/2016/03/31/microsoft-sql-server-developer-edition-is-now-free/

Friday, April 15, 2016

What is DOM as related to the WEB?

DOM stands for Document Object Model. It is what the User Agent (for example a browser) produces in memory when it encounters an HTML Document .
An HTML document is really a text file with mark ups (using tags). Here is an example:
<html>
<head>
<title>About Me</title>
</head>
<body>
<h1>My origins</h1>
</body>
</html>

This is a tree of elements and some text.
The element looks like this:
 <element></element>

In the html document above, the elements are: <html></html><br /><head></head><br /><title></title><br /><body></body> 
The <html></html> elements contains the rest of the elements.The <head></head> element has the <title></title> element The <title></title>just contains a string

The <body></body> can contain many more elements.The above tree is how it would be seen by the browser to create a tree, the DOM tree or simply the tree.
The DOM tree not including the spaces and carriage returns is simply this:

In a practical example like a single page mobile app (which also follows the same principles asweb page) like this one in Intel the document may have a slightly different look, but the emulating browser as well as the device browser would evaluate the document based on this DOM tree shown here.



Wednesday, April 13, 2016

Do you want to build real time communication apps in JavaScript?

You can use Intel XDK together with Intel Collaboration Suite for Web RTC to build the real time communication apps.

With Intel Collaboration Suite for Web RTC (Intel CS for WebRTC )it is possible to build apps for real time communication over the web.

You need to use the Intel CS for WebRTC SDK built on top of W3C standard for WebRTC. You can create apps for broadcast, peer-to-peer and apps for conference.

To cater to the major OSs and HTML, the SDK is available in four versions one each for:

  • Android
  • JavaScript
  • iOS
  • Windows
There is a server that you need to get used to:
Intel CS for WebRTC Conference Server that provides the Video Conference Service that streams the service to many end points with the following quoted features:

  • High performance, VP8 and H.264 real-time transcoding with Intel® Iris™ Pro and Intel HD Graphics
  • Scalable multipoint control unit (MCU) server
  • Efficient mixing of HD video streams for saving bandwidth and power on mobile device
  • Intelligent QoS control mechanism that adapts to different network environments
If you are building with JavaScript there are browser requirements and you should get this:
CS_WebRTC_Client_SDK_JavaScript..zip .



More information available here:
http://software.intel.com/en-us/webrtc-sdk

Tuesday, April 12, 2016

What does the DETAILS tag do in HTML5?

Just as it says, when you click on Details tag (which appears as right-pointing triangle) in the displayed web page, the contents of the details are revealed.

Unfortunately it is not yet supported in Microsoft Edge or Mozilla Firefox although it is a html 5 standard. More on this here: http://hodentek.blogspot.com/2015/12/firefox-42-has-slight-edge-over.html and here.


Details_Edge


Details_Firefox

However it is supported on Chrome browsers version 12 and above. By the way it is also supported in the Intel XDK's emulators. However, when the code is run on the device, it is up to the browser of the device to render it or not.
The next picture shows how the tag would appear on a rendered page on an emulator in Intel XDK, as rendered as well as when the tag is clicked. This interactivity does not require any extra code.



However, Windows 10 Phone does not render the tag at all. It just displays the content and the iPhone6 does show the Details (but it is not interactive, probably a separate reason why it does not).

Saturday, April 9, 2016

How do you create responsive images for the web and mobile devices?

Creating web pages with embedded images poses the problem of how the images would appear when the browser is resized, or if the web page is accessed in a device with smaller format. These days smart phone cameras can capture photos with very high resolutions. If you embed as is in web pages then you will not be able to display the images on a browser with a smaller size. The answer to this is to use the responsive image tags.

Here is an example: Create a HTML page as shown embedding this image.

Diamondhead.jpg (5344x3008, 3.6 MB)

Although you see this image as small. It is really large and would occupy the full width and height of a lap top with 1600x900.


<!DOCTYPE html>
<html>
<head>
</head>
<title>Very large image</title>
<body>
<img src="Diamondhead.jpg" width="5344" height="3008">
</body>
</html>

Provide a name for it (XtraLargeImage.html) and save it to the wwwroot directory of your default web site in IIS Manager. When you bring it up in the edge browser (herein, 1600x900), you can see barely parts of this image. Now if modify the XtraLargeImage.html) as shown below and save it to the wwwroot directory as before:

<!DOCTYPE html>
<html>

<head>
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<style>
@-ms-viewport { width: 100vw ; zoom: 100% ; }                           
@viewport { width: 100vw ; zoom: 100% ; }
@-ms-viewport { user-zoom: fixed ; }                                    
@viewport { user-zoom: fixed ; }
</style>
</head>
<title>Very large image</title>
<body>
<img src="Diamondhead.jpg" width=100% height=auto>
</body>
</html>
Now if you bring up the image in a browser (MicrosoftEdge or Firefox, or any other modern browser) you can resize the image or open the web page on a device with smaller dimensions.

file size: 144 KB 

file size: 54 KB 
The reason the images look same in this post is because the blogger is also responsive! One clue when you use responsive tags is that the displayed image in the browser will not have the horizontal scrolbar.

Friday, April 8, 2016

What is Dysphotopsia?

If you are young postpone reading this till you reach your senior years. But this is a thing you must consider before you get into the business of replacing your natural lens of the eye with an artificial one in a procedure called 'Cataract Surgery'.

Although this procedure is relatively simple, like you can come home the same day, it can have lasting consequences that most ophthalmologists do not even warn you.  It does not matter whether the surgery is done manually or using a laser.

Dysphotopsia comes in two flavours. A postive one and a negative one, both of them aberrations of the optics that replaced your natural eye.

"Positive dysphotopsia manifests through unwanted images, including rings, arcs, and central flashes. But no objective tests yet exist to measure its frequency or severity."

"Although negative dysphotopsia is generally referred to as a dark, temporal crescent that gives the impression of a shade over the temporal region of patients' vision, it is unclear if it is an optical phenomenon caused by some lens implants or another source. Negative dysphotopsia typically dissipates unassisted. "

These quoted from this source:
http://www.eyeworld.org/article.php?sid=392&strict=

I had cataract surgery for both eyes with my right eye approximately one month after the left eye. Soon after the left eye was operated and the IOL (inter ocular lens) introduced, I began to see a distinct change in my field of vision. I could see an arc running from above my eyeborws towards my mouth in the vertical plane and beyond this arc it was somewhat dark. However, if I shift my gaze in that direction, I could see clearly. It was so annoying I did not feel like getting the right eye operated. Against my best judgement, I went ahead and got my right eye operated and sure enough, I have the same problem on my right side. Now I see a permanent snorkel mask attached to my face.

I like the ophthalmologists, but surely I would have been some what more satisfied and prepared  (or I would rather have stayed with the cataract, which was not really that severe) had he told me of the consequences.

Since the surgery, I have read so many complaining about this condition, that it may be prudent to ask the ophthalmologist (although he won't be able to give any reassuring words, since in all sincerity he does not understand it quite well). Getting a corrective surgery to alleviate this condition is not guaranteed and probably it can get worse.

I suppose I have to live with this annoying condition.