<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

This Week I Learned - Week #160

Saturday, April 30, 2016
This Week I Learned -

* Cool Blob Storage is generally available. Cool Blob Storage is low cost storage (as low as $0.01 per GB in some regions) for cool object data which is infrequently accessed but requires similar latency and performance to the more frequently accessed hot data. Example use cases for cool storage include backups, media content, scientific data, compliance and archival data. In general, any data which lives for a longer period of time and is accessed less than once a month is a perfect candidate for cool storage -  Microsoft Azure Blog

Brazil uses Google Translate more than any other country. Ninety-two percent of our translations come from outside of the United States, with Brazil topping the list. 

Microsoft is among the Top Chefs contributing to IFTTT recipes

* The website Postcards-From-Google Earth contains a compilation of distorted images on Google Earth. They reveal a new model of representation: not through indexical photographs but through automated data collection from a myriad of different sources constantly updated and endlessly combined to create a seamless illusion; Google Earth is a database disguised as a photographic representation.

The Panama Papers and the Turkish Citizenship Database were leaked on the same day

* Sergey Karjakin, a Russian Chess player, became the youngest grandmaster ever at age 12.

* 55% of the world's soyabean production occurs in the Americas

* Associated Press publishes over 3000 financial reports every quarter using Wordsmith - the natural language reporting platform

The $160 billion Indian IT industry is the largest employer of engineers in the country. The total employee base of the industry touched 3.7 million in FY16 - Business Standard

* India is home to 18% of the working age population

* Roughly around 4.5 lakh crore calls are made in a year (GSM+CDMA)

RailYatri crowd-sources info on stations and trains

* Latur gets its name from Lal Tur (red tur dal)

* "As a central banker who has to be pragmatic, I cannot get euphoric if India is the fastest growing large economy. We have a long way to go before we can claim we have arrived. We need to repeat this performance (economic growth) for 20 years before we can give each Indian a decent livelihood" -  Raghuram Rajan, RBI Governor

Labels: , ,

Azure Management Models: ASM vs ARM

Friday, April 29, 2016
Notes from articles around the web:

* Azure Resource Manager and Azure Service Managment "Classic" deployment models are not completely compatible with each other. 

* To simplify the deployment and management of resources, Microsoft recommends that you use Resource Manager for new resources, and, if possible, re-deploy existing resources through Resource Manager.

The Resource Manager version of Azure PowerShell commands have the format Verb-AzureRmNoun whereas the Service Management version of Azure PowerShell commands have the format Verb-AzureNoun

Resource Manager added the concept of the resource group. Every resource you create through Resource Manager exists within a resource group. 

The Resource Manager deployment model provide several benefits:
- Deploy, manage and monitor Azure resources as a group
Deploy resources repeatedly
Supports creating templates. Templates can be created to include a set of resources to be deployed as part of a cloud solution
Allows you to define dependencies between resources so they are deployed in the correct order
Ability to apply RBAC policies to all resources in a Resource Group
Ability to specify "tags" to resources for programmatic purposes

Virtual machines deployed with the Resource Manager deployment model must be included in a virtual network whereas it is not so in the classic deployment model

Resource Manager is supported in all regions, but the resources you deploy might not be supported in all regions.

Both the Classic portal and Azure PowerShell version before 1.0 use ASM API calls to manage Azure resources.

If you use the Classic portal to create or manage Azure resources, you can only work with Classic resources whereas the new Azure portal at https://portal.azure.com allows the ability to work with both Classic and ARM Resources.
Slide from the Pluralsight course Managing Azure IaaS with PowerShell 

Labels: , ,

TFS - Questions & Answers

Sunday, April 24, 2016
* What is a Workspace?
It is a mapping between a computer and TFS for the purposes of version control

* When files are checked in, they are...
all tracked as part of the same changeset and that changeset has a number

* What is the Product Backlog?
List of all desires and requirements for the product

* What is the Sprint Backlog?
List of Product Backlog Items or User Stories for the sprint plus the tasks to be performed

* If you are not currently connected to TFS via a network, what is required to perform a version control Undo on a file?
A local workspace

* If you have a Local workspace, what do you need to prevent someone from modifying a file in TFS?
A check-in lock

* What does the Scrum Board do?
Helps you to visualize and manage the state of the project during a sprint

* What does a Branch help you do?
Simultaneously work on different versions of a code base.This helps in feature development isolation.

* What does a Merge do?
It moves changes between two related branches in source control

* What does a Rolling Build do?
Accumulates check-in until prior Build completes

* What does a Gated Check-in Build do?
Shelves your changes and builds them before checking your code in to TFS. Gated Check-in accepts check-ins only if the submitted changes merge & build successfully

* What are Shelvesets and what are they used for?
Shelvesets refer to temporary check-ins. Shelvesets are used for:
- Code Reviews
- Gated Check-in Builds
- My Work’s Suspend & Resume
- Sharing your work with someone else
- Backing up your work

* What does the Build Controller do?
Manages and assigns work to the build agents, coordinates Builds for Team Project Collection (TPC)

* What does a Build Agent do?
Receives instructions from the controller and executes the build including the compilation of code. There can be one or more per Controller

* Do Controllers and Agents have to be on the same box?

* What is a drop directory?
The location where the outputs of an automated build are copied after the build completes

* If you're using 3rd party build activities as part of an automated build, how do you tell the build script where they are?
Add them to version control and then edit the properties for the Controller to point at that folder

* Where are build scripts stored?
In TFS version control in the BuildProcessTemplates directory

* What is the typical relationship between a requirement (aka. User Story or Product Backlog Item) and a Task?
Tasks are the things that need to be done to complete the requirement

* What tool do you need for in order to perform most TFS administrative tasks that are NOT related to permissions and how to you get to this tool?
Team Foundation Server Administration Console via the Start menu on the TFS machine

* What does the TFS Proxy Server do?
It's a caching server to help speed up version control access for geographically distributed teams

* In order to back up TFS, what do you need to do?
Back up the SQL Server databases for TFS and back up the Reporting Services Encryption Key.

* Under the surface, what describes the details of a Work Item?
The Work Item Type Definition (WITD). The WITD is a configurable XML document.

* What are the ways that you can edit a Work Item?
Visual Studio using Team Explorer
3rd party tools
A web browser
Microsoft Project

* Why would you customize a Work Item Type Definition?
You want a different work item status workflow
You need an addition work item status
You need a new field
You want a different layout for the work item fields in the editor

* Before customizing a Work Item Type Definition (WITD), what should you do?
Ensure that the original WITD is under version control in case you make a mistake

* On a new Team Project, what are the two out-of-the-box ways to get a copy of a Work Item Type Definition (WITD)?
Process Template Manager and witadmin.exe's exportwitd command

Reference - Pluralsight course ALM with TFS 2012 Fundamentals by Benjamin Day

Labels: ,

This Week I Learned - Week #159

Saturday, April 23, 2016
This Week I Learned -

Bing Code Search makes it easy to get code snippets for a specified programming task

Earlier this month, Google Compute Engine, Google’s infrastructure-as-a-service offering and Amazon Web Services alternative, went down across all regions for 18 minutes. The outage was reportedly caused by two bugs in Google’s network management software, bugs triggered by a configuration error after Google engineers made changes to GCE’s network configuration in an effort to speed it up. Jet.com whose pages use services from Lytics, an online ad-targeting company, suffered a slow down of its site as Lytics outsources its IT infrastructure to an IaaS provider. Google Cloud Platform - Planet Performance

* Cross-site scripting (XSS), exploits the trust a user has for a particular site. XSRF or CSRF (sometimes pronounced sea-surf) exploits the trust that a site has in a user's browser.

* On 27/07/2016, the amount of storage that comes with OneDrive will change from 15 GB to 5 GB.

Expression Encoder 4 is an audio/video-encoding and live-broadcasting application that can help bring an edited video project to the web for high-quality playback. It can generate Windows Media video and audio files that are optimized for web playback scenarios, or appropriate for playback on portable devices. This free version of Expression Encoder 4 does not include support for live IIS Smooth Streaming and H.264 encoding.

While Indian regulators confirmed that online marketplaces may be considered legal, they also decreed that no single seller could account for more than 25% of sales. If enforced, such a requirement would eliminate Cloudtail, the largest seller on Amazon India, effectively making its operations illegal - HBR

* Sikkim became a part of India in 1975. Sikkim has been declared a 100% organic state by the Union government. The chief minister of Sikkim is now the longest-serving chief minister in India - Live Mint

* Doctors who are also authors – Oliver Sacks, Lewis Carroll, Robin Cook, Anton Chekhov, Oliver Wendell Holmes, Abraham Verghese.

* "What we often forget is that when we read and enjoy a good novel, we are engaging in a collaborative act with the writer. The writer gives us the words, we provide the imagination, and somewhere in middle space, we jointly create this fictional dream, this mental movie. It requires effort on our part – it is not a passive act, but a creative one to read a book. The writer has to give you just enough words, not too many; just enough so that you can imagine the rest." - Abraham Verghese

Labels: , , ,

Video file anatomy

Wednesday, April 20, 2016
The article A look into YouTube’s video file anatomy  by YouTube Engineering experts, provides a nice overview of what makes up a video file & how it has evolved -

A video file contains the video and audio data wrapped up in some container format and associated with metadata that describes the nature of the content in some way.

The video and audio data is typically compressed using a codec and of course the data itself comes in a variety of resolutions, frame rates, sample rates and channels (in the case of audio).

Without compression we would not be able to stream media over the internet..

There are three main components of media files today: the container, the compressed bitstream itself and finally metadata

The bitstream (called the video and audio “essence”) contains the actual audio and video media in a compressed form. It will also contain information about the size of the pictures and start and end of frames so that the codec knows how to decode the picture data in the right way. 

The “container” refers to the additional information that helps the decoder work out when a video frame is to be played, and when the audio data should be played relative to the frame. 

The container often also holds an index to the start of certain frames in the bitstream. This makes it easier for a player system to allow users to “seek” or “fast forward” through the contents. 

The container will also hold information about the file content itself like the author, and other kinds of “metadata” that could be useful for a rights holder or “menu” on a player for instance. 

So the bitstream contains the actual picture and audio, but the container lets the player know how that content should be played.

Standardization of containers and codecs was vital for the digital video industry to take off as it did in the late 1990s.

In 2011, MP4 (.mp4), Audio Video Interleave (.avi), Flash Video (.flv), Advanced Systems Format (.asf) and MPEG Transport Stream (.ts) were more equally distributed than they are now. But over the years MP4 has overtaken them all to become the most common ingest container format.

H.264 is the dominant video  codec while Advanced Audio (AAC) codec, PCM, WMA and MP3 are popular audio codecs

Educational material including slide shows have low frame rates of 15fps and lower

..most video capture today especially on mobile devices still defaults to 25 or 30fps.