4 Things Meme

Jim, I will get
you back for
tagging me…


Four Jobs I’ve Had…

Bailing Hay (Grew
up on a farm in Arkansas)


Morning radio show


movies I can watch over and over…



It’s a Wonderful

Rosencrantz &
Guildenstern are Dead

Four TV
shows I love to watch…  (Disclaimer – similar to Jim’s, I watch a lot of TV with my



Danny Phantom

English Premier
League Soccer

places I’ve been on vacation…

, AR



Philadelphia, PA

favorite dishes

Biscuits and

Ham and Cheese

Argentinean Steaks
– they cook them different there. It’s tender and melts in your

Any meal with my

websites I visit daily:




http://www.geekswithblogs.com (well at least one of
the blogs under there…)

places I’d rather be

Anywhere with my

Anywhere on my


Skiing – I’ve never
been but I’ve wanted to for a while

bloggers I’m tagging





Ann Arbor .NET Developer Group’s first meeting last night

For our first ever meeting, I was thrilled with how last night went. We had 35 people show up for our first meeting. It was great to see all of the people in the room that I didn’t know. Of the 35 people, I knew about 15 of them. That’s one of the great things about user groups and community is that it’s a great way to meet people.


We are following the format that’s proven to work well at GANG where we have a 45 minute tutorial session followed by the 90 minute main presentation. The tutorial session is designed to give the audience the basic background that they might need to understand the main presentation. It also gives our members a good chance to get some speaking experience without as much pressure as the main presentation gives with a longer talk and a more advanced subject.


Jay Wren of ADP gave the tutorial session on Introduction to ASP.NET 2.0. Honestly, I was still running errands like getting copies of the eval made and all of that type of thing so I didn’t hear all of it. But what I did hear was very good and as complete as you can be in 45 minutes. It also seemed to be well received. We haven’t compiled all of the evals but it’s a good sign when there are people standing in line to ask questions afterwards.


Following that, I gave a session on ASP.NET 2.0 Personalization. See how the tutorial set the stage for this session? I actually stayed pretty close to on time. This is a new resolution of mine is to start staying within my time limits. I usually start answering questions within the time limits and then end up answering questions for a long time. I’m really trying to cut off the questions and have people with questions stay after and ask me offline so that we can cover it in more depth and people that aren’t interested can leave.


I enjoy the Personalization talk because there are a good number of GPMs (Gasps Per Minute). My brother, who is not a developer, came to Rockford, IL when I gave this same talk there and he loved it and phrased the term GPM. The code for the session will be up very shortly.  

Design Guidelines Coming for The UX experience…

I found this via Bill Baldasti


I’m fascinated by design guidelines. They are intended to ensure that your user has a good and consistent experience with the rest of the applications on the given platform.

For example, the Designed for Windows for Pocket PC for Software Applications guidelines, which you have to follow to be Pocket PC Logo Certified, specify that you cannot have an exit button but must smart minimize nicely and that your application must come back to the exact same state when it’s reopened.

There is also a set Guidelines for User Interface for Developers and Designers that Microsoft has been pushing for a long time.

Even thought it’s a ways from releasing, Microsoft is already starting to build and promote the Windows Vista UX Guidelines. Being fascinated, I downloaded the guidelines. It came down as a 14 meg zip file that unzipped into 825 files. Wow!

It’s going to take some time to dig into this and really digest it. The good news is that they broke it down to a simple top 12 rules list. I’m not going to re-list those here, you can go read them on your own. However, some of these things should apply right now in your current work, like #10 which is clean up the UI including make sure that you use labels, organizing your menus and the like in a task oriented manner and so on. Or like #12 which is reserve time for development time for “fit and finish” work. That’s just good common sense that we should all be following.

Of course, now that you’re all excited about the glass aspects of Vista, they say that you should only use it “judiciously”.


It’s going to be interesting to see what happens with the guidelines and the UX experience. Personally, I’m excited by it all. I’m ready to start looking at the Ribbon control in Office 12.

Survey of the future of tech jobs…

I did several session at VSLive recently. As always I give out my email address in every session so that they attendees can contact me with questions. Sometimes these questions are related to the session – sometimes they are not. I’m not sure which session this particular gentleman was in but I got this interesting note yesterday.

I just sat through your talk at VSLIVE.  I tried to speak with you after the seminar but you were pretty busy.
I teach CS for [Some College], and I’m trying to get a feel for where the current and future jobs are for new grads with little or no experience so I can adjust our program. 
If we could only teach one track, would you recommend ASP.NET with VB, ASP.NET with C#, Windows programming with VB, or Windows programming with C#?
That is, is web development bigger than windows development now, and is that expected to change in the next 5 years?
And is C# growing faster than VB or vice-versa?
Thanks Josh.  I really learned a lot in your presentation. 

Name Hidden
Computer Science Instructor
Some College
Somewhere, USA

Immediately you should be able to see the issue. The pat answer is that if you and your shop know VB or a VB like syntax, then you should use VB.NET and if you and your shop know C, C++, Java, or some other semi-colon profuse language, then they should go with C#.

However, this is a blank slate. There is no shop. The students don’t know anything so there’s only the future to look to for guidance. Yeah right!

Really I can boil the question down to this:
Where are tech jobs going to be in 4 years when these students graduate?

Wow! That’s a tough question. I’m actually going to reserve judgment on this topic until I hear from others. Please leave my comments on the blog at http://www.srtsolutions.com/public/blog/19990

Web ? ?
Windows ? ?

Ann Arbor .NET Developer Group

There is a new .NET Developers group forming located in Ann Arbor, MI called the Ann Arbor .NET Developer Group. This is going to be in addition to the groups that are in Southfield, MI and Toledo, OH.

Bill Wagner (as the group’s president) has the official announcement on his blog (http://www.srtsolutions.com/public/blog/20574).

I’m going to be the first speaker at the 2/8/2006 meeting at 6:00. The topic is ASP.NET Personalization.

VSTO (Visual Studio Tools for Office) Misconceptions

I did my VSTO Session (Visual Studio Tools for Office: The Agony and the Ecstasy) at VSLive yesterday. It was very interesting to gauge the reactions. In short, there were a ton of misconceptions about what VSTO is to be used for and what its capabilities are. I really think that next time that I do a VSTO talk – I’m going to devote the first 5 minutes or possibly more to dispelling some of those notions.

VSTO is used to have Office host your application, not the other way around. A lot of people didn’t understand this. The first several questions that I got after the talk were about how to integrate Office into their application for spell checking or hosting the Outlook calendar or read from the contacts in Outlook or any number of other types of integration. VSTO does not help you here. Each of the Office applications have a COM based API that will allow you to leverage that application but it’s not VSTO. You can use COM to load Word, paste text into a document, ask Word to spell check it and get back the list of spelling errors. This is a heavy process – especially if you are doing it for small amounts of text. You can use COM to load Outlook and get the list of contact, appointments and lots of other data. In fact, on the Pocket PC, this is the preferred way to have contacts, scheduling and so on. Again, VSTO does not help you here, COM does.

Actually, it’s interesting to point out that even inside a VSTO application that is hosted inside of an Office application, you are talking to the COM API in order to invoke the spell checker, talk to the list of appointments and so on. It’s just that the PIA (Primary Interop Assemblies) are referenced by default in a VSTO application so that they look like they are .NET APIs, sort of. Actually, that was a large portion of my talk yesterday. Those COM APIs are sometimes painful to work with and have some rather severe limitations.

If you are going to write a VSTO application, you need to go in with your eyes open. You are not dealing with a .NET API designed by the same guys that designed the rest of the .NET libraries. You are dealing with Office. This is good and bad. For better or worse, with VSTO, you have to make your application work like the Office application that is hosting your application. Sometimes this is very frustrating. However, the payoff is immense when you can cut the amount of training that you have to do for your users because they already know the interface.

That’s what VSTO is about. It’s about having Office as your front end because that’s what your users know.