Friday, November 03, 2006

Scott Guthrie came to Dallas

So, last night Anderson, Zach and I went to the North Dallas .NET Users Group meeting, with a very special guest: Scott Guthrie!

It was a great presentation. From the slides he was showing - looked like a presentation he'd already given at Tech-Ed this year. The information was great, and you can get the slides and source code he demoed last night here (not available yet, but he assured us it would be soon), so I won't go over everything, just what I was excited about.

First, CSS Adapters. Very cool, especially if you have, or you've got some people with the mad CSS skillz. His overview of speeding up build performance and the "new" Web Application project model for ASP.NET websites was good to see too. And of course, server-side comments. He talked about Atlas ASP.NET AJAX (that's a lot of acronym) too, but there's a lot to that and I won't go into it here.

LINQ was great - I see a lot of possibilities there. There were some concerns in the audience about LINQ was trying to "replace DataSets." Personally, I don't see it that way - it's just a new way to strongly-type your data layer. The thing I thoguht was cool was the possibility of doing joins across different data sources - a SQL database and an XML file, for example. That may be more of a "look what I can do" thing to try, but it's interesting to think about. Extending the LINQ provider model was also something that was exciting - apparently, there's already and Amazon LINQ provider out there that lets you search for books directly in C# code without having to wire up the Web Service.

Plus, I won a copy of Quicken 2007. Yay?

Edit: Updated link to Scott's blog post.

Thursday, November 02, 2006

Take my money, please

I'm going to move away from software development a bit and talk about something that is also near and dear to my heart.

I'm a gamer. You can see my GamerCard on the side there. I bought a launch day Xbox 360 (which was actually my wife's idea) and camped out a full day with my brother and the Imes for the second shipment last year. I consider myself a part of the "hardcore" gamer crowd - except for that I'm not very good. But I do spend a lot of money on the stuff.

That's why things like this really get to me. EA as a games publisher is like the dirty uncle that when he says inappropriate things at the dinner table, everyone gets upset, but no one ever does anything about it because "oh, that's EA. He's just like that. Don't worry dear, he didn't really mean those things that he said about you and your cat."

Need For Speed: Carbon was released on October 31, 2006. Content for this game went up Xbox Live Marketplace on October 31, 2006. Let's count the dollar value of all those "additions." Wait, this is a blog and you've got NADD. I'll do it for you - I was a math major, after all.

49.25. Dollars. Of extras. For a 60 dollar game that doesn't sound super impressive to begin with. I know, some of these downloads would result in duplicates. One of the 10 dollar ones gets you 3 of the 5 dollar ones. I'm lazy, and don't feel like figuring it out.

And it's not as if these were done after the game has been out for a while - this is from Day 1. At least Bethesda has released content after the game had been out for a while. And, they charged the right amout, after a bad first try. (I know, that link is for the PC downloads. I own the 360 version - my PC can barely run Half-Life 2 at a paltry 800x600 resolution. The prices for the PC and 360 downloads are the same.) I've been very satisfied with my Oblivion expansion purchases.

Major Nelson's comment board for this content is flooded with angry comments demanding that Microsoft step up and stop this kind of behavior from EA. Some have suggested a petition, others have suggested a boycott of EA's games. While I wasn't going to buy this game (and certainly not now), I think that's a great idea.

We know EA has dropped the ball several times in the past. (I could come up with several more, but again. I'm lazy.)

Microsoft's Xbox team claims they listen to the community. I believe the community has spoken.

Let's hope they do listen. And more importantly, let's hope they do something about it.

Wednesday, November 01, 2006

Message Massagers

This post will not be about Subversion.

Something Anderson talked about recently was how the Provider Pattern wasn't just for ASP.NET. He offered up a good example, but I thought I would expand on it a bit.

Something I've had great experience with is an application that I like to call a "Message Massager" or a "Message Munger" (pronounced mun-jer). Basically, the program flow is:

  1. Get input from some entity A
  2. Munge/Massage the input
  3. Give the input to entity B
  4. Get response from B
  5. Munge/Massage response
  6. Give the respone to A.
  7. Lather, rinse, repeat.

When I started, I hadn't really thought a lot about how I could make things easier on myself. I created all sorts of classes and schemas, and it never clicked that I was essentially doing the same thing over and over. After reading his post, I saw several ways I could have made my (and the developer who adopted my applications) life easier.

I won't go into the details of implementing a Provider pattern for this type of application - Anderson laid them out pretty well. Something else that I came across recently, though, might also be of interest. Eric Sink recently offered up an implementation of Map with multicore support in C#. Since most of the messages that I was munging (yes, that's the technical term) were independent of each other, this might have sped up performance quite a bit - several times my applications were dealing with 500-1000 messages per iteration. This is all just speculation, since I don't work on those applications anymore, but it's something I'll have to keep in mind for the next time someone hands me a stack of paper that defines an interface for communicating with some huge system.