Visualize your VMob data in Power BI

VMob is an intelligent personalization platform that allows retailers to create highly personalized marketing campaigns to reach customers at the right time and place. Tracking and exploring your VMob data is easy with Power BI and the VMob content pack. Power BI retrieves your data, including User Statistics, Retail KPI and Campaign Performance, and then builds an out-of-box dashboard and reports based on that data. This post will provide an overview on how the Power BI content pack helps users explore and monitor VMob data. For additional details on how to get started, please see the VMob content pack for Power BI help page. Start loading the content pack by connecting to your VMob account in Power BI. Once the content pack is loaded, you’ll see a new dashboard, report and dataset in your workspace marked with an asterisk. Clicking on the tiles will drill into the 4 pages of reports built on top of the data set. For example, selecting the Redemptions by Campaign tile will load the Campaign Performance report which shows details about your campaigns for the last 30 days. You can hover over any of the visualizations to see additional details about that specific data point. You can also leverage the filters in the report by opening the filter pane on the right. Navigate between the report pages using the named tabs at the bottom. On each page, you can also switch to Edit Mode, to view all of the tables and fields that are included in the dataset. This mode allows you to add filters, create or modify visualizations and add new report pages. The highlighted tables in the Fields list show where the fields come from for a specific visual. Any of the visualizations be pinned back to the dashboard to further customize it. When you pin a visual you’re prompted to choose which dashboard to pin to, allowing you to build up a dashboard with tiles from multiple different reports. Each tile can be resized or moved on your dashboards allowing for further customization. After you initially import the data, the dashboard, reports and data set will continue to update daily. You can control the refresh schedule on the data set as well. The VMob content pack for Power BI helps you visualize and explore an initial set of metrics and reports that can be customized for your scenario.  We’re always interested in hearing your feedback; please contact us at to let the team know how your experience was and if there’s anything we can do better. We look forward to your feedback! Try Power BI Follow @MSPowerBI on Twitter Visit the Power BI Community

Posted by on 25 November 2015 | 1:30 pm

Explore the “Surface Owner” VSTS Extension - 2. Fix the scope using a storyboard

So you’ve created a basic skeleton extension using the previous post Getting started, but now you need to really get that extension idea concrete. In this post, we’ll go through some of the steps in creating a storyboard and getting the requirements ironed out based on the File Owner extension. The idea We have our idea, that came from the Product Owner… The ‘What’ => “Surface the owner of a file based on last modified, most modified. etc.”. The ‘Why’ => “Simplifies the process of determining ownership.”. We need to pick out certain key words from the idea above… we know that we need to have some sort of a display that shows the user who the owner(s) of a file could be, and we need to make it as simple as possible - so maybe 1-2 clicks to get to the expected result. Let’s draw something out… The beginnings of a storyboard I usually start by putting myself in the user’s shoes to try and understand what they might do, the steps that they might go through, and try to experience the flow from start to end. I find myself going to VSTS, and imagining where the starting point might be, and imagine elements on the screen. As I go through each step of the user flow, I start drawing these out into simple quick wireframes. It’s ok to make mistakes here, as you are finding the best possible route for the user. So quickly drawing something on paper instead of spending hours and hours in Photoshop and then scraping it can save a lot of time and waste. Creating a wireframe also helps to visually see where each element might go, so you have the beginnings of a storyboard taking place. The storyboard Once you have a basic idea of what the flow may be and you are happy with it, you can start nailing down some of the designs in a more visually appealing mock-up aka storyboard. I typically use PowerPoint and Photoshop for the storyboard, and use each slide as an interaction point that the user might do. I use Photoshop to create the look and feel of what it might actually look like if it was implemented, but you can create something close by using the ‘Shapes’ tools that you get with PowerPoint. Once we have a storyboard in place, we can loop in the PO and review if this is what they were envisioning, if we have missed anything out or should include. Once we have the storyboard in a more concrete form, we can start the phase of the extension: the development cycle. Coming up … Explore the “Surface Owner” VSTS Extension – … 3. Build and debug the extension 4. Back to publishing the code and the extension

Posted by on 25 November 2015 | 12:59 pm

Microsoft Dynamics AX 2012 R3 CU10 Disponible

Hola, Está disponible el nuevo Cumulative Update 10 para Microsoft Dynamics AX 2012 R3, a través del KB 3102920 en PartnerSource, o bien, en sus proyectos de AX 2012 R3 en LCS. Después de la instalación se actualizará el build de la versión a: 6.3.3000.110. Previo a la instalación, es importante que lean la Guía de Instalación. Los cambios más relevantes están en la liga ‘What’s new in Microsoft Dynamics AX 2012’. Se presenta el detalle de la documentación en el siguiente blog del equipo Dynamics AX In-Market Engineering (Sustained Engineering): Announcing Cumulative Update 10 for Microsoft Dynamics AX 2012 R3. Para PP

Posted by on 25 November 2015 | 12:58 pm

OpenCV: unsure how to proceed

OpenCV is the standard open-source library that everyone uses for image detection. It's written in C++. I want to use it from my .NET UWP apps, but I'm struggling to figure out how. If anyone has solid guidance on how to proceed, I'd love to know! This blog post is just a documentation of my first tentative investigations. (Also eventually I want to use OpenCV from my cross-platform .NET Core apps as well, so I can write an ASP.NET5 webservice running on Linux that does face detection). I think there should ideally be three layers of NuGet packages: OpenCV.dlls - there should just be a base NuGet package whose only job is to carry the native C++ dlls. It needs to carry the three flavors, x86 + x64 + ARM. It should use the new features in NuGet3 so it can carry all three flavors of dll in a single NuGet package, and at build-time the project.json should pick out the right binaries. There's a catch. The normal "opencv_world300.dll" is huge at 30mb and includes absolutely all OpenCV functionality. Typically my store apps will only need a small subset of that functionality. I see that the "OpenCV.NET" NuGet package instead delivers it split up into 19 separate DLLs, each of them about 1-2mb. It would be best if you could get the DLLs also through a load of smaller NuGet packages, one by one, to pick out which of those binaries you need. Note that a C++ DLL that you built for an earlier version of Windows Store or Windows Phone will not work in UWP. That's because even though UWP supports all the same APIs that were there in the earlier WinRT platforms, it divides them up into different "api-sets", so the binaries are incompatible. Ideally this NuGet package should also carry the native C++ dlls for Linux and for OSX, so it can be used on other .NET Core platforms. I don't know how native dlls are carried on those platforms  OpenCV.interop - there should be an intermediate NuGet package whose job is solely to contain p/invoke declarations for those DLLs without any fancy wrapping. Maybe it would also include header files, for consumption by C++ I don't know how p/invoke declarations work for cross-platform .NET Core. Why decouple this from the raw DLLs? solely to enable the "pick-and-choose" idea above. Maybe it's not worth it. Maybe the "OpenCV.dlls" and "OpenCV.interop" should be combined.  OpenCV.Net - there should be a higher-level set of wrapper classes, more .NET friendly. Maybe this package need never be written, if everyone is happy using the unwrapped versions of the APIs. Maybe there will be multiple competing versions of this package, with different API designs, some more friendly than others.   OpenCV itself - the main website has a "download binaries for Windows" link. This includes x64+x86 builds of "opencv_world300.dll" (32mb). I don't know if they're built for UWP but I suspect not. It has two 8.1-era Phone+Store sample apps but they didn't build out of the box. It has a directory called "sources\platforms\winrt" which has instructions for building on WinRT, but these instructions don't include x64, and I suspect they date from before UWP. - the main GitHub repository for OpenCV - has pre-UWP instructions on how to build binaries from the main GitHub repository using CMake - this NuGet package with 18k downloads claims to contain "binaries and build targets". This isn't true. It contains C++ header files, and it contains a .targets file which (based on build parameters) pick up the OpenCV native DLLs that it assumes you got from elsewhere and copied into a particular location. It only does this for x86 and x64; not ARM. There are two old sites - was the old staging repo where WinRT support was first added to the main OpenCV GitHub, and had old instructions on how to build for WinRT. I think both links are out of date. Analysis: I suspect there are no "ready-to-go" binaries here for UWP, nor any useful NuGet packages. If I want to use OpenCV from source, I'll have to learn the thing's build system, configure it to build UWP, and built it myself. I'll have to write a OpenCV.dlls NuGet package from scratch myself. I don't know whether the work I do here can be submitted back into OpenCV's daily builds, or if I'll have to keep it separate.   OpenCV Extension SDK - this video discusses an "OpenCV for Windows Store" Extension SDK which contains native binaries for UWP apps. However, the Extension SDK has never been publically released. (Also, ExtensionSDKs were used in the past because prior versions of NuGet weren't good at selecting x64/x86/ARM binaries based on build-time configuration. That limitation has gone away, and now NuGet is a much better option than ExtensionSDK). Analysis: The author of the video has moved on to a different team. I've contacted his former colleagues to see if I can get anywhere with this. I don't know if it will be a single huge 30mb "world" dll, or a series of smaller ones.   OpenCVSharp This NuGet package contains a 30mb "world" binary for x86+x64 (not ARM) that come from here. It also contains C# wrappers that are as close as possible to the raw C API. This is the most widely used package, with 32k downloads total. I'm confused, because the NuGet package has that huge DLL, but then the project's install.ps1 seems to have them split up into separate pieces. The NuGet package only installs onto desktop .NET Framework 4.0 and higher -- not .NETCore, and not UWP. As for the raw native binaries themselves, I don't know. But given the desktop focus, and the lack of ARM, I strongly suspect they won't work on UWP. - this is the main repository. The OpenCVSharp NuGet is actually offered in four flavors: - the main one for OpenCV3 which was released in 2015; most recent - as above, but missing the "world.dll" (so you'll pick it up yourself elsewhere) - like [1] but for OpenCV 2.4 - like [2] but for OpenCV 2.4 There's also this NuGet package but it doesn't seem to be related. Analysis: this project seems to provide the correct "interop p/invoke" layer. But I think it won't be a good source of binaries for UWP.   OpenCV.NET This NuGet package has a nicer .NET-style set of wrapper classes. I don't understand how/where the NuGet package picks up its raw binaries from, but it appears to get them somehow! The binaries seem to be x86 only (not x64, not ARM) and are split into ~15 smaller DLLs. The package has been downloaded 8k times. The most recent update was 9 months ago. The NuGet package only works on desktop .NET Framework 4.0 and higher (not UWP). Analysis: I think it'd be ideal to split out the "interop p/inoke" layer from the wrapper classes. I'm interested to know whether the interop declarations for "split-into-separate-dlls" that this project uses is different from the interop declarations for "world.dll". In any case, this project isn't a suitable source for raw binaries.   Emgu This project does provide ARM and WinRT for 8.1-era. However I haven't read anything to indicate support for UWP. Its NuGet package was last updated 20 months ago and has 6k downloads. This project requires a commercial license for ARM and WinRT. Analysis: this isn't in the OSS spirit that I like about .NET Core, so I haven't pursued it.    Stack Overflow - this seems to be the most valuable StackOverflow resource. It has Raman Sharma (author of the "OpenCV for Windows Store Apps" ExtensionSDK) give some answers on how he built OpenCV for WinRT.  

Posted by on 25 November 2015 | 12:43 pm

Are You Embracing Open Source?

Rich Maines, Senior ADM, and Jeremy Rule, Services Practice Leader, share an important message about how Open Source is shaping our industry. Microsoft is. At the last BUILD conference, Satya Nadella famously stood in front of “Microsoft ♥ Linux” and spoke to the work Microsoft had done to with Linux in the Azure public cloud as well as on-premises datacenters.  Microsoft has transformed as a company in the way that we work and collaborate with others in the industry, in how we listen to customers, and in our approach to the cloud. These collaborations have enabled new scenarios for customers and partners to take open source software and integrate it with Microsoft platforms. Are you currently doing enough to enable your development capabilities with open source? We contribute to and partner with open source communities and promote interoperability to make it easier and less costly for customers to develop in multi-platform environments. We actively participate in the standards setting process and support established and emerging standards in our products. In the cloud, we support key standards that provide the building blocks for open, interoperable cloud services and we support developer choice of programming languages. We support data portability and believe customers own and control their data, no matter where it resides. Did you know that 20% of virtual machines on Azure are Linux today? Azure also provides first-class support for Java, Node.js, Python, Ruby, and PHP and our recently announced Azure cloud security tools will work both on premise and in Amazon’s cloud. Tasked with leading the support of the company’s strategy through people, process and technology, Microsoft Premier Developer is at the forefront of the company’s transformation. I bet you weren’t previously considering Microsoft as the preferred provider of expert training and consultative guidance for both Microsoft and non-Microsoft technologies. Contact a Premier Developer representative to learn how our resources champion current and emerging open source technologies to create holistic solutions across your enterprise. Premier Support for Developers provides strategic technology guidance, critical support coverage, and a range of essential services to help teams optimize development lifecycles and improve software quality.  Contact your Application Development Manager (ADM) or email us to learn more about what we can do for you.

Posted by on 25 November 2015 | 11:50 am

Building xRM solutions: a three-part video series

We’re pleased to announce a three-part video series for building xRM solutions.  In this series, you’ll get an end-to-end walk through of the key extensibility capabilities (xRM) of Microsoft Dynamics CRM that allow you to build line of business (LOB) applications. Building xRM Solutions I: Introduction Dynamics CRM's capabilities can be leveraged to build line of business applications, managing any relationship and interaction versus customer relationships and interactions.  In this video, we'll walk through the the xRM framework within CRM, including: Rapid application development Business process management Business intelligence User experience Building xRM Solutions II: Configuration In this video, the terms configuration and customization are used interchangeably, and refer to an iterative process of defining the data model, security model, navigation, forms and views, business process flows, business rules, business process automation, and solution packaging. Building xRM Solutions III: Code In this video, we'll cover four main concepts to consider when extending CRM to build a xRM solution: Client extensions Server extensions Integration Custom user experiences Enjoy! David Yack @davidyack Marc Schweigert @devkeydet

Posted by on 25 November 2015 | 11:08 am

Student and Faculty Guide - 10 easy steps to get up and running with Azure Machine Learning

My colleague Amy Nicholson is the UK expert on Azure Machine Learning, the following blog post is after a quizzing session to get understand how to get started with Azure Machine Learning”    Step 1. Setup your Azure Machine Learning account/service 1. Create Microsoft Account, Use Microsoft Account to set up DreamSpark Account, Verify your DreamSpark Account, Register for Microsoft Azure for DreamSpark Go to Azure Machine Learning Studio and click the "Get Started" link Microsoft, DreamSpark and Azure Account Set-up Instructional Video 2. Azure for Education is for Faculty running courses using Azure, including Azure ML. Each student receives $100 of Azure credit per month, for 6 months. The Faculty member receives $250 per month, for 12 months. You can apply anytime at  3. Azure Machine Learning for Research is for University Faculty running data science courses who may need greater amounts of Azure storage and additional services such as HDInsight (Hadoop and Spark) or DocumentDB (NoSQL). Proposals are accepted every two months, you can find out more and apply at 4. Azure Passes I have access to a limited number of $100 1 Month Azure passes so if your interested in running a class, tutorial or session on Machine learning at a UK institution please get in touch @lee_stott Step 2: Understand the basics The Azure machine learning team provided a very nice walkthrough tutorial which covers a lot of the basics.  This tutorial is really useful as it takes you through the entire process of creating an AzureML workspace, uploading data, creating an experiment to predict someone’s credit risk, building, training, and evaluating the models, publishing your best model as a web service, and calling that web service.  Step 3: Getting Data to work with Now you need to learn how to import a data set into Azure Machine Learning, and where to find interesting data to build something amazing. You can upload local data (like a .csv file) from your machine or access data from elsewhere on the internet (like an OData feed provider). Great example of data are  and Azure DataMarket Step 4: Create your first Machine Learning Experiment Many predictive experiments using supervised learning (regression, classification, or anomaly detection) will follow this basic pattern.  Drag the data set that you chose in step 3 onto your AzureML workspace.  Then you may want to use the various Data Transformation modules to clean or reformat your data (such as removing rows with missing data, etc).  Then you will split your data set in a training and test set.  Best practice is to split 75% training and 25% test.  Why do we have to split it?  Well, remember that with supervised learning, you need data with labeled examples.  So, the reason you split the data is to provide most of the data to train the model (it will process the data to figure out correlations between the inputs and outputs in the “train model” module), but we want to hold back some of that labeled data to test the model that we built.  Then, we can compare the output of the trained model generates against the actual test dataset (in the “score model” module) to see how well the model is performing.  (We can't use the same data for both…the model is built using the training data, so it will perform pretty accurately with that; we hold back unused data to test.)  Finally, the “evaluate model” module lets us compare two models against each other to determine which performs better for our needs.  Step 5: Choosing the right Algorithm There are 4 categories of algorithms currently supported in Azure Machine Learning:   Clustering: grouping similar data together Regression: predicting a value Classification: predicting a discrete category Anomaly detection: identifying data that is outside of the norm Once you determine the category of algorithm that makes sense for your problem, you need to choose a specific algorithm within that category.  The best resource for this is the Azure Machine Learning Cheat Sheet.  The Cheat Sheet It is a useful flowchart that helps you analyze your data and figure out which algorithm may perform best.  Step 6: Refine your model.  Each algorithm contains a number of initial parameters.  Tweaking the initial parameters can greatly improve your results.  The "Sweep Parameters" module can help by trying many different input parameters for you, and you can specify the metric that you want to optimize for (such as accuracy, precision, recall, etc.).  Changing algorithms and adjusting their initial parameters can greatly affect your results.  Here are some resources to help you learn to perfect your model: How to choose parameters to optimize your algorithms in Azure Machine Learning Run and Fine-Tune Multiple Models" video by Data Science Dojo To evaluate your model, right-click on the output node of the “Evaluate Model” module and select “Visualize”.  The data provided is different depending on what category of algorithm you are using: Regression models give you the mean absolute error, root mean squared error, relative absolute error, relative squared error, and the coefficient of determination.  You want the errors to be as close to 0 as possible, and you want the coefficient of determination to be as close to 1 as possible.  Binary (two-class) classification models provide metrics on accuracy, precision, recall, F1 score (which is a combination of precision and recall), and AUC (area under the curve).  You want all of these numbers to be as close to 1 as possible.  It also provides the number of true positives, false positives, false negatives, and true negatives.  You want the number of true positives and true negatives to be high, and the number of false positives and false negatives to be low.  Multiclass classification models provide a confusion matrix of actual vs. predicted instances.  Here are some resources to help you with evaluating your model: How to evaluate model performance in Azure Machine Learning How to interpret model results in Azure Machine Learning Step 7: Publish your model as a web service.  To publish your model, click the “SET UP WEB SERVICE” button in the bottom toolbar in Azure Machine Learning Studio.  If there are multiple trained models in your experiment, select the “Train Model” module for the algorithm/trained model you want to use before clicking the button.  Select the creation of a “Predictive Web Service”.  The tool will generate a new experiment with web service inputs and outputs.  Verify that all of your data preprocessing modules still make sense when you call the service with new data.  You can also use the “Project Columns” module to remove some columns from the web service inputs and outputs.  Then, run your predictive experiment and click “DEPLOY WEB SERVICE”.  There is further documentation on publishing your web service here.  (You can also reference this step in the walkthrough) Step 8: Call your web service. Finally, you need to write a little code (or grab some sample code) to call your web service.  The Azure web service that you created can operate two different ways:   Request/Response - The user sends one or more rows of credit data to the service by using an HTTP protocol, and the service responds with a set of results. Batch Execution - The user sends to the service the URL of an Azure blob that contains one or more rows of credit data. The service stores the results in another blob and returns the URL of that container. When you published the web service in the previous step, you were taken to a webpage documenting the different ways to call your service.  Sample code is provided in C#, Python, and R.  An Excel spreadsheet with macros to call the web service is also provided.  The official documentation on calling your web service is here.  Step 9: Retrain your model over time.  You may have new data coming in continually, and want to occasionally retrain your ML model based on that new data.  Here is the official documentation on how to retrain machine learning models programmatically.  Step 10: Share the Outcome as a Gallery item, Hopefully you learned something and others will benefit from your knowledge, troubleshooting efforts, and lessons learned as well.  You can also share your machine learning model to the Azure Machine Learning gallery with a button click from the bottom toolbar in AzureML Studio.  Other learning Resources Azure Machine Learning Project using Web Services Online Video Course Build and Deploy Your Predictive Model (75 minutes) Download the Training Data from Titanic Training Data Complete the Data Science Dojo Tutorials: Part 1: Importing Data and Creating a New Experiment Part 2: Reading External Data Sources Part 3: Data Exploration and Visualization Part 4: Preprocessing Data 1, Casting and Renaming Columns Part 5: Preprocessing Data 2, Scrub Missing Values & Project Columns Part 6: (Optional) Feature Engineering and R Script Part 7: Building Your First Model Part 8: Run and Fine Tune Multiple Models Part 9: Deploying Your First Predictive Model as a Web Service Use ML Algorithm in Excel (30 minutes) Azure Machine Learning Excel Add In   Get Started with Azure Machine Learning - Feature requests for Azure Machine Learning Microsoft Virtual Academy course on Azure Machine Learning

Posted by on 25 November 2015 | 10:31 am

Easily checking Azure Resource Manager deployment status from PowerShell

If you’re working with Azure Resource Manager templates on Windows then there’s a strong possibility that you’re using the Azure PowerShell cmdlets to deploy them. [Note that if you’re on OSX/Linux you can use the Azure CLI. Oh, and it works on Windows as well!] I’ve had a couple of mini-scripts that I’ve found myself using repeatedly, so I thought I’d tidy them up a bit and share them in case they’re useful for anyone else. Note: the scripts for this use the 1.0 release of the Azure PowerShell cmdlets. See this link for information on the changes from previous versions: Getting Set Up Make sure you’ve got the Azure cmdlets installed and configured. To check, try running Get-AzureRmResourceGroup Grab the script from here:, and save it as AzureHelpers.ps1. From a PowerShell prompt, dot source the script to include the cmdlets as shown below. Pay close attention to the dots :-) . ./AzureHelpers.ps1 And that’s it, you’re all set! Examples Let’s take a look at a few examples to help get started with the utilities Starting Simple A simple example to get started with the cmdlets is: Get-LastDeploymentOperation -ResourceGroupName "asetest" The output from this will be something similar to: Id -- /subscriptions/e96f24a6-ceee-43a3-8ad4-5e5dca55656b/resourceGroups/asetest/providers/Microsoft.Resources/de... /subscriptions/e96f24a6-ceee-43a3-8ad4-5e5dca55656b/resourceGroups/asetest/providers/Microsoft.Resources/de... /subscriptions/e96f24a6-ceee-43a3-8ad4-5e5dca55656b/resourceGroups/asetest/providers/Microsoft.Resources/de... /subscriptions/e96f24a6-ceee-43a3-8ad4-5e5dca55656b/resourceGroups/asetest/providers/Microsoft.Resources/de... This is the set of outputs that the standard Azure cmdlet Get-AzureRmResourceGroupDeploymentOperation returned for the most recent deployment to the “asetest” resource group. However, this isn’t terribly easy to read! Making It Readable To address the readability challenge above, we can use another cmdlet from the helpers, ConvertTo-DeploymentOperationSummary, and pipe the results to that: Get-LastDeploymentOperation -ResourceGroupName "asetest" `     | ConvertTo-DeploymentOperationSummary The output from this looks like: Id                : BC1833006F6A1347 ProvisioningState : Failed ResourceType      : Microsoft.Web/sites/Extensions ResourceName      : WebApp-API-foo/MSDeploy StartTime         : 25/11/2015 12:28:46 EndTime           : 25/11/2015 12:29:19 Duration          : 00:00:33 Error             : @{Code=ResourceDeploymentFailure; Message=The resource operation completed with terminal                     provisioning state 'Failed'.} Id                : E4CE0CC89B2FA18F ProvisioningState : Succeeded ResourceType      : Microsoft.Web/sites/config ResourceName      : WebApp-API-foo/web StartTime         : 25/11/2015 12:28:45 EndTime           : 25/11/2015 12:28:48 Duration          : 00:00:03 Error             : ... With this output format it is easy to format into even more of a summary for, work out which steps took the longest, or just filter to see which operations failed. If you prefer to see the output in a more interactive way then you can output it to the GridView: Get-LastDeploymentOperation -ResourceGroupName "asetest" `     | ConvertTo-DeploymentOperationSummary `     | sort -Property StartTime `     | Out-GridView This gives you output like the following where you can further filter and sort interactively Going Further Back The Get-LastDeploymentOperation cmdlet takes an additional parameter, DeploymentsToSkip. This specifies how many deployments to skip when before returning the operations for the deployment. It defaults to zero, i.e. just take the most recent deployment. The example below sets it to two, i.e. gets the operations for the deployment two before the most recent deployment: Get-LastDeploymentOperation -ResourceGroupName "asetest" `                             -DeploymentsToSkip 2 Wrapping Up I’m trying to decide whether it would make sense to wrap this up as a module at some point (it would avoid the dot-sourcing step in favour of install-module), but other than that – enjoy!

Posted by on 25 November 2015 | 10:02 am

What do you think of changes to our tooling and guidance solutions page?

We are looking for ways to improve the tooling and guidance solutions page ( and to gather objective metrics and feedback. Proposed changes: NEW indicates the latest additions to the page. Add a crisp 1-3min DEMO video for each (non-retired) solution. Allow user to complete a quick (<1min) REVIEW for each solution. What do you think of these changes? How can we improve this and other pages (i.e. for you?

Posted by on 25 November 2015 | 9:59 am

Lightning deal: Windows 10 Inside Out

Act fast! Amazon is featuring Windows 10 Inside Out, by Ed Bott, Carl Siechert, Craig Stinson, as a lightning deal for the next four hours only*. This deal will save you an extra 20% off of Amazon's list price! Get this deal! *This offer expires today, November 25, at 11:55 a.m. PST or when the allotted inventory is sold out.

Posted by on 25 November 2015 | 9:55 am

Labs Scenarios for Machine Learning, Web Development and Mobile Game Development all with a Microsoft DreamSpark Azure Account

  The challenge of most survey information systems courses taught in the College of Business is that the hands-on projects tend to teach Microsoft Office skills rather than give insights into IT careers.  This might be why CIS, MIS and IS departments still struggle to recruit students to the major despite a very robust job market. My colleague in the US Randy Guthrie – Microsoft Technical Evangelist. Has created the Azure in IS Lab Series The Azure in IS Lab Series has been designed teach important IS concepts while at the same time giving students a better understanding of technology careers beyond textbook exercises. Students use professional tools and learn skills that can have immediate scholastic and career benefit. Each of the projects is based on the Microsoft Azure cloud-computing platform, but allows the teacher and student to explore several implementation scenarios including game development, web development and predictive analytics via Azure Machine Learning. These labs are targeted specifically at college students enrolled in survey Information Systems courses with limited technical skills, but could easily be used in other activities such as computer science societies and clubs. The projects are: Mobile Game Development: in this project students walk through one or two self-guided tutorials for one of several game types, and then heavily customize the game mechanics, graphics and story to make a unique game. They then publish the game as an Azure website and use social media to drive traffic, get feed back, etc. Students then have the option of taking it further and publishing their game to Windows, iOS and Android device stores. Web Development: In this project students use Azure to build and host a WordPress website or blog. Almost 25% of the websites on the Internet use WordPress, and students from all business disciplines can benefit from learning how to create and deploy a WordPress site.  As an additional benefit, the Azure subscription through DreamSpark is free, and the websites (students get ten websites per subscription) do not expire, even after the student leaves the university. Machine Learning: In this project students develop a predictive model using one of a variety of datasets (the Titanic passenger manifest is a favorite) using Azure Machine Learning Studio. They can then deploy their model as a web app, and can then create an API to make a Excel Spreadsheet that uses the model to predict outcomes for the data in the spreadsheet. All of these projects use browser-based tools, so students can use any personal connected device without the need to download or install software. There are lots of helpful videos, supplemental PowerPoint presentations, grading rubrics, and even guidance for how students can reference their completed projects on a resume or enter their projects in a contest. These resources are available at no-cost, and technical support is available through the website to help faculty get started and to make sure the projects provide an enjoyable and impactful experience for everyone involved. In a recent pilot at Arizona State University, over 30 students changed their business concentration as a result of doing the Mobile Game project, and many more thought this was one of the most enjoyable assignments so far in their college experience. Check out the Azure in IS Lab Series today

Posted by on 25 November 2015 | 9:38 am

Clarifying the documentation on wildcards accepted by FindFirstFile/FindFirstFileEx

A customer asked for clarification in the documentation for Find­First­File and related functions, such as Find­First­File­Ex and Find­First­File­Transacted Does Find­First­File­Ex support multiple wildcards in the lpFile­Name parameter? The documentation is not clear. We are hoping to pass something like C:\Directory1\Directory2\*abc*\def*.txt. Note that there are two asterisks in the directory portion as well as an asterisk in the file name portion. Should we expect this to work? The documentation is not very explicit about this scenario. It just says lpFileName: The directory or path, and the file name, which can include wildcard characters, for example, an asterisk (*) or a question mark (?). I agree that the documentation is ambiguous here. One interpretation of the sentence is The directory or path, and the file name, any of which can include wildcard characters, for example, an asterisk (*) or a question mark (?). Or it could be interpreted as The directory or path, and the file name. The file name can include wildcard characters, for example, an asterisk (*) or a question mark (?). You can have multiple wildcards, but all wildcards must exist in the file name portion. The search pattern lets you apply a filter to a search within a single directory. It is not a SQL query. I submitted a documentation change request to clarify the sentence to the second version above: The directory or path, and the file name. The file name can include wildcard characters, for example, an asterisk (*) or a question mark (?).

Posted by on 25 November 2015 | 9:00 am

Приходите 26 ноября на Visual Studio Workshop

26 ноября приглашаем вас на Visual Studio Workshop. Во время мероприятия вам будет предложен ряд глубоких сессий, погружающих в методологии и процессы разработки и тестирования ПО на базе продуктов Visual Studio, TFS, Git, Visual Studio Online, платформ ASP.NET и Azure. Эксперты из команды Microsoft поделятся с участниками лучшими бизнес-практиками по монетизации, управлению проектами и командной работе, а в рамках круглого стола вы сможете получить ответы на интересующие вас вопросы. Ключевые темы мероприятия: Business development – управление проектами, лучшие практики и методологии; Эффективное управление и контроль над исходным кодом; Непрерывная интеграция и развертывание проектов локально и в облаке; Подходы и инструменты тестирования; Практический опыт применения инструментов ALM. Мероприятие ориентировано на разработчиков и системных архитекторов.Более подробно с программой мероприятия можно ознакомиться на странице мероприятия. Участие бесплатно. Необходима регистрация. До встречи!

Posted by on 25 November 2015 | 8:40 am

Microsoft Showcase Schulen und Expert Educators 2015/2016 ausgewählt

Vergangene Woche verkündete Microsoft die neue Gruppe der Showcase Schulen, Associate Showcase Schulen und Expert Educators für das Jahr 2015/2016. Insgesamt wurden knapp 400 Schulen und fast 4.600 Pädagoginnen und Pädagogen aus aller Welt für die exklusiven einjährigen Unterstützungsprogramme von unabhängigen Jurorinnen und Juroren ausgewählt, darunter auch 24 Schulen und 155 Lehrerinnen und Lehrer aus Deutschland. Sie haben mit ihren Bewerbungen überzeugend dargestellt, dass sie eine klare Vorstellung davon haben, wie sie ihre Schule und ihren Unterricht durch den Einsatz von Informations- und Kommunikationstechnologien entwickeln und innovative Lernumgebung schaffen wollen. Als Teil dieser exklusiven weltweiten Community werden sie in 2015/2016 eng mit Microsoft zusammenarbeiten, ihre Ideen und neuen Ansätze zur Integration neuer Medien in den Schulalltag mit Kolleginnen und Kollegen aus aller Welt teilen und damit zu Vorbildern und Unterstützern für andere Lehrkräfte und Schulen werden."Die Microsoft Expert Educators und Showcase Schulen sind inspirierende Beispiele dafür, wie mit dem Einsatz von Technologie die Produktivität der Lernenden erhöht und die für das Arbeitsleben notwendigen Fähigkeiten entwickelt werden können", betont Anthony Salcito; Vice President Worldwide Education Microsoft Corporation. "Mit der innovativen Verwendung von mobilen und von Cloud-Technologien verändern diese Lehrkräfte und Schulen Lernumgebungen und bieten dadurch ihren Schülerinnen und Schülern ein individuelleres Lernen, das ihnen erlaubt, mehr zu tun und mehr zu erreichen".Die Showcase Schulen 2015/2016 aus Deutschland sind:    Auguste-Viktoria-Schule, Itzehoe    Erich-Gutenberg-Berufskolleg (Köln)    Europaschule Schulzentrum SII Utbremen, Bremen    Freiherr vom Stein Berufskolleg, Minden    Hans-Böckler-Berufskolleg, Münster    Mainzer Steinhöfelschule, Campus Heidesheim    Oberstufenzentrum Informations- und Medizintechnik, Berlin    Rudolf-Rempel-Berufkolleg, Bielefeld    Internatsschule Schloss Neubeuern    Staatliche Gewerbeschule G18 für Informations- und Elektrotechnik, Chemie- und Automatisierungstechnik), Hamburg    Theodor-Heuss-Gymnasium, HeilbronnDie Associate Showcase Schulen 2015/2016 sind:    Berlin Cosmopolitan School, Berlin    Berufsbildende Schulen Lingen - Technik und Gestaltung, Lingen    Berufskolleg Halle Westfalen    Berufskolleg Rheine des Kreises Steinfurt, Rheine     Eduard-Spranger-Gymnasium, Filderstadt    Erich-Kästner Schule, Bochum    Günter-Wöhe-Schulen für Wirtschaft, Saarbrücken    Landesschule Pforta, Naumburg    Lazi Akademie gGmbH, Esslingen am Neckar    Mannlich Realschule Plus, Zweibrücken    Martin-Luther Schule, Marburg    OHM Gymnasium Erlangen, Erlangen    Stiftung Louisenlund, GübyDie Expert Educators 2015/2016 aus Deutschland sind:Nora Ackermann, Christiane Angeli, Stefan Atzenbeck, André Augustin, Bruno Behrensen, Bernd Birkicht, Natascha Bode, Ralf Börger, Thomas Böttner, Isabel Brachmann, Stefan Büdenbender, Anne Buhrand, Hermann Busch, Kolja Buß, Dominik Christ, Matthias Daum, Ulrike Denis, Alexander Dicken, Claudia Marie Dietrich, Norbert Dietzel, Klaus Dittmer, André Doneck, Michael Drawe, Tobias Dreßler, Albrecht Ehlert, Stefan Elsner, Marion Emig, Florian Emmrich, Rebecca Ewald, Marco Fahjen, Felix Fechner, Sarah Felsmann, Miriam Fleuren, Sandra Florack, Sabrina Freuling, Franz Martin Friedrich, Daniel Friedrich, Dino Friedrichsmeier, Ingalisa Geffert, Monika Goepfert, Dörthe Grisse-Seelmeyer, Miriam Gronert, Marie Guckelsberger, Adrien Guinemer, Christian Haake, Günter Hake, Ulli Hartmann, Christian Hauk, Marc Hennekes, Markus Henrich, Marie-Theres Hermes, Andreas Hermes, Anke Heyen, Jennifer Hoff, Philipp Holzhauer, Alexandra Horn, Harm Hörnlein-Roboom, Chris Ian, Heiko Idensen, Michael Jans, Manfred Jochem, Mark Johnson, Sabrina Jürgs, Bernd Kelker, Thomas Kiefer, Gunnar Klinge, Jan Klinge, Sybille Knauf, Benno Köhler, Sven Koritnik, Timon Kossack, Michael Kramer, Max Kriesach, Felix Künzel, Dominik Lazi, Katharina Lefevre, Jan Lehmann, Alexandra Lemke, Roman Lippe, Heike Loeffler, Elmar Loos, Stefan Malter, Heiko Meiwes, Jürgen Möller, Bernd Wolfgang Müller, Bernd Nickel, Horst Niemeyer, Eike Pakendorf, Jan Petermann, Michael Pichl, Bianca Pietron, Anke Poser, Helge Possehl, Pascal Possler, Markus Preis, Bettina Rabe, Katrin Radloff, Wiebke Rasmussen, Andreas Reinke, Andrea Richards, Jens Riedel, Andreas Ritter, Eva Ritzenhoff, Günter Röscher, Agnes Rühle, Anne Saboia, Deividas Sabonis, Christine Leila Sader, Marc Sadowski, Andreas Schell, Carsten Schenkel, Martin Schleyer, Marc Schlifski, Sigrun Schmidt, Holger Schmiedl, Heinz Peter Schmitz, Jens Schomborg, Dieter Schorer, Sönke Schulmeister, Bettina Schwenkler, Jörg Sebastian, Dirk Seefeld, Monika Sibbers, Anika Sommer, André Spang, Lars Stallbohm, Monika Stausberg, Tobias Strehle, Detlef Steppuhn, Michael Strakosch, Andreas Straub, Tina Veigel, Jan Versin, Annegret Vogel, Alexander Wachtel, Rebekka Wagner, Christine Wagner, Verena Wagner, Erik Wegener, Eva Maria Weidl, Roland Weinsheimer, Jan Weiß, Mareike Weseloh, Anderas Wilhelm, Patrick Willner, André Wöhrmann, Janina Wolf, Christian Wolfertstetter, Antje Wollenweber, Dominik Wolz, Thomas Wullengerd, Thomas Zapf, Daniel Zeile, Maik Zimmermann

Posted by on 25 November 2015 | 8:24 am

Perfomance issues with Hosted Build on Visual Studio Team Services - 11/25 - Resolved

Final Update: Wednesday, 25 November 2015 15:38 UTC We've confirmed that all systems are back to normal with no customer impact as of 25 November 2015 ~15:15 UTC. A subset of customers in East US2 region may have experienced a longer than usual build queue times. In addition a subset of these builds would have failed and customers would have had to resubmit their builds in order for them to complete. DevOps took necessary steps to mitigate the issue. Root Cause: The issue was caused due to a known issue in our build service wherein the machine processing builds goes into hung state and stops processing build requests. Incident Timeline: 25 November 2015 ~12:00 UTC through 25 November 2015 ~15:15 UTC We understand that customers rely on VS Team Services as a critical service and apologize for any impact this incident caused. Sincerely, VS Team Services Service Delivery Team Initial Update: Wednesday, 25 November 2015 13:16 UTC We are actively investigating issues with Hosted Build in East US2 region. Some customers may experience longer than usual build queue time. We are working to resolve this issue and apologize for any inconvenience. Sincerely, VS Team Services Service Delivery Team    

Posted by on 25 November 2015 | 7:22 am

Over picking in Dynamics AX 2012 R3 CU10 for sales orders and transfer orders

In the recently released CU10 update we are introducing a new over picking feature. It is also available with KB 3107010 on LCS. This blog post will take you through the details of feature and for which scenarios it is aimed for. Background. In the warehouse operations we are handling goods in different ways and in different unit of measures.   Inventory can be stored in barrels, pallets, boxes, pieces and many other units. Same item can be stored in different handling units and can be picked from those handling units as requested in the quantities specified in source documents like sales orders and transfer orders.   What is important in warehousing processes is to be as fast and as lean as possible in order to save time and effort, when picking and shipping items.   So in a normal picking scenarios we can easily end in a situation where e.g. the sales order line tells us to pick 50 L of water due that customer requires that, but our packaging is maybe in 60 L barrels. In order to pick the 50 L, picker will need to open 60 L barrel and basically use time and effort to move 50 L in another barrel in order to be able to ship correct quantities.  That requires extra time and effort.   Same experience could be with pallets, as for example, where customer ordered 98 and the pallet contains 100, saving time will be to ship 100 instead of opening the pallet to restructure to 98 pieces.   The other example could be if the picker cannot define how much is picked until later in the process.   Let’s assume that we need to pick corn, customer ordered 30 Tons of corn, machinery will be used to fill the truck with the corn or bags might be loaded instead. Normal process is that when truck is loaded, it will go to the weight scale and employees might experience that measurements shown more than 30 T, let’s say 30 T and 500 Kg. if the customer needs to pay for delivered goods and not what is on order, there is a need to record over picked quantity. Going back with truck or unloading those extra 500 Kg is for many organizations not possible due to extra time and effort needed. You will just want to send that truck to customer as soon as possible with correct information but with no extra effort and time needed.   In many organizations this kind of situations can be avoided if the system supports possibility in the Warehouse for controlled over picking scenarios.   Functionality can be used, as for example, for following business scenarios in the warehouse: Compensation for shrinkage during picking or shipment Ability to avoid to unpack certain packaging material in picking process Compensate for the item damages during transportation Be able to ship quantity or unit of measure variance Minimize breaking of quantities on License plates Avoid material waste, scarcity of the expensive materials. Post pick measurement of the picked quantity (example with a lorry weighting). What was our goal? In the new Microsoft Dynamics 2012 R3 CU10 update, we have introduced possibility to process controlled over picking on the mobile scanner during the picking work.   We have decided to do that for both Sales order and Transfer order picking and processing.   Our goal was to enable the possibility to choose if a customer should be invoiced for picked quantity or for the quantity specified on the source document line “The ordered quantity”.   Our goal was as well to be able to control who of the picking workers can do the over picking and if that is for both transfer and sales order to make system as flexible as possible.   At the same time, we wanted to enable visibility of the over picking feature on the bar code scanner to be configured separately for mobile device menus, regardless if the worker has permission to over pick or not.   Minimizing maintenance and keeping flexibility of the setup was the goal.   How did we do it? We have used already existing functionality for over delivery on Sales order and Transfer order source documents, where we can define how much in percentage do we allow to be over delivered.   In order to enable over picking on the mobile device, we have added a check box on the menu item itself, to enable over picking for that particular menu item. However even if the worker has the barcode scanner menu that includes the menu item for sales order picking where we have enabled over picking, worker setup for over picking must be enabled same time on worker form as well.  Only if both enabled, over picking can be processed using the mobile device.   Please note that flexibility is kept in the sense that if we have many mobile device menus and we do not know exactly where we have enabled over picking, and we want to disable possibility for a certain worker to over pick, we can simply switch it off on the worker setup without changing the menus and menu items.   However, if we want to disable over picking for all, we can go to menu item for example sale order picking and disabling it there all of the workers who have that menu item in their menu setups for barcode scanners will not be able to over pick anymore.   Setup on the worker form: Go to Warehouse management > Setup > Work users > Worker > Users. Please note above that you can setup sales order and transfer order over picking separately on each worker setup.   Setup on the menu item: Go to Warehouse management > Setup > Mobile Device > Mobile device menu items.     Please note: When over picking is enabled it will fully respect limits set for over delivery on the line level of the transfer orders and sales orders. If the limit is exceeded, employee will be notified on the mobile device that they are exceeding the limit.   Step by Step use: When work has been generated, and above setup is enabled we are ready for over picking.   Here we will give an example of how we can over pick quantity on the sales order line respecting the limits for over delivery that are given.   We will create a sales order for item A0001 with a quantity of 10, and enable over delivery of 10 percent on the delivery tab on the sales order line itself.   We will then reserve and release quantity as we usually do and work to pick 10 will be generated.   After that we can start the sale order picking menu item on the RF gun (make sure that user that is logging on the mobile device is the one with enabled over picking configuration).   We enter work ID and we can see that we have a new button for over picking.   If we decide to over pick we will select “Over Pick” and following screen will show. Please note that we have entered 14 which exceeds over delivery limits set of 10%. Our limits allow us to over pick 1, so 11 in total.   If we try to do with 14, the system will generate a message on the RF gun that limits are exceeded:   Entering the right quantity of 11 we can proceed with over pick and later put.   If we look what was updated behind the scenes, we look first at the work line that is not closed. We can see that work has been updated to 11 pcs as that was the total quantity picked during over picking.   Looking at the shipment and load, we have updated line of 11 pcs as well.    However, if we are looking at the source document line itself, in this case sales order line, we can see that we still keep original quantity of 10. We do not update that on purpose in order to be able to invoice the customer on either ordered or picked quantity. Thanks for reading, and if you have any comments or feedback about this feature, please leave a comment below.   Please note: Similar functionality for raw material picking called "Round up work for raw material picking" will be released with KB number 3120530. This feature will round to  the UOM, and thereby enable over picking for raw material picking through the rounding concept.        

Posted by on 25 November 2015 | 7:16 am

Онлайн-трансляция Visual Studio Connect в России

4 декабря в 10:00 (МСК) приглашаем вас на онлайн-трансляцию виртуального мероприятия «Visual Studio Connect в России», где эксперты из России расскажут о новых возможностях Visual Studio 2015, познакомят вас с облачными технологиями и кроссплатформенными возможностями разработки. Присоединяйтесь! В программе мероприятия:  Visual Studio 2015 для веба, облака, контейнеров и любого из вас. Владимир Юнев Инструменты управления жизненным циклом Microsoft для вашего проекта – в облаке и локально. Александр Белоцерковский Кроссплатформенная разработка с использованием инструментов Microsoft. Мария Горелкин Игровая разработка с Visual Studio 2015 – технологии и инструменты. Евгений Шкляр Добавить в календарь.

Posted by on 25 November 2015 | 6:34 am

Performance issues with Hosted Build in Visual Studio Team Services - 11/25 - Resolved

Final Update: Wednesday, 25 November 2015 14:07 UTC We have confirmed that all systems are back to normal with no customer impact as of 25 Nov 2015 02:00 UTC. Our logs shows, incident started on 25 Nov 2015 11:05 UTC. For this incident duration, subset of customer in West Europe region would have experienced longer queue times for build requests than usual. Root Cause: One of the critical setting required for build service to process the build requests faster was set to lower value. Chance of Reoccurrence: We have updated the required setting to mitigate the issue and to avoid further occurrence. Incident Timeline: 2 hours & 55min -  25 Nov 2015 11:05 UTC through 25 Nov 2015 02:00 UTC We understand that customers rely on VS Team Services as a critical service and apologize for any impact this incident caused. Sincerely, VS Team Services Service Delivery Team Initial Update: Wednesday, 25 November 2015 11:45 UTC We are actively investigating issues with Hosted Build in West Europe region. Some customers may experience longer than usual build queue time. Next Update: As issue warrants. We are working to resolve this issue and apologize for any inconvenience. Sincerely, VS Team Services Service Delivery Team  

Posted by on 25 November 2015 | 6:03 am

Bing Maps zeigt jetzt Livebilder von Verkehrskameras

Vor einigen Tagen hat Microsoft seine Bing Maps Karten um 35.000 öffentliche Verkehrskameras in elf Ländern erweitert. Jede diese Kameras aktualisiert sich ungefähr einmal pro Minute. Damit lässt sich wunderbar überprüfen, wie der Verkehr auf seiner Arbeitsstrecke more...(read more)

Posted by on 25 November 2015 | 5:18 am

Future of JavaScript – ECMAScript 6 (ES2015) Arrow and Spread Operator

This tutorial series will take a look at the future of JavaScript. It will take an in-depth look at ECMAScript 6 (ECMAScript 2015), the latest version of the standard for JavaScript. Throughout the series, you will learn about new language features and what you can build with them. You are expected to have an understanding of JavaScript. Level: Intermediate to Advanced. Part 4 – Introducing the Arrow and Spread Operator The arrow and spread operator are very visible additions to JavaScript, and their usage has spread like wildfire. The arrow operator reduces the amount of “boilerplate” code one needs to write, and the spread operator makes manipulating arrays simpler. The Arrow Operator How often do you write short functions that do one statement or return a value? It seems like every utility library (e.g. underscore, lo-dash, jQuery) has you writing short callback functions. The arrow operator => was introduced to reduce the amount of useless boilerplate code one writes in JavaScript. The arrow operator => is a shorthand for a function. Example: function (x) { return x + x; } becomes x => x + x; function (x) { return x.y; } becomes x => x.y; function (x, y) { return x + y; } becomes (x, y) => x + y; function () { doSomething(); } becomes () => { doSomething();} There is one significant difference between writing functions and using the arrow operator. The code body in the arrow operator shares the same lexical this, as opposed to a new function scope. If you need a primer on block scoping in JavaScript, you can read this article. For example, this is scoped to the parent function: function dog() { = "boo";     setInterval(() => { console.log( + " woofed!"); }, 1000); } Other languages like C#, Java and CoffeeScript inspired the new arrow operator. The Spread Operator The spread operator is a handy way to expand expressions. The spread operator can be used to expand an iterable object as the arguments to a function. You can spread an iterable object into another array,t. thus performing a splice, concat or push with the language syntax. In the current specification, ES2015, it does not support objects and other things. This is an example of expanding an array as the arguments to a function which is equivalent to calling apply() on that function: var args = ["arg1", "arg2"]; doSomething(…args); This is an example of spreading an array in the middle of another array which is the equivalent to a splice() on that array: var missing_numbers = [3, 4]; var numbers = [1, 2, ...missing_numbers, 5, 6]; This is an example of a push() and a concat(): var zero = [0]; var three = [3]; var numbers = [, 1, 2, ...three]; Wrapping Up The new keywords & features introduced in ES2015 make it easier for developers to recreate some of the programming patterns from other languages like C#, Java or C++. These features allow you to reduce a lot of the boilerplate code you had to write previously thus increasing programmer productivity. What's Next? In the next parts of this tutorial series, I will be discussing different language features such as generators & iterators, proxies, and more. I will also be sharing strategies for how best to manage a transition to ES6 either through transcompilation or using shims for different features. Stay tuned for the next edition! You can always reach me through Twitter or LinkedIn. Missed the Previous Parts? You can read the previous parts here: Future of JavaScript – A Look at ECMAScript 6 Future of JavaScript – ECMAScript 6 (ES2015) Block Scoping Future of JavaScript – ECMAScript 6 (ES2015) Classes Other Resources ES6 Features - Arrows Arrow Functions - MDN Spread Operator - MDN

Posted by on 25 November 2015 | 5:00 am

Visual Studio Update 1 RC

[原文发表地址] Visual Studio Update 1 RC [原文发表时间] 2015-10-29 今天我们发布了Visual Studio 2015 Update 1 RC,这个版本是基于我们三周前发布的Update 1 CTP。除了此处描述的CTP中的功能,RC版本还包括下面的功能: 转到实现方法。许多人都在等待这个功能:只要在接口或者抽象方法上点击右键并选择此命令就可以导航到实现方法。 新的快捷方法,Ctrl + . 可以转换get 方法为属性。 Windows 演示文稿基础。我们已经提高了性能并且添加了DirectX扩展(通过NuGet),还有拼写检查,以及对于每一个用户自定义词典的附加支持。你可以在这篇博客中找到更详细的关于WPF in .NET 4.6.1. 调试时候的CPU性能分析。这一功能使在调试每个故障函数的时候可以分析出断点和调试步骤之间CPU的使用率。详细的信息,请看帖子调试中你的CPU性能 C/C++调试改进。在C/C++调试的时候,调试器可以告诉你哪个变量导致访问冲突。阅读博客文章提高VS2015Update1 中C++访问冲突。 Universal Windows Apps V1.2工具。我们已经对.NET本地化,XAML设计器,显示设计器,Windows 应用商店的包装和调试程序进行了更新。现在你可以使用这些工具去建立App并且提交他们到Windows Store。 Visual Studio工具Apache Cordova。我们为Cordova 5.3.1 和 iOS 9添加了支持,我们也为Android 6 “Marshmallow,”奠定了基础,也为Azure Active Directory身份验证添加了新的插件。 TypeScript。最后一次更新包括增强对系统类型,本地支持回应的JSX,ECMAScript6完成支持生成器和类表达式,并且 支持ECMAScript7建议求幂运算符和异步函数。 Visual Studio工具Node.js。我们添加了对Node.js 4.x支持,对npm 3.x的支持,更快,易用的智能感知,更快的项目加载时间,提示过程中提高稳定性,以及代码片段的支持。(这些工具可以单独下载:Node.js Tools for Visual Studio.)       改进的反馈选项。除此之外,一个简答的反馈图标在黑暗的主题中看起来是好的,我们已经重新设计了菜单选项,以明确区分报告问题并发送反馈:                                           对于建议,我们会直接带您到UserVoice;我们有一个新的窗体可以让需要调查的问题有特别的说明和联系你的更多信息:                                关于在Update 1 RC中全部的功能列表,修正的Bug信息和已知的问题,可以在Visual Studio 2015 Update 1 RC发布的文章上看到。 重要说明:当你安装Visual Studio Update 1 RC 时,Visual Studio 模拟器和Microsoft测试管理器将无法在线获取许可。因此,我们建议不要在任何一个需要这些产品的计算机上安装Update 1 RC。 我们一如既往欢迎你的反馈,分享你的反馈,建议,想法和在UserVoice 上的观点,通过产品使用中UI的反馈,或者通过Visual Studio Connect site.提出的Bug。

Posted by on 25 November 2015 | 3:29 am

Visual Studio Update 1 RC

[原文发表地址] Visual Studio Update 1 RC [原文发表时间] 2015-10-29 今天我们发布了Visual Studio 2015 Update 1 RC,这个版本是基于我们三周前发布的Update 1 CTP。除了此处描述的CTP中的功能,RC版本还包括下面的功能: ·转到实现方法。许多人都在等待这个功能:只要在接口或者抽象方法上点击右键并选择此命令就可以导航到实现方法。 新的快捷方法,Ctrl + . 可以转换get 方法为属性。 Windows 演示文稿基础。我们已经提高了性能并且添加了DirectX扩展(通过NuGet),还有拼写检查,以及对于每一个用户自定义词典的附加支持。你可以在这篇博客中找到更详细的关于WPF in .NET 4.6.1. 调试时候的CPU性能分析。这一功能使在调试每个故障函数的时候可以分析出断点和调试步骤之间CPU的使用率。详细的信息,请看帖子调试中你的CPU性能 C/C++调试改进。在C/C++调试的时候,调试器可以告诉你哪个变量导致访问冲突。阅读博客文章提高VS2015Update1 中C++访问冲突。 Universal Windows Apps V1.2工具。我们已经对.NET本地化,XAML设计器,显示设计器,Windows 应用商店的包装和调试程序进行了更新。现在你可以使用这些工具去建立App并且提交他们到Windows Store。 Visual Studio工具Apache Cordova。我们为Cordova 5.3.1 和 iOS 9添加了支持,我们也为Android 6 “Marshmallow,”奠定了基础,也为Azure Active Directory身份验证添加了新的插件。 TypeScript。最后一次更新包括增强对系统类型,本地支持回应的JSX,ECMAScript6完成支持生成器和类表达式,并且 支持ECMAScript7建议求幂运算符和异步函数。 Visual Studio工具Node.js。我们添加了对Node.js 4.x支持,对npm 3.x的支持,更快,易用的智能感知,更快的项目加载时间,提示过程中提高稳定性,以及代码片段的支持。(这些工具可以单独下载:Node.js Tools for Visual Studio.)       改进的反馈选项。除此之外,一个简答的反馈图标在黑暗的主题中看起来是好的,我们已经重新设计了菜单选项,以明确区分报告问题并发送反馈:                                           对于建议,我们会直接带您到UserVoice;我们有一个新的窗体可以让需要调查的问题有特别的说明和联系你的更多信息:                                关于在Update 1 RC中全部的功能列表,修正的Bug信息和已知的问题,可以在Visual Studio 2015 Update 1 RC发布的文章上看到。 重要说明:当你安装Visual Studio Update 1 RC 时,Visual Studio 模拟器和Microsoft测试管理器将无法在线获取许可。因此,我们建议不要在任何一个需要这些产品的计算机上安装Update 1 RC。 我们一如既往欢迎你的反馈,分享你的反馈,建议,想法和在UserVoice 上的观点,通过产品使用中UI的反馈,或者通过Visual Studio Connect site.提出的Bug。

Posted by on 25 November 2015 | 3:28 am

Showing the world your skills – Are you an aspiring Developer

Over the past 7 weeks we have been out on the road as part of the @gradsingames in the Game Tour. To date we visited over 70 UK universities and seen around 2500 students. In a follow up to my article I wanted to focus on some of the areas, that we are getting the most questions about. So in no order here a run down of some of the most popular questions to date from the developer attendees. No1. I don't have a portfolio how do I go about building Well that's easy Microsoft DreamSpark now includes FREE web hosting for students so you can build a blog in about 10 mins see No.2 What sort of things should I put on my blog and include in my portfolio Be reflective of your work, host content embedded within your blog, use tools which show your skills, so if your designer use 3d models hosted on and put playable games and content into iframe on your blog such as WebGL Unity3d games. The key thing around your portfolio, is it needs to reflective and demonstrate your skills and competences. The way try to explain this in the presentations is via the following model, you need to be able to demonstrate each of the following areas. Motivations – Why/What do you want to do in the future? what drives you? What are your passion, enthusiasm? show your tenacity aspects demonstrate these. Technical Skills – What skills do you have? How are you proving these? My advice is simple talk/blog about your experiences, projects and be reflective, includes Games, Source Control. Share content of what you have created and with what technologies. Do you have profile on technical forums such as StackOverflow, MSDN what your ranking these? All this helps prove your technical competency. Soft Skills – What is your experience of presentations, networking, community involvement? Do you go to any regular meet-ups, do you present on your project or work items? Projects – Ok as a student you have loads of project work.. But are you being self critical of these. what went well? what didn't? what would you change? are you making these available for other via GitHub as base project or tutorial? So a simple rule always include a file into your git with some details of what the project is ideally include a link back to your blog for the above details. Formal Education – You are all doing some form of course, but what makes you stand out? Are you expected a 2:1, 1st are you a member of skill set accredited or BCS course what in your portfolio? Self Driven Education – Ok so your doing a course and expect good grades. But what else are you learning? How do this feeds back into motivation? soft skills? technical skills and projects? Do you do Hacks or Jams? Do you do additional learning online via resources like or other MOOC resources? As a simply rule, you need to keep a breast of the latest news, technologies and industry trends. Opportunities – Take everything that passes you which may land you that dream job. If you dont ask you don't get so never be afraid of asking or introducing yourself. Attend events and be seen by the industry, be prepared to show people what your working on, have business cards with your portfolio site, Share content on twitter and other social networks. No3. For Dev students you need to prove your skills  So as dev you should have built stuff. Demonstrate/Prove this by having a public GitHub repo where you can share your code and projects. Coming back to motivations actually get involved in a project.. MSFT Imagine has its own GitHub repo so I am always happy for people to get involved and contribute samples, tutorials. No4. I am new to source control how do I use it? Yes its amazes me, but during the tour I  have been shocked how many time I have asked. Do you use source control? The answer is generally yes but when you dig a bit further and ask what application service are you using? I get the answer dropbox, onedrive, google drive! NO………  So why use something like Git or Visual Studio Online or BitBucket? Simply it has version control  You and your team/project members can each upload your revisions to the same page, and Git will save two copies. Later, you can merge your changes together without losing any work along the way. You can even revert to an earlier version at any time, because Git keeps a “snapshot” of every change ever made. No5. which version control do you recommend My preference would be GitHub  First, if you download the GitHub software from Microsoft DreamSpark, it provides a visual interface to help you manage your version-controlled projects locally. Second, creating an account on brings your version-controlled projects to the Web, and ties in social network features for good measure. You can browse other GitHub users’ projects, and even download copies for yourself to alter and learn from. Other users can do the same with your public projects, and even spot errors and suggest fixes. Either way, no data is lost because Git saves a “snapshot” of every change. No6. Do you have any tips on using GitHub or Source control So what are the key concepts and terms Command Line: The computer program we use to input Git commands. On a Mac, it’s called Terminal. On a PC, it’s a non-native program that you download when you download Git for the first time Repository: A directory or storage space where your projects can live. Sometimes GitHub users shorten this to “repo.” It can be local to a folder on your computer, or it can be a storage space on GitHub or another online host. You can keep code files, text files, image files, you name it, inside a repository. Version Control: Basically, the purpose Git was designed to serve. When you have a Microsoft Word file, you either overwrite every saved file with a new save, or you save multiple versions. With Git, you don’t have to. It keeps “snapshots” of every point in time in the project’s history, so you can never lose or overwrite it. Commit: This is the command that gives Git its power. When you commit, you are taking a “snapshot” of your repository at that point in time, giving you a checkpoint to which you can reevaluate or restore your project to any previous state. Branch: How do multiple people work on a project at the same time without Git getting them confused? Usually, they “branch off” of the main project with their own versions full of changes they themselves have made. After they’re done, it’s time to “merge” that branch back with the “master,” the main directory of the project. Git-Specific Commands Since Git was designed with a big project like Linux in mind, there are a lot of Git commands. However, to use the basics of Git, you’ll only need to know a few terms. They all begin the same way, with the word “git.” git init: Initializes a new Git repository. Until you run this command inside a repository or directory, it’s just a regular folder. Only after you input this does it accept further Git commands. git config: Short for “configure,” this is most useful when you’re setting up Git for the first time. git help: Forgot a command? Type this into the command line to bring up the 21 most common git commands. You can also be more specific and type “git help init” or another term to figure out how to use and configure a specific git command. git status: Check the status of your repository. See which files are inside it, which changes still need to be committed, and which branch of the repository you’re currently working on. git add: This does not add new files to your repository. Instead, it brings new files to Git’s attention. After you add files, they’re included in Git’s “snapshots” of the repository. git commit: Git’s most important command. After you make any sort of change, you input this in order to take a “snapshot” of the repository. Usually it goes git commit -m “Message here.” The -m indicates that the following section of the command should be read as a message. git branch: Working with multiple collaborators and want to make changes on your own? This command will let you build a new branch, or timeline of commits, of changes and file additions that are completely your own. Your title goes after the command. If you wanted a new branch called “cats,” you’d type git branch cats. git checkout: Literally allows you to “check out” a repository that you are not currently inside. This is a navigational command that lets you move to the repository you want to check. You can use this command as git checkout master to look at the master branch, or git checkout cats to look at another branch. git merge: When you’re done working on a branch, you can merge your changes back to the master branch, which is visible to all collaborators. git merge cats would take all the changes you made to the “cats” branch and add them to the master. git push: If you’re working on your local computer, and want your commits to be visible online on GitHub as well, you “push” the changes up to GitHub with this command. git pull: If you’re working on your local computer and want the most up-to-date version of your repository to work with, you “pull” the changes down from GitHub with this command. Setting Up GitHub And Git For The First Time First, you’ll need to sign up for an account on It’s as simple as signing up for any other social network. Keep the email you picked handy; we’ll be referencing it again soon.You could stop there and GitHub would work fine. But if you want to work on your project on your local computer, you need to have Git installed. In fact, GitHub won’t work on your local computer if you don’t install Git. Install Git for Windows, Mac or Linux as needed.  where you download Git or if your a GUI person you can download Now it’s time to go over to the command line. On Windows, that means starting the Git Bash app you just installed, and on OS X, it’s regular old Terminal. It’s time to introduce yourself to Git. Type in the following code: git config --global "Your Name Here" Of course, you’ll need to replace “Your Name Here” with your own name in quotations. It can be your legal name, your online handle, anything. Git doesn’t care, it just needs to know to whom to credit commits and future projects. Next, tell it your email and make sure it’s the same email you used when you signed up for a account just a moment ago. Do it like this: git config --global "" That’s all you need to do to get started using Git on your computer. However, since you did set up a account, it’s likely you don’t just want to manage your project locally, but also online. If you want you can also set up Git so it doesn’t ask you to log in to your account every time you want to talk to it. For the purposes of this tutorial, it isn’t a big deal since we’ll only be talking to it once. The full tutorial to do this, however, is located on GitHub and GitHub Desktop site No7.I want to create my own startup see BizSpark gives startups 3 years of free stuff – software, services, tech support, and Azure cloud. Your startup qualifies if it is less than 5 years old, is privately held, and earns less than $1M annually. And at the end of your 3 years, you keep all the software you've downloaded – at no cost. simply apply online at So hopefully this has given you some insight into the key areas of questions and some tips on how to get the your dream job I also have the following blog on some top tips on the do��s and Don'ts at

Posted by on 25 November 2015 | 3:08 am

Microsoft and Learning Possibilities to Transform Learning with LP+365

Over the last few weeks we’ve been taking a closer look at the LP+365 through a series of blogs provided by Learning Possibilities, including interviews with the team behind the new app, and teachers who have been given access ahead of the general release. One week before the launch of the app on 1st December at our Microsoft UK HQ in Reading, we have another post from that team, this time an interview with Mehool Sanghrajka, CEO at Learning Possibilities, to find out how LP+365 can maximise the investment made by schools worldwide on Office 365....(read more)

Posted by on 25 November 2015 | 2:50 am

Issue in adding new team member to Team Projects in Visual Studio Team Services - 11/25 - Resolved

Final Update: Wednesday, 25 November 2015 08:01 UTC We identified an issue while adding a new team member with AAD backed account to Team Projects. DevOps team has deployed a fix to production to mitigate the issue. Customers might have experienced failures from Tuesday, 24 November 2015 05:05 AM UTC to Wednesday, 25 November 2015 04:30 AM UTC.   We understand that customers rely on VS Team Services as a critical service and apologize for any impact this incident caused. Sincerely, VS Team Services Service Delivery Team

Posted by on 25 November 2015 | 2:34 am