// shall I write some keywords here to boost search engine ranking?

Showing posts with label misc. Show all posts
Showing posts with label misc. Show all posts

Sunday, January 06, 2008

Java the new Cobol?

Had come across this article from InfoWorld:
2007's No. 1 most underreported tech story: Java is becoming the new Cobol

As you can expect, this article attract many Java supporter to defence Java. The comments section is more entertaining to read compare to the content.

Most claim that most of the technology (Ruby on Rails, PHP, AJAX) quote by Bill Synder is not comparable to Java. So Java still not replaceable yet.

It is true that most of the technology/language quoted is only focus on particular area (i.e. Ruby, PHP, AJAX for web, Android for mobile, .NET for business), and only .NET is comparable with Java that it is really general purpose.

However IMHO, Java being a general purpose language (and it is actually more than just language, but already a platform) does not means that language like Ruby, PHP can not threat Java.

When development job become more and more specialist, it is not weird that many developers only develop web/mobile in their job. In such scenario, It is not a good idea to tell this developer to develop with Java just because Java is general purpose.

However, I still dont think Java is the new Cobol. Java is popular not only because it is backed by Sun, and some big player like IBM, BEA, etc. But it is due to the open source community.

Log4j, Hibernate, Executors framework, ... All these open source API/framework had enrich Java platform from time to time. And not to mention Spring Framework that offer a different approach to develop Java enterprise application.

For those who like Ruby, Phyton, etc, there are clone in Java such as JRuby,JPhyton.

Java community simply give developer too many choices. And same for IDE, developers simply have too many choice. But sad to be say, I still not yet come across any Java IDE that as good as MS Visual Studio for RAD. If there is one, Java for sure not the new Cobol.

Wednesday, November 15, 2006

Anti Phishing for Dummies

Unlike other Internet crime, phishing do not require cutting edge technology. But to fight phishing, many advance technique had been implement.

Just have a stupid idea on how to fight phishing. Just educate end user to login with dummy username/password/credit card number. If login successful, it is phishing.

This is just a joke that is not funny.

Wednesday, November 01, 2006

Love Letter: Design Pattern Edition

Dear _______,

I am Singleton since the year I born and I never think of changing my State.

However, recently I start to feel I want to change and you are the person who make all these changes in me.

I wish you are more than just a Visitor in my life, and vice versa. So I decide not to hide everything to myself like a Façade. That the reason I write this letter to you.

Although all these time I look like I do not care, but you are actually more than a Flyweight to me. I do not show it out just because I used to be a MVC where View is decouple from Model and Controller.

You might feel it is unsecure to be with someone who used to be MVC and have so many Decorator that hide my true self. You might even feel that this is my Strategy to cheat you.

I unable to provide you any Interpreter to interprete my heart. What I can do is just promise to you that even I am cheating to you, I will try my best to cheat you until end of my life.

I can't give any promise to you because no one know the future. I do not wish to cheat you with any promise that i know is just my own Prototype.

I will try my best to build a Brigde among you and me. Wish you do not setup any Proxy among us.

Looking forward for your reply.

Truly,
Thiam Teck.

(PS: No matter what your reply, I will not change my mind.)

---------------------------------------------------------------
(Inspired by Design Pattern: A Love Story)

Saturday, September 30, 2006

XML-ing because I have XML parser

Just read this aarticle "Just Say No to XML". Agree with some of the points. Nowaday people tend to do everything with XML even when a properties file is more than enough. For example, Log4J confguration file.

Perhaps one of the reason is that Java hav a set of good XML parser, both SAX and DOM. :P

Tags:

Thursday, August 31, 2006

Do we still need to install office suite?

Recently had come across Gliffy.com, a web based diagram drawing tool. Although still in its beta, it is already very impressive.

For now, it is not as good as MS Visio. However, it is much better than drawing diagram with MS Word. It can become a real threat to MS Visio and other diagram drawing tools if the collection of icons can be enriched.

After using Gliffy, I am thinking whether we will still need a Office Suite if we had an Internet connection. Then I go google for other web based office suite and I found this blog entry.

This article on Feb 2006 had list the best of breed web office tools. And as we know, Google had lauch Google Calandar and Google Spreadsheets, and buy Writely (a web based word proccessor). It will not be surprise if Google release a Web Office Suite as what Zoho.com is doing now.

So do we still need to install Office Suite?

Sunday, May 28, 2006

Why no space in username?

Just wonder, why most of the system we found on Internet do not accept an username with space?

It is technical issues? or just convention from email address? or some other reasons?

Wish someone may enlighten me with a good answer and explanation. :D

Tags:

Saturday, May 13, 2006

Jarhoo.com, not FOC any more

"java.lang.NoClassDefFoundError" and "java.lang.ClassNotFoundException" is 2 of the most frustating problem. Especially when you get the java code from somewhere WITHOUT required JAR file included.

I had been using a JAR file search engine called Jarhoo to find out what jar file is missing in my classpath. But recently when i visit again, it was no more a free service. :(

Wonder is there any other similar search engine available on Internet...May be Sun Microsystem or IBM should do something on this. Or it might be Google again.

Monday, May 01, 2006

Firefox - This is Hot

Just some advertisement:



Tags:

Sunday, April 30, 2006

Comment the Code

Just read a nice blog post "The Top Ten Lies of Engineers". Below is one of the top ten lies that i would like to discuss:

"I'll comment the code, so that the next person can understand what I did."
This is a lie of good intentions. Really, the engineer did intend to comment the code but as the schedule slipped, priorities changed. The question put to management became: "Do you want me to comment the code or finish it sooner?" Guess what the answer was. Luckily, the lack of comments usually doesn't matter because the code is so crappy that a total rewrite is necessary in a year.

In order to finish the work before dateline, comment is one of the thing that I will sacrify. Since what I going to deliver is the system, not the comment. I am good in look for excuses.

However, I had found a way of comment my code and yet increase my productivity. This is not a magic or any brand new framework, just depend on a feature of your favourite IDE.

You may had guess it by now, the TODO tag. Some IDE (i.e. Eclipse which I used the most) have support the highlight of text such as TODO, FIXME within your code.

So before I start to dig deep into the code, I will write the skeleton of my program with all this TODO comment. Then I will start to code based on my TODO list. Once that steps is done, I will remove the word TODO, and it will be an ordinary comment now. (In fact, a comment with TODO make no different to compiler, it just make different to certain IDE.)

With this approach of comment, I am able to get a higher level view of the program I going to develop. It can be a good reminder for me about my progress. And when the program is delivered, it is already comment.

Tuesday, April 25, 2006

Seem like Blogger was develop in Java

Since long time ago I am suspecting Blogger is build by Java, or more specific, the Struts framework. (based those URL which sometime end with .do)

Yesterday, when I try to publish something for my another blog, I get an Java exception. The java.net.SocketTimeoutException. Here I attach a screen capture:


However, this just prove that it was develop in Java. Not yet prove that it is Struts.

Tags: ,

Sunday, April 09, 2006

SiteAdvisor acquired by McAfee

I had introduce a Firefox plugin - SiteAdvisor in my blog few week ago: SiteAdvisor - a must have for Firefox. It is really impressive.

So It dont really surprise me when I know that SiteAdvisor was acquired by McAfee.

Now i just have 2 questions in mind:
1) Will this extension remain to be free of charge in future?
3) What will MCAfee competitors such as Norton, Sysmantec, etc do to get similar features of SiteAdvisor included into their coming anti-virus or anti-malware package?

Tuesday, March 07, 2006

RM and RMVB

Recently just curious on the different of RealMedia file that used .rm and .rmvb extension. So I go and google for it. Then found the explanation on Wikipedia: RMVB

In short, the major difference is that .rm is constant bit-rate and .rmvb is variable bit-rate.

Also found that Media Player Classic is more popular than I imagine. You should give it a try, may be you will like it too. :D

Sunday, February 12, 2006

Naming Convention for Open Source Package

In most of the time, java.*, com.*, net.*, org.*, sun.* are the 5 most common top package name used in Java according the naming convention.

For open source API, normally it is org.* with 2 exception: SourceForge.net's net.sf.* and GNU's gnu.*.

Just thinking why not having another convention for developer who would like to code and contirbute open source API but not under any opensource organisation.

I have 2 ideas about the convention:
1) dev.developername.* - this make the package name more unique, but a bit unfair for people who improve the package after its creation.
2) use the license name as top package name, i.e. gpl.*, lgpl.* - this give others a clear idea what license this package is fall, but the posibility of same package name for different package is high.

Both seem like not a good idea....:P

Monday, January 30, 2006

Keep Database Connection Alive

The following is a typical flow of program that process data in database:
1. Open database connection(s).
2. Query records
3. Process records of 1 of the connection
4. Update database
5. Close database connection(s).

Problem will occurs when step 3 take too long time. Then when come to step 4, you will found that database connection open in step 1 already not there due to connection timeout.

There is basically 2 solutions I had found for this. The first one is simple, just make sure the connection is only open before it was needed and close immediately after it was used. So it will be as below:
1. Open database connection(s).
2. Query records.
3. Close database all connection(s) that is not used in step 4.
4. Process records of 1 of the connection.
5. Open database connection(s).
6. Update database.
7. Close database connection(s).

This will work fine if there just few time the database connection will be idle. For example, in solution 1 step 4 the connection will idle, so it can be close and open again once needed. But when scenario of steps 4 happen a lots of time in a single program, solution will take lots of resources for repeatingly open and close connection.

So here come solution 2. It is simple, just let all others connection that suppose to be idle to perform some simple query to ensure these connection do not timeout. You will think, it is troublesome to think of a simple query for each idle connection, because each connection connect to different database. My answer is: just query on database current time.

Hope to hear from you if you have other solutions. :D

Saturday, December 17, 2005

Please do not click Ads above !!!

Recently I just started to try out the Google Adsense both of my blog (visit my another blog here). I found that it is easy for a Blogger user to get an Adsense account (my friend get his account approved with a blog that have only 3 posts).

As you may guess, not much visitor will click on the advertisments. However, I found that there is some intangible benefit for integrate Google Adsense into my blog. I can know my blogs traffic from the Google Adsense.

I really do hope all the visitor to my blog to click the ads above. But I know I should not cheat. So let me stress again "Please do not click Ads above!!!". However, I know that I have no way to stop you if you insist wanna click it.

By the way, if you want to signup for Google Adsense or download Mozzila Firefox, just use the link in the left column of the blog so that I can earn the referral fee :P

Friday, December 09, 2005

SCJP 5.0 : Pass

Today I have pass my SCJP (Sun Certified Java Programmer) exam. This is the first exam I take in this year after graduate last year. (I still rememeber my last exam of the Degree is on 9 Oct 2004)

At the moment I click submit, I am expecting to see my result on the screen immediately. But I dont, what I see was just a message telling me that I will be given the result report after I exit the exam room.

I am a bit panic. It is because based my pass experience, result will only be hide if the candidate fail!!! So the first thing come to my mind is: "I had fail the exam". Then the second thought, "Impossible, I admit I doing quite badly for those Collection and Generic question, but I know how well I performed today. It deserve at least a pass."

After recovered from the standby mode, I walk out from the exam room and walk to the reception. The receptionist is a very efficient on her work. She take the result report to make a photo copy before I see my own result. I try to calm myself down by taking deep breath.....until the result back....

Finally the story end with a happy ending. I passed the exam with 69% (passing point 59%). My RM427.50 for the exam voucher was not waste.

Saturday, September 03, 2005

Wood and Apple, Develepor Edition

There will be always some requirement that could not deliver within given resources. We can't just shout "If you think you can, you can!!" and hope things to be delivered.

When can't get the wood, at least get some apple. And it is what known as "Value Added Service".

Monday, August 29, 2005

Wood and Apple

A Zen master fell that himself is old and is time to decide his successor. So he ask all his student out to chopping for wood in the hill that is opposite the river.

There is no boat along the river. All his students fail to chop any wood because the river is deep and rapid.

The Zen master is quite dissapointing and say nothing. At this moment, one of his student give him an apple and say, "Although I fail to bring back any wood, I bring back some apples from the apple tree beside the river."

Friday, August 19, 2005

My LAMP + Tomcat nearly done

After a long period of trial and error. I have finally setup a LAMP environment with Tomcat as well, I have find some web pages which is quite useful and I will share them out in near future.

Now it is just make all these Apache HTTPD, MySQL, and Tomcat to startup automatically on boot.....

Wednesday, August 17, 2005

Trying on Fedora Core 3

Recently just install Fedora Core 3 into my workstation on a logical partition. I have choose not to install all those developement related packages that bundle with Fedora but install them one by one after Fedore Core 3 installed.

Now, I had setup a JDK 1.5 and MySQL 4.0 on my workstation. With the RPM, everything is so easy. (One limitation is that I need to find out where are the file installed.)

Then I install MySQL Query Browser with tarball. It is easy since just extract the untar it to somewhere will do.

But when come to Apache HTTP Server, I have only tarball and need to build from that. I totally no experience for that. I hope by today I could set it up with a PHP5 as well today.

If everything have a RPM.....