It seems as though Microsoft is putting a lot of work into Windows 7. Much more than we (the public) ever thought. And it also seems that they have been working on a lot of the details which is a VERY good thing. Among the new UI functionality and look, I find this to be one of the coolest additions: Color Hot Tracking. It extracts color information from the icon and moves the glow around based on your mouse position. As a UI guy, this gets my blood pumping. As a consumer, it is nice to see they are changing the taskbar finally.
However, I must say that I love my current taskbar. I wish I could have the new graphical features with the current style: text and small icon. Why? Because I am dependent on knowing where each Window is on the taskbar and getting feedback by quickly reading the text. If I have multiple Messenger windows open, it is nice to be able to quickly scan them rather than having to use a grouping mechanism which requires 2 (or more) clicks.
Anyways, Windows 7 has been really exciting for me. Aside from Visual Studio 2010, W7 is starting to be the most exciting software release ever for me. I just hope Microsoft follows through on this one…
I have decided that I should give my opinion about the game. Why? Because this is the internet and if I don’t, who will? This review will not give out a score and is not going to simply list the pros and cons of the game. Rather I am going to give reasons why the game is good or bad and then argue with myself.
What’s good about Fable II?
What sucks?
I am having so much fun with the game whether it is spending money on hookers, beer or scaring the townsfolk. That’s right, I went evil with my first character…

I was working in Photoshop CS2 tonight on a theme for a website and discovered a problem. When I uploaded the image to the web and opened it in Google Chrome and IE8, I noticed a significant problem with the colors.
If anyone understands what is going on here, please let me know. I know it has to do with the Color profiles of the image. When I change the profile to “Dell 2408″ in CS2, they are the same. But this begs the question: what will it look like on other peoples’ computers?
I love cycling in the fall.. next time I am probably going to bring my real camera to get some good shots of the area.
Today I went for a nice 16 mile ride just for fun. I almost forgot how much fun and relaxing cycling could be because of the work I have been doing for next year’s racing season. I am also in love with my arm warmers; they feel so amazing. Cycling is also a good time to think. I generally ponder about the current projects I am working on, today about Vodka and Thrust. It is nice how easy problems become when you aren’t forcing yourself to think about them.
So a helicopter definitely just landed at the highschool that is through my backyard. I drove over and there is like no one there except a firetruck. I am assuming it is some test for an emergency landing at the highschool but WHY AT TWO IN THE MORNING. On a Sunday night no less…
Today, while coding Galactic Wars v2.0, I stumbled upon a problem I have been having with content since I started working with XNA. The following diagram shows how easy it is to create the problem and how devastating it can be to any application. In my case, I have two (or more) menus that are referencing a piece of content.
Each menu references the same managed object which is really a wrapper for a second managed object (Texture2D in this case). The second object is a managed wrapper for the underlying unmanaged data, again in this case it is texture data. The problem is when one menu is being phased out (unloaded) and another is being phased in (loaded). The menu being loaded grabs a reference to the content before the other menu can unload it. The ordering is done this way to ensure that a menu actually loads its content before the current menu is unloaded.
After the menu is done loading content, the second menu is unloaded which drops the content and releases the unmanaged memory. Aha! The problem stems from the last point: I am trying to manage unmanaged memory when I should just let the GC take care of it. The reason I do this is for performance reasons, primarily on the Zune. Instead of letting textures just sit around, I release them when they are no longer needed to avoid piling up the garbage.
So what is the solution?
I would love to do this but unfortunately it introduces a second problem. If every menu (object using the content) dereferences the asset, it still will not be collected by the GC. The AssetManager still holds a reference which is now being unused and thus memory is wasted. The upside to this is that I do not need to implement the second option…
By implementing a counter on the asset itself and asking developers to always call Unload or Unload(ILoadable) on the AssetManager, I can guarantee that no Asset will be disposed while another object is using it. The downside is that it is an ugly implementation of something that is done in the GC anyways. The major upside is that even if developers use the previous method, the GC will still eventually catch the wasted memory.
So now Thrust’s AssetManager and IAsset require (and implement) reference counting to avoid the problem described above. And it works wonderfully.
I was introduced to Fruity Loops Studio recently by someone in the #xna IRC channel. I knew this software existed but only quickly glanced over it because I figured that I wouldn’t be able to do anything worthwhile. Although that is still true, I decided to actually give the demo a run for its money.
Although what I produced is pretty bad by any standard, I at least know that with some time invested into learning music theory, I could actually learn to use this program and start writing some music for my own games. Here is a little track I wrote for the intro screen in my games.