December 6, 2007 at 2:31 PM
For those of you drinking from the Microsoft developer firehose, there have been some significant releases, recently.
Microsoft Parallel Extensions
Parallel Extensions to the .NET Framework is a managed programming model for data parallelism, task parallelism, and coordination on parallel hardware unified by a common work scheduler. Parallel Extensions makes it easier for developers to write programs that scale to take advantage of parallel hardware by providing improved performance as the numbers of cores and processors increase without having to deal with many of the complexities of todayʼs concurrent programming models.
"Volta is an evolving research project focused on exploring ways to innovate data-intensive programming models. Volta is currently exploring a lean-programming inspired toolkit for building web-based and mobile applications by stretching the .NET programming model to cover the Cloud.
Entity Framework Beta 3
There were a number of changes to the Entity Framework between Beta 2 and Beta 3 that will require updates to existing source code. These breaking changes can be found here including the mitigation for adjusting to the new behavior, and a side by side comparison of Beta 2 code and Beta 3 code.
Xbox 360 Fall 2007 Dashboard Update
Um, did we mention DivX / XviD support? For free? Oh, we did. Well, we're still reeling. (Yep, we successfully tested both codecs using .divx and .avi files.)
November 5, 2007 at 4:20 AM
So, The server is built and I've had some time to figure out how to get the system doing what I bought it to do. I do development at home and needed a database server and development server for builds and a source repository. So, the plan was to build the box out with a 64 bit OS and virtualize three machines on top of it. This is, in fact, what I did, but soon found that I was pegging out the CPU on the Virtual server I had created for my media server. I'm using Microsoft's virtual server and I tried tweaking the resource setting to try and get more cycles to the media machine. Unfortuanately, the settings allowed me to specify only the percentage of a single CPU to allocate to any one virtual server. On my particular hardware, I have 2 quad-core CPU's which means that the most of total CPU I could assign to the media machine was 12.5% of the total resource.
I had wanted to keep the host OS pristine and clean, but I decided to install TVersity on the host OS and try it from there. To my delight, this worked perfectly. The transcoding used between 15% and 20% of the total CPU on the machine, which was just beyond what I was able to allocate to a virtual server. I was still experiencing some stutter while watching video on the Xbox, though, and I resoned that this was due to bandwidth on my wireless G network. I went into the transcoder settings in TVersity and reduced the video resolution from 1024 x 768 to 640 x 480 and the stutter has gone away. I plan to try raising this resolution a bit at a time to see where the wall is.
October 23, 2007 at 5:24 AM
I was lucky enough to receive an Xbox 360 for Father's Day, this year, and it brought me one step closer to my dream of on-demand media from my own media server. Throughout the past several months, I've been piecing together all the necessary parts.
First I purchased the WIFI add on for the Xbox. I'm currently running a wireless G network, at home, but the adapter supports A so I have room to increase the bandwidth, if needed (and it probably will be). I have an old desktop that I installed Windows 2003 on (Pentium, 128 Meg) and I wanted to be able to stream my media from that machine to my Xbox. Since I wasn't running Media Center on the machine, I went looking for alternatives. Apparently, if you have Windows Media Player 11, it will let you stream to other devices, but alas it can't be installed on Windows 2003.
Then I found Orb. Orb includes a service that you install on your media machine that catalogs all your media and serves it up either through a web interface on their site or to devices on your network. It was a bit slow and I kept running into files encoded in formats that Xbox wouldn't play. Quite by accident, I then found TVersity. Tversity works similarly to Orb in that it installs a service on the media machine that keeps an inventory of your media files and serves them up. However, it is also smart enough to detect what type of device it's serving the content to and transcode it to a format the device can play. You can also tell it about any video or audio podcasts you like and it will download them and make them available for viewing.
Instead of offering you a web site through which you can access your media, the server on you machine serves up the data on a port that you configure. If you hit this port with a browser, you get a nice flash application that allows you to browse and play your media files. One word of caution, though. The port is not secured by any means, currently, so if you open this port on your router, your media (compromising photos? videos?) is available to anyone who accesses the port.
I'm happy with TVeristy, but my current hardware chokes when the on-the-fly transcoding kicks in. The good thing here, is that after the Xbox spring update the system will play many additional formats which means that less transcoding is necessary. However, for those times when I need the raw power, I've purchased a new Dell PowerEdge server ;-). As good an excuse as any, I'd say.