# Tuesday, 09 June 2015

There is a myth that Microsoft Azure is only of use to people work primarily with Microsoft technologies. One can understand how this confusion occurs – the product has the word “Microsoft” in its name, after all. But this simply is not true.

Microsoft Azure is a cloud computing platform built by Microsoft. As you would expect, you can host in Azure Windows Virtual Machines, ASP.NET applications, back-end services written in C#. These are all Microsoft technologies, so it's not surprising that Microsoft Azure is built to handle them.

But what if you are not a Microsoft technologist? What if you work with Linux or write in Java or Python or PHP? What if you build applications that run on an iPhone, iPad or an Android device? Is Microsoft Azure relevant to you? are non-Microsoft operating systems, languages, and platforms supported on Microsoft Azure? You may be surprised that the answer is a definite "Yes".

Here is a list of some of the non-Microsoft technologies supported in Azure.

Virtual Machines

You can install any operating system or software you like onto an Azure Virtual Machine (provided you have the proper licensing, of course). There is a Gallery of images with pre-installed software that you can uses as a template for quickly creating a new Virtual Machine. Of course, you'd expect to find images with Microsoft Windows pre-installed (Fig 1).

NewVM-Microsoft
Fig 1

but you may be surprised to see a number of flavours of Linux (e.g., Ubuntu, Suse, and Oracle) represented in this gallery (Fig 2, 3).

NewVM-Ubuntu
Fig 2

NewVM-Ubuntu  
Fig 3

Web Apps

Web Apps (formerly known as "Azure Web Sites") are a simple way to build a web site or application on Azure. These applications typically run on Windows and on IIS, but IIS is a flexible web host capable of supporting many different languages and platforms. As a result, you can write your server-side code in Java, Python, PHP, or JavaScript (using node.js) and it will work on an Azure Web App. There are even pre-built templates in the Web App Gallery built on top of non-Microsoft technologies. With a few clicks, you can create a new site built on WordPress, Drupal, or Joomla (Fig 4, 5), even though these content management systems are built with PHP, Python, and MySQL.

NewWebAppGallery
Fig 4

NewWebAppGallery-2
Fig 5 

Web Apps also support automated deployment from a variety of source control systems. Click the Set up deployment from source control link on your web app's dashboard and select from GitHub, a local Git repository, BitBucket, or even Dropbox to configure automated deployments from your source control repository, as shown in Fig 6.

Deployment
Fig 6

Mobile Services

Azure Mobile Services provide a simple way to create a back-end data service for your mobile application. Reading and Writing capability to this data store is exposed via a REST interface, which is exposed through HTTP and JSON. Because HTTP and JSON are web standards, these services can be called by virtually any client. Mobile Services will even generate sample code to access a Mobile Service so you can use it as a starting point in your mobile application. Select the generated code for Windows (in C# or JavaScript); for iOS (in Objective-C or Swift); for Android (in Java); for a single-page application (in JavaScript); or for a Xamarin or PhoneGap application, as shown in Fig 7.

MobileServiceClients
Fig 7

Mobile Services also supports single-sign-on through a variety of Authentication Providers. Most of the work is done through configuration, meaning you don't need to write much code. Google, Facebook, and Twitter are among the authentication providers supported out of the box (Fig 8).

SingleSignOn
Fig 8

Cross-Platform Command-Line Tools

If you do a lot of work with Azure, you will find yourself wanting to automate some of tasks, such as creating and deploying virtual machines, configuring storage accounts, and setting security on services. For years, the best ways to do this were via a REST API or a set of Powershell commandlets that call those APIs. Now, a set of cross-platform command line tools allow you to write bash scripts on Mac or Linux to perform these same automation tasks.

Management Tools

Azure supports a number of management tools that are popular in the Linux world. Among these are Chef, Puppet, and Docker. VM Images and add-ins make it easier to use these tools.

Caching

A caching service was one of the first services built for Azure. But now that service has been deprecated in favor of the popular Open Source Redis Caching Service.
Marketplace

Azure supports a number of third-party offerings in the Azure Marketplace. Here, you can find tool, such as Mongo and Raven as a service; or data feeds, such as address or phone number verification services. Items listed in the Marketplace are offered by third party companies, so some are free; some cost money; and some offer a free version that you can upgrade to a paid version. This list is growing every month.

Finally…

Azure might or might not be the perfect solution for your application or data. But, if you are considering a cloud platform, do not exclude Azure simply because you aren't using any Microsoft technologies. Azure is flexible enough to support a wide range of technologies - even those that compete directly with Microsoft.

Tuesday, 09 June 2015 22:14:51 (GMT Daylight Time, UTC+01:00)
# Monday, 08 June 2015
# Sunday, 07 June 2015

6/7
Today I am grateful for an evening with my mother yesterday.

6/6
Today I am grateful for dinner with my son Tim yesterday.

6/5
Today I am grateful for a chance to hear Microsoft CEO Satya Nadella talk with a small group of startups yesterday in Chicago.

6/4
Today I am grateful I was able to lose 25 pounds in the past 5 months.

6/3
Today I am grateful for my camera.

6/2
Today I am grateful for all the items I crossed off my "To Do" list yesterday.

6/1
Today I am grateful for a Mass yesterday at St. Michael filled with amazing music.

5/31
Today I am grateful for an amazing trip to Europe, the things I saw, and the people I met there.

5/30
Today I am grateful for a day in Uppsalla, Sweden with Tiberiu and his family.

5/29
Today I am grateful for an excellent dinner last night in Stockholm with Julie, Ward, and Patricia.

5/28
Today I am grateful for a chance to explore Stockholm yesterday with Jimmy.

5/26
Today I am grateful for a visit to the Vasa Museum, a walk through Stockholm, and end-of-day dinner&drinks.

5/25
Today I am grateful for the men and women who gave their lives in defense of my country.

5/24
Today I am grateful for a tour of Corvin Castle yesterday in Hunedoara, Romania.

5/23
Today I am grateful to be part of an excellent IT Camp this year.

5/22
Today I am grateful to re-connect up with so many speakers that I met last year in Romania and haven't seen since.

5/21
Today I am grateful I am back in Romania for the second year in a row.

5/20
Today I am grateful for the stranger who picked up my cab fare in Munich.

5/19
Today I am grateful that my back pain subsided enough that I could go to the gym yesterday for the first time in weeks.

5/18
Today I am grateful that I found 2 videos that I thought were lost forever.

5/17
Today I am grateful for: A moving, very personal eulogy by Jay yesterday about his wife Amy, that brought all of us to tears. The fact that I live close enough to attend Amy's funeral yesterday. Seeing Scott drive 16 hours in 1 day to say goodbye to a friend. Jason, who shared his umbrella with me when it rained at the grave site.

5/16
Today I am grateful to all who made the Chicago Coder Conference this week a success.

5/15
Today I am grateful for dinner last night with Jason, James, Oksana, and Krystin.

5/14
Today I am grateful for the inspiration I draw from the strength displayed by my friends who are struggling with tragedies in their lives.

5/13
Today I am grateful for dinner with my son Tim last night.

5/12
Today I am grateful for an evening with the folks at the SE Michigan JavaScript group, helping them celebrate their second anniversary.

5/11
Today I am grateful I was able to make it back to Michigan yesterday to spend Mother's Day with my mom.

5/10
Today I am grateful for my mother Joyce Giard, for all she has done and for all she has come through.

5/9
Today I am grateful for all the old friends who are in town this week for #MSIgnite.

5/8
Today I am grateful to attend the Fall Out Boy concert last night.

5/7
Today I am grateful for an evening at the Vertigo Sky Club.

5/5
Today I am grateful for dinner last night with Betsy Weber and the folks at TechSmith.

5/4
Today I am grateful for a chance to help at the INTX Hackathon this past weekend. #INTXHack

Sunday, 07 June 2015 14:38:00 (GMT Daylight Time, UTC+01:00)
# Thursday, 04 June 2015

DevSum

This was my first time at DevSum and my visit to Sweden. In its tenth year, the conference topped 600 attendees. I was surprised by the number of speakers from America, but this fact was a big help to me because many of the Americans introduced me to other speakers, allowing me to expand my professional and personal network.

Patrik Löwendahl, CTO of Avanade Sweden, kicked off the conference with a thought-provoking talk about the challenges facing the software industry.

IMG_1528 I had a chance to see a few other presentations, including Mike Wood's Azure tools talk (condensed to 50 minutes from its usual 90 minutes); a security presentation by Niall Merrigan, in which he pretended to hack into a bank; and a very entertaining rant by Hadi Hari about "Silver Bullet Syndrome" in which he warned that there  are no easy solutions (such as new frameworks or methodologies )to software problems.

Monday afternoon, I gave a talk on Data Visualization. It's a talk I've given many times before, but I added a few new slides for this presentation and it was very well received. Several people approached me after to tell me they enjoyed it and learned from it.

I also was able to squeeze in an interview with Mark Rendle about the new features of C#.

Stockholm

IMG_1547 I spent a lot of time walking around Stockholm. The day before the conference, a group of conference speakers went to the Vasa Museum, which tells the story of the 17th century Swedish warship inside that sank on its maiden voyage and was recovered 3 centuries later. Tuesday afternoon, Chris Woodruff and I explored Old Town - the oldest part of the city - and took a guided tour of the Nobel Museum.

IMG_1599 Wednesday, Jimmy Bogard and I spent the entire day walking around Stockholm. We toured the museums of the Royal Palace and we visited Skansen - an open air museum, featuring reconstructed buildings from various periods of Swedish history and animals from all around Sweden.

Thursday, I bought a pass for the tourists buses and boats. The bus drove around the city while a recording described each landmark as we passed, telling a bit of the history and culture of the landmark. The boat ride gave a similar tour for the waterways around Stockholm. The city is located on a waterway containing an archipelago of over a hundred islands. These tours gave me a brief overview of the city highlights and also provided respite for the blister that had formed on the bottom of my foot. Following the tours, I went to the Gondolan - a restaurant suspended hundreds of meters above Stockholm that provided spectacular views of the city; then to the Photography Museum, where I saw 4 excellent exhibits. I ended the day, sharing an excellent meal with Ward Bell, Julie Lerman, and Julie’s friend Tricia.

Uppsalla

IMG_1775 Friday I took a train to Uppsalla, a university city north of Stockholm, where Tibi Covaci and his family met me and we explored the local church - a beautiful building from the 15th century and walked around the town. A local priest told us that university students were graduating today and that we could expect to hear cannons firing in their honor.

Final Hours

Friday evening, I went for a long walk north and west of my hotel - a neighborhood I had not yet explored. It was good to explore the city, even though I got lost a couple times.

This was, by far, the farthest north I've travelled in my life. The daylight hours in Stockholm are surprisingly long this time of year. The sun rises at 3:50AM and did not set until 9:40PM. This is part of the reason I did not get as much sleep as I should have.

I will carry this trip with me the rest of my life. I visited with old friends, saw a new part of the world, and met many smart people.

WP_20150527_11_52_15_Panorama_edited-1

 


More photos

DevSum

Thursday, 04 June 2015 02:27:52 (GMT Daylight Time, UTC+01:00)
# Tuesday, 02 June 2015

IMG_1422

I spoke last year at IT Camp in Cluj, Romania and my friend Mihai invited me back again this year. The IT Camp organizers treated me so well last year, I felt I must return this year.

Getting from Chicago to Cluj was an adventure lasting almost 20 hours. I left Chicago Tuesday evening at 9PM and arrived in Cluj at 1AM Thursday morning (local time).

My itinerary included a 9-hour layover in Munich, so I decided to leave the airport and visit downtown Munich. Luckily, a train runs directly from the airport to the city. Unluckily, the train  was out of service because the local workers were on strike. Luckily, I shared a taxi with a woman travelling to Munich from Heidelberg and she picked up the fare. Unluckily, the weather in Munich was cold and rainy. I had been to Munich a quarter century earlier and I remembered its pedestrian area filled with shops, cafes, and beer gardens. I had lunch and a beer at the famed Munchen Hofbrauhaus and a coffee at a local cafe. But I grew tired of walking around in the bad weather, so I returned to the airport to await the next leg of my flight.

I finally arrived in Cluj around 1AM the morning of the conference. Conference organizers came to the airport to pick me up (one of the many ways they spoil their speakers).

IT Camp was as good as I remembered from last year. In 2014, I was one of three Americans but this year no one else came from the US to speak. I remembered many from last year and they made me feel welcome.  Speakers came from all over Europe. Much of the conference content focused on Security and on Azure and I was able to learn quite a bit from the other speakers.

IMG_1367 Unlike most conferences, IT Camp opened with multiple keynotes. Organizers Mihai and Tudor kicked things off and quickly introduced the mayor of Cluj, who boasted of the emerging technology industry in his city.  The first keynote was an excellent talk on security by Paula Januszkiewicz, which focused more on human issues than on technology. Peter Leeson returned as a keynoter to talk about Organizational Sociology and Anthropology in Tech Companies. Peter’s talk was also not technical (Peter is a business anaylyst, not a technologist) but was very informative.

My presentation on Azure Mobile Services was well-received, even though one of my demos inexplicably failed. I participated in a Panel to answer audience questions about Azure. This inspired a lively discussion from the audience about some of the challenges of adopting cloud computing.

We stayed at the Hotel Grand Hotel - a 5-star hotel overlooking Cluj; the organizers treated us to excellent dinners every night; and IT Camp has a tradition of taking speakers on a cultural excursion the day after the conference. This year, we all travelled to Corvin Castle for a tour of this castle built in the 15th century.

IMG_1466

The castle was a 3-hour bus ride from our hotel and we all went for a gourmet dinner in downtown Cluj after returning, which meant that I didn't get to sleep until nearly 2AM. This was a problem because I had to wake up at 4AM for an early-morning flight to Stockholm. My band tracks my sleep patterns and it announced (rudely) that I only slept 93 minutes that night. But I made it and napped on the plane and arrived tired at the hotel in Stockholm, ready for my next adventure. You can read about that trip here.

IMG_1499

Links

More photos

IT Camp Site

Tuesday, 02 June 2015 23:44:37 (GMT Daylight Time, UTC+01:00)
# Monday, 01 June 2015
Monday, 01 June 2015 16:41:00 (GMT Daylight Time, UTC+01:00)
# Thursday, 28 May 2015

Sometimes, my job throws me an unexpected and pleasant curve. After spending a few months, travelling the country and teaching the fundamentals of Web Development and Cloud Development, I was asked to join my team in Redmond, where we would spend a couple days building some cool projects.

As is true with most trips I make, I arrived without a plan. Fortunately, I was assigned to a team and some of my teammates had been planning what we would build. Jennifer Marsman has been researching the Big Data capabilities within Azure for months, so she suggested that we build something that will utilize these tools. Tim Benroeck suggested an idea that would integrate social media with TV watching, so we did that.

Tim noticed that many people enjoy watching a live TV event while interacting with others over social media. But that experience is nearly impossible if you record the TV show and watch it the following day - Twitter has moved on and it's difficult to go back into the Twitter stream and find Tweets that are relevant for each point in the show (especially if you want to avoid spoilers).

So we built a system that would save to Azure storage all tweets for a set of hashtags during a given time and capture the time of the tweet, along with other relevant metadata. A user could then play back the show later and immediately start the relevant saved Twitter stream at the same point. Tweets would flow by in simulated real time, so the viewer could read social media reactions to The Bachelor's choices or to the death of someone's favorite Game of Thrones character.

The system used HDInsight STORM technology from Azure to retrieve Tweets containing a given set of Hashtags (e.g., "#GameOfThrones" and "#GoT") and push them into a Hadoop HBASE database, saving all metadata about each tweet, including the time and source. Tweets were imported in real time and in "archive" mode (we queried old tweets) using the TweetInvi API. We then allowed users to start "Playing" the tweets at a given time and displaying them in the same order and with the same delay as they were originally tweeted. Viewers could then start watching last night's show and begin the archived Twitter stream at the time the show originally aired and enjoy the social media experience along with the show.

I spent most of my time working on the user interface - a Windows 10 application built with HTML5 and WinJS. It gave me my first experience writing a Windows 10 app and my first significant experience with WinJS.

Many people from the product teams were on hand to help us.

This was a great learning experience for me personally and for the rest of my team.

We dubbed our creation "TweetDVR".  You can view the source code at  https://github.com/jennifermarsman/TweetDVR

Thursday, 28 May 2015 09:12:58 (GMT Daylight Time, UTC+01:00)
# Monday, 25 May 2015
Monday, 25 May 2015 14:27:00 (GMT Daylight Time, UTC+01:00)
# Friday, 22 May 2015

In 2048, historians are not content to study history by reading old documents and visiting ruins. The historians in Oxford have developed a time machine and they use this machine to travel back in time and observe historic events first-hand. 

In Connie Willis's The Doomsday Book, young historian Kivrin travels to the 14th-century to view life in the Middle Ages. The Time Travel technology has built-in safeguards to prevent time paradoxes, but 2 crises strike shortly after Kivrin goes back in time:
An influenza epidemic strikes 21st-century Oxford, prompting government officials to quarantine the city and debilitating many working on the time-travel project and prompting the department head to shut down the time machine, preventing anyone from rescuing Kivrin. 
An error in the time calculations has placed Kivrin 2 decades later than they planned, leaving her in the path of the bubonic plague, just as it reaches the region of England she is exploring.

The story follows 2 parallel paths - Kivrin interacting with the locals in the 14th Century and her mentor Mr. Dunworthy trying to engineer her rescue.  Time seems to move at the same rate in both periods and both protagonists face similar challenges - a mysterious disease disrupting their society., ignorant authority figures obstructing their efforts, and the illness and deaths of those who might help them.

The book has some flaws. Kivrin's story in the 14th century is much more compelling than the 21st century story. The characters are more real and more tragic. And the science doesn't hold up as well as I would like - the 21st century protagonists have discovered the secrets of time travel but struggle to communicate because the land lines are not working properly.

But I liked it.

I liked the historical perspective of The Doomsday Book; I liked the interweaving of the characters; I liked the plausible descriptions of the physical rules of time travel (a technology that might or might not be possible); I liked the fact that the protagonist was female (rare in time travel stories); and I liked the way Willis drew parallels between the two stories taking place "simultaneously" in different centuries.

For a story with sympathetic characters, suffering a crisis of medicine and a crisis of faith, Doomsday Book holds up very well.

Friday, 22 May 2015 14:19:09 (GMT Daylight Time, UTC+01:00)
# Tuesday, 19 May 2015

Are you looking for training on software, but are on a limited budget? You are in luck. Microsoft Virtual Academy has free training on everything from Azure to Windows 10 development to Exchange Administration.

The courses are delivered by Microsoft engineers or partners - many of them leaders in the software industry. The courses I looked at ranged in length from 5 minutes to 8 hours and combine lecture, slides, and demos.

You can browse courses by topic (such as HTML5, App Development, or DevOps) or by a specific product (such as Windows Server, Microsoft Azure, or SharePoint). Of course, there is also a search box where you can enter a word or phrase in the title of the course you are seeking.

There are two ways to watch an MVA course - live or archived. Watching a course live has the advantage that you can ask questions during the broadcast. The presenters and a few others are available in a chat room to answer your questions.  Archived courses are nice because you can pause them and even download them to your PC or mobile device in the format of your choice. Want an idea of the quality of the course before you watch it? Viewers rating scores are published, along with the number of people who rated the course to give you an idea of the validity of each rating.

Each course is assigned a level (100 for content targeting Beginners up to 400 for Expert content); and each course is dated, which makes it easy to decide if it may be obsolete (an important consideration when talking about fast-moving technology like Microsoft Azure).

If you make it through a course, you can earn “points” but I have not figured out what these points are good for. I think they are kind of like the points on Whose Line Is It Anyway?

The biggest problem with Microsoft Virtual Academy is that there is so much material. There is literally more content than you can possibly watch. So the challenge becomes trying to find the courses most relevant to you. As of this writing, there are over 80 courses just on Visual Studio 2013 and nearly 70 on Microsoft Azure.

You can find these hundreds of online courses at http://www.microsoftvirtualacademy.com. Did I mention they are all free?
MVA

Tuesday, 19 May 2015 13:31:00 (GMT Daylight Time, UTC+01:00)