# Sunday, 01 February 2015

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.

Sunday, 01 February 2015 20:45:43 (GMT Standard Time, UTC+00:00)
# Tuesday, 27 January 2015

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!

Tuesday, 27 January 2015 14:01:00 (GMT Standard Time, UTC+00:00)
# Monday, 26 January 2015
Monday, 26 January 2015 17:54:00 (GMT Standard Time, UTC+00:00)
# Sunday, 25 January 2015

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.

Sunday, 25 January 2015 01:25:40 (GMT Standard Time, UTC+00:00)
# Wednesday, 21 January 2015

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.

Wednesday, 21 January 2015 15:20:00 (GMT Standard Time, UTC+00:00)
# Tuesday, 20 January 2015

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.

Tuesday, 20 January 2015 22:00:22 (GMT Standard Time, UTC+00:00)
# Monday, 19 January 2015
Monday, 19 January 2015 22:15:45 (GMT Standard Time, UTC+00:00)
# Friday, 16 January 2015

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

Friday, 16 January 2015 16:07:34 (GMT Standard Time, UTC+00:00)
# Sunday, 11 January 2015

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.

Sunday, 11 January 2015 22:26:04 (GMT Standard Time, UTC+00:00)
# Monday, 05 January 2015

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.

Monday, 05 January 2015 15:00:00 (GMT Standard Time, UTC+00:00)