# 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?

Tuesday, 19 May 2015 13:31:00 (GMT Daylight Time, UTC+01:00)
# Monday, 18 May 2015
Monday, 18 May 2015 06:24:20 (GMT Daylight Time, UTC+01:00)
# Saturday, 16 May 2015

A year ago, the Chicago Coder Conference was a popular conference with presentations on Java development. This year, the organizers reached out to the local .NET community to expand the conference to include Microsoft technologies. Local user group leaders and Microsoft Evangelists (including me) found speakers to deliver content on .NET, Azure, and mobile development to complement the Java presentations.

The resulting conference took place Thursday and Friday May 14 and 15 in the Chicago Loop. Over 400 attendees showed up to hear presentations on everything from Cryptography to Exception Handling to software testing. It was impressive to see attendees from the Java and .NET communities exchanging ideas.

Many Java developers stopped by the Microsoft booth to share their impressions of the Redmond-based company - some positive and some negative. Many were appreciative of the fact that Microsoft was sponsoring what had been a Java-only conference and still contained more Java than .NET content.

It was good for me to hear the ideas of Java developers - one presenter passionately lamented the absence of a free tool to test static .NET methods.

And it was good for them to learn about some of the open source and cross-platform technologies available from Microsoft - most were unaware that you could deploy Linux, MySQL, and Oracle to Azure.

The event was a great success and everyone seemed to enjoy it. Next year should be even better.
Tim Bedrock

Eric Boyd


Saturday, 16 May 2015 17:38:54 (GMT Daylight Time, UTC+01:00)
# Friday, 15 May 2015

Xamarin is a familiar name to mobile developers. The company is known for its tools that allow developers to build applications that will run the same code-base on Windows, Android, and iOS devices, making it easier and faster to build cross-platform applications. This spring, the folks at Xamarin are travelling across America delivering a series of Dev Days - a combination of classroom training and hacking.

The tour kicked off Saturday in Chicago, where I was happy to attend and participate; and Microsoft was happy to sponsor by providing the space.

James Montemagno of Xamarin began with an introduction Xamarin development, followed by an introduction to Xamarin forms. Afterwards, I showed the audience how to use Azure Mobile Services build a backend data store for a Xamarin app. Finally, Michael Stonis - a local Xamarin MVP and instructor at Xamarin University - delivered a presentation on applications for wearable devices.

Of course, there was plenty to eat - most notably Chicago-style stuffed pizza.

You can learn more about Xamarin Dev Days, see in which cities they are scheduled, register for these events, and even request a Dev Days event in your town at http://xamarin.com/dev-days.

Most of the afternoon was spent hacking. Attendees could either build an app of their choice or they could work through a set of labs provided by Xamarin. A few people left after the lectures ended, but many stuck around until the end of the day to put to use what they learned in the morning.  About 70 people attended and most came away with an improved understanding of the platform. And with a full belly.

Friday, 15 May 2015 04:48:41 (GMT Daylight Time, UTC+01:00)
# Tuesday, 12 May 2015

The first Ignite conference was not what I expected - at least my experience was unexpected.

Ignite is a a new conference that  replaces Tech Ed North America and a few other national technical conferences. In its inaugural year, it was scheduled at the McCormick Place convention center in Chicago, which was lucky for me because I recently moved to Chicago.

I wanted to attend and I tried everything I could think of to get a ticket to Ignite (short of actually buying one, of course); but I had resigned myself to watching from the sidelines. However, the evening before Ignite began, I received an email asking if I could work the Office 365 booth at Ignite. I accepted and was excited to attend. I spent Sunday night learning all I could about Office 365,

I was overwhelmed by the interest in Office 365. The steady stream of attendees did not trail off until Wednesday afternoon. Serving 5 hours a day on booth duty made it difficult to attend any sessions before Friday morning; but I did get a chance to explore the Expo area, where dozens of companies and organizations showed off their products and services.

The Expo ended Thursday, so I was able to attend a few sessions on Friday. I saw presentations on Windows 10 management, ASP.NET 5, and Automated Testing.

By one measure, I missed much of the conference because I wasn't able to attend any sessions Monday through Thursday. But I spoke with a number of smart people in the Expo Area and exchanged quite a few ideas, which was a big success. And I was forced to ramp up quickly on Office 365 development in order to perform my role as a booth babe. They even let me wear a shirt with the word "Expert" on the back.

Overall, I learned a lot this week, which is the primary reason I attend these concerts. Oh, and also Fall Out Boy. The Fall Out Boy concert Thursday night was pretty good.

Current and INETA board members at the Ignite Expo

Donovan Brown speaking at Ignite.

Fall Out Boy in concert at the Ignite conference

Tuesday, 12 May 2015 20:02:44 (GMT Daylight Time, UTC+01:00)
# Monday, 11 May 2015
# Saturday, 09 May 2015

I first became aware of INETA – the International .NET Association - when I was running a .NET user group in the Detroit area. Every once in a while, they would offer us some free books, software, t-shirts, and other prizes to give away to our members.

Later, I was asked to become a Regional Mentor for INETA, which meant that I approved new user groups for membership (mostly just verifying that the group actually existed and held regular meetings) and that I provided advice for user group leaders and new groups in my region. For about a year, I hosted a monthly call with local user group leaders and I corresponded frequently with new leaders, giving them advice on running a group or find speakers. At one time, I covered Ohio, Michigan, West Virginia, and Pennsylvania, but I later delegated some of those states to others who wanted to be involved.

In 2012, I joined the INETA Board of Directors, where I served for about 2 years. I was impressed with the dedication of a team that volunteered so much time to help out the developer communities spread across the US and world. It was a great experience.

My point is that INETA has touched my life in significant ways. I was a beneficiary, then a proponent, then an active member of the leadership team. I learned a great deal; I made many friends and contacts; I and my user group benefited from their programs; and I contributed in a small way to the success of the organization. Their speaker program has helped me to travel to a number of user groups and helped me bring to my group speakers who might not be able to travel as far.

Last week, I learned that INETA is coming to an end. President Julie Yack announced on the organization's blog that, after 13 years, they would close down at the end of 2015. With no steady stream of revenue, the group could no longer afford to finance the programs they wanted to. I was saddened to hear this news but I'm happy that INETA was so successful for so long.

I'm grateful to all those who volunteered to make it so successful for so long - particularly those with whom I worked directly. And I'm grateful that INETA helped so many people who went on to volunteer and help others, which magnified their efforts.

And I'm glad I was a part of INETA. It's a badge I wear proudly.

Saturday, 09 May 2015 13:02:08 (GMT Daylight Time, UTC+01:00)