May 2008 Entries

XML Namespaces - Simple idea, not so simple to work with

Rather than write this stuff myself, I've included a couple of good articles that get through the concepts quickly and easily. Why should you care about XML Namespaces? XML is everywhere, even if you don't work directly with it. As IMC moves more to web services, our systems are sending more and more XML over the wire. We're also starting to use it in the databases as a flexible data storage mechanism. In all of these cases, we must carefully design the namespaces so that we don't get collisions between two systems or two versions of the same...

posted @ Friday, May 23, 2008 4:44 PM | Feedback (0)

TFS Team Build: One area where TFS 2008 is not backward compatible...

For the most part, Microsoft did a very nice job of making TFS 2005 stuff work with TFS 2008 and vice-versa. There's one area that just isn't compatible: Team Build. This is a bit of a sticky issue. Let's take our planned approach here: Upgrade some people to VS 2008. They start writing apps with VS 2008. Let's say that they are even targeting the 2.0 framework. They add their stuff to the nightly build. The build breaks because TFS 2005 cannot build a solution from VS 2008. ...

posted @ Friday, May 23, 2008 3:11 PM | Feedback (0)

My first look at developing Silverlight 2.0 Beta 1

Last night, I got my first look at the Silverlight 2.0 (beta1) development experience. I downloaded and installed the Silverlight tools for VS 2008 and dove right in. Overall, I'm very impressed with Silverlight. I read through the first bit of the help files to learn the architecture and basic concepts. For the most part everything makes sense. There were a couple of things that caught me off guard. These aren't show stoppers by any means. Just things that I didn't expect: 1) Silverlight 2.0 does not support synchronous calls to web services. You can add a...

posted @ Friday, May 23, 2008 3:09 PM | Feedback (0)

Reference Types vs. Value Types

Remember the C++ pointer stuff that you learned back in school? Messy stuff! Thank goodness for .NET where we don't have to worry about pointers and references, right? Wrong! It's still important to understand what kind of object you're working with. In some cases, your variable is really a pointer. In other cases, the variable is the data. Can you Handle It? I dare you! First, let's start with a little test... Take a look at the following code snippets and see if you can figure out the answers. The Test Done Already! ...

posted @ Thursday, May 15, 2008 5:09 PM | Feedback (0)

Caching - Why, When and How

Caching is a very beneficial practice for improving application performance and efficiency. Conceptually, it is simple. However, there are a number of issues to take into account when caching data. I'd encourage you to read up on caching before you start using it though. As with all things, there are tradeoffs and challenges involved. So, be careful when and how you cache. Below is some info to get you started, but feel free to ask questions if you're doing caching for the first time. Caching is the practice of storing data in a location where it can be reused again...

posted @ Thursday, May 15, 2008 4:56 PM | Feedback (0)

Test your understanding of Reference Types vs. Value Types

Here's a little test to explore the way that value types behave differently than reference types when using .NET. Enjoy! 1) Passing an instance of a Class to a method ByVal. What's printed out:    a) 5    b) 15 Public Class MyNumberClass     Public Value As Integer End Class Module MainModule     Sub Main()         Sample1()     End Sub     Sub Sample1()         Dim oNumber As New MyNumberClass()         oNumber.Value = 5         Sample1_Add(oNumber)         Console.WriteLine(oNumber.Value)     End Sub     Sub Sample1_Add(ByVal num As MyNumberClass)         num.Value = num.Value + 10     End Sub End Module 2) Passing an instance of a Structure to a method ByVal. What's printed out:   ...

posted @ Thursday, May 15, 2008 12:00 AM | Feedback (2)

Guidance Packages for VS 2008

Guidance Packages are awesome, but they do have a way of driving me crazy sometimes. They have a new version of the Guidance Automation Extensions, which is basically the runtime or framework that plugs in to VS. The new version was updated to support VS 2005 and VS 2008. The documentation indicates that the installers for guidance packages are now supposed to prompt you for which version of VS to install into. Not. After searching and reading about 20 different articles, plus using Reflector on the GAX dlls, I finally figured out that you have to...

posted @ Tuesday, May 13, 2008 3:07 PM | Feedback (0)