# Wednesday, 29 April 2015

The Microsoft Build conference kicked off this morning with a keynote that lasted nearly 3 hours and included announcements on Azure, Office 365, Windows 10, and HoloLens.

Personally, I was most excited to hear about Azure SQL database pool and Data Warehouse, the Cortana integration on Windows 10, support for Chrome extensions in Microsoft Edge (formerly "Project Spartan") and the potential of virtual reality apps with HoloLens.

The keynote was recorded and will be available soon (along with all Build sessions) http://www.buildwindows.com/. I encourage you to watch for yourself, determine the topics that most interest you, and watch breakout sessions that dive deeper into those topics.

Below are notes I took during the keynote. This is by no means an official list and I may have misheard some things. But I think it will give you an idea of where Microsoft is headed the next few months.

Azure
    Docker for Windows
        Multi-containers
        Mix and match Windows & Linux containers. Run on any server
        NEW: Ability to debug .NET app in Linux deployed in Docker
    Azure App Service
    Logic Apps
        In Preview Portal
        Uses "Swagger" applications
        Visual workflow? Similar to ITTT?
    Visual Studio Code
        Lightweight IDE
        Version of VS that runs on Mac and LINUX
        free
        Available today
    SQL Azure
        Elastic database pool
            combine multiple "databases" into 1 db pool
            Manage all databases together
                Modify schema of every db
                Update statistics of every db
        SQL Data Warehouse
            Quick and easy to create
            Import data from any data source
                e.g., SQL DB, Hadoop, SAP
                From Azure or on-premises data
            Create reports with Power BI
            Use Azure Machine Learning to analyze data
            Auto-Scale in seconds
            Can independently adjust compute & storage
        Azure Data Lake Service
            store and manage infinite data
            saved in original form
            exposes data using Hadoop HDFS API
Office
    Sway
        Tell a story with Office documents
    Outlook plug-ins
        SAP and Linkedin: Look up info on contact & their companies
        Schedule plug-in from Uber
    Unified Office365 API Endpoint
https://graph.microsoft.com
        Returns data as JSON
        Drill into details of "graph"
    Web SDK for Skype
        Embed Skype into your app
Windows 10
    Easier to discover apps in store
    Windows Store for Business
        For customers or students
        Supports other payment methods (e.g., Purchase Orders)
    Win10 was a free upgrade for 1st year
    Goal: 1 billion Windows 10 device in 2-3 years
    1 binary and 1 code base on multiple platforms (Phones, tablets, PCs, Xbox)
    Web Sites can use Windows 10 tools (e.g., Live Tiles, Toast)
    .NET and Win32 apps in Windows store
    Android apps on Windows Phone
    Objective-C code will compile in Visual Studio on Windows
    Windows Spotlight
        On lock screen
        Learn of new features
    Cortana
        Natural language
    Microsoft Edge
        Windows 10 browser
        Formerly Project Spartan
        Written as a Universal App
        Runs Chrome extensions
    Continuum for Phones
        Any screen can be a PC (e.g., Phone)
    Hololens
        Windows Holographic
            Universal apps in Hololens
            Pin apps to walls in virtual world
        Makers can integrate HoloLens virtual world with real-world devices
Satya Nadella: Our goal is to move users from needing Windows to choosing Windows to loving Windows

Wednesday, 29 April 2015 20:06:29 (GMT Daylight Time, UTC+01:00)
# Tuesday, 28 April 2015

Almost everyone (including me) will agree that it is a good idea to back up your Web App. Azure makes it very easy to do so.

Azure allows you to manually back up your Web App and any linked database or to schedule a regular automated backup. Azure backups are stored to Azure storage.

To begin, you must have an Azure Storage account. If you have not yet created one, see my post on creating a new Azure Storage Account.

Navigate to your Web App by selecting the WEB APPS icon in the left menu; then, selecting your Web App.

Note that these features are only available if your Web App is using the STANDARD Pricing Plan Tier. You can modify your Pricing Plan Tier on the SCALE tab of your Web App.

Click the BACKUPS tab (Figure 1)of your web app to start managing your backups.

Backup01-BackupTab
Figure 1

Manual Backup

To Manually backup your Web App, do the following

1. Select an account from the STORAGE ACCOUNT dropdown list, as shown in Figure 2.

Backup02-StorageAccount
Figure 2

2. If your Web App has one or more linked databases and you would also like to back up those databases, expand the INCLUDED DATABASES dropdown and check all the databases you would like to backup. An example is shown in Figure 3.

Backup03-IncludeDatabases
Figure 3

3. Click the BACKUP NOW icon at the bottom of the screen (Figure 4).

Backup04-BottomMenu
Figure 4

Azure will back up all the files (and optionally any associated databases) of your Web App at the time specified and afterwards at the frequency specified.  The files in your Web App will be zipped and stored into a Blob Storage account of the selected Storage Account.

Automated Backup

Manual backups are great if you want to backup your app right now; but, chances are that you will want to back it up on  a regular basis so you don't have to worry about it. Use the same BACKUPS tab to schedule a backup at regular intervals.  To do this, you will perform the 3 steps above in addition to a few others.

To schedule an automated backup, do the following:

1. At the AUTOMATED BACKUP toggle switch, select "ON", as shown in Figure 5.

Backup05-BackupOn
Figure 5

2. Select an account from the STORAGE ACCOUNT dropdown list, as shown in Figure 6.

Backup06-StorageAccount
Figure 6

3. At the FREQUENCY field, enter the number of days between each scheduled backup, as shown in Figure 7.

Backup07-Frequency
Figure 7

4. At the START DATE fields, select the date and time to perform the first backup, as shown in Figure 8.

Backup08-StartDate
Figure 8

5. If your Web App has one or more linked databases and you would also like to back up those databases, expand the INCLUDED DATABASES dropdown and check all the databases you would like to backup (Figure 9).

Backup09-IncludeDatabases
Figure 9

6. Click the SAVE icon at the bottom of the screen (Figure 10).

Backup10-BottomMenu
Figure 10

 

Azure will back up all the files (and optionally any associated databases) of your Web App at the time specified and afterwards at the frequency specified.

Tuesday, 28 April 2015 14:07:00 (GMT Daylight Time, UTC+01:00)
# Monday, 27 April 2015
Monday, 27 April 2015 13:40:00 (GMT Daylight Time, UTC+01:00)
# Saturday, 25 April 2015

Azure Storage consists of Tables, Queues, and Blobs. To use any of these features, you must first create a Storage Account. This article describes how to use the Azure Portal to create an Azure Storage Account.

Sign into your Azure account and navigate to the Azure Management Portal (https://manage.windowsazure.com).

A list of Azure service categories displays on the left. Select the STORAGE category (Figure 1)

Storage01-StorageButton
Figure 1

Click the [+NEW] button (Figure 2) at the bottom left of the Portal page.

Storage02-NewButton 
Figure 2

The New Item menu (Figure 3) expands with DATA SERVICES and STORAGE already selected.

Storage03-NewAccount
Figure 3

Select QUICK CREATE to display the CREATE STORAGE ACCOUNT dialog as shown in Figure 4.

Storage04-QuickCreateDialog
Figure 4

At the URL field, enter a name for your new storage account. This name must consist only of numbers and lowercase letters and it must be unique among storage accounts.

At the LOCATION/AFFINITY GROUP, select a region in which to store this account. Generally, in order to minimize latency, you should create your storage account close to whatever clients will be accessing data from this account.

At the REPLICATION field, select a replication option. You can select Locally Redundant, Geo-Redundant, Read-Access Geo-Redundant (the default), or Zone Redundant. A description of each option is below.

Locally Redundant

Select this option to create 3 copies of your data within a single data center. External users will only access one copy of the data.

Geo-Redundant

Select this option to create 6 copies of your data – 3 within a data center in the region you selected and 3 within a different data center in another region. External users will only access one copy of the data.

Read-Access Geo-Redundant

This option is identical to the Geo-Redundant option, except that external users can access in read-only mode the data stored in the secondary region.

Zone Redundant

Select this option to create 3 copies of your data within multiple data centers. External users will only access one copy of the data.

A Note on Pricing

The cost of each option is reflective of the durability and availability of your data, so Read-Access Geo-Redundant is more expensive than Geo-Redundant, which is more expensive than Zone Redundant, which is more expensive than Locally Redundant. You can view the current pricing at http://azure.microsoft.com/en-us/pricing/details/storage/.

Click the CREATE STORAGE ACCOUNT icon to create your new storage account.

Saturday, 25 April 2015 14:47:15 (GMT Daylight Time, UTC+01:00)
# Thursday, 23 April 2015

This was the 7th Chicago Code Camp and the first time in years that it took place in the city of Chicago. The multi-platform conference had been held in Grayslake, IL the past few years but returned to the city that bears its name as the Illinois Institute of Technology hosted this weekend's event.

About 350 attendees showed up to see talks covering languages, tools, DevOps, and soft skills.

I delivered 2 presentations: The Hitchhiker's Guide to Azure Mobile Services and Effective Data Visualization.

I was able to hear MVP Michael Blumenthal talk about Powershell; Matt Stratton describe the Chef tools;  Angela Dugan talk about fear and self-doubt among software developers; and some advice on project recovery from DevMynd CEO JC Grubbs.

The Chicago Code Camp was the first conference I attended in Illinois (back in 2011) and it remains a strong voice in the community. I love the fact that it has returned to the city. The high turnout is an indication of the strong developer community here in Chicago.

At least half a dozen of the conference organizers stopped me during the day to thank me for Microsoft's sponsorship of the event.

WP_20150418_14_40_17_Pro

WP_20150418_17_17_12_Pro

Thursday, 23 April 2015 15:34:00 (GMT Daylight Time, UTC+01:00)
# Monday, 20 April 2015
Monday, 20 April 2015 15:27:00 (GMT Daylight Time, UTC+01:00)
# Monday, 13 April 2015

Episode 361

Dave Voyles on WebGL

Monday, 13 April 2015 15:24:00 (GMT Daylight Time, UTC+01:00)
# Monday, 06 April 2015
# Sunday, 05 April 2015

4/5
Today I am grateful to watch the game and have dinner last night in Indianapolis with Nick Giard.

4/4
Today I am grateful that my taxes are completed and filed early this year.

4/3
Today I am grateful to Jesus Christ, who died for my sins.

4/2
Today I am grateful for an afternoon yesterday walking around Chicago acting like a tourist. I visited the Chicago Temple - a church sanctuary 23 floors above the Loop - and I rode the water taxi up and down the Chicago River.

4/1
Today I am grateful for dinner and ice cream with the Kevin and Darlene last night in St. Louis.

3/31
Today I am grateful to attend a .NET User Group in St. Louis last night.

3/30
Today I am grateful for a brief visit yesterday in New Jersey with my cousin Linda and her family, who I haven't seen in years.

3/29
Today I am grateful to Rowena, Esther, Fernanda, Brian, and all who made the US MVP Open Days a success!

3/28
Today I am grateful for the toughness shown by the Spartans in the last few games.

3/27
Today I am grateful for dessert with Oksana last night.

3/26
Today I am grateful that my cousin Kevin - who has been a widower for years - found someone to share the rest of his life with.

3/25
Today I am grateful I got to witness an exciting 4th-quarter comeback and a last-second victory by the Bucks last night at the Bradley Center.

3/24
Today I am grateful I finally got my Illinois driver's license yesterday.

3/23
Today I am grateful for an exciting Spartan victory over an excellent opponent, sending MSU to yet another Sweet 16!

3/22
Today I am grateful to those who suggested that my illness yesterday was due to dehydration. They were right and I am better.

3/21
Today I am grateful for an active crowd full of questions at yesterday's Cloud Dev Camp in Denver.

3/20
Today I am grateful my car was not towed yesterday in Michigan.

3/19
Today I am grateful I got to hang out with Leon last night.

3/18
Today I am grateful for a phone call from Adriana - our first conversation in 35 years.

3/17
Today I am grateful for a chance to get back to Michigan for a few days.

3/16
Today I am grateful to spend most of Saturday with my son Tim.

3/15
Today I am grateful for a chance to learn and to be inspired and to see old friends at the KalamazooX conference yesterday. #kalx15

3/14
Today I am grateful for unexpectedly running into Paul at dinner last night.

3/13
Today I am grateful for my first time speaking at the Houston .NET User Group.

3/12
Today I am grateful for dinner last night with Paul, Brad, and Janet.

3/11
Today I am grateful for my first trip ever to Austin, TX.

3/10
Today I am grateful I made it safely to Austin yesterday after 1 flight, 2 Uber rides, a cab ride, & a 3-hour Greyhound bus ride.

3/9
Today I am grateful I slept almost the entire 3-hour flight from Chicago to Houston.

3/8
Today I am grateful for a hot shower and a hot latte to partially offset a lack of sleep this weekend.

3/7
Today I am grateful for all the Purdue students who showed up for this weekend's hackathon.

3/6
Today I am grateful I was able to catch up on some things yesterday that I can only get done in my office.

3/5
Today I am grateful for a few days in Miami in the middle of winter.

3/4
Today I am grateful for Yelp, which helps me find tasty and interesting meal choices in a strange city.

3/3
Today I am grateful for a chance to watch the Heat play the Suns in Miami last night.

3/2
Today I am grateful for all the birthday wishes yesterday.

Sunday, 05 April 2015 18:01:11 (GMT Daylight Time, UTC+01:00)
# Wednesday, 01 April 2015

The MVP team is now part of DX and we are actively working together to connect with MVPs. One step toward this was the

The event was organized by Esther Lee, Rowena Branch, Fernanda Saraiva, Brian Prince, and others.

Registration was capped at 100 and about 90 MVPs attended for 2 days of technical content, roundtable discussion, and providing feedback.

The content was mostly presented under NDA, but a few of the presentations were:
•    "What's Next for Developers?" presented by NuGet PM Jeff Fritz
•    "Overview of Microsoft's Digital Crime Unit" presented by Tim Pash of the Philadelphia MTC
•    "Working with your Evangelist: Understanding DX priorities" presented by DX Audience TE Nick Landry. I really liked Nick’s analogy of Evangelists as sherpas, helping to guide others to greatness (I hope I’m not violating any NDA by repeating that).
•    I gave an overview of Universal Apps.

Dave Voyles and Shahed Chowdhuri of the DX Audience team also presented, as did NuGet PM Jeff Fritz and CVP Brian Harry.

MVP Open Days have taken place in other parts of the world, but this was the first one in the US. The reception was very positive by the attending MVPs with many expressing a desire to see more events like this in the future.

Another Open Days event seems likely in the future, but the location is currently undecided.

USMVPOpen
MVPs and blue badges at the US MVP Open Days

USMPVOpen-2
A packed room

USMPVOpen-3 
Me and Esther Lee – one of the event organizers

USMPVOpen-4
Hanging out with some of the organizers after the event

Wednesday, 01 April 2015 13:47:00 (GMT Daylight Time, UTC+01:00)