Adding Google Adsense Ads Code Directly to Blogger XML Template

Advanced users of Blogger.com service may have tried to insert and put Google AdSense ad code which is actually a Java script directly into the blog pages by manually editing the XML-based template HTML coding interface. Actually, it’s possible add any ad code by using HTML/JavaScript page element within the Blogger new XML template system, but the place where you can place the new block is rather limited, i.e. above or below the post body, header, footer, within sidebar or between blog posts. In case you want to put the ads inside the post, or align the ads to float and wrap around the text, or just within the single individual article content view, you will have to edit directly the HTML coding of Blogger template.

If you try to insert any Google AdSense, AdBrite, AdEngage and any other JavaScript based ad code, or client-side components such as counter, tracker, form, snippet, effect, date and time, etc which is JavaScript based, the following error message may be returned when saving ore previewing:


Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly. XML error message: The processing instruction target matching “[xX][mM][lL]” is not allowed.

or

Your template could not be parsed as it is not well-formed. Please make sure all XML elements are closed properly.
XML error message: The reference to entity “zs” must end with the ‘;’ delimiter.

and many other different XML error message.

The problem is caused by incorrect dynamic interpretation of Blogger XML template when it generates the HTML webpage for the blog page that is requested, probably due to the fact that the AdSense ad code or other code is not a valid XML, coupled with the fact that some ASCII characters have special meaning and reserved functions, confusing Blogger blogging engine.

The resolution to the JavaScript based coding does not work in Blogger HTML template error can be solved by replacing special characters or symbols in the script to HTML code. Check out the list below for which ASCII characters that need to be replaced with their corresponding HTML code. Using HTML code will ensure that Blogger render the character correctly when serving the page to the viewer.

< = &lt;
> = &gt;

Above two is enough to make Google AdSense works in Blogger template. For other scripts, such as AdBrite ad code, you will need to replace more characters such as those listed below.

& = &amp;
” = &quot;

For example, a Google AdSense code should become looks similar to code below:

&lt;script type="text/javascript"&gt;&lt;!--
google_ad_client = "pub-XXXXXXXXXXXXXXX";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
google_ad_channel = "";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_text = "000000";
google_color_url = "000000";

//--&gt;&lt;/script&gt;
&lt;script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
&lt;/script&gt;

While an AdBrite ad code will became the similar code to the below:

&lt;script type="text/javascript"&gt;
var AdBrite_Title_Color = '0000FF';
var AdBrite_Text_Color = '000000';
var AdBrite_Background_Color = 'FFFFFF';
var AdBrite_Border_Color = 'FFFFFF';
&lt;/script&gt;
&lt;script src="http://ads.adbrite.com/mb/text_group.php?sid=303771&amp;zs=3330305f323530" type="text/javascript"&gt;&lt;/script&gt;
<div><a target="_top" href="http://www.adbrite.com/mb/commerce/purchase_form.php?opid=303771&amp;afsid=1" style="font-weight:bold;font-family:Arial;font-size:13px;">Your Ad Here</a></div>

Simply use the text editor to parse the code and then replace the characters. Don’t worry about violating AdSense TOS or other terms and conditions, as once the blog’s web pages are rendered and presented to the viewers and visitors, the code will be exactly same as the original code before any replacement!

GroupWise GWIA 420 TCP Read and TCP Write Error

A customer Penang was recently replacing their Sendmail to GroupWise 8.0. However for the past one month, they are facing problem sending email to certain users of certain email domains where they had no problem sending with Sendmail before.

We are seeing some 420 TCP Read Error, 420 TCP Write error and also TCP 421 Timeout error in the GWIA logs. The followings were the errors from the GWIA logs :-

[Winwamedical.com]
16:00:13 896 MSG 58050 Command: [202.75.48.118]
16:00:13 896 MSG 58050 Response: 220 smtp1.mschosting.com
16:00:13 896 MSG 58050 Command: EHLO mail.sunrisepaper.com.my
16:00:13 896 MSG 58050 Response: 250 ok
16:00:13 896 MSG 58050 Command: MAIL FROM:
16:00:13 896 MSG 58050 Response: 250 OK Sender ok
16:00:13 896 MSG 58050 Command: RCPT TO:
16:00:13 896 MSG 58050 Response: 250 OK Recipient ok
16:00:13 896 MSG 58050 Command: DATA
16:00:13 896 MSG 58050 Response: 354 Start mail input; end with .
16:00:13 896 MSG 58050 Detected error on SMTP command
16:00:13 896 MSG 58050 Command: Data...
16:00:13 896 MSG 58050 Response: 420 TCP write error

[Escatec.com]
16:41:20 880 MSG 58121 File: /root/sunriseEmail/sunDom/wpgate/gwia/wpcsout/gwi3f3a/4/4a118fb0.000 Message Id: (4A112097.908:101:48786) Size: 86.5 Kb
16:41:20 880 MSG 58121 Sender: alicia_chua@sunrisepaper.com.my
16:41:20 880 MSG 58121 Converting message to MIME: /root/sunriseEmail/sunDom/wpgate/gwia/send/xa118fb0.024
16:41:20 880 MSG 58121 Recipient: Saravana@escatec.com
16:41:20 880 MSG 58121 Recipient: Yeoh.KengHong@escatec.com
16:41:20 880 MSG 58121 Queuing message to daemon: /root/sunriseEmail/sunDom/wpgate/gwia/send/sa118fb0.024
16:41:20 352 DMN: MSG 58121 Sending file: /root/sunriseEmail/sunDom/wpgate/gwia/send/pa118fb0.024
16:41:22 352 DMN: MSG 58121 Attempting to connect to mailserver.escatec.com
16:41:23 352 DMN: MSG 58121 Connected to [203.106.231.124] (mailserver.escatec.com)
16:47:25 352 DMN: MSG 58121 SMTP session ended: [203.106.231.124] (mailserver.escatec.com)
16:47:25 352 DMN: MSG 58121 Send Failure: 420 TCP write error
16:47:32 896 MSG 58121 Analyzing result file: /root/sunriseEmail/sunDom/wpgate/gwia/result/ra118fb0.024
16:47:32 896 MSG 58121 Command: escatec.com
16:47:32 896 MSG 58121 Response: 220 escatec.com [ESMTP Server] service ready;ESMTP Server; 05/18/09 16:45:04
16:47:32 896 MSG 58121 Command: EHLO mail.sunrisepaper.com.my
16:47:32 896 MSG 58121 Response: 250 ok
16:47:32 896 MSG 58121 Command: MAIL FROM:
16:47:32 896 MSG 58121 Response: 250 Sender OK
16:47:32 896 MSG 58121 Command: RCPT TO:
16:47:32 896 MSG 58121 Response: 250 Recipient OK
16:47:32 896 MSG 58121 Command: RCPT TO:
16:47:32 896 MSG 58121 Response: 250 Recipient OK
16:47:32 896 MSG 58121 Command: DATA
16:47:32 896 MSG 58121 Response: 354 Start mail input; end with .
16:47:32 896 MSG 58121 Detected error on SMTP command
16:47:32 896 MSG 58121 Command: Data...
16:47:32 896 MSG 58121 Response: 420 TCP write error
16:47:32 896 MSG 58121 Deferring message: /root/sunriseEmail/sunDom/wpgate/gwia/defer/sa118fb0.024

[kingston.com.my]
10:51:26 184 Queuing deferred message: /root/sunriseEmail/sunDom/wpgate/gwia/send/sa113669.006
10:51:26 184 MSG 57671 Analyzing result file: /root/sunriseEmail/sunDom/wpgate/gwia/result/ra1133ec.002
10:51:26 184 MSG 57671 Command: kingston.com.my
10:51:26 184 MSG 57671 Response: 220 MYMF1 ESMTP SonicWALL (7.0.0.1393)
10:51:26 184 MSG 57671 Command: EHLO mail.sunrisepaper.com.my
10:51:26 184 MSG 57671 Response: 250 ok
10:51:26 184 MSG 57671 Command: MAIL FROM:
10:51:26 184 MSG 57671 Response: 250 2.1.0 MAIL ok
10:51:26 184 MSG 57671 Command: RCPT TO:
10:51:26 184 MSG 57671 Response: 250 2.0.0 Ok
10:51:26 184 MSG 57671 Command: RCPT TO:
10:51:26 184 MSG 57671 Response: 250 2.0.0 Ok
10:51:26 184 MSG 57671 Command: DATA
10:51:26 184 MSG 57671 Response: 354 3.0.0 End Data with .
10:51:26 184 MSG 57671 Detected error on SMTP command
10:51:26 184 MSG 57671 Command: Data...
10:51:26 184 MSG 57671 Response: 421 4.0.0 Error: timeout
10:51:26 184 MSG 57671 Deferring message: /root/sunriseEmail/sunDom/wpgate/gwia/defer/sa1133ec.002

We knew that these errors were due to communication issues, but we did whatever we could based on Novell Support Knowledgebase and even User Support Forums. Things remained rotten until we logged a support incident with Novell Technical Support.

The Novell Technical Support's Chat feature was awesome. From the Novell Customer Center, you can access the Chat feature in the Service Request Details page and a product related Technical Support Engineer will assist you.

Since it's a communication issue, the only way to find out the root of the problem is to packet trace the whole email sending process. We installed Ethereal on the SUSE Linux Enterprise Server 10 SP2 which powered the GroupWise system and start capturing packet trace sending emails to those three users domains.

Within a day or two, Novell Technical Support come back with the root cause of the problem and the solution. The suggested solution rocks and emails went through to those users. Apparently it was due to some Path MTU Discovery where the server does not receive the ICMP3-4 from routers that are connected to a link with a smaller MTU. By disabling the Path MTU Discovery on the SLES 10, it resolved the issues.

To Disable Path MTU Discovery
# 'sysctl -w net.ipv4.ip_no_pmtu_disc=1'

To Disable the Path MTU Discovery permanently
Put the line 'net.ipv4.ip_no_pmtu_disc = 1' (without quotes) in /etc/sysctl.conf to keep this setting configured after a server reboot.


The following is the original message from Novell Technical Support explaining the roof of the problem and the suggested solutions :-

I just picked up your Service Request from the unassigned queue and checked the problem description from the customer and the LAN trace called PACKETTRACE from the compressed archive PACKETTRACE.TAR.GZ that is attached to the Service Request.

If you have Ethereal or Wireshark installed, you can open the trace and follow my analyses below:

The trace shows two problems:

1) Path MTU Discovery - Server does not receive ICMP 3-4 (Destination Unreachable / Fagmentation Needed and DF Set) from routers that are connected to a link with a smaller MTU.

A SMTP connection, where the GWIA fails to deliver a mail message to recipient JulianaChooi@kingston.com.my because of this problem is the TCP connection between sockets 192.168.1.254:51064 (GWIA) and 202.188.165.2:25 (mailer daemon at mymf1.kingston.com.my).

You can extract this connection and all ICMP messages from the trace in Wireshark or Ethereal with the following display filter:

(ip.addr==192.168.1.254 && ip.addr==203.106.231.124 && tcp.port==55400 && tcp.port==25) || icmp

In frames #9438, #9446 and # 9447 you can see the initiation of the SMTP connection. In the TCP options of the SYN packets you can see that the TCP at each side negotiated a Maximum Segment Size of 1460 bytes.

The trace was captured at the GWIA host at IP address 192.168.1.254) and the remote SMTP server at IP address 203.106.231.124 seems to be 10 routers away from the GWIA.

Communication between the two TCP ends works well until the TCP at 192.168.1.254 sends a full data segment of 1448 bytes to 203.106.231.124 in frame #9484. The TCP at 203.106.231.124 never ACKnowledges income of this data segment, probably because it never received it. You can see in frame #9483 the last data segment that the TCP at 192.168.1.254 received from the TCP at 203.106.231.124 before the problem occurs. The sequence number of the first byte in this segment is 3246232251 and because it carries 46 bytes of data, the sequence number of the last byte in this segment is 3246232296 and hence the TCP at 192.168.1.254 would return ACKnowledgment number 3246232297 to confirm receipt of this segment.
You can see in frame # 9484 the full data segment that is sent by the TCP at 192.168.1.254. As you can see, the ACKnowledgment number in this segment is 3246232297 to confirm receipt of the segment in frame # 9483, and the sequence number of the first data byte in this segment is 4130583027. The total number of bytes in this segment is 1448 and hence the sequence number of the last byte in this segment would be 4130584474, so the TCP at 203.106.231.124 would return ACKnowledgment number 4130584475 to confirm receipt of this segment. Please note that this is the first fully sized TCP segment that was sent on this connection from the TCP at 192.168.1.254 to the TCP at 203.106.231.124.
In frame # 9485, the TCP at 192.168.1.254 continues transmission with a small segment of only 16 bytes.
Because the TCP at 192.168.1.254 does not receive an ACKnowlegment from the TCP at 192.168.1.254 that it received these two segments, it starts retransmitting the full segment in frames # 9530 and # 9561.
Frame # 9635 shows that the TCP at 203.106.231.124 still did not receive the full TCP segment from 192.168.1.254. It retransmitted its data, because it did not receive ACKnowledgment for it (the ACKnowledgment number is in the full segment from the TCP at 192.168.1.254). Another prove that it did not receive the full segment is that the ACKnowlegment number in the retransmitted TCP segment in frame # 9635 remains 4130583027. The TCP at 203.106.231.124 would have increased the ACKnowledgment number to 4130584475 if it had received the full segment from the TCP at 192.168.1.254.

The Don't Fragment flag in the IP header of the datagram in frame # 9484 is set, to indicate that routers are not supposed to fragment it when they need to forward the IP datagram on to a link with a smaller MTU (Maximum Transmission Unit).
A router should return an ICMP 3-4 message when it drops a datagram that is too big to forward and should be fragmented, but has the Don't Fragment flag enabled.
Because the trace does not show such ICMP message, it is either not sent by a router in the network path from 192.168.1.254 to 203.106.231.124 or it has been blocked by a firewall.

Please make sure that routers in the network path from 192.168.1.254 to 203.106.231.124 will send ICMP 3-4 messages in case they need to forward a datagram where the DF bit is set, while it needs to be fragmented to fit the MTU of the next link in the network path and make sure that firewalls do not block ICMP messages of type 3, code 4.

In case you cannot change router and firewall configuration in your network, then you can disable Path MTU Discovery at the GWIA host (192.168.1.254) per '# sysctl -w net.ipv4.ip_no_pmtu_disc=1'. Please do not forget to put the line 'net.ipv4.ip_no_pmtu_disc = 1' (without quotes) in /etc/sysctl.conf to keep this setting configured after a server reboot.


Kudos to the Novell Technical Support team for a great job to get the problem solved.

Bank Average Fixed Deposit Rates Since Year 1980

This is the average of the fixed deposit rate in Malaysia from the period of 1980 till 2009.

Period (in months)
Average Fixed Deposit Rates 1 3 6 9 12
1980 6.13 6.23 6.54 6.79 7.50
1981 9.46 9.68 9.67 9.73 9.94
1982 8.92 9.75 9.94 10.03 10.48
1983 7.50 8.02 8.29 8.38 8.75
1984 9.17 9.50 9.50 9.53 9.62
1985 8.45 8.81 9.04 9.25 9.29
1986 7.04 7.08 7.17 7.42 7.42
1987 2.56 3.00 3.97 4.31 4.50
1988 2.72 3.29 3.57 3.83 4.24
1989 4.47 4.56 4.77 4.98 5.20
1990 5.55 5.72 6.00 6.01 6.21
1991 6.94 7.11 7.27 7.35 7.48
1992 7.85 7.94 7.97 7.98 8.03
1993 7.01 7.03 6.98 6.96 6.95
1994 4.74 4.89 5.09 5.24 5.46
1995 5.79 5.93 6.14 6.28 6.50
1996 7.02 7.09 7.12 7.14 7.18
1997 7.73 7.78 7.80 7.81 7.83
1998 8.40 8.51 8.54 8.53 8.56
1999 4.10 4.12 4.16 4.21 4.29
2000 3.31 3.36 3.44 3.62 4.06
2001 3.36 3.37 3.40 3.53 4.16
2002 3.20 3.21 3.22 3.31 4.00
2003 3.07 3.07 3.08 3.12 3.80
2004 3.00 3.00 3.00 3.01 3.70
2005 3.00 3.00 3.00 3.01 3.70
2006 3.09 3.15 3.26 3.35 3.74
2007 3.09 3.16 3.31 3.41 3.71
2008 3.07 3.13 3.26 3.33 3.68


This is the monthly breakdown the fixed deposit rate in Malaysia from the period of 1997 till 2009.



Period (in months)
Average Fixed Deposit Rates 1 3 6 9 12
1997 7.16 7.22 7.24 7.24 7.26

7.14 7.22 7.23 7.23 7.25

7.20 7.24 7.24 7.24 7.25

7.20 7.25 7.24 7.25 7.26

7.30 7.30 7.28 7.28 7.30

7.54 7.43 7.37 7.36 7.38

8.05 7.73 7.56 7.52 7.52

7.46 7.54 7.56 7.56 7.56

7.59 7.69 7.74 7.75 7.79

8.39 8.56 8.71 8.74 8.77

8.92 9.08 9.18 9.23 9.26

8.81 9.06 9.21 9.27 9.33
1998 8.86 9.09 9.25 9.30 9.36

9.25 9.46 9.57 9.62 9.67

9.56 9.79 9.84 9.84 9.90

9.65 9.89 9.99 9.97 10.03

9.79 10.00 10.10 10.07 10.14

10.04 10.19 10.21 10.18 10.24

10.14 10.27 10.28 10.24 10.28

9.54 9.50 9.51 9.45 9.46

6.19 6.17 6.13 6.12 6.13

6.09 6.09 6.04 6.01 6.02

5.87 5.88 5.80 5.78 5.79

5.82 5.83 5.76 5.74 5.74
1999 5.72 5.72 5.67 5.66 5.66

5.58 5.59 5.54 5.53 5.54

5.39 5.44 5.42 5.40 5.40

3.99 4.00 4.04 4.05 4.06

3.75 3.75 3.77 3.78 3.80

3.75 3.75 3.76 3.78 3.80

3.75 3.75 3.76 3.78 3.79

3.75 3.75 3.76 3.77 3.79

3.75 3.75 3.76 3.77 3.79

3.24 3.33 3.47 3.67 3.93

3.24 3.33 3.46 3.67 3.93

3.24 3.33 3.47 3.68 3.95
2000 3.23 3.31 3.44 3.65 3.94

3.22 3.29 3.39 3.58 3.94

3.22 3.28 3.37 3.55 3.91

3.21 3.26 3.34 3.52 3.91

3.21 3.26 3.33 3.51 3.91

3.20 3.26 3.33 3.50 3.91

3.20 3.26 3.33 3.51 3.90

3.45 3.49 3.55 3.75 4.25

3.45 3.49 3.55 3.75 4.25

3.45 3.49 3.55 3.74 4.25

3.45 3.48 3.54 3.73 4.25

3.45 3.48 3.50 3.70 4.24
2001 3.44 3.47 3.52 3.69 4.24

3.44 3.47 3.52 3.67 4.24

3.44 3.46 3.50 3.63 4.24

3.44 3.45 3.49 3.62 4.24

3.44 3.45 3.48 3.61 4.24

3.44 3.45 3.48 3.61 4.24

3.44 3.45 3.48 3.61 4.24

3.44 3.45 3.48 3.60 4.24

3.20 3.21 3.23 3.34 4.00

3.20 3.21 3.22 3.35 4.00

3.20 3.21 3.22 3.34 4.00

3.20 3.21 3.22 3.34 4.00
2002 3.20 3.21 3.22 3.34 4.00

3.20 3.21 3.22 3.32 4.00

3.20 3.21 3.22 3.32 4.00

3.20 3.21 3.22 3.32 4.00

3.20 3.21 3.22 3.31 4.00

3.20 3.21 3.22 3.31 4.00

3.20 3.20 3.22 3.31 4.00

3.20 3.20 3.22 3.30 4.00

3.20 3.20 3.22 3.30 4.00

3.20 3.20 3.22 3.30 4.00

3.20 3.20 3.22 3.30 4.00

3.20 3.20 3.21 3.28 4.00
2003 3.20 3.20 3.21 3.28 4.00

3.20 3.20 3.21 3.28 4.00

3.20 3.20 3.21 3.28 4.00

3.20 3.20 3.21 3.28 4.00

3.00 3.00 3.01 3.04 3.69

3.00 3.00 3.01 3.04 3.70

3.00 3.00 3.01 3.04 3.70

3.00 3.00 3.01 3.04 3.70

3.00 3.00 3.01 3.04 3.70

3.00 3.00 3.01 3.04 3.70

3.00 3.00 3.01 3.03 3.70

3.00 3.00 3.01 3.03 3.70
2004 3.00 3.00 3.01 3.03 3.70

3.00 3.00 3.01 3.03 3.70

3.00 3.00 3.00 3.02 3.70

3.00 3.00 3.00 3.02 3.70

3.00 3.00 3.00 3.01 3.70

3.00 3.00 3.00 3.01 3.70

3.00 3.00 3.00 3.01 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70
2005 3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.00 3.00 3.00 3.00 3.70

3.01 3.02 3.04 3.08 3.70
2006 3.00 3.03 3.05 3.09 3.70

3.02 3.04 3.07 3.11 3.70

3.03 3.06 3.11 3.16 3.70

3.06 3.12 3.21 3.31 3.73

3.11 3.17 3.31 3.44 3.76

3.11 3.18 3.32 3.45 3.77

3.12 3.19 3.34 3.48 3.78

3.12 3.19 3.34 3.48 3.77

3.13 3.21 3.36 3.49 3.77

3.13 3.21 3.36 3.49 3.76

3.11 3.20 3.35 3.47 3.75

3.11 3.19 3.34 3.46 3.73
2007 3.08 3.15 3.34 3.45 3.72

3.11 3.19 3.34 3.45 3.71

3.10 3.18 3.34 3.45 3.71

3.10 3.18 3.33 3.43 3.71

3.10 3.18 3.32 3.42 3.71

3.09 3.17 3.32 3.42 3.71

3.08 3.15 3.29 3.38 3.70

3.08 3.15 3.29 3.38 3.70

3.08 3.15 3.29 3.38 3.70

3.08 3.15 3.29 3.38 3.70

3.08 3.15 3.29 3.38 3.70

3.08 3.15 3.29 3.38 3.70
2008 3.08 3.15 3.29 3.38 3.70

3.08 3.14 3.28 3.37 3.70

3.08 3.14 3.28 3.37 3.70

3.08 3.14 3.28 3.37 3.70

3.08 3.14 3.28 3.36 3.70

3.08 3.14 3.28 3.36 3.70

3.08 3.14 3.28 3.36 3.70

3.08 3.14 3.28 3.36 3.70

3.08 3.14 3.28 3.36 3.70

3.08 3.14 3.28 3.36 3.70

3.03 3.06 3.16 3.22 3.60

3.01 3.04 3.11 3.14 3.50
2009 2.54 2.54 2.56 2.57 3.02

2.05 2.07 2.07 2.08 2.55

2.00 2.10 2.10 2.10 2.50

2.00 2.10 2.10 2.10 2.50

2.00 2.10 2.10 2.10 2.50


The highest one year fixed deposit rate is 10.48% in the year 1982. The lowest fixed deposit rate should be year 2009 which is around 2.0% now. May be by knowing this fact, we can make a wiser decision making on our investment strategy.

What is in your mind after knowing that year 2009 fixed deposit rate is the lowest since year 1980 ?

Novell GroupWise 8 Vs Microsoft Exchange Server 2007

Facts about Microsoft Exchange 2007

1: The Infrastructure

First up, the infrastructure: Exchange 2007 requires Active Directory. It requires that all users be in Active Directory before they can be Exchange users. This is unlike GroupWise 8, which requires eDirectory only for management - users do not need to be in eDirectory. (eDirectory can be installed on any SUSE Linux, Windows or NetWare box where GroupWise is running.) Therefore, if you do not have Active Directory fully deployed with all users in it, you will need to build Active Directory. This will require servers, the number of which depends upon the size of your organization. As part of this cost, you will need Windows 2003 servers and a Client Access License (CAL) for each user in Active Directory. Consider this and the costs.


2: x64-bit Hardware

Second, Exchange 2007 requires x64-bit hardware. This is unlike GroupWise, which can run on any x32-bit server and has the same, if not better, performance. Now most hardware in the last few years has x64 ability. But you cannot just install Exchange on your existing servers where file/print and other services are running. You first have to decide, again based upon the size of your organization, just how you will deploy Exchange. You see, with Exchange 2007 there are new Server Roles.

Exchange Server Roles

The server roles are:

1. Client Access role - acts as a proxy for Internet traffic in order to direct mail to the proper mailbox server. It handles Outlook Web Access services and mobility.

2. Mailbox role - acts as the host for user mailboxes, and core services.

3. Hub Transport role - acts as the "air traffic controller" for all internal messages between all server roles, or even between users in the same mailbox database. Message policy is enforced for all internal/external messaging, and all messages flow through this server.

4. Unified Messaging role - acts as the portal to PBX integration for all voice/fax messaging, including voice dial-in functions (only if you purchase the addition Enterprise Licensing for Exchange 2007).

5. Edge Transport role - acts as the border security to the Exchange 2007 system. This server is deployed outside the internal network, possibly in the DMZ. Typically, anti-virus/anti-Spam and links to Exchange Host Filtering are performed by this server. It cannot be deployed on the same server as the other server roles (only if you purchase the addition Enterprise Licensing for Exchange 2007).

The Mailbox server is the one server, similar to a post office in GroupWise 8, that requires special treatment for design. The number and size of databases, as well as storage, processing power and RAM, are important in order to get best performance.

The other servers do require consideration. The Hub transport is a single point of failure in an Exchange 2007 system, so providing redundancy is important. Just so you know, the Hub Transport is like a Routing Domain in GroupWise 7 - something we rarely use, because it's a single point of failure. In Exchange 2007, it's a place where policies can be applied. Users that are online with Outlook can directly access the mailbox server without the Hub Transport. Also, if you are a small organization, all three server roles may run on one server. Consider the cost of the hardware, multiple processors, large amount of RAM, etc., that you will need to support these server roles.


3. Operating System

Third on my list is the operating system. Exchange 2007 requires Windows 2003 R2 Server x64 for EACH server role. GroupWise 7 requires NetWare, or SUSE Linux, or Windows 2000/3 server. By the way, GroupWise 7 ships with all the SUSE Linux you can use for free, if GroupWise is running on it.

There are two versions of Windows 2003 R2 Server: Standard and Enterprise. Standard Edition supports 4-way symmetrical multiprocessing, while Enterprise Edition supports 8-way symmetrical multiprocessing. Standard Edition supports up to 4GB of RAM, while Enterprise supports up to 64GB of RAM. Standard is considered for work group or small organizations, whereas enterprise is for ... well, enterprise environments and applications. Therefore, you will have to purchase the Enterprise Edition of Windows 2003 R2 Server for Mailbox Server Roles in all but small environments. The other server roles can work fine with Standard Edition Windows 2003 R2 Server. But if you want to cluster any server role, Enterprise Edition is a must. Consider the cost of which Windows 2003 R2 Server Edition you will need.


4. Exchange 2007 Server Licenses

OK, let's get to number four on the list, Exchange 2007 Server Licenses. This is where things get interesting. You must purchase a server license for each Windows 2003 R2 Server that will run Exchange. GroupWise 8 licensing allows you to install on any number of servers, to infinity. And to make things more difficult, there are two editions of Exchange 2007 Server: Standard and Enterprise.

The Standard Exchange 2007 server edition is designed for small- to medium-sized organizations, whereas the Exchange 2007 Enterprise server edition is designed for large organizations. Exchange 2007 Standard allows for up to 5 Storage Groups and 5 databases per server, while the Exchange 2007 Enterprise version provides for up to 50 Storage Groups and 50 databases per server. If you have 1000+ users, and you are planning for individual mailboxes to grow to 1GB in size or larger, then Enterprise Edition is a must. Now lest you think that all server roles must be Exchange 2007 Enterprise Edition, they do not have to be. The Mailbox server role again is the first likely candidate, because it houses mailboxes (aka, the databases). But the larger the organization, the more redundancy, and the more likely other server roles will require Enterprise Edition Exchange 2007. Consider the cost of each needed Exchange 2007 Server edition.


5. Exchange 2007 CAL's

Number five - I bet you thought we were done, not by a long shot. Once we have hardware, Active Directory, Windows 2003 servers, CAL licenses for Active Directory access, and Exchange Server Licenses, we still need Exchange 2007 CAL's. Yes, that is correct. Not only do you have to purchase Exchange 2007 server, but you must purchase Exchange 2007 CAL for each user that will be in the Exchange 2007 system. And GroupWise 8? Well, GroupWise 8 just requires you to purchase one license for each user in the GroupWise 8 system and no server licenses - and if you use SUSE Linux, as I stated, there's no operating system server licensing. Consider the cost of each Exchange 2007 Client Access License.


6. Outlook 2007 Client

Sixth, you must purchase the Outlook 2007 client! Get this - if you want the full feature set of Exchange 2007, you must purchase Outlook 2007 client. GroupWise 8 client? Well, it's free - just go to: http://download.novell.com and search for GroupWise 8. You can download the client and use it at home as your POP3/IMAP4 client - anyone can! For those organizations that have purchased or will purchase Office 2007, you get Outlook 2007 bundled with it. Or, you can purchase Outlook 2007 as a stand-alone product. Consider Outlook 2007 costs.


7. Optional Exchange 2007 Enterprise CAL

The seventh item is the Exchange 2007 Enterprise CAL. This is optional and an additional cost that provides for Unified Messaging, Firewall, and Antispam services, to name a few things. If you need this, consider this cost per person as well.


Summary of Requirements

Let's summarize to this point:

1. You need Active Directory fully deployed on its own servers with all users added.

2. You need x64-bit hardware.

3. You need Windows 2003 R2 Server x64 Standard or Enterprise operating systems.

4. You need Exchange 2007 Server Standard and/or Enterprise Edition for each Exchange Server Role.

5. You need Exchange 2007 Client Access License for each user in the Exchange 2007 system. You also need a Client Access License for each user in Active Directory.

6. You need the Outlook 2007 client.

7. (Optional) You might want Exchange 2007 Enterprise CAL for Unified messaging, etc.


Counting the Costs

So how does all this look when you add it up with numbers? Good question - let me do just that. Let's assume you have a 5,000 user environment. Let's further assume you have to build the Exchange 2007 from scratch - fresh - because you do if you are migrating from GroupWise OR from Exchange 5.5/2000/2003!

I will not consider any redundancy or clustering. I also will assume you have a SAN already, and all storage will be on the SAN. Another assumption is pricing. I will provide you with MSRP and prices from CDW. What I will not do is consider special volume discounting on either side of the fence - I'd be here all day! So here are a few tables to give you the picture of what it takes to build a brand new Exchange 2007 5000 user system.

Server FunctionNumber NeededHardware Unit PriceHardware Total Price
Active Directory Server2$8,712$17,424
Exchange Client Access Server1$8,712$8,712
Exchange Hub Transport Server1$8,712$8,712
Exchange Mailbox Server3$14,056$42,168
Total Hardware Price..$77,016

Table 1: Exchange 2007 Hardware Costs


ProductsNumber of Licenses RequiredMSRP Per Unit Cost/Total RequiredCDW Per Unit Cost/Total
1 Exchange 2007 Enterprise Server Edition License5$3,999/$19,995$3,932.99/$19,664.95
1 Exchange Standard CAL User License5000$67/$335,000$69.99/$349,950
1 Outlook 2007 Client License5000$109.95/$549,750$84.99/$424,950
1 Windows 2003 Server R2 Standard (x64) Edition License (+ 5 CAL's, 20 CAL's Total)4$999/$3,996$959.99/$3,839.96
1 Windows 2003 Server R2 Enterprise (x64) Edition License (+ 25 CAL's, 75 CAL's Total)3$3,999/$11,997$3,709.99/$11,129.97
1 Windows Server CAL's License (5000 CAL's needed minus 95 CAL's from server licenses)4905$39.95/$195,954.75$29.99/$147,100.95
Total Price .$1,116,692.70$956,635.83

Table 2: Exchange 2007 Licensing Costs


Big numbers for a new system, I would say. And I am sure many of you wonder if you will be getting a raise in pay if your organization is willing to spend this kind of money to change email platforms. Here are a few things I did not include that must be considered:

  • Administrator training must be paid for in order to support the environment.
  • End user training must be provided to teach users how to use a new interface.
  • There are implementation costs, such as hiring a consultant - or several of them.

Costs of a GroupWise 8 Implementation

So, what does it look like if we are implementing GroupWise 8 instead of Exchange 2007? There are the same assumptions as with Exchange 2007 for a 5000 user GroupWise 8 system, new installation. But wait - I will go one better. Let's look at a new GroupWise 8 system running on Windows 2003 R2 Servers versus running on SUSE Linux Enterprise Server 10.

Server FunctionNumber NeededUnit PriceTotal Price
Primary Domain and One Post Office (eDirectory for Management of GroupWise 8)1$8,363$8,363
Post Office Domain and One Post Office1$8,363$8,363
One Post Office2$8,363$16,726
Gateway Domain and One Internet Access and One WebAccess Gateway1$8,363$8,363
Total Hardware Price..$41,815

Table 3: GroupWise 8 Hardware Costs


ProductsNumber of Licenses RequiredMSRP Per Unit Cost/Total RequiredCDW Per Unit Cost/Total
1 GroupWise 8 Full License5000$143/$715,000$119.99/$599,950
1 SUSE 10 Server License5$0$0
Total Licenses/Price.$715,000$599,950

Table 4: GroupWise 8 on Linux Licensing Costs


ProductsNumber of Licenses RequiredMSRP Per Unit Cost/Total RequiredCDW Per Unit Cost/Total
1 GroupWise 8 Full License5000$143/$715,000$119.99/$599,950
1 Windows 2003 Server R2 Standard Edition License (+ 5 CAL's, 20 CAL's Total)5$999/$4,995$959.99/$4,799.95
Total Licenses/Price.$719,995$604,749.95

Table 5: GroupWise 8 on Windows 2003 Server Licensing Costs

As you can see in either case, on Linux or on Windows 2003, GroupWise 8 is less expensive.

Novell is currently running a Trade up Offer for customers till December 2009 who is using competitive collaboration software such as Microsoft Exchange, IBM Lotus Notes, Tobit David or any Open Linux email solution to trade up for implementing Novell GroupWise 8 at only USD 36 per user.

Check out more information at Novell GroupWise Trade up Offer website.


Migrations

What about migrating from Exchange 5.5 to Exchange 2007? How much does that cost? Answer: More than the above numbers, for sure!

In order to migrate from Exchange 5.5 to Exchange 2007, you must first migrate to Exchange 2003. Yes, that's right. There is no "in-place" upgrade. But that's the same for Exchange 2003 to Exchange 2007 - no in-place upgrade. This is due to the changes in the databases and infrastructure of Exchange 2007. In order to migrate from Exchange 5.5 to Exchange 2003 - your first step to get to Exchange 2007 - you must move all users to Exchange 2003. Yes, that means you need to build an Exchange 2003 system for the interim migration, and it must support your environment while in the interim step. This means more hardware.

Once moved to Exchange 2003, you can then move the users to the Exchange 2007 system, the second step. This process is similar to moving mailboxes from post office to post office in GroupWise. It requires each users account to be moved. The good news is that a 3rd party provider - Quest - has a utility that will aid in the migration, at a cost.

This new utility by Quest will migrate directly from Exchange 5.5 to Exchange 2007. The Exchange Migration Wizard by Quest costs $23.67 per mailbox, according to CDW. So if you had to migrate 5000 mailboxes, it would be an additional $118,350 on top of the new Exchange 2007. Of course, I am sure there is discount pricing. The last cost would be consulting fees to migrate your organization, unless your IT team is skilled in migrations and has the time.

And what if you wanted to migrate from Exchange 5.5/2000/2003 to GroupWise 8? It would cost you nothing extra but the consulting fees, if you hired a consultant. The GroupWise 8 Migration Utility for Exchange is free. Simply build the new GroupWise 8 system and migrate the users. You can run multiple instances of the GroupWise 8 Migration Utility for Exchange in order to increase the migration process. As an example, you could have 10 Migration Utilities set up and running each migrating 500 users mailboxes. You could potentially have the migration done in one long week, depending upon the size of user mailboxes, of course. The GroupWise 8 Migration Utility for Exchange runs on a Windows workstation, so you are not limited to just a few servers for the process.


A Bit of Reading for You

First I thought you would appreciate a recent quote from this 2006 article:
http://www.networkworld.com/news/2006/060106-microsoft-exchange.html

"And Microsoft is likely to have a challenge converting users to Exchange 2007. According to Microsoft officials, nearly a quarter of its users migrated off Exchange 5.5 in the past year and either went to Exchange 2003 or to a competing platform. And those users that stayed with Microsoft likely won't be upgrading in the near future even if they have Software Assurance maintenance contracts that provide access to the Exchange 2007 upgrade.

However, last fall, Microsoft said it still had 16% of its installed base on Exchange 5.5, a group that would be prime candidates for an upgrade but are also being tempted by IBM/Lotus, open-source e-mail vendors and others.

The rest of the Exchange user base is spread across Exchange 2000 and 2003."

This article talks about the organizations not being in a hurry to upgrade to Exchange 2007:
http://www.networkworld.com/news/2007/020307-users-analysts-no-rush-to.html

Exchange Product Information:
http://www.microsoft.com/exchange/evaluation/default.mspx


Summary

As you can see, migrating to Exchange 2007 from Exchange 5.5 or GroupWise is a costly venture. And it will be time-consuming as well, not to mention the loss of end- user productivity as users learn a new client. On top of all of this, a truly respectable corporate officer or leader in an organization must ask himself: "Where is the return on investment?"

Now it's not always about money. Sometimes the migrations are about "resume building" for the CIO or Directory of IT or IT Staff, and sometimes it's about business processes such as a crucial application that can link into an email system. But when making a truly honest business decision, it is never justifiable to migrate from any email platform unless you can show good ROI and strong economies of scale. The fact is, less money can be spent to improve the existing system. So, if you find that "In the Air Tonight" a migration is coming, do gather your facts and figures and make an honest, informed decision.

Which Adsense Format & Color Scheme Will Work Best for You ?

Should I use the 300x250 Adsense Rectangle or the much wider 336x280 for maximizing clicks? What do I select - 4 or 5 ads per Adlink unit ? Will text only ads perform better than text+image ads ? Should I hide the colored border ?

These are some very common questions among web publishers especially those who have just gained admission to the University of Adsense. While the answer is to keep on experimenting, most Adsense experts employ a simple technique called "AB Split Testing" to optimize their Adsense Ads.

The basic idea is to display different Adsense formats at the same location simultaneously but randomly. [This is done using the random() function in Javascript that generates a number between 0 and 1 with equal probability]

google adsense reports

Here's a sample scenario to help you determine what format works best for your site - 300x250 or 338x280 ?

Step 1: Create two custom Adsense Channels - name them as 300x250 and 336x280.

Step 2: Generate the Adsense Javascript code for each of these Adsense formats. Everything will be common in two code snippets except the value of following variables: google_ad_channel, google_ad_width, google_ad_height and google_ad_format.

Step 3: This is an important step, you will merge the two Adsense snippets in such a fashion that each makes an appearance on your web pages nearly 50% of the time. Here's a sample code:

<script type="text/javascript">
var google_ads = Math.random();
if (google_ads < .5){
google_ad_channel = "300x250Channel";google_ad_width = 300;
google_ad_height = 250;google_ad_format = "300x250_as";
} else {
google_ad_channel = "336x280Channel";google_ad_width = 336;
google_ad_height = 280;google_ad_format = "336x280_as";
}
google_ad_client = "pub-xxx";google_ad_type = "text_image";
google_color_border = "FFFFFF";google_color_bg = "FFFFFF";
google_color_link = "0000FF";google_color_text = "000000";
google_color_url = "0000FF";
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
Monitor the performance (CTR, eCPM) of the two Adsense channels for a week or two to know which of the two Ad formats are converting better. [Switch to Advanced reports, select the two Adsense for Content channels and group by both date and channel]

In the next iteration, you may try the same trick with two different color schemes but keeping the Ad format same - just create separate Adsense channels for each color scheme.

If you are displaying Adsense ads on the homepage of blogs or other places where content changes very frequently, it's a good idea to test between Text and Text+Image Ads.

The contextual ads may not be very relevant on blog homepage or archives because of the dynamic content and therefore CPM based Image ads may bring in more revenue.

Show Google Adsense Ads Below Post Title and Post Body

In this tutorial I will explain how to place Adsense Ads below post title in Blogger Blogs with lots of customization tips. You might have noticed that most of the bloggers show Google Adsense ads below title to increase their "Click Through Rate" (CTR) and earnings.

According to Google Adsense help pages " Where to place Adsense Ads ?". Placing Adsense ads below title and above article content can bring high CTR and performance.



How to place Adsense Ads between Blog posts:

By doing this,the Adsense units will be displayed between the blog posts in the homepage, archive pages and permalink (individual post pages).


1. Sign in to your Blogger Dashboard > Click on the Layout link


2. Click on the Edit link in the "Blog Posts' column [look at the below screenshot]

A pop up window opens ...

3. Check the box next to 'Show Ads Between Posts'

Next, Configure the Inline Ads, choose the Format, Colors etc and SAVE THE CHANGES.

That's it! Now your Adsense Ads will show between blog posts.


Showing Adsense Ad only in Post pages :-

1. Sign in to your Blogger Dashboard > Layout > Edit html

Check the box next to 'Expand Widget Templates'

2. Scroll down the window till you see this code

<b:if cond='data:post.includeAd'> <data:adEnd/> <data:adCode/> <data:adStart/> </b:if>


3. Replace that code in the template with the below code

<b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.includeAd'> <data:adEnd/> <data:adCode/> <data:adStart/> </b:if> </b:if>

4. Again, scroll down the template and find out data-post body tag

Copy the following code :-

<b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.includeAd'> <data:adEnd/> <data:adCode/> <data:adStart/> </b:if> </b:if>

If you want Ads to show above the Post Body after the Post Title, paste the code above that tag.




If you want Ads to show below the Post Body, paste the code below that tag.



If you would like to show them at both the top and bottom of your posts you should only show them on the post pages since we are only allowed to display a certain amount on each page so to get them at the bottom and top of your posts.

<b:if cond='data:blog.pageType == "item"'> <b:if cond='data:post.includeAd'> <data:adEnd/> <data:adCode/> <data:adStart/> </b:if> </b:if>


Paste the code above and below the <data:post.body/> tag so it should look something like the following screenshot



Save the template and view a post on your blog you should see Ads at the top and bottom of the Post Body.

Leave you comments if you like the post or if you have any questions doubts.

The Differences between RON92, RON95 and RON97

Filling gasoline into a car.


Despite the change of ministry leadership, the proposed restructuring of fuel grades and pricing will go ahead as scheduled. The new Domestic Trade and Consumer Affairs Minister Datuk Seri Ismail Sabri Yaakob has announced that the price of RON97 fuel will be increased to RM2.00 per liter from the 1st of September 2009 onwards. That is an RM0.20 increase from the current price. We’ve paid RM2 per liter for RON97 before as that was the price during the period of the 18th of November 2008 to the 2nd of December 2008. Also on September 1st, RON95 and Euro 2M diesel are expected to be introduced into the market. RON 95 petrol will be available at all petrol stations nationwide retailing at RM1.75 per litre. This will replace the RON92 petrol, and push RON97 petrol as premium product to RM2 per litre, 20 sen more than the current price. You might have seen numbers like RON97 and RON92 at your neighbourhood petrol station. Fuel with a RON97 rating is more expensive, RM1.92 per liter at time of writing with the lower RON92 rating going for RM1.88. 

Have you ever wondered what they mean? Why is RON97 more expensive than RON92, and can you use RON92 to save on fuel costs? The following will give you an idea what is the differences between RON92, RON95 and RON97 :- Many said that RON92 oil is the older oil, only suitable for older cars or for cars that uses carburetor only. There are also some that said that RON92 oil will make the engine dirty and also said that that RON92 oil is less powerful compared to RON97 and RON99. 

Before you make any false assumptions, let us see what the real meaning of RON is. RON stands for Research Octane Number. Octane number or octane rating refers to the gasoline ability to withstand auto ignition (knocking) inside the engine. Higher octane number refers to higher ability of the oil to fight auto ignition. In other words, it means that RON95 is harder to ignite compared to RON92.Different vehicles are designed to be use with different octane number of oil. Higher octane number oil is basically designed for high performance vehicles such as sport vehicle and racing vehicle. Why is that so? This is to avoid premature ignition of oil inside the engine because of auto ignition, which happens before the spark plug ignite the fuel. This phenomenon is known as knocking. Knocking is not wanted because it reduces the performance of vehicle. The right usage of octane number based on design and adjustment of engine will maximize the performance and effectiveness of the vehicle. Modern vehicles are equipped with knock sensor which enables it to adjust its combustion timing automatically according to the oil octane number to avoid knocking or premature ignition of oil. 

Not all vehicles require high octane number petrol. 

You can check your vehicle fuel requirement inside the guide book of your vehicle or you can simply check the minimum Octane Rating at the back of the fuel lid cover of your vehicle. Most cars can still use RON92. Higher RON number does not means that it is more powerful. It means that it is harder to ignite. It is also cost you more. It is a misunderstanding to think that RON97 fuels produce more power than RON92 fuels, even more so with the fact that in reality a higher RON number means the fuel burns less easily! RON refers to the ability of the fuel to resist knocking and nothing else. By pumping the RON97 into a car which engine only requires the RON92, all you are going to get is an emptier wallet hardly counts for performance gains via weight reduction! 

 If you find that your engine can use RON92 petrol and decide to save a bit of money, do check out if a petrol stations RON92 petrol is leaded or unleaded. All RON97 petrol is unleaded, but some RON92 petrol might be leaded although this could be very very rare today.