Friday, February 13, 2009

Microsoft Excel Workbook Links

Opening certain Excel or Comma Separated Value (CSV) files in Excel may (correctly or incorrectly) produce the following error message:

This workbook contains one or more links that cannot be updated.

Depending on how the file was opened (either through the GUI or programmatically), the following message box may appear:

image

Clicking the "Edit Links..." button opens the following window:

image

Selecting just about any option continues loading the file; however, if the files was accessed programmatically, user intervention is required through the GUI (even when the application has set Application.DisplayAlerts = false).

To disable the automatic update of Workbook links in Microsoft Excel 2007, which suppresses the prompt:

  • Open Excel
  • Click on the Microsoft Office button (in the upper left corner of the application)
  • Click "Excel Options" near the bottom of the menu
  • Select "Trust Center" tab
  • Click the "Trust Center Settings..." button
  • Select "External Content" tab
  • Select "Disable automatic update of Workbook Links"
  • Click "OK" button to close the "Trust Center" window
  • Click "OK" button to close the "Excel Options" window

Addition information pertaining the issue is available through Microsoft's support website:

Sunday, February 08, 2009

Visualizing Numerical Data

I was looking into visualizing numerical data and came across the following website:

Overall, MIX Online does an impressive job of allowing an average user to quickly and easily understand complex three dimensional data: time, space, and value.

Based on the visualization, it was interesting to see that the number of obese people in most U.S. states has approximately doubled since 1994. It was also interesting that the research does not take into account people who are underweight.

Sunday, January 25, 2009

Bookmarklet - View Rendered HTML Source Code

Developing DHTML applications can be challenging, often the rendered HTML source code is dynamically assembled via JavaScript or AJAX and is dramatically different than the original source code of the Web page.

To view the raw rendered source code of an HTML page, save the following link as a bookmark, then navigate to the HTML page and click the bookmark.

javascript:document.write('<pre>' + document.body.innerHTML.replace(/</g,'&lt;').replace(/>/g,'&gt;') + '</pre>');

Friday, January 23, 2009

Change Remote Desktop Port

To change the default port for Windows Remote Desktop:

  1. Start Registry Editor ("RegEdit.exe")
  2. Locate and the following registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

  3. On the Edit menu, click Modify, and then click Decimal
  4. Type the new port number, and then click OK
  5. Exit Registry Editor

See Microsoft Knowledge Base Article 306759 for additional details.

Classic ASP Permanent Redirect

In Classic ASP, the Response.Redirect method causes the server to send a temporary redirect code (302) in the response header.

To send a permanent redirect code (301) in the response header, use the following code instead:

Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "/new-page.asp"
Response.End

Replace "/new-page.asp" with the absolute or relative URL of the destination page.

Sunday, January 04, 2009

Website Analytics Investment in 2009

Web Analytics Demystified conducted a poll during a webcast in December of 2008. The poll asked about planned website analytics investment in 2009. Based on 251 responses, the results were as follows:

  • 36% said spending on website analytics would increase in 2009
  • 50% said spending on website analytics would not change in 2009
  • 14% said spending on website analytics would decrease in 2009

Saturday, January 03, 2009

MySQL Detailed Table Information

Use the following query to view detailed information about each table in the specified database:

SHOW TABLE STATUS FROM `database`;

Explanation

The SHOW TABLE STATUS command will show the following information about each table in the specified database:

  • Name
  • Engine
  • Version
  • Row Format
  • Rows
  • Average Row Length
  • Data Length
  • Max Data Length
  • Index Length
  • Data Free
  • Auto Increment
  • Create Time
  • Update Time
  • Check Time
  • Collation
  • Checksum
  • Create Options
  • Comment

Replace database with the name of your database.

MySQL ISNULL() Function

If you are familiar with Microsoft SQL you may have used the ISNULL() function; the equivalent function in MySQL is IFNULL().

In Microsoft SQL, the syntax is as follows:

SELECT ISNULL(NULL, 'Some Value')

In MySQL, the syntax is as follows:

SELECT IFNULL(NULL, 'Some Value')

Xbox 360 - Left 4 Dead - Game Design

Lately I have been playing Left 4 Dead on the Xbox 360 console and one thing that really impresses me is how smoothly multi-player gaming works. From a game design perspective, I think the following features are really nice:

  • Players can join or leave games at anytime (even during a campaign)
  • Players who are inactive (idle) for too long are seamlessly controlled by the computer until they return and press a button (which means people can take breaks without significantly impacting the other players)
  • Left 4 Dead is heavily focused on cooperative play, to the extent that your team must "rescue" players in many situations; this greatly enhances the overall experience and raises the intensity level as players strive to reach teammates before they are killed
  • Voice chat works really well and is almost mandatory to survive on the more challenging difficulty settings
  • Players can see silhouettes of their teammate through walls and other obstacles, which greatly reduces people asking "Where are you?" and makes it much easier to rejoin the group if players get separated
  • Players can see their teammates health bars at all times, as well as a partial inventory of what they are carrying
  • Players can heal their teammates

Many of these techniques have been implemented in other games, but Left 4 Dead does a great job of blending them all together in a cohesive and fun experience.

Saturday, December 13, 2008

Xbox 360 - Prey

I really like Prey for the Xbox 360. In Prey, you play the role of Tommy, a Cherokee warrior with special mystic abilities including the ability to spirit walk. The game has a great story compared to typical first person shooters and the brief dialog interspersed throughout the levels really adds to the overall experience. The game designers did a great job of visually melding organic and mechanical elements to create other-worldly levels and a deep sense of immersion. Two interesting game play elements include shifting gravity and portals. Both game play elements are often used as puzzles and often grant access to previously inaccessible areas in the game.

See GameSpot for a complete review of Prey.Prey

Sunday, November 30, 2008

Fix Extremely Slow Firefox Localhost Connections

Dan Wahlin discovered why Firefox runs so slowly when connecting to localhost. The Firefox IPv6 localhost bug significantly impacts page load times for the integrated Web servers in Visual Studio 2005 and Visual Studio 2008, as well as local AJAX development. Dan explains the issue and outlines the resolution:

It turns out that the slowness is caused by an IPv6 issue with DNS and can easily be resolved by turning IPv6 support off in Firefox while doing localhost testing. To make the change, type about:config in the address bar, locate the network.dns.disableIPv6 setting and double-click on it to set it to true. This does the trick for the Firefox localhost issue on Vista and everything is running fast again.

 

Friday, November 21, 2008

Xbox 360 - New Xbox Experience (NXE)

On November 19, 2008, Microsoft launched the New Xbox Experience (NXE) for the Xbox 360 console in North America. Most people with Xbox Live have probably already heard about the new avatars; however, a really slick feature is the ability to embed your avatar in a webpage by linking to a special image directly on Microsoft's servers.

Here's an example of my Xbox Live avatar:

To display your avatar on a Web page, insert an image with one of the following URLs:

http://avatar.xboxlive.com/avatar/Verious/avatar-body.png
http://avatar.xboxlive.com/avatar/Verious/avatarpic-l.png
http://avatar.xboxlive.com/avatar/Verious/avatarpic-s.png

Replace "Verious" with your Xbox Live screen name.

Emption - Comparison Shopping

The new Emption comparison shopping website launched today.

Emption is a comparison shopping website that has developed unique technology to improve and simplify the shopping experience. Shopper's can search, browse by category, and filter products to quickly compare prices and find the best deals.

Even though Emption is in beta, it already has a number of exciting features.