Archive for February, 2009

09 Feb 2009

Knowing Yourself – Myers-Briggs Type Indicator’s

2 Comments Uncategorized

Today on Twitter I got into a discussion with Sara Chipps about Myers-Briggs Type Indicators.  I am an INTJ, which means:

  • I – Introversion preferred to Extraversion: INTJs tend to be quiet and reserved. They generally prefer interacting with a few close friends rather than a wide circle of acquaintances, and they expend energy in social situations (whereas extraverts gain energy).
  • N – iNtuition preferred to Sensing: INTJs tend to be more abstract than concrete. They focus their attention on the big picture rather than the details, and on future possibilities rather than immediate realities.
  • T – Thinking preferred to Feeling: INTJs tend to rely on external, objective criteria rather than a personal sense of right and wrong. When making decisions, they generally give more weight to logic than to social considerations.
  • J – Judgment preferred to Perception: INTJs tend to plan their activities and make decisions early. They derive a sense of control through predictability, which to perceptive types may seem limiting.

These 4 letters are suppose to nail your personality type and show some insight in to how you attack problems and deal with other people.  So if you don’t know your Myers-Briggs take the test:

And then see if the description matches your personality:

As a bonus in to my personality, here is a break down that a friend of mine sent me awhile back.  Retrospectively I agree with these points for the most part:

Dealing With An INTJ

  1. Be willing to back up your statements with facts – or at least some pretty sound reasoning.
  2. Don’t expect them to respect you or your viewpoints just because you say so. INTJ respect must be earned.
  3. Be willing to concede when you are wrong. The average INTJ respects the truth over being “right”. Withdraw your erroneous comment and admit your mistake and they will see you as a very reasonable person. Stick to erroneous comments and they will think you are an irrational idiot and treat everything you say as being questionable.
  4. Try not to be repetitive. It annoys them.
  5. Do not feed them a line of bull.
  6. Expect debate. INTJs like to tear ideas apart and prove their worthiness. They will even argue a point they don’t actually support for the sake of argument.
  7. Do not mistake the strength of your conviction with the strength of your argument. INTJs do not need to believe in a position to argue it or argue it well. Therefore, it will take more than fervor to sway them.
  8. Do not be surprised at sarcasm.
  9. Remember that INTJs believe in workable solutions. They are extremely open-minded to possibilities, but they will quickly discard any idea that is unfeasible. INTJ open-mindedness means that they are willing to have a go at an idea by trying to pull it apart. This horrifies people who expect oohs and ahhs and reverence. The ultimate INTJ insult to an idea is to ignore it, because that means it’s not even interesting enough to deconstruct.  This also means that they will not just accept any viewpoint that is presented to them. The bottom line is “Does it work?” – end discussion.
  10. Do not expect INTJs to actually care about how you view them. They already know that they are arrogant bastards with a morbid sense of humor. Telling them the obvious accomplishes nothing.

Update: There are also varients, that map Myers-Briggs to other personality measuring instruments, such as Keirsey Temperaments.  Where I can proudly proclaim that I am a Mastermind.

03 Feb 2009

Windows 7 SKU’s (Not As Bad As It Seems)

4 Comments Uncategorized

Many different sources are announcing that Windows 7 will have 6 different SKU’s available, and many are touting the end of Windows, because they are making the same marketing mistakes as Windows Vista.  I have a different perspective on this that I will justify after the SKU breakdown.  Here are the SKU’s and features that everybody is reporting:

Windows 7 Starter

  • Available worldwide to OEMs on new PCs
  • Missing Aero UI tweaks
  • Limited to 3 simultaneous applications

Windows 7 Home Basic (Vista equivalent: $200)

  • Only available in emerging markets
  • Missing Aero UI tweaks

Windows 7 Home Premium (Vista equivalent: $260)

  • Available worldwide, to OEMs and in retail
  • Includes Aero UI tweaks
  • Features multi-touch capabilities
  • Adds “premium” games
  • Adds media capabilities (Media Center, DVD playback, DVD creation, etc.)
  • Can create home network groups

Windows 7 Professional (Vista equivalent: $300)

  • Available worldwide, to OEMs and in retail
  • Includes all features of Premium
  • Adds enhanced networking capabilities (Remote Desktop host, domain support, offline folders, etc.)
  • Adds Mobility Center
  • Adds Presentation Mode

Windows 7 Enterprise

  • Available only in volume licenses
  • Includes all features of Professional
  • Adds Branch Cache
  • Adds Direct Access
  • Adds BitLocker

Windows 7 Ultimate (Vista equivalent: $320)

  • Limited OEM and retail availability
  • Includes all features of Enterprise

Lets Break It Down

I am going to break this down, for Personal and Business users, in a couple of different ways:

  1. First by SKU.
  2. Then by who the feature set is targeted.
  3. Then by the different user segments.

The first one is based on SKU and who will likely use each SKU and the XP Equivalent of the SKU.

Personal Business XP Equivalent
Windows 7 Starter Probably only OLPC
Windows 7 Home Basic You will only see this in 3rd world countries, so you will probably never see this.
Windows 7 Home Premium Most OEM’s Home
Windows 7 Professional Most OEM’s Professional
Windows 7 Enterprise Volumne License Only
Windows 7 Ultimate Power Users Small Businesses that want Enterprise

So as you can see there are only a couple options available to you based on if you are a Personal or Business user.   The second break down I want to show you is who each of the feature sets is targeted at:

Personal Business
Average Joe Windows 7 Home Premium Windows 7 Professional
Power User Windows 7 Ultimate Windows 7 Enterprise

Finally, if we are to break this down even farther in to obvious user segments, and split Personal in to Average Joe and Power User, and Business in to Small Business (Average User) and Enterprise (Power User) you will see that there is really only one option available to each type of user:

Personal Business
Average Joe Power User Small Business
(Average Joe)
Enterprise
(Power User)
Only Option Windows 7 Home Premium Windows 7 Ultimate Windows 7 Professional Windows 7 Enterprise

I actually think this is quite smart, because each market segment: Average Joe, Power User, Small Business, and Enterprise, hits a different set of criteria and a different set of requirements for each segment.  So given the above and how they will be distributed you are probably only going to see one of two different SKU’s on your favorite OEM’s site, which is pretty equivilent to the XP SKU’s that you are use to:

Personal Business
Windows 7 Windows 7 Home Premium Windows 7 Professional
Windows XP Windows XP Home Windows XP Professional

So all in all I am pretty happy with this. I still think the marketing department could have gone with out the Starter and Home Basic versions, and privately marketed the Enterprise to Volumn License customers.  But it is what it is, and if they can keep the OEM’s selling on the Home Premium and Professional version only, I think Microsoft will have a great Windows Operating System both in perception and technically.  And we can all forget about the last 2 years of Windows Vista, sort of like we have done for Windows ME.

03 Feb 2009

A potentially dangerous Request.Form value was detected in ASP.NET MVC

33 Comments Uncategorized

If you are getting something like the following error message in ASP.NET MVC:

A potentially dangerous Request.Form value was detected from the client (Description=”<p>some HTML text</p>”)

This is because of something called Request Validation, that is a feature put in place to protect your application cross site scripting attacks, as described in a White Paper on ASP.NET:

Many sites are not aware that they are open to simple script injection attacks. Whether the purpose of these attacks is to deface the site by displaying HTML, or to potentially execute client script to redirect the user to a hacker’s site, script injection attacks are a problem that Web developers must contend with.

Script injection attacks are a concern of all web developers, whether they are using ASP.NET, ASP, or other web development technologies.

The ASP.NET request validation feature proactively prevents these attacks by not allowing unencoded HTML content to be processed by the server unless the developer decides to allow that content.

You need to add the following to your action method:

[ValidateInput(false)]
public ActionResult MyAction (int id, string content) {
    // ...
}

This is a new feature that was added to ASP.NET MVC RC1 and it will turn off request validation for this action and this action only. However you need to take special precautions to double check your content for script tags, which may indicate a cross site scripting attack. And if you find one make sure to do a simple replace that will render it harmless, such as:

content = content.Replace("<script", "[script").Replace("</script>","[/script]");

The above is not the most bullet proof code, but if you are using the ValidateInputAttribute on your action make sure to do a quick search on XSS or Cross Site Scripting and become familiar with the basics of this kind of attack.