Tuesday, 19 July 2016

How Microsoft Magic Mirror Works

What is Magic Mirror See Video Below - 




Microsoft Introduced 'Magic Mirror' in the InnovFest Unbound conference . This Device is Useful for People With Time Crunch in Morning . Most of People have Shortage of Time in Morning To Get Ready to Get out of Door for work .

Magic Mirrror is Connected To Internet . Magic Mirror will Recognize their Face in Morning and Welcoming them with Personalized Hello Message . It uses Windows Hello Technology For Facial Recognition. It will also show More Daily updates Like Weather Conditions , Personalized Latest News Updates that will be shown on Upper Portion of Mirror . It Can also record you commute to office and Can also Tell whether there is less Traffic or Traffic Jam on that Way .

Main Highlights or Magic Mirror Are - 

1. Magic Mirror is 23.6 inch LCD screen
2. It's having black background with White UI Elements
3. It is Powered By Rasberry PI and Windows Hello for Facial Recognition
4. It Can show Weather Conditions Today
5. It Can also Show Latest News Updates
6. It Can also Show Feeds From Facebook and Twitter
7. It uses Windows Hello Technology For Facial Recognition.

“Imagine when you wake up in the morning, you’re able to use the mirror to style your hair, do your makeup, and while doing that, you can also view the weather,” explained Izzat Khair of Microsoft's developer experience team. 

Magic Mirror Can also be used for Direct Advertisements to Person. The facial recognition feature could also provide real-time information to advertisers on how people are reacting to an advertisement displayed on the smart mirror.

The Magic Mirror’s facial recognition system can recognize eight different emotions, including anger, happiness and surprise. Microsoft’s Cognitive Services Face API matches a person’s face to their profile, and allows the mirror to display information relevant to that person’s mood.

Magic Mirror is powered with low-cost and readily-available Raspberry Pi running Windows 10 IoT Core. To provide the interface and basic functionality, Microsoft decided to use a simple Hosted Web App. In fact, the company has open-sourced the application source code and bill of materials on GitHub for you to give it a go yourself.

The web app is created in HTML, CSS, and JavaScript and served from a Node instance hosted on Azure. Using the Hosted Web apps bridge, Microsoft converted their web app into a Universal Windows App which provided access to Windows Native APIs and enabled it to run across Windows-powered devices, such as the Raspberry Pi 3.

Magic Mirror is still in development stage and no commercial release date is announced

Friday, 15 July 2016

Grunt vs Gulp


  • Gulp and Grunt are both Automated Task Runner . Major Difference Between Gulp and Grunt Lies in How They Deal With Automation of Tasks Internally .

    Gulp Uses Node Streams For running different tasks and Grunt use temp files for the same work .
  • Grunt runns tasks using Temporary files which are disk I/O operations. Your SASS file is compiled and then written to a temporary file. The temporary file is used by the autoprefixer and then the final product is written to the destination file.

    Working of Grunt

    Gulp runs task all in main memory. Your SASS file is compiled in main memory, then the result is passed to the autoprefixer without being written to a file and the destination file is then written out.

    Working of Gulp
  • In-memory operations are faster as compared to disk writes which means that Gulp has a big speed advantage.
  • Speed Comparison Of Gulp Vs Grunt Can be Found Here - http://tech.tmw.co.uk/2014/01/speedtesting-gulp-and-grunt/
  • Speed Difference



    Source : http://tech.tmw.co.uk/2014/01/speedtesting-gulp-and-grunt/

Thursday, 14 July 2016

What is Gulp and Grunt


Front-End Developers Tend To Deal with many things that include : - 


  • Decrease http request by concatinating CSS FIles and JS Files Together for showing on website
  • Compressing and Minifying CSS and JS Files
  • Optimizing Image to reduce their size by maintaining Quality of image
  • Saas authoring
  • Rendering DOM 
This is just an overview of task that needs to be run there is large list of tasks needs to be done . Grunt and Gulp are tools that does these tasks for us and don't bother us to do them . After setting up Grunt or Gulp all these list of tasks can be done automatically without bothering you about any of them and everything managed automatically and efficiently

Why Do I Need Gulp Or Grunt

Things that gulp and grunt do are not that you can't do without gulp and grunt . There are number of tasks you need to do you can also manually do all of them manually using number of availale tools But Gulp and Grunt Has kept them all under one roof and you manually need not to do anything it automatically do all these tasks and manages everything

Do I Need To Learn NODE For Using Gulp / Grunt

You just need to install node and not need to do anything more . Like we use mailing platform gmail or We use wordpress for blogging but don't do coding in that on non-developer part

Working of GRUNT

Grunt runns tasks using Temporary files which are disk I/O operations. Your SASS file is compiled and then written to a temporary file. The temporary file is used by the autoprefixer and then the final product is written to the destination file.



Working of Gulp
Gulp runs task all in main memory. Your SASS file is compiled in main memory, then the result is passed to the autoprefixer without being written to a file and the destination file is then written out.

Wednesday, 13 July 2016

Difference Between Bower and NPM



  • Npm and Bower are both Project dependency management tools. But the main difference between both is npm is used for installing Node js modules but bower js is used for managing front end components like html,css,js etc.



  • npm is most commonly used for managing Node.js modules, but it works for the front-end too when combined with Browserify etc



  • Bower is front-end Package Manager. The biggest difference is that npm does nested dependency tree that increases its size eventually while Bower requires a flat dependency tree No nested versioning of Packages

NESTED DEPENDENCY TREE
A nested dependency tree means the dependencies or Packages we added in our project can also be dependent on other dependencies and those can further have more dependencies and so on. This is not a problem for a website where you does not care about space and performance of application . It tells you need to care about dependency conflicts as all your dependencies use their own version of Underscore.This increases size and make heavy load for pages. Imagine a site having to download three copies of jQuery as due to different packages require different version of jquery

The reason many projects use both is that they use Bower for front-end packages and npm for developer tools like Yeoman, Grunt, Gulp, JSHint, CoffeeScript, etc.

SEPARATE PACKAGE DEPENDENCY APPROACH
The main difference between npm and Bower is the approach for installing package dependencies. npm installs dependencies for each package separately, and as a result makes a big package dependency tree (node_modules/grunt/node_modules/glob/node_modules/...), where there could be several version of the same package. For client-side JavaScript this is unacceptable: you can't add two different version for jQuery or any other library to a page. With Bower each package is installed once (jQuery will always be in the bower_components/jquery folder, regardless of how many packages depend on it) and in the case of a dependency conflict, Bower simply won't install the package incompatible with one that's already installed.

Tuesday, 12 July 2016

What is Bower And Why To Use Bower


Websites are made up of number of Things That include - Framework , Libraries , HTML , CSS , Javascript , Fonts, Images etc

To Keep Track of All These Packages and Making Sure they are up todate is not an easy thing . Bower act as an rescue for us

BOWER IS A FRONT-END PACKAGE MANAGER

Bower Do the Work of Installing and Updating Project Dependencies . That Includes Libraries that project uses like jquery etc .What it does is to go To All Library Websites Downloading the packages Unpacking them and place them in project folder so that project can use them and all of this is done use some set of commands.

Bower Help Us To Manage Components like HTML, CSS , Javascript ,fonts , images etc . Bower Just tries to maintain Version of the package as per our Dependency and Need For the Project as specified .

Bower Contains a File 'Manifest File' - bower.json This file is used by bower to keep track of managing packages . It work by fetching, saving , installing package from web and update them in bower.json

Getting Started With Bower

Complete List Of Bower Commands
https://bower.io/docs/api/

How To Install Bower

In Order to Install Bower You Need To Install NPM . The best way to install npm is to install node using the node.js installer. npm is installed as part of node.

Download NPM 

If you are using Linux Use Command Below to install NPM
sudo npm install npm -g

After Installing NPM Install Bower By Using Command Below
npm install -g bower

Intalling Packages Using Bower

$ bower install <package>

After Execution of this command bower_components folder will be create and all packages will reside under this folder


Bower Example

> bower install --save jquery # or bower i -S jquery
This command will download the latest version of jQuery into the bower_components/jquery folder.

Sample bower.js File

# installs the project dependencies listed in bower.json
$ bower install
# registered package
$ bower install jquery
# GitHub shorthand
$ bower install desandro/masonry
# Git endpoint
$ bower install git://github.com/user/package.git
# URL
$ bower install http://example.com/script.js