The goal of this site is to put relevant and applicable tools and information at the fingertips
With this blog we want to inform you on our latest initiatives.
Enjoy reading and stay tuned!
Do you own a Raspberry Pi? are you Interested in IOT?
The Microsoft IoT labs have both Raspbian/.NET and Windows 10 IoT Core client versions of the labs.
Lab URL: http://aka.ms/iot-ctd-field-labs
The latest version of these labs use IoT Hub and support bi-directional communication. These labs are also updated with the latest Azure Portal.
This is the version using Windows 10 IoT Core on a Raspberry Pi 2. It requires a Windows 10 PC for development. Products and services demonstrated include Windows UWP development, IoT Hubs, Bi-Directional Communication, Azure Web Apps, Power BI, and more.
View lab here
This is the version using Raspbian and Mono/C# for development using a PC and a Raspberry Pi 2. It does not require Windows 10, but currently does rely on Visual Studio for development. Products and services demonstrated include Raspberry Pi Raspbian Linux, IoT Hubs, Bi-Directional Communication, Azure Web Apps, Power BI, and more.
These are here in case you want to use Event Hubs rather than the new IoT Hub. If you aren't sure which to pick, use the above IoT Hub version.
This is the version using Windows 10 IoT Core on a Raspberry Pi 2. It requires a Windows 10 PC for development. Products and services demonstrated include Windows UWP development, Event Hubs, Stream Analytics, Azure Web Apps, Power BI, and more.
This is the version using Raspbian and Mono/C# for development using a PC and a Raspberry Pi 2. It does not reuqire Windows 10, but currently does rely on Visual Studio for development. Products and services demonstrated include Raspberry Pi Raspbian Linux, Event Hubs, Stream Analytics, Azure Web Apps, Power BI, and more.
In all labs above, the hardware used is a Raspberry Pi 2 and a GHI FEZ HAT.
UWP Developer Center
Windows on Devices
Raspberry Pi downloads page
Note that these are Azure IoT Suite documents. The labs do not currently use IoT Suite, but much of the information is relevant, and can be used to build upon what you have learned in these labs.
Azure IoT Suite Content
Azure IoT Developer Center
Microsoft Azure Certified for IoT
Introducing Azure IoT Suite
Introducing Azure IoT Hub
Connect your devices with Azure IoT client libraries
Azure IoT Suite
Provisioning Remote Monitoring
Including a physical device in remote monitoring
For the past few weeks i have been working with a lecturer at a UK University. The University wants to teach the concepts of predictive marketing to one of our courses. This is a large group (140+) undergrad students who have a wide range of statistical and maths knowledge.
The first query they have was they wanted to get hold of a historical (anonymous) data sample of customer demographics and purchasing behaviors, that they could analyze in class with our students
The purpose is to illustrate the concepts of customer conversion (from visiting to first buying) and retention (as repeated purchase), as well as customer lifetime value.
This is a perfect situation for teaching ML.
I went back to the lecture and asked a few more details its seems most Unis use Predictive Analytics by Omer Artun, which is very well written introducing key concepts.
For the practical exercises, sample data, to do,
Likelihood to engage and buy Customer lifetime value analysis.
Bear in mind these are marketing management students mostly with limited statistical expertise. At present the course uses Basic excel functions to do basic analysis to illustrate the concepts rather than solving complex problems.
I introduced the team to Azure data market in azure marketplace and they have found this very useful so next I got them aware of what Machine Learning with Microsoft Azure is and Microsoft Azure Educator Grants which provide FREE cloud usage for teaching, learning and research.
I have done a number of blogs about these in the past here are some of my most popular ones.
Machine Learning in education
Getting started with Machine Learning in 10 steps
Undergraduate Lab scenarios
We have now progressed on to using the Machine learning challenge with students using Azure Passes and Microsoft Azure Educator Grants
The following is the process the team are using within their classes, the example below is a model to show how Azure and data market can be used within classes to get student understanding machine learning and put into practice the concepts they have learnt.
Creating a Machine Learning Workspace
To use Azure Machine Learning Studio from your Azure account, you need to have a Machine Learning workspace. This workspace contains the tools you need to create, manage, and publish experiments.
To create a workspace, sign-in to your Microsoft Azure account.
1. In the Microsoft Azure services panel, select MACHINE LEARNING.
2. Select +NEW at the bottom of the window.
3. Select DATA SERVICES | MACHINE LEARNING | QUICK CREATE.
4. Enter a WORKSPACE NAME for your workspace and specify the WORKSPACE OWNER. The workspace owner must be a valid Microsoft account (e.g. email@example.com).
NOTE: Later, you can share the experiments you're working on by inviting others to your workspace. You can do this in Machine Learning Studio on the SETTINGS page. You just need the Microsoft account or organizational account for each user.
5. Specify the Azure LOCATION, then enter an existing Azure STORAGE ACCOUNT or select Create a new storage account to create a new one.
6. Select CREATE AN ML WORKSPACE.
After your Machine Learning workspace is created, you will see it listed on the portal under MACHINE LEARNING. At the time this post was created Machine Learning Workspaces are always displayed in the Azure Classic portal (even if you select the menu option from the new portal to create it), at some point the new portal will be updated so you can list them without going to the Classic view.
Once you have created your Machine Learning workspace, select your workspace from the list and then select Sign-in to ML Studio to access the Machine Learning Studio so you can create your first experiment!
When prompted to take a tour select Not Now. You may want to take a tour later when you are exploring this tool on your own.
At the bottom of the screen select +NEW
then select +Blank Experiment
Change the title at the top of the experiment to read “My first Azure ML experiment”
Type “flight” into the search bar and drag the Flight on-time performance Dataset to the workspace. This is one of many sample datasets built into Azure Machine Learning Studio designed to help you learn and explore the tool.
Right click on the dataset on your worksheet and select dataset | visualize from the pop-up menu, explore the dataset by clicking on different columns. It’s essential in Machine Learning to be familiar with your data. This dataset provides information about flights and whether or not they arrived on time. We are going to use Machine Learning to create a model that predicts whether a given flight will be late.
Type “project” into the search bar and drag the project columns task to the workspace. Connect the output of your dataset to the project columns task input
The project columns task allows you to specify which columns in the data set you think are significant to a prediction. You need to look at the data in the dataset and decide which columns represent data that you think will affect whether or not a flight is delayed. You also need to select the column you want to predict. In this case we are going to try to predict the value of ArrDel15. This is a 0/1 column that indicates whether a flight arrival was delayed by more than 15 minutes.
Click on the Project columns task. On the properties pane on the right hand side, select Launch column selector
Select the columns you think affect whether or not a flight is delayed as well as the column we want to predict ArrDel15. In the following screenshot, I selected Month, Carrier (airline), OriginAirportID, DestAirportID, and ArrDel15. You might select more or less columns.
Type “split” into the search bar and drag the Split Data task to the workspace. Connect the output of Project Columns task to the input of the Split Data task.
The Split Data task allows us to divide up our data, we need some of the data to try and find patterns and we need to save some of the data to test if the model we create successfully makes predictions. Traditionally you will split the data 80/20 or 70/30. For today’s challenge everyone will use 80/20.
Click on the Split Data task to bring up properties, specify .8 as the Fraction of rows in the first output
Type “train model” into the search bar. Drag the train model task to the workspace. Connect the first output (the one on the left) of the Split Data task to the rightmost input of the Train model task. This will take 80 % of our data and use it to train/teach our model to make predictions.
Now we need to tell the train model task which column we are trying to predict with our model. In our case we are trying to predict the value of the column ArrDel15 which indicates if a flight arrival time was delayed by more than 15 minutes.
Click on the Train Model task. In the properties window select Launch Column Selector. Select the column ArrDel15.
If you are a data scientist who creates their own algorithms, you could now import your own R code to try and analyze the patterns. But, we can also use one of the existing built-in algorithms. Type “two-class” into the search bar. You will see a number of different classification algorithms listed. Each of the two-class algorithms is designed to predict a yes/no outcome for a column. Each algorithm has its advantages and disadvantages. Select Two-Class Neural Network and drag it to the workspace.
Connect the output of the Two-Class Neural Network task to the leftmost input of the train model task.
After the model is trained, we need to see how well it predicts delayed flights, so we need to score the model by having it test against the 20% of the data we split to our second output using the Split Data task.
Type “score” into the search bar and drag the Score Model task to the workspace. Connect the output of Train Model to the left input of the Score model task. Connect the right output of the Split Data task to the right input of the Score Model task as shown in the following screenshot.
Now we need to get an evaluation of how well our model tested.
Type “evaluate” into the search bar and drag the Evaluate Model task to the bottom of the workspace. Connect the output of the Score model task to the left input of the Evaluate Model task.
You are now ready to run your experiment!
Press Run on the bottom toolbar. You will see green checkmarks appear on each task as it completes. When the entire experiment is completed right click on the evaluate model task and select “ Evaluation results | Visualize” to see how well your model predicted delayed flights.
The closer the graph is to a straight diagonal line the more your model is guessing randomly. You want your line to get as close to the upper left corner as possible.
If you scroll down you can see the accuracy – Higher accuracy is good! You can also see the number of false and true positive and negative predictions
· True positives are how often your model correctly predicted a flight would be late
· False positives are how often your model predicted a flight would be late, when the flight was actually on time (your model predicted incorrectly)
· True negatives indicate how often your model correctly predicted a flight would be on time (arrDel15 is false)
· False negatives indicate how often your model predicted a flight would be on time, when in fact it was delayed (your model predicted incorrectly)
You want higher values for True positives and True negatives, you want low values for False Positives and False negatives.
You can see from the results above my model predicted every single flight would be on time, not very helpful! I think we need to try something else…
If your interested in using Machine Learning or want to know more about Azure Educator grants for other Azure Cloud based services please get in touch.
Also I love to hear from you if your teaching using Azure.
If anyone is looking for an MS Band-related Open Source project to contribute to then look no further:
Fake Band is now available for developers
Fake Band enables developers to develop a Microsoft Band application without having a physical band: Blog post about Fake Band implementation: http://peted.azurewebsites.net/fake-microsoft-band/ Source code repo for Fake Band: https://github.com/BandOnTheRun/fake-band Nuget Package for the Fake Band https://www.nuget.org/packages/FakeBand/
Windows App Studio Beta update brings some exciting new features
The new features in this release focus on things that help empower students using Azure DreamSpark to create great Wordpress blog and with App Studio create stunning native Windows Apps.
So you’ve been thinking about building an app for a while now, you want share your interests with the world, but you just don’t have enough time and even if you did, where would you start?
The answer is Windows App Studio. A free, online app creation tool that allows you to quickly build Windows and Windows Phone apps to publish, test, and share. Make changes, add content, and toggle between phone and tablet views to watch your app come alive.
And if you want to advanced programming features, Windows App Studio generates your source code ready for Visual Studio - a feature no other app-builder tool provides. There is no better day than today, so get started!
Some of the new features include
Windows Store now supports the International Age Rating Coalition’s (IARC) age rating system is now being rolled out in phases throughout January
The IARC rating system is a global rating and age classification system for digitally-delivered games and apps. With IARC, you complete a single questionnaire about the content in your app during submission and Dev Center automatically adds regional and international age rating certificates to the Store listing for you. If you change your app’s content, you can update the questionnaire and receive a new rating at any time.
IARC makes it quick and simple to obtain age and content ratings across the globe, making it easier to offer your apps in more countries and markets. There is no cost to you, and the questionnaire can be competed in just a few minutes. The ratings are then automatically generated for:
Based on the IARC ratings, Microsoft will then issue three additional rating values: Windows Store rating, a Game Software Rating Regulation (CSRR) for Taiwan, and a Russian Age Rating System (PCBP).
In addition to the automatically generated market-specific age ratings, Dev Center offers the option to add a South Korea age rating. South Korea does not participate in IARC, so if you plan to offer a game in that market, you’ll need to add this rating.
The IARC rating system will be enabled in some accounts starting today, and rolled out to all accounts over the next few weeks. Once your account is enabled with the new workflow:
For more detail see https://blogs.windows.com/buildingapps/2016/01/06/now-available-single-age-rating-system-to-simplify-app-submissions/
Microsoft R Server, formally Revolution R Enterprise (RRE), is the fastest, most cost effective enterprise-class big data big analytics platform available today. With Microsoft R Server, it’s possible for students, educators and organizations to have access to the same big data analytics capabilities that are being deployed with great success in the business world.
Microsoft R Server supports a variety of big data statistics, predictive modeling and machine learning capabilities, as well as provides users with the best of both – cost-effective and fast big data analytics that are fully compatible with the R language, the de facto standard for modern analytics users.
Microsoft R Server will work with the following operating systems: Windows, Linux, Hadoop, Teradata
64-Bit Windows 7
64-Bit Windows 8.0, 8.1
64-Bit Windows 10
64-Bit Windows Server 2008 SP2
64-Bit Windows Server 2012
64-Bit Red Hat Enterprise Linux (or CentOS) 5.x or 6.x
64-Bit SUSE Linux Enterprise Server 11 SP2 or SP3.
Hadoop Distributions / Operating Systems
Cloudera CDH 5.0, 5.1, 5.2, 5.3 on RHEL 6.x
Hortonworks HDP 1.3 on RHEL 5.x or 6.x
Hortonworks HDP 2.0 through 2.3 on RHEL 6.x
MapR M3/M5/M7 v2.02, 3.1, 3.1.1, 4.0.1, 4.0.2 on RHEL 6.x
Teradata Version / Operating Systems:
Teradata Database 14.10, 15.00, 15.10 on SLES 10.x or 11.x
Download now https://www.dreamspark.com/Product/Product.aspx?productid=105
Server R is the fastest, most cost effective enterprise-class big data big analytics platform available today. Supporting a variety of big data statistics, predictive modeling and machine learning capabilities,
Allows you to run R scripts in a high-performance, parallel architecture that supports systems from workstations to clusters and grids including Hadoop and enterprise data warehouses.
Accelerates traditional statistical analysis using big data computation and data management techniques. With Revolution R Enterprise, R users can explore, model, and predict at scale.
Deploy advanced, R-based analytics inside of the leading Hadoop and EDW platforms and scales analytics to even greater levels of data and computational scale.
The assurance that you need to deploy advanced analytics confidently within your mission critical applications. Securely integrate your results with your enterprise applications. Build dashboards, custom reporting and provide analytics results to operations, financial and marketing systems. Create leverage across your organization with the insights you need to create better performance for every department.
Introduction to Revolution R Enterprise for Big Data Analytics. This is an introductory course for accomplished R users to experience the functionality of the Server R Revolution R Enterprise
Running Server R in the cloud on Windows Azure
Wanting to run R Server in a cloud service then we have a preconfigured Azure VM.
The Microsoft Educator Grant Program provides access to Azure for use in the classroom by university students and their professor.
Faculty will receive a 12 month, $250/month account Students will receive a 6 month, $100/month account
Apply now for FREE at https://www.microsoftazurepass.com/azureu more details at https://azure.microsoft.com/en-us/community/education/
The Computer Vision APIs are a collection of state-of-the-art image processing algorithms designed to return information based on the visual content, and to generate your ideal thumbnail. With this API, you can choose which visual features you want to extract that best suit your needs.
Speech APIs provide state-of-the-art algorithms to process spoken language. With these APIs, developers can easily include the ability to add speech driven actions to their applications. In certain cases, the APIs also allow for real-time interaction with the user as well.
Language Understanding Intelligent Service (LUIS)
Language Model APIs
Using Azure in your research or in teaching a course? Microsoft is committed to supporting education and has various programs to meet your needs.
See all services
The Educator Grant is a program designed specifically to provide access to Microsoft Azure to college and university professors teaching advanced courses. As part of the program, faculty teaching Azure in their curricula are awarded subscriptions to support their course.
To apply for an Educator Grant fill out this simple application form.
8:30 – 9:00 - Registration
9:00 - 9:30 - Microsoft Web Platform in 30 minutes Martin Beeby
9:30 - 10:00 - Microsoft Edge for Web Developers Martin Kearn
10:00 - 10:45 - What's New in ASP.Net 5 Martin Beeby
10:45 - 11:00 - Break
11:00 - 11:45 - APIs: the cogs behind the machine Martin Kearn
11:45 - 12:30 - Single Page Applications Martin Beeby
12:30 - 13:15 - Lunch Break
13:15 - 14:00 - Running Apps in Azure Martin Kearn
14:45 - 15:00- Break
15:00 - 15:30 - Web Tuning & Performance Martin Kearn
15:30 - 16:15 - The Real-time Web Martin Beeby
16:45 - 17:00 - Closing
Martin Beeby - Microsoft UK Technical Evangelist
Martin Kearn - Microsoft UK Technical Evangelist
Register now https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032705533&Culture=en-GB&community=0
If your a student game developer there never a better time to get upto date with the latest tech and tools which the Christmas holiday starting and having access to DreamSpark Azure why not get your teeth into WebGL and build some great prototypes you can take into January’s Global Game Jam.
So what is WebGL
WebGL is becoming very popular with Game Developers, but it is finally gaining widespread visibility across the web, and is now being used for all kinds of apps including map visualizations, charting data, and even presentations.
WebGL has three distinct advantages over writing code that simply manipulates the DOM:
With the advent of WebGL and now asm.js, developers can now harness much of the power of their computing device from within the browser and access markets previously unavailable.
What is Emscripten
This site has some fantastic collections to play with. I’m not sure of who put this page together, but they some neat demos, such as the book (cloth simulation) and Electric Flower
Option 1. Building it Yourself
Here are the essentials steps to create create your first WebGL project:
Option 2. Engines / Frameworks
Babylon is an open source and free framework . It offers a sandbox to play in and test our your code. Here is a video course broken up into several parts, to get you started with BabylonJS and WebGL.
Playcanvas are Microsoft Ventures UK Alumni Playcanvas was founded in London, UK in 2011 and is the world's first cloud-hosted game development platform. It's a social hub where game developers have a next-generation toolset that focusses on real-time collaboration where users can build, share and play video games. PlayCanvas is an open source engine which includes a bevvy of options, including an editor to help visualize your changes as you make them. Some useful experiences they highlight include brand experiences for viewing high performance cars, as well as playable ads which you can inject into applications.
Unity3d and WebGL Export
Unity WebGL supports all major desktop browsers to some degree (8). However, the level of support and the expected performance varies between different browsers. Look at the feature matrix below to give you an overview of browser features of interest to Unity WebGL content, and which browsers support them. http://docs.unity3d.com/Manual/webgl-gettingstarted.html
Turbulenz offers a 2D and 3D engine for developers to build, publish, and monetize games on their platform. Founded by former developers at Electronic Arts, this tool is also open source under the MIT License. Download and build the latest Turbulenz Engine directly from the Github public repository. This includes everything from rendering effects and particles, to physics, animations, audio, inputs, and networking. Their developer page offers a ton of information to get you started.
Pixi.js is a devoted rendering engine. There are a host of other engines covering game, sound and physics etc. and they all work beautifully with Pixi. It also has a number of added benefits including render auto-detect to fallback to Canvas when necessary, text support via bitmap (sprites) or webfont, as well as an ass loader.
Scirra Ltd was founded in May 2011 by brothers Ashley and Thomas Gullen. You can read more about the people behind Scirra on the team page. Scirra is based in Twickenham, SW London. Construct2 comes with a ton of templates and samples to get started. The developer Ashley Gullen has a great post on how WebGL works
ThreeJS is one of the more popular frameworks, and includes everything you need to get running: renders, scenes, cameras, animations, and lights.
PhiloGL is a WebGL Framework for Data Visualization, Creative Coding and Game Development from the folks at Sencha Labs. . All lessons from Learning WebGL have been ported into the PhiloGL Framework. This is a great starting point for people wanting to learn PhiloGL and/or WebGL as well. This is also licensed under the MIT License.
David Rousset (@davrous), who is one of the brains behind bablyon and vorlon, has a great blog post where he showcased BabylonJS running on an Xbox One.
You can also remote debug the application using VorlonJS.Vorlon.js is an open-source cross-platforms remote debugging tool that has been made to easily remote debug any web page running on any device.
WebGL also works on the Playstation 4. In fact, their UX is largely powered by WebGL.
Web GL Learning Resources
Here are some of the better resources I’ve found on the internet for learning WebGL:
And some free tools to get started: Visual Studio Code, Azure Trial, and cross-browser testing tools – all available for Mac, Linux, or Windows.