Archive for March, 2007

MTG Binder

OK, here’s what I plan to build.  I play this CCG (collectible card game) called Magic: The Gathering.  As a collectible game, you wind up with a lot of cards that you own and you have to keep track of.  If you’ve played, you know what I’m talking about, and if you haven’t, well I’m not going to waste time explaining the whole game ;). However, the idea is to write a program to track the cards I own and help build new decks for playing.

On the one hand, this is a fairly simple database type program that shouldn’t take too much effort to build.  On the other hand,  it’s a program that leaves a lot of room for playing around with the technology I plan to learn: WPF and CSLA.NET.  All of the data access will allow me to work with CSLA.NET, while the artistic nature of CCGs will allow me to build a nice UI using WPF.

I started out by downloading the latest Orcas CTP.  I used the VPC image, so I also grabbed Virtual PC 7 to install on my nice new Vista box.  I chose to use the VPC image because this is CTP software.  There’s a very real chance that installing it on a "production machine" will lead to real problems with that machine.  I’ve done this in the past, and though the problems I encountered I could fix, there was still lost productivity time, and I know I was lucky that it wasn’t worse.  So, I’d highly recommend you take the VPC route as well if you’re going to play around with this stuff.

I followed the directions for getting the image up and running, but I made a couple of tweaks. First, I created another VHD (virtual hard disk) and mounted it as a second drive on the virtual machine.  This is where I’ll put all of my data, including the VS projects themselves.  This way, when new CTPs are released, I can easily get up and running with the new image with out losing any of my work.  The other change I made was to increase the RAM usage of the virtual machine.  I’ve got 2GB of physical RAM, so I let the VPC image use 1GB of RAM.  This should make the experience much nicer.

Next, I downloaded CSLA.NET and unpacked it to the data drive.  Then I opened the solution, let the conversion happen, changed the build type to Release and built the whole project.  I then copied all of the built library files to a "ThirdParty" directory I created on the data drive.  This will be where I put all external library files for use by other projects.

Now we should have everything ready to start building our application.  So, I created a new WPF application project, called it "mtgbinder", and made sure it was being created on our data drive.  Once it was created, I went into the project’s properties and changed the default namespace to "Mtg.Binder".  This meant I had to search for "mtgbinder" and change it to "Mtg.Binder" in all of the appropriate places as well.  By the way, this illustrates what I think is a bug in Orcas.  The generated Application.xaml file refers to the "x:Class" as just "App", but I’m pretty sure it has to be "Mtg.Binder.App".  In another project I tried to add a Startup handler, and the project would fail to build unless I added the namespace here.

Now we have a starting place for our application.  That’s enough for this post.


Read Full Post »

I’m about to set off on a journey to learn so new programming technologies.  Some of it I know at least a little about already, but I’m going to be going for more depth by creating a real application.  I’m going to record my progress here, both for more own benefit as well as for the benefit of anyone who might possibly be interested in the things I’m going to learn.

So what is it I’m going to learn about?  Well, the main focus is on WPF (Windows Presentation Foundation).  This is something we may make use of at work in the near future.  I’ve been playing around with it for a while now, but nothing serious enough to have deep knowledge yet.  I’m going to hopefully gain that deep knowledge over the next few days/weeks/months as I build a real application using it.

In addition to WPF, I want to learn CSLA.NET as well.  The idea is that by separating out the business logic from the UI properly it will be easy to build a UI using what ever framework (WinForms, WPF, ASP.NET, something else).  This is the approach we’ll take at work (though the frameworks we’ll use are anyone’s guess right now, but WPF and CSLA.NET are the frameworks I’m interested in evaluating).

I’ll write more about what I’m going to build using these technologies a little later tonight.

Read Full Post »

This is my first post with Windows Live Writer, and is just a test.

Nothing to see here.  Move along.

Read Full Post »