Build 2016 Keynote day 1

Highlights

Day 1 (today) will be about Win 10 and devices, like HoloLens, Xbox, and ‘conversations as a platform’ (NUI) and AI/bots
Day 2 will be about Azure, IoT, data platform with @scottgu. And Qi Lu will talk about O365 as a platform, Office/MS Graph

More below.

Continue reading

Microsoft “Project Natick” puts datacentres under the ocean

I came across an interesting Microsoft research project, where they looked at what it took to manufacture and operate an underwater datacenter http://natick.research.microsoft.com/

According to the team, the idea behind these underwater datacentres is because 50% of the population lives near costal areas. Deploying servers along the coasts can help bring computing power closer to where the people are, reducing latency. Being submerged in water can also help with the heat exchange.

It is an interesting concept and there is more information in the short 2 minute video below.

deployment

 

 

SQL Server on Linux means you’ll be able to run a full .Net application in Linux Docker containers in Azure, developed on a Mac

SQL Loves Linux_2_Twitter (002)

There was some interesting news on the web today, Scott Guthrie announced that “private preview of SQL Server on Linux is available starting today” and that they are “targeting availability in mid-2017”.
When combined with some other recent announcements, in my head I can see it unlocking some unique scenarios which were never possible before in the Microsoft ecosystem:

In the very near future a developer will be able to create a new website with Visual Studio Code on a Macbook, using .NET core + ASP.NET core + Entity Framework core for a full stack application, which is held in a Linux Docker container, hosted on top of a Windows Server 2016 core VM inside of the container system, with the data being retrieved from a SQL Server instance hosted on a Red Hat Linux VM.

While this may be a contrived scenario for the sake of it, it does highlight what is possible with the new tools and frameworks being released by Microsoft. It is refreshing to see Microsoft embrace developers and operations teams that are working on non-Microsoft platforms. My favourite quote I heard from the team, is that they want to have the tools work on every platform equally well, and let the best platform host win. We have also seen the ASP.NET team working hard at making sure that the new ASP.NET core framework is optimised to work much faster than previous releases and recently achieved a 2300% increase in request throughput over ASP.NET 4.6 http://www.ageofascent.com/asp-net-core-exeeds-1-15-million-requests-12-6-gbps/

Microsoft today also announced that it is joining the Eclipse foundation. In the past they had already procided Eclipse plugins for Azure Toolkit for Eclipse & Team Explorer Everywhere as well as the Java SDK for Azure enables Eclipse users to build cloud applications.

Here are a whole heap of links to help you research this new paradigm:

 

If you are an ASP.NET developer and want to learn what is new about ASP.Net core, then there is a great usergroup talk by @AdamStephensen where he dives into what he wished he had known when getting started with it.

And to continue your education on new website development, this Dev Super Powers video by @DuncanHunter will show you how to get started with Angular 2 with Visual Studio Code.

Using Windows 10 iOS bridge to convert Canabalt to Windows 10 in under 5 minutes

I have been playing around with the Windows 10 bridges that allow you to port applications from other platforms (iOS, WP Silverlight, Hosted web apps, etc) to the Windows 10 UWP platform.

Today I wanted to show you how easy it is to take an iOS game and port it straight to a Windows 10 UWP application.
I’m porting the classic game Canabalt which was originally an online flash game, which they then ported to an iPhone game.

The author of Canabalt released the source code on Github for others to play around with https://github.com/ericjohnson/canabalt-ios
The iOS bridge for Windows 10 is availabe from the website https://dev.windows.com/en-us/bridges/ios

Now sit back and watch how quickly you can port using the tools.

https://www.youtube.com/watch?v=L7Y6YlWuHQ8

Mining bitcoin with Azure (and why it is a terrible idea)

Update: I posted about my experience purchasing mining power from a dedicated hosting provider https://davidburela.wordpress.com/2016/01/30/analysing-my-progress-and-profitability-in-cryptocurrency-mining/

Note: This is extrememly inefficient and will not earn any bitcoin. You will just burn through Azure credits. Purchasing a $30 USB device is ~100000x faster.

TL;DR The commands to create a machine in Azure to CPU mine are at the bottom. But don’t bother.

I have been playing with the blockchain lately, most notably the programmable blockchain Ethereum. I was interested in seeing how difficult it was to set up a machine to mine Bitcoin. What I discovered through my research was that it is possible, but pointless to do CPU mining in the cloud.

Why is mining on Azure bad?

While it is easy to set it up, CPU mining is extremely inefficient. Mining on CPUs was depreceated a long time ago when it was discovered that it was faster to do on GPUs. But now even GPUs have been deprecated in favor of power efficient ASIC machines

Here are some hardware comparisions of ASIC devices from https://www.bitcoinmining.com/bitcoin-mining-hardware/

image

There are even cheap USB devices that you can plug in that give you GIGAhashes/second
image

How did my Azure miner go?

My 2 core Azure machine costs $85/month, and doing CPU only getting me 4.24+4.25= 8.5 kilohash/second (0.0000085 GH/s), compare that to the 3.6 GH/s that an ASIC $30 USB device provides.

image

And after 2 days of mining I didn’t even get a single hash even accepted by the mining pool, effictivelly making my mining worth 0%.
image

Could this be faster?

On Azure, renting servers with a faster CPU (D & G-Series) would net negligble increases due to CPU mining.

The upcoming N-Series of VMs will have dedicated GPUs attached that you can offload work to. This would be an order of magnitude faster in mining. http://www.hpcwire.com/2015/09/29/microsoft-puts-gpu-boosters-on-azure-cloud/

The price per hour of a N-Series VM would be so high that you would be better off just paying to rent dedicated ASIC bitcoin mining rigs e.g. there is a list at the bottom of this blog post https://www.bitcoinmining.com/best-bitcoin-cloud-mining-contract-reviews/

Instructions for creating on Azure (if you really want to try it)

  1. Sign up for a mining pool e.g. https://bitminter.com/ (to give you a higher chance of getting a trickle)
  2. login to https://portal.azure.com
  3. create a new Ubuntu virtual machine from the marketplace.
    I recommend Ubuntu on a basic size VM as we won’t be using the features of standard
  4. use Putty to remotely connect to your VM
  5. Install bitcoind (bitcoin daemon)
    sudo add-apt-repository ppa:bitcoin/bitcoin
    sudo apt-get update
    sudo apt-get install bitcoin-qt
  6. Configure bitcoind
    Run bitcoind to see instructions on what should be in the bitcoin.conf
    Create a bitcoin.conf file under ~/.bitcoin
    sudo nano ~/.bitcoin/bitcoin.conf
  7. Install a miner (cpuminer). Instructions from https://bitcointalk.org/index.php?topic=55038.0
    sudo apt-get install build-essential libcurl4-openssl-dev
    wget http://sourceforge.net/projects/cpuminer/files/pooler-cpuminer-2.4.2.tar.gz
    tar xzf pooler-cpuminer-*.tar.gz
    cd cpuminer-*
    ./configure CFLAGS=”-O3″
    make
  8. start the miner to test it all works
    ./minerd -o stratum+tcp://mint.bitminter.com:3333 –u <username_workernumber> -p X
  9. add the miner to startup. Edit /etc/rc.local to add it
    sudo nano /etc/rc.local
    Then on a line before exit 0, add the full path of your startup command with & at the end of the line
    e.g. /home/youruser/cpuminerXYZ/minerd -o stratum+tcp://mint.bitminter.com:3333 –u <username_workernumber> -p X &

Adding Application Insights to SharePoint

app insights sharepoint

TL;DR I helped write an SSW rule on setting up Application Insights in SharePoint.

I’ve been adding Application Insights to a number of SSW websites (such as SSW.com.auSSWTimepro.com and SSWLinkAuditor.com). Since being added, App Insights has been helping us to keep on top of our application metrics and unhandled exceptions.

We wanted to add Application Insights to SharePoint, but we couldn’t find any useful documentation online. I started some investigations into how I could do this manually myself. As SharePoint is an ASP.NET application, I started teased apart how Visual Studio adds hooks into projects. I created an empty git repository, created a website, checked it in, used Visual Studio to add App Insights, checked in, then diffed all the changes.

After investigating, we discovered that it was easier than I thought. You can track the browser metrics by simply adding the App Insights JavaScript to the SharePoint master page.

For the server side metrics, as it is an ASP.NET website, you can update the web.config file on the server to start tracking those metrics, we found that the Application Insights Status Monitor configuration tool was the easiest way to get this done.

A full write up of the SSW rule on setting up Application Insights in SharePoint is available for you to follow.
I have also helped write a series of SSW Rules to better Application Insights that can help you get the most out of it.

Improving your website with Application Insights

Application Insights Logo

TL;DR I helped write a series of SSW rules on setting up Application Insights that you can follow to improve the monitoring of your website.

One of my favourite Azure offerings is Application Insights. I think it is an extremely simple thing that should be added to every website you manage. It is free for basic usage and only takes a couple of minutes to set up.

I’ve been adding App Insights to a number of SSW websites (such as SSW.com.auSSWTimepro.com and SSWLinkAuditor.com). Since being added, App Insights has been helping us to keep on top of our application metrics and unhandled exceptions.

Because I think App Insights is a great product and want more people to get usage out of it, I helped write a series of series of rules detailing the hows and whys of Application Insights. My favourites are:

There are many more listed up there but those are just my getting started favourites. Check the rules out and start improving the monitoring of your application’s health.