Sunday, November 30, 2008

Alkisah, III

(Alkisah di Timur Tengah)

Alkisah, Mamat ditugaskan berkerja di Timur Tengah untuk beberapa minggu. Selalu sibuk dengan tugasan nye, hari ini barulah Mamat kesempatan untuk menghubungi isteri nye.  
"... hello Abang, dalam berita cakap cuaca teruk kat sana."
"Aha. Minggu nie bagus sikit cuma dua kali je ribut pasir."
"Oh ya?" 
"Yup, yang pertama tu bertahan sampai 4 hari dan yang kedua adalah sampai 3 hari."

*******

Alkisah, pada satu hari minggu, Mamat dan rakan nye menyewa kenderaan pacuan 4 roda untuk keluar berkemah di padang pasir. Setelah menikmati hidangan malam kambing golek bakar, mereka pun tidor kekenyangan. Beberapa jam kemudian rakan Mamat mengejutkan nye. 

Sambil terlentang berbaring, rakan Mamat berkata "Tengok tu! langit."
Mamat menjawap "Wah cantik nye langit. Beribu-ribu bintang berkelipan. Indah nye alam maya ciptan tuhan yang maha esa. Rasa kecik sangat manusia kalau di bandingkan dengan seluruh alam semesta nie. Kau tahu, pada zaman dahulu bintang-bintang nie lah menjadi petunjuk arah pada pengembara-pengembara di padang pasir." 

"Eh apa yang kau merepek ni Mamat. Kemah kita dah hilang la. Tu yang nampak langit tu"

*******

Alkisah, Mamat sedang menjamu selera sambil mata nye memandang keluar tingkap. Di tengah-tengah pembahagi jalan terlihat kelibat pekerja-pekerja asing sedang tekun berkerja. Mula-mula Mamat melihat seorang pekerja mengali lubang, kemudian datang pula pekerja kedua menimbus balik lubang yang baru digali tadi. Perbuatan ini diulang-ulang hingga ke kepala simpang.

Hairan dengan pekerjan yang dilakukan, Mamat pun menghampiri mudir(penyelia) dan bertanya kenapa seorang  pekerja mengali lubang dan kemudian seorang pekerja lagi menimbuskannye balik. Mudir itu menjelaskan bahawa pekerja yang sepatutnye menanam pokok cuti sakit hari ini.

*******

Alkisah, setelah ditunjuk beberapa kali, Abdulah, pelanggan Mamat di Timur Tengah masih tidak dapat melakukan tugasan yang diberikan. Kecewa dengan kegagalan nye, Abdulah mula bermasam muka. Dia juga mula meninggikan suara. Dia cuba menyalahkan Mamat di atas kegagalan nye. Mamat yang tadinye tenang berasa tidak puas hati diperlakukan begitu tetapi dia tak berapa kesah sangat. 

Di masa Abdulah masih lagi membebel, Mamat teringat kata Kiai Hamzah. Kiai Hamzah berpesan, kalau ada orang tinggikan suara, marah-marah hingga sampai merah mukanye, kamu tepuklah bahunye sambil berkata "Selawatlah keatas nabi". Nescaya ianye akan sejuk dah tenang kembali.

Mamat pun cuba mengkotakan apa yang dipelajari nye dari Kiai Hamzah, dia mengangkat tangan dan lalu menepuk bahu Abdulah tetapi pada masa yg sama jugak Abdulah menoleh ke arah Mamat. 

Pelepuk! tapak tangan Mamat melekat betul-betul di tengah dahi Abdulah.

Thursday, November 27, 2008

Top 10 Failed Patterns

10. Solar-powered flashlights
9. Non-stick glue
8. Waterproof towel
7. Black highlighter pens
6. Double-sided playing cards
5. Inflatable dartboards
4. Silent alarm clock
3. Fireproof matches
2. Battery-powered battery charger 

And No 1, Top 10 Failed Patterns
1. Two in one traffic/fload control 'smart' tunnel

Wednesday, November 26, 2008

Check file status in Perl

In Perl, here is a quick way to check file status.
if (-<para> $file)
where <para> is:
                    -r   File is readable by effective uid/gid.
                    -w   File is writable by effective uid/gid.
                    -x   File is executable by effective uid/gid.
                    -o   File is owned by effective uid.
                    -R   File is readable by real uid/gid.
                    -W   File is writable by real uid/gid.
                    -X   File is executable by real uid/gid.
                    -O   File is owned by real uid.
                    -e   File exists.
                    -z   File has zero size.
                    -s   File has non-zero size (returns size).
                    -f   File is a plain file.
                    -d   File is a directory.
                    -l   File is a symbolic link.
                    -p   File is a named pipe (FIFO).
                    -S   File is a socket.
                    -g   File has setgid bit set.
                    -k   File has sticky bit set.
                    -t   Filehandle is opened to a tty.
                    -T   File is a text file.
                    -B   File is a binary file (opposite of -T).
                    -M   Age of file in days when script started.
                    -A   Same for access time.
                    -C   Same for inode change time.
example 
my $myfile = "index.pl";
if (-e $myfile) { print " Yes File $myfile exists \n";}

So... using above tip how to find out the size of any given file?

Saturday, November 22, 2008

Sesat dalam alih bahasa?

(lost in translation)

Dalam cerita Combat apabila sergeant berkata "Take five
dalam sarikata nye tertulis "Angkat lima"
Dan bila sergeant menjerit "Everybody Duck!
sarikata tu tertulis "Semua Orang Itik!"

Tajuk-tajuk wayang Holywood yang di alih bahasa pulak, 
1. 'Tuan dan Puan Smith' untuk 'Mr & Mrs Smith'
2. 'Keseorangan Di Rumah 3' untuk 'Home Alone 3'
3. 'The Day After Tommorow' diringkaskan menjadi 'Lusa'
3. 'Paycheck' menjadi 'Cek Gaji'
4. Cerita Chuck Norris 'Sidekicks' jadi 'Tendangan Sisi'
Agaknye kalau di alih bahasakan tajuk wayang 'King Kong' sure jadi 'Raja Kong'

Satu lagi, ada tetamu jemputan dalam rancangan bual bicara Oprah berkata "I didn't want to hear about it. Period."
Sarikata di bawah skrin bertulis "Saya tak mahu mendengar tentang itu. Menstruasi."

Di sebuah zoo mini, papan tanda di tepi kandang burung kasawari
"Tolang jangan berikan makanan kepada binatang2. Jika anda ada makanan yang sesuai. Sila serahkan kepada penjaga.
Please do not feed the animals. If you have any suitable food, give it to the guard on duty."
Bunyinye macam guard tu pulak yang nakkan makanan tu.

Di dalam bilik hotel yang namanye di rahsiakan
"Jika inginkan suhu yg sesuai,sila kawalkan sendiri.
If you want just temperature in your room, please control yourself."
Please control yourself - hehehehe... Bunyinye macam suruh jaga diri jangan over

Dan akhir sekali, apabila Mamat dia arahkan untuk menghadiri satu upacara menandatangani MOU di Timur Tengah, bila dia terlihat banner besar di atas pentas tertulis
"We Welcome Everybody to Our Singing Ceremony"

Friday, November 14, 2008

Java Quick tips

1. For better performent in jsp use prepare statement when doing Oracle query.
e.g: PreparedStatement stmt = null;
  stmt = conn.prepareStatement(myQuery);

2. StringTokenizer split the string by white spaces. Use "+" to get back  the string.
e.g: str = new StringTokenizer(rs.getString("CPU")," ");
while (str.hasMoreTokens()) {
wdright = wdright + " " + str.nextToken();}

3. In window command line, if you have problem to run java in current directory load the CLASSPATH into it first.
       e.g: C:\current_dir>set CLASSPATH=.;%CLASSPATH%

So, go any quick Java tips to share?

Thursday, November 13, 2008

AlKisah, II

Alkisah, Mutu seorang kurus keding dengan muka yang murung sedang termenung melihat gelas todi nye. Dah hampir setengah jam dia tak melepaskan matanye dari cawan tersebut. 

Kemudian Ah Fat, seorang pemandu lori yang bertubuh sasa, masuk ke bar tersebut. Bila saja terpandang si Mutu yg kecil itu, dia terus saja ke meja Mutu. Sambil menujukkan bisep nye Ah Fat terus mengambil lalu meminum todi si Mutu.

Melihat kan perbuatan Ah Fat itu, si Mutu mula menangis teresak-esak dah terus meraung kuat. Sambil ketawa Ah Fat pun berkata. 
"Aya... lu jangan sedihlah. Wa talak boleh tengok lelaki memangis lah. wa gulau-gulau saje. Sikalang wa belanja lu 2 gelas todi. Ok mah?

Sambil mengesatkan air hidungnye. Mutu pun berkata.
"Bukan itu macam..., ini hari adalah hari yang paling malang dalam ini saya punya hidup. Tadi pagi aa... saya sudah tidor lebih sikit lah. Jadi sudah lambat kerja pergi. Belakang, saya punya boss aa... sudah marah dan pecat sama saya."
"Belakang, itu balik punya jam, saya punya moto pulak sudah hilanglah. Kena curik. Balai polis jugak pegi buat itu report. Tapi aa.. biasalah polis apa boleh bikin." 
"Kemudian saya balik rumah teksi jugak ada naik. Bila sudah sampai rumah, itu saya punya wallet sudah tinggal dalam itu punya teksi. Ayoo yoo!."
"Dalam rumah pulak saya punya bini banyak bising pasal mau ceraikan saya dan kawin sama Ramasamy, itu banyak ketat pun musuh."
"Saya punya hati bayak panaslah jadi saya in bar jugak mari. Saya banyak pikir mau bunuh dirilah tapi awak sini datang minum saya pun racun."

Mutu menyambung balik raungan nye dah kali ini di sertai bersama dengan Ah Fat.

*******

Alkisah, semenjak kebelakangan ini. Banyak monyet-monyet liar telah dijumpai berkeliarkan di dalam kawasan kampung. Selalu mereka bertindak ganas merosakkan harta benda dah menangangu orang kampung. Sudah puas orang-orang kampung memikirkan cara-cara untuk menangani masaalah ini tapi masi tidak di jumpai penyelesaian yang berkesan. 

Dalam ramai-ramai orang berkumpul itu, dari belakang Tok Sidang nampak Lan mengangkat tanya.
"Ha Lan apa kamu nak cakap?
Lan memberi cadang agar monyet-monyet yang membuat kacau tu pindahkan.
"Nak pindahkan macam mana?" Tanya Tok Sidang.
"Oh itu tak susah Tok." Jawap Lan.
"Kita bagi monyet-monyet itu semua minum tuak. Lepas semua monyet-monyet tu mabuk, kita culik mereka dah hantar ke dalam hutan jauh-jauh. Jadi kampung kita kembali aman damai Tok."

*******

Wednesday, November 12, 2008

Oh! Look, Its regular expression!



Here are some examples of Perl Regular Expression

1. Example of regex to validate IP address
/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/

2. Here for MAC addresses
/^[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}$/

3. Here example for Malaysian IC (NRIC)
/^(\d\d)(0[1-9]|1[012])(0[1-9]|1[0-9]|2[0-9]|3[01])-(0[1-9]|1[/d])-(\d\d\d\d)$/

4. And for email address? If you really want to follow RFC822. Here it is
(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:
\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ 
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\
r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
 \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)
?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t]
)*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[
 \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*
)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t]
)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)
*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?
[ \t]))*"(?:(?:\r\n)?[ \t])*)*:(?:(?:\r\n)?[ \t])*(?:(?:(?:[^()<>@,;:\\".\[\] 
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|
\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>
@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"
(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?
:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[
\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-
\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(
?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)?[ \t])*(?:@(?:[^()<>@,;
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] 
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?(?:[^()<>@,;:\\".\[\] \0
00-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\
.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,
;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?
:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[
 \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,
;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t]
)*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*)*:(?:(?:\r\n)?[ \t])*)?
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:
\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\[
"()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])
*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])
+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\
.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(
?:\r\n)?[ \t])*))*)?;\s*)

Not as easy as you thing right? Of couse you could just write as 
/.+@.+\..+/

So how do your regex for email validation look like? 



Tuesday, November 11, 2008

Alkisah, I

Alkisah, Mamat org Johor yg baru beristerikan org Kedah. Hari raya lepas merupakan kali pertama dia pulang bercuti di rumah mentuanye di Kodiang, Kedah. Bila bangun pagi untuk bersarapan dia pun turunlah ke dapur. Melihat Mamat didapur, mak mentuanye dengan lorat Utara pun berkata
"Mamat, hang pi panggey adik ipaq hang turun menyorok".

Mamat dengan terkebil-kebilnye pun pegi semua ke atas rumah sambil dalam hatinye tanya apa ke halnye pagi-pagi buta dah nak kena menyorok, nak sembunyikan apa? Sambil mengarukkan kepalanye Mamat masuk semula ke bilik dan tidak turun dapur sehingga semua orang tiba.

Malam itu dia berceritakan kemuskilan itu kepada istrinye. Sambik ketawa istrinye berkata menyorok tu lorat Utara bermaksud sarapan.

*******

Alkisah, Mamat yang sedang asik menonton siaran terunda bolak sepak bersama adik iparnye, Lan. Dari dapur Mamat terdengar mak mentuanya bersuara 
"Lan! hang pi kedai sat beli gula".
Kemudian Lan menyahut. 
"Tak mau lah mak. Segan".

Mamat yang mendengarnye rasa pelik. Lan sengan nak gie kedai? Hmmm... apa yang dia malu nye pergi kedai?" 

Malam itu dia berceritakan kemuskilan itu kepada istrinye. sambik ketawa istrinye berkata segan tu lorat Utara bermaksud malas.

*******

Alkisah, Lan adik ipar Mamat tahun ini menduduki peperiksan SPM. Pada ujian percubaan lepas dia menjadi popular sejenak bila kertas jawapan Bahasa Malaysia di tampal di papan kenyataan oleh cikgu Sameon. Salah satu jawapan yang dibulatkan dengan pen merah oleh cikgu Sameon adalah soalan membuat ayat dari perkataan-perkataan yang diberi. Untuk perkataan api-api, ini adalah jawapan Lan
"Tolong! Tolong! Api! Api!" 

*******