My adventures with Pluralsight

Last weekend, Saturday September 13, 2014 to be exact, @Pluralsight tweeted out a teaser for the upcoming Play By Play video I did with John Papa.

I got a lot of congratulations, profile views and Twitter follows from this tweet. But the biggest question was “How did this happen?”.

So, here is the story of how I got to work with John Papa.

Back in the spring of 2014 Pluralsight was running a contest to celebrate their 10th Anniversary. The rules were you had to state what your favorite Pluralsight course was and why through a tweet. I chose one of John Papa’s courses as my entry.

After all the entries were cast my name got pulled from the pile. Needless to say I was ecstatic.

The next step was to choose which author I wanted to meet and where. I naturally went for John Papa in his hometown of Orlando, Florida. The final step in the puzzle was to choose the topic to discuss. After much discussion we decided to do an Intro to AngularJS talk modeled on the excellent introductory Pluralsight course AngularJS: Get Started by Scott Allen.

We then decided to meet in Orlando in August. We filmed the video in a hotel room at the Swan and Dolphin Resort in Walt Disney World. There was a lot of activity that day but Pluralsight arranged for everything to go smoothly. We had three cameras and two lights for our taping. As you can see in the behind the scenes photo below we had a blast making the video.

Pluralsight taping with Ken Cenerelli and John Papa

After the taping was complete we all went out to a fine French restaurant in Disney’s Epcot Centre to celebrate.

Les Chefs de France

Pluralsight dinner

After touring around Epcot we watched IllumiNations, the nightly fireworks display.


In all John was a gracious host and a fun person to work with. I learned a lot about AngularJS and what makes it a great framework. My wife and I had a great time and we even made it over to Universal Orlando for part of our trip.

Ken Cenerelli and John Papa

So, watch out for my upcoming video from Pluralsight with John Papa with should be available shortly.

London .NET Developers Windows Azure Cloud Camp presentation slides and source code

LondonDOTNETDevelopersLogoOn Sunday March 16, 2014 I was invited to speak at the Windows Azure Cloud Camp hosted by the London .NET Developers group in London, Ontario, Canada.

This group is led by Tom Walker (@Tinytoot) and his volunteers as they try to spread the word about everything .NET in the City of London.

Tom invited me to speak on Windows Azure Mobile Services (WAMS) and how it could be used in conjunction with Windows Store apps. In my presentation I showed how to use WAMS to add storage, integrated authentication and even Push Notifications to Windows 8 Store apps in literally minutes. I also did some server side scripting and talked about the API calls you can use to populate Live Tiles for your apps.

I have published my slides as a PowerPoint file through Dropbox. They are also available for viewing and download through SlideShare.

As well, I have zipped up my Visual Studio demonstrations and added them to Dropbox. In this file you will find the step-by-step notes to re-create the demos plus all of the code to paste in.

Please contact me if you have any follow up questions from the presentation. My contact information is also available within the slides.

Using Notepad++ to write C# code

Notepad++ is a free source code editor that runs on the Windows operating system. It has become the standard text editor on most developer’s machines and it has replaced the lowly Notepad tool that comes with any Windows OS.

Notepad++ is not only my favourite text editor but it is my favourite tool for development after the Visual Studio IDE.

It is very versatile in looking at all types of files and it has many programming language syntax highlighters built in. It also supports many plugins that can make tedious tasks very simple. Some of my favourites are Compare (for file comparisons), NppFTP (for moving and editing files on different systems) and JSON Viewer (for formatting JSON).

Although I have explored many files with the program I have never tried to write a complete Hello World in C# with it before. This article will explore some of the neat things that you can do with Notepad++ and how we can leverage the tool to write a simple program. We will then compile it using the C# compiler that is available on the Visual Studio Developer Command Prompt.

With Notepad++ you get some of the same features you would with the Visual Studio IDE including:

  • Support for C# keywords including color coding
  • Collapsing of methods and regions to make examining code much easier
  • Auto completion (similar to IntelliSense) for C# keywords and .NET namespaces

To enable syntax highlighting for your Hello World project make sure you set the language to C#.

C# Language

To enable auto complete while coding in any language within Notepad++ press the CTRL + Space bar keys to see the list. You can then arrow up and down within the list to see your options. From there you can hit Enter to insert your selection into the document.

Notepad++ auto completion

Developers can also modify and extend the auto completion options available to them by editing the XML file associated with the language they are working in. You can find this file in the Notepad++ install directory on your computer. Normally this would be the default location of C:\Program Files (x86)\Notepad++\plugins\APIs\

Below you can see what the C# file (cs.xml) looks like when it is opened.

C# Auto Complete XML

As you can see from the list both of the new .NET 4.5 keywords for Async and Await are not available to the user. You could simply add them here to start working with the newest functionality of .NET within Notepad++.

Let’s now return to our Hello World program that we are writing. Notice I have added a second Using statement to the class file below to allow me to raise a message box as well as print the results out to the console. To compile this file you must save it as a *.cs file. You will see I named mine HelloWorld.cs.

Hello World Completed Code

Now open up the Visual Studio Developer Command Prompt and cd into the directory where your saved file is located.

For this next part we will use the command line C# Compiler to make our code executable. The C# Compiler allows us to understand how C# compiles our code and it gives us a deeper understanding of the .NET Framework. While I would not use it for huge projects it is nice to know I can create a C# project without the Visual Studio IDE.

From the command prompt you can run the csc –help command to see the full list of options available to the developer. For general purposes though you will only need a few items:

  • /out allows you to set the file name of the assembly to be created. If not specified then the output is the same as the initial *.cs file name
  • /target:exe allows you to set the default assembly output to an executable. This is the default and it can be removed for this type of application
  • /target:library allows you to set the assembly output to a *.dll
  • /target:winexe prevents the console application from appearing in the background

We can now compile our HelloWorld.cs file into an executable. To do this we can simply enter the following into the command prompt:

csc HelloWorld.cs

Visual Studio Developer Command Prompt CSC Command

We will produce a file in the same locale named HelloWorld.exe.

If we want to be more verbose or if we want to change output names then we can do the following:

csc /target:exe /out:HelloWorld_New.exe HelloWorld.cs

Visual Studio Developer Command Prompt CSC Command With Outputs

This will produce a file in the same locale named HelloWorld_New.exe.

If we run either of these Hello World executable files we will get “Hello” written to the console and “World” written to a message box.

Hello World

In this article I have showed you how to create a C# class file and how to compile it into a Hello World application. Hopefully you have found this blog post useful. If you have other Notepad++ tips please leave a comment below as I would love to read them.

2013 year in review

Now that we are well into 2014 I thought it was time to reflect on the year that passed.

I wrote 10 new articles in 2013 (which is a lot for me). The whole blog received approximately 13,000 page views for the year. WordPress equated my totals this way:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 13,000 times in 2013. If it were a concert at Sydney Opera House, it would take about 5 sold-out performances for that many people to see it.

The most requested article for the year was one I created in 2012 entitled Export an ODBC Data Source in which I outlined the steps to export ODBC data sources from one server to another. I found information in this area lacking and so I knew that by posting it to my blog not only would it help others but it would be a great reminder for myself if I ever needed to do so again.

This year also saw me expand my presentation skills as I spoke at two major conferences. For my successful session submissions I followed the tips I outlaid in an article I wrote on submitting a conference session proposal. The first presentation was at DevTeach Toronto in May and the second was at That Conference in Wisconsin in August. Both were excellent ways to get my feet wet in speaking at larger conferences.

All of my presentation slides are hosted on SlideShare. According to their end of year totals I received 1,143 views of my slides. Or, in other words, SlideShare says:

It would take three full Boeing 747 flights to hold that many people!

Two other things that I did not blog about but which occurred in the second half of the year were the following:

In July I was asked by Microsoft Canada to be a member of the Windows Azure Canadian Community Experts Team. This was quite unexpected as I am just beginning my foray into the world of Windows Azure and I have a lot to learn. That being said I have discovered a group of Canadians excited about spreading the word about Windows Azure who I can definitely learn from.

August saw the publication of the Windows Phone book I was the Technical Reviewer for. Entitled Pro Windows Phone App Development, Third Edition, it was published by Apress and it was written by the fine folks over at Falafel Software.

Pro Windows Phone App Development, Third EditionThis is the second book that I have been the technical reviewer for. I have written an article in the past of the role the technical reviewer plays in helping a book come to fruition. If you have an interest in publishing then I recommend you explore this avenue.

I hope for 2014 that I can be more consistent with my writing. It is a good way to share the knowledge I gain and to give back to the developer community. As well, hopefully I can begin to add more Windows Azure related content to the site as I explore it in more depth.

Thanks for reading and see you in 2014!

That Conference presentation slides and source code

That Conference logo

On Monday August 12, 2013 I had the extreme pleasure of presenting at That Conference in Wisconsin Dells, WI. This was my first time presenting at a conference internationally and I was very fortunate to get into That Conference as mine was picked out of 548 submissions. As well, this year they were expecting over 1,000 attendees so I knew this was going to be a great learning experience.

For this talk I re-worked my presentation from DevTeach Toronto in May. My session again was called Maximizing code reuse between WP8 and Windows 8 but this time around I was able to delve into the topic more deeply. During the 60-minute seminar I showed the differences between Windows Phone 8 & Windows 8 and how we can bridge the gap between the two to better leverage the code we write so that it can work on both platforms.

I have published my slides as a PowerPoint file through Dropbox. They are also available for viewing and download through SlideShare.

As well, I have zipped up my Visual Studio demonstrations and added them to Dropbox. In this file you will find the starting templates I used to build out the demos as well as the end solutions.

Please contact me if you have any follow up questions from the presentation. My contact information is also available within the slides.

Related Articles:

10 tips on submitting a conference session proposal


Get every new post delivered to your Inbox.

Join 82 other followers