Fabio Entertainment
This is my personal blog, any comment are welcome.


Page Number: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52


New Job Hunter

Hi Fabio Lee

Attached is our client′s brief background. Let me get straight to the point:

Vacancy: Senior Developer (J2ME)
Location: Petaling Jaya
Salary & Benefits: BASE ON YOUR EXPECTATION
Job Type: Full Time, Permanent

Requirements:
i. Career Level: Professional / Sr. Manager
ii. Qualification: Computer Science & Fluent J2ME
iii. Yr(s) Exp: Min 3 year(s) in the development of J2ME application and game
iv. Ambitious & intelligent

This company offers a chance for the cream of the profession an opportunity to thrive and achieve the best of their potential in an area where they can compete and excel.

Please indicate your interest on this opportunity. And by the way, please provide the details as below:

Your Current Salary:
Benefits:
Your Expected Salary:
Notice Period:

Please send me the details as soon as possible.

Thank you & regards
xxx
Search & Selection Team Leader (BPO)
JobStreet.com
Improving Lives Through Better Careers

Wisma JobStreet.com
27, Lorong Medan Tuanku 1 (off Jalan Sultan Ismail)
50300 , Kuala Lumpur , Malaysia
Tel: xxx (DL), H/P: xxx
Fax: xxx
Website:www.jobstreet.com



I just received the above email from JobStreet.com few days ago.

When I first saw, I was thinking whether is JobStreet itself hiring or JobStreet has a team for job hunting.

After reading it few times, I finally decide to group it into the second case which mean that is a "spam" email & the content is quite different from the previous one.

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 18/08/2008 10:37:14 | 0 comment

Update from World Vision

I just received my child sponsorship program annual progress report from World Vision.


My child had grown up. She wants to become a teacher.

If this 1 USD per day really can help her, I will be more then happy to help out.

Lastly, thank you for the "Thank You" message.

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 13/08/2008 22:21:34 | 4 comments

Blueserver Down?

I meet one of my friends at GG Client today & I was told that Blueserver had gone offline since yesterday.

Yesterday when I was playing at GG Client also got mentioned by one of my teammate saying that Blueserver had down since 2 days ago.

I was just been banned recently at Blueserver, so, I didn′t really notice this news until now.

After I double verify by trying to open their website, it prompt me to an empty blog. Well, I guess the server really had gone down.

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 05/08/2008 22:17:31 | 16 comments

Hot Shot (篮球火)

Last week I just watch the 1st episode of this Taiwan drama - Hot Shot (篮球火) actor by Jerry Yan (言承旭), Show Lo (羅志祥) & Chun Wu (吳尊).


After watch the 1st episode, my first impression over this drama was: "Eii, why so similar to Slam Dunk one?"


There is this scene where 元大鷹 (Show Lo) who is the newbie of basketball challenge 東方翔 (Jerry Yan) who is the star basketball player. 東方翔 (Jerry Yan) need to score 10 points to win, but 元大鷹 (Show Lo) only need to score 1 point to win. That is exactly the same story from Slam Dunk where Sakuragi Hanamichi (桜木花道) is challenging Akagi Takenori (赤木剛憲) on the 1st episode.

Overall, this drama having too much wiring to let the actor fly around to dunk, it looks not so real.

Rating: 7.5 out of 10

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 04/08/2008 16:26:46 | 2 comments

Blueserver do BAN ppl

When I owning with Lycanthrope at Blueserver just now, I suddenly saw a message pop out in the game saying that my account been locked. I was thinking: "Ha? Account been locked? What happen?"

I try to re-login after the game, but I was fail. So, I go to their website check & see what happen.


Oh no, I been banned for a 60 days holiday.

Well nvm, I believe rest is to take a more long-term road. Maybe is time for some rest.

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 27/07/2008 00:10:45 | 1 comment

Define Date Regular Expression

My brain had almost dead when I was working on a logic check function that require a Date object & regular expression String as input, a true or false value to indicate whether current date minus the Date object is within the regular expression range as output.

boolean returnResult = false;
Date todayDate = new Date();
Date targetDate = new Date(2008, 2, 10);
String regularExpression = "1y5m15d<t<=2y";

Where:
1) "t" will be replace by "todayDate - targetDate" Date object.
2) "y", "m" & "d" equals to year, month & day.

First of all, I will need to split the process into two:

String[] process = regularExpression.split("[t]");

/**
* Output:
* process[0] = "1y5m15d<";
* process[1] = "<=2y";
*/

Next, I will need to split each process again to separate the operator & duration.

String[] tempOperator, tempDuration;
ArrayList<String> operator = new ArrayList<String>();
ArrayList<String> duration = new ArrayList<String>();
int processLength = process.length;
int tempOperatorLength, tempDurationLength;
for (int i = 0; i < processLength; i++) {
// Add operator
tempOperator = process[i].trim().split("[dmy0-9]");
tempOperatorLength = tempOperator.length;
for (int j = 0; j < tempOperatorLength; j++) {
if ((tempOperator[j] == null) || (tempOperator[j].trim().equals(""))) {
continue;
} else {
tempOperator[j] = tempOperator[j].trim();
if (j == 0) {
// Reverse operator
if (tempOperator[j].equalsIgnoreCase("<")) {
operator.add(">");
} else if (tempOperator[j].equalsIgnoreCase("<=")) {
operator.add(">=");
}
} else {
operator.add(tempOperator[j]);
}
}
}

// Add duration
tempDuration = process[i].trim().split("[^dmy0-9]");
tempDurationLength = tempDuration.length;
for (int j = 0; j < tempDurationLength; j++) {
if ((tempDuration[j] == null) || (tempDuration[j].trim().equals(""))) {
continue;
} else {
duration.add(tempDuration[j].trim());
}
}
}

/**
* Output:
* operator.get(0) = "<";
* operator.get(1) = ">=";
* duration.get(0) = "1y5m15d";
* duration.get(1) = "2y";
*/

Lastly, the final step to perform all the logic checking:

String[] value, tempKey, key;
int keyLength, index, tempKeySize, intValue;
Calendar c = Calendar.getInstance();
char charKey;
int operatorSize = operator.size();
for (int i = 0; i < operatorSize; i++) {
value = duration.get(i).split("[dmy]");
tempKey = duration.get(i).split("[0-9]");

keyLength = value.length;
key = new String[keyLength];

// step: filter the empty array
index = 0;
tempKeySize = tempKey.length;
for (int j = 0; j < tempKeySize; j++) {
if ((tempKey[j] == null) || (tempKey[j].trim().equals(""))) {
continue;
} else {
key[index++] = tempKey[j].trim();
}
}

c.setTime(targetDate);

for (int j = 0; j < keyLength; j++) {
charKey = key[j].charAt(0);
intValue = Integer.parseInt(value[j].trim());
switch (charKey) {
case ′y′:
c.add(Calendar.YEAR, intValue);
break;
case ′m′:
c.add(Calendar.MONTH, intValue);
break;
case ′d′:
c.add(Calendar.DAY_OF_MONTH, intValue);
break;
}
}

if ((operator.get(i).indexOf(′<′) > -1) && (c.getTime().before(todayDate))) {
returnResult = true;
}

if ((operator.get(i).indexOf(′=′) > -1) && (c.getTime().equals(todayDate))) {
returnResult = true;
}

if ((operator.get(i).indexOf(′>′) > -1) && (c.getTime().after(todayDate))) {
returnResult = true;
}

// If any of the operation not true, Then exit from the loop
if (!returnResult) {
break;
}
}

Now you see how troublesome my brain had? Regular expression really don′t play play ~!!!

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 21/07/2008 18:07:07 | 0 comment

Short Cut to Kelana Jaya LRT Station

Today one of my colleagues shows me a short cut from Kelana Jaya small Giant to Kelana Jaya LRT station.


Large Image

Usually I will walk along the (E11) Lebuhraya Damansara - Puchong main road to Kelana Jaya LRT station but who know there is actually a short cut.

If next time LDP having traffic jam, you can drive your car over to try out this short cut too.

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 16/07/2008 22:00:41 | 3 comments

Preventing Spam Without Captcha

When I was working on Comments Subscription feature, I find out that there is actually many spam posts keep hitting my current website.

Luckily all these spam posts didn′t pass my first & only one level security check. So, my database is secure.

But then again, I am worry about what if the spammers successfully pass my first & only one level security check one day. That why I go to implement my second level security check.

Seriously, I don′t like the idea of using captcha code to prevent spam. If it didn′t reach the most serious stage, I won′t want to implement this into my website.

Thanks to guru @ freecodesnippet.com, I manage to implement my second level security check without using captcha code.

<html>
<body>
<form method="post" action="index.asp">
Title : <input type="text" name="title" /><br/>
Text : <input type="text" name="text" /><br/>
Website : <input type="text" name="website" /><br/>
<input type="text" name="url" value="" style="display: none;" />
<input type="submit" value="Submit" />
</form>
</body>
</html>

The above example code is very simple. I create a form with 4 input fields. 3 visible input fields for visitors to key in & 1 invisible input field for filter spam.

If Len(Trim(Request.Form("url"))) <> 0 Then
′ Spam Detected, Don′t Process
End If

As you can see, I set the invisible input field default value as nothing, but when spam hit my website, it actually do return a value according to my testing.

With the testing that I did, I can assume that spammers like to loop through all the input fields & look for some common variable name to put their spam contents. These entire common variable names like "website", "url", "email", ... are their favorite.

Basically, I just need to:
1) Choose a common variable name.
2) Make it invisible.
3) Set the default value to nothing.
4) When detected this variable return any value then don′t process.

Simple & easy way to prevent spam ~!!!

Twit This!Share on FriendFeedTechnorati LinksSave to del.icio.usDigg This!Share on Facebook

posted by Fabio | 15/07/2008 23:11:27 | 2 comments


Page Number: 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 , 32 , 33 , 34 , 35 , 36 , 37 , 38 , 39 , 40 , 41 , 42 , 43 , 44 , 45 , 46 , 47 , 48 , 49 , 50 , 51 , 52


Contact Me

Last Update : 14/07/2008 16:42:52

LOG IN/OUT

THEME




    Loading...






© Copyright 2004-2008 Fabio Entertainment. All Rights Reserved.
This site is optimised for Internet Explorer 6, Firefox 2 and above.