Grok Talk for GANG – 10 Dev Tools in 10 Minutes

Here’s the list of ten tools that I covered in my session:


  1. CodeRush/Refactor
    2. Mark Miller (
    3. Dustin Campbell (
  2. GhostDoc
  3. cr Documentor
    1. 0 1 0 C
  4. SandCastle
    2. GUI for SandCastle –
  5. Reflector and Add-Ins
  6. CopySourceAsHTML
    1. studio a.html
  7. ZoomIt
  8. Camtasia/Snagit
  9. Process Explorer
  10. Snippet Compiler


There are a lot of tools that didn’t make the list that really easily could have.



  1. Tablet UML
    1. – the UML tool that you don’t need to learn. It was created by Martin Shoemaker out of Hopkins Michigan.
  2. CodeKeep
    1. – online Snippet Library and collaboration. It’s was created by Dave Donaldson out of Columbus Ohio.
  3. CodeSmith
    1. – template based code generation. One of the great uses of this is to generate business objects based on database tables
  4. Too many others to name at the moment…

Download: GrokTalk-10DevToolsIn10Minutes.ppt

Security Focused Article in Visual Studio Magazine

I’m an officially published author now. It’s very cool to see my name and BIO on article. I think that this will be the first of many.

This was a joint article between me and Gabriel Torok of PreEmptive Solutions.

It covers 8 specific ways that you can Reduce Your Code Vulnerability to various attacks.


I’ve been listening to some of the old (January 2006) HanselMinutes ( and found a fantastic utility called SharpKeys ( It’s a key editor that will remap any of the keys on your keyboard.

I’ve had one HUGE issue with my new tablet (new as in December) which is a Fujitsu Lifebook T4020. That issue was that the End and Home keys are function keys! In other words, I have to hold down the function key and then press PageDown to get End. I use End all the time and in combination with other keys whereas I rarely use PageDown and only use it by itself so it’s not a big deal to hit a function key for that. It took just a quick moment to reverse those so that End is where PageDown used to be and PageDown is the function key.

Dayton-Cincinnati Code Camp!

The Dayton-Cincinnati CodeCamp was a lot of fun. Jim Holmes organized the whole event. He posts about the event here –

I did three talks:

ASP.NET Security Whiteboard

This was interesting because I did a hour ten about ASP.NET security and didn’t talk about cross site scripting, sql injection attacks or any of the usual suspects. I just answered questions for an hour plus. Most people talking about security immediately jump to those items, but many of these people just needed to know what a role was and how it applied in ASP.NET and so on.

Roadworthy ASP.NET

In this talk, I talked about ASP.NET for mobile devices. Smaller crowd, but it was a blast.

True Mobility

In this talk, I gave my definition of Mobility which is not just mobile devices. It’s letting your customer/user leverage their data wherever they happen to be. That could be in the car, but a lot of times, it’s at their desk or at a coffee shop where it makes more sense to have a desktop app or web page. All of the different front ends have their strengths and weaknesses so you might have to write more than one UI. Therefore, architect your application so that it can accept multiple UIs.

There were a ton of good speakers at the event – here’s a short list in no real order:

James Avery

Nino Benvenuti

Dave Donaldson

Greg Huber and Jason Follas

Drew Robbins

Craig Utley

Rob Keefer

There were some others that I’ve forgotten or didn’t meet and I apologize to those folks.

I have to say that the event pumped me up to do one here in the Ann Arbor area. I have been wanting to, but this really gave me a lot of good ideas on the scope and such. I think that this is definitely doable. Stay posted here for more information coming soon on the Ann Arbor Day of .NET.

News from Rockford…

Rockford has a great group. It’s a young but enthusiastic group. They had just outgrown their old venue and moved to Hamilton Sundstrand. It was a good location, but we had to sign in at security and there was a list that you had to be on to get in. Other than that, I really liked the facility.

They are working out some of the logistics of growing. We spent quite a bit of time after the meeting hanging out and talking about best practices on running a .NET group.

I’ll post some of the thoughts that I shared with them in the upcoming days.

Good ideas grow user groups

The best thing that a user group, especially a new group that’s trying to grow, can do is be inventive. Or at a minimum to recognize good ideas and copy them where possible.

There are a couple of good examples of this out there that I can point to fairly quickly.

There are a number of groups that have started doing one day conferences on the weekend after the Boston .NET user group started doing Code Camps. It’s a great community based event. I liked the twist that Jim Holmes and James Avery put on it where they did a collaboration between a couple of groups to throw the event. That spread the work out a little and maximized attendance.

I like the idea of not reinventing the wheel on the web site unless there’s a good reason. For example, a lot of groups are using .NET Nuke or Community Server for their web site. That’s a great idea because both of these make for really low investments in time, energy and money the three things that every user group needs to conserve and channel in the right directions. Here’s an effort in the Dallas area to work on a user group specific portal. Now, you might use the web site or part of the web site to introduce members to ASP.NET. Outside of that, copy from the other user groups…

At the Great Lakes Area .NET Users Group (GANG), our president, John Hopkins had the idea to start doing quarterly social events and starting a certification study group. I think that both of these ideas are very cool. It gets the group involved in more than just a place for free goodies and technical talks.

Another interesting idea that was new to me that I thought was very cool came from the UK. Dave McMahon and Richard Costell from the Next Generation User Group came to VSLive. Dave contacted as many of the speakers as he could and is doing video interviews of them to take back to his group. I thought it was an innovative idea that needed pointing out.

In order to really grow a group, you need to come up with innovative ideas and you need to copy those innovative ideas that have worked for other groups.

Beg, borrow and steal good ideas. When that fails – come up with your own.

NUnit Stands the Test – Follow up

Patrick Steele made a good point about my last post on Unit Testing. The code that I wrote just happened to use the Test keyword at the beginning of each of my methods. That’s not required. I just happed to like that convention because it reads well.

I do use the attributes and encourage everyone else to because, as Patrick also points out, TestDriven.NET and other tools don’t use it.

Look for another article on TestDriven.NET early next week.

Josh Holmes, Microsoft MVP!

I’m pleased to announce that I’ve recently received the Microsoft MVP Award. This is not something that you can apply for. It came from the recommendations my peers and the people in the Microsoft Offices in Southfield for my contributions to the community. I’m honored to be recognized in this fashion and placed in the company of Tom Barnaby, Patrick Steele, Eric Maino, Martin Shoemaker, Richard Hale Shaw and all the other MVPs.

Now for those of you who know me – you’ll get a giggle out of the category because I was awarded the MVP in the C# category.

It’s also exciting because my company, SRT Solutions, now has among it’s principals a MVP (Me) and a Regional Director (Bill Wagner).