Archives For presentations

By my own personal standards I consider myself an amateur when it comes to delivering public presentations. I’ve been doing it for a few years now and have, maybe, 300 presentation hours under my belt. I haven’t delivered presentations to audiences of 1000+. I think my biggest audience was 500 max, but I’m not the kind of person who gets an ego boost from standing up in front of a huge crowd.

When I first started delivering presentations I was working under the idea that I could simply develop a presentation then deliver the same presentation multiple times to different audiences. However, as I look back on the presentations I have given and the presentations I’m going to deliver (in fact I’m en route to one as I write this), I’m pretty sure I’ll never give the same presentation twice. My reasoning for this is pretty simple, I don’t want to.

To consistently give the exact same talk (canned presentation) or a minor variant, would be limiting myself, and, in my opinion, disrespectful to the audience. You might be wondering, “How can this possibly be self limiting?” Delivering the same presentation means I’m limiting myself from learning from the presentation I just gave. I believe there is always room for improvement, not gilding the lily mind you and going over the top, but just making it better. In fact, I feel an obligation to future audiences to make my presentations better. If I don’t go for improvement when I know I can isn’t that snubbing the audience and saying, in effect, “I don’t value your time”? Is that acceptable?

Let me give a concrete example to bring my point home. Currently I’m on a Frontier airlines flight from Minneapolis to Dallas via Denver (their warm chocolate chip cookies are great by the way) where I’ll be delivering two talks at the Share Cloud conference. One of my talks at the conference is entitled “You Can Do What in Windows Azure?!” During the session I show a number of things you can do with the Windows Azure platform that you are probably not aware of. I gave a similar talk in January, but felt I could do better. Specifically I felt the 10+ demos I did as a part of the talk were interesting, but they weren’t really connected. They were simply one-off demos. For Share Cloud I scrapped the demos and built a new set of demos from the ground up. This time the demos are all connected and tell a great end-to-end story about the possibilities of the Azure platform by showing how all of the great features can work together. I’m really pleased with what I’m going to present tomorrow and I hope the audience is as well. Of course I’m sure I’ll be improving upon it in the future.

If you’re at the Share Cloud conference tomorrow stop on by and let me know how you think the talk went.

Gotta get back to my chocolate chip cookie before it cools off.

ag

Yesterday Mike Benkovich hosted a webcast on Windows Azure AppFabric. Mike did most of the talking and I answered questions as they popped up during the course of the event. The bulk of the presentation was focused on Access Control. As I Mike said in a post webcast call

Access Control is kind of like flossing your teeth. Everybody knows they should do, but nobody gets excited about it.

While this may be true, you should take a look at Windows Azure AppFabric Access Control as it is fairly straightforward to implement and takes the burden of authentication away from your applications.

The presentation also touches on two other pieces Windows Azure AppFabric, the Service Bus and Caching. I highly recommend you take some time out of your day (or night) to take a listen to the replay of the meeting. You can get it here.

I know it’s a little last minute, but if you’re looking for something to do over the lunch hour today feel free to join Mike Benkovich and myself in an MSDN webcast where we discuss AppFabric. Here’s a description of the webcast:

It’s more than just calling a REST service that makes an application work; it’s identity management, security, and reliability that make the cake. In this webcast, we look at how to secure a REST Service, what you can do to connect services together, and how to defeat evil firewalls and nasty network address translations (NATs).

You can find out more info about the session and register here: https://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032471035&EventCategory=4&culture=en-US&CountryCode=US.

I hope to see you online!

Advanced Roles in Azure

February 1, 2011

On February 10, 2011 I will be speaking at the Twin Cities Cloud Computing User Group on Advanced Roles in Windows Azure. During the course of the topic I’ll cover the following topics:

  • Service Model Enhancements
  • Administrative Access and Startup Tasks
  • Remote Desktop
  • Local Storage
  • Input & Internal Endpoints
  • Windows Azure Connect

You can get more information about the meeting and register to attend here.

I hope to see you there!

On Tuesday, November 9, 2010 Presented at the Twin Cities Developer Group on Silverlight and the Managed Extensibility Framework (MEF). Here’s brief overview of the session:

In certain .NET circles there has been a lot of talk as of late about the Managed Extensibility Framework, or MEF. You may have even heard some of this chatter, but you’re probably asking yourself “What the heck is MEF and why should I care?” At its core, MEF is a library for creating lightweight, extensible applications. MEF is an integral part of the .NET Framework, and Silverlight 4 shipped with out-of-the box support for MEF. In this session we’ll dive into the guts of MEF looking at what it is, why you might want to consider using it, and how to actual implement MEF in your Silverlight applications.

You can download the source code for the session demos here.

On September 8, 2010 I led a Hands On Lab at HDC10 entitled Silverlight Bootcamp. The purpose of the hands on lab was to get attendees’ feet wet with Silverlight. The session was a sellout, and while we had some technical difficulties at the beginning (not everyone had the pre-reqs downloaded, SQL Azure connectivity issues, etc.) I think it went OK. Ideally we would have had a longer session, with appropriately configured machines for each attendee, but some times you just have to take what you’re given and make the best of it.

During the class we covered a number of topics from the Entity Framework to WCF RIA Services to MVVM to Unit Testing to OData to Windows Phone. I’ve decided to post the content from the class for you to take a look at.

To run all the labs you’ll need the following pre-requisities:

Microsoft Visual Studio 2010

Microsoft Silverlight 4 Tools for Visual Studio 2010

WCF RIA Serivces V1.0 for Silverlight 4 and Visual Studio 2010

Windows Phone Developer Tools Beta

OData Client Library for Windows Phone 7 Series CTP (yes, it does work with the beta tools)

Silverlight Media Framework

Applicaiton Bar Icons for Windows Phone 7 Series

I created a .zip file that contains all of the pre-reqs (with the exception of Visual Studio). You can grab that file here.

You can download the labs here. Each lesson within each lab contains begin and end code so you can see what we started with and where we ended up.

During the class we used a SQL Azure database. For hopefully obvious reasons, I’ve disabled the login we used during class. However I have uploaded the .mdf for you if wish to run the database locally. You can get the .mdf here.

Questions, issues, thoughts? You know where they go…

I’m Back!

September 7, 2010

After my last post I unplugged…completely unplugged…for three months! I did this for several reasons, but the main one was that I felt the noise to signal ratio I was getting from a number of inputs was way too high. I was overloaded with, what turned out to be, primarily meaningless, unactionable information. I’ve also been moving into a new role at my company, and the demands the role has placed on me requires me to be very efficient with my time. Spending my time sifting through information to separate the wheat from the chaff is a luxury I can no longer afford. To that end, I spent the past three months digesting J.D. Meier’s new book Getting Results the Agile Way and coming up with a strategy for making the best use of my time. There are several practices that I’ve come to rely heavily upon:

  1. Daily results The goal is to identify three, AND ONLY THREE, important outcomes that you want accomplish in a given day. Often times we try to accomplish more than we can in a given day, leaving us with a feeling of failure. The reality is that we’re simply failing to focus. By limiting our daily scope we can actually get more done.
  2. Brain dumps The goal is to factor your thinking from your chatter and reminders. At it’s essence, you simple take anything, and everything that is on your mind and write it down (either to physical or digital format – I prefer OneNote & Evernote). The result is that you relieve yourself of a certain psychic weight that enables you to focus on the important things.

I also hold a daily personal standup meeting. I know it sound a bit silly, but it helps me focus on my priorities for the day. Spending just 10-15 minutes to plan each day has helped me get a better handle on the day’s tasks.

During this three month period I also had the goal of getting a grip on my email. Like many of you I have a number of email accounts. Between my corporate, client, and personal email addresses, I have over 10 accounts to maintain. That can be a lot of information coming from a lot of different directions at the same time. Unfortunately, due to various, client firewall policies, consolidating these accounts into a unified inbox with something like Exchange Web Services {LINK} isn’t an option. I figured the best approach would be to process messages the same way for each account. I also set a standard of having zero emails in my inbox at the end of each day. To accomplish this, I once again turned to J.D. Meier. In case you don’t know who J.D. is, he is a legend within Microsoft for getting things done. The guy is a machine. He multi-tasks better than anyone I’ve seen. Several years ago J.D. wrote a blog entry on the Zen of a Zero Mail. I took his general approach, made some customizations based on personal work style, and applied to each my email accounts. I’m happy to say that as of today I’ve been experiencing the Zen of a Zero mail for a solid two months.

With all of that said, just because I’ve been silent here and other places, doesn’t mean I haven’t been busy. I’ve been spending a fair portion of my time getting immersed in Windows Phone 7 development. I have a couple apps that are near completion, and a couple of more that are in the early phases of development. I’ve also been working with J.D. Meier and the Patterns and Practices team at Microsoft on the following projects:

  1. Microsoft Developer Guidance Maps. The Microsoft Developer Guidance Maps Project is an effort to create a model and a map of resources for developer guidance. The goal is to simplify as well as better organize and share our catalog of developer guidance resources. We’re using this catalog as a way to model, prototype, and test ways to find, organize, and share developer guidance in a meaningful way. As part of the exercise we’ll be creating and sharing our maps of pointers to useful code samples, how to’s, videos, etc. for the Microsoft application platform.
  2. Windows Azure Security Notes. This is a collection of our notes and learnings from exploring the cloud security space and working through Windows Azure security scenarios.

There are also a couple of projects I can’t talk about just yet, but they bring together Microsoft’s cloud and mobile platforms in some very interesting ways. As these projects progress and clients are willing to share a bit more you’ll be the first to know.

I’ve also been busy prepping content for the following presentations I’ll be giving this fall/winter:

  1. Heartland Developers Conference
    • Silverlight Bootcamp
  2. Minnesota Developers Conference
    • Introduction to Windows Phone 7 Development
    • Tablets: The iPad and the Future of Mobile Computing
  3. Twin Cities Code Camp 9
    • Multi-targeting WPF, Silverlight, and Windows Phone 7
    • Getting Down with MEF – Silverlight Edition
  4. Twin Cities .NET Developer User Group
    • Getting Down with MEF
  5. Twin Cities Developers Guild
    • Getting Down with MEF – Silverlight Edition
  6. Twin Cities Cloud Computing User Group
    • Windows Azure Security Guidance

(I hope to see you at a least one of these great events).

I’m also working on a screencast series that I’m tentatively calling "Silverlight Sprints". It’s an adaption of my Silverlight Bootcamp class. The goals is to have a series of episodes (no longer than 10 minutes each) that will get you up an running with Silverlight development (both for the desktop and Windows Phone 7). The content and code for the series is complete I just need to sit down and record it.

Finally, I’ve also been asked to co-host this year’s season of the Spaghetti Code podcast with Jeff Brand. The format is going to be different than in seasons past. Each month we’re going to talk about what’s new in the Microsoft development space. Our first episode is up and you can listen to it here. Let me know what you think!

That’s it for now, but they’ll be a lot more coming soon. Stay tuned!

Hello Azure!

December 1, 2009

Tonight I gave a talk on Azure to the Dubuque Iowa .NET User Group. The talk was an overview of Microsoft’s cloud platform with an emphasis on Azure. The demos show how to start developing with Azure, using Web and Worker Roles along with various storage mechanisms (i.e. tables, blobs, and queues).

 To run this code you’ll need the following installed on your machine:

Optionally, you want to also install the Azure Storage Explorer to make working with Azure storage on your local machine a bit easier.

You can download the slide deck and code here.

TCCC 7

October 24, 2009

This past Saturday (October 24, 2009) I had the privilege of speaking at Twin Cities Code Camp 7. I spoke on T4 and how developers can use this awesome, little known tool that ships with Visual Studio 2008/2010 to start generating code and making their development lives easier. I walked through the basic composition of a T4 template, then showed some real world examples (i.e. T-SQL, Entity Framework, Linq 2 SQL, ASP.NET MVC, design patterns) of how T4 is currently being used today.

You can download the slide deck and demo code here.

In order to run the code you’ll need the following installed:

After installing the AdventureWorks database, you’ll need to run the SimpleEmployee.sql script included in the archive. This will create the SimpleEmployee table and populate it with data.

If you weren’t able to attend my session, or would like to get into even more in-depth with T4 you can check out the podcast I did with Jeff Brand along with a series of screencasts I did on the topic here.

hdc09 Session 111

October 22, 2009

Last Friday I had the privilege of presenting at hdc09. My talk was about .NET RIA Services. Topics included:

  • Professional Look and Feel
  • Rich Data Query
  • Validating Data Update
  • Authentication
  • Different Views

You can download the slide deck and demo code here.

The download contains the following:

  • hdc09.111.pptx. This is the slide deck from the presentation.
  • ReadMe.txt. These are the directions for running the demo code. Read them! Seriously, read them! I’ll wait…
  • SimpleEmployee.sql. This script creates the SimpleEmployee table in the AdventureWorks database I used as the data source for the demo.
  • EmployeeManager. This is the application I built during the session.
  • templates. These are the business application templates I downloaded from gallery.expression.microsoft.com.

To run the demo code you must have the following items installed:

    Like I said above, before you can run the demo you’ll need to read the ReadMe.txt file included in the archive. Once again, I’ll wait…OK, so if you don’t read it, here’s what you need to know:
  • After you install the 2008 AdventureWorks database you’ll need to run the SimpleEmployee.sql script. This will create the SimpleEmployee table and populate it with data.
  • You will need to update the connection strings in the web.config file in the EmployeeManager.Web project.
    If you were unable to attend the session or would like to see it again, I’ve recorded a screencast for your viewing pleasure. You can view the screencast via the Simple Silverlight Media Player below, or you can download the .wmv file here.

Install Microsoft Silverlight