I’m starting off this series talking about Object Oriented Programming. It’s amazing how many people write C# or VB (.NET) with long, procedural methods with really no understanding of the true fundamentals of OO design.

I know, I know – it’s not you, and know what? I’m not talking about you.. but check out the code from the person next to you. See what I mean?

Just because you’re writing in an OO language, doesn’t mean that you’re writing OO code, or taking advantage of the Object Oriented benefits. An Object Oriented language is more than classes with methods, properties and events (even VB 6 had that!).

Learn the Fundamentals.

Read the rest of this entry »


If you are going to read through my “10 practices that every developer should start right now” series, then you probably want to know where these 10 practices came from, why I chose these 10 – really, what so important about secure coding anyway? 😉   – I think that it’s important to know that these aren’t just 10 random items to fill a couple of blog posts. These are all practices that have been thoroughly thought out. This list is something that I started to formulate over a year ago based on my experience as a consultant, working as a technical editor, and discussions with countless MVPs, other consultants and in my interviews with potential consultants… Read the rest of this entry »

Update: Since technically a DI Container could be considered part of SOLID, I’ve swapped it out for Secure Coding… more on this soon!

If I ever right a book on becoming a .NET Ninja, these are the things that I want to cover.Ask a Ninja Handbook




Use a Container (DI)

Secure Coding 101


Automated Tests

Source Control

Continuous Integration

Agile | Lean | Scrum | XP

Team Dynamics

Never Stop Learning

Eventually, I’d like to write a book and dedicate at least a chapter to each of these (although any one of these topics could be a book in and of itself) In the mean time, I think that I’ll start with a blog post on each one, and maybe make it a goal to eventually do a User Group talk covering each topic? I’m looking forward to flushing these out as posts. I hope that you will enjoy them too!

What sort of things would you add to the list?

“draft whurley” Featured on

September 16, 2009    Category: Blog, Thoughts   2 Comments »

imageLast Thursday I posted my thoughts about Microsoft’s OSS announcements (go digg it: 3 Reasons Microsoft Needs an Open Source Officer), namely the formation of the CodePlex Foundation (awesome) and the departure of Sam Ramji (bummer). My take is that this is a great opportunity for Microsoft to take open source projects at Microsoft up a notch and raise the stakes with a big bold move by bringing in someone like my friend whurley (William Hurley – currently the chief architect of open source strategy at BMC).

This morning I turned on my computer to see that Todd Weiss and the folks at had featured this idea on their home page. Go check it out the full article!

Read the rest of this entry »

Digg this! Today there were two big announcements from Microsoft regarding their involvement with the Open Source communities. First, was the formation of the CodePlex foundation, an open source foundation for the

Enabling the exchange of code and understanding among software companies and open source communities

Awesome. Great. Fantastic. This is the natural progression of a lot of the open source work that’s been happening at CodePlex, in the ASP.NET MVC stack and a lot of the other OSS projects that Microsoft has been initiating and contributing to lately.

The other announcement was more disappointing, Bill Hilf, the general manager of Windows, announced that Sam Ramji would be leaving his post at Microsoft to be the interim president of the CodePlex Foundation (cool – but why interim?) and then he would be pursuing some other opportunity.

Bill Sam Ramji

Read the rest of this entry »

Recently I noticed something interesting on google searches and especially on bing. If you search for “Silverlight Expert” I show up near the top! Well… when google thinks that you are a Silverlight expert, then it’s time to start blogging more I guess. So here are my top 5 steps to becoming a Silverlight Expert. These are some of the most valuable steps that I’ve used as an Expert Silverlight Consultant and Trainer. We try to introduce as many of these resources in our Training and Consulting.

image image

5. UX Skillzes

Sorry for the haxx0r lingo… but I’ve been liking it a lot lately. So, what are UX Skills? In short, this has nothing to do with Silverlight. Silverlight (or Flash, or WPF) are technologies that make it easier to create a better User Experience. At the end of the day though, it is the developer / designer that has the responsibility of creating the experience. the platform just makes it easier to realize that designers vision. No tool can completely make up for a lack of skill.

User Experience (UX) is made up of multiple areas and disciplines. Including concepts like Information Architecture (IA), Interaction Design (ID), Visual Design, Human-Computer Interaction studies, Human Interaction Psychology, etc…


Read the rest of this entry »

imageFor the last 2 months I’ve working on one of the @improving macs almost exclusively.  While that’s definitely had it’s annoyances, it’s also been very eye opening in a couple of areas.

Last month Microsoft released the Release Canidate1 of Windows 7. For what it’s worth I will say that I like it, more importantly, my wife likes it too. Just like Vista has nicer features than XP (no seriously, I actually like Vista!), there are features in Win7 that I really like over Vista. That being said, after spending two months on a Mac, here are the things that I wish Microsoft would “barrow” from Apple before Windows 7 RTMs.

Apple’s “Show Desktop” Implementation

 I like Win7’s Desktop Peak. But let’s be real. When I want to look at my desktop, it’s probably because I want to do something on my desktop. If I click on the “Show Desktop” button, then everything get minimized and I loose my place when I’m done with the desktop (I have to go restore all of my Windows manually). Macs have this great feature that let’s me, in a single motion, push everything to the side, lets me see and work with my desktop, then with a single click anywhere on the edge of the screen and I’m back to where I was before. Awesome. Dear Microsoft, I know what they’ll say, you stole it. Mac had it first. it doesn’t matter. Go ahead, take it. It’s a better implementation. thx.

image image

Apples “Widget” View

I like Widgets, I like Gadgets. I’m not talking about Apple’s widget “zoom in” and “zoom out” views (although those are nice!), nor am I talking about how Windows 7’s Gadgets can go anywhere on the desktop and are always on your desktop (although I like that too!) I am specifically talking about the scenarios when you have a bunch of windows open and your in the middle of working and you need to take a quick look at your widgets/gadgets. On a mac you set your Expose’s hot spots to bring up your “dashboard”, in Windows 7 you either “peak” at your desktop, or you press the Win+G keys.Here’s the thing, on a mac when you do that, they do a dark overlay on the rest of your desktop. It makes it really easy to to focus in on your widgets and see them quickly. it sounds like a small thing, but you already know how busy your screen can get when you’re working on various projects and then you try to see your gadgets and they just don’t stand out very well.Dear Microsoft, please fade out the background when I push Win+G. kthx.

image  image

Apple’s Colors.

Not all of their colors. I like some of the rich look of Vista and Windows 7, but here’s something that I noticed while working on the mac. The “system tray” (or whatever you call it) is boring. Everything is the same color. Compare that to the spectrum of color that the average Windows user is used to. It’s not that color is bad… but I’m starting to think that business is. Business and clutter compete for your attention, and let’s face it… the reason that it’s in the system tray is because it’s important.. it’s just not that important. I know that I’m focusing on the system tray, but really I’m talking an over all effort to make the things that I want to focus on, visually focusable (is that a word?). Reduce noise, increase signal.

image  image

So what does Windows 7 have going for it?

A lot. But here’s the thing that it soooo much better on Win7. The Taskbar – so much better than the dock or expose for moving between applications – especially tabbed windows. On one hand, I really like the pop and slide of exposes, and I really like the fish eye affect in the mac dock… but here’s the deal, the dock is great for launching applications, but it’s lousy for moving between open applications. The new Win 7 dock does an amazing job of organizing all of your open tabs regardless of which window their in. It really creates a nice, unified way to move between the things that you are working on and to close the things that you don’t care about. I know that it sounds trivial, but think about where you spend your time – it makes a difference.

image image image

What about you? What are you love / hates with Windows 7 or teh mac?

BTW – Travis promised to teach me some mac foo… I’ll have to post again after that!

The last couple of months I’ve done a lot of speaking around Silverlight as well as developed a 3 day Silverlight class for Improving (where I work). This is one of the demos / exercises from that class. Enjoy!

Open in New Window

I just posted this on my new health blog. I’m re-posting it here because there is a definite overlap to this contest between getting healthy and the developers audience here.


Wednesday night I spoke at the North Dallas .NET User Group where I announced this for the first time publically… unless you count twitter (some good twitter feed back as well)

So Here’s the deal…. if you’ve seen my new health blog you’ll know that I’ve been having a lot a success lately getting back in shape with an eating plan. I feel great and I’d like to keep the momentum going and help “spread the love”. Too many developers are out of shape (including me).

MSDN_TeamSuit To help keep this going I’m going to run a contest on my health blog in February: I don’t have all of the details worked out yet, but I do know that I’m going to give out a free subscription to MSDN Team Suit to the winner (approx $10,000 retail value!).

so, tune in, subscribe, or follow me on twitter and look for the final details to get announced here on my health blog before February. Also, if you have any suggestions on how we could do this fairly and accurately on line, leave a comment over there!

(I turned off comments on this post… so that they could go over here.)

Dependency Injection with Silverlight

December 18, 2008    Category: Blog, Technical   2 Comments »

This is one of my favorite talks that I’ve been doing lately. I like the concepts here because they don’t just apply to Silverlight applications, but all of your software development. I also like that fact that most people don’t think about some of the more advanced software approaches that you can take with Silverlight.



Download my demo code from SkyDrive.





Enter your email address: