If you experience issues with a USB device not being recognized under Windows 7, there might be a simple solution to solve this. For example the MSI USB 2.0 All IN 1 Card Reader aka MSI StarReader is recognized as eHome Infrared Receiver (USBCIR) using Windows 7. The device works great using Windows Vista or even the Windows 7 pre-release versions. Unfortunately, with the final Windows 7 the device just won’t work.

MSI USB 2.0 All IN 1 Card Reader

A quick look into the Device Manager will show that the device is recognized as eHome Infrared Receiver (USBCIR). When connecting the first time Windows 7 won’t give any notice that the installation of the driver failed or that the device is not ready to use. It will simply not work.

Device Manager

This seems to be known problem, however, there is no need to wait for a Software Update from Microsoft. The solution is to manually choose the device.

  1. Start Device Manager
  2. Right-click the eHome Infrared Receiver (USBCIR) entry
  3. Select Update Driver Software
  4. Choose Browse my computer for driver software
  5. Choose Let me pick from a list of device drivers on my computer
  6. Make sure the Show compatible hardware box is checked
  7. Select the USB Composite Device and you are done

Show compatible hardware

After a few seconds the driver should be installed and the device should be ready.

Driver Software Installation

Posted at Saturday, December 12, 2009 11:12:06 PM (W. Europe Standard Time, UTC+01:00) 
Comments [8] #      | 

Vedea Martin Calsyn recently unveiled the second project we are working on at the Computational Science Laboratory at Microsoft Research in Cambridge,  UK. The Microsoft Visualization Language codenamed Vedea is an experimental language for creating interactive infographics and data visualizations. The language initially targets non-programmers, however, Vedea also provides sophisticated features such as LINQ for experienced developers as Martin demonstrates in his post. 

Vedea was demoed the first time at PDC09 to the public. The demo shown there visualizes global IP traffic monitored during a 24h time span. The data is organized in a standard CSV file and contains source, destination, geographical coordinates, IP numbers and the time and some more statistical information. 

Example Source Data

The data itself is rather unspectacular and the most useful for some statistical analysis. However, with Vedea is is relatively easy to visualize the data in a handsome manner. Before you go on, please be aware that the language is still under development and the given example just represents the state of development at the time of PDC09.

  1: img = LoadImage("world.png");
  2: Scene.Add(new Vedea.Image(img, 0, 0));
  3: 
  4: for (i=0; i<len; i=i+1) {
  5: 
  6:     b = Noise(i*255);
  7:     Stroke(20, 0, 0, b);
  8: 
  9:     x1 = csv.SourceLon[i];
 10:     y1 = cvs.SourceLat[i];
 11:     x2 = cvs.DestLon[i];
 12:     y2 = csv.DestLat[i];
 13: 
 14:     c = new Vedea.Curve(x1-10, y1-b, x1, y1, x2, y2, x2, y2-b);
 15:     Scene.Add(c);
 16: }

The fist two lines of code are used to load background image. after loading, the image is added to the current scene. The Scene object describes the standard canvas, the programmer draws on. This demonstrates the object oriented capabilities of Vedea. As Vedea is a  dynamic language which is based on the DLR, there is no need  to declare the type of the image object.

At the next lines we find a simple for-loop that iterates through all lines of the source data. The data file has been loaded similar to the image beforehand into an data file called csv and len is a value of roughly 100.000. So yes, we draw an manage about 100.000 primitives here. Most of the language features in Vedea can be used in a imperative or declarative way. Noise for example is a built-in language features that returns a random number (between 0.0 an 1.0) based on a one-dimensional Perlin noise function. This function is used to create a smooth color gradient with a alpha channel of 20 for our visualization.

Vedea Curve Stroke is used in a declarative way to set the stroke color for all primitives drawn afterwards. The next four lines simply read the x- and y-coordinates Finally, a curve is drawn and added to the current scene. The fist and the last point specified are control points that determine the curve’s flexure while the second and third point describe the actual start and endpoint of the curve. Of course the Curve primitive can be used in an imperative or declarative style (or both) as well:

  1: Stroke(255, 0, 0);
  2: Scene.Add(new Vedea.Curve(5, 26, 5, 26, 73, 24, 73, 61));
  3: Stroke(0, 0, 0); 
  4: Curve(5, 26, 73, 24, 73, 61, 15, 65); 
  5: Stroke(255, 0, 0);
  6: Curve(73, 24, 73, 61, 15, 65, 15, 65);

In the original example we use the previously generated random value b also to vary the curves control points corresponding with the color. Once we run (remember, we are based on the DLR and thus we don’t compile) the example, we finally get our visualization.

Vedea Vizualization 

In his post Nick Eaton stated that

Users of Vedea obviously need to have some background in coding.

This is not necessarily true as the example above should show. Using the declarative style of the language it is relatively easy to create appealing visualizations with only little knowledge about programming structures and technologies such as DirectX, GDI+ or WPF. As seen in the example above its within the nature of Vedea to forgive various mistakes which makes it easy to use from the very beginning.

Vedea is a research project of the Computational Science Laboratory of Microsoft Research in Cambridge, UK. The project and still under development. The example shown here represents the state of the project at the time of PDC09 as it was presented to the public. As this is an ongoing project the language might evolve, new features will be developed and others might become obsolete.

Posted at Friday, December 04, 2009 6:20:09 PM (W. Europe Standard Time, UTC+01:00) 
Comments [4] #      | 

One disadvantage working for Microsoft Research is that you cannot talk about your current work all the time. For two years now we were working on two exiting projects. However, there was not a lot to talk about since now…

The very first time we have shown Microsoft Computational Science Studio was at TechFest 2008 at that time codenamed ‘Discovery’. There we showed it to the public the first time to visualize, simulate and predict future development of global forest growth based on a novel scientific model developed by scientist Drew Purves.

Microsoft Research U.K. Science Studio Team At the Advanced Developers Conference Keynote in Bonn, Germany I already talked about the unique collaboration within the Computational Science Laboratory within Microsoft Research in Cambridge, UK. A unique setup of brilliant scientists from various fields and a group of great software engineers work together creating next-generation software solutions to address future challenges in computational science. The team includes Martin Calsyn (Architect), Alexander Brändle (Head of Technology), Drew Purves (Scientist), Matthew Smith (Post-Doctoral Researcher), Stephen Emmott (Head of Computational Science Laboratory within Microsoft Research and Professor of Computational Science at Oxford University), Vassily Lyutsarev (Manager Scientific Computing), Benjamin Schröter (Software Engineer), Eric Hellmich (Systems Engineer), Shawn Barrett (Quality Assurance and Software Engineer) and myself.

As part of his College Tour, Craig Mundie presented our work, the Microsoft Computational Science Studio (MSCSS), to the public at University of Washington, University of Illinois, Harvard University and Cornell University. Among he said about MSCSS:

Now, the way that this is actually built is it's a bit like having Visual Studio, which is a toolkit for people writing programs -- these guys call this the Science Studio, because the goal is to allow people not to write programs in the traditional sense but to compose large scale models together for scientific purposes.

Indeed, he showed the large scale model we worked no the weeks before with our scientists:

The whole talk at University of Washington is available as webcast from UWTV. Further articles are available from CNET, TechFlash and The Seattle Times where later says

A guy who is a climate scientist or a tree biologist can make a direct contribution without having to understand everything else or becoming a computer wizard in the process," Mundie said. "I tell people this is sort of doing for scientists and policymakers what Excel did for the average business guy 20 years ago

Further posts on MSCSS and our second project called Vedea, being currently demoed at PDC09, will follow soon. Until then you might want to read an overview of MSCSS at Martin’s blog.

Posted at Thursday, November 19, 2009 7:17:29 PM (W. Europe Standard Time, UTC+01:00) 
Comments [0] #      | 

Nice eye candy in Windows 7. When selecting multiple items in the Windows Explorer, the preview stacks all the selected items.

Windows Explorer Preview

Posted at Thursday, September 10, 2009 9:32:53 PM (W. Europe Daylight Time, UTC+02:00) 
Comments [0] #      | 

AWStats is a free, Perl-based analyzer for log files. To get results quickly on a Windows Server 2008 with IIS 7 you only have to follow a few steps. These are not well documented in the AWStats documentation and require some time of research. This post will show you how to set up AWStats with IIS7 in only a few minutes.

  1. Install Perl, e.g. ActivePerl. There are 32-bit and 64-bit versions available. Make sure that Perl is added to your PATH environmental variable. The ActivePerl installer usually provides this option during the installation.

  2. Install AWStats. Remember the path AWStats is installed. Paths used below are based on the installation folder of AWStats. In this example we use c:\awstats.

  3. Run the configuration script at c:\awstats\tools\awstats_configration.pl. Follow the on screen instructions. This will create a default configuration file in c:\awstats\wwwroot\cgi-bin e.g. called awstats.www.example.org.config. The site name www.example.org depends on whatever site name was provided while running the script. When asked for the Apache Web server path type in none.

    AWStats Configuration File

  4. Open the configuration file awstats.www.example.org.config with any text editor of your choice.

  5. AWStats already supports IIS, however, it is required to tweak the config file. First change the entry for LogFile. Log files for IIS might be found at c:\inetpub\logs\LogFiles\W3SVCNNN where NNN is a different number for each web site, IIS creates log files for. Change the entry to

    LogFile=”c:\awstats\tools\logresolvemerge.pl c:\inetpub\logs\LogFiles\W3SVC1\*.log |”

    This will merge all log files for a site provided by IIS. Adjust the paths corresponding to your installations and desired log file folders.

  6. The AWStats configuration file offers the possibility to set the LogFormat to IIS (LogFormat=2), however, the log entries provided by a standard installation of IIS 7 won’t match. The AWStats documentation recommends to change the settings of IIS. The change will take effect only after restarting the Web site and is only valid for entries after that particular moment. Consequently, this is not an option if you are going to analyze the logs of the last 12 months where the original settings were used. To make AWStats work with the standard log format of IIS 7 change the LogFormat  to

    LogFormat=”%time2 %other %method %url %other %query %other %host %other %code % %other %other %bytesd”

  7. Change SiteDomain and HostAliases to meet the settings of your site.

  8. Change to c:\awstats\wwwroot\cgi-bin\ and run

    awstats.pl -config=www.example.org

    This will build the statistics database for AWStats.

  9. To create output run

    awstats.pl -config=www.example.org –output –staticlinks > …\example_org_stats.html

  10. Not that example_org_stats.html is created one folder up. In case you do miss this, the output will not work correctly until you adapt the entries for DirCgi and DirIcons in the configuration file.

  11. The output file is now located in c:\awstats\wwwroot. You might want to create a Virtual Directory or set up a Web site to view the reports via the Web or your Intranet.

    AWStats Output

Repeat steps 3-7 fore each site you want to create reports for. Repeat step 8 and 9 every time you want to create a new report.

Posted at Sunday, August 30, 2009 4:06:40 PM (W. Europe Daylight Time, UTC+02:00) 
Comments [6] #      | 

My Web Page Starter Kit is a lightweight content management system, entirely written in ASP.NET 2.0. It comes with a wide range of components that can be easily arranged and set up. However, it seems there is no possibility to include external application into the navigation structure of MWPSK.

In the following example you will learn how to integrate a application using the URI http://blog.example.org into a website using MWPSK at http://www.example.org.

Log into the site and navigate to select Administration / Pages and Navigation. Select New Page to create a new

My Web Page Starer Kit - New Page

Choose a virtual path such as blog. This will allow you to use a new URI in the form of http://www.example.org/blog.aspx.

Now open the global.asax file located in the root folder of your MWPSK installation and add the following method.

void Application_BeginRequest(object sender, EventArgs e)
{
    if (HttpContext.Current.Request.Url.ToString().ToLower().Contains
("www.example.org/blog.aspx")) { HttpContext.Current.Response.Status = "301 Moved Permanently"; HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace( "www.example.org/blog.aspx", "blog.example.org/")); } }
This will cause an URL rewrite of the HTTP-request, which is then sent to the external application at http://blog.example.org.
Posted at Sunday, August 23, 2009 8:06:54 AM (W. Europe Daylight Time, UTC+02:00) 
Comments [0] #      | 

After upgrading Windows Vista to Windows 7 you might encounter an issue with VMware Workstation and its network adapter.

VMware Workstation Error Message

When setting up a NAT or bridged network connection in VMware Workstation it shows a message telling

The virtual network drivers on the host are incompatible with the installed VMware application. Expected version 5. Please reinstall the product. Failed to connect virtual device Ethernet0.

Make sure all your virtual machines are powered off and quit VMware Workstation. Open a command shell as administrator and follow the steps below.

First cd %windir%\system32\drivers, check for the file vmnetadapter.sys, right-click it, select Details and check its version. It should be 4.0.2.0. If the file is not there,

cd "%ProgramFiles(x86)%\VMware\VMware Workstation"

rundll32 setupapi,InstallHinfSection VMnetAdapter1.Install 128 %CD%\netadapter.inf

vnetlib -- install devices

This will install the required adapters and devices. Do again a cd %windir%\system32\drivers and check for the First cd %windir%\system32\drivers, check for the file vmnetadapter.sys file.

vmnetadapter.sys

After a reboot of the host system, the NAT settings for the VMware network adapters should work again. Switching to bridged mode will probably result in another message.

VMware Workstation Error Message

Reason for the message saying

The network bridge on device VMnet0 is not running.  The virtual machine will not be able to communicate with the host or with other machines on your network.
Failed to connect virtual device Ethernet0.

might be the missing VMware Bridge Protocol on the according host network adapter.

Got to Network and Sharing Center and select Change adapter settings. Choose the network connection you want to use with your VMware network adapter, right-click, select Properties, Install, Service and finally Add. This will allow you to select the VMware Bridge Protocol. In case the entry is not listed, select Have Disk… and navigate to %ProgramFiles(x86)%\VMware\VMware Workstation.

VMware Bridge Protocol

After installing  the VMware Bridge Protocol restart the VMware Workstation and choose the bridged mode for the network adapter.

VMware Network Adapter

Posted at Monday, August 17, 2009 9:52:47 AM (W. Europe Daylight Time, UTC+02:00) 
Comments [1] #      | 

Doh, if you are going to use your Windows Server 2003 as a streaming server for your Xbox 360, you might be in trouble. For a while I went with a rather sophisticated solution, running a Windows XP Media Center within a Virtual Server on my Windows Server 2003. The solution is not the desired one and as Windows Media Center and the Media Center Extender within Xbox 360 have some trouble in streaming h.264 encoded movies files, I had to dig a bit deeper.

Before you go one, please be aware of the following disclaimer:

The following is given under a “works on my machine” premise. The proposed approach is based on my very personal attempts and comes a”as is”. If you try to attempt the following steps, you do it on your own risk. It is not supported by Microsoft, and hey, in case you brick your box don’t expect any support from Microsoft. Don’t blame it to me either as you did it on your own risk, but let me know as it could be fun, tough.

There are several ways to share media with your Xbox 360. The easiest ways is to check out http://www.xbox.com/pcsetup/. After determining your OS, you will be guided through the best way to share media. Bad luck if you work on a Windows Server 2003, though. Not supported, you will be told. 

The easiest way is to share media over Windows Media Player 11. Windows Server 2003 comes with Windows Media Player 10. But as we know the core of Windows Server 2003 is somehow Windows XP and therefore there must be away to install WMP 11 on Windows Server 2003. If you google for it, you will come along a dozen hacks and workarounds and most of them won’t work.  Recently, this guy called C:Amie posted some awesome hack to install Windows Media player 11 on Windows Server 2003. If you have time, go through it, if you are in a hurry, do it that way:

  1. Make sure your box is fully patched and Service Pack 2 is installed.
  2. Download Windows the Windows Media Player 11 installer for Windows XP. 
  3. Download the automatic installer from C:Amie’s website.
  4. Run the automatic installer and extract it to any folder on your Windows Server 2003 box.
  5. Copy the previously downloaded wmp11-windowsxp-x86-enu.exe into the same directory.
  6. Go to the folder and run the INSTALL.CMD file.
  7. Follow the onscreen instructions.

    INSTALLER.CMD

    The script creates a temporary folder on your C: drive called C:\wmp11. There you have to change the compatibility mode of two files to Windows XP. Go to C:\wmp11\update\1\. and right click the update.exe file. Chose the Compatibility tab and check the Compatibility mode for Windows XP. Make the same for the update.exe file in c:\wmp11\update\2\.

    update.exe Properties Dialog
  8. Now go back to the command line window and press a key to continue and the simply wait.
  9. The software updater wills start after some time and after some more time you will end up with the UPnP for Windows Server 2003 dialog.

    UPnP for Windows Server 2003
    Check the Universal Plug and Play checkbox and select Next and then Finish.
  10. If everything went well, you will end up with Windows Media Player 11 on a Windows Server 2003. Hurray.

    image

But you remember that we want to stream h.264 encoded files to our Xbox 360, right? The good news is that Windows 7 will support h.264 natively. The bad news is that we work on a Windows Server 2003 right now.  With some work however, we can teach our Windows Server 2003 also to deal with h.264 encoded .mp4 files. All we have to do is to install some codecs and to apply some registry hacks.

  1. For the sake of simplicity, I took the K-Lite Mega Codec pack. It took the mega pack instead of the standard pack because Dirty Harry is using a .44 and not a .375. This might be reason enough.
  2. During installation select Profile 2. It’s the default profile without the players (you remember we want to stream anyway). Feel free to experiment with other profiles and custom settings.

    K-Lite Mega Codec Pack Setup Dialog
  3. When you come along the Select Additional Task step, don’t forget to scroll down and to check Make thumbnail generation possible for the following types. This will create the thumbnails in the Windows explorer and within the Windows Media Player 11.

    K-Lite Mega Code Pack Setup Dialog - Additional Tasks

At this point your Windows Media Player can play h.264 encoded files but your server is still not capable to share any kind of .mp4 files. They won’t show up in the folders monitored by Media Player until we apply some tweaks to the registry.

On my crusade I came along two registry patches. It seems that they did not work for everybody, however, nobody tried on Windows Server 2003. It worked for me after I installed both of them.

  1. Download the first registry patch, rename to .reg and install it.
  2. Download the second registry patch, rename to .reg and install it.
  3. Reboot to apply the registry changes.

Now, out Windows Server 2003 is capable to stream h.264 encoded media files. The previous patches will now cause that Windows Media Player 11 will add all kinds of .mp4 or .m4a files within the monitored folders. Adding these folders to be streamed is straight forward.

  1. Go to  Libary /Add to Library… 

    Windows Media Player 11 - Library Menu
  2. Add all kinds of folders that should be streamed to your Xbox 360. The media types will be organized automatically, so movies, music files and images will be shown in the corresponding tabs in the NXE. 

    Add to Library Dialog
     
  3. In some rare cases (and I know what I am talking about as I encountered this rare case) all your mp4 files won’t show up in the movie folders. In this case select Library / Other and check if the files are shown there.

    Windows Media Player 11 - Other  Media 

    If you find all your files here, something went terrible wrong with your media library. Calm down, there is a easy workaround (FWIW: if you already share media, stop sharing as the following won’t work).

    Go to C:\Documents and Settings\[YouProfileName]\Local Settings\Application Data\Microsoft and delete the Media Player folder. This will wipe out the whole media library for this computer. Restart from 1. and everything should be green now.

    Media Player Library  

Now, where everything is nicely organized, indexed and monitored, we are ready to share our media with the Xbox 360.

  1. Turn on your Xbox 360. 

    No kidding, you won’t be able to turn on sharing if the 360 is not on at that point of time.
  2. Go to Library / Media Sharing…

    Media Sharing 
  3. Now it’s straight forward:

    a) Check Share my media to

    b) Select your Xbox 360

    c) Click Allow 

    Media Sharing Dialog

  4. Finally, don’t forget to check out the Customize button which will open a dialog for some more fine tuning (what kinds of media to share, what ratings to share, etc.)

Now got to your Xbox 360 and enjoy your h.264 streamed media.

There are a few point’s I haven’t found out how to resolve, yet.

  1. The registry hacks don’t include .mkv file extensions. Also both hacks could be combined into one. I simply haven’t spend time in this yet.
  2. The 360 won’t show any thumbnails for the h.264 encoded files. Not sure if this is related to the XNE or the Media Player. This might worth some more investigation.
  3. The 360 does not show the length of the media file. It does so for .avi files, so this might be automatically answered once 2. is answered.
Posted at Saturday, February 28, 2009 6:33:11 PM (W. Europe Standard Time, UTC+01:00) 
Comments [10] #      | 

Not really a productivity tool, but apparently some tool that makes working all day long on the screen much more convenient.

“f.lux makes your computer screen look like the room you're in, all the time. When the sun sets, it makes your computer look like your indoor lights. In the morning, it makes things look like sunlight again”

f.lux adjusts the color temperature of your display to the time of the day. It ranges from 6500 Kelvin during daylight to 3400 Kelvin during the night. Give it a try, downloads are available for Windows XP/Vista, Mac OS X and Linux (glibc6).

f.lux

Posted at Tuesday, February 24, 2009 12:07:05 PM (W. Europe Standard Time, UTC+01:00) 
Comments [0] #      | 
ZoomIt
Posted in Tools

ZoomIt (by nobody else than Mark Russinovich), a classic tool for presenting. Quite lightweight with few but good options. The zoom capability allows you to zoom into the area of the screen where the mouse points to. The draw and type capability allows to draw and type on your screen. Way cool if you are using a Tablet PC, though. Finally, the Break function is a countdown. Nice for speakers this one comes with a few nifty functions such as playing a sound and displaying a custom background image.

ZoomIt

And no, it’s not a tool only for evangelists giving talks in large lecture theaters. It also comes quite handy in meetings and presentations within the team and in front of customers.

Posted at Thursday, February 12, 2009 7:39:40 PM (W. Europe Standard Time, UTC+01:00) 
Comments [0] #      | 
Copyright © 1995-2009 by Andreas Heil. aheil is a registered trademark of Andreas Heil. All rights reserved.
The opinions expressed herein are my own personal opinions and do not represent my employers' views in any way. Content and thoughts expressed on these pages and the weblog are subject to be changed. Out of date posts should not be considererd as my current thoughts and opinions.