A few people have e-mailed and asked if—since I claim to be a developer—I actually write any code. It's a great question, and based on most of my blog posts, you'd think I haven't written an ounce in quite some time. Fortunately for both you and especially me, that assessment would be wrong. I spend quite a bit of time writing C#, my current favorite langage. Some of it is for illustration or example as I mentor other developers, some of it is to answer specific Microsoft technology questions, some of it is to demonstrate a preferred practice, method, or algorithm, and some of it is for just plain fun.
For example, I've done a lot of 2D graphics and game development in the past, and I've worked a bit with 3D algorithms, but I've never tried to marry the two. Since Longhorn (and with our recent announcement, Windows XP) introduces a rich 3D graphical interface, I thought it'd be a good idea to increase my understanding by creating a sample project that provides a 3D animation framework for Windows Form-based applications. Managed DirectX 9.0 seemed the perfect starting point.
So, I've created a pluggable animation class hierarchy, a couple of time controllers, a few motion providers, timeline and keyframe logic, view controls, a flexible camera class, and picking and selection logic (among others). I extended the sample application with a simple command window that lets me play with various animations and camera setups, and I can move throughout the world with a few mouse movements and keyboard strokes.
This is really just an exercise in learning...I don't intend to do much with my sample application beyond that. Here are a couple of screen shots that won't do the motion any justice at all. Imagine that you can manually control a very complex animation cycle with the TrackBar control at the top, and you can smoothly "fly" the camera through the scene. It doesn't look like much, but it's fun to play with and simple to extend.
The MSDN Webcasts Weblog reports that David F. Anthony, a Senior Software Architect at Techhead LLC, will be giving a series of webcasts on Windows Forms development. There are 14 webcasts that run through December, and they're drawing for some Xbox game systems.
Continuing with the theme, a new episode of the .NET Show discusses what a Smart Client is and how it might appeal to those of us who would like the power of local processing combined with the deployment and maintenance characteristics of a web-based application. You'll also see a demonstration of some upcoming Windows Forms capabilities and hear about Visual Studio Tools for Office.
Although I did years and years of web-based development (and enjoyed it), my heart has always been on the client, if only because I can deliver a much more responsive and rich experience to the user. Web-based applications are good for reach, deployment, and maintenance, but it still takes a lot more effort to deliver web functionality that is only a fraction of what a client application can perform. After all, the web was designed as a document delivery platform, and it has been extended to act like an application platform. With a Smart Client, we can experience the best of both worlds...and Longhorn will only make it better.
As a strange aside, I'm now running into career developers who only know how to write web-based applications. The idea that a client application maintains state is almost completely foreign to them.
I've had fun with photography for many years, and I especially enjoy macro photography. Whenever I'm on a trip, I keep my eye out for interesting subjects and textures. You should see some of the strange looks I get when I'm standing about 6 inches from a wall taking photographs of stucco, wood, or bricks. I get even stranger looks when I spend time taking photographs of the floor. Anyway, I keep a folder on my computer full of macro shots that make good desktop wallpaper. Here are four "natural" shots of leaves and flowers that I thought you might enjoy. All images have been resized to 1280 x 1024, and they're around 275KB each.
As a point of interest, the first photograph (palm leaf...oops, Ravages points out that this is most likely a Banana leaf) was taken in front of Ernest Hemingway's home in Key West, Florida. You'll notice that it's the same image I've used for the header graphic of my blog.
Let me know if you'd like me to post more of these. I have quite a few.
I'm an avid reader of scientific and technical books and magazines, so I have to make an occasional effort to read something non-technical. Dean Takahashi's Opening the Xbox is categorized under "business," and although it discusses the genesis of Microsoft's gaming console, it is more about the people and effort involved and less about the technical hurdles that the teams faced.
The book is a behind-the-scenes look at what it took to get the Xbox from concept to production. Takahashi has talked with most of the key individuals from Microsoft, NVIDIA, Intel, AMD, and many of the other players. He follows Seamus Blackley, the person behind the failed Trespasser game (I had hoped for so much more when I purchased my copy years ago) and other core members who championed their idea within Microsoft until it was recognized as an emerging business by Bill and Steve. As you'd expect, Sony and Nintendo are discussed at-length, and the challenge of exciting game developers about a new console is interesting. The book discusses how the WebTV group wanted to be involved and how NVIDIA, ATI, and a company called GigaPixel fought for the graphics chip. It relates the concern over the cost of producing each Xbox unit, especially because Microsoft wanted to differentiate itself from the competition by including a hard drive in the system.
Takahashi is a good journalist, and he's easy to read. I come from a big gaming background, and I was interested in learning about how the Xbox came to be. If you're curious about behind-the-scenes politics at Microsoft, and you'd like to know what it takes to get something like this off the ground, I think you'll enjoy this book. It's a good distraction from your technical and scientific reading schedule.
Over the past four years or so, I've had MCROSFT as my personal license plate. Does that illustrate how much I love working for such an awesome company? Or does it just confirm my über-geek status? Or both? Anyway, living in Slashdot territory (Holland, Michigan), I've always wondered how long it would be before I came out of a store to find a Linux sticker on my license plate. And quite frankly, over time, I had found myself becoming more and more disappointed that someone hadn't taken the initiative to put me in my place. Well, while pulling my wife's car out of the garage this afternoon, I saw the following on the back of my car:
This must have happened last night while my wife and I were watching Garden State. Unfortunately, I hadn't noticed it until today, and in the meantime, the 3x5 card with the "X" on it must have fallen off (pretty impressive for a 20-minute drive on the highway). Regardless, my diminishing faith in Linux advocacy has been completely restored. Touché to the perpetrator(s)!
I've had other interesting reactions to my license plate:
And last, what are the chances of parking right next to the person in Michigan with the LINUX license plate? Turns out that Eric Maino, who is now a Microsoft MVP, used to be a huge Linux fan, and he was attending one of our West Michigan .NET User Group meetings. Priceless.