Microsoft Most Valuable Professional

Chris Pietschmann

An MVP From Wisconsin

XNA and XBox 360: Not until you pony up some ca$h!!

I recently got an XBox 360; and until I got one I didn't fully realize what all its features are. This is a really sweet system! So, naturally I downloaded the XNA Game Studio Express to check out what's all possible with building homebrew games for the 360.

After registering my gamertag with the XNA Creators Club and installing XNA Game Studio Express on my PC, I took the following steps:

  1. Go on XBox Live Marketplace and download the Free XNA Game Launcher.
  2. Run the XNA Game Launcher so I can register XNA Game Studio Express with my 360 to put the starterkit game on there and play around.
  3. Ok, I guess I need to get an XNA Creators Club Membership. Um.. Ok, what is that?
  4. Crap! WTF! You have to pay for it!!

Yeah, WTF!!! This is really crappy of MS to do! All I want to do is play around with XNA Game Studio and my 360 and they want me to either pay $50 for four months access or $100 for a year access. In order to even play around with putting a homebrew game using XNA on your 360 you need to pay a reoccurring subscription fee! There's no way I'm going to pay a fee that HIGH to just play around.

What in the world is Microsoft thinking?!? They have the best game system and they are providing an easy way for the average developer to write games for it. This is something that will only make the 360 even more popular. But, then they go and make all the benefit they could get from XNA on the 360 and eliminate it virtually completely by charging such a high fee.

Here's my suggestion: Make it either FREE or a one time fee of say $25 to be able to put your homebrew games on the 360. Then allow developers to pay a larger fee to be able to put their games on DVD or in the Live Arcade so they can sell them to the masses.

kick it on DotNetKicks.com

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Monday, November 26, 2007 5:45 PM
Permalink | Comments (3) | Post RSSRSS comment feed


.NET: How to Alias Namespaces and Data Types

One of the little known features of .NET is that you can give complete namespaces and data types alias's that you can reference them with in code.

Aliasing Data Types

For this example we'll give a different name to the integer data type:

In VB.NET:

Imports MyInteger = System.Int32;

In C#:

using MyInteger = System.Int32;

Now to use the alias in code:

In VB.NET:

Public myVariable As MyInteger = 4;

In C#:

MyInteger myVariable = 4;

Aliasing Namespaces

For this example, lets assume we want to use an alias to rename the System namespace to Sys to its easier to type.

In VB.NET:

Imports Sys = System;

In C#

using Sys = System;

With the above alias in place, you can change this:

System.Int32 myInt = 4;

Into this:

Sys.Int32 myInt = 4;

Usage Tips

Usage #1: A good use of aliasing would be when you are working on a large project and you are dependant on another developer to finish their class or namespace before you can comlete a piece of your code. You can create "dummy" or stub objects and namespaces of your own and them give them an alias that is what the actual name will be when the other developer is finished. Then when they're finished, you can just take out your alias's and include their namespaces and everything will work fine. This trick allows you to still keep coding and successfully compiling without exceptions caused by the namespaces or objects not existing.

Usage #2: Another good use of aliasing would be if you are using Int32 in your code now, but you want to make it easier to switch to Double or Int64. Using aliasing allows you to change one line of code to change the data type that is being used.

Usage #3: The last usage tip and probably the best one, is to use aliasing to eliminate the confusion of Ambiguous data types when using multiple namespaces each having objects with the same name. This way you wont have to type out the entire namespace when using the ambiguous objects.

kick it on DotNetKicks.com

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Monday, November 26, 2007 12:08 PM
Permalink | Comments (0) | Post RSSRSS comment feed


Attend WI .NET Users Group Holiday Party and get Visual Studio 2008 Free!

Update Dec. 11, 2007: The WI .NET Users Group Holiday Party has been cancelled due to weather, and will be rescheduled.

On Dec. 11, 2007, Microsoft is teaming up with the Wisconsin .NET Users Group to throw a special holiday part. There will be Free food and prizes, just like at every other group meeting.

Do you want to get Visual Studio 2008 Free? Just bring in your computer and install it at the party. Those that install VS'08 at the party will get a full licensed copy of Visual Studio 2008 mailed to them within a couple weeks. This is so awesome; I know I'll be bringing my laptop! I wonder how many people who don't have laptops will be bringing in their desktops? C'mon don't be shy...

The full details of the party have yet to be announced, but make sure you go register for the meeting. And, remember membership to the Wisconsin .NET Users Group is Free!

For more info: http://www.wi-ineta.org/holiday

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General | WI-INETA
Posted by crpietschmann on Monday, November 19, 2007 9:44 PM
Permalink | Comments (0) | Post RSSRSS comment feed


Cryptographic Extensions for Microsoft AJAX Extensions Framework

The Extensions for Microsoft AJAX Framework project over at CodePlex provides cryptographic services including secure encoding and decoding of data, as well as hashing and random number generation, and new methods for JavaScript native objects. This project is pretty cool, and could really grow into a huge library offering us what Microsoft isn't putting into the AJAX Extensions themselves. And, now we have an object oriented, JavaScript way of doing MD5, SHA1, HMAC and AES!

Go check it out: http://www.codeplex.com/jsxfx

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Thursday, November 15, 2007 11:17 AM
Permalink | Comments (0) | Post RSSRSS comment feed

WI-INETA: Augmented Reality with .NET on 11/13/2007 with Casey Chesnut

This months Wisconsin .NET Users Group meeting (and the last one of the year) is tommorow (Nov. 13th) night. This month Casey Chesnut will be presenting on "Augmented Reality with .NET".

On a related note, Casey has an article titled "/wpfAugReal: Augmented Reality with Windows Presentation Foundation" that he posted back in the beginning of October. I don't know any details of what he'll be presenting (other than the below meeting description), but I'm assuming he'll be covering some of the stuff in this article.

I've seem some of his presentations in the past and they are always very informative. He's always very knowledgable in the area being presented. I encourage anyone that can make it to go check it out.

Here's the full description of the meeting:

"Augmented Reality is a future technology being researched which combines real world data with computer generated (virtual) data. A recent example is the 'Eye of Judgment' turn-based card game for the Playstation 3, which uses a camera to recognize real world playing cards and animate the virtual battle on a TV screen. This presentation will look at creating an Augmented Reality (AR) application in .NET using DirectShow, WPF 3D, and ARToolKitPlus. We'll look at how DirectShow is used to capture camera data, how AR Library is used to track real world markers, and how WPF 3D is used to render virtual objects.

About casey chesnut
casey chesnut is an independent developer that specializes in .NET and ubiquitous computing. He has received the Microsoft MVP award in a number of different categories : Tablet PC, Compact Framework, Web Services, Media Center, and Office Communications Server (current). His blog and development articles which can be found on his website:
http://www.brains-N-brawn.com "

For more information about this meeting and future meetings, Click Here.

There is a definition of exactly what Augmented Reality is over at Wikipedia, just in case you're wondering.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General | WI-INETA
Posted by crpietschmann on Monday, November 12, 2007 5:34 PM
Permalink | Comments (0) | Post RSSRSS comment feed

XBox Live Gamercard Vista Sidebar Gadget

Just in case you want to display your XBox Live Gamercard within the Windows Vista Sidebar; here's a gadget that does just that: http://brh.numbera.com/software/sidebargadgets/

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Monday, November 12, 2007 12:39 PM
Permalink | Comments (0) | Post RSSRSS comment feed

Not All Software Developers Need To Be Graphic Designers

Today, I came across a post by Vitaly Gorn titled "Is it time for software developers to master in graphic design?" And, in this article, they explain why software developers need to acquire more graphic design skills today.

What's the problem?

Most application User Interfaces aren't the most user friendly. I do agree that this is a common problem. And, there is no doubt that the one of the next steps in the evolution of the software industry is betting Graphic Design and User Interface Design.

What's the solution?

The quick and easy solution that you think of immediately is that all Software Developers need to learn some graphic design skills. After all, who creates the application? Software Developers.

Simple right? Or is it?

Are Software Developers the best ones to learn Graphic Design and UI Design?

Not always... Well, as Vitaly even states in his post, "there are people that see good design and [those] that do not see it". And, most developers don't have a nack for graphic design and UI design. The reason is that most developers aren't as creative in these areas since they don't have as much a passion for it as they do technology and code. Also, if the developer spends extra time learning graphics, then that takes away from time they could spend learning how to write better code, or use new technologies that would be beneficial to use.

Who really should learn Graphic Design and UI Design?

How about Graphic Designers and UI Design Specialists? Job role specialization has occurred in pretty much all other industries more than the software industry. The reason for this is that the software industry is still rather young and has a long way to go.

Should any Software Developer learn Graphic Design and UI Design?

Yes, and this is where they gray area comes in with this solution to the problem. Here's a couple reasons that Software Developers might want/need to learn Graphic Design and UI Design:

  • No one wants to have their hand held all the time, even developers.
  • A small shop may only have one developer and can't afford to hire a graphic designer.

How do we teach our Software Developers better Graphic Design and UI Design?

Simple, here's a list of a couple ways that I can think of:

  • Good design of often right in front of us, we just have to look for it. There are many programs with good graphic design being practiced; just look at Windows, MacOS and MS Office, just to name a few.
  • Have your programmers design the UI first in a prototype, and then have the Graphic Designer critique it and give feedback.
  • Have the Graphic Designer create design mockups before the programmer begins creating the UI so they can be used as a blueprint.

Speaking of Small Shops...

Just so you know, I'm currently the only developer at my own company, so it's very important for me to learn better Graphic Design and UI Design. So, I'm not completely disagreeing with Vitaly, I'm just pointing out there isn't really as clear an answer to the problem as we would all like.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Tuesday, November 06, 2007 6:40 PM
Permalink | Comments (1) | Post RSSRSS comment feed

15% Off Motorola.com Promo/Coupon Code (PASS_11805)

 Here's a Motorola.com Promo/Coupon Code (PASS_11805) for 15% off any purchase.

PASS_11805

This code is good through 2/3/2008.

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: General
Posted by crpietschmann on Monday, November 05, 2007 11:17 AM
Permalink | Comments (0) | Post RSSRSS comment feed

Subsite Rewriting HttpModule for ASP.NET

Here's some simple code for easily adding Subsite functionality to an ASP.NET website using UrlRewriting/UrlMapping.

Urls are rewritten in the following fashion:

~/jdoe/default.aspx  => ~/default.aspx?site=jdoe
~/jdoe/subfolder/default.aspx => ~/subfolder/default.aspx?site=jdoe

And this is all done by the 65 line HttpModule below:

using System;
using System.Web;

/// <summary>
/// Summary description for SubsiteRewriteModule
/// </summary>
public class SubsiteRewriteModule : IHttpModule
{
    #region IHttpModule Members

    void IHttpModule.Dispose() { }

    void IHttpModule.Init(HttpApplication context)
    {
        context.BeginRequest += new EventHandler(context_BeginRequest);
    }

    #endregion

    private void context_BeginRequest(object sender, EventArgs e)
    {
        HttpContext context = ((HttpApplication)sender).Context;
        HttpRequest Request = context.Request;

        if (Request.Path.ToLowerInvariant().EndsWith(".aspx"))
        {
            string UrlToRewrite = VirtualPathUtility.ToAppRelative(Request.Path).ToLowerInvariant();
            bool doRewrite = false;
            System.Text.RegularExpressions.Regex regex;


            regex = new System.Text.RegularExpressions.Regex("~/(\\w+)/(.*)");
            if (regex.Match(UrlToRewrite).Success)
            {
                UrlToRewrite = regex.Replace(UrlToRewrite, "~/$2?site=$1");
                doRewrite = true;
            }


            /// Rewrite the URL and inlude all querystring criteria so we don't lose it
            if (doRewrite)
            {
                if (UrlToRewrite.Contains("?"))
                {
                    UrlToRewrite = UrlToRewrite + "&" + GetQueryString(context);
                }
                else
                {
                    UrlToRewrite = UrlToRewrite + "?" + GetQueryString(context);
                }
                context.RewritePath(UrlToRewrite, false);
            }
        }

    }

    private static string GetQueryString(HttpContext context)
    {
        string returnVal = context.Request.QueryString.ToString();
        if (string.IsNullOrEmpty(returnVal))
            return "";
        else
            return returnVal;
    }
}

Download a sample site using the above HttpModule here

Currently rated 1.0 by 1 people

  • Currently 1/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:
Categories: asp.net | General
Posted by crpietschmann on Saturday, November 03, 2007 5:24 PM
Permalink | Comments (0) | Post RSSRSS comment feed

SimpleBlack Theme for BlogEngine.NET v1.2

I've been looking at the code of BlogEngine.NET and playing around with it a bit lately, so I decided to create a theme to see how easy it is. And, it is actually really simple to do.

I actually used the Cogitation theme as the basis and just morphed it into the below theme I call SimpleBlack. If you would like to use it, go ahead.

SimpleBlack Them for BlogEngine.NET

Download: BlogEngine.NET v1.2 SimpleBlack Theme

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Categories: General
Posted by crpietschmann on Friday, November 02, 2007 9:15 PM
Permalink | Comments (0) | Post RSSRSS comment feed

About the author

I'm Chris Pietschmann, go to the About Me page to learn more about me.

Search

Sponsors

Web.Maps.VE - ASP.NET AJAX Virtual Earth Mapping Server Control

Recent comments

Disclaimer


This work is licensed under a Creative Commons Attribution 3.0 United States License, unless explicitly stated otherwise within the posted content.
© Copyright 2004 - 2008 Chris Pietschmann