Tuesday, August 24, 2010

Microsoft Internet Explorer 8 Not Meeting Expectation

I have been using Internet Explorer 8 for a while even before I upgraded my OS to Windows 7. When talk about browser performance I can say that IE is still not the best around. When many tabs are opened, the browser tends to act sluggishly and consuming high CPU and memory. I tried to disable all of the IE add ons but still it does not help much. The most serious case that i ever met is when i visit pages that contain complex strucutre and animation, IE is like totally dead after a while. For example, a page that contains a long table with many records and when records are updated periodically, IE sucks. If i am to compare with other browser such as FireFox 3, the performance of the FireFox is much better than IE in many ways. CPU usage and memory consumption is one noticable difference if compared to IE when browsing through heavy pages. Page scrolling of FireFox is much smoother than IE for long list of table.

Summary, the way that IE8 is built really give a big hit to online businesses that provide highly sophitiscated functions and UI, users are just requesting more and more but there is nothing much can be done or rather the limit is caused by how IE perform eventually. I hope IE 9 will give something that the users are expecting (i.e. speed + stability).

Monday, June 28, 2010

Tip: Microsoft AppFabric Velocity SessionState Web.config setup

Note: This setup is for the latest release of the Microsoft AppFabric on 6th June 2010

configSections

<section name="dataCacheClient" type="Microsoft.ApplicationServer.Caching.DataCacheClientSection, Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" allowlocation="true" allowdefinition="Everywhere">

dataCacheClient

<dataCacheClient>

<!-- (optional) specify local cache

<localCache

isEnabled="true"

sync="TimeoutBased"

objectCount="100000"

ttlValue="300" /> -->

<!--(optional) specify cache notifications poll interval

<clientNotification pollInterval="300" /> -->

<hosts>

<!-- for clustering purpose-->

<host name="MYPC01" cachePort="22233"/>

<host name="CacheServer2" cachePort="22233"/>

</hosts>

</dataCacheClient>



<sessionState mode="Custom" customProvider="Velocity">

<providers>

sessionState
<!-- specify the named cache for session data -->

<add name="Velocity" type="Microsoft.ApplicationServer.Caching.DataCacheSessionStoreProvider, Microsoft.ApplicationServer.Caching.Client, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" cacheName="VelocityCache"/>

</providers>

</sessionState>

Saturday, June 26, 2010

Tip: MSN Messenger Live Error 800706be

Recently my MSN Messenger suddenly stopped working, no matter how many times i tried to login, it still failed. Eventually I came across this web site http://windowslivehelp..com/solution.aspx?solutionid=48cb38e4-dffa-4250-8671-8b44fe19383b which solved my problem. The problem was actually related to corrupted contact data in my local computer.

Friday, May 7, 2010

Windows 7 Internet Explorer 8 stucks in memory.

I have been doing debugging very frequently these days. One anoying thing that i discovered is that Internet Explorer tends to remain in the memory even though I have closed them physically. I am still wondering why this is happening as all the unused processes just taking up memory space..........

Sunday, March 21, 2010

Tip: Fire Fox keypress event.

New versions of FireFox allows user to access some keypress properties such as the type, and key code through the "onkeypress" event registration. Not like the old time Netscape, we can access the two properties from the window.Event object.
This is to say, "onkeydown" and "onkeyup" events do not return the two properties at all as expected by some developers (might due to Internet Explorer is returning the two properties?). Some JavaScript code might still be using the old Netscape style which does not work for FireFox.

Tuesday, February 23, 2010

Tip: Browser rowspan vs rowSpan when using JavaScript

It's weird that IE7 is case sensitive towards the 'rowspan' property of a table cell. We have to use 'rowSpan' so that IE7 can recognize it and run web page properly. I have tried both the names using FireFox, it was working fine without problem.

For example, this wont work in IE:
table1.cells[0].rowspan = 3;
This will work in IE:
table1.cells[0].rowSpan = 3;

Thursday, February 11, 2010

Tip: IE8 running on Windows 7 is slow.

Recently I am experiencing slowness on a web site that i am developing. When i tried to scroll down a page, the browser behaves jerky and non consistent. In other words, the scrolling is not smooth like what i tested in FireFox.

After searching much on the Internet, I discovered that some IE plugins might potentially slowing down the browser. Another obvious problem that some plugins can cause is huge memory consumption which eventually slows down the browser significantly. I had this experience whereby the Windows Live plugin actually eats up a lot of memory.
So please turn off all the unused plugins from the browser to make it fast again.

Sunday, January 3, 2010

Tip: How to replace a fraction digit with a 0 mathematically?

Sometimes for certain reason, we need to replace certain digit in a value with some fix value. Recently i came across this problem to replace the 3rd digit of a fraction of a number with a 0. I can definitely do it with some string manipulation functions such as substring, replace, etc, but it wont be efficient and string manipulation is a costly process when ran in a loop. I need to figure out a way to do it mathematically using a ligther foot print than the string.

Scenario:
to convert a number 1.567 to 1.560
so basically it's to replace the last digit in the fraction with a 0.
Solution:
1. moves the decimal point by multiplying 100 to the value.
double val = 1.567 * 100 [becomes 156.7]
2. get the whole part of the value by truncating it
double w = Math.Truncate(val); [becomes 156.0]
3. minus off the val with the truncated value w.
double left = val - w; [becomes 0.7]
4. move the left value by dividing it with 100
left = left / 100; [becomes 0.007]
5. deduct the orignal value with the left
double answer = 1.567 - left; [becomes 1.560]