<body><script type="text/javascript"> function setAttributeOnload(object, attribute, val) { if(window.addEventListener) { window.addEventListener('load', function(){ object[attribute] = val; }, false); } else { window.attachEvent('onload', function(){ object[attribute] = val; }); } } </script> <div id="navbar-iframe-container"></div> <script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script> <script type="text/javascript"> gapi.load("gapi.iframes:gapi.iframes.style.bubble", function() { if (gapi.iframes && gapi.iframes.getContext) { gapi.iframes.getContext().openChild({ url: 'https://www.blogger.com/navbar.g?targetBlogID\x3d8211560\x26blogName\x3dTech+Tips,+Tricks+%26+Trivia\x26publishMode\x3dPUBLISH_MODE_BLOGSPOT\x26navbarType\x3dBLUE\x26layoutType\x3dCLASSIC\x26searchRoot\x3dhttp://mvark.blogspot.com/search\x26blogLocale\x3den\x26v\x3d2\x26homepageUrl\x3dhttp://mvark.blogspot.com/\x26vt\x3d-5147029996388199615', where: document.getElementById("navbar-iframe-container"), id: "navbar-iframe" }); } }); </script>

Tech Tips, Tricks & Trivia

by 'Anil' Radhakrishna
A seasoned developer's little discoveries and annotated bookmarks.

Search from over a hundred HOW TO articles, Tips and Tricks

Book Review: Animal Farm

Sunday, February 26, 2017
After having it on my reading list for a very long time, I finally managed to finish the allegorical novella "Animal Farm: A Fairy Story" and loved it! It is a on the Russian revolution

The satirical book by George Orwell reflects events leading up to the Russian Revolution of 1917 and then on into the Stalinist era of the Soviet Union. Wikipedia provided me the historical context

Vocabulary.com, the modern online dictionary's light-hearted definition of allegory is amusing - An allegory is like a metaphor on steroids: a writer tells a fictional story where everything and everyone in it is supposed to represent a deeper meaning. Using a plain old metaphor, you might call death "the grim reaper," but an allegory might build a whole tale of how the grim reaper goes around in a black cloak and informs people of their impending doom. Aesop's Fables are allegories, with animals taking the place of different human character types 

Though it was written in 1945, Orwell's phenomenal story-telling prowess keeps the story & message, relevant and timeless in an entertaining way.

The dialogues are simple & yet incredibly funny. Following is a sampling of what I laughed at the most -

The life of an animal is misery and slavery: that is the plain truth. Man is the only real enemy we have. Remove Man from the scene, and the root cause of hunger and overwork is abolished for ever

Man is the only creature that consumes without producing. 

Man serves the interests of no creature except himself

The only good human being is a dead one.

Whatever goes upon four legs, or has wings, is a friend. 

And remember also that in fighting against Man, we must not come to resemble him.

1. Whatever goes upon two legs is an enemy.
2. Whatever goes upon four legs, or has wings, is a friend.
3. No animal shall wear clothes.
4. No animal shall sleep in a bed.
5. No animal shall drink alcohol.
6. No animal shall kill any other animal.
7. All animals are equal.

As the story progresses, some of the commandments are tweaked -
No animal shall sleep in a bed with sheets.
No animal shall drink alcohol to excess.
No animal shall kill any other animal without cause.

The pigs did not actually work, but directed and supervised the others.

Boxer, the horse's answer to every problem, every setback, was "I will work harder!"—which he had adopted as his personal motto. From morning to night he was pushing and pulling, always at the spot where the work was hardest.

The truest happiness lies in working hard and living frugally

The pigs control the other animals on the farm and Squealer, minister of propaganda, calls the reduction of rations as a readjustment

"All animals are equal but some animals are more equal than others"

Human owner of a neighboring farm to Napoleon, the dictatorial pig - "If you have your lower animals to contend with, we have our lower classes!"


This Week I Learned - Week #203

Friday, February 24, 2017
This Week I Learned -

You can see a preview (almost like a daily build) of the Azure Portal if you go to https://preview.portal.azure.com instead of https://portal.azure.com

LogicApps are the enterprise equivalent of IFTT (If This Then That) and allow developers to create complex logic operations that respond to predefined events or triggers. For example, if a file is uploaded to OneDrive for Business, copy that file to a Storage Account and send an email. The difference between ‘Azure Functions’ and LogicApps is that LogicApps offers no way to write custom code.

* .NET has turned 15 & Visual Studio 20.  Twenty years ago, Visual Studio 97 brought Visual Basic, Visual C++, Visual J++, Visual FoxPro, and Visual InterDev into one single product.

* The .NET Standard Library is a formal specification of .NET APIs that are intended to be available on all .NET runtimes (.NET Framework, .NET Core, Mono for Xamarin). CoreCLR is the .NET runtime, used by .NET Core while Mono is the.NET runtime, used by Xamarin and others. .NET Core can also be bundled with an application and live under that application's directory as a self-contained application

* Microsoft has tested Microsoft Azure Stack in its lab but it has not been physically delivered or commercially used anywhere in the world. For the first time, Microsoft is doing proof of concept (POC) with Government of Andhra Pradesh to prove its capabilityAzure Stack is available now in Technical Preview 2. By using Azure Resource Manager to build reusable application templates for both traditional and cloud-native apps, it is possible to build and deploy your application the same way whether it runs on Azure or Azure Stack

Azure is the only public cloud platform that provides a container service with the choice of the three most popular open source orchestrators available today - DC/OS, Docker Swarm, or Kubernetes

Mobile Center brings together multiple services, commonly used by mobile developers, into a single, integrated product. You can build, test, distribute, and monitor your mobile apps and easily add backend cloud services to scale your app to millions of users on demand. Visual Studio Mobile Center is the next generation of HockeyApp and Xamarin Test Cloud. Mobile Center is free during the preview.

* Amazon Alexa, the voice-controlled artificial intelligence behind the Amazon Echo and Echo Dot in-home speakers, has amassed a whopping 10,000 skills. Skills are features, tool, actions, or abilities enabled by developers.

* mediaQuant, is a firm that measures “earned media,” which is all coverage that isn’t paid advertising. To calculate a dollar value of earned media, it first counts every mention of a particular brand or personality in just about any outlet, from blogs to Twitter to the evening news to The New York Times. Then it estimates how much the mentions would cost if someone were to pay for them as advertising. In January, Mr. Trump received $817 million in coverage, higher than any single person has ever received in the four years that mediaQuant has been analyzing the media. For much of the past four years, Mr. Obama’s monthly earned media value hovered around $200 million to $500 million. - NY Times

Facebook estimates that about 3.2 billion people have internet connections.

Concerns of identity theft have become real after misuse of Aadhar data

Social signals create a kind of “inequality” in how we choose media..it’s why you know about Cecil the lion

Frinkiac is a website for users to type in words or quotes from episodes of the American animated sitcom The Simpsons and find screenshots of the series related to the word or quote they searched. Most of Frinkiac's code is written in the Go language

Alzheimer's disease was named after Alois Alzheimer, a German psychiatrist and neuropathologist who first described the disease after studying the case of a middle-aged woman, Auguste Deter, who was a patient at a hospital in Frankfurt, Germany in 1906. The current lifetime risk for a 65-year-old person to get Alzheimer's disease is estimated to be at 10.5%. It is the sixth leading cause of death in the United States. As of now, there is no cure for Alzheimer's disease.

ComedySportz (CSz) is an improvisational comedy organization. The traditional format of a ComedySportz match features two teams of improvisational performers (players), competing in various improv games and performing scenes with audience members judging the results and awarding points.

* Coffee beans grow in mountainous tropical regions. The biggest coffee producers are Kenya, Colombia, Brazil, Peurto Rico, Costa Rica

* Though it was previously thought that the human nose could only detect about 10,000 scents — it appears that more recent research suggests that was a low estimate. Turns out that your sniffer can catch (or rather, identify) about one trillion different whiffs!  - Go Ask Alice!

91% of consumers have mistakenly thrown away past-date food, even though the label only signals the manufacturer's guess at its peak quality

Despite the ₹30,000 crore bailout package approved for Air India in 2012, the national carrier remains in a debt trap

* HDFC Mutual Fund chief Milind Barve gets Rs 26.21 cr in salary, ESOPs

The potential absurdities of the sharing economy stem from the fact that it has little to do with sharing at all. In a genuine sharing economy, we would all be lending and borrowing based on trust. What we call the sharing economy is in fact a transactional economy, one in which everything is commoditised.

Labels: , , ,

IIS Timeline

Internet Information Services (IIS, formerly Internet Information Server) is an extensible web server created by Microsoft

IIS version Windows OS Remarks/Features
IIS 1.0 Windows NT 3.51;  1996
IIS 2.0 Windows NT 4.0 1996
IIS 3.0 Service Pack 2 of Windows NT 4.0 1996; introduced Active Server Pages (ASP)
IIS 4.0 "Option Pack" for Windows NT 4.0 1997 
IIS 5.0 Windows 2000 2000; support for the WebDAV protocol, enhancements to ASP
IIS 5.1 Windows XP Professional 2002 
IIS 6.0 Windows Server 2003 2003 
IIS 7.0 Windows Server 2008, Windows Vista 2008 
IIS 7.5 Windows 7, Windows Server 2008 R2 2009 
IIS 8.0 Windows Server 2012 and Windows 8 SNI (binding SSL to hostnames rather than IP addresses), Application Initialization, centralized SSL certificate support
IIS 8.5 Windows Server 2012 R2 and Windows 8.1 Idle worker-Process page-out, Dynamic Site Activation, Enhanced Logging, ETW logging, and Automatic Certificate Rebind
IIS 10 Windows Server 2016 and Windows 10 support for HTTP/2

OWIN (Open Web Interface for .NET) is an interface specification. It decouples a web applications from IIS. OWIN/Katana (set of components by Microsoft built using OWIN specifications) reduces your server running costs since your web servers do not need to run on IIS (Windows) anymore


What is the difference between SNI & IP based SSL?

Thursday, February 23, 2017
Azure supports SNI & IP based SSL. What is the difference between the two?

IP based SSL associates a certificate with a domain name by mapping the dedicated public IP address of the server to the domain name. This requires each domain name (contoso.com, fabricam.com, etc.) associated with your service to have a dedicated IP address. This is the traditional method of associating SSL certificates with a web server.

SNI (Server Name Indication) based SSL is an extension to SSL and Transport Layer Security (TLS;  TLS is just the ‘proper’ name for modern day SSL) that allows multiple domains to share the same IP address, with separate security certificates for each domain. Most modern browsers (including Internet Explorer, Chrome, Firefox and Opera) support SNI, however older browsers may not support SNI. Server Name Indication was introduced in IIS 8.0

SNI certificates were introduced to get round the problem of the 1:1 mapping between sites and IP addresses.

Any time you have a website that you look up it's IP and when you type the IP directly in to the browser and you got a different website, you just encountered Shared Hosting, a extremely common practice. Multiple dynamic DNS addresses resolve to the same IP address

Labels: ,

Usage scenarios for AzCopy

I often find info on Azure topics I need, tucked away in larger articles or books. As it gets difficult for me to fetch it the next time I need it, I like preserving (with attribution) the snippets & nuggets I find along the way  & adding my own annotations

Use cases for the AzCopy command line tool from the free ebook "Microsoft Azure Essentials - Fundamentals of Azure, second edition" -

AzCopy is a free tool provided by the Azure Storage team to move data around. The core use case is asynchronous server-side copies. When you copy blobs or files from one storage account to another, they are not downloaded from the first storage account to your local machine and then uploaded to the second storage account. The blobs and files are copied directly within Azure.

Here are some of the things you can do with AzCopy:
* Upload blobs from the local folder on a machine to Azure Blob storage.
*  Upload files from the local folder on a machine to Azure File storage.
*  Copy blobs from one container to another in the same storage account.
*  Copy blobs from one storage account to another, either in the same region or in a different region.
*  Copy files from one file share to another in the same storage account.
*  Copy files from one storage account to another, either in the same region or in a different region.
*  Copy blobs from one storage account to an Azure File share in the same storage account or in a different storage account.
*  Copy files from an Azure File share to a blob container in the same storage account or in a different storage account.
*  Export a table to an output file in JSON or CSV format. You can export this to blob storage.
*  Import the previously exported table data from a JSON file into a new table. (Note: It won’t import from a CSV file.)

Here are some other use cases:
*  You want to move your data from a classic storage account to a Resource Manager storage account. You can do this by using AzCopy, and then you can change your applications to point to the data in the new location.
* You want to move your data from general-purpose storage to cool storage. You would copy your blobs from the general-purpose storage account to the new Blob storage account, then delete the blobs from the original location.

Labels: ,