english | deutsch | RSS 2.0 | Atom 1.0 | CDF

Contact me: Send mail to the author(s) E-mail

My favorite Blogs

My favorite Board Games

Ultimate Boot CD

Categories on this blog

On this page

The Fate of Internet Explorer 6
ASP.NET MVC Official Release
XNA Game Studio 3.0 Beta is GO!
Google TechTalk: The Xbox 360 Security System and its Weaknesses
FLV Flash video streaming with ASP.NET 2.0, IIS and HTTP handler
How to create a Linux distro
Microsoft Visual Studio 2008 Improvements
Microsoft to Give Away Development Tools to Students
XNA Team Looking for new XNA Game Studio Created Games
Microsoft Released XNA Game Studio 2.0 - Create LIVE Games
// TODO: fix before production
XNA GSE and Xbox 360's added to Assembly 07 - Demo Scene
XNA Game Studio Express 1.0 Refresh Released
Windows Mobile 6 SDKs Live on MSDN
Microsoft is helping young programmer
Understanding SOA Levels
Presentation: C64 vs. Xbox360 Copy Protection Scheme
Getting XNA Game Studio Express to run in Windows Vista
W3C sets XML standards
HD-DVD AACS DRM Cracked?
XNA: Make your own Xbox360 games in 10 steps
XNA Game Studio Express Has Been Released!
PS3 vs. Xbox 360 - Another Developer Speaks
Microsoft “Real World" SOA Momentum
XNA Game Studio Express got DEMMX Awards

Archive

Total Posts: 305
This Year: 1
This Month: 0
This Week: 0
Comments: 1

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

 Sunday, July 19, 2009
Sunday, July 19, 2009 5:26:28 PM UTC ( coding | EN | internet )

Today's browser wars are nothing like the early browser wars of the mid '90s, but there are still plenty of casualties and lots of underlying uncertainty. However, there may be a bright spot on the horizon.

Current Browser Rankings

Based upon relatively recent data from Net Applications, there are really only four main browsers in the game today: Internet Explorer (IE) with roughly 66% of the market, Firefox with 22% of the market, Safari at 8% control, and Chrome with almost 2% of the market. Opera and all other browsers combined come in at only 2% of the market, even though the way that many of these browsers emulate other, better-known, user-agent strings to identify themselves might mean that they actually control a bit more of the market than is immediately obvious. But, even so, that really only leaves IE, FireFox, and Safari as the primary combatants.

Things get interesting though when you break down usage among versions of IE, especially if you start comparing those percentages against other browsers. At this point, no single browser is able to claim a true majority of Internet users. In fact, it becomes a rough-and-tumble race for supremacy. For example, IE 7 is the current, dominant, flavor of Internet Explorer - with roughly 27% market share. That puts it in roughly the same league as Firefox. Whereas IE 8, which seems to be seeing some decent yet rather slow adoption (among IE 7 users) comes in at 12%, roughly in the same league as Safari.

That leaves that ponderously old and terribly despised (by web developers at least) beast known as IE 6 still commanding roughly 20% of overall market share.

Internet Explorer 6 is Old, Beastly, and Holds the Future of the Web

IE 6 was released in August of 2001—it's now been around a little under 8 years, which is an eternity in Internet time. Yet it's still going strong with roughly 20% of the overall browser market. Of course, what's unknown is how many of those still on IE 6 are using it explicitly to maintain backward compatibility with their own internal web applications, or how many of them are either lazy users who can't be bothered to upgrade, or simply don't care about upgrading. Even though Microsoft clearly has upgrade paths for these users many haven't taken advantage of those paths (IE 7 and now IE 8) over the years.

I think it’s ironic that IE 6 users hold the key to the future of the web, at least in terms of which browsers will gain dominance. The 20% of users running IE6 today represent veterans of a browser war that was fought (and won by Microsoft) nearly a decade ago. And what these users choose as their next browser could have a big impact on which browser emerges victorious in the current skirmish we're seeing among IE, Firefox, Safari, and even Chrome.

On the one hand, if the majority of IE 6 users are just lazy or don't know how to upgrade, it's relatively safe to assume that they'll just upgrade to IE 8 as they become aware of easy upgrade options (or get new machines, though some could convert to Safari in this process). On the other hand, if the majority of these users explicitly need IE 6 to make corporate sites work correctly, then it's conceivable that many will like stay on current hardware, use IE 6 for their apps, and install Firefox or Chrome along with IE6 for any of the more modern browsing needs they may have. Either way, there's a large segment of users out there who can have a big impact on where things head in the future. As more and more pressure mounts on those users to switch or upgrade it will be interesting to see what happens, especially considering some of the recent turbulence in this arena (that has apparently been so big that it's caused Net Application Data to review their most recent numbers for a few days now).

Ditching IE 6

It's no secret, of course, that IE6 has long been viewed quite critically by web developers. In fact, it's probably safe to say that most web developers despise it. A key reason for that less than amicable sentiment is the amount of tweaking and hacking it takes to get new sites and content to work in IE 6. Or, as more than one sarcastic comment on http://www.saveie6.com/ points out, with IE6 out of the mix web developers and designers might end up going bankrupt as they'd lose half of all of their billable hours trying translate their sites and designs to render correctly on IE 6.

As a developer who has spent way too much time battling CSS hacks and other problems with sites for rendering in IE 6, I'd only be too happy if IE 6 would go away tomorrow. Sadly, it looks like that won't be the case, and I've checked browser statistics on a couple of the sites I work with over the past few months to see how soon I could begin possibly ignoring IE6 traffic. But sadly, on most of the sites I work with or maintain, IE 6 still represents 10-20% of the traffic, which is truly heartbreaking for me.

I relished a decision by YouTube to discontinue support for IE 6 relatively shortly. Even better, this news comes on the heels of other reports pointing out that other sites will be dropping support for IE6 as well.

Of course, as much as I could hope that this would trigger a cascade of other sites deciding to similarly pull support (making it easier for me to do the same), it's probably worth remembering that if the majority of IE 6 users are truly using IE 6 to explicitly maintain compatibility with their own intranet or business applications, then the content on YouTube or Digg likely isn't going to be a huge loss to these users. But we can always hope.

The Future of IE 6

What does all of this mean for web developers? Not a lot at this exact moment. Someday we might hit that bright-spot where we no longer need to waste time making sites work in IE 6. If enough sites take a cue from YouTube and Digg (and hopefully a few will) that might drive some momentum for change. That, in turn, could propel some IE 6 users to jump ship, changing the balance even more dramatically. When that happens, we'll be that much closer to cutting out a huge amount of effort when it comes to web development in general.

Source: http://www.devproconnections.com

| Trackback | # 
 Sunday, March 22, 2009
Sunday, March 22, 2009 9:42:35 PM UTC ( coding | EN | internet | microsoft | tech )

As part of Scott Guthrie's keynote March 18th at Mix 2009, Microsoft announced the final release of ASP.NET Model View Controller (MVC). If you haven't had a chance to look at it yet, now is your chance as it's officially out of beta and into full production.

ASP.NET MVC—Why All the Hype?

In case you haven't heard, Microsoft has made it abundantly clear that ASP.NET MVC isn't designed to replace ASP.NET Webforms development. Instead, it's another option that Microsoft is making available to developers. This is similar to Microsoft's decision to allow developers to code in both Visual Basic and C# - the idea being that developers chose what best meets their needs and particular styles.

Personally, I'll never go back to WebForms, because I'm sold on the way MVC solutions give me complete control over my markup, facilitate testing, and allow greater control over URL routing while making my code much more modular (which in turn, makes it easier to manage and extend). So, while MVC development might not be for everyone, it's definitely for me, and I'm completely sold on it.

ASP. NET MVC as a Testament to Innovation at Microsoft

But what I really love the most about ASP.NET MVC (in addition to all of the time it saves me as a developer), is that it's a perfect example of some very new, and innovative, approaches that Microsoft has taken in regards to addressing business and the web in general. Once upon a time, Microsoft's approach to the web and competing products and platforms basically consisted of doing nothing more than pretending that those offerings didn't exist. You can see some examples of this mindset by visiting some parts of the Microsoft corporate site, where many pages and applications simply don't work correctly with browers other than Internet Explorer. Likewise, this mindset was also at the heart (in my opinion) of much of the complaints leveled at Microsoft for being nonconformant with industry accepted standards.

But the MVC is part of a vanguard of new products and services delivered by Microsoft  where the company seems to take an entirely different approach. Rather than simply pretending that other offerings don't exist, this approach focuses on accepting the strengths of other platforms, analyzing those strengths, rolling them into Microsoft products where applicable, and then building supporting and competing Microsoft products that developers, and IT professionals, just can't do without.

IIS 7, for example, no longer pretends that PHP doesn't exist. Instead, it fully embraces it, and is striving to provide such a powerful hosting platform for it that businesses will choose to run PHP on IIS7 given the ease of management, extensibility, and flexibility that they'll enjoy from hosting PHP on a Windows Server. And if Microsoft is able to deliver? Then businesses will be buying Windows Server licenses for their web workloads, instead of using Apache licenses. It's a bold business approach to be sure, but I much prefer this approach to meeting the competition head-on, rather than watching Microsoft merely burying its head in the sand.

What's better though, is that it appears that as Microsoft continues to take this head-on business approach, we're finally starting to see some really innovative things coming out of Redmond. And in my mind, a prime example of that innovation has been the effort and energy devoted to the creation of ASP.NET MVC functionality. As an ASPInsider, I've been able to see just how innovative the ASP.NET team working on this project has been - and how careful they've been in creating this platform in order to ensure that it really, and truly, met real-world business needs.

A further example of how this innovation and its associated paradigm shift is taking root at Microsoft is the BizSpark program, which takes a very aggressive approach at preventing start-ups from courting the LAMP stack as a cheaper alternative to the Microsoft Stack by giving them three years to use Microsoft products and licenses for free.

And, if you think that I've possibly gone off the deep-end, or imbibed a bit too much of the Microsoft Kool-Aid, make sure to check out Bill Buxton and Scott Guthrie's Keynote from Mix '09. Here’s the link: http://live.visitmix.com/. You’ll need to mouse over the player, select the Other Videos option, and select the Day1 Keynote.

Unless there's something seriously wrong with you, this keynote will get you excited about development again, and it will totally make you rethink your relationship with Microsoft. You'll also see some great examples of real-life innovation.

Getting Started with ASP.NET MVC

As for ASP.NET MVC itself, if you've been waiting for it to mature a bit before playing with it (or just haven't had the time yet), now is a great time to pull it down and try it out. It now has a brand new portal page on the www.asp.net web site itself, and there are also a number of great videos that will help you get quickly spun up on how it works, and what it does. In fact, if you'd like a very quick overview of how MVC applications work, make sure to check out Stephen Walther's new video that shows a start-to-finish MVC app.

Likewise, one of the great things about MVC development is that it's insanely extensible and lends itself very well to customizations and tweaks. I've leveraged these capabilities extensively in my own projects, and a huge resource that's helped me in doing so has been access to the actual source code for ASP.NET MVC itself - which you can peruse (or even download) from the codeplex site.

Another resource that you'll want to pay attention to if you're interested in MVC development is MVCContrib, which is an extensive suite of open-source extensions and augmentations that can be used to improve MVC development. I've also found that Phil Haack’s and Rob Conery's blogs are great resources; they document some MVC features and functionality. But more importantly, these blogs are great resources in terms of explaining why certain features are implemented as they are. The resulting transparency from those blogs helps (in my mind) play a big part in much of the innovative spirit that makes MVC and other recent releases from Microsoft so exciting and refreshing.

Source: http://www.devproconnections.com/

| Trackback | # 
 Wednesday, September 17, 2008
Wednesday, September 17, 2008 9:00:00 AM UTC ( coding | EN | microsoft | xbox )

[QUOTE]
That's right! You can download it now! We'll be asking your help to put this baby through her paces as we lead up to the official release later this year. It is your input that makes us stronger, faster and better.

Download XNA Game Studio 3.0 Beta at Launch Center

If you do find any bugs or just have a suggestion on ways we can make XNA Game Studio 3.0 more awesome head over to Microsoft Connect to submit them to us.

Here is a list of the changes:

Zune

  • Compatibility with the upcoming Zune 3.0 Firmware release. Please note that the XNA Game Studio 3.0 CTP will no longer work once you have upgraded your Zune device to the 3.0 firmware.
  • Improved deployment stability.
  • Support for Zune deployment on Windows Vista x64 Systems!
  • You can now use the Remote Performance Monitor for Zune games.

Xbox 360

  • Xbox 360 project templates (You will not be able to develop on the Xbox 360 until our final release. We felt this was important to include so that you could get projects converted over and look at the system, even if you are not able to run the games, yet).
  • Support for the Big Button Pad.

Framework & Visual Studio Features

  • Enumerate and play back media on your Windows computer or Xbox 360.
  • Simple sound effect support on Windows computers and Xbox 360.
  • Support for Rich Presence (lets friends know what’s going on in your game).
  • Support for Invites (ask your friends to join you in a multiplayer game) and Join Session In Progress (after you see what your friends are doing, you can join their current session with just a couple of button presses, even if that’s a different game to the one you are currently playing)
  • Compress your content and save space with the new content compression features!
  • ClickOnce packaging support for distributing your XNA Framework games on Windows.
  • Upgrade your project from XNA Game Studio 2.0 using the Project Upgrade Wizard!
  • Take screen captures of your game running on Zune through the XNA Game Studio Device Center.
  • Support for .NET language features like Linq
  • Create multiple content projects and leverage cross project synchronization in Visual Studio.
  • FBX importer improvements: read materials containing multiple textures, and export custom shader materials directly out of Max or Maya.

[/QUOTE]

Source: blogs.msdn.com

| Trackback | # 
 Wednesday, September 10, 2008
Wednesday, September 10, 2008 2:32:20 PM UTC ( coding | EN | microsoft | tech | xbox )

[QUOTE]
Here's a video of the Google Tech Talks titled "The Xbox 360 Security System and its Weaknesses" by Michael Steil (mist) and Felix Domke (tmbinc): "After the disaster of the original Xbox, Microsoft put a lot of effort in designing what is probably the most sophisticated consumer hardware security system... "

[/QUOTE]

Source: xbox-linux.org via www.xbox-scene.com

| Trackback | # 
 Friday, August 22, 2008
Friday, August 22, 2008 2:17:55 PM UTC ( coding | EN | internet | movies )

This tutorial is about how to configure your web server to stream your own movies on your web page just like video.google.com does.

Requirements:

1. Configuring Windows Server 2003 and IIS

Add a new web site in your IIS and don't forget to select "Run Scripts (such as ASP)".

Using this HTTP handler you can easily FLV streaming downloads just like . All you need is to install on your IIS 5.0/6.0 the following HTTP handler and to get this to work correctly, you will need to make sure that IIS handles request for .flv files. In your site's properties, click the "Home directory tab" and click the "Configuration" button. You'll get a form like this:

Add the entry for .flv, click edit, and copy the path in the executable field. This is the aspnet_isapi.dll for the current version of the .NET Framework of your virtual site. Cancel out of that dialog and click "add." Paste the path into the executable, use the extension .flv and set your verbs limited to "GET, POST, HEAD, DEBUG" like this:

Now any request for a .flv file on the site will be handled by ASP.NET. Since the server-wide machine.config file doesn't specify what class should handle the request, a default handler is used unless we add the following lines to the web.config file (of your web site):

2. Coding

Web.config

<httpHandlers>
verb="*" path="*.flv" type="FLVStreaming" />
</httpHandlers>

FLVStreaming.cs

using System;
using System.IO;
using System.Web;
public class FLVStreaming : IHttpHandler
{

    // FLV header
private static readonly byte[] _flvheader = HexToByte("464C5601010000000900000009");

public FLVStreaming()
    {
    }
public void ProcessRequest(HttpContext context)
    {
try
{
int pos;
int length;
// Check start parameter if present
string filename = Path.GetFileName(context.Request.FilePath);
using (FileStream fs = new FileStream(context.Server.MapPath(filename), FileMode.Open, FileAccess.Read, FileShare.Read))
            {
string qs = context.Request.Params["start"];
if (string.IsNullOrEmpty(qs))
                {
                    pos = 0;
                    length = Convert.ToInt32(fs.Length);
                }
else
{
                    pos = Convert.ToInt32(qs);
                    length = Convert.ToInt32(fs.Length - pos) + _flvheader.Length;
                }
// Add HTTP header stuff: cache, content type and length       
context.Response.Cache.SetCacheability(HttpCacheability.Public);
                context.Response.Cache.SetLastModified(DateTime.Now);
                context.Response.AppendHeader("Content-Type", "video/x-flv");
                context.Response.AppendHeader("Content-Length", length.ToString());
// Append FLV header when sending partial file
if (pos > 0)
                {
                    context.Response.OutputStream.Write(_flvheader, 0, _flvheader.Length);
                    fs.Position = pos;
                }
// Read buffer and write stream to the response stream
const int buffersize = 16384;
byte[] buffer = new byte[buffersize];
int count = fs.Read(buffer, 0, buffersize);
while (count > 0)
                {
if (context.Response.IsClientConnected)
                    {
                        context.Response.OutputStream.Write(buffer, 0, count);
                        count = fs.Read(buffer, 0, buffersize);
                    }
else
{
                        count = -1;
                    }
                }
            }
        }
catch (Exception ex)
        {
            System.Diagnostics.Debug.WriteLine(ex.ToString());
        }
    }
public bool IsReusable
    {
get { return true; }
    }
private static byte[] HexToByte(string hexString)
    {
byte[] returnBytes = new byte[hexString.Length / 2];
for (int i = 0; i < returnBytes.Length; i++)
            returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16);
return returnBytes;
    }

}

All you need now to stream your favorite FLV movies is a custom-made player which is fetching the contents passing to the request the ?start= parameter in order to seek the current position inside the video file.

Fabian Topfstedt has one available onto his site (get the player and place it in your site document root).

To use Fabian player you have to embed the following HTML code inside your page (and of course you should change the path to you .flv video and player):

 

There are three attributes of interest: Width and height define the resolution of FLV-Scrubber. If your videos’ native resolution is eg. 320×240 pixels, you might want to set width to 320 and height to 240. No problem if does not match, the video just will be scaled up or down. The third attribute is “flashvars”. That’s where you change the bahaviour and pass over information to FLVScrubber. You need to set at least file here, to link to the video you want to play. Everything else is optional (key/value pairs inside the flashvar attribute are separated using &). Here is a complete list:

  • file=[URL] defines which video to show
  • &autoStart lets the video start immediately
  • &bufferTime=[number] changes the buffer time (default is 3 seconds)
  • &clickTag=[URL] defines a target to call after video ended
  • &credit=[(URL encoded) text] to show a credit like your company name in the context menu
  • &link=[URL] defines a website to open when user clicks into the video
  • &linkTarget=[blank,parent,self,top] defines the target of the website above (default: blank)
  • &loop=true lets your video replay itself instead of ending (default: false)
  • &previewImage=[URL] sets an backgroundimage as preview before playback starts
  • &scrubbing=false use that, if you’re webserver has no enabled module for fake streaming (default: true)
  • &seeking=false disallows the user to seek inside the video (default: true)
  • &secondsToHide=[number] defines amount of seconds that the controlbar waits before hiding (0 means never, default is 5)
  • &startAt=[number] defines the the second where the playback will start (default:0)


3. Converting your movie into FLV format

Now you need to convert/encode a video file (e.g. .avi) into a .flv by using ffmpeg and flvtool2 to index your in order to add the correct metadata inside the FLV file. You can do this by using the console (e.g):

ffmpege.exe -i test.avi test.flv
flvtool2.exe -U test.flv

or by using a GUI for ffmpeg like Avanti (http://avanti.arrozcru.com):

(don't forget to copy the ffmpeg.exe in your ../avanti/ffmpeg folder and load the "FLASH HQ" template from the Avanti menu). If you are a proud owner of Adobe Flash Professional 8 you can use the Flash 8 Video Encoder and you don't need ffmpeg and flvtool2 to encode and index your videos.

After encoding your video you can use a PLV Player (e.g. http://flv-player.softonic.de) to check if .flv file match your needs (e.g. correct resolution, bitrate...).

Now upload all file to your web server and your web site root should look like:

yourdirectory/App_Code/FLVStreaming.cs
yourdirectory/Web.Config
yourdirectory/default.htm
yourdirectory/FLVScrubber.swf
yourdirectory/yourmovie.flv

| Trackback | # 
 Wednesday, July 09, 2008
Wednesday, July 09, 2008 10:10:44 AM UTC ( coding | EN | funny | linux | tech )

[QUOTE]
Newb guide #4. Suck it.

  • Pick versions of the kernel, glibc, gcc, that are different from all other distros. So that you too, can "Think Different," or at least claim that you have the newest kernel among all distros for the next 2 weeks.
  • Pick a color. Make your distro's default desktop look that color. Beware that blue, green, red, and brown are taken. This is your distro's branding you see? Having a consistent color increases usability, even more so than having usable apps.
  • Make sure your distro's name has at least two intuitive pronunciations, so that you as the maintainer can be a dick and correct everyone who says it wrong.
  • Take tons of screenshots showing that you can run all the same damn apps as every other distro.
  • Don't mention any detailed information about what kind of hardware your distro is known or not known to work on.
  • Say that it's "community tested," but mean that you personally haven't tested it all.
  • Have a snazzy website with a bunch of gradients. Preferably blending from your color of choice (see above) to white. Copy Apple websites as much as possible.
  • Use a different package format from all other distros
  • Failing that, use a similar package format, but make sure all your packages are incompatible
  • Definitely be sure to have your own package updating mechanism. I mean, if you can't even write that code yourself, how are we to trust you?
  • Make sure you have a freetard version. Undo all the useful integration work you did with proprietary binaries that people want to use.
  • Release new, barely tested bits every 6 months and claim that it is a sign of progress.
  • Make sure you're LSB compliant. Also make sure that that means absolutely nothing.
  • Never admit that your distro could be achieved by just reconfiguring another distro.
  • Do one thing right that every other distro gets wrong. Make sure that the solution you come up with only works in your distro.
  • Have a forum where users of your distro can complain to each other. Make sure this forum allows users to have signatures that tell me about all the hardware they've wasted by running your distro.
  • Have a brainstorm site where users can point out the most obvious problems and make you look like an idiot.
  • Have a bugzilla, but don't ever fix any of the bugs. Blame them all on upstream, then don't tell upstream about the problems.
  • Make sure every upstream package has at least two patches. This differentiates your product, see?
  • Have a newsletter. Make sure this newsletter has a column to introduce random users of your distro who are total nerds and haven't made a cent from all the work they put into their configuration.
  • Write tons of documentation on complicated procedures to make things work, instead of making things work.

[/QUOTE]

Source: http://linuxhaters.blogspot.com/

| Trackback | # 
 Friday, March 21, 2008
Friday, March 21, 2008 10:40:29 AM UTC ( coding | EN | microsoft )

Microsoft released a number of significant changes and additions to Visual Studio and the .NET Framework over the last year or so. So you’re not alone if you find yourself occasionally feeling overwhelmed by all of the new changes. But if you think current projects keep you too busy to look at the latest releases, you need to remember the old adage about taking time out to sharpen your saw. In this article I’ll take some time to show you some great new additions to C# that can sharpen your productivity without a lot of effort.

Additions to C# in.NET Framework 3.5
In my first article about Visual Studio productivity enhancements, Microsoft Visual Studio 2008 Improvements, in the March 6, 2008 WindowsDevPro Update, I looked at improvements that developers can easily use without forcing us to change existing solutions or adopt entirely new coding paradigms. The same thing goes with the Visual Studio 2008/.NET Framework 3.5 Visual C# features that I’ll discuss here. All of these features are made possible through additional compiler support in the form of new syntax. This means that these new changes take only a few minutes to learn, yet they have the potential to provide significant productivity benefits.

The Coalescing Operator
It could be argued that the coalescing operator represents a minor change to C# in .NET Framework 3.5 and that if you’re not playing around with SQL Server LINQ, you might even miss this handy new bit of functionality. But if you’re too busy to check out LINQ, you still need to check out the coalescing operator as it can have a huge impact on your coding efficiency. Take a look at this code sample:

string middleName = txtMiddleName.Text ?? "";
Customer cust = GetCustomer(id) ?? new Customer();

I love it because it’s like having T-SQL’s ISNULL() or COALESCE() functions in C#, except that they’re implemented as an operator in C# which makes it lean, mean, and easy to use just about anywhere. I’ve found that using this operator can help to ensure that code remains sufficiently robust (by ensuring default values where needed) with a modicum of effort.

Object and Collection Initializers
I’m in love with C#’s new initializers; they’re valuable in many contexts because they’re an exceptionally clean way to create new objects or collections. For example, in applications where a business object is being edited or created based on an ID, if the ID is 0, then the action can represent the creation of a new object; otherwise it represents the ID of the object to edit. With object initializers I can easily define that logic in my code in a single line without jeopardizing readability:

User u = uId == 0 ? new User { Id = 0 } : GetUser(uId);
u.FirstName = txtFirstName.Text;
// etc.

I also find collection initializers to be extremely useful for simple logical evaluations like the following:

List<string> northWestStates =
    new List<string> { "Montana", "Idaho", "Washington", "Oregon" };
if(northWestStates.Contains(currentState))
    // state is a NW state

Of course, hard coding your logic like this doesn’t always make sense. But in cases where one-off evaluations are required by business logic, you can’t beat initializers for their ability to let you quickly code up a viable solution with minimal clutter.

Auto-Implemented Properties
I’ve also been using auto-implemented properties for a few months now. Each time I use this new syntax to create properties I’m amazed at how easy properties are to create now.

// 'traditional properties
private string _name;
public string Name
{
    get { return _name; }
    set { _name = value; }
}

// Auto-Implemented
//  exact same functionality, but less code
public string Name { get; set; }

Ironically, the hardest thing to get used to with automatic properties is remembering to use code snippets to create them, because that makes them a lot faster to implement. I frequently find myself creating properties by hand because it’s so easy with this new syntax.

Extension Methods
The thing I love most about C# in NET Framework 3.5 is extension methods. They’re important in making LINQ work, but I find that they’re extremely valuable in just about everything I do now. They’re extremely elegant and have virtually no learning curve, making them the perfect addition to any C# developer’s arsenal. Best of all, they help overcome some of the repetitive logic problems that I’ve been dealing with for so long–without making me link out to helper classes and other hacks.

Here are two extension methods that I’ve become addicted to:

public static bool IsEmpty(this string input)
{
    return string.IsNullOrEmpty(input);
}

public static string TrimTo(this string input, int len)
{
    if (input.IsEmpty())
        return input;

    if (input.Length > len)
        return input.Substring(0, len);

    return input;
}

IsEmpty() may not look like much (it looks like the old Visual Basic function IsEmpty()), but it’s become a life-saver for me. This is because checking strings in C# to see whether they’re null or empty gets a bit tedious. I know the string class offers a static .IsNullOrEmpty() method, which is much better than manually making those checks yourself, but it still ends up looking bulky in code. With IsEmpty() I’m able to abstract that same logic into a much cleaner bit of syntax that improves readability:

// good
if(text == null || text.Length < 1)
    // string is empty// better
if(string.IsNullOrEmpty(text))
    // string is empty// best (for me)
if (text.IsEmpty())
    // string is empty
The .TrimTo() method does more than just please my sense of aesthetics. In fact, it saves me oodles of time. For example, when persisting business objects to a database there’s that annoying impedance mismatch between SQL Server (or any  other database) and .NET: Where strings in .NET are of virtually any length, and strings in databases are typically constrained in size (to say, something like varchar(20)). Things get even worse with data such as Middle Names – which can be empty/null or up to a certain allowed length. Accordingly, a lot of my code accounts for that mismatch (whether I’m using stored procedures or LINQ) and looks like this:
Customer customer = new Customer();
if (string.IsNullOrEmpty(txtMName.Text))
    customer.MiddleName = "";
else
{
    if (txtMName.Text.Length > 30)
        customer.MiddleName = txtMName.Text.Substring(0, 30);
    else
        customer.MiddleName = txtMName.Text;
}

With .TrimTo() and the coalescing operator I’m able to ditch more than seven lines of code for the following single line of code that does the same thing:
customer.MiddleName = txtMName.Text.TrimTo(30) ?? "";
In each of my projects I’m now creating a static class or two to house my extension methods, which I create on a project-by-project basis to address common logical problems and repetitive tasks. And by placing these static classes into my projects without an explicit namespace, I’m able to access my encapsulated solutions wherever they’re needed, which has been a great productivity boost.

All This and a New Compiler Too
C# in .NET Framework 3.5 offers many great new additions; I’ve just scratched the surface here. You can use all of the additions that I’ve mentioned with very little effort or additional learning. And best of all, since these benefits are provided thanks to new compiler functionality, you can easily upgrade existing .NET Framework 3.0 and .NET Framework 2.0 applications to .NET Framework 3.5 without the pain associated with .NET Framework 1.0 to .NET Framework 2.0 conversions.

more on: http://www.windowsdevpro.com

| Trackback | # 
 Wednesday, February 20, 2008
Wednesday, February 20, 2008 8:18:57 PM UTC ( coding | EN | microsoft | xbox )

[QUOTE]
Microsoft is giving away development and design software to university and high school students around the world through a program aimed at fostering technology innovation worldwide.

Microsoft Chairman Bill Gates is expected to unveil the DreamSpark program Tuesday at Stanford University on the first stop of a U.S. and Canadian college tour. The program is now available to more than 35 million college students in Belgium, China, Finland, France, Germany, Spain, Sweden, Switzerland, the U.K. and the U.S.

Software available to students through DreamSpark includes Microsoft's development environment, Visual Studio 2005 Professional Edition, and its Web and graphic design toolset, the Expression Studio. Microsoft also is making available XNA Game Studio 2.0, SQL Server Developer Edition, Windows Server Standard Edition and other software and resources through the program.

In the next six months Microsoft expects to extend the program to college students in Australia, the Czech Republic, Estonia, Japan, Lithuania, Latvia, Slovakia and other countries. And in the third quarter, the software will be available to high school students as well, Microsoft said.

DreamSpark is part of a company-wide effort to work with local governments, communities and academic institutions worldwide to give potential technology workers a head start in the competitive job market to foster technology innovation and improve citizens' quality of life, especially in developing countries.

Microsoft also is trying to compete worldwide with open-source technologies such as Linux that are freely available to anyone and thus popular with student computer enthusiasts who may not be able to afford to purchase Microsoft products.

One major benefactor of DreamSpark is Aisec, an international exchange student program. Its 28,000 students will get software such as Microsoft's Office productivity suite, said Michelle Galant, vice president of communications.

Aisec, which has 1,100 offices in 100 countries, will also use the company's Exchange e-mail server, Gallant said. "It enables us to run offices and enables us to run our exchange program," she said.[/QUOTE]

More information about DreamSpark can be found on Microsoft's MSDN developer site.

Full Story: pcworld.com

| Trackback | # 
 Wednesday, January 09, 2008
Wednesday, January 09, 2008 11:20:19 AM UTC ( coding | EN | microsoft | xbox )

[QUOTE]
We're looking for a few 2D and 3D games created using XNA Game Studio for an upcoming opportunity to showcase the great work our community has been doing since we released the tools over a year ago. This could be the chance you and your game have been waiting for to enjoy the spotlight and anything that may come as a result. You will additionally have a chance to participate in an upcoming closed beta of a new XNA technologies.

If you have a game you are working on and would like for it to be considered, submit the following to xna@microsoft.com:

  • Name of your game
  • Brief description of your game
  • Brief team bio including where you are located
  • Up to 3 screenshots of your game (please limit the sizes of the screenshots to <1MB total)
  • Optional: Link to gameplay footage

All submissions must be received by January 18, 2008 in order to be considered (inbox date stamp will be used GMT-8). Everything pertaining to your game concept, screen shots, demos, etc. will remain yours. If selected, we will contact you directly with more details on the opportunity. Submissions to xna@microsoft.com will not be shown or used publicly without your consent.
[/QUOTE]

Source: XNA Team Blog

| Trackback | # 
 Monday, December 17, 2007
Monday, December 17, 2007 12:07:55 PM UTC ( coding | EN | microsoft | tech | xbox )

[QUOTE]
New XNA Game Studio 2.0 From Microsoft Enables Creation of Online Multiplayer Games Using LIVE
Microsoft Corp. today marked the next step in its initiative to democratize game development and unleash the creativity of the community with the release of the XNA Game Studio 2.0, the next generation of the popular game development platform for Xbox 360 and Windows. The new version builds upon XNA Game Studio Express, released one year ago, and includes the ability to create online, cross-platform multiplayer games for Xbox 360 and Windows using Xbox LIVE and Games for Windows -- LIVE, respectively. XNA Game Studio 2.0 adds more than 15 new features and is available for download from http://creators.xna.com.

"When building XNA Game Studio 2.0, we wanted to offer everyone the opportunity to utilize the rich gaming environment of LIVE used by AAA developers for titles such as 'Halo 3' and 'Gears of War,'" said Chris Satchell, general manager of the XNA organization at Microsoft. "We accomplished our goal with this new toolset, and, best of all, it remains highly accessible to students, hobbyists and pros alike." Many of LIVE's best features are supported by XNA Game Studio 2.0 with minimal to no coding necessary to activate them -- features like matchmaking, which uses LIVE to find the best games for you to play based on your location and internet connection. Additionally, XNA Game Studio 2.0 fully supports game development with all versions of the Microsoft Visual Studio product line.

XNA Creators Club Academic Trial Memberships Now Free to Qualified Students and Faculty
Since its release last December, XNA Game Studio has been an incredible success, with 750,000 downloads, adoption by more than 300 universities worldwide and at least nine textbooks on the tools in development. In subjects from computer science to fine arts, introductory courses to graduate and research projects -- XNA Game Studio is helping faculty members and students explore the boundaries of applied gaming technology in education. Along with XNA Game Studio 2.0, Microsoft will also provide a free academic trial membership in the XNA Creators Club beginning in January, allowing faculty members and students to use XNA Game Studio 2.0 and Xbox 360 for instructional purposes.

Time to Dream-Build-Play Again
From more than 4,500 entrants from around the world, four community games were awarded Xbox LIVE Arcade publishing contracts in this year's Dream-Build-Play game development competition. Microsoft will once again challenge aspiring game developers to create their dream games for a chance to win more coveted publishing contracts. This week Microsoft kicks off registration for Dream-Build-Play 2008 with the Silicon Minds Warm-Up Challenge. Registration begins on Dec. 14 and winners will be announced at the Game Developers Conference where details of the main challenge will be announced. Run in partnership with Microsoft Research's Machine Learning Group in Cambridge, England; Rare Ltd.; and Lionhead Studios, prizes for the Warm-Up Challenge will include the once-in-a-lifetime opportunity to interview for an internship with one of those organizations.

"Artificial intelligence is so important to the games we make at Lionhead Studios, and we are very excited to see what the community can come up with in this Warm-Up Challenge to Dream-Build-Play 2008," said Peter Molyneux, managing director at Lionhead Studios. "We are always on the lookout for the best talent and believe that XNA Game Studio 2.0 will be a great platform for contestants to showcase their skills on." More information about Dream-Build-Play 2008 is available at http://www.dreambuildplay.com.
[/QUOTE]

Official Site/Download: http://creators.xna.com

| Trackback | # 
 Saturday, July 21, 2007
Saturday, July 21, 2007 9:02:38 PM UTC ( coding | EN | funny )

[QUOTE]
Don't you hate when your debugging code accidentally makes its way into production? Like that CurrentUser.IsAdministrator() that always returns "true" because you forgot to take that line of code out? Well, here's your opportunity to laugh at others that forgot to fix things before deployment.

Konstantin R. didn't know what he should expect after changing settings on his router:

Steve H. was enjoying IncompleteSoft's TODO 0.8 Beta, when he was greeted with the following crash:

It's all Greek to Rob T.!*

A little known fact about WorseThanFailure.com's editorial process is that we have a word count target, and we fill in the rest with greeking text. Sometimes we forget to come back and actually fill in the rest of the article sed felis id nulla pharetra ultrices. Donec vestibulum quam et nulla.

Leigh C. was more than happy to oblige:

"THE FORUM RULES ARE THAT LEIGH C. IS AWESOME AND COOL AND AWESOMER THAN EVERYONE ELSE ON THIS FORUM. I AGREE."

*I promise never to do that again.
[/QUOTE]

Found on: www.worsethanfailure.com

| Trackback | # 
 Thursday, June 21, 2007
Thursday, June 21, 2007 10:22:27 AM UTC ( coding | EN | games | microsoft | xbox )

[QUOTE]
XNA Game Studio Express and the Demo Scene?

That's right. We've partnered with the Assembly 07 conference organizers who are including Xbox 360s and XNA Game Studio Express for the first time in their demos and game development competition! A number of top Demo teams are hard at work developing their first Xbox 360 demos ever and we look forward to them being shared later this year at the Assembly Summer 07 conference. To find out more on the Demo Scene, Assembly and even the links to a few blogs from the participating Demo teams, head on over to Assembly's site and check it out.
[/QUOTE]

Found on: XNA Blog (FYI: MS owned blog)

| Trackback | # 
 Thursday, April 26, 2007
Thursday, April 26, 2007 6:56:51 PM UTC ( coding | EN | microsoft | xbox )

[QUOTE]
XNA Game Studio Express 1.0 Refresh has been released and is available for download right now! For members of the XNA Creators Club, you'll be receiving a Title Update on your Xbox 360 console that will update XNA Game Launcher to the newest release. If you're not ready to move to 1.0 Refresh on Windows, don't worry; the Xbox 360 version is compatible with 1.0 and 1.0 Refresh.

We've gone over many of the features outlined in the announcement we made at GDC 2007. One thing we didn't really cover previously is compatibility. The entire team made a conscious effort to maintain compatibility with this release.

  • Your game should just recompile in 1.0 Refresh with no changes required.
  • Any game that is compiled should run fine if you have 1.0 Refresh installed.
  • As mentioned, you can continue to use 1.0 on your Windows computer with 1.0 Refresh on the Xbox 360 console.
  • Games that are built on 1.0 Refresh may run on 1.0; however, if you are using new functions or features in the XNA Framework (such as font functionality), it will not work properly.

You can download the XNA Framework 1.0 Refresh for including in your installer as you start to upgrade your games.

Finally, please make sure to take a look at the readme for any last minute information about the release. We'd love your feedback on this release, so please head over to the XNA Creators Club forums and leave a message.
[/QUOTE]

Download: here
Source: Team XNA Blog

| Trackback | # 
 Thursday, March 08, 2007
Thursday, March 08, 2007 5:00:21 PM UTC ( coding | EN | microsoft | tech )

Last Thursday, March 1st 2007, the new Software Development Kits (SDKs) for Windows Mobile 6 were published to MSDN.  Together with Visual Studio 2005, the Windows Mobile 6 SDKs provide everything a developer needs to build and test applications on Windows Mobile 6.

In the 1st week of availability we’ve had more than 30,000 downloads of the Windows Mobile 6 SDKs!  That’s 10x more than the first week the Windows Mobile 5.0 SDKs were published.  This demonstrates the increased interested in Windows Mobile as well as the value of creating the perception of application market opportunity by announcing platform + device + operator rather than just platform as we have in the past.  Good work Chuck and co!

You can download the SDKs here.

Stay tuned!  On May 1st 2007 we’ll be publishing an SDK Refresh featuring new emulators and enhanced documentation as well as releasing the new Windows Mobile 6 Developer Resource Kit DVD.

What’s are the benefits of Windows Mobile 6 for developers?

· Windows Mobile 6 makes it easier to build and deploy line of business applications

o .NET Compact Framework 2.0 and SQL Server Compact Edition are both built in saving time and cost in distribution and deployment

· Windows Mobile 6 provides great compatibility for Windows Mobile 5.0 applications

o Existing developers benefit from the additional reach provided by Windows Mobile 6 without having to do additional work

· Windows Mobile 6 makes it easier to build one application that runs on many devices

o The new device emulator provides better cell phone emulation and has built in GPS functionality making it possible to test a wider variety of applications

o Development frameworks like ScreenLib make it easier to build an app that adapts to different screen sizes

You can read the “What’s New” article on MSDN to find out more.

What are the benefits of the SDK?

The Windows Mobile 6 SDK together with Visual Studio 2005 contains everything a developer needs to build and test applications for Windows Mobile 6 including :

· Platform Documentation (both API level and How-To guidance)

· More than 100 sample applications

· Tools and utilities to enhance the development process : Cell Emu, Hopper, Fake GPS, CabSign and many more

· Emulator images for a wide range of device form factors

How are we letting developers know about the SDK?

Our planned “soft launch” is performing considerably better than we expected!  Awareness activities include :

· Windows Mobile Newsletter inclusion (developer version)

· Developer Evangelism Newsletter (DPE Field)

· MSDN Windows Mobile Homepage posting

Blog postings.  Windows Mobile Team Blog. Program Manager's Blog.

| Trackback | # 
 Monday, March 05, 2007
Monday, March 05, 2007 12:22:16 PM UTC ( coding | education | EN | microsoft )

A new Microsoft centralized learning environment helps beginning programmers. The Beginner Developer Learning Center offers a rich array of learning content that starts with the very basics, and guides the user through step-by-step to becoming a fully-fledged developer.

There are 2 learning paths: Windows Development and Web Development !!!

No experience or programming knowledge required - so dive right in!

>>> http://msdn.microsoft.com/vstudio/express/beginner/
 

| Trackback | # 
 Monday, February 19, 2007
Monday, February 19, 2007 9:54:23 PM UTC ( coding | EN | markets | SOA | tech )

[QUOTE]
As I have been doing client work recently I've come across the notion of "SOA Levels" more than once, as consulting and product organizations attempt to define the space for their customer and client base. One of the common patterns is the fact that many seem to be over simplifying SOA, in short defining this notion around components and not degrees of maturity. While components are important, a maturity model is much more important, considering that products will change over time, but architectural patterns have a tendency to remain constraint.

Just to recall, here is my take on things, as discussed a few years ago. I'm still going to say: "That's my story and I'm sticking to it."

Level 0 SOAs are SOAs that simply send SOAP messages from system to system. There is little notion of true services, but instead leverage Web services as an information integration mechanism. Hardly a SOA, but certainly a first step.

It's also important to note that you don't need Web services to create a SOA. This is true for all levels.
Level 1 SOAs are SOAs that also leverage everything in Level 0 but add the notion of a messaging/queuing system. Most ESBs are level 1 SOAs, leveraging a messaging environment that uses service interfaces, but really does not deal with true services (behavior), but instead moves information between entities as messages through queues.

While services are a part of Level 1 SOAs, it's really all about information and not about application behavior. For instance, while you do indeed invoke a service to push a message on queue and retrieve a message off a queue, it's really leverages services as a well defined interface and not accessing application functionality. Sometime SOA architects may attempt to abstract application behavior using an ESB, if that's the case you're moving up to level 4 (discussed below). However, doing this is typically much more trouble than it's worth. This is due to the fact that you're dealing with information-oriented integration technology which is merely attempting to deal with services/behavior...an unnatural act.
Level 2 SOAs are SOAs that leverage everything in Level 1, and add the element of transformation and routing. This means that the SOA is not only able to move information from source and target systems, leveraging service interfaces, but is also able to transform the data/schemas to account for the differences in application semantics. Moreover, by adding the element of intelligent routing, you�re able to route the information based on elements such as source, content, and logical operators in the SOA.

Level 3 SOAs are SOAs that leverage everything in Level 2, adding a common directory service. The directory provides a point of discover of processes, services, schemas, and such, allowing all those leveraging the SOA to locate and leverage assets such as services easily. Without directories, the notion of service reuse, the real reason for building a SOA won�t work. Directories are typically standards-based, including UDDI, LDAP, and sometimes more proprietary directories such as Active Directory.

Level 4 SOAs are SOAs that leverage everything in Level 3, adding the notion of brokering and managing true services. Here is where the brokering of application behavior comes into play. In other words, at this level we are not only about managing information movement, but the discovery and leveraging of true services.

At this level we have the capabilities to broker services between systems, allowing systems to both discover and leverage application behavior as if the functionality was local. This is the real goal of Web services, the ability to share services not having to worry about platform specific issues nor where the service are actually running.

What's important here is that we understand that the value is in the behavior, as well as the information bound to that behavior. This level of SOA is able to provide capabilities for discovery, access, and management. Most SOAs are built with level 4 capabilities in mind, but may workup from the lower levels. If you do that, make sure you are leveraging the right technology and standards that support all levels.

Finally, Level 5 SOAs are SOAs that leverage everything in Level 4, adding the notion of orchestration. Orchestration is key, providing the architect with the ability to leverage exposed services and information flows, creating in essence a "meta-application" above the existing processes and services to solve business problems.

Indeed, orchestration is really another complete layer on the stack, over and above more traditional application integration approaches we deal with at the lower levels. Thus, orchestration is the science and mechanism of managing the movement of information and the invocation of services in the correct and proper order to support the management and execution of common processes that exist in and between organizations and internal applications. Orchestration provides another layer of easily defined and centrally managed processes that exist on top of an existing processes, application services, and data within any set of applications.

The goal of this type of SOA is to define a mechanism to bind relevant processes that exist between internal and external systems in order to support the flow of information and logic between them, thus maximizing their mutual value. Moreover, we're looking to define a common, agreed-upon process that exists between many organizations and has visibility into any number of integrated systems, as well as being visible to any system that needs to leverage the common process model.


As services, and architectures that support them, become more of an asset within the enterprise, we need to begin learn how to categorize the patterns of the architectures, thus the SOA levels discussion in this blog. This both provides a better understanding of what is a true SOA, and also allows us to pick the right level to meet the needs of our business.
[/QUOTE]

Source: weblog.infoworld.com
| Trackback | # 
 Sunday, February 11, 2007
Sunday, February 11, 2007 8:12:17 PM UTC ( coding | EN | tech | xbox )

Nate Lawson (co-designer of the Blu-Ray content protection layer) published a presentation at the RSA 2007 Conference comparing the content protection schemes used on the Commodore64 vs. the Xbox360 ... showing things aren't all that different today:

[QUOTE]
History and future of copy protection. Builds on the property of asymmetry as a way of analyzing copy protection features. Defenders only need to increase cost to attackers, not build an impenetrable wall. Included a live demo of reading a C64 game and cracking its protection, as well as an intro to the Xbox 360 drive hacks. Ended with some simple recommendations for repairing the 360 hacks.
[/QUOTE]

Download the slides of the presentation from root.org

Source: www.xbox-scene.com

| Trackback | # 
 Saturday, February 10, 2007
Saturday, February 10, 2007 9:20:45 PM UTC ( coding | EN | games | vista | xbox )

[QUOTE]
For those of you that already have Windows Vista and want to run XNA Game Studio Express on it, I have a few steps that you can follow to (hopefully) get a successful installation. I want to be clear on this though: XNA Game Studio Express is not officially supported on Windows Vista. If you follow my steps, you are doing it on your own volition and nobody can officially support you. In addition, don't send me email telling me you followed the steps and it doesn't work, or that it deleted your favorite movies or other visual entertainment, or that it made your bread go moldy, etc.. I do NOT guarantee success, I am merely offering the steps that have worked for me and others.
[/QUOTE]

Check out the full instructions on: letskilldave.com

| Trackback | # 
 Tuesday, January 30, 2007
Tuesday, January 30, 2007 9:13:42 PM UTC ( coding | EN | internet )

The World Wide Web Consortium (W3C) this week announced it has published eight standards in its XML family to support the ability to query and transform XML data and documents.

Primary specifications include XQuery 1.0: An XML query language; Extensible Stylesheet Language Transformations (XSLT) 2.0 and XML Path Language (XPath) 2.0.

The new standards will play a role in enterprise computing by connecting databases with the Web, W3C said. XQuery provides for data mining while XSLT 2.0 boosts functionality in XSLT, which enables transformation and styled presentation of XML documents. These two specifications are dependent on XPath 2.0.

XPath 2.0 is an expression language allowing processing of values conformining to the data model defined in XQuery/XPath Data Model (XDM). The model provides a tree representation of XML documents and atomic values such as integers and strings. Version 2.0 supports a richer set of data types than the 1.0 version.

"XQuery will serve as a unifying interface for access to XML data, much as SQL has done for relational data," said Don Chamberlin of IBM Almaden Research Center, co-inventor of the original SQL query language and a co-editor of XQuery 1.0, in a statement released by W3C.

In addition to the primary specifications published this week, others include:

* XML Syntax for XQuery 1.0 (XQueryX).
* XDM.
* XQuery 1.0 and XPath 2.0 Functions and Operators.
* XQuery 1.0 and XPath 2.0 Formal Semantics.
* XSLT 2.0 and XQuery 1.0 Serialization.

| Trackback | # 
 Thursday, December 28, 2006
Thursday, December 28, 2006 1:16:58 PM UTC ( coding | EN | multimedia | tech )
HD-DVD AACS DRM Cracked?
| Trackback | # 
 Friday, December 15, 2006
Friday, December 15, 2006 12:52:02 AM UTC ( coding | coolstuff | EN | games | microsoft | xbox )

Fiercedeveloper.com posted the 10 steps to start developing homebrew games for the Xbox360 with Microsoft's ('free') XNA Game Studio Express released earlier this week:

[QUOTE]
1. GET C# Express!
2. GET XNA Game Studio Express!
3. Download the XNA Framework
4. Learn C#! (here or here)
5. Check out the sample programs!
6. Learn XNA!
7. Learn more XNA!
8. Make Pong!
9. Look at sample code! (from xnaspot.com, xbox360homebrew.com or xnaresources.com)
10. Join the Creator Club to get your game onto the xBOX!
[/QUOTE]

Full Story: fiercedeveloper.com
Source: http://www.xbox-scene.com/xbox1data/sep/EEyypZukkuFsMvjYXd.php

| Trackback | # 
 Tuesday, December 12, 2006
Tuesday, December 12, 2006 11:20:13 AM UTC ( coding | coolstuff | EN | games | microsoft | tech | xbox )
XNA Game Studio Express
| Trackback | # 
 Saturday, December 09, 2006
Saturday, December 09, 2006 12:32:21 PM UTC ( coding | EN | tech | xbox )
XBox vs. PS3
| Trackback | # 
Saturday, December 09, 2006 12:28:45 PM UTC ( coding | EN | microsoft | SOA | tech )
Microsoft SOA
| Trackback | # 
 Monday, December 04, 2006
Monday, December 04, 2006 11:45:06 PM UTC ( coding | EN | tech | xbox )
| Trackback | #