# Tuesday, March 31, 2015

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.

Kalamazoo X speakers and organizers

A full room listens to Dawn Kuczwara

Elizabeth Naramore presenting “The Beauty of a Beginner’s Mind”

Conference organizer Michael Eaton introduces the next speaker.

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

Tuesday, March 31, 2015 4:15:00 PM (GMT Daylight Time, UTC+01:00)
# Monday, March 30, 2015
Monday, March 30, 2015 8:08:25 PM (GMT Daylight Time, UTC+01:00)
# Thursday, March 26, 2015

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.

Thursday, March 26, 2015 12:23:18 PM (GMT Standard Time, UTC+00:00)
# Monday, March 23, 2015
Monday, March 23, 2015 12:37:15 PM (GMT Standard Time, UTC+00:00)
# Sunday, March 22, 2015

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].

Fig 1 

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

This displays the New Website menu(Fig 3)

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.


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).

Fig 4

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

Fig 5

At the URL textbox, enter the name of your site. The full URL to access this new site will be  
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.

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.


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.

Fig 7

At the URL textbox, enter the name of your site. The full URL to access this new site will be 
where <sitename> 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.

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.


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.

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).

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://<sitename>.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


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.

Sunday, March 22, 2015 8:07:34 PM (GMT Standard Time, UTC+00:00)
# Monday, March 16, 2015
Monday, March 16, 2015 3:00:55 PM (GMT Standard Time, UTC+00:00)
# Saturday, March 14, 2015

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.

Saturday, March 14, 2015 4:14:00 PM (GMT Standard Time, UTC+00:00)
# Friday, March 13, 2015

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.

Friday, March 13, 2015 11:46:15 AM (GMT Standard Time, UTC+00:00)
# Thursday, March 12, 2015

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.


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.


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.


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.


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


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

HackTheAnvil Photos

Thursday, March 12, 2015 2:07:00 PM (GMT Standard Time, UTC+00:00)
# Wednesday, March 11, 2015

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


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.


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.


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

Wednesday, March 11, 2015 1:48:00 PM (GMT Standard Time, UTC+00:00)
# Tuesday, March 10, 2015

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

Tuesday, March 10, 2015 12:26:42 PM (GMT Standard Time, UTC+00:00)
# Monday, March 9, 2015
Monday, March 9, 2015 3:54:00 PM (GMT Standard Time, UTC+00:00)
# Sunday, March 8, 2015

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

Sunday, March 8, 2015 12:38:26 PM (GMT Standard Time, UTC+00:00)
# Saturday, March 7, 2015

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

Saturday, March 7, 2015 8:20:21 PM (GMT Standard Time, UTC+00:00)
# Friday, March 6, 2015

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

Friday, March 6, 2015 1:34:00 PM (GMT Standard Time, UTC+00:00)
# Thursday, March 5, 2015

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

Thursday, March 5, 2015 2:36:32 PM (GMT Standard Time, UTC+00:00)
# Wednesday, March 4, 2015


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.

Wednesday, March 4, 2015 2:45:41 PM (GMT Standard Time, UTC+00:00)
# Monday, March 2, 2015
Monday, March 2, 2015 7:44:28 PM (GMT Standard Time, UTC+00:00)

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

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

Today I am grateful for this new Logitech headset.

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

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

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.

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

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

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

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

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

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

Today I am grateful that every day brings new possibilities.

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

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

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

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

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

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

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

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.

Monday, March 2, 2015 2:19:28 AM (GMT Standard Time, UTC+00:00)