Search This Blog

Google Analytics

Monday, April 30, 2007

Increase the number of simultaneous downloads in Internet Explorer 7

Just in case you don't realize, the maximum number of simultaneous downloads in IE 7. This is the case even before IE 7 days. The fix to this inconvenience has remained the same and applicable to all versions of IE.

Refer to below link for the fix.

Friday, April 27, 2007

<ADV> tag on email subject

I have been noticing this <adv> tag being attached to email subject for the past few weeks from some of the newsletter I subscribed to. After some search on Google, I found the reason - It's a new anti-spam law requirement.

Read More

Monday, April 23, 2007

God Bless

Heard there are 2 RCL employees just passed away one week after the other and both died because of accident in Malaysia.

RCL has lost 2 capable employees.

Tiring Week Ahead

This week is going to be a tiring week for me.
Let's wait and see how many hours of sleep will I be able to enjoy.

Wednesday, April 18, 2007

Sunday, April 15, 2007

Remove Windows Messenger 4.7

I thought I might as well post this on my blog itself so I can search on my own blog instead of search Google!

To uninstall Windows Messenger 4.7 on your system do not delete the programs files directly instead do the below:
  1. Start -> Run

  2. Enter “RunDll32 advpack.dll,LaunchINFSection %windir%\INF\msmsgs.inf,BLC.Remove” into your run box without the speech marks.

  3. Click "Yes" upon seeing below prompt.

Windows Messenger 4.7 is uninstalled.

Google to Acquire DoubleClick

Just another successful acquisition

Learn more about DoubleClick

Thursday, April 12, 2007

J2EE Practices

Taken from the book: More Java Pitfalls

Client Tier

  • Use the new Preference API to store preferences instead of Properties.
  • Take advantage of interfaces when hiding implementation detail.
  • Be wary of not handling exceptions properly. Instead of returning a value from a method (such as false or null), thinks about the cause of your returning these values. If there could be multiple causes, throw an exception.
  • Instead of taking some information from one exception and placing it in a new exception, take advantage of the new JDK 1.4 changes to Throwable and add the original exception to your new exception.
  • Make use of the Java Assertion Facility instead of putting a lot of print statement.
  • When using assertion, follows the following rules:
    • Do use assertions to test postconditions on methods.
    • Do use assertions to test places where you believe control flow should not execute.
    • Do not use assertions to test preconditions on public methods.
    • Do use assertions to test preconditions on helper methods.
    • Do not use assertions that affect the normal operation of the code.
  • Use Xpath expression to search a DOM.
  • Use Apache Ant to facilitate application builds and deployments.
  • Other opensource tools:
    • Use Junit for unit test.
    • Use BugRat to track issues.
    • Use CVS for code repositories.
    • Use Jdepend to generate metric measurement to determine the software quality.
    • Use JavaNCSS to detect noncommented code.
    • Use checkstyle to ensure that previously established coding rules are incorporated into each individual source code components.
    • Use CruiseControl to automate the build process.
  • When deciding whether to create a Singleton class, first ask yourself the following questions:
    • Does there needs to be one global entry point to this class?
    • Should there be only one instance to this class in the VM?

If answer is yes, then use Singleton. If no, don’t use.

  • When using Singleton, make sure to:
    • Use private constructor.
    • Synchronize methods that need to be synchronized.
  • Don’t use Singleton as global variables and never let Singletons to become non-Singleton.

Web Tier

  • It is a good practice to make use of a Web tier framework to implements Web application. While it is possible to implements application using independent servlet and jsp, it will be a maintenance nightmare.
  • Be careful about your use of HttpSession in servlets. Be aware of the collision problem that could await you in regard to naming data objects with putVaue (). Avoid using common names to storing types in HttpSession with the putValue method.
  • Use removeValue instead of invalidate () when removing object specific to the application from HttpSession.
  • When building distributed business systems, keep in mind that transactional data should be handled in a database instead of LDAP which don’t have transactional protections. LDAP should be used to organize and search for relatively static information in an efficient manner, while database systems can accommodate frequent fluctuations in data.
  • Make use of the Java Regular Expressions introduced in Jdk 1.4 for form field validation.
  • Don’t declare instance variables in Servlet as it may cause concurrent issues.

Enterprise Tier

  • A J2EE application does not need to have EJB tier in it. The EJB tier is necessary if:
    • You need to deal with distributed or complex transaction scenarios (multiple systems, phased transactions).
    • Reliability (how well the system responds to something going wrong) is a major concern.
    • When your applications need to be spread over several containers in a transparent way to support things like clustering, load-balancing, and failover.
  • When design network applications:
    • Abstract details from the client.
    • Abstract things in a multi-tired solution.
    • When the network has the potential to be a bottleneck, use the “plan and execute” strategy - it is often better to send one large message with lots of information than to send smaller messages over the network.
  • Use local interface to improve performance of the EJB tier. Use local interface if your Web container and EJB container are in the same process.
  • Be aware of using more than one ResultSet at once. While many JDBC drivers will support the use of multiple concurrent ResultSet objects many will not. Many databases will exceed the number of maximum open cursors. To achieve maximum portability, rethink your design so that you only have one open at a time.
  • Don’t use Entity bean because you need a object persistence mechanism. Consider JDO as it is lightweight, minimizes database transaction implementation, and it supports reuse, particularly with Java components.
  • Don’t spawn thread in EJB.
  • Avoid using file operation in EJB.

Sunday, April 08, 2007

Remove Dual Boot Menu After Uninstalling Windows Vista

I just realized even if you have formatted drive having Windows Vista and making sure boot.ini is correct, Dual Boot Menu just stays there. Windows Vista is using a different boot loader!

To remove boot menu, follow below steps.
  1. Boot your computer in to Windows XP.
  2. Ensure you have the Vista DVD image emulated or in the DVD drive.
  3. Go to “Start” and “Run”. Type in “e:\boot\bootsect.exe /nt52 ALL /force” (without quotes, and replacing e: with the drive letter of your Vista DVD).
  4. Restart the computer, and you will notice the boot selection menu is gone.
  5. Format the partition/drive where you had Vista installed.
  6. Remove two files (Boot.BAK & Bootsect.BAK) on your XP drive’s root folder (C:), these were backup files of your previous bootloader, now no longer useful.
  7. Optional: Restart to ensure it still works.
  8. Use your partition software to merge your partitions together.

Extracted from

My Brinkster Website Reached Its Limit Yet Again!

I got below email from Brinkster few days ago.

Dear Brinkster Member,

This is an automated message generated to inform you that yesterday your site[hongjun] reached its maximum daily data transfer/bandwidth limit of 16.7 MB andwas stopped at or about 3/29/2007 10:35:00 AM(EDT).

Don't worry! All stopped sites restart automatically at midnight, EDT.

With the General (free) Solution, you are allowed a generous 16.7 MB per day of data transfer/bandwidth (500 MB per month). Brinkster defines bandwidth as the overall amount of data (or bytes)transferred.

If you have received this message more than once, you may wish to take steps toprevent your site from using up its bandwidth too quickly. Alternatively, youmay wish to consider upgrading your account to either our Premium X4 or GeneralSE Solution.

The General SE Solution ($3.95 per month, $3.95 setup) offers 2000 MB ofbandwidth per month (68 MB per day), ftp access and access to Premium e-mailsupport via

Friday, April 06, 2007

So so sad

I sent out my personalized farewell email to every single one in IT Development Department.
That was my very last email sent out using my company's mail account before leaving for Hong Kong. In Hong Kong, I tried to login to my mail account but it has been disabled. I am not able to read any replies :'(

Google's SearchMash & Yahoo's Alpha

Google's SearchMash

Yahoo's Alpha

Yahoo's Alpha is so similar to Google's SearchMash.

Anothr Beta

Anothr is a Skype/Gtalk/MSN-based robot which can provides just-in-time alerts for your favorite blog and news feeds.

User can simply input any RSS/Atom feed link to the bot on Skype/Gtalk/MSN to subscribe, then to be notified in the future.

I have tried it myself. I feel Anothr is useful for feeds that don't expect many updates per day. If feeds get updated very frequently, I feel a RSS reader like NetVibes would be more useful.

Send a Fax By Email


Country Code List (Singapore is supported)

Gmail Paper

I still cannot see this feature for me. I guess I need to wait a while.

Google as a Symbol of Excellence*+is+the+google+of+*%22&num=100

Hong Kong Trip

I am back from my Hong Kong Trip (31st Mar - 4th Apr).
It's a bit short because I need to be back to attend my brother's ROM which falls on 5th Apr.

Popular Posts