I've had a few people e-mail me this morning to ask why I haven't posted about today's release of Halo 2. Well, although I was part of the beta program, and I think Halo 2 is a very good game, I'm personally much more excited about next week's release of Half-Life 2 for the PC. Don't get me wrong...I love my Xbox. But, I generally prefer first-person PC games over first-person console games because of the improved graphics, depth of experience (which isn't always better, but can be), and...
What!? Controls!? Yes...call me crazy, but I still maintain that a mouse and keyboard player always has an advantage over a console player when it comes to first-person games. I can "twitch" a mouse and leverage mouse acceleration to change my perspective and aim much more quickly and accurately than I could ever hope to achieve with a pad or stick. For games that aren't first-person, I don't think there's as much of a PC advantage. I do owe it to myself to check out the SmartJoy FRAG adapter...I just haven't had the time.
That said, Halo 2 is fun on Xbox Live, and the graphics are definitely improved. Plus, the ability to simultaneously wield two weapons is sweetness. I thought about going out last night to one of the midnight events at our local Best Buy, but I ended up deciding against it. Did anyone else make it out at midnight?
Update: Here's a MSNBC article on the phenomenon.
Scott Guthrie, the Product Unit Manager responsible for ASP.NET, has started blogging again, and he's already posted three excellent and informative items. All of them relate to the details of the development and testing process that we use within Microsoft. If you've ever been curious about the phases we go through or the methods we use to test for, track, and eliminate bugs, these are definitely worth your time:
This book came highly recommended by one of our Architectural Consultants, so I ordered it from Amazon, added it to my stack of books, and after some time, I've finally Stack.Pop()'d it.
Author Mike Cohn, founder of Mountain Goat Software, is a very lucid and pragmatic writer, and he does an excellent job explaining what user stories are and how they can be applied to the process of software development. Although the basic concept of a user story is easy to understand, I was surprised at how much depth and insight Mike added in his 268-page book. After introducing the basics, he discusses how to write good user stories, how they should be captured (with some good examples), why they need to provide business value, and why they have to be testable. Mike goes on to explain a method of role modeling that makes it easier to write stories from the user's perspective and briefly mentions the power of personas, an effective technique that we use within Microsoft. At the end of each chapter, Mike presents key responsibilities for both the development team and the customer, and he includes a handful of questions to help exercise what has been presented.
Mike has some good suggestions about how to run a Story Writing Workshop where developers and customers gather to discuss requirements and write out story cards. Chapter 5, Working with User Proxies, explains who to involve if the actual end-users of the software cannot be directly involved in the project. Mike provides many hints and tips about the kinds of user proxies to look for and the benefits and risks of involving each of them. He introduces the idea that customers should write their own acceptance tests, but he also admits that there can be challenges with this approach. Fortunately, he provides some useful tips to help make this process successful. The first part of the book closes by presenting guidelines for writing good stories.
Part II includes chapters on estimation techniques, story points, and release and iteration planning. In addition, Mike includes a good discussion of project velocity and how it is used to measure progress. Because I have never seen them explained, I am personally interested in his burndown charts, and I'm now curious enough try them myself. His chapter on story smells lists many indicators that something is going wrong with the user stories on a project, and he enumerates solutions for each scenario. He completes the second part of the book by explaining Scrum, how to handle non-functional requirements, how to track stories, and how to handle bugs.
The last part of the book is probably my favorite. Mike spends five chapters going through the entire development process with a fictitious company that wants to build an e-commerce web site. He starts with customers, moves to role identification, writes and refines stories, estimates and plans releases and iterations, and finishes with some good acceptance tests. If the first two parts of the book were unclear in any way, these last five chapters definitely help to cement the concepts. Best of all, the example is large and practical enough to represent something that many of us may be involved with.
Overall, I would highly recommend this book to anyone involved in a software project that wants to better understand how to work with customers and users to gather requirements and author stories. Although user stories are typically associated with Agile development practices like Extreme Programming, they are certainly not exclusive to those methodologies, and I think that anyone can realize benefits by using these techniques.
If you follow my blog, you'll probably remember the dual Opteron workstation I ordered on September 29th from GamePC. Well, after waiting a full month (due to industry-wide video card delays), the eagle has finally landed. As a result of the delays, GamePC—on their own—graciously upgraded my shipping method from UPS Ground to UPS 3 Day Select at no extra charge. The machine shipped on Tuesday, October 26th, which meant that Friday, October 29th was the expected delivery date. As soon as I heard that, I was reminded of my Weekend Technology Delivery Axiom which states that anytime a much-desired geek toy is scheduled to arrive before the weekend (almost always on Friday), some unexpected force will inevitably delay its delivery until the following Monday. We've all been there, I'm sure.
Although I didn't blog about it, I decided that to enjoy the full benefits of my new machine I would need a new monitor. My 21" Hitachi has been good to me for many years, and because I love to play first-person shooters and do a lot of Photoshop work, I've been resisting the urge to purchase a sexy LCD display. Even properly adjusted inexpensive CRTs still have better color fidelity than many of the expensive LCD displays, and CRTs don't suffer from the "blur" problem that slower LCD panels exhibit when there's fast motion on the screen. After doing quite a bit of research and review reading (like this one at GamePC), I decided to purchase Sony’s SDM-234/B 23-inch LCD display. Frankly, even after reading a number of positive reviews and comments from current owners, I was anxious about my choice. Because you earn a 3% credit towards a future purchase for anything you buy from GamePC, I already had enough credit to pay for UPS 2 Day shipping so that it would arrive with my computer.
Thankfully, the computer Gods were looking down on me last Friday, and both the machine and monitor arrived as-scheduled and in good condition. The computer was packaged inside of the box that the Lian Li PC-61 Black Mid-Tower case came in, and that box was inside of a larger box that contained a generous supply of packing peanuts to keep everything safe. GamePC also sent all of the manuals, cabling, CDs, slot covers, and extra screws that were included with the parts I ordered. It's nice having all of those parts, because it allows me a lot more flexibility as I upgrade the machine in the future.
I opened and setup the Sony monitor first. As mentioned in the reviews I read, it's a little heavier than other LCD displays, but because of its extra heft, it doesn't wobble like a lot of the lighter LCD displays I've used in the past. The base is made of beautiful brushed aluminum, and the illuminated Sony logo on the black bezel adds a very professional touch. The monitor controls are "hidden" in the right lower corner of the bezel, and they become illuminated when you touch them...very stylish and high-tech. By default, the screen automatically stretches display modes that aren't multiples of its native 1,920 x 1,200 pixel resolution (16:10 aspect ratio). Although you'd think that stretching would make everything look "fat," in practice, it's hardly noticeable, and it looks great.
Next, I opened up the computer and was pleasantly surprised to find that the Lian Li computer case I had selected (sight-unseen) was gorgeous. It's made of deep black brushed aluminum, and it reminds me of high-end audio equipment. The case has a smooth feel and is obviously constructed very well. Since it's an easy-to-open thumb-screw case, I decided to take a peek inside. It's clear that GamePC prides itself on quality workmanship, because the inside is wired very professionally, and the sound-proofing material has been installed with great care.
After plugging in all of the cables, I fired it up. I was immediately surprised at how quiet the machine is. Remember, there are four case fans, one power supply fan, two processor fans, one fan for the NVIDIA 6800 Ultra graphics card, two 10,000 RPM Raptor drives, and one 7,200 RPM drive. Whew! Despite all of the spinning mechanics, the machine only makes a very low hum...even when it's feverishly writing to the drives. As a matter of fact, unless I put my ear right next to the machine, I can't hear any of the hard drive activity. Amazing.
So, I installed Windows XP Service Pack 2, some NVIDIA demos, Futuremark's 3DMark05 Pro and 3DMark03, Doom 3, Unreal Tournament 2004, and FarCry. Without any overclocking, the machine scores around 12,600 on 3DMark03, which puts it near the top of the non-overclocked heap. The NVIDIA demos are impressive, and if you haven't run any of them on your own hardware, they generate some good eye-candy. The dual 10,000 RPM Raptor drives in a RAID 0 configuration make short work of loading up just about any software. And software installations are extremely fast. Everything is almost instantaneous, and I feel a slight bit guilty for wielding all of this computing power (okay...not really).
But, best of all is the Sony monitor. The Windows desktop has never looked so vast and beautiful. The monitor is very vibrant with rich, deep colors, and although I calibrated it with my ColorVision Spyder, it was already well calibrated out-of-the-box. GamePC has a 30-day pixel perfect guarantee where they'll replace the monitor free of charge if it exhibits any stuck pixels...very nice. Any concerns I had about image editing and color fidelity have been eliminated by this display. As a matter of fact, my trusty and well-calibrated 21" Hitachi CRT now seems to pale in comparison.
Gaming has never been this good. Let me be clear when I tell you that this 16ms display shows absolutely no signs of blur on fast-motion games. It has no problem keeping up, and video playback looks perfect. Plus, since I'm using the DVI connector, the resolution is rock solid. But here's where having a 23" widescreen display rocks...you can fire up games like FarCry at 1,920 x 1,200, and it plays like you've never seen before. I can't tell you how many times I've been sniped while stopping to admire the Shader Model 3.0 and HDR water in Far Cry 1.3. It's enough make a grown man cry.
I haven't run a bunch of benchmarks yet, but if you're worried about gaming on an Opteron machine, I can also tell you that your worries are unfounded. It has no problem keeping up with the highest resolutions. My Doom 3 timedemo on Ultra Quality at 1,600 x 1,200 was somewhere around 50 frames per second. Not bad at all. I have Unreal Tournament cranked up as high as it will go, and it plays as smooth as butter.
Overall, my experience with GamePC has been phenomenal. I've exchanged about 15 e-mails over the course of the month, and all of their replies have been very prompt (usually within 30 minutes) and incredibly informed. I can't remember the last time I e-mailed a technical question and received an answer with more technical detail than I asked for...can you? Plus, since they were concerned about the video card delays, they proactively offered me a chance to switch to the same video card but made by a different manufacturer. Ironically, after I accepted their swap, not a half-hour later did they e-mail to say they'd be getting the original card the next day. The card arrived, they burned in my computer, and the rest is history. I will definitely order from GamePC again in the future, and if you're looking for a new machine and you're picky about the components inside, I'd highly recommend giving them a try.