​

Saturday, October 10, 2015

Philly Code Camp Event Sessions

Hi All,

Today i am pleased to join the speakers team of Philly DotNet Code Camp (PhillyDotNet.Org) which we have it at Microsoft Technology Center at Malvern, PA on 9-10th Oct 2015.

I am delivering two sessions and below is the details of each session:

1) Developing Cross-Platform Mobile Apps using Apache Cordova

This session will cover how to build cross platform mobile applications using Apache Cordova. Cordova allows web developers to use their existing web development skills to build cross platform mobile apps. Write a single code base in HTML/JS/CSS and deploy your app to iOS, Android and Windows Phone. The session will cover how to use JS libraries such as Ionic, Angular and Backbone to build Apps in Visual Studio 2015 with latest TACO official release v1.0.0 on 10/7/2015.

The session will cover insights on understanding the project structure and best practices in building Cordova apps and it is demo driven!



Session url: https://phillydotnet.org/sessions/building-mobile-cross-platform-apps-using-cordova/



2) Get you site Edge Ready

Microsoft Edge – what are the technical details of Microsoft’s new browser, what’s new in Edge, and what’s the best way to develop for it? This session will go over the technical details of Microsoft Edge. We’ll discuss the value of the browser and how you can make sure your web sites are ready for Edge!




Session url: https://phillydotnet.org/sessions/get-your-site-microsoft-edge-ready/

Hope you enjoy my sessions, and have fun!



Tuesday, October 06, 2015

Secure sensitive data with SQL Server on Azure


Hi All,

SQL Server 2016 has released a new feature that is called "Dynamic Data Masking" which allows to mask sensitive information to be masked on the fly without a change to a line of code in your application. The video covers the DDM technology, the need for it and how to implement it on SQL DB in Azure. This feature can be implemented either using SQL PaaS (Azure SQL DBs) or IaaS (SQL Server VMs) on Azure.

If you have for example Personal Identification Information (PII), Credit Card Numbers, or Social Security Numbers that you would like to secure from non-authorized view from viewing restricted information to comply with your security policies. DDM is the right feature for you with zero change line of code.


SQL Database Dynamic Data Masking (DDM) limits sensitive data exposure by masking it to non-privileged users. Dynamic data masking is in preview for Basic, Standard, and Premium service tiers in the V12 version of Azure SQL Database.
Dynamic data masking helps prevent unauthorized access to sensitive data by enabling customers to designate how much of the sensitive data to reveal with minimal impact on the application layer. It's a policy-based security feature that hides the sensitive data in the result set of a query over designated database fields, while the data in the database is not changed.

In this video, I cover how to configure DDM feature in SQL Database on Azure using the new Azure portal. How to manage existing masks and how to test out this feature using SQL Server Management Studio (SSMS).

The video covers how to manage multiple users scenario to allow either masked or unmasked data on a SQL database in Azure.

Enjoy the video below.



Channel 9 video link


Enjoy!

Monday, October 05, 2015

Identity and Office 365 presentation on DC Cloud Tour Event

Hi All,

I presented a presentation on Cloud Tour event at Microsoft Chevy Chase office in DC metro area. The presentation covered Identity and Azure Active Directory (AAD). I covered how Office 365 uses AAD under the hood to authenticate users and how AAD uses standard protocols such as: OAuth 2.0 to authentication and generate user claims to other applications. The presentation covers how to register apps as a multi-tenant apps and how to set permissions for registered apps.

The presentation covered the following topics:
1) Azure Active Directory (AAD).
2) Office 365 Services.
3) AD Graph API.
4) Registering apps to AAD & Office 365.
5) Build Connected apps using VS 2015 with O365.



Hope this helps.

Azure Data Platform presentation on DC Cloud Tour event

Hi All,

During Azure Cloud Tour in DC, I presented a session about Azure data platform services which includes wide range of services for developers, and architects.

When you build a cloud based solution, you need to have an understanding of the available options to store and secure your data. This presentation covers the following topics:

1) SQL Server Database on Azure as PaaS.
2) SQL Server Database security features such as: Row Level Security, Dynamic Data Masking and Transparent Data Encryption (TDE).
3) SQL Server VMs as IaaS vs PaaS offering.
4) DocumentDB as NoSql option on Azure.
5) Elastic Database Pool for SQL Servers on Azure.
6) Azure Search as enterprise scalable solution.
7) HDInsight Microsoft Hadoop cluster implementation available on Windows and Linux.
8) Data Warehousing as a service on Azure.
9) Data Lake: enterprise wide repository of your data in its original format.




Hope this helps.

Wednesday, September 23, 2015

How to download Azure Publish Settings file

Hi All,

If you are trying to download Azure Publish Settings file and you are not having any luck by using PowerShell command: Get-AzurePublishSettingsFile or the url provided at MSDN article:

https://msdn.microsoft.com/en-us/library/dn385850(v=nav.70).aspx

Here is the fix:

1) Login with your credentials to Azure portal.
2) Open a new tab in the same browser and paste below url:

http://go.microsoft.com/fwlink/?LinkID=301775

Then, you will see the file has started to download, Enjoy!


Tuesday, September 22, 2015

Let's Dev This Tour - DC Oct 1st - Cloud Tour

Build a powerful, enterprise-grade cloud platform using the NEW features of Visual Studio 2015 & Microsoft Azure

Date: Oct 01, 2015 8:30 AM - 5:00 PM
Microsoft Office - Washington, D.C.
5404 Wisconsin Ave Suite 700
Chevy Chase , Maryland 20815
See map and/or driving directions
Please join us for this interactive, full-day training session led by Microsoft experts, created specifically for developers like you.

What am I going to learn?
At this event, you will learn about the latest release of Visual Studio 2015 and Microsoft Azure’s features and services – including Microsoft Azure Virtual Machines, Websites, and Visual Studio’s IntelliTest – that can help you build and move a variety of apps to the cloud. You’ll see how to build websites, mobile applications, and enterprise-class applications.

We’ll give you a free Microsoft Azure pass since you’ll spend most of the day in a hands-on lab environment.

See you all there! bring you computer and let's build software in the cloud!

Sign up now:


Saturday, September 19, 2015

Get started with Windows 10 IoT Core and Azure IoT Services

Hi,

I had a great opportunity to present a workshop at hardware hacking event through #HardwareWeekend Hackster.io in DC.

The hardware hackathon was the first time for me to join the maker community and present the powerful features of Windows 10 IoT Core and Azure IoT sevices.

An amazing number of submitted projects so far and looking forward to seeing the demos tomorrow.

The submitted projects in DC Hackster event can be found here: hackster.io/dc

Below is my presentation for reference.



Building IoT solutions using Windows 10 IoT Core & Azure from Mostafa Elzoghbi


Social Engagement:




The MS winner team: BPM Biker


Saturday, September 12, 2015

How to get started with IoT devices running windows 10 IoT Core

Hi,

Microsoft published a development center for developers to start developing IoT solutions for available IoT hardware devices in the market.

If you want to get started developing IoT solutions, You can use your existing development skill set in windows to develop solutions since there are good number of IoT devices that support running windows 10 IoT core such as:

1) Raspberry Pi 2.
2) MinnowBoard Max.
3) Galileo
4) Windows Remote Arduino
5) Windows Virtual Shields for Arduino

These IoT devices are not expensive, Once you get one of these devices, you can start running Windows 10 IoT core and start developing solutions using Visual Studio 2015.

Below is some useful links to get started:

Windows Dev Center - IoT:

Select your IoT Device:

Once you get Visual Studio 2015 Community edition for free, you need to get Windows 10 IoT core project templates:


Have fun!

Wednesday, August 19, 2015

Work with MySQL database on Azure

Hi,

I have published two videos on channel 9 about Microsoft Azure capabilities on mySQL databases.
You can create MySQL databases for free on Azure, start your proof of concept and any development project by having MySQL instance that can scale based on the power of cloud computing.

I covered how to provision, create, manage MySQL databases on Azure and how to connect to these instances from MySQL workbench.


In the first video, Get Started with MySQL on Azure i covered how to provision, create and manage mySQL instance on Azure.

Video Url: https://channel9.msdn.com/Blogs/MostafaElzoghbi/Get-Started-with-MySql-on-Azure



In the second video, Get Started with MySQL workbench for MySQL databases on Azure i covered how to connect and manage MySQL azure instances from your favorite MySQL management studio "MySQL workbench".

Video Url: https://channel9.msdn.com/Blogs/MostafaElzoghbi/Get-Started-with-MySQL-Workbench-for-MySQL-databases-on-Azure



Hope you enjoy both of these videos.

If you need any in deep learning materials to be posted on ch9, please drop me a message.

Monday, August 17, 2015

mysql is not recognized as an internal or external command

Hi,

I am using Visual Studio 2015 for developing cordova apps. I have installed MySql tools yesterday and since then eveytime i build or deploy my app, i get this error:

mysql is not recognized as an internal or external command


Even though i don't use MySQL in my cordova app but still i am not able to build or deploy any cordova app in Visual Studio 2015.

The meaning of this error message is: The system couldn't locate the mysql.exe in your system.

I am running Windows 10, here is the steps to fix that:

1) From the Cortana search, open up the control panel.
2) Navigate to System & Security, and then System.
3) Click on Advanced System Settings from the left pane.
4) Click on Environment variables.
5) Try to find Path system variable and click on Edit.

Copy the variable value in any editor and do the following:

a) Enclose any mySQL component path between double quotation "".
b) Add the mySQL.exe path at the end of the variable. You need to look for the installation path for MySQL installation and grab the installation folder which contains MySQL.exe and add it to the Path system variable.
In My Case the path for MySQL.exe is:
C:\Program Files\MySQL\MySQL Server 5.6\bin


Below is the Path system variable after the update: [[ notice the highlighted yellow section is what i have updated ]].

C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Common Files\Microsoft Shared\Microsoft Online Services;C:\Program Files (x86)\Common Files\Microsoft Shared\Microsoft Online Services;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;%USERPROFILE%\.dnx\bin;C:\Program Files\Microsoft DNX\Dnvm\;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files (x86)\Microsoft Emulator Manager\1.0\;C:\Program Files (x86)\Skype\Phone\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\nodejs\;C:\Program Files (x86)\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio\;"C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\";"C:\Program Files (x86)\MySQL\MySQL Fabric 1.5 & MySQL Utilities 1.5\Doctrine extensions for PHP\";"C:\Program Files\MySQL\MySQL Server 5.6\bin"


6) Click on Ok to save your changes.
7) Close and re-open VS 2015 (THIS IS A MUST)
8) Try to build or deploy your cordova app! it starts working again...

Enjoy.


Friday, August 07, 2015

How to setup Ubuntu server VM on Azure


Hi,

I was trying to provision an Ubuntu server VM on Azure and i'd like to share how to get up and running Ubuntu sever 12/14/15 VM on Azure step by step.

1) From Azure Portal,  Select Virtual Machines under compute, then select Ubuntu Server 15.



2) Install PuTTy as SSH Client to install extra components for the provisioned VM, you can find the client installation here:



3) Open PuTTY client and enter the Ubuntu server server VM url, you can find it in Azure portal -- Under Dashboard page for the provisioned VM. For example:  UbuntuDevSample101.cloudapp.net

  1. Click on connect, a PuTTY console window will pop up.
  2. Log in with the creds you have set while provisioning your Ubuntu VM.
  3. After a successful login, A SSH command window open.

 4) We need to install Ubuntu Desktop, run the following command:

$ sudo apt-get install ubuntu-desktop


This command will take a while, once it is completed, this means we have an Ubuntu desktop installed on the server.

Below screen show shows the command in SSH client:



 5) Install remote connection (RDP) capability by typing the following command:

$ sudo apt-get install xrdp


6) From Azure Portal, select the provisioned VM and select End Points tab.
7) We need to add a RDP end point to connect to the VM,
8) To add RDP endpoint to the VM, check out below screen shot:



9) From Azure portal, Click on Connect after adding the end point.
10) Enter the username and password!
11) After a successful login, you will be able to RDP to ubuntu VM with a desktop component!


Enjoy! Hope this helps.

Tuesday, July 28, 2015

Get started with Azure Machine learning for free

If you would like to start building Azure machine learning experiments on Micosoft Azure, You will be able to start getting started with Microsoft free offer for Azure feature-sepcific offer where you can work on Azure ML without a need for Azure subscriptions.

All what you need is a Microsoft account to login, once you got that, visit below link to start experimenting Azure ML.

If you don't have a Microsoft account (Live, Hotmail, Outlook), here you can sign up for free:

Update: Due to a recent update in Azure ML site,You will be able to use Azure Studio as a guest and you don't need to login or create a Microsoft account.
We recommend you to create a Microsoft account to store all your experiments under you account to be available everywhere.


Enjoy Azure ML!

Thursday, July 16, 2015

Getting Started with Cross Platform Mobile Development using Cordova



Getting started with cross platform mobile apps using cordova from Mostafa Elzoghbi

Sample Demos:
https://github.com/Microsoft/cordova-samples

Yesterday, I had the opportunity to present a session about cross platform mobile development using Cordova at Microsoft Reston.

This blog post is to share my presentation and my sample demos to everyone!

Hope this helps.




Tuesday, July 14, 2015

Free Microsoft eBooks

Hi All,

I'd like to share with all my blog readers and followers the largest collection of free ebooks from Microsoft.

Great resources in Microsoft Azure, Machine Learning, Azure Web Apps, Microsoft SharePoint, Dynamics CRM, Office 365, Cloud Apps, SQL Azure, SQL Server, and much more.

Refresh your skills set and download as much as you can:

http://blogs.msdn.com/b/mssmallbiz/archive/2015/07/07/i-m-giving-away-millions-of-free-microsoft-ebooks-again-including-windows-10-windows-8-1-windows-8-windows-7-office-2013-office-365-sharepoint-2013-dynamics-crm-powershell-exchange-server-lync-2013-system-center-azure-clo.aspx

Enjoy!

Wednesday, July 08, 2015

How to configure Cordova App to use AngularJS

Hi,

In this blog post i am showing how to Add AngularJS library to an existing Cordova App in Visual Studio 2015. The post shows some tips on organizing your JS files into Crodova App project template.

Since i didn't find an example on how to incorporate AngularJS library in Cordova App with out the need to collect various JS files and place them in proper folder structure that works with Cordova App project template. This blog will guide in a step by step how to incorporate AngularJS in Crodova App using VS 2015.

What are we doing ?
Since the AngularJS framework helps developers to follow MVC pattern. We will be creating an out-of-the box Cordova application, then we will add a controller js file and then will set a value in the controller and bind in view page.

Follow below steps to have a running Corodva App with AngularJS installed and configured!

1) Create a Crodova project in VS2015.


2) From Solution explorer window, Click on Manage NuGet Packages.
3) Search for AngularJS and add AngularJS.Core to your project.


4) All AngularJS files will be added under Scripts folder.


5) Select All AngularJS files and move it under scripts folder under www folder.



This is a best practice to include all Cordova App JS files under scripts folder, Since VS 2015 adds JS libraries under Scripts folder as a standard location, we need to move it under scripts folder under www folder.

6) Create a controllers folder  and then add MainCtrl.js file as your controller.
7) Open index.html and add a reference to angular.js and MainCtrl.js.

  <!-- AngularJs -->
    <script src="scripts/angular.min.js"></script>

    <!-- Controllers -->
    <script src="controllers/MainCtrl.js"></script>

8) Add the following code snipped in MainCtrl.js controller , which sets a value for myname in the scope.


(function () {

    angular.module('myApp', [])
    .config([function () {
        // configuration
    }])
    .run([function () {
        // Running
    }])
    .controller('MainCtrl', ['$scope', function ($scope) {
        $scope.myname = "Mostafa Elzoghbi Demo!";

    }])

})();

9) Open up index.html and retrieve (bind) myname value from the controller; set the angularjs app name and the controller name.

<body ng-app="myApp" ng-controller="MainCtrl">
    <p>Hello, your application is ready!</p>
    <p>{{myname}}</p>

10) Run your project! and you will see that myname binding value from the controller.



The full demo can be downloaded from this link:

https://drive.google.com/file/d/0B3qz_TH6n68UTk5RT1A4QmU1S3c/view?usp=sharing

Wednesday, July 01, 2015

Learn AngularJS for free to build web and mobile apps at scale

AngluarJS is a modern JavaScript library to build enterprise web and mobile applications at scale. AngularJS is widely used JS library by all frond end and web developers worldwide in different programming languages to build scalable web and mobile applications.

AngularJS is a library backed by Google. Microsoft started to support AngularJS with great IntelliSense in VS developer tools including the following templates:

a) VS Web project templates including web forms & mvc templates.
b) VS Hybrid cross platform mobile app using Apache Cordova

Today you can start building AngularJS applications in Visual Studio 2013 and 2015.

To learn AngularJS basics before jumping into code. Microsoft offers a free course in Microsoft Virtual Academy (MVA):
http://www.microsoftvirtualacademy.com/training-courses/introduction-to-angularjs

This course is a great start to understand the basics of AngularJS.

Also, there is a free course on AngularJS website, here is some links to learn AngularJS:
https://docs.angularjs.org/tutorial
http://campus.codeschool.com/courses/shaping-up-with-angular-js/intro


** If you live in DC metro area,  I will be covering basics of AngularJS along with Building Cross platform mobile apps using Cordova, link to the event (7/15):
http://www.meetup.com/NoVaJS/events/223495406/


Hope this helps.

Friday, June 19, 2015

What is npm ? How to get started with npm with Visual Studio 2015

This blog post is for following audience:
a) Microsoft stack and .NET developers.
b) New developers using Apache Cordova.
c) An engineer who has not been using any open source tools in Visual Studio.

This blog post will answer the following questions:
1) What is npm ?
2) Why would i use it ?
3) How to use it ?

npm is a package manager for: JavaScript, Node, Cordova, JQuery, mobile, angular, react and other famous JavaScript libraries and frameworks.

You will use npm when you want to install any js library or framework in your Visual Studio project. For example: if you want to install node.js, Cordova js libraries or any other js library such as: ionic or react!

To get npm js package manager, you need first to install Node.Js which contains npm package manager tool.

https://nodejs.org/

Once you download and install the installer, you would have npm package manager tool in your system!

How to use it?
Open your command line after you installed node.js installer and type the following to install ionic framework:

npm install -g cordova ionic



Hope this helps you how to get started using npm package manager!

-- ME

Thursday, June 18, 2015

What is TypeScript? Why would i strongly recommend to use it in your next project



As all of us know, Building large applications in JavaScript is hard! It gets messy and hard to manage and test.

The Problem
Because of the nature of JavaScript, it is not "favorable & easy practice" for non JavaScript developers to write classes, modules, OOP code in an easy, clean and straight forward way.

This was the reason of the rising & popularity of JS libraries and frameworks such as: jQuery, Angular, Knockout and much more amazing js libraries.

Recently, I have been thinking to build a Hyprid mobile application using Cordova, and this open source platform helps developers to build cross platform native apps using standard web technologies in JS and HTML.

I was thinking what is the right and best approach to start structuring my project in an organized pattern such as MVC, so i have bunch of views and controllers and my code is clean to build robust solution!

The Solution
You have different ways to implement this, One is to use Angular JS library that helps you strcture your code in a MVC patterns and design your views that are linked to models and js files that have all your controllers implementations.

Another approach, is to use TypeScript which gives your the ability to write clean client scripting and it generates JS code for your and it works in all browsers!

If you are using any OOP programming language such as: C# or Java. It will so easy for you to add TypeScript (*.ts) file in your project and start writing classes, interfaces and all OOP code with IntelliSense and type casting capabilities within VS IDE.

So, you write C# Like code in TypeScript file, it generates JS code and it works in al browsers.

Here is a play ground site to test it some code and see generated code:
http://www.typescriptlang.org/Playground

The same site has tons of materials to learn, samples and get started:
http://www.typescriptlang.org/Tutorial


TypeScript is available and supported if you use VS 2013 (update 2) or VS 2015!

Hope this helps!

Friday, June 12, 2015

How to start ASP.NET 5 Development on OS X Mac



It is the day when Microsoft @ BUILD conference in 2015 announced the availability of Visual Studio Code to allow OS X and Linux Developers to tap into .NET development

I am writing this blog post to show in step by step from ,net development perspective how to install and configure your macbook pro to have VS and starting developing and debugging asp.net applications.

Here is what you need to get you up and running:

1) Install Visual Studio Code: https://code.visualstudio.com/
It is a straight forward installation as we used for all MS products installation. Once you install it you will be able to run the VS Code as shown above.

2) Install Homebrew for managing missing packages for OS X:
You need to open the Terminal window and type (copy & paste) below command:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

This command install homebrew which is the missing package manager for OS X. It is same as Nuget console manager we do have in VS in windows to install any needed packages to our projects.

homebrew homepage url: http://brew.sh

Below screen shot show brew installation in the terminal window.


Once you hit enter, it will ask to enter your password and hit enter.
below show the completion of brew installation.



3) Install asp.net 5 and DNX:
Run the following 3 commands to install asp.net and DNX:

brew tap aspnet/dnx
brew update
brew install dnvm
Below screen shot shows the successful installation of DNX and ASP.NET on my macbook pro.



Now we have Mono, asp.net 5 is installed on our MacBook Pro! Hooray...

There is not further steps to do, but if you want to test compiling, debugging and running asp.net apps. You can install samples from github: https://github.com/aspnet/home#os-x

This sample contains console app, asp.net mvc and aspnet web app.
Below link shows you how to run the samples as well:
https://github.com/aspnet/home#running-the-samples

Hope this helps!




Wednesday, June 10, 2015

How to start mobile apps development using Cordova in Visual Studio 2013/2015


I am writing this blog to show how to start developing cross platform mobile native applications using Cordova.

Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript. It is an open source platform which means it is free to download and start building cross platform native applications using standard web technologies skills set.

If you would like to read more about Cordova project and its capabilities, here is the Cordova project homepage: https://cordova.apache.org/

Microsoft has started to integrate Cordova into VS 2013 and VS 2015. In this blog post i am showing how to start working with Cordova in VS 2013 by getting all the tools in step by step fashion.

Once you open VS2013, Click on Start a new project.

Under JavaScript Template, Select Multi-Device Hybrid App, then double click on Install Tools for Apache Cordova.



This will open up a new browser windows to start installing all the tools. download the executable file.




Next, Make sure to close VS before start installing Apache Cordova for VS 2013 tools (vs2013mda_0.3.1.exe)



Open up VS again, You will find a blank App (Apache Cordova) project template in VS 2013!


Hope this helps!

UPDATE 06/12/2015: Microsoft recommends to use VS 2015 for all Cordova applications because VS 2015 is using a new project structure to support third party CLIs, while VS 2013 is still using the old/deprecated project structure.