<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Machaira's Blog</title><link>http://blogs.vbcity.com/machaira/</link><description>Jim Perry's Blog at vbCity</description><managingEditor>Jim Perry</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Jim Perry</dc:creator><title>New Article</title><link>http://blogs.vbcity.com/machaira/archive/2006/09/20/6208.aspx</link><pubDate>Wed, 20 Sep 2006 13:59:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/09/20/6208.aspx</guid><description>&lt;FONT face=Arial&gt;Just threw together a quick tutorial (under the Game Development article section) on animated sprites using XNA Game Studio Express. It's so much fun to work with I should be paying Microsoft (but it's all free!) :)&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/6208.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>1st XNA Game Studio Express Post</title><link>http://blogs.vbcity.com/machaira/archive/2006/09/20/6205.aspx</link><pubDate>Wed, 20 Sep 2006 13:10:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/09/20/6205.aspx</guid><description>&lt;P&gt;&lt;FONT face=Arial&gt;So I've been playing with GSE for a couple days (I got off to a late start as I went on vacation the day after it was released) and I'm loving it. Why? The GSE team has made it ridiculously easy to get an XNA app running, basically a couple of clicks. Let's see:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;Fire up C# 2005 Express&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;Click the Create Project link on the Start Page&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;Select Windows Game (XNA) and give it a title&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial&gt;Click OK&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;That's it - 4 steps. Granted, it's not Half-Life 3, but there's a ton of stuff that gets added behind the scenes to make managing your game very easy. Want to show a sprite? Here ya go:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;Add the following to the Game1 class that gets created above:&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SpriteBatch&lt;/FONT&gt;&lt;FONT size=2&gt; _batch;&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;private&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Texture2D&lt;/FONT&gt;&lt;FONT size=2&gt; _sprite;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;Add the following to the constructor:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;_batch = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SpriteBatch&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.graphics.GraphicsDevice);&lt;BR&gt;_sprite = &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Texture2D&lt;/FONT&gt;&lt;FONT size=2&gt;.FromFile(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;this&lt;/FONT&gt;&lt;FONT size=2&gt;.graphics.GraphicsDevice, &lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"sprites.dds"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;Add the following to the Draw() method:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;&lt;FONT size=2&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;_batch.Begin(&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;SpriteBlendMode&lt;/FONT&gt;&lt;FONT size=2&gt;.AlphaBlend);&lt;BR&gt;_batch.Draw(_sprite, &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Rectangle&lt;/FONT&gt;&lt;FONT size=2&gt;(0, 0, 128, 128), &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Rectangle&lt;/FONT&gt;&lt;FONT size=2&gt;(0,0,128,128), &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;Color&lt;/FONT&gt;&lt;FONT size=2&gt;.White);&lt;BR&gt;_batch.End();&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;Wanna make that an animated sprite? Just a couple of lines more code since someone's already released a class to handle it for you. The GSE community has been steadily releasing samples and tutorials since the release of GSE.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;FONT size=3&gt;I urge anyone that's interested in doing indie game development to check out GSE. I for one can't wait to see my games running on my 360. :)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/6205.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Anyone want to develop games for the 360 using .NET?</title><link>http://blogs.vbcity.com/machaira/archive/2006/08/16/6160.aspx</link><pubDate>Wed, 16 Aug 2006 11:58:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/08/16/6160.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If you do you'll be able to, starting August 30th. Microsoft recently &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/presspass/press/2006/aug06/08-13xnagamestudiopr.mspx"&gt;&lt;FONT face=Verdana size=2&gt;announced&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; XNA Game Studio Express.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Bookmark the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/directx/XNA/default.aspx"&gt;&lt;FONT face=Verdana size=2&gt;XNA Homepage&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Read the &lt;/FONT&gt;&lt;A href="http://msdn.microsoft.com/directx/xna/faq/"&gt;&lt;FONT face=Verdana size=2&gt;XNA FAQ&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;. You'll find a link in the first item to register to be notified when the download is available.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Be sure to visit the &lt;/FONT&gt;&lt;A href="http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=20&amp;amp;SiteID=1"&gt;&lt;FONT face=Verdana size=2&gt;forums&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Stay tuned here for the adventures of getting a game developed and running using XNA GS. It should be fun and interesting.&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/6160.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>The future of application development?</title><link>http://blogs.vbcity.com/machaira/archive/2006/06/30/6067.aspx</link><pubDate>Fri, 30 Jun 2006 10:42:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/06/30/6067.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I recently downloaded the previews of the tools in Microsoft&amp;#174; Expression&amp;#174; : &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.microsoft.com/products/expression/en/default.mspx"&gt;&lt;FONT face=Verdana size=2&gt;http://www.microsoft.com/products/expression/en/default.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;While I've only spent a couple of minutes with the two products (Interactive Designer and Web Designer) I have to say I'm pretty impressed. Get ready for a HUGE learning curve to get up to speed with how interfaces will work in Vista (and here I haven't even got up to speed with the 2.0 version of the Framework! :( ).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I'm sure I'll be posting more about this as I explore it, so stay tuned! :)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/6067.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>MS focus on game development</title><link>http://blogs.vbcity.com/machaira/archive/2006/06/14/6046.aspx</link><pubDate>Wed, 14 Jun 2006 10:58:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/06/14/6046.aspx</guid><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;It seems MS is focusing more on game development using .NET. The announcement of the XNA Framework at the GDC and this new area of their site:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://g.msn.com/0AD0002U/887211.1??PID=3114334&amp;amp;UIT=A&amp;amp;TargetID=1063739&amp;amp;AN=304237415&amp;amp;PG=CMSAN1"&gt;&lt;FONT face=Arial size=2&gt;http://g.msn.com/0AD0002U/887211.1??PID=3114334&amp;amp;UIT=A&amp;amp;TargetID=1063739&amp;amp;AN=304237415&amp;amp;PG=CMSAN1&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;Will the industry shift to .NET as a major language in game development? Hopefully, but I'm not expecting it soon. The (supposed) speed issue, (supposed) lack of penetration of .NET on client machines, etc. seem to be holding it back. If MS is going to focus on pimping .NET as a viable platform for game development it needs to address these issues. I'll be keeping an eye out on this issue, waiting for the day when I can get my .NET games on Live Arcade for the 360! :)&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/6046.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>MDI Client Area Troubles</title><link>http://blogs.vbcity.com/machaira/archive/2006/04/05/5946.aspx</link><pubDate>Wed, 05 Apr 2006 13:35:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/04/05/5946.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I've been seeing a lot of posts in the vbCity forums lately about working with the client area of an MDI form. What's not immediately obvious is that the client area is actually an&amp;nbsp;MdiClient control&amp;nbsp;for the forms that are children of the MDI form (not the controls you put on an MDI form. They go into the form's Controls collection). One question I saw was asking how to change the backcolor of the client area. Doing:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Me.BackColor = Color.Red&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;doesn't work since it changes the BackColor of the form, not the client area control. To do that you would do:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Me.Controls(Me.Controls.Count - 1).BackColor = Color.Red&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Note that the client area control is always the last item in the Controls collection. Since the MdiClient derives from the Control class you can do a lot of things with it that you can do with any other control. For instance, another question asked how to make the client area of an MDI form fill with a gradient. The solution is to override the Paint event of the MdiClient control (not the form's Paint event since, again, that would be hidden behind the MdiClient control):&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub New()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MyBase.New()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'This call is required by the Windows Form Designer.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'Add any initialization after the InitializeComponent() call&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddHandler Me.Controls(Me.Controls.Count - 1).Paint, AddressOf PaintMDI&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private Sub PaintMDI(ByVal sender As Object, ByVal e As PaintEventArgs)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim rect As&amp;nbsp;New Rectangle(0, 0, sender.Width, sender.Height)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim lBrush As LinearGradientBrush = New LinearGradientBrush(rect, Color.Blue, Color.Green, LinearGradientMode.Vertical)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; e.Graphics.FillRectangle(lBrush, rect)&lt;/FONT&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5946.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Want a shot at $10K?</title><link>http://blogs.vbcity.com/machaira/archive/2006/03/24/5925.aspx</link><pubDate>Fri, 24 Mar 2006 09:10:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/03/24/5925.aspx</guid><description>Check out the latest MS PR event for .NET - &lt;A href="http://www.madeinexpresscontest.com"&gt;Made In Express Contest&lt;/A&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5925.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>We don't need no steenking inheritance (or do we?)</title><link>http://blogs.vbcity.com/machaira/archive/2006/02/23/5846.aspx</link><pubDate>Thu, 23 Feb 2006 21:18:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/02/23/5846.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;One thing I see often in the vbCity forums is &amp;#8220;How can I make &amp;lt; some control &amp;gt; do this&amp;#8221; or &amp;#8220;I wish &amp;lt; some control &amp;gt;&amp;nbsp;had &amp;lt; some property &amp;gt;&amp;#8221;. One of the best things about .NET is that just about anything can be inherited. Want to add a Tag property to a control that for some reason doesn't have it. No problem:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;Public Class EControl&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Inherits OldControl&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Private _tag As String&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Property Tag As String&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return _tag&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Get&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set(ByVal Value As String)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _tag = Value&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Set&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Property&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face="Courier New" size=2&gt;End Class&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Doing this won't give you the option of putting the control in your Toolbox but if you want that it's as simple as creating a Windows Control Library project, dropping the control on the UserControl form, resizing the UserControl form to only show the child control, and exposing the child control's properties. The UserControl already has a Tag property, so you don't even have to implement it. Granted, it's sometimes more difficult than this, but it's still not so difficult that you can't whip a control out in a couple of minutes.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Try to think of some functionality you wish the standard controls in either 2003 or 2005 had and we'll see what we can do about whipping some up.&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5846.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Debugging</title><link>http://blogs.vbcity.com/machaira/archive/2006/01/31/5804.aspx</link><pubDate>Tue, 31 Jan 2006 09:30:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/01/31/5804.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Minor rant time:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;lt; rant &amp;gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Every day I see questions on boards like:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;"When I tried to run my app, I get an &amp;lt; error type here &amp;gt; error. Can you tell me what's wrong?"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;To anyone who's done programming for any length of time, usually the only way to answer this question is with other questions:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;What line of code caused the error?&lt;BR&gt;Did you try stepping through the code to see what might have caused the error?&lt;BR&gt;Why don't you have error handling code in your app?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I'm stumped as to why people believe we're mind readers and can answer their question without providing at least the information to answer the first question above. Also, based on the posts. I appears that &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;the first time an error pops up in their app, they run to a message board and post the question without even trying to debug the problem. Probably 75-90% of the posts on boards could be eliminated by people &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;spending 2 minutes in stepping through their code to debug the problems. I fear for the state of IS shops if the above is typical of the way soon-to-be programmers handle bugs in their apps. Are Comp Sci &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;teachers not teaching their students how to handle errors or is it just laziness on the part of people (or worse, both!)?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;I understand that there are times when your knowledge is not equal to the task of solving a problem. I've been there, believe me (and still am, as is probably everyone that tries to learn new technology). &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;However, do yourself a favor and at least try to solve the problem before running to a message board for help. Not only will you probably solve the problem quicker than if you had waited for an answer to your &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;post, but you'll probably also learn something in the process. Also, spend the extra couple of minutes to add error handling code to your app. Any code where an error could pop up should have code to handle &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;the error(s). If you're using a language that allows you to trap for specific errors, do so. For instance, consider the following code:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Imports System&lt;BR&gt;Imports System.IO&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Public Class Test&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Shared Sub Main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim path As String = "c:\temp\MyTest.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim fs As FileStream = New FileStream(path, FileMode.Open)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sr As StreamReader = New StreamReader(fs)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While sr.Peek() &amp;gt;= 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(sr.ReadLine())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sr.Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs.Close()&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;End Class&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Doesn't seem like there's anything wrong, correct? Of the 8 lines of code that do something, at least 2 could cause exceptions:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Dim fs As FileStream = New FileStream(path, FileMode.Open)&lt;BR&gt;Dim sr As StreamReader = New StreamReader(fs)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;The assumptions here are that the file pointed to by "path" exists and the FileStream is actually created. To fix this you could take the easy route:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Imports System&lt;BR&gt;Imports System.IO&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Public Class Test&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Shared Sub Main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim path As String = "c:\temp\MyTest.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim fs As FileStream = New FileStream(path, FileMode.Open)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sr As StreamReader = New StreamReader(fs)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While sr.Peek() &amp;gt;= 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(sr.ReadLine())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sr.Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fs.Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch e As Exception&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("The process failed: " &amp;amp; e.ToString())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;End Class&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;That would help, but there's more you could do:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Imports System&lt;BR&gt;Imports System.IO&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Public Class Test&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Shared Sub Main()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim path As String = "c:\temp\MyTest.txt"&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If File.Exists(path) Then&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim fs As FileStream = New FileStream(path, FileMode.Open)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim sr As StreamReader = New StreamReader(fs)&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While sr.Peek() &amp;gt;= 0&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(sr.ReadLine())&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("File doesn't exist")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch eArgNullEx As ArgumentNullException&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("Error opening file stream: " &amp;amp; eArgNullEx.Message &amp;amp; " - " &amp;amp; eArgNullEx.InnerException.Message)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch eArgEx As ArgumentException&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("File cannot be read: " &amp;amp; eArgEx.Message &amp;amp; " - " &amp;amp; eArgEx.InnerException.Message)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch e As Exception&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show("The process failed: " &amp;amp; e.Message &amp;amp; " - " &amp;amp; e.InnerException.Message)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Finally&lt;BR&gt;&lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sr.Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fs.Close()&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;BR&gt;End Class&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Better. :) Always try to trap for specific errors by the most specific first and always have a Catch for the general Exception class. Try to give as much information on the error as possible. There's no such thing as &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;overkill on providing info on errors, at least when you're debugging. A release version should probably give a user friendly message and allow the user to copy the more technical information to send to a &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;support person. Yes it means more code to write. There's add-ins out there that will drop skeleton Try...Catch code in for you (blatant plug for CodeSmart - &lt;/FONT&gt;&lt;A href="http://www.axtools.com/"&gt;&lt;FONT face=Verdana size=2&gt;http://www.axtools.com/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;). If you're working for a &lt;/FONT&gt;&lt;FONT face=Verdana size=2&gt;company that can, get them to buy it and use it. You'll thank yourself when some obscure error pops up and you don't have to go digging for information to help fix the problem.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;&amp;lt; /rant &amp;gt; &lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5804.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Generics Article Posted</title><link>http://blogs.vbcity.com/machaira/archive/2006/01/16/5782.aspx</link><pubDate>Mon, 16 Jan 2006 11:36:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/01/16/5782.aspx</guid><description>&lt;FONT face=Verdana size=2&gt;I just posted an article on using the new Generics functionality in VS 2005. You can check it out here - &lt;A href="http://blogs.vbcity.com/machaira/articles/5781.aspx"&gt;http://blogs.vbcity.com/machaira/articles/5781.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5782.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Indie .NET Game Development</title><link>http://blogs.vbcity.com/machaira/archive/2006/01/10/5772.aspx</link><pubDate>Tue, 10 Jan 2006 23:36:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/01/10/5772.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;As my primary hobby development in .NET and gaming, I'm always on the lookout for something that makes the development easier. One such thing I've been checking out a bit is &lt;A href="http://www.traygames.com"&gt;Tray Games&lt;/A&gt;. It's basically a platform and delivery method for small .NET games. They provide the API for doing client server development and host the games. It's still very early in development, but if you're into .NET game development and are looking for a way to get your games out there and tools to make your games multiplayer, take a look at it. The more developers that get on board the more likely it is to make a decent splash in the indie game development world. I currently have two games that I'm thinking about hooking into this so I'll probably have more posts related to what it's like to develop for it.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;On another front, I've been doing mostly ASP.NET development at work and I started looking around for tools to make that easier. I'm in the process of evaluation the &lt;A href="http://www.dotnetnuke.com"&gt;DotNetNuke&lt;/A&gt; framework. It's an open source&amp;nbsp;module driven framework meant mainly for commercial sites, but I don't see why personal sites can't be done using it. They recently updated it to work with ASP.NET 2.0 and I've been trying to find the time to play around with it. The ASP.NET 1.1 version has a lot of modules already built for it, covering a lot of typical things one would see in websites, from blogs to survey tools, to message boards. It's pretty cool and if you're into web development I would suggest taking a look at it. There's a handful of companies that handle hosting sites developed with the framework, although I haven't had time to really look at them.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5772.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Jim Perry</dc:creator><title>Welcome! Come on in...</title><link>http://blogs.vbcity.com/machaira/archive/2006/01/06/5765.aspx</link><pubDate>Fri, 06 Jan 2006 19:04:00 GMT</pubDate><guid>http://blogs.vbcity.com/machaira/archive/2006/01/06/5765.aspx</guid><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;So I've joined the ranks of the vbCity bloggers. Hopefully you'll find something interesting and/or useful here. I'll probably concentrate my posting on game development as it's my favorite hobby. You might even stumble across some tidbits about the games I'm working on from time to time.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;If you haven't already done so, you might want to download the latest version of &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=7D29004E-7A8D-4F0A-B199-6A740D8F27BB&amp;amp;displaylang=en"&gt;&lt;FONT face=Verdana size=2&gt;Microsoft's DirectX SDK&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; (Dec 05 9.0c at the time of this post). Here's some of the cool things (well, to me at least :D) you'll find in it:&lt;/FONT&gt;&lt;/P&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Direct3D 10 Technology Preview &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Microsoft Cross-Platform Audio Creation Tool (XACT Beta) &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;Managed DirectX for .NET Framework 2.0 (Beta)&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;SPAN&gt;&lt;FONT face=Verdana size=2&gt;Windows Vista Game Explorer (Beta) &lt;/FONT&gt;&lt;/SPAN&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;Redist&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;D3DX9&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/FONT&gt;
&lt;LI&gt;&lt;FONT face=Verdana&gt;&lt;FONT size=2&gt;&lt;SPAN&gt;XInput&lt;/SPAN&gt; &lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Stay tuned, more to come soon. I'll try to be fairly consistent in my postings here. If there's something in particular you'd like to see me talk about, feel free to drop me a note.&lt;/FONT&gt;&lt;/P&gt;&lt;img src ="http://blogs.vbcity.com/machaira/aggbug/5765.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>