Friday, October 31, 2008

IE and Firefox: onKeyPress

MS Internet Explorer and Firefox handle the keyPress event differently - MS IE only fires the event for non-special characters while Firefox fires the event for all key presses.

IE returns the key that caused the event in event.keyCode. Firefox uses event.which and event.keyCode; if you want to handle special keys, you can read the value from event.keyCode (event.which is 0 for *most* special keys) or you can stick with event.which for the most part.

Tuesday, October 28, 2008

Twitter unblocked in UAE

Last week, I noticed that I could access from the Emirates Internet (Etisalat) network. They had it blocked as users could send out SMSes and that would effect the revenue of their cellular networks division.

As is still accessible this week, I guess access to it has been restored for good.

Saturday, October 25, 2008

Panasonic ToughBook Q.A.

Panasonic has a pretty simple solution for quality assurance of its ToughBook laptops. Before the laptops go into final inspection, they place them on a table and use a back massager to vibrate the table to see if any components shake themselves loose. Check out the video below to take a look at it:

Panasonic Toughbook Y7 Aging from geekdotcom on Vimeo.

Monday, October 20, 2008

.NET 3.5 Client-only Subset

Sun's approach in targeting different device 'profiles' with the Java EE, Jave SE, Jave ME etc. made the JavaVMs quite light weight in smaller devices and feature rich on enterprise servers. Microsoft .NET has had a similar approach with the standard .NET framework for full-fledged computing devices and the .NET Compact framework for embedded devices (PDAs, smart phones and their cousins).

With .NET 3.5, Microsoft has branched out the standard .NET framework into a full package and the client-only subset. The client-only subset is targeted at Windows XP legacy systems on which .NET 3.5 client applications need to be deployed via the web so if you're running Windows Vista you've already got the full profile pre-installed with the O.S.

Monday, October 13, 2008

Non-standard callto links

I investigated the callto: links that Skype uses and it's a little different from the NetMeeting callto links. We really ought to have some kind of standardization like we've got for the mailto: links that the browser simply sends to the default email client.

Sunday, October 12, 2008

System.Web Hi-Jacked

I tried adding a trace listener to a web application to determine what's causing the heavy view state on the page. When I added the WebPageTraceListener using the type attribute
type="System.Web.WebPageTraceListener, System.Web"
the application simply stopped as it couldn't find WebPageTraceListener in the System.Web assembly. I used the Object Browser and the class was right there.

I ended up pasting in the type from another project that I had, which included the version and public key token like so:
type="System.Web.WebPageTraceListener, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
and that fixed the issue. I'm guessing there's a different System.Web assembly being used (I created a blank VS2008 solution and simply added the VS2005 projects, so that could be it).

Saturday, October 11, 2008

Microsoft Web Platform Installer

A little over a week ago, Microsoft has made available the Microsoft Web Platform installer which is a single installation package for:
  • Microsoft .NET Framework 3.5
  • Microsoft Internet Information Services (IIS) 7.0
  • Microsoft SQL Server 2008 Express Edition
  • Visual Web Developer 2008 Express Edition
It makes the installation so much simpler and is available as a free download available here.

If you want an equivalent for PHP, Apache, and MySQL, check out XAMPP.

MS AJAX Bandwidth Hog

There are times when you think the MS AJAX implementation is simply amazing as it's so simple to drag-and-drop controls from the toolbar into an UpdatePanel and have them automagically work without refreshing the whole page.

Then you start to realize how much bigger your page gets due to all the client scripting libraries that show up as ScriptResource.axd and WebResource.axd.

For Intranet applications, it isn't all that much of a deal since you're on a 100Mbps LAN and don't care since you've got enough bandwidth to stream a video of the server's display while stuff runs locally on the server (okay, so that's a bit silly). However, while server Internet clients, you can't expect all of your users to have high speed connections and you'll end up paying a fortune for bandwidth costs.