April 2015 Gratitudes

Comments [0]

5/3
Today I am grateful for a late dinner last night with Dave​, David​, and Anna.

5/2
Today I am grateful for all the cool student projects at Purdue's Spark Challenge yesterday.

5/1
Today I am grateful for lunch with Mike yesterday in the Loop.

4/30
Today I am grateful that my mother is now living in Michigan close to my siblings.

4/29
Today I am grateful for a long walk and a sushi dinner with Oksana last night

4/28
Today I am grateful for my new mattress. And a good night sleep.

4/27
Today I am grateful for a tour of historic St. Michael Catholic Church in Old Town yesterday.

4/26
Today I am grateful to spend time with old friends at MSU yesterday.

4/25
Today I am grateful to spend yesterday with my mother.

4/24
Today I am grateful I have time this week to catch up on some long-overdue items.

4/23
Today I am grateful for a safe drive to Michigan late last night.

4/22
Today I am grateful I passed my first Microsoft certification exam in over 6 years.

4/21
Today I am grateful for 5 miles of walking yesterday.

4/20
Today I am grateful to see so many cool projects at MadHacks in Madison, WI this weekend.

4/19
Today I am grateful for the Chicago Code Camp yesterday and all who made it happen.

4/18
Today I am grateful for an evening at the movies last night.

4/17
Today I am grateful for dinner last night in Dallas with Anna and Elizabeth.

4/16
Today I am grateful for a first-class upgrade on yesterday's 4-hour flight.

4/15
Today I am grateful for all the WinJS and Azure Big Data stuff I learned yesterday.

4/13
Today I am grateful for a nice weekend with pleasant company.

4/12
Today I am grateful for an evening at the spa last night.

4/11
Today I am grateful I was in town yesterday and able to attend my first ToastMasters meetings in months.

4/10
Today I am grateful for lunch yesterday with Manohar.

4/9
Today I am grateful to spend an evening with Oksana.

4/8
Today I am grateful for dinner last night with Cory in Kansas.

4/7
Today I am grateful for a chance to attend Royals Opening Day at Kauffman Stadium yesterday.

4/6
Today I am grateful for Easter dinner with my family yesterday.


Build 2015 Day 1 Keynote

Comments [0]

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


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.



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.


Chicago Code Camp recap

Comments [0]

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


Matt Stratton on Chef

Comments [0]

Dave Voyles on WebGL

Comments [0]

Episode 361

Dave Voyles on WebGL



March 2015 Gratitudes

Comments [0]

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.


US MVP Open Days

Comments [0]

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


Kalamazoo X 2015 recap

Comments [0]

Years ago, Brian Prince became famous for a talk on developer soft skills. This presentation resonated with developers at technology conferences and user groups because so few people were talking about this subject. Michael Eaton - a regular at technical conferences - recognized this lack of speakers addressing this topic and decided to create an entire conference focused on soft skills. This was how the Kalamazoo X conference began in Kalamazoo, MI in 2009.

Many tech leaders from around the region and the country converge on Kalamazoo, MI to lend their knowledge, including Cory House (Kansas City, KS), Alan Stevens (Knoxville, TN), Jim Holmes (Dayton, OH), Jay Harris (Hartland, MI), Cori Drew (Dallas, TX), Jeff Blankenburg (Columbus, OH), and Elizabeth Naramore (Cincinnati, OH).

I’ve been a fan of KalamazooX from the beginning and I’ve spoken at the conference twice. Those who follow me on social media will know that I begin each day by completing the sentence "Today I am grateful for...". That tradition was inspired by a couple of presentations at KalamazooX 2 years ago.

I've attended all but one KalamazooX conference, so I made a point to make it this year, even though my flight from Houston arrived in Chicago the morning of the conference and I had to drive to Kalamazoo. The morning flight meant that I could only attend the afternoon sessions this year; but they did not disappoint.

Elizabeth Naramore and Microsoft's Jeff Blankenburg each spoke about capturing the spirit of a novice, when you are driven by curiosity and unafraid to fail - before expectations make you think that there is something wrong with risking failure.

Dawn Kuczwara in her presentation titled "Give It Up" told managers that it is necessary to relinquish control and allow your subordinates to manage their own work in order for most projects and teams to succeed.

Cori Drew spoke of ways she inspires her daughter to develop a passion for technology in her talk on "Geek Parenting".

Although primarily attended by software professionals, KalamazooX is very different from any other technical conference - it focuses on the parts of our career that is important - but ignored at most conferences. I've heard many people describe how inspired and energized they are by this conference.

I woke up in Houston at 3 AM and flew/cabbed/drove over 1300 of miles to attend. And it was worth it. I'm looking forward to next year.

kalx15-15-L[1]
Kalamazoo X speakers and organizers

kalx15-01-L[1]
A full room listens to Dawn Kuczwara

kalx15-09-L[1]
Elizabeth Naramore presenting “The Beauty of a Beginner’s Mind”

kalx15-06-L[1]
Conference organizer Michael Eaton introduces the next speaker.

View more photos at http://giard.smugmug.com/Tech-Community/KalamazooX-2015/.


Mike Pintar on NETEnergy

Comments [0]

A number of friends and colleagues had recommended Uber and insisted it was better than taxi services. So I decided to try Uber for a few weeks while I was traveling out of state (Florida, Texas, and Colorado) these past few weeks.

My first ride took place because I was stranded in downtown Miami about 2 miles from my hotel. I was carrying a suitcase and a laptop bag and no taxis passed by. So I downloaded the Uber app to my phone and I requested an Uber pickup. Of course, as soon as I submitted the request 3 taxis appeared out of nowhere.

Here are my impressions after 3 weeks of using Uber.

The good.

The Uber app is very simple to use. Just click "Request driver" and set your pickup location. Your phone's GPS should determine where you are right now and set a default location. When a driver responds to your pickup request, the app displays an estimated time of arrival and texts you when the driver is arriving. The driver receives your phone number, so he may even call you if he cannot find you.

Every driver I rode with was courteous and some were interesting conversationalists.

Every driver drove a nice car. They were all late-model vehicles and they were all very clean.

Uber charges my credit card through its system. This means that I never have to worry if the driver accepts credit cards.

Uber automatically emails me a receipt. This is convenient because most of my travel is for business purposes.

Calling a driver is very easy. Outside of a major city's downtown area, it's usually necessary to make a phone call in order to request a taxi. The app is much simpler than a phone call.

Every driver spoke and understood English. If you've ridden a cab in a large city, you know that not all cab drivers speak English well enough to understand your instructions.

Most of the time UberX is cheaper than a taxi.

The Uber app offers multiple services - UberX, UberXL, Black Car, SUV - in case you want a larger or nicer car. Uber is not allowed at some airports, so the app allows you to call a taxi instead.

The Bad

Most of the time, the arrival estimates were optimistic. I only requested in a big city and each time, the estimate was less than 10 minutes - often less than 5. But about half the time, it took them at least twice that time to arrive. Only once did a driver arrive early.

When I opened the Uber app at my Chicago apartment, it notified me that, due to high demand, prices would be 1.3 times the normal rate. But just before I got into the car, I received a text message informing me that the price would be 2.3 times the normal rate. By then, it was too late to make alternate plans.

On my Windows Phone, the Uber app crashed. A lot.

One morning in Dallas, I requested an Uber and the driver went to the wrong place. He insisted he was at "the address I texted him"; but of course I had not texted him any information - I simply used the app. He had no idea how to get to my hotel and I was running late so I told him to cancel my request. When he charged me anyway, I gave him a 1-star rating. Uber later refunded the money (it was only about $5) and I replaced the low rating.

I received a very high bill when traveling from Midway airport to a location in suburban Chicago. Apparently, Chicago taxis charge 50% extra when traveling from the city to the suburbs. This was not Uber's charge, but it came as a surprise when I received the bill.

For taxis, Uber automatically adds a 20% tip by default. Although you can change this, I didn't learn of it until I was charged.

Lessons Learned

Always double-check the pickup location because they app can be wrong. This can be difficult to do if you are in a strange city, but look for nearby street signs and other landmarks to verify you are standing at the pickup location.

Prices are different for each service. UberX tends to be the cheapest. At the bottom of the app screen is the option to select from the available services (not all are always available). I wasn't aware of this and once selected the more-expensive Black Car service.

If possible, get a quote in advance. The Uber app allows this for most services. If the app won't give you a quote, ask the driver for an estimate. Don't be surprised.

Log into http://uber.com and verify all the options on the Profile and Payment screens.

My verdict

Overall, I had a good experience with Uber. I can avoid many of the problems i experienced now that I understand the system better. I think I will continue to use Uber in the future.



There are three ways to create a new web site from the Azure portal: Quick Create; Custom Create; and From Gallery. To launch any of them, navigate to the Azure management portal and select "Web Sites" from the list of services along the left side of the portal [Fig 1].

CAWS01-SideMenu
Fig 1 

Then click the "New" button at the bottom left (Fig 2).
CAWS02-NewButton
Fig 2

This displays the New Website menu(Fig 3)

CAWS03-NewWebSiteDialog
Fig 3

Because we were in the "Web Sites" section when we clicked the "New" button, the categories: "COMPUTE" and "WEBSITE" are selected for us. We need to select from the three ways to create a web site within the Portal. They are: "QUICK CREATE", "CUSTOM CREATE", and "FROM GALLERY". Let’s go through each scenario.

QUICK CREATE

The simplest way to create a web site is with the QUICK CREATE option. With the NEW WEBSITE menu expanded, select QUICK CREATE (Fig 4).

CAWS04-QuickCreate1
Fig 4

The QUICK CREATE dialogue displays, as shown in Fig 5.

CAWS05-QuickCreate2
Fig 5

At the URL textbox, enter the name of your site. The full URL to access this new site will be  
    http://sitename.azurewebsites.net
where sitename is the name you typed into this field.

At the WEB HOSTING plan dropdown, you can either select an existing plan or select "Create new web hosting plan", in which case you will need to select a region in which to create the plan. The Web Hosting plan allows you to configure, manage, and scale a group of sites together.

Click the CREATE WEBSITE check button (CAWS-Check) to create the site. Typically it takes Azure less than a minute to create the site.

Once the site is created, you can navigate to the site's URL and you will see a default page (hostingstart.html) displayed in your browser, as shown in Fig 6.

CAWS06-hostingstart
Fig 6

This is the only file deployed to your site. You will need to use FTP, set up source control deployment or deploy your site content in some other way in order to get your web application into this web site.

CUSTOM CREATE

The CUSTOM CREATE option is similar to the QUICK CREATE, but it adds a few options on site creation. With the CUSTOM CREATE option, it is possible to associate a database with your site and set up Source Control publishing at the time you create your site.

With the NEW WEBSITE menu expanded, select CUSTOM CREATE. The CUSTOM CREATE dialogue displays, as shown in Fig 7.

CAWS07-CustomCreate1
Fig 7

At the URL textbox, enter the name of your site. The full URL to access this new site will be 
                  http://>.azurewebsites.net
where is the name you typed into this field.

At the WEB HOSTING plan, you can either select an existing plan or select "Create new web hosting plan", in which case you will need to select a region in which to create the plan.

Select or create a database to associate with this site. Enter a connection string name and credentials of the SQL Server account used by the web site to connect with the database. This database will appear under the LINKED RESOURCES tab of your website. Linking a database to a website makes it easier to manage them together, such as when you are backing up both your site and the database.

If you want to set up publishing from a source control repository, you can do so during site creation by clicking the "Publish from source control" checkbox (It is possible to skip this step and set up source control publishing later). Checking this checkbox adds a second page to the dialogue. Click the right arrow button (CAWS-RightArrow) to advance to the second page (Fig 8), where you can select the type of source control you are using. For some repositories, you will be prompted for more information.

CAWS08-CustomCreate2
Fig 8

When you are finished configuring everything, click the right arrow to create your new site.

As with the QUICK CREATE option, only one file (hostingstart.html) is deployed to your site. You can navigate to the site URL to view this file in your browser.

FROM GALLERY

Unlike the QUICK CREATE and CUSTOM CREATE options, the FROM GALLERY option provides more than just a single page in your website. This option tends to be the fastest way to get a fully-functional web site up and running. It is also an excellent option for those without coding or HTML experience.

With the NEW WEBSITE menu expanded, select FROM GALLERY.

The ADD WEB APP dialogue displays, as shown in Fig 9.

CAWS09-FromGallery1
Fig 9

This list displays a list of templates, frameworks, and web site engines from which to choose. Notice that you can filter this list by selecting a category on the left, such as BLOGS, or CMS (Fig 10).

CAWS10-FromGallery2
Fig 10

Notice also that many of the options are based on non-Microsoft technologies. WordPress, for example, is written in PHP and stores data in a MySQL database. Select the template, framework, or web site engine on which you want to base your site and click the Right Arrow button.
A configuration dialogue displays that is appropriate for the option you selected. At a minimum, you will need to provide a name for your web site, which will take the default form http://>.azurewebsites.net; but there may be other required information, such as selecting or creating an associated database. The dialogue for Orchard CMS is shown in Fig 11.

Click the Check button (CAWS-Check) to create your site. This generally takes longer than creating a site with either the QUICK CREATE or CUSTOM CREATE options because Azure will build an entire site for you. For many of the Blog and CMS templates, you will be prompted for some more information, such as a site name and an admin account the first time you navigate to the site. The "Get Started" page launched the first time you connect to a new Orchard CMS site is shown in Fig 11.

Orchard Setup
Fig 11

CONCLUSION

In this article, we showed the three ways to create a Web Site using the Azure Management Portal and walked you through the steps to create a web site with each method.



March 9 was International Women's Day. To commemorate this event, Dev Radio decided to publish a series of interview last week, drawing attention to successful female entrepreneurs. 

We kicked off the series by talking with Microsoft Partner Business Evangelist Tereza Nemessanyi - a former entrepreneur herself. Tereza talked about BizSpark and other things that Microsoft is doing to help entrepreneurs in general and women in particular.

Then, we interviewed 4 women who are guiding successful tech startups around the world. You can watch all 5 interviews at the links below:

Microsoft for Startups: (Part 1) Women Building the Future – An Interview with Tereza Nemessanyi

Microsoft for Startups: (Part 2) Women Building the Future – An Interview with Bernadine Brocker, CEO of Vastari

Microsoft for Startups: (Part 3) Women Building the Future – An Interview with Diana Paredes, CEO of Suade

Microsoft for Startups: (Part 4) Women Building the Future – An Interview with Jennifer Whaley, CEO of Pose a Pet

Microsoft for Startups: (Part 5) Women Building the Future – An Interview with Luan Cox, CEO of Crowdnetic

This series was featured in a recent Microsoft News Center article celebrating International Women's Day and female entrepreneurs. You can read that article here: Technology disrupted: Meet 11 women leaders changing the innovation ecosystem.


I'm a little surprised I enjoyed this book as much as I did. Other than a brief period in my teens when I was obsessed with Asteroids and Defender, I've never been much into video games; My kids kicked my butt at Halo and various EA Sports games for years until I finally stopped playing; And, although I created a few computer games last year - including the unforgettable Spinach Top series, I've spent only a small percentage of my life creating video games.

But I admire those who can create these games - the people with enough imagination to conceive of a great game idea and enough technical skills to execute that idea.

Honoring the Code: Conversations with Great Game Designers put me in touch with those people. Video game enthusiast Matt Barton sought out the programmers and artists who worked on many of his favourite games and he asked them about their lives and their work. This book is primarily a transcript of those interviews.

Interviews include:

George Sanger, who composes and compiles music for video games, including 7th Guest. His main advice: "Be nice to each other".

John Romero, who built the influential first-person-shooter game Doom. Romeros was hailed as a rock star in the industry until his marketing department published a poorly-thought advertisement with the text: "John Romero is about to make you his bitch", which turned many fans against him.

The reclusive Rebecca Heineman, who was born William Heineman, but changed her name when she transgendered to a female as an adult. Heineman earned the nickname "Burger" by a habit of buying a sack of hamburgers, storing them in her desk, and eating them over the course of several days.

My favourite interview is in the last chapter - Paul Reiche and Fred Ford seem to be having the most fun.  For example, they started a company named "Toys for Bob" and they chose that name only because they liked the sound of it.  Although there is no actual "Bob", everyone in the company had to make up a story about who the "Real Bob" was.

One can read this book to learn and copy the habits of great games designers. Although there is a wide spectrum of personalities among the interviewees, most of them share a passion for video games that drives them to work long hours designing, building, and playing these games. And most of them began this passion early in life - well before high school.

One nice thing about this book is that you can read the chapters in any order - each interview stands on its own.

The author provides an introduction to the book - describing his motivation for conducting and publishing these interviews. I was surprised he did not end it with a conclusion - summarizing all he had learned.

For me, the book was interesting because I enjoyed a peek into the lives of people who have a passion for what they do for a living.


Hack The Anvil

Comments [0]

March 6-8, I attended Hack The Anvil hackathon at Purdue University. About 350 student hackers - all from Purdue - attended this hackathon. I was joined by my colleague Brian Sherwin for most of the event and by Sarah Sexton on Sunday.

IMG_0996

Following the opening ceremony, I delivered a 30-minute tech talk describing cloud computing and Microsoft Azure I showed how to use Azure Web Sites, Azure Virtual Machines, and Azure Mobile Services. Although we didn’t offer a prize (as Microsoft often does at these events), a number of teams decided to incorporate Azure into their projects.

IMG_1006

We spent much of the weekend helping people debug their code. In addition to questions about Kinect and Azure, students asked questions about JavaScript and interfaces and HTTP, updating the Java SDK on a MacBook. 3 different teams set up node on Azure used Brian Sherwin's blog post (http://briansherwin.com/blog/2015/03/hack-tools-1-node-js-on-azure-with-linux-vm/) as a reference.

  • The best projects I saw using Microsoft projects were:
    An application that used Kinect to change the color and intensity of lights based on the user's hand gestures. This project integrated Python code with the C# code using the Kinect SDK. Brian Sherwin this team use the Kinect SDK and requested a copy of their source code. David Giard recorded an interview with the team.
  • A portal that allows video game enthusiasts to find other players with similar interests and to schedule multi-player games with one another. The portal was built on Azure Web Sites, the data was stored in SQL Azure and exposed via Azure Mobile Services
  • A Tampermonkey Chrome plugin built on Azure web sites that displays the text of a linked page below the link.

IMG_0999

Some other interesting projects were:

  • "ShotBot" - a robot bartender
  • Gloves that interact with a Wii remote to allow users to control mouse pointer movements from across the room.
  • "SmartFridge" - an Android application that allows users to scan the bar codes of the items in your refrigerator and keep track of when each item expires and when it is time to buy a new item.
  • A Java-based app to assist Dungeons & Dragons "Dragonmasters" to create the environments used in D&D.

IMG_1001

Many students integrated .NET or Azure into their application because we were there to help them.

IMG_0990

Purdue will be hosting a multi-school hackathon (BoilerMake) in the fall and I hope to attend this as well.

HackTheAnvil Photos


HackIllinois 2015

Comments [0]

Microsoft sponsored the HackIllinois hackathon held at the University of Illinois February 27-March 1, 2015. Approximately 900 students attended. The following people from Microsoft worked on site:

  • Bill Fink, Technical Evangelist
  • David Giard, Technical Evangelist
  • Martin Schray, Technical Evangelist
  • Sarah Sexton, Technical Evangelist
  • Paul Sledd, Recruiter

IMG_0968

Of course, students love free stuff, so we came armed with some prizes: We gave away a t-shirt to anyone who completed a brief survey. When we ran out of t-shirts, we gave away books, stencils,mugs, and stickers. From those who completed the survey, we drew a name to win a Surface Pro 2.  William Su of Ga Tech won this drawing. We offered a HoodiePillow and a free Azure pass to anyone who wanted to incorporate Azure into their weekend hack. 42 people took advantage of this offer.

Throughout the weekend, the four evangelists answered questions from teams using Azure and other Microsoft technologies.

On the final day, we offered a Dell Venue 8 Pro to each member of the team with the best use of Azure. 18 teams completed an application with an Azure component.

It was a difficult choice and we debated for some time. One team hosted an impressive translation application on Azure; another created a GPS application that displayed the location of the user's dog and whether it had left their yard.

IMG_0981

We awarded the prize to a team from Rose-Hulman Institute of Technology for their Flock application - a system built on a Pebble watch to communicate restaurant recommendations to friends. Most of the application logic was in an Azure web service that called out to APIs exposed by Twillio and MailJet. The Pebble watch called to the Azure API. This team spent some time at our booth asking questions of Bill and Martin. You can watch an interview with this team at Technology and Friends.

Bill Fink brought his Kinect Photo Booth and it was a big hit. Many students were drawn to our booth when they walked past and saw themselves in front of a dinosaur or live volcano on the giant monitor at our table. The Photo Booth sent out 102 emails over the weekend.

IMG_0962

Overall, the event was a great success - Students came away with a positive impression of Microsoft and many used Azure and Kinect that probably would not have had we not been there. Many students were unaware what Azure even is. They were excited when they found out how it could help them and their projects. One team planned to use IBM for their back-end data storage; but after struggling with the IBM service and talking with Bill, they switched to Azure and completed their project successfully.

HackIllinois Photos


This is the fifth in a series we are doing at DevRadio on female entrepreneurs. I interviewed Luan Cox of Crowdnetic – a global crowdfinancing platform.

Watch episode at DevRadio



This is the fourth in a series we are doing at DevRadio on female entrepreneurs. I interviewed Jennifer Whaely and Jeff Everett of Pose-a-Pet, a Chicago-based company that helps find homes for animals.

Watch episode at DevRadio


This is the third in a series we are doing at DevRadio on female entrepreneurs. I interviewed Diana Paredes, CEO of Suade - an open regulatory financial platform.

Watch episode at DevRadio


The second interview in the Microsoft for startups series is with Bernadine Brocker, CEO of Vastari - a company that matches art collectors and museums.

Watch episode at DevRadio


At DevRadio, we are starting a new series on Microsoft for Startups.

In this recent episode, I spoke with Microsoft Startup Evangelist Tereza Nemessanyi about her history as an entrepreneur, what she and Microsoft are doing for startups, and what it's like as a female entrepreneur.

Watch episode at DevRadio


NickZackTimmy

This is a photo of Zech. He's the one with no shirt. The other two are my sons. When he was a boy, Zech lived next door to us. All 3 boys have grown to adulthood since I took this photo.

Zech was close friends with my boys, even though he was a bit older. There was a time when Nick and Zech were inseparable during the daylight hours. I remember Zech as quiet and polite. He always addressed me as "Mr. Dave".

I haven't seen Zech in years. He had a tough life. His parents were not around for much of his childhood; When he was my neighbor, his aunt and uncle were raising him; and I am told that, as an adult, he struggled with a heroin addiction and spent some time in jail.

A month ago, Zech was reported missing. This weekend, his body was found in a snow bank in Cincinnati. He was 27 years old.

I grieve for Zech and for a young life that was cut short; I grieve for the life and childhood he should have had but did not; I grieve for his family, who are suffering a tragedy I pray I never experience; and I grieve for myself because I was not there to help someone who could have used a role model and maybe just a little more guidance.

If you are reading this, call your kids and tell them you love them.

If you are reading this, call your siblings and ask them how their week is going.

If you are reading this, call you mother and listen to whatever she feels like talking about.

If you are reading this, hold tightly to someone special in your life.  Tomorrow is not promised to either of you.

Today, my prayers and thoughts are with Zech's family. I hope that they remember him as I do - a quiet, polite boy who was kind to my sons.

Rest in peace, Zech.


The Flock team on Flock

Comments [0]

3/1
Today I am grateful that my boys are safe and healthy.

2/28
Today I am grateful for a trip to the University of Illinois.

2/27
Today I am grateful for this new Logitech headset.

2/26
Today I am grateful for a packed room at yesterday's Web Camp.

2/25
Today I am grateful for meeting up with Mark and Anne last night in Minnesota for the first time in about 3 decades.

2/24
Today I am grateful for: -Aaron the handyman fixing a bunch of broken stuff in my house -Words of encouragement from Ted, whose voice I haven't heard in too long.

2/23
Today I am grateful that my pipes did not freeze at my Michigan house while I was away for weeks of sub-zero temperatures.

2/22
Today I am grateful for the opportunity yesterday to deliver my first keynote presentation.

2/21
Today I am grateful to those who braved the weather in Nashville yesterday to attend my Web Camp.

2/19
Today I am grateful for my first-ever trip to Kansas.

2/18
Today I am grateful for dinner with Lee Brandt last night.

2/17
Today I am grateful for a belly full of Kansas City ribs last night.

2/16
Today I am grateful that every day brings new possibilities.

2/15
Today I am grateful for breakfast yesterday with Gail, who I haven't seen in 20+ years.

2/14
Today I am grateful that there are people in my life who care enough about me to pick me up when I'm down.

2/13
Today I am grateful for 2 engaged web camps today - at a Web Camp in Indianapolis, followed by an Android development class at IU.

2/12
Today I am grateful to all those who organize technical conferences in their spare time.

2/11
Today I am grateful I got to see the Spartan basketball team play very well at Northwestern last night. #GoGreen

2/10
Today I am grateful for lunch with Timmy in Bloomington and dinner with Laura in Chicago and a safe drive in between.

2/9
Today I am grateful to spend yesterday evening with my son Tim.

2/8
Today I am grateful for: -Driving my son around to his old homes and school in northern Kentucky -Dinner with Gary and Patricia last night. -My first trip to the Shoemaker Center in over a decade to watch an exciting USF-UC basketball game.



The Diamond Age takes place primarily in a future Shanghai, where governments have been replaced by "phyles" or "claves", bound more by culture than by geographic borders; and where nanotechnology dominates everyday life, providing everything from weapons that can kill a man from the inside to food synthesis to a book that can create a story tailored to its owner.

One such book - A Young Lady's Illustrated Primer is stolen - first by John Percival Hackworth, who plans to give it to his daughter Fiona; then by Harv, a tough street kid, who gives the book to his younger sister Nell. Nell grows up with the Primer, which tells her stories of Princess Nell, a fantasy version of Nell who travels through mythical lands on quest after quest. Princess Nell's story parallels that of the real-life Nell and she begins to think of the Primer and the "ractor" who reads the story aloud as a surrogate mother to replace Nell's own neglectful mother. As Nell grows older and runs away from her mother and her mother's abusive boyfriends she seeks comfort in the Primer.

Along with the stories of Nell and Princess Nell, The Diamond Age weaves the story of the unfortunate Hackworth, who seeks to retrieve the book he lost and discover the secret for which it was made.

The Diamond Age book explores technologies role in society and the importance of human interaction, even in a world with advanced technologies. There are many copies of the Primer being consumed by many young girls; but Nell benefits from hers more than other girls do because hers is read by a real-live (if anonymous) ractor and the two connect because of this.

While not as clever or exciting as Stephenson's earlier novel - the excellent Snow Crash - The Diamond Age is a very good story and paints an intriguing picture of a society and the people in it.

There are many characters and sub-plots in The Diamond Age and Stephenson weaves them together brilliantly. In the end, they all come together in a climax that was a bit more confusing than I would have liked; but the journey to that point made this novel worthwhile.


I can't believe I missed this, but last week marked the 6-year anniversary of Technology and Friends - the weekly show in which I interview smart people about technology. On February 6, 2009, I released an interview with John Kellar in which we talked about how to interview technologists on-camera.

Since that time, I have released 353 episodes - an average of more than one per week.

I started this show because I admired what other podcasters were doing and because I thought it would be fun and because I wanted an excuse to talk with great technologists (I was a bit more shy 6 years ago than I am today).
The show has been more successful than I imagined. I have had some outstanding guests - some famous; some obscure and I have loved doing it. I meet people from across the country who tell me that they know me from my show.

Thank you to all the guests and thank you to all those who have taken the time to watch Technology and Friends over the years.

You can view the latest episodes at TechnologyAndFriends.com.

I look forward to another 6 years.



What would happen if scientists discovered a giant comet entering our solar system and headed in the general direction of Earth? What if that comet actually collided with Earth? How would we react to the possibility and to the catastrophic events?

This is the premise of Purnell and Niven's Lucifer's Hammer.

The comet is named “Hamner-Brown” - in part for Tim Hamner, the millionaire / amateur astronomer who discovered it. But the public quickly applies new nicknames such as "Hammer of God" and "Lucifer's Hammer". The day the comet finally strikes Earth is forever known as "Hammerfall". The Hammer strikes suddenly with an unmatched fury, launching tidal waves, massive floods, and months of cloud cover and rain. Millions are killed in a matter of hours and nearly all the infrastructure holding together modern civilization is destroyed. The San Joaquin Valley becomes the San Joaquin Sea; the state of Texas is wiped out by a tidal wave thousands of feet high; earthquakes destroy major metropolitan areas all over the world; hurricanes decimate the US planes states; and the city of Washington - along with the US government - is destroyed.

The main story of Lucifer's Hammer takes place mostly in central California and follows the lives of a few people with good intentions trying to survive the aftermath of Hammerfall. But survival is difficult because most of the world goes very crazy, very quickly. Within hours, looters are invading homes, stealing food and liquor and killing anyone in their way; within weeks some groups have turned to cannibalism for survival.

Local leaders establish a new martial law in some cities, while paramilitary groups roam the lands between the cities stealing and terrifying anyone they find.

Lucifer's Hammer book kept me engaged throughout. I could not wait to see what would happen next. From the study of the earthbound comet to the panic of the strike to the sudden change in lif for literally everyone the story moves forward with urgency. The characters are transformed by the disaster and we follow them through love triangles and survival in the wilderness and an attempt to quickly adapt to the new world. We meet Harvey ??? a documentary filmmaker, who struggles to make himself useful after Hammerful; and ??? the mailman, who faithfully continues to deliver the mail, even after he loses his truck and is attacked by bandits. And Sentaro Jelison (???), who organizes a mountain town - The Stronghold - into a sanctuary with himself as commander-in-cheif; and ???, a black militant who views Hammerfall as a chance for him and his black brothers to finally gain the power they deserve. And Hamner himself, no longer a millionaire playboy but now a household name for his role in the comet's discovery.

The climax of the story features a battle between the protagonists at The Stronghold fighting off an invasion by The New Brotherhood - marauding cannibals intent on destroying all people and civilization in their path.

Although the chances against a giant comet hitting Earth are literally astronomical, this novel depicts a believable version of events that would happen if such a catastrophe occurred.

I was finished with this book before I knew it.


I’ve scheduled a lot of public events in February and March. I’ll be traveling around the Midwest delivering full-day Web Camps and Dev Camps; I’m giving my first conference keynote (at the ITECS conference in Ft. Wayne, IN); I’ll be visiting a few college colleges; and I’ll continue to attend and present at local user groups. Later in the sprint, I’m flying to Europe to speak again IT Camp –Romania and, for the first time, at Dev Sum in Sweden.

Admission to nearly all of these events is open to the public and either free or very inexpensive. I hope you can make it to one or more of them.

Date Topic Event Location
2/3/2015 Web Development Web Camp Downers Grove, IL
2/6/2015 Effective Data Visualization University of Cincinnati Cincinnati, OH
2/12/2015 Web Development Web Camp Indianapolis
2/12/2015 The Hitchhiker's Guide to Azure Mobile Services Indiana University Bloomington, IN
2/17/2015 Web Development Web Camp Overland Park, KS
2/20/2015 Web Development Web Camp Nashville, TN
2/21/2015 The Hitchhiker's Guide to Azure Mobile Services Indiana Tech ITECS conference Ft Wayne, IN
2/21/2015 Keynote: Your Dev Community and You Indiana Tech ITECS conference Ft Wayne, IN
2/25/2015 Web Development Web Camp Edina, MN
3/3/2015 Web Development Web Camp Miami, FL
3/10/2015 Web Development Web Camp Austin, TX
3/12/2015 TBD Houston .NET User Group Houston, TX
3/12/2015 Web Development Web Camp Houston, TX
3/13/2015 Azure and cloud computing Cloud Dev Camp Houston, TX
3/24/2015 Web Development Web Camp Waukesha, WI
3/26/2015 Web Development Web Camp Chicago, IL
3/27/2015 App Studio Development US MVP Open Days Malvern, PA
4/7/2015 Cloud Dev Camp Microsoft Overland Park, KS
5/14/2015 TBD Chicago Coder Conference Chicago, IL
5/21/2015 TBD IT Camp Cluj-Napoca, Romania
5/25/2015 Effective Data Visualization Dev Sum Stockholm, Sweden

Josh Holmes on Nitrogen

Comments [0]

January 2015 Gratitudes

Comments [0]

2/1
Today I am grateful to finally sign the papers to put my house on the market.

1/31
Today I am grateful for my house being as clean as it has been in 10 years.

1/30
Today I am grateful for meeting up with friends from my high school last night.

1/29
Today I am grateful I've been able to make it to the gym for 6 straight days.

1/28
Today I am grateful to my teammates who answered all my questions yesterday.

1/27
Today I am grateful I crossed off a bunch of items from my To Do List yesterday.

1/26
Today I am grateful I organized the contents of a large stack of boxes in my house yesterday.

1/25
Today I am grateful for 4 miles on the elliptical yesterday - the most I've done in a very long time.

1/24
Today I am grateful for an exciting Mavericks-Bulls game last night in Dallas.

1/23
Today I am grateful to Brian Sherwin for delivering half the Web Camp sessions yesterday.

1/22
Today I am grateful for Texas barbecue last night.

1/21
Today I am grateful for new carpeting in my house.

1/20
Today I am grateful to Bill Wagner for all his help with yesterday's Web Camp.

1/19
Today I am grateful to Patrick, Susan, and Jordan, who helped me move furniture last night.

1/18
Today I am grateful for a drink with the #MHacks organizers and sponsors before heading home last night.

1/17
Today I am grateful for all the students excited to learn about and try Azure yesterday.

1/16
Today I am grateful for a break in this cold weather.

1/15
Today I am grateful for financial stability.

1/14
Today I am grateful to the large crowd at Wisconsin .NET User Group, who stayed engaged even while I was having Internet issues.

1/13
Today I am grateful to: -Marc of LA Fitness, who kicked my ass yesterday at my first Personal Trainer session. -Those who stayed for my Azure presentation last night, even though many of them missed the National Championship game kickoff.

1/12
Today I am grateful I didn't have to drive in the snow yesterday.

1/11
Today I am grateful for coffee with Claire yesterday.

1/10
Today I am grateful to Brian Prince and the organizers of #CodeMash for another excellent conference.

1/9
Today I am grateful for a full room at our workshop yesterday and dinner with my team last night.

1/7
Today I am grateful for the first day of a conference when I get to see people I haven't seen in months.

1/6
Today I am grateful for dinner with friends at Kalahari last night.

1/5
Today I am grateful I was able to put in my best workout in months yesterday.


Microsoft has scheduled a series of free Web Camps in cities across the country. These 1-day events provide instructions and demos to help attendees learn about web development.

Topics include:

  • ASP.NET
  • Visual Studio tooling
  • Microsoft Azure
  • Web API
  • Single Page Applications
  • SignalR

The events are free and include breakfast and lunch. Microsoft is even giving away a $100 gift card to one random attendee in each city.

Below are the dates and cities that have been scheduled so far. I’ll be handling most of those in the Central Region.

Place Date
Detroit (Southfield) 1/19/2015
Dallas (Irving) 1/22/2015
New York 1/23/2015
Chicago (Downers Grove) 2/3/2015
Pittsburgh 2/10/2015
Denver 2/12/2015
Indianapolis 2/12/2015
Cambridge 2/12/2015
Kansas City (Overland Park) 2/17/2015
Atlanta (Alpharetta) 2/17/2015
Seattle (Bellevue) 2/19/2015
Nashville (Franklin) 2/20/2015
Minneapolis (Edina) 2/25/2015
Miami 3/3/2015
Irvine 3/5/2015
Austin 3/10/2015
Houston 3/12/2015
Los Angeles 3/13/2015
Philadelphia (Malvern) 3/19/2015
Sunnyvale 3/24/2015
Chicago 3/26/2015
St. Louis 3/31/2015
Tampa 3/31/2015
Charlotte 4/2/2015
Seattle (Bellevue) 4/7/2015
Atlanta (Alpharetta) 4/7/2015
Reston 4/10/2015
Columbus 4/14/2015
Cambridge 4/14/2015
San Diego 4/16/2015
New York 4/16/2015
Milwaukee (Waukesha) 4/21/2015
Tempe 4/23/2015

Visit http://aka.ms/msftwebcamps to find more information, including a a link to each city’s event and instructions on registration.

Space is limited so register today!


Jeff Fritz on ASP.NET 5

Comments [0]

Richard Mayhew was a nobody.

He worked a dead-end job in London and his fiancé walked all over him. Everyone walked all over him.

Door was the daughter of an aristocrat from a mysterious parallel world beneath London. She had the ability to create and open portals to wherever she wanted to go.

One day, Richard encountered Door, bleeding and bruised lying in a London alley. To the frustration of his fiancée, Richard decided to take her to his flat to keep her safe and to heal. This act of kindness set in motion the events that overturned Richard's life. Soon, 2 cutthroat thugs came looking for Door and threatening Richard. The next day, everyone in Richard's life had forgotten that he ever existed. Before long, his work desk was moved and his apartment was rented to strangers.

Hoping to regain his life, Richard followed Door into London Below - a mysterious world, invisible to most Londoners and populated by the outcasts of the city above.  he found Door and helped her on her quest, while evading the cutthroats on their trail. Along the way they encountered a fallen angel, a trained assassin, an invisible roaming marketplace, a haunted bridge draped in inky, deadly blackness, and a host of unusual characters.

In Neverwhere, Neil Gaiman builds a believable world of rejects and outcasts and makes them sympathetic to the reader. The story moves quickly and easily from mystery to action. The characters are rich and quirky and interesting - at times ridiculous; at times, terrifying. Gaiman's narrative is full of wit, while continuing to advance the story.

The reader feels the pain of Richard as he moves from being figuratively lost in the "real" world of London to being literally lost in the mysterious London Below. 

Fans of clever writing and adventure stories will enjoy Neverwhere.



It's hard to imagine a scenario in which a software developer would not benefit from source control. GitHub provides a repository for developers to store their source code and other digital assets.

To use GitHub, you will need to create an account at https://github.com/ and log in.

To set up a new repository, click the "+" icon next to your name and photo at the top right of the main GitHub page. This displays a dropdown list (Fig 1).

1-NewRepository
Fig 1

Select "New repository" from this list.  The "New Repository" page displays (Fig 2)

2-CreateRepository 
Fig 2

At the "Repository name" textbox, enter a name for your repository. This should be brief, but enough to identify the project to you and others.

At the "Description" textbox, you may enter a short description of the project, if you like. This is useful if you want others to contribute.

Use the radio buttons to select whether this will be Public (anyone can view the files in the repository) or Private (only those you invite can see the files). You can only create a private repository if you have a paid GitHub account. Free accounts can only have public repositories.

Checking the checkbox labeled: "Initialize this repository with a README" will create a README.MD file in your repository. This file is displayed on the main page of your project below the list of other files. It should contain text and Markdown language. For a description of Markdown, check out http://daringfireball.net/projects/markdown/.

There are two dropdowns at the bottom of the page: "Add gitignore" and "Add a license".

The "Add gitignore" dropdown (Fig 3)allows you to quickly create gitignore file.

3-GitIgnore 
Fig 3

A gitignore contains a list of files that might be on your disc, but that you don't want in source control. These might be user configuration files or binary output files.
Selecting a type of projects creates a gitignore file containing files typically ignored by that project type. For example, if I select "Visual Studio" from the "Add gitignore" dropdown, a file will be created that tells GitHub to not check in "SUO" files or files in my "bin" folder.  Of course, you can always edit the gitignore file after it is created.

The "Add a license" dropdown (Fig 4)allows you to assign a license to the files in your repository.

4-License
Fig 4

The license dictates how others can legally use these files and programs - for example, whether they can make money off of code that you share here.  There is a good description of each software license at http://opensource.org/licenses/.

After you complete the form, click the [Create Repository] button. Your repository will be created in a few seconds.


I have created a set of labs designed to tech you how to learn Azure Mobile Services.

These exercises walk you through creating and configuring a new Mobile Service.

These labs are available at https://github.com/mspcontent/Azure-Mobile-Services-Labs.

I’d love to get feedback on these exercises. Even, better you may add to the labs and submit a pull request.



The Chicago Coder Conference takes place May 14-15 and this year, they are adding a .NET Track.

The call for speakers for this track is open until February 16. Submit your sessions at this link. 


CodeMash 2015 Recap

Comments [0]

CodeMash (http://codemash.org)  is like a family reunion for me. So many old friends come back every year. And I always meet someone new and interesting.

CodeMash is a developer conference that cuts across technologies and communities. It brings together Ruby, Java, .NET, Python, JavaScript, and those who use other technologies; and it draws speakers and attendees from all over the U.S. and a few from Europe. And it's held at an indoor water park in Sandusky, OH in the middle of winter.

I missed the very first CodeMash in 2007 (the one at Josh Holmes and Brian Prince famously had their heads shaved), but I've been to all 8 events since then.

This year, I was a sponsor, a speaker, and an attendee. I delivered 2 presentations: A Hitchhiker's Guide to Azure Mobile Services and Effective Data Visualization; and I helped out with Jennifer Marsman's Cross-Platform game development workshop. In all, over 200 people saw me present at this conference.

I spent a good part of the conference at the Microsoft booth, answering questions and talking with people.  Bill Fink brought a "Photo Booth" that he built using a Kinect sensor, a laptop, and an external monitor and this drew a lot of people to the booth. We also had a device bar and a number of attendees stopped by to check out the Surface Pro 3 and other Windows devices on display. Nathalie Goh-Liverness showed off a game she build using Unity and Occulus Rift virtual reality hardware. Traffic was heavy and I had a chance to answer some questions and talk with a number of attendees.

My team was well represented at CodeMash. Brian Prince is now the primary organizer, taking the reins from Jim Holmes who grew this confeerence to its current state over the years. And six members of my team (Jennifer Marsman, Brian Sherwin, Nathalie Goh-Liverness, Bill Fink, Matt Thompson, and me) delivered presentations.

Other Microsoft presenters included Dustin Campbell, Chris Risner, Jeff Fritz, Alexei Govorine, Kevin Pilch-Bisson, Matthew Podwysocki, Tony Surma, and Josh Holmes.

By the time I left Friday evening, I was exhausted. I had a chance to learn about Azure, Kinect, the next versions of C#, Visual Studio, and ASP.NET and a host of other things.

This was my eighth CodeMash and I fully expect to return next year.


In the early 19th-century England of Jonathan Strange and Mr. Norrell, the existence of magic is a given. Everyone knows of the Raven King, who escaped from the Fairy kingdom to rule northern England and introduce magic to the Britons centuries before.

But, in 1806, no magic has been seen in England for years. Those who call themselves "magician" are only theoretical magicians, meaning that they study magic and magicians, but lack the ability to cast spells themselves. One day, a group of theoretical magicians discover the reclusive Mr. Norrell, who proves himself to be a formidable practical magician - the first of his kind seen for decades. A few years later, Jonathan Strange emerges - a young man with even stronger magical abilities, but with no training in how to use them.

Norrell takes on Strange as an apprentice, but Norrell is careful not to teach the young man too much. Together, they become celebrated magicians and use their powers to help Lord Wellington and the British Empire defeat the Emperor Napoleon.  Later, Strange and Norrell split and become rivals. This turns very bad after Norrell tries to discredit Strange and Strange embraces madness as a way to contact the malevolent fairies who live on the other side of Hell and possess powerful magic.

The story shows the rise to power of two talented men and the corruption brought by that rise. Both men are tempted to enlist the aid of the malevolent fairy race in order to boost their magical abilities and increase their reputation. But the fairies, who rule a kingdom beyond Hell, are malevolent and untrustworthy. Dealing with fairies risks the lives and souls of all around the magicians.

The contrast between Strange and Norrell makes for a great story. Norrell is bookish, deliberate, and secretive. He buys up all the books on magic he can find, in order to keep other magicians from reading them. Strange is adventurous and tries to expand his horizons - even going so far as to try training other magicians.

Both magicians struggle with the dark side of magic. Norrell's first attempt at summoning a fairy allows him to raise a young woman from the dead. This makes Norrell a national celebrity; however, the consequences are disastrous - the fairy maintains control over the woman, transporting her each night to his castle on the far side of Hell. Norrell vows never to try again. Strange reads of how the Raven King used Fairy Magic and believes he can summon and control a Fairy. He concludes that he must become mad in order to summon a fairy, so he uses magic and drugs to make himself temporarily insane. The Fairy appears and more disaster ensues. The Fairy of the story - known only as "the man with thistle down hair" controls a number of humans, including the woman he helped raise from the dead; Stephen Black, a servant to whom he promises the throne of England; and Strange's wife. Even King George III's famous bouts with insanity are attributed to the man with the thistle down hair.

I really enjoyed this book. I liked the characters and the adventures; I liked the relationship between Norrell and Strange and how it evolved over the years. I liked the ethical struggles of the magicians, such as whether it was acceptable to use the dark fairy magic to do good deeds; and I liked the style of the book, which reminded me of an English historical text, complete with added footnotes.

If you are looking to explore a world that could have been and believable  characters, I highly recommend Jonathan Strange and Mr Norrell.


December 2014 Gratitudes

Comments [0]

1/4
Today I am grateful I made it home safely on the icy roads last night.

1/3
Today I am grateful for a shawarma and hummus dinner with Tim Giard and his girlfriend last night.

1/2
Today I am grateful for an amazing comeback victory by the Spartans in The Cotton Bowl yesterday
and for a chance to watch the game with a group of people who met in MSU's Akers Hall in 1980 and remained friends for decades.

1/1
Today I am grateful for all the new people I met and all the new places I visited in 2014.

12/31
Today I am grateful for 2014 - one of the most eventful years in my life!

12/30
Today I am grateful that, despite my procrastination, I was able to reserve a #CodeMash Kalahari room yesterday.

12/29
Today I am grateful I was able to free myself from the malware I accidentally added to my computer a couple days ago.

12/28
Today I am grateful to talk with some old friends during my drive yesterday.

12/27
Today I am grateful for the bathrobe that my boys gave me for Christmas. And for the undershirts also.

12/26
Today I am grateful for Christmas dinner with my family at my sister Diane's house.

12/25
Today I am grateful for Jesus Christ and the comfort he brings me when I am troubled.

12/24
Today I am grateful for all the papers I organized yesterday and all the crap I threw away.

12/23
Today I am grateful for a post-game drink with Patrick Affholter at Beggar's Banquet last night.

12/22
Today I am grateful to talk this week with my cousin John and with my cousin Linda for the first time in years.

12/21
Today I am grateful to those who picked me up with kind words yesterday.

12/20
Today I am grateful I was able to drive my son Tim home from college yesterday.

12/19
Today I am grateful for lunch with Annie yesterday.

12/18
Today I am grateful for the annual #MIGANG Holiday Party last night! It was a great time, as always!

12/17
Today I am grateful I got to see a record-setting hockey game last night: Longest shootout in NHL history!

12/16
Today I am grateful I could take my mother to see my son's team play last night.

12/15
Today I am grateful for the chance to have dinner and watch the Lions game last night with my son Nick.

12/14
Today I am grateful for a chance to visit my mother in Florida for the first time this year.

12/13
Today I am grateful for the organizers of this week's company Hackathon, where I learned about Git, Windows 10, Azure, and IoT and to my teammates, who pitched in and won first prize!

12/12
Today I am grateful for an excellent stone crab dinner last night.

12/11
Today I am grateful for my first ever trip to Miami / Miami Beach.

12/10
Today I am grateful that the rental car company finally found and returned my garage door opener I left in a car last week.

12/9
Today I am grateful for my new furnace and for being warm on a cold morning.

12/8
Today I am grateful I got to spend a lot of time with my son this weekend before he returned to Florida.

12/7
Today I am grateful for a chance to watch Nick Giard's USF team at Detroit and for dinner with Nick after the game.

12/6
Today I am grateful I made it to my presentation in Detroit on time after driving 5+ hours from Indiana.


2014 in Review

Comments [0]

2014 has flown past so fast I can hardly believe it is gone. But the journey has been amazing.

My sons continue to do well in college. Timmy is in his sophomore year at Indiana University.  Last semester, he took a software course and he told me he may soon declare Informatics as his major. Nick is nearly done with the Masters program at the University of South Florida and his responsibilities as a Graduate Assistant with the USF basketball increased when the school hired a new coach last year.

In late 2013, I began a new job as a Technical Evangelist for Microsoft. I had pursued this job for years and I leapt into it enthusiastically. It wasn't hard to keep busy - partly because I was excited to learn my new role and to impress my new overlords - and partly because my new department had a lot of turnover, so I was asked to cover 2 regions (7 states) until the team was back at full strength. My basic evangelism activities covered schools, user groups, conferences, and startup incubators from Wisconsin to Tennessee and I made a point to visit each state at least twice. I travelled a lot - mostly by car, but occasionally by plane. At the bottom of this post is a list of the 50 different cities in which I presented or worked an event in 2014.

I also attended team off-sites in Phoenix and in Denver and I attended internal Microsoft conferences in Seattle and Atlanta.

While not directly part of my job, I was invited to speak at a couple other developer conferences: FalafelCon in San Francisco and IT Camp in Romania.

The Romania trip was amazing. My friend Mihai runs a developer conference in Cluj-Napoca, Romania and he invited me to speak there. I arrived three days before the conference and hired a tour guide to show me around Transylvania. After the conference, I drove to Budapest, Hungary and spent three days enjoying that city before heading home. I'm planning to return to IT Camp this May and I'm looking at other places to visit while I'm back in Europe. You can read details about this trip at here. You can view photos at the following links:

Years ago, I established a goal to visit the home stadium of every team in each major professional US leagues (MLB, NFL, NBA, and NHL). The year, I was able to visit a number of new arenas and stadiums, including the homes of the Phoenix Coyotes, the Atlanta Braves, the Milwaukee Brewers, the Oakland Athletics, the Dallas Cowboys, the Denver Broncos, the Indianapolis Colts, and the St. Louis Rams. Astute readers will note that I have attended Coyotes and Colts games in the past, but those teams have built new stadiums since that time so I had to return.

In late 2014, I moved to Chicago. I rented a studio apartment in the Old Town neighbourhood - in the heart of the city. It's the first time I've lived in a big city (I've spent most of my life in the suburbs) and I'm really enjoying the vibrant energy of city living. I haven't yet sold my house in Michigan so I'm spending a lot of time travelling back and forth, getting it ready to list, which should happen in late January.

My new apartment is much smaller than my old house, so I am in the process of casting off nearly everything I own - furniture, clothing, souvenirs, books, electronics, and anything else that has been cluttering my basement and closets the last 11 years. This process has been liberating. I held onto so many things that I did not need and I feel like I'm freeing myself from these objects as I throw out, donate, or sell each one.

One of the things that stands out to me about 2014 is the number of new people I've got to know. Some I didn't know existed before and some I got to know a lot better. Although I haven't met a lot of people in my new Chicago neighbourhood, I have had a chance to meet many new people around the country and world - primarily through my new job. It has been a pleasure expanding my network like this and I believe I will become closer with at least a few of these new folks in the coming years.

Sometimes, it's a challenge to stay in touch with everyone I want to and to stay close with those who are most important; but I'm putting effort into this. Social media helps. A cell hone helps. Sometimes travel helps and sometimes it hinders these efforts. I was able to extend some work trips over a weekend to visit friends, so I got to stay with the Eagers in Pittsburgh in June; with the Koellers in St. Louis in November, and with my mother and my son Nick in Florida in December. It was also great to catch up with Brent Stineman during a Minnesota trip; with Joe Guadagno while in Phoenix; with Kent Fehribach while in Nashville; with Dan Taylor during an Indianapolis trip, and with Gary and Patricia Desmarais, Mike Amundsen, Jon Hunt, and Mike Wood while in Cincinnati.

I did a lot of reading in 2014. Because of all the driving I'm doing, I settled on a system of getting both the audio and printed version of the same book and alternating between them, depending whether I'm on the road (thank you public library). In 2014, I completed the following books:

  • Windows Store App Development by Pete Brown
  • The Thrawn Trilogy: Heir to the Empire, Dark Force Rising, and The Last Command (all 3 by Timothy Zahn)
  • The Mists of Avalon by Marion Zimmer Bradley
  • Real World Windows 8 Development by Samidip Basu
  • The Chronicles of Thomas Covenant The Unbeliever: Lord Foul's Bane, The Ilearth War, and The Power That
  • Preserves (all 3 by Stephen R. Donaldson)
  • Small Gods by Terry Pratchett
  • Ringworld by Larry Niven
  • The Mars Trilogy: Red Mars, Green Mars, and Blue Mars (all 3 by Kim Stanley Robinson
  • The Amber Chronicles: Nine Princes in Amber, The Guns of Avalon, Sign of the Unicorn, The Hand of
  • Oberon, The Courts of Chaos, Trumps of Doom, Blood of Amber, Sign of Chaos, Knight of Shadows, and Prince of Chaos (all 10 by Roger Zelazny)
  • That Hideous Strength by CS Lewis

In addition to technical books, I am making an effort to make it through this list. You can read my reviews of many of the books I've read here.

My job as a Technical Evangelist has made it easier to meet my goal of learning something new every day. I've been focused on Azure more than anything else this year and my knowledge of this platform has expanded a great deal.

Technology and Friends – my weekly Internet talk show - continues to be successful. This month, will mark 6 years since I recorded my first interview. In 2014, I published 51 episodes. The list of guests was impressive, including David Chappell, Jon Skeet, and Eric Lawrence. The next episode will be #350.

Not everything was perfect. There were ups and downs during the year and I had my share of disappointments and stress and nights of insufficient sleep. But I believe I did a good job of maintaining a positive outlook, even when things were not going well. It helped that I continued my practice (begun in 2013) of beginning each day by thinking of and sharing something for which I was grateful. I reflected on that practice in this article.

As you can see, I packed a lot into 2014 - maybe as much activity as I've packed into any year of my life. Staying this busy kept me focused and allowed me to accomplish things - for myself and for others. I expect 2015 to be more of the same, which would be fine with me. 


Visited for Work:
Ann Arbor, MI
Appleton, WI
Atlanta, GA
Bloomington, IN
Brentwood, TN
Carmel, IN
Chattanooga, TN
Chicago, IL
Cincinnati, OH
Cluj-Napoca, Romania
College Station, TX
Columbus, OH
Dayton, OH
DeKalb, IL
Denver, CO
Detroit, MI
Eau Claire, WI
Evanston, IL
Findlay, OH
Fishers, IN
Ft Wayne, IN
Grand Rapids, MI
Grayslake, IL
Houston, TX
Indianapolis, IN
Kent, OH
Knoxville, TN
Lansing, MI
Las Vegas, NV
Louisville, KY
Madison, WI
Miami, FL
Minneapolis, MN
Nashville, TN
Okemos, MI
Phoenix, AZ
Pittsburgh, PA
Redmond, WA
Rockford, IL
San Francisco, CA
Sandusky, OH
Schaumburg, IL
Seattle, WA
South Bend, IN
Southfield, MI
St. Charles, MO
St. Louis, MO
Terre Haute, IN
Toledo, OH
West Lafayette, IN
Wisconsin Dells, WI
Ypsilanti, MI

Visited outside work:

San Francisco, CA
Transylvania, Romania
Budapest, Hungary
Tampa, FL


<< Older Posts | Newer Posts >>