New Xbox Experience Allows Installing Games on Hard Drive

Just tried the new update for a few hours. Totally amazing. And the most exciting part is now you can install a full retail game on your Xbox hard drive. you still need the game disc in the tray to play for copyright protection reasons. Ninja Gaiden 2 loads much faster from hdd. Normally a game took 6 to 9 gigabytes so now players got a good reason for the 120g disk.

Waiting for approval

It’s kinda funny that you actually have to beg apple in order to buy something from them. (yes I’m talking about the iPhone developer program)

Got an iPod Touch

After watching a prensentation on writing apps for iPhone, I bought an iPod Touch.

Man this is just everything I ever images for a PDA

Gonna purchase a iPhone developer subscription and get this thing going

Windows 7 bug ?

When I tried to rename a file and use a different extension. This dialog would pop up like 9 of 10 times.

PSP Firmware 5.0

The firmware came out with PSP3000 and a major enhancement is the support of full screen video-out for PSX games. Also PlayStation Network (PlayStation Store) is available for direct access on PSP. The download speed is very good.

Hours ago Sony released 5.01 firmware, fixing a compatibility issue of PSN download on large (8G or above) memory sticks. 5.00 users are required to update in order to be able to access PSN again.

Some screenshots of the PSN store and the new PSX video-out on my 22 inch LCD TV.

NowPlaying Mac 1.0.1 Update

This update fixes a major bug where NowPlaying may crash when user opens and quits iTunes frequently.

Internally, the program now uses AppleScript directly instead of Scripting Bridge for better compatibility. Also there’s optimization on the pulling of player and track info to make it more efficient.

Download NowPlaying Mac 1.0.1

Installing Windows Server 2008 x64 on iMac with Boot Camp

I heard nice things about Windows Server 2008 and I really wanna an x64 Windows on my iMac. After a little exploring, I managed to get it working.

First I delete my XP partition and re-partitioned the HDD so I have a clean partition for Server 2008. Then Boot Camp started the installer without a complain. The installation was very smooth.

Then there’s the real problem, drivers. I heard that Mac Pro and some MacBook Pro were shipped with x64 drivers. But when I put in my Leopard disk, I got this warning.

After messing around for a while I found the solution, just browse the disk and run <DVD Drive>:\Boot Camp\Drivers\Apple\BootCamp64.msi directly.

After reboot, the chipset, Ethernet adapter, audio and even graphic card were recognized and configurated.

However, the ATi driver that comes with Boot Camp doesn’t fully enable the gaming features and there’s no Catalyst Control Center.

AMD provided Boot Camp driver for XP but not x64. So I downloaded the desktop version of the x64 driver from http://game.amd.com/us-en/drivers_catalyst.aspx?p=vista64/common-vista64 . However the installation manager won’t install the driver. That’s because though iMac is a desktop, the HD 2600 chip comes with it is actually a Mobility version. So I used the famous Mobility Modder from http://www.driverheaven.net/modtool.php. Select the folder where you extracted the ATi installer and click “Modify”, then run setup.exe and ignore the “unsigned driver” warning.

To enable Aero, go to Server Manager / Features and add the Desktop Experience feature. If Aero is not available after reboot, go to Services and enable Themes service.

Now I got Server 2008 running smoothly on my iMac. Even my dual monitor configuration still works. Can’t get iSight and bluetooth right but I really couldn’t care less.

Display Current Playing Track on Memu Bar

NowPlaying Mac displays the current playing track (name/artist/duration/artwork) in the menu bar. Just that simple, no funny business.

NowPlaying integrates itself into the menu bar, taking no desktop space, no dock icons.

All options are available through a simple menu.

The tool is free and the Obj-C (Cocoa) source code is available under BSD license. I used free icon from http://www.icondrawer.com/

Download NowPlaying Mac from Google Code

Silent Hill: Homecoming

Does the guy in the trailer remind you of G-Man ?


[OLE/GDI+] Save Thumbnail of a Web Page To File

Using the technique introduced here you can generate a thumbnail of a web page (or part of it) and save it to an image file.

IHTMLElementRender interface allows users to draw the content of an element (usually IHTMLElement) to a device context (DC). The Image class in GDI+ provides a uniform way to save the image as a file.

The code is quite simple and self-explanatory.

IWebBrowser2 *wb = NULL;
IHTMLDocument2 *pDoc = NULL;
IHTMLElement *pBody = NULL;
IHTMLElement2 *pBody2 = NULL;
IHTMLElementRender *pRender = NULL;
IDispatch *pDisp;
 
// ...............
// get the IWebBrowser2 interface from the ActiveX control
// ...............
 
if (wb) {
    // get the <body> element via IHTMLDocument2 interface
    if (SUCCEEDED(wb->get_Document(&pDisp)) && pDisp) {
        if (SUCCEEDED(pDisp->QueryInterface(IID_IHTMLDocument2, (void **) &pDoc)) && pDoc) {
            if (SUCCEEDED(pDoc->get_body(&pBody)) && pBody) {
 
                // get IHTMLElementRender for rendering, IHTMLElement2 for the the dimensions
                if (SUCCEEDED(pBody->QueryInterface(IID_IHTMLElementRender, (void **) &pRender)) && pRender
                        && SUCCEEDED(pBody->QueryInterface(IID_IHTMLElement2, (void **) &pBody2)) && pBody2) {
 
                    // get width & height
                    long width, height;
                    pBody2->get_clientWidth(&width);
                    pBody2->get_clientHeight(&height);
 
                    // create a bitmap with the same dimensions
                    Image *bitmap = new Bitmap(width, height);
 
                    // create a Graphics from Image
                    Graphics *g = Graphics::FromImage(bitmap);
 
                    HDC hDC = g->GetHDC();  // get the DC
                    pRender->DrawToDC(hDC); // draw to DC
                    g->ReleaseHDC(hDC);     // IMPORTANT: MUST RELEASE DC before calling any other GDI+ methods
 
                    CLSID bmpClsid;
                    GetEncoderClsid(L"image/bmp", &bmpClsid);  // helper function by MS
                    bitmap->Save(L"thumbnail.bmp", &bmpClsid); // save to "thumbnail.bmp"
 
                    pBody2->Release();
                    pRender->Release();
                }
 
                pBody->Release();
            }
 
            pDoc->Release();
        }
 
        pDisp->Release();
    }
 
    wb->Release();
}

Of course you need to initialize GDI+ by calling GdiplusStartup and call GdiplusShutdown when terminating.

A sample project can be downloaded from http://playground.softboysxp.org/IHTMLElementRenderDemo.zip

I used code from Michael Chourdakis in his codeproject article

Search MSDN Library for detailed documents on GDI+ and MSHTML.