19 December 2010

Getting Started on WPF

Assalamulaikum wbt..

After some comments received from my loyal reader, I finally decided to write this and upcoming tutorial in English as some programming terms are far more easy  to digest. I'm fullly aware my English writing skill is not the best, but I'm trying to do the best I can. I'm more than happy as long as you readers can gain some knowledge in here and put them into practical. So, just ignore my grammar mistakes (notice the "s" = many)..haha..After all, sharing is caring rite!

This article is about "Getting started" by showing you the fastest way to gear you up with .Net environment tools and as usual, your first HelloWorld application in WPF. Next article will further explain on structure of .Net Framework including its component such as WPF, WCF, Silverlight, ASP.Net and so on. At the end of this tutorial you will have all your IDE ready for any type of .Net application.

18 December 2010

Android Developer - Getting Started

Assalamulaikum wbt..

Artikel kali ini adalah mengenai panduan ringkas sebelum mula membangunkan aplikasi Android, terutama kepada mereka yang masih baru dalam bidang ini. Artikel lanjut dan informasi terbaru boleh didapati di blog saudara Amrud. Bagi mereka yang pernah membangunkan aplikasi dalam platform Windows Mobile (6.1 atau 6.5), langkah-langkahnya lebih kurang sama.

Untuk pengetahuan mereka yang masih baru dalam bidang aplikasi mobile, pembangunan aplikasi memerlukan sekurang-kurangnya 3 benda, iaitu IDE ( seperti Eclipse, Visual Studio atau Netbeans), Software Developement Kit atau SDK dan terakhir sekali Device Emulator. Device Emulator adalah applikasi "Sandbox" yang bila diklik, OS akan menyediakan persekitaran yang menyerupai device sebenar, sebagai contoh PDA untuk Android or Windows Mobile, termasuk jumlah RAM, peripheral, virtual SMS, MMS and Wifi connection. Ini adalah untuk memudahkan anda debug aplikasi yang anda bangunkan tanpa perlu install pada PDA sebenar.

16 December 2010

Tutorial

Table of Content

Windows Presentation Foundation (WPF)
1) Getting started
2) Coming soon



 Silverlight
-  Coming soon




14 December 2010

CIvic 2011 Official Teaser

Assalamulaikum wbt..

Setelah di tunggu-tunggu sekian lama..ini dia official sketch Civic untuk generasi ke 9 ( xslap ) from Honda.
Setakat pengetahuan aku, Honda plan untuk keluarkan model ni tahun 2010 (tahun ni)..tp telah di postpone disebabkan perubahan EURO NCAP regulation berkenaan pelepasan karbon. Atas sebab ini jugalah Honda Civic Type R sudah tidak dijual di eropah...

Ikut pengalaman, sketch mmg cantek meletop, tp bile kuar mesti hampeh..sebagai contoh ms production Nissan March dulu..So, same2 kite nantikan debut Honda Civic 2011 di Detroit Motorshow Januari tahun depan.

Full sketch after the jump

13 October 2010

Latest updates

Assalamulaikum wbt..

1) Revising short term grant research proposal
2) New proposal for Science Fund research grant
3) Neuroph - Java neural network library (recently discovered, still learn)
4) Programming wise, not doing anything for this and upcoming 1 month perhaps.
5) Research focus: image processing and grid computing (at present, haha).


13 August 2010

Realiti kerja di Intel

Assalamulaikum wbt..

Alhamdulillah bertemu lagi aku ngn Ramadhan Al-Mubarak, bulan y mana solat fardhu nya digandakan pahala sebanyak 70 kali ganda, dan pahala solat sunat nya menyamai solat fardhu.

Sebelum p solat jumaat, aku terjumpa la 1 website mengenai pengalaman (protes kot) ex and current employee of Intel..menarik gak untuk di baca.Sebelum2 nie mmg pnah la jugak dengar tentang pressure kerja

07 August 2010

My Message To Junior

Assalamulaikum wbt..

How hard is going to be for IO operation in C on linux machine?
How hard is going to be for read all file directories and search for meta data tag?
How hard is going to be to inherit multiple control classes for custom control in WinCE?
How hard is going to be to for database retrieval in Silverlight using Isolated Storage?
How hard is going to be to incorporate multiple point sdk availble in Win 7?
How hard is going to be to use ExecuteNonQuery method in C#?
How hard is going to be to have ObjectStream to read and write data in text file?
How hard is going to be to read data stream on UDP by java.net classes?

30 June 2010

Tips Simpan Duit - Versi Aku

Assalamulaikum wbt..

Alhamdulillah, masih lagi kite diberi peluang menikmati pemberian-pemberian Allah swt walau hakikatnya kita masih banyak memungkiri janji-janji kita dengan-Nya.

Post kali ini tiada kaitan langsung dengan software ataupun programming. Just nak share beberapa tips yang aku rasa baik untuk masa depan kita. Sebab utama timbulnya idea untuk post nie adalah kerana tuan tanah pun memang tengah usaha kumpul duit,

22 June 2010

Baracuda - Learn Dynamic Programming Part I

Assalamulaikum wbt..

Post kali nie dedicated utk application y aku tgah wat skg nie y aku namekan Baracuda..Apps nie lanjutan daripada MediaTomyam y aku buat b4 aku blik hari tue..Ade 2 sbb knape aku wat apps nie..1st, utk isi ms lapang dikala aku boring2 xtaw nk wt mende..2nd, utk praktis programming skills utk elakkan aku tlupa n explore teknik2 baru..Kdg2 idea tue bile2 bleh dtg, time tgh mandi la, time tgah men fifa la, time ngah bwak moto..tetiba t'fikir nk wat itu la, ini la..so, stp kli idea2 canggih cmtu dtg, aku bkak lptop n write code..Baracuda nie sbenanye aku develop as a "Housing" utk sume apps2 y aku t'fikir nk wat..yela..xkan stiap kali nk wat bnde bru je kene create projek baru kat compiler ye x..

21 June 2010

Wat Master or Keje

Assalamulaikum wbt..

Alhamdulillah, aku pnjatkan stinggi ksyukuran ats limpah rhmat-Nya, rzeki-Nya dan segala mcam y aku nikmati skg nie..Lama xupdate blog nie..Cuti lame kat umah kan..bese la..Lame x going offline cmni..

Skg aku dh cmeback ke USM, tnah tmpat aku sental degree utk 3 tahun nie..Plan d kpala nk smbung master programme, tp jauh d hati cam nk kj la plak..hmm..Kalu tnye pndapat mk aku, mmg sah2 die nk anak bgsu die nie amik master..bile pk balik, ngn pointer terkumpul aku skg nie dh 3.40 n skill y dh ade, rse2nye cam cukup je nk amik kj gaji Rm 2k..bile dgr kwn2 same batch dh dpt kj, lagi la kuat nafsu nk kj tue dtg..adoyai..bkn nye aku xnk amik kj, tp tue la..ngah konpius sikit..

"KAJIAN AKU"


Stakat y aku dh kaji..kalu kj skg myb bleh ar dpt gaji dlm Rm2k (assume software devloper la)..kalu wat Master, USM bagi dlm Rm1.5K..kalu ikut mata duitan, mmg amik plihan ptama kn..cpat skit cpai dream aku nk bli kete ngn duit sndiri b4 umo 23 tahun..stakat y aku dgr dr kakak aku, gaji programmer ni plig koman pn akn nek smpai Rm3K++ je..nk lagi tinggi, jd consultant la wei (cm kj kakak aku dulu)..emm ntahla..

Bile pk blik wat kali y ntah ke berapa..rse cam lagi secure further study je..Kalu dpt aku mmg niat nk jadi lecturer, pasal aku suke bab2 R&D nih..research+explore bnde2 bru..stakat y aku dh surf2 kat tenet, rmai gak y kate lagi secure kj ngn government kn..btul kot agaknye..kalu ekonomi gawat, xyah rsau kne buang kj..KWSP pn dh ader..stakat nie gaji RA (cm y aku nk apply skg) adlah Rm1.5K, then nek jd Rm1.8k..bile finnish master, leh apply jd RO plak, dpt gaji dlm RM2.1k then nek jd Rm2.3k..tp mkn masa la plak..master je dh 2 tahun, then phd je dh 3-4 tahun..total dh lebih 6 tahun..di saat kwn2 len dh snang lenang mkan gaji 3k-4k, aku still dok kt USM lagi ngn gaji 2 ribu lebih..nk bayar Ptptn lagi, ansuran kete lagi, umah sewa lagi, kumpul duit nk khwin lagi..aiseyman..

Pd y bace post nie msti igt aku mta duitan kn..lantak ar korang..Aku plan umo 23 mest dh ade kete gune duit sndri, then 25 dh tunang, also ngn duit sndiri..To achieve that, aku kne plih kjya y btul2 bleh cope ngn plan aku nih..Utk smpan duit, ofkos fktor utamanye ialah bape gaji y akn aku dpt..dats why ar sblum aku trlanjur amik master nie, bek aku pk msak2 dlu..sempat ker x smpat capai plan aku tue..

"BERBALOI KER X"

Sjak lately nie, slalu gak aku usya tenet sal pngalaman org y masuk academic n R&D field nie..smpat ar jgak kumpul info2 y ader..ade tue aku download ar tangga gaji staff USM nie, mane ntah aku dpt aku pn dh lupe..xphm sgt bnde nie, kalu jd pnsyarah ngn master, da la dlm 2.5k starting.. tp org dlm tenet kate kalu jd pnsyarah ngn PHD leh nek DS 51..da la dlm RM4k gak..xtaw berbaloi or x, prah kepala dlm 6-7 tahun smpai Phd, then dpt gaji lam Rm4k..compare ngn kj kt industry..

Stakat nie, plan dlm palotak aku ialah wat je mster dulu..gaji sikit pn sikit la..y pntg dpt mster..after 2 years, ms umo aku 23 nti..nk try usya jd lecture utk Uni y kcik2 tue, cam Utem ker, Usim ker..then bru try further Phd..2nd choice, wat je trus master, then Phd, tp postpone beli kete, khwin xsure lagi..tp dpt kj jd lecture after 7 years (Phd + master completion) dpt gaji tinggi..

ntah laa..teringin gak nk jd software developer, kat kilang2 nun..huhu





.

16 May 2010

New Project Release- MediaTomyam



Assalamulaikum wbt..

Alhamdulillah, berjaya jgak lepas week y sgt memeningkn utk sumer final year student CS skol nih. Berkat usaha n doa sumer org especially mak aku, FYP aku bjalan dgn cukup baek skali..Aku sndiri pn xsgka ending die akn jadi cmtu..Sbb kalu nk ikutkn, system aku mmg xstabil lagi..combine tech mobile, grid and image processing dlam cross platform..sometimes dpt result, sometimes x..but ms demo, sume nye ok..mmg syukur ar..

"MediaTomyam"


Sperti title post kali nie, aku da la wat 1 apps smntra mengisi masa lapang coz tiket aku blik kmpung lambat lagi..Application tue adalah media player y aku namakan - "MediaTomyam" sempena media player favorite aku, MediaMonkey..Apps nie dibuat dalam ms 3 hari, start from hari Rabu smpai hari Jumaat..Primary language is C# and Xaml, ofkoz sbb gune WPF technology (part of .Net)..other than that, aku gune library TagLib-Sharp utk retrieve idtag metadata from each song played..byk library dh try utk retrieve artist, title and album from lagu, tp library nie seems usable la jgak, easy to use..kat bwah nie ade beberapa skrin shot MediaTomyam nih..



Dari segi GUI design, aku cube follow style thirteen23 utk produk Blu (twitter client ok) dorang..Windowless, and allowtransparency aku set ke true, background pn semi transparent..Wat permulaan nie, aku sediakan drag n drop lagu cam windows media player direct trus ke Now Playing List..then list tue bleh di save dlm bntuk MediaTomyam playlist with file extension *.tomyam (windows media player punye playlist gune extension *.wpl)..

"FUNCTIONAL CONTROL"

Emm boleh dikatekan sume media player function dh siap dah kot..Aku gune WPF mediaelement utk host media object..after lagu dh habis main, apps nie automatic move to next song..Ape y menarik, aku dh siapkan skali features shuffle, so boleh turn on or off shuffle bile nk play lagu..Cara die snang je, generate random number based on system datetime as a pre-seed value, then modulus dgn total song dlm playlist utk maksure numbere generated is within acceptable range..Slain tue, aku dh siapkan gak mute function..cara die, control mediaelement.volume value..tp awas, value die between 0.0 - 1.0, not 1 to 100..so, kalu nk mute, set volume = 0.0 je la..kalu unmute, get current volume slider value then multiply dgn percentage mediaelement.volume..senang kn..em kat bwah nie aku tnjuk kn screen shot media controller y aku ckp kn td


Seperti y korang tgk kat atas nih, start from left ade function utk shuffle, mute/unmute, stop, previous song, seek rewind, play/pause, seek forward, next song and finally volume controller. Kat blah atas sikit tue ade song progress bar in real time..Nk cite sal programming kat sini agak pyah la, tp cukup la kalu aku ckp, sume tue dh siap berfungsi, ready utk dijual je lagi..ekekeke.

Spnjag wat apps nie, aku gune sumer teknik C# for OO programming extensively..Variable pn aku keep less, usercontrol usage n object declaration pn gune exposable initialization..Hope xbyk memory leak..sume nie amat berguna especially nk mksure Apps kite run dgn sgt laju, tanpa lack..n one thing for sure,hasilnya ialah MediaTomyam nie sgt ringan..

"CONSLUSION"


So, for those y nk try bnde nie, sila pastikan laptop dilengkapi dgn atleas windows Vista with .Net Framework 3.5 installed..n ofkos, sila pastikan jugak request dri aku, sbb installer die xkn ade dkt filehippo, download.com or even softpedia.com yerk..Akhir kate, inilah die hasilnya bile aku dh boring tahap gaban selama 3 hari dok kat USM nie xtaw nk wat mende..project seterusnye, aku nk further bnde nie utk play movie plak..xtaw nk integrate ngn codec cmana..xpk lagi..next time la..y pnting, holiday dulu..


Gud nite...


JAGA DIRI, JAGA IMAN









.

28 April 2010

New Updates

Assalamulaikum wbt..

Lame dh x tulis pape kat blog nie..trase rindu lak bile ade isu pnas kat sini cam dulu2..haha..time2 tiap hari da je unknown y komen..xde idea nk tulis pe kat sini..so just bg update perkembangan terbaru je.

Study
and Exam

Wat ms ni, sume result coswork agak memberangsangkn..da yg A n A-..hopefully dpt ar 4th consecutive dean list lgi..Tp exam semalam, embedded programming adalah sgt tidak merangsang minda. Cam bese from dr T. C..expect the unexpected..jwpn aku sgt sengal, soklan last sal programming smpat siap, tp pki pensil cam ckar ayam..adess..hope paper grid computing and management leh backup..kalu ikut analisa and calculation, even dpt 4.0 solid pn pointer CGPA juz naek o.12 jer plig lebih..reason nyer sbb total credit hour dh tepu dh..so, dpt GPA tinggi pn cm xder efek jer..xsmpat la nk reach degree 1st class cmni..trase nyesal lak result 1st sem dlu dpt 2.21 je..

26 March 2010

Ragam Manusia

Assalamulaikum wbt..

Alhamdulillah bersyukur pd Allah swt krana dgn keizinan dri Nya msih dpt lagi aku berjumpa dgn sayyidul ayyam wat sekalian kali nye..Mlm td aku tido kul 1.30 am..tue dh consider sgt lewat sbenarnye bg aku..siyes ngntuk time khutbah td..tp khatib minggu nie mmg mantop..Aku dtg dh azan y kedua berkumandang, so xtaw sape name beliau since usually bilal akn annouce sape khatib b'tugas b4 azan ptama..Knapa mantop? Suara n intonasi die mmg menggugat kekuatan gegendang telinga aku smpai aku xsbar2 nk dgr lagi..siyesly..Slaein dri khutbah Dr Danial ngn Ust Alias Zakaria, ssh nk jmpe khatib y smangat tul cra ckp die n best nk dgr..First half khutbah cam bese, ckp malay, sal kpentingan Islam dimartabatkn dlm segala segi utk menyatukan msyarakat. Msuk 2nd half tukar english la plak..aiseyman..Honestly, aku lelap trus ms tue..hehe

"MASJID AL-MALEK KHALID"


Kt Usm nie, aku ckup kagum ngn Ust Zamrus..nk tw knape? Slaen jwatan beliau sbg Imam kt Masjid Al Malek Khalid nih (masjid usm)..Die da 1 anugerah y sgt aku kagum iaitu suara die bile menjadi Imam..Pergh..Aku bkn la bdak alim sgt..jauh lagi PMI..Sori ar kalu nk g mane2 nk pki kopiah..solat pn kdg2 tlambat la, tlajak laa..tp ape y pasti..bile solat jmaah ngn Ust Zamrus jd imam, rse cam da 1 feeling y ssh aku nk define kt sini..Bile lepas je takbir ptama, rse cam nk cpat2 je bce doa iftitah, sbb nye xnak tlepas dgr sore die bace Al-Fatihah..Every byte tue mmg nk sumbat je dlm buffer kpala otak aku ni..ptt kne expand sikit maximum transmission unit (MTU) kt sini..mmg syok ar..then ms die nk bce surah len, mmg xsbar2 nk tunggu..almaklum la, kn sunat imam lmbat kn sikit bacaan surah after Fatihah tue..

"TAZKIRAH"

Teringat aku kt 1 kisah nie, antara sorang ayah dgn si anak die..nk diceritakan, anak die nie mmg terjal thap lahabau laknat, sumer kj2 jahat nie mmg associate dgn die..Ayah smpai pening xtaw nk watpe lgi..Then ayah die terpikir 1 cara..Die wat 1 papan lebar n tmpal kt dinding lam umah (ala2 whiteboard ar)..so stiap kali anak die wat bengap, wat slah or wat hal y menyakitkan ht umat, si ayah nie akn ketukkan 1 paku kat papan tersebut..Lama kelamaan, si anak nie tgk papan tue dh nak penuh dh dgn paku2..n then die stat la wat baek..Si ayah ni plak, stp 1 kbaekan y anak die wat, die akn cabut 1 paku..Ape y si anak ni ksalkan, even die wat baek n byk paku dh dicabut pun, bekas kene paku kt papan tue still ade lagi..moral of da story? Sama2 kite fikirkan, sbb berfikir tue baik utk mengurangkan risiko kene alzheimer..layan

"CONCLUSION"

Xlama lgi dh nk study week..kwn aku kt UIA dh stat exam dh pun..time2 cmni la lecturer rmi y nk wat test..final projek xsiap lagi nih..exam plak kne sit 3 paper..huhu..bile nk start stadi pn xtaw..So, stadi ar wei..





.

21 March 2010

Tengah berfikir..

Assalamulaikum wbt..




Click to enlarge


Gambar atas nie adalah workflow utk socket y aku prepare utk grid computing..pening mmg pening..jadi mmg jd..cume aku xsure workable or x bile combine dgn part Acad..hmm..

Sperti y ditunjukkan pd gambarajah di atas, aku write based on basic socket for client server. 3 hari gak berfikir smbil tgk CSI Las Vegas nih..Nseb bek la aku amik CST234 dulu, network programming.Kalu x, menjajah jgak nk tnye uncle googlerudin..

Aku rse cm complicated nk explain..cume pe y bleh di explain adalah sumer y kt atas tuh run on cross platform (windows + linux) and y pling penting, stiap server bleh jd client n vice versa..Alternating each other whenever needed.



i'm still thinking...








.

18 March 2010

FYP Progress

Assalamulaikum wbt..

Alhamdulillah, skg nie msih lgi da kekuatan utk berfikir, consume knowledge atas keizinan Allah swt..Dipendekkan cite, aku xsure projek aku nie nk ke mana..Wat ms nie, saat nie, pkataan y seswai utk projek nie adalah "impossible" to me..Still stp hri kne keep thinking nk figure out cmana nk "possible"kn bnde nie..Bese ar, bnde nie sgt bru bg aku..name pn bdak network terjun lam field AI n grid computing..

"INSPORA - IN DETAILS"



Click to enlarge

Kat atas nie adalah main system framework utk projek aku..Main purpose bnde nie adalah utk membolehkan orag rmai dptkan info sal bunga dgn secepat y mungkin..igt tue, "secepat y mungkin"..Which means, this project should implement all necessary method to make it run faster and efficient, xksah ar processing algorithm ker, memory leak management ker..Aku explain ar sikit supaya korang senang nk phm k..

"1 - USER INPUT"

Utk system nie, ade dua main input iaitu mobile device or website. User bleh upload gambar bunga either melalui website (conventional way) or send directly from mobile thru MMS ke system..Utk website, team aku gune Silverlight 3 technology utk interface visualization (XAML), all animation n language C# utk sumer event handling..Silverlight nie slah satu component dlm .Net Framework (latest version 4.0) y specialize utk high user interface experience. Ape y best nye, Silverlight nie ade full integration with Asp.net..mksudnye, let say ar certain function xleh wat dlm Silverlight, kite bleh invoke Asp.net punyer function as a delegate function..

Next, utk integration between Silverlight page ngn Web Server, aku gune WCF utk manage data connection..WCF nie integated web service y operate based on SOA (service oriented architecture)..snang gune nie sbb programmer cm kite xperlu nk pk kn sal WSDL, UDDI, Object Serialization n etc since everything WCF dh handle..data serialization done by enumerable data collection.Tue part web, utk receive MMS, kne ader GSM Modem spya bleh receive image file from network provider..GSM modem nie lebih kurang cm broadband y kite bese gune, cume beza nye die ade antena kecik cam access point..Once user send MMS ker system, akan ade "daemon" apps y akn retrive image from GSM modem nie and transfer tue web server..So, for now web server dh ade flower image y die dpt either dri GSM Modem (MMS) or Silverlight (manual upload)..

"2 - WEB SERVER + GRID MANAGER"


Next, web server n grid manager actualy reside on two separate machines..One on windows n linux on the other..Utk communication n data transmission between 2 machine nie aku gune socket programming dgn UDP protocol, since aku assume both are on dedicated line n no service lookup is needed..just one-to-one mapping..Those y interested nk tw pe die socket programmng nie leh rujuk kat entry y lepas2 yer..Once web server dh dpt image tue, cam bese, path file akn di store lam MySql database, n image file dlm file server..Bleh je nk stor image dlm database gune format BLOB, tp nti nk load image akn jd lmbat..Then path file tue akn di pass as a forward request to Grid Manager..Kat sini, ngn bantuan Globus middleware and main language Java, any available image processing engine bleh di pick on round robin basis..Grid computing mmg pnting kat sini..Xleh nk citer byk sbb aku pn still ngah develop part nie..Examiner aku suggest gune ping method, kire machine y reply plig cepat, machine tu y akn di pick..

"3 - IMAGE PROCESSING"

Dlm projek Inspora nie, ade 2 part y plig pnting iaitu cross platform communication n image processing..After receive path file image td, ngn bantuan Matlab, system akn retrive blik image from file server, and go thru 1st phase which is image enhancement. Reason being is image from user bleh dtg ngn mcm2 format, ade 2, 3 or 8 megapixel, ade y jpeg, bitmap or png, ade y blur n low contrast..mcm2 lagi..After that, 2nd phase which is image recognition will take over..Bermula ngn binarization, elimination, then edge detection utk define degree of circularity or shape, n dominant color determination..process nie melibatkan bbrapa feature extraction algorithm y agk pnjag lebar kalu nk explain kt sini..so, xyah la explain erk..Data2 y dh di extract tu akn dicompare ngn system punye neural network based on back propagation algorithm..berkenaan ngn bnde nie, aku srahkan kat acad ar (team mate) sbb die majoring in AI..hehe..

"4 - FORWARD RESULT"

After dh dpt result n dh tw bunga tue bunga ape, retrieve reference id from database, pass back to web server. Based on id tue, web server akn retrieve necessary info n display result kat user (in case of Silverlight) or send to user using SMS via SMS gateway (in case of MMS)..SMS gateway nie plak actually 1 "daemon" apps y connect ngn external dummy gateway

"CURRENT PROGRESS"

Click to enlarge

Progress skg ? leh rujuk pic kat atas tu..mmg byk lagi y aku xwat..xtaw bile nk siap nie..bnde nie ssh nk wat sbb name pn projek bdak master, level cm kite nie ssh gak ar nk prah otak fikirkan kn bnde y kite xpnah blaja..Dlm project ni, aku responsible utk interprocess and cross platform communication on mobile n distributed grid computing, and team mate aku, Acad plak responsible utk image processing n neural network algorithm..exploration takes time kn..sabar je laa.

"SOME SCREENSHOT"

Kalu korang prasan ar, projek aku nie bleh kate 87% main programming kat background system..xder ar interface sgt pun..Projek Inspora nie da 1 interface jer iaitu from Silverlight website..So, aku tnjuk ar sikit2 shot ya ader..hak cipta terpelihara ok..watch out..

Main front page..Konsep die kt sini, besenye org taip keyword kat google utk cri image, but skg ktorang reverse, upload image utk cri keyword n explaination.


Sign up page..Main theme web site nie kaler kuning + grey..logo kaler hjau tu aku pick je mane2..


Front page after sign in..data xder lagi, sbb mlas nk goreng info..nk display jer pun.


Page utk display all image uploaded by user..sumer gmbar same sbb gune sample pic y sme.


Flower description..Once again, data kosong sbb mlas nk goreng info..


Page utk list all or favorite article..kosong gak sbb info n karangan len mlas nk isi..y ptg programming sumer siap..






.

14 March 2010

Ape y aku rse



Assalamulaikum wbt..

Hri ni hari ahad, 14 Mac..tahun 2010..umo aku taun nie dh nk masuk 21 dh..Taun nie gak aku scra official nye dpt segulung ijazah BSc. Computer Science majoring in Network Computing with CCNA level 2..Bln 8 nie insyaAllah konvo n after that, b'mula la journey aku m'hadapi dunia luar y serba xadil n mencabar ni.

"PERANCANGAN MASA DEPAN"


Hopefully aku bleh continue master kat Usm nie..After grad, aku nk gune duit hdiah dri Maxis y 5000 tue utk cri motor baru..life pasni dh bkn lagi as a student, so kalu da motor tue mmg agak menyenangkan ar..Aku hrap jgak bleh finnish my master ms umur aku 23 taun, iaitu 2012/2013 nnti..After 23, bru pk nk cri kerete sebijik..Selepas tu, kalu ade pluang or ade y sudi bg peluang, hope bleh continue Phd n finnish that before umo aku 28 or 29..Xtaw bile nk khwin..kalu ade y sudi, n dh dtentukan Allah, mmg xleh elak ar kn..For now, aku nk build up my life first..Duit b'belas ribu kat ASB ngn bank, tp xtaw nk wtpe..Mak pesan, nnti after grad bleh beli kereta y elok trus..Tp aku pk2 blik, beli motor je la kot dulu..Berjimat amalan mulia..After 23 mesti dh ade kreta, after 25 msti dh tunang..dgn sape? aku pn xtaw lagi.

Bile kenang blik pjlanan hdup nie, cm kejap jer..hdup dpn laptop stp hari..then dh nk grad dh upe nye..Mcm2 blaku dlm 3 tahun nie..Xleh nk byg bile after grad, sumer kwn2 bwk haluan msing2..da y kj, da y menganggur, da y wat mster, da y khwn..msti sedih..Sumer org da prasaan msig2, tp aku sure, sumer org akn rse sedih..Perpisahan tue 1 permulaan kn..

"APE YANG AKU RASE"


Hdup sbg programmer nie xlah best sgt pn sbenanye..After all, xder bnde y best pn kt dunia nie..melainkan di syurga nnti..kn?..Sumer makhluk Allah bernama manusia y hidup kt dunia nie diciptakan unik antara 1 sma len..Everybody have their own feeling, wif range of differences on how people perceive things in life..kite lahir kt dunia nie sndirian, cmtu la jgak bile kite menuju ke barzakh bertemu Allah nnti pn sndirian..Pertemuan kite sesama manusia atas muka bumi nie pn atas ketentuan Allah, begitu jgak la dgn perpisahan..Tp kite sering terlupa, y kite ditemani oleh Raqib n Atit y ptuh menulis sgala kebaikan n kemungkaran y kite dh lakukan spnjang hidup kite bergelar khalifah bumi Allah nie..Aku xtaw brapa byk bekalan aku ke akhirat nnti..ntah ckup ntah x..ape y aku psti, aku byk wat dosa pd Allah..Spt sabda Nabi kite y mafhumnye - "Beribadah lah kamu spt kamu akn mati pd keesokkan hari, dan bekerjalah kamu spt kamu akn hdup slamanya"..


"SOAL CINTA"


Anak2 muda cm kite nie mmg xlari dri cinta duniawi..bohong lah kalu seumur hdup kite xpenah t'tarik dgn some1 from opposite gender..termasuk la aku..sjak kite mula blaja membaca, smpai la kite tw wat kalkulus..sejak kite tgk ayah nek motor, smpai la kite dh bleh nek motor sndiri..Sometimes, kite t'nmpak some1 y cam menarik..lame2 kite admire die..then msing2 bwak haluan sndri..normal kehidupan manusia kn..Stp pertemuan tue bermula dgn perpisahan..Rmai gak kwn2 aku y dh khwin n dh da famili sndiri..Bile umur kite mkin meningkat, rse tggjwab pn mkin bertambah..n sbg manusia bergelar lelaki, aku sure org2 cam aku pn dh pk ms depan..agak2 sape la aku erk after 10 years from now ?..Soal cinta ?..xtaw lagi..kdg kite tleka dgn ilusi dunia nie, smpai kite t'lupa akan cinta lagi hakiki..Bile kite sedih, kite hrapkan some1 tenang kn kite, tp kite tlupe y stp saat Dia selalu temankan kite..Busuk sgt ke ht kite, smpai Dia y selalu mendampingi kite pn kite wat x endah?..Soal jodoh nie, kalu ade tue ade lah kn..kalu xder tue nk wt cmane ye x..Allah y tentukan ape y t'baek buat kite, krn stp nafas y kite miliki nie xkan ade tanpa keizinan Dia..

"GOOD LUCK GUYS"



"MY FAMILY BERTAMBAH LAGI"


InsyaAllah, kalu xder aral melintang 10 April nie akn ade kenduri kt umah aku di Segamat, Johor..Kakak aku, Siti Maisarah y dh ssh pyah kj 2 tahun kumpul duit as a engineer kt Kerteh akhirnye akn meneruskan hidup sbg sorang isteri pada Khusyairi y juga eng. Petronas but in KLCC..Stakat ape y aku tw, dorang knal sjak dri UTP lagi..and at the mean time, one of my uncle, Raja Nasron from kerabat aku kat Singapura pn akn b'nikah dgn suri hdup die y baru, Sophia Ahmad pd mlm hri y sama..ape y bes nye, dorang kenal melalui YM..hehe..Welcome to my family..haha..mkin lame mkin bsar la plak family aku nie..

So, kat bwah nie sj nk show org baru dlm my family..

Kak Sophia Ahmad..Bkal makcik aku..

Ape y menariknye, bkal makcik aku nie ade twins sperti gmbar di atas..n twin die dh khwin dlu


This is my sis..Maisarah







.

11 March 2010

My FYP

Assalamulaikum wbt..

Alhamdulillah, setelah lame xmenulis, kali nie msih lagi aku diberi peluang utk share something n buah fikiran aku pd korang sumer.

"Final Year Project"


Projek aku ?? Don't ask k..rase mcm nk bling tong najis je kt bdak master y proposed tajuk nie..Bangau btul ar..Tjuk project aku - "Mobile Grid-based Flower Recognition" a.k.a. Inspora. Project nie sbenarnye adalah project proposal bdak master..Cam bese, postgrads do the research things n we do the implementation part.But, unfortunately, bdak master tue give up middle way n me n acad end up doing this bangau things ourself. From scratch till ends.The problem is, project nie sgt2 ar susah petala ketujuh..

"Whats Are The Components"


Based on title project tue je dh jelas dan nyata ade 3 main part iaitu mobile, grid n flower recognition..For now, aku handle part grid n acad handle part image processing..Mission die simple jer, user take photo gune handset, send to system thru MMS, system pass the request to available grid engine, then do the image processing, get the result, retrive aditional info n pass back the result to user thru SMS..simple rite?? Bangau..Simple pe bende nye..Honestly, project nie ckup menguji minda aku y xseberapa pndai nie..Kenapa?? Aku bleh je wat SMS gateway, tp MMS?? Aku bleh je wat socket programming, tp grid ??..

"Conclusion"

Ape pn, aku rse aku xletak kot code programming y aku wt kt sini..Sbbnye, 1st, rmai org xtaw nk read code (bce pn xreti ker), 2nd, aku xtaw korang phm or x code tue nnti, 3rd, "meggi aku sudah kembang"..Rse mmg cm nk give up..tp, i take this as a challenge to myself..The thing is, dlm dunia programming nie, "nothing is unexpected, nothing impossible"..precondition always followed wif postconditon, action wif result..








.



.

02 March 2010

IP Multimedia Subsystem

Assalamulaikum wbt..

Setinggi2 Alhamdulillah kite pnjatkn atas sgala nikmat y Allah berikan pd kite. Sbg mnusia, kite xlari drpd melakukan kesilapan dan kemungkaran, tp sering kali kite t'lupe bhawa Allah itu lebih menyayangi dri kite lebih dri ape y kite dpt gmbarkn.

"IMS"

After short chatting with my frenz, Alfin Syafalni, aku t'trik sal 1 teknology y still dlm development nie, IP Multimedia Subsystem or IMS..Aku xbrape nk digg up bnde nie, tp roughly I know that this technology can change how we behave for next 20 years and beyond..Briefly, everyone know the current issue of IPv4 addresses rite. Currently there are 3 solution to overcame the shortage of IP addresses, 2 of them have been implemented which are Classless Interdomain Routing (CIDR) n the use of Private IP addresses (internal autonomous IP)..The 3rd solution is the use of IPv6, which consist of 6 octets with hexadecimal number as its format representation. Dianggarkan, if IPv6 dpt digunakan, each human being kat muka bumi ni will have more than 5000 IP address associate with them..Dgn kate laen, stiap device y aku ade bleh receive IP address..Xkire la tv, peti sejuk, air cond, kereta, motor n etc..So whats the big deal aniway ??..Remember, if that particular device, machine or tool have its own IP address, that means it can transmit, receive and communicate with other devices as well..

"LEARN BY EXAMPLE"

Ok cam bese, aku bg example mudah..Cuba byg kn korang tgh kj penat2 kat office, n laptop korang tgh play lagu "Smell like teen spirit" from Nirvana..Then tpat kul 5 pm korang blik nek kete. Msuk je dlm kete, audio system kete akn sync dgn laptop td n sambung play lagu Nirvana, n at the same time, air cond kat rumah akn start sync, auto start air cond supaya bile korang msuk je umah, umah dh sejuk dh. Once korang msuk je pintu umah, system audio dlm kete akn stop playing music, but radio dlm rumah akn smbung, tv akn on channel favorite korang..The main point here is, everything is synchronise with you, n you will synchronize with everything..Another example, penah tgk filem Iron Man x?? alaa y Tony Stark tue..xtaw la korang perasan or x, ms die design body ironman tue, die just gune finger gesture je utk pindah kn file from 1 computer to other computer, no need to use USB thumb drive anymore..So, how is it possible?? Nothing impossible in this world, except y dh ditentukan oleh Allah swt..Aku rse cm nk explain kat sini, tp sure korang xphm..Silap2 da y kate aku giler.

Aper pun, dunia computer nie luas, rite now Intel in collaboration with BMW, nk turn kete y bese kite nmpak skg, as a computer (perhaps like netbook + car)..



So, are we ready???









.

28 February 2010

Cerita hati

Assalamulaikum wbt..

Alhamdulillah, di pg y hening ni aku bleh ar gagahkn dri menulis blog berkat keizinan dri Allah s.w.t. After struggling plus few excitement but typical improvement on my inSpora Project, i finally decided to have a time with my self..Most of the time, being normal person is tougher than debugging codes.

Minggu depan dh masuk bulan 3, terigt plak kat detik htam dlm fmili aku bile mana umah aku t'bkar akibat perbuatan abg aku sndri..tido berselimutkan langit berlantaikan bumi..pnjag citernye. Aku rse kalu buat cerekarama nie konfem sumer org ngis xhenti..Aku kagum dgn mak n abah aku..Dorang mmpu hdapi tgapan org luar, ckap2 jiran n byk ar lgi y xmmpu aku nk hdapi sndri..Teringat lgi ms aku jinjing report kebakaran Bomba dri kedai ke kedai mintak simpati org, dgn baju y aku pki pn sbb org bg sdekah..Setiap kali aku trun ke KL n mkn kt kedai2 mamak, terasa sayu, nk menitis air mata bile nmpak org2 dtg mntak sdekah, jual buku2 agama. Teringt plak aku pnah lalui sumer tue dlu..Sumer org xnk hulur.Da y sombong, da y bek hti. Sumer org mst pk - "Ape la bdak ni mntak2 sedekah xtentu psal, mk bapak xreti jg ker"..Org igt kite nk ker p tebalkn muka mntak2 nie.Kalu bleh mmg kite xnk, tp itu je cra y ader utk teruskan hdup. Nk hrapkn bantuan Jbtn Kbajikan M'kat, byk noo krenah, tunggu xdpt2 smpai org tu dh meninggal pn xmsuk2 lagi duit bantuan. Nk mntak bntuan Umno, kate dh msuk, tp ntah, xtaw msuk kat poket sape..

Dlu ms kcik kat skolah rendah, aku tkut nk mndi pg, sbb air kolah sejuk sgt. Umah kmpung mane ade water heater..Mak aku bkar arang sbuh2 tue, then celup dlm kolah bg air die hangat..Then bru aku mndi..Ms tue mmg pyah, sume duit hsil kj mk abah gune utk sapot adik bradik aku len kat U..Mk abah n aku kt rumah xder bnde nk mkan..Aku igt lg da skali tue ak tgh cedok nsi dri priuk, tetiba nsi y kt snduk tu tertumpah ke lantai..Lantai umah kmpung ni phm2 la, bkn ade tile cm umah korang, ktor la kn.Mk aku mrah giler, sbb kat umah dh xder beras nk msak..xder ape nk mkn, jd aku pn amik blik nsi y jatuh tue msuk lam pinggan aku..Giler sdih, ms tue aku xtw pape lgi, y aku tw juz ngis jer la..Dlu ms kcik, aku amik upah racun lalang kt kebun org..dpt la gak duit sikit..leh wat bli buku skolah...Bnde y plig igt ms tu adelah aku pnah kne kjar ngn lmbu jntan ms kat kebun..Giler laju..Y lg best, 1st time aku tgk lembu bleh lompat pagar kawat duri y lgi tinggi dri tinggi aku ms tue..pergh...ssh nk jmpe..Alhmdllh, rzki utk mk abah aku, aku bjya dpt lompat dlm PTS n 5A dlm UPSR wpun dlm kdaan hdup y sgt mndesak.

Tahun tue 2002, teringt plak ms tue tgh hot World Cup kat Jermen..Kwn2 sonok cite kat skolah, sape y menang sape y klah..Siap leh gduh2 lagi.Aku juz mmpu dgr je ms tue..Umah y ade ms tue xder lagi tv. Peti ais pn xder..Rumah tue pn sbb org bg tumpang dduk smntara..Sedih bile stp kli g skolah, kwn2 citer sal bola..Ssh nk gmbrkn kdaan ms tue..Bile kwn sbelah meja tnye - "Oi ko tw x Portugal klah.."..erk..aku xtw nk jwp ape.. Aku kj kmpung tiap kli da cuti pnjang utk sara byr yuran ms kt skolah agama dlu..Igt lgi kj kat kilang papan buat palet utk letak brg2.Klu korang pnah tgk org jual btu bata or tile utk lantai, dorang akn pack sumer n angkat gune alas cam susunan kayu kat bwh die. Tue la die palet, n aku kj wat tue dlu utk 30 sen stp palet..Ssh mmg ar ssh, tp nk wt cmane. Adik bradik aku sumer kat U, mk abah aku kene ar sapot..Aku sbg ank bogsu nie kne ar fhm kn..Semua y aku nk, aku bli gne duit sndri..

Rmai org kate org Felda nie kaya raya..Buah sawit mahal, getah pn mahal..Tp hkikat kperitan hidup tue org dlm Felda tue sndri y rse..Tandan sawit tue, kalu sbiji blih cpai 40 kilo..Abah aku agkt 3 biji sekali msuk dlm kete sorong..Igt senang ker nk sabit buah sawit..Aku igt lgi kat "cengkiak"..Bnde nie cam kerengga, tp lgi bsar, lagi kuat n kaler htam. Aku mmg plig fobia bnde ni sbb die pnah gigit part snsitif aku smpai bdarah ms tgh pungut biji sawit kat kbun..Aku igt lagi ade org tue meninggal on da way ke kebun sbb kene sondol ngn babi hutan..Sedih ble mk abah suh aku pndah msuk skolah Integrasi..Xsnggup nk tgk dorang sndrian kat kmpung..Sdih bile mk aku bwak aku ke kdai buku Tai Kuang kat Segamat sblom pndah skolah. Aku igt lgi mk aku ckp - "Ambik le aper2 buku y nk gune nnti, buku rujukan nyer dh cukup?? Xper nnti mk byarkn"..Sdih sbb dlu, aku bli sumer gune duit sndri, tp ms tue 1st time mk aku belikan sumer buku2 smata nk msuk SBP..Yuran dh la dkat 1000..mane nk cri duit pn ak xtaw..Aku tw aku dtg dri fmili ssh,n mk abah aku org ssh, sbb tue ak blaja sungguh2..Aku igt lgi buku rujukan Sasbadi fizik aku, smpai dh crai berai dh pages die..

Sblum msuk matrik, aku kj blik kat kmpung kat 1 kilang batu bata nie..jmpe blik kwn2 lame mmg best..Aku igt lgi tokei aku ms tu nme die Poo Chun..kwn bek abah aku sjak dri tahun 80-an lgi..Sbb ms mula2 msuk Felda, gaji Rm90 jer sebulan, so abah aku kj kt kilang batu bata ni (ms tue bru bkak)..smapi la skg..Sbb tue la aku pn kj situ gak..Kj die mmg susah, bwah trik pnas mtahari, smpi mk aku pn xleh nk beza aku ngn org bangla y kj situ, mkin byk jrwt, byk kudis..Kj aku xtentu, kdg kumpul tanah gune bajak, kdg angkat btu bata y dh siap gune polip (forklift)..tp most of the time aku kne angkat batu bata ngn tulang empat kerat ni ar..Mula2 gaji aku 20 je 1 hari, tp nek jd 30 1 hari sbb rmi bdak2 baya aku lari, xtahan kj situ..ntah la, aku wat ok jer, myb bdak2 bndar nie xbese kot maen ngn minyak htam hri2..Duit y aku kmpul tue smpat ar sapot yuran aku kat matrik tangkak dlu..

And now, aku student USM Computer Science, majoring in Network Computing..Aku kagum dgn mak abah aku smpai bile2..xkire btapa ssh nye dorang, xkire dpt mkn or x, ape y pnting sumer adik bradik aku bjya msuk U n bjaya dgn jaya nye..Abg sulung aku dlu UPM now cikgu kat skolah sukan Bandar Penawar, 2nd abg aku dlu UTM now dh ade computer company sndri, 3rd kakak aku dlu MMU now network traffic engineer utk TM asia pasific..4th, kakak aku dlu UTP now engineer kat Petronas BASF,Kerteh..

Sedih bile kenang pjalanan hdup dlu2 nie sbenanye..Tp pngalaman hidup ssh, serba kekurangan tue la y mengajar aku erti dunia sbenar y serba xadil dan kejam ni..



Wpun bkn aku pnye, tp ni la motor impian aku spnjang hayat - vespa




.

27 February 2010

Socket Programming Part II

Assalamulaikum wbt..

Alhamdulillah, first syukur kpd Allah S.W.T krn kite msih lgi dianugerahi nikmat Iman dan Islam wlaupun hkikatnye kite selalu asyik dan lalai dlm menjalankan tggjwab as a khalifah-Nya.

"INTRODUCTION"

Entry y lepas
aku da explain sikit sal ape die socket programming..Kalu korang xbace lgi, sila la bace since aku tkut da y termuntah lak nnti..1st, keep in mind that socket is like a tunnel so that my next explaination would be easy for you guys..Kat bwh nie ade screenshot process flow on how socket programming really works. Oleh kerana buku Unix Network Programming API aku kat en. Azri, mka gambo kat bwh nie adalah gambo y aku google je.




"BRIEFLY"


Socket programming melibatkan communication between server n client. Who's gonna be server n client ?? Jwpan nye adlah terletak pd kite as a programmer. Pd aku, to make it simple, Server is the one who provide the service n client is the one who request/consume the service..For instance, Facebook y hri2 korang usya tue kn. Facebook mainframe wil be the server, n your machine will be the client n request sumer msg2 kat wall..

"1ST, SERVER INITIALIZATION"


Bende y plig penting adalah server perlu ade ip address n port..Bygkn korang da rumah with one address but more doors. Korang kne la decide which "door" y korang nk gune. Port 1-1024 is reserved by IANA as a default web service cam port 80 utk HTTP, port 22 utk FTP and so on..Suggestion aku gune port 2000 and above..1st, initialize Socket class or "tunnel" n call library2 y berkaitan..Next, bind kn dgn ip address machine korang n port y korang nk gune. Xksah IPv4 or IPv6, the step is still same but the address representation n network masking is little bit different. Once korang dh bind, korang sebenarnye dh advertise through out all computer in local network y korang ade "tunnel" ke laptop korang..Be carefull since this is the actuall way on how hackers gain access on victim's computer.So aku advise try dlu dlm mode local host n your ip address should be "127.0.0.1" or "::1" for IPv6..Lepas "tunnel" dh establish, server will be in "daemon state" - a program that always running in the background n listen for any incoming request.

"CONNECTION ESTABLISHMENT"

Next, prepare your client program. Client xperlu bind ip address n port ke socket. What he need to know is with who he want to connect. Atas sbb itu, korang kene supply kat die ip address n port server y korang dh wat td..Yela, kalu x, cmana lgi die nk connect ke server..Then bile connect ke server, 1 "path" akn di establish between your client n server. Utk permulaan, xpyahla pk soal connection secure or x secure, in fact, mmg xsecure pn..Kalu nk wat style "ssl" connection with further packet encryption, sila wat ms kat phase ni.

"DATA TRANSMISION"


Once dh connect, client n server should bleh communicate n pass some string msg as a sample data. Skg nie, data trasmision depend on what type of network protocol y korang nk gune, TCP or UDP. TCP is little bit complex compared with UDP but more reliable..Kenapa?? ok aku explain.

In TCP, stp data akn di convert from host byte to network byte, tmbah dgn other TCP header like source n destination info, TTL (time to live), checksum, padding, "window" size, packet sequence n etc. Maximum transmision unit (MTU) pn agak besar but fixed. Which means kalu buffer size = 1024 byte, but korang juz nk send hruf "A" je, TCP protocol akn automatik add some padding utk mksure die reach MTU size. One more, mose of the time kite akn download muvie y bersize besar >500 MB rite. Its imposible to transmit whole file with single data packet. In reality (like what all download manager do), this 500 MB file akn dipisah2kan kpd packet2 y lebih kecik mengikut size MTU td n also "window" size..Ape die "window" size nie?? Next post insyaAllah aku akn explain sikit since ia melibatkn 3-way handshake n bla bla bla..So, packet2 kecik nie td aku lbih suke pgil as a "chunk"..Each chunk akn di bg "no giliran" or sequence number. Then all chunk will be sent regardless which one is the first or last. Bile packet2 or chunk nie arrive kat laptop korang (client), download manager akn combine or rebuild blik to form the big file again.

In UDP is totally different, each file still need to be splitted into chunks but there is no 3-way handshake, cheksum, n byk lagi. In TCP kite pgil packet, but in UDP kite pgil datagram. Since there no overload network header information, UDP datagram mmg ringan n kcik. Ditambah plak dgn xder sistem "handshake" or acknowledgment, datagram besenye mmg cepat n lagi pantas drpd send gune TCP protocol. But once again, there is no guarantee y datagram nie td akn smpai kpd client. Aku bg contoh, let say la file y besar td split kpd >1000 chunk datagrams, blum tentu datagram ke-5 akan smpai dlu dripad datagram ke-10..Thats why UDP xseswai utk send file bersize bsar, tp advantage die amat berkesan bile nk wat application y byk gune message passing (instant messanger, distributed system).

"CLOSE CONNECTION"


After data transmision hbis, client akn close connection dlu, then bru server..After that, server akn return blik kpd "listen" mode coz cm aku ckp td, server ack like a "daemon" - always running. Bile connection dh close, next client bleh establish connection bru dgn server..

CONCLUSION

Kalu nk further lgi, korang bleh wat Socket connection either in asynchronous or syncronouse mode, non-blocking or blocking state n byk lgi. Aku tw rmai y xminat nk tw bnde2 complicated cmni, but the thing is, its good to expand your knowledge n make yourself "knowledgable" person instead of doing assignment n let that particular knowledge juz "pass by" your subconscious mind..Gain the concept, n apply it whenever needed..

Gudluck..




Sumer dean list from School of Computer Sciences, USM. Cube cri mane aku..hehe






.

26 February 2010

Socket Programming

Assalamulaikum wbt..

Firstly, syukur alhamdulillah krn ngn rahmat dri-Nya aku still lgi mmpu menulis kat blog nie..Sedikit petikan kate2 Dr. Danial ms khutbah jumaat td - "Udhulu fi silmi kaaffah" - y mane mksudnye "msuklah kamu kpd Islam scra menyeluruh / total..Oleh krna minggu nie aku struggle wat socket programming, so nk share sikit ar sal bnde nie. Mudah-mudahan korang y bace bnde nie leh expand n get the new knowledge.

"INTRODUCTION"

Let say korang nk wat 1 application cam Yahoo Messanger or Windows Live or Empathy (Ubuntu) y memerlukan extensive message passing between peers. Cara plig kacang n cepat adalah dgn manipulate database n timer sperti mana my teammate Acad wat ms die 2nd year for Widget Community beliau..Ali taip msg, insert kat shared database. Then Babun ade timer, every 3 seconds check database for new incoming msg. If ade y bru, fetch and display it. Same thing when Babun taip msg kpd Ali. Cara nie mmg sng and less complicated since everyone know how to use database (MsSql, MySql, Oracle etc)..But the thing is, frequent database access amat tidak efficient n high possibility for slow data retrieval time when 100 (let say) people access the database at the same time..Contoh laen, KFC ade byk branch kat 1 Malaysia nie. Director nk latest sales data for every branches. Cara plig senang, once again, every branches update shared central database about their latest sales data. Bnde y sama jgak akn berlaku when lot of people access the same shared database at the same time - slow data retrieval or even insertion..

"SOCKET PROGRAMMING"

So, the answer is - Socket Programming. Ape die Socket?? To make simple, aku bg analogi mudah. Socket nie snang nk fhm kalu kite anggap die mcm 1 tunnel y connect between 2 machine..The main thing is mesti kene 1 side jd Server n other side jd Client.

Server should be in "daemon" state - always running or be in infinite loops sbb Server akn wait for any incoming request..For that reason, Server kene ade ip address and port number that it will listen on to. Bind ip address dgn port number, listen then accept incoming connection, thats all..Kire kite create 1 public tunnel la..Simple kn..Client plak xperlu establish port number. Just create socket class, connect with Server's ip address n port number, setel..port number nie penting sbb server ade byk port number. Kite ade reserved port from 1 - 1024, so available port 1025 till 6000++..byk kn..Just imagine kite ade rumah y byk pintu but 1 je alamat rumah, so skg korang nk suh client tue masuk ikut pintu mana.

"NETWORK PROTOCOL - TCP OR UDP ??"

Next major things are type of data packet n internet protocol. Dlm Socket Programming, ade 2 protocol y kite bleh gune, TCP or UDP..Deep explaination bleh tanye Uncle Googlerudin. Briefly, TCP nie connection oriented n UDP conectionless. Analogy mudah (cam bese), TCP nie cam korang call mak kat kmpung. Once korang dail no. tepon, korang kene tgu mak korang agkat tepon dlu bru bleh ckap rite. Thats means in TCP, connection must establish first before data transmision can be done. However in UDP, analogi nye cam korang send SMS kat pakwe. Juz taip then send kat no tepon y berkaitan. Korang xtaw pn SMS tue dh dibaca ker blum, ape y korang tw ialah SMS tue dh delivered (lum tentu pakwe korang bace lg)..In other words, UDP doesn't need established or reliable connection..

So, bile ms nk gune TCP or UDP?? My opinion, use TCP if packets sequence is important or packet size is big (more than 1024 byte), otherwise use UDP instead..Aku bg contoh, application cam Yahoo Messanger gune UDP, since ape je y nk di send, juz string perkataan or file2 kecik. But Internet Download Manager (IDM) kene gune TCP protocol, kalu x, cmana die nk tlog donloadkn muvie korang kat Syok.org y 700 MB tue ye x..

"CODE EXAMPLE"

Finnish theory class, now practical part. Kat bwah nie aku bg sample code dalam Java utk Socket programming using UDP as network protocol

UDP Server:
import java.io.*; 
import java.net.*;

class UDPServer {
public static void main(String args[]) throws Exception
{
try
{
DatagramSocket serverSocket = new DatagramSocket(9876);

byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];

while(true)
{

receiveData = new byte[1024];

DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);

System.out.println ("Waiting for datagram packet");

serverSocket.receive(receivePacket);

String sentence = new String(receivePacket.getData());

InetAddress IPAddress = receivePacket.getAddress();

int port = receivePacket.getPort();

System.out.println ("From: " + IPAddress + ":" + port);
System.out.println ("Message: " + sentence);

String capitalizedSentence = sentence.toUpperCase();

sendData = capitalizedSentence.getBytes();

DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress,
port);

serverSocket.send(sendPacket);

}

}
catch (SocketException ex) {
System.out.println("UDP Port is occupied.");
System.exit(1);
}

}
}

UDP Client:
import java.io.*; 
import java.net.*;

class UDPClient {
public static void main(String args[]) throws Exception
{
try {
String serverHostname = new String ("127.0.0.1");

if (args.length > 0)
serverHostname = args[0];

BufferedReader inFromUser =
new BufferedReader(new InputStreamReader(System.in));

DatagramSocket clientSocket = new DatagramSocket();

InetAddress IPAddress = InetAddress.getByName(serverHostname);
System.out.println ("Attemping to connect to " + IPAddress +
") via UDP port");

byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];

System.out.print("Enter Message: ");
String sentence = inFromUser.readLine();
sendData = sentence.getBytes();

System.out.println ("Sending data to " + sendData.length +
" bytes to server.");
DatagramPacket sendPacket =
new DatagramPacket(sendData, sendData.length, IPAddress, 9876);

clientSocket.send(sendPacket);

DatagramPacket receivePacket =
new DatagramPacket(receiveData, receiveData.length);

System.out.println ("Waiting for return packet");
clientSocket.setSoTimeout(10000);

try {
clientSocket.receive(receivePacket);
String modifiedSentence =
new String(receivePacket.getData());

InetAddress returnIPAddress = receivePacket.getAddress();

int port = receivePacket.getPort();

System.out.println ("From server at: " + returnIPAddress +
":" + port);
System.out.println("Message: " + modifiedSentence);

}
catch (SocketTimeoutException ste)
{
System.out.println ("Timeout Occurred: Packet assumed lost");
}

clientSocket.close();
}
catch (UnknownHostException ex) {
System.err.println(ex);
}
catch (IOException ex) {
System.err.println(ex);
}
}
}

"CONCLUSION"

Ape y code nie buat adalah sgt simple, client connect with server, send perkataan dlm small letter, server receive n convert to Uppercase n then send blik kat client, thats all..Aku rse ckup kot code kat atas nie, juz nk show how client can communicate with server via Socket Programming..Mula2 mmg pening, tp try ar dlu..mesti best..Bleh gune ape2 java compiler, Netbeans or Eclipse (aku gune Eclipse)..No extra library, juz import java.io n java.net jer..hehe



Welcome to Socket Programming =)





.

25 February 2010

I'm wondering

Assalamulaikum wbt..

Alhmdulillah, dpt gak aku menulis blog nie wat kesekian kalinye..Minggu nie adlah minggu y amat susah utk aku..Ironik nye, minggu nie byk bnde baru y aku tw..Virtual machine, virtualbox, socket programming in OO style, .Net communicate with Java application n mcm2 lagi. Ms tinggal lagi lebih kurang 2 bulan je utk FYP aku..Sempat ke x nie..Core technology pn ximplement lagi..Cmana nk wat MMS pn aku xtaw lagi..SMS tue bleh ar..

Dlm byk2 part FYP aku nie, aku plg minat skali bhg Grid. Even aku bdak network, tp bende nie sgt2 mencbar kredebiliti aku selaku programmer beginner..Dgr lecture Dr. Chan mcm senang jer, tp apasal aku nk wat ssh giler. Mslah nye, xder org nk tnye..Tanye mmber2 pn sumer xtaw..So, knape aku minat bnde nie kalu dh tw ssh?? Ntahla, prinsip aku, kalau la 100 org kate ssh, n kite sorang bleh wat, nescaya akn menjadi "mutiara di lautan"..The thing is, aku curious nk try+tgk cmane two different application bleh communicate each other, on separate machine n even different type of OS (windows vs linux)..That inter-process communication y wat pening..Socket, RPC, RMI, JADE, JINI..zzzzz

Aper pn, computer technology nie mmg luas..Semantic, Augmented Reality, Cloud Computing, Security n byk lgi..Kn best kalu otak nie leh jdi cm Neo dlm The Matrix, msuk CD, psag plug kat kpala, trus bleh tw sumer..Bkn ape, byk bnde y aku xtaw lagi..Ilmu xjauh mane, da niat nk amik master..

Skg dh pkul 11.00 mlm, ms ntuk aku tido. xtaw nk tulih ape lgi. Wondering how on earth that Mark Zuckermberg can make Facebook while now he still 23 years old..Wondering how we cn make our own API n web service n advertise through specific port with logical domain name..Wondering how other .Net programmer can make universal class file in .dll format n only need simple reference in Visual Studio to use it..Wondering how 3-Handshake being done in TCP connection in Socket programming..Gudnite everyone..ZZZzzzzz





...

21 February 2010

C# Art


Assalamulaikum wbt..

Alhamdulliah, syukur ke hadrat ilahi kerana dengan limpah kurnia nye aku bleh ar bernafas lgi atas muka bumi nie selaku insan bernama mohd yazid..

Ok, skg nie rmai .Net programmer y masih beginner mcm aku still wat programing dlm cara y konvensional or tipikal. Sometimes its good for readability (senag nk debug), tp prasan or x, ia bleh menyebabkan kurangnye reliability in term of efficiency, performance, memory and battery consumption. Bnde nih jarang org tgk, y penting projek siap dh la kn. Tp aku sgt interested kat bnde2 cmni..sbb nye..itulah the arts of programming..tul x?

"Get and Set functionality"

First, nk explain skit sal Get n Set nie. Mcm bese, Get adalah bile kite nk dptkan value from that particular object instance, n Set bile kite nk initialize or assign value. Nk lebih clear, aku bg contoh kat bwah nie:

Contoh 1:


private string myname;

public string GetMyName()
{
return myname;
}

public string SetMyName(string name)
{
myname = name;
}

Contoh 2:

public string myname {get; set; }

Nampak obvious kn.. 2 bnde y sama, tp 1 lagi pnjang, n 1 lagi pendek jaa code nye. 1 line je..Its up to us as a programmer which one to pick. Tp persoalannye, bile masa nk gune contoh 1, n bile plak nk gune contoh 2?? Simple, gune contoh 1 bile melibatkan variable y penting, protected, or shared with other crucial function, class or object. Sbbnye, most of the time, hackers bleh hack n manipulate ape2 value bile variable di declare as a public. Solutionnye, declaration variable adalah private or protected, but kite wat another public function untuk access variable tersebut (contoh 1). Semua bnde ada drawback rite. Drawback bnde nie adalah ia memerlukan another memory space utk pass by value dlm parameter function tersebut dan code die agak pnjag sikit.Kalu variable tue xbrape important (most of the time) cam perkataan dlm textbox, penggunaan Get n Set (contoh 2) amat disyorkan oleh aku.Sbb nye, ia simple, menjimatkan ruang (1 line je) n by default, bnde nie gune pass by referrence (not by value) which means its variable would share exactly the same memory space with function call. Dengan kata lain, korang akn jimat 1 memory space n lebih efficient.

"Quick User Control Initialization"


Ok bnde nie pening sikit.Sila baca dengan teliti. User Control aku dh explain kat post2 y lepas. Jd sila bace tu dlu k. First, let say aku wat 1 user control (MyUserControl) y ader textbox (txtName) n label (lblName)..Then cam bese, cm programmer .Net y laen buat bile nk initialize User Control adalah seperti berikut:

Declaration:

Public partial class MyUserControl : usercontrol
{
Public MyUserControl()
{
InitializeComponent();
}
}

Initialization:

MyUserControl myUC = new MyUserControl();
myUC.lblName.text = "Nama: ";
myUC.txtName.text = "Mohd Yazid Mohd Jaafar";
myUC.Width = 100;
myUC.Height = 150;

This is tipical way y bese kite (n aku jgak) wat bile wat C# programming. Byk line diperlukan juz nk initialize 1 user control jer. Utk bg korang nmpak, aku bg contoh laen y lebih jimat n efficient:

Declaration:

Public partial class MyUserControl : usercontrol
{
Public MyUserControl()
{
InitializeComponent();
}

Public MyUserControl(string names, string labels, int height, int width) //Override Constructor
{
InitializeComponent();
this.txtName.text = names;
this.lblName = labels;
this.Height = height;
this.Width = width;
}

}

Initialization:

MyUserControl myUC = new MyUserControl("Mohd Yazid", "Nama: ", 100, 150);

Simple, 1 line jer utk initialization. nie la die ape y aku explain dlm post2 y lepas sal separation of class for efficiency and reliability. Xperlu byk2 code dlm main class. Xelok tamak2 nie. Share sikit code y belambak tue kat class or object y lain. Nmpak kemas, n senang nk debug. Kadang aku pelik gak. Sometimes org bangga bile kate code die dh smpai 1000 lines. Tp pd aku, lagi bagus kalu kite bleh wat bende y sama tp hanya menggunakan xsampai 500 lines pun. Tu mknanye die xreti nk utilize Object-Oriented Programming..

"Conclusion"

Orang kdang2 kate, "Buat cmni pn same gak aper..". Mmg la same bro..Its ok if korang wat hanya utk siapkan assignment or project y duedate tinggal esok ja. Tp cube byagkan kalu korang dh keje as a programmer, wat 1 apps but in the end, customer complain y apps korang nie pesal slow sgt, hang laa..itu laa..ini laaa..Kat situ la dtg nye code efficiency, memory consumption n bla bla bla..Prasan or x, Microsoft Office Word Beta 2010 tue bru jer mkan 70 - 80 KB dlm task manager korang. Software punye la besar, ader mcm2 tp ringan jer..Agak2 cmana programmer Microsoft wat mende nih..

Ape pun, utk capai 1 mission, ader byk cara. Bile ader bug, ader 1001 solution utk nye. For me, I dont care if I got A, B, C or even D for my project. But the thing is, I want the KNOWLEDGE on top of it..



En.Azam, Acad, Aku n my Dean, Prof Rosni




All Maxis Mobile Content Challenge winners



Gudluck guys..

p/s: Sumer code ditulis on the spot kat blog.Kalu ader silap, hrp dimaafi





.

09 February 2010

Sometimes...

Assalamulaikum wbt..

Sometimes..Aku teringat zaman muda2 dulu..

Sometimes..Aku teringat zaman bile ht nie tenang..

Sometimes..Aku teringat zaman bile ht nie tenang tanpa gangguan..

Sometimes..Aku teringat zaman bile ht ini hanya untuk Allah swt..

Rindu nye aku akan zaman itu..





Terkenang zaman - "Bile kejar akhirat, insyaAllah dunia akan mengejar kita" - Saydina Umar al-Khattab r.a

Kat sini aku lampirkan lirik lagu favorite wat renungan kite bersama.Lagu nie dendangan Maher Zain bertajuk Thank You Allah.


I was so far from you
Yet to me you were always so close
I wandered lost in the dark
I closed my eyes toward the signs
You put in my way
I walked everyday
further and further away from you

Ooooo Allah, you brought me home
I thank you with every breath I take

الحمد لله الحمد لله
All praises to Allah


I never thought about
All the things you have given to me
I never thanked you once
I was too proud
to see the truth
And prostrate to you
Until I took the first step
And that's when you opened the doors for me
Now Allah, I realized what I was missing
By being far from you

الحمد لله
All praises to Allah

Allah, I wanna thank you
I wanna thank you for all the things that you've done
You've done for me through all my years I've been lost
You guided me from all the ways that were wrong
And did you give me hope

O Allah, I wanna thank you
I wanna thank you for all the things that you've done
You've done for me through all my years I've been lost
You guided me from all the ways that were wrong
I wanna thank you for bringing me home

الحمد لله
All praises to Allah
الحمد لله






.

02 February 2010

Optimization VS Accuracy

Assalamulaikum wbt..

Ok come back to my world - programming. Seperti tajuk kat atas tu, hri nie aku nk cite sikit sal pendapat aku, ape y aku rase bagus n ape y aku rase xbgus utk kite selaku programmer buat especially those who are C# beginner like me.

"OPTIMIZATION & EFFICIENCY"

Sedar atau x, setiap line of programming of code y kite buat sebenarnye mempengaruhi kadar efficiency program kite as a whole. Aku bagi contoh utk buat 1 application, programmer A memerlukan 1000 line utk siapkan bende tue tp pd ms y sama, programmer B hanya memerlukan 300 lines jer. Jadi y mana y lebih efficient?? Pada aku, efficiency sesuatu programming code tue sebenanye terletak pd faktor turn around time dan memory consumption. Memang jelas kalu compare based on number of lines, programmer B mmg power, tp kalu application die buat laptop aku jd slow nk mati, xguna jugak kan. Kesimpulannya, sbb tue la kite semua selaku pelajar CS wajib amik CPT212 - Algorithm n Data Structure. Memang aku akui, aku mmg kagum gile dgn org y bleh develop sesuatu algorithm nie. Xtaw la baper byk sel2 neuron y berhubung dlm kepala die. So kenapa turn around time n memory consumption??

"TURN AROUND TIME"

Apekah die turn around time?? Aku bg 1 contoh y plig simple. Bile kite bukak page Yahoo n register akaun emel baru, brapa second y die amik utk mksure registeration kite succesful?? Kalu kite wat Transact-SQL n select some table from MS Sql, brape lama ms y diamik utk load all data kat interface?? Sumer nye berkaitan dengan masa kan..Pd pendapat aku, one thing y every programmer should think about is how long it should take to do the specified task. Aku penah baca buku Human & Computer Interaction (HCI) oleh Stalling kepunyaan Umi Mahmudah Mohd Jaafar (kakak aku) y kini sorang network traffic consultant for streamyx asia pacific. Dalam buku tue ade sebut sal 1 prinsip paling utama dlm design GUI - Respond must be given within 5-7 seconds. Dgn kata laen, lebih dri tue, user akan rase bengang sama mcm korang cbe connect USMHotspot xdpt2.

Aku bg 1 contoh implementation y mungkin akan bg serba sikit idea pasal reducing turn around time nih. Usually, ms pling byk dibazirkan dlm sesuatu application adalah utk load data or set data dlm database..Kene plak network slow, mmg cm taik ar. Setiap programmer ader cra msing2.. Tp kat sini nk bg contoh cra aku utk memudahkan pemahaman.. Besenye aku akn wat system aku xkire la web or desktop based utk pre-loading dlu sumer data2 y diperlukan n fill in dlm 1 container cam linklist, dataset or data table. Contohnye kalu application tue sal hotel management, aku akn load awal2 sumer info sal customer,registration and soon dlm 1 dataset or text file so that next time aku dh xperlu lgi access database. Hanya bile berlaku update or delete je bru aku access database n fetch blik new data. So, xderla user tue tekan 1 button, then system access database, tekan button lagi, access lagi, tekan then access lgi.Brapa byk nk access daa. Load jer sumer data awal2, store lam temporary container cm dataset, then bile nk access, access jer dri dataset tuh. Advantages cara nie ade 2 iaitu reduce number of connection y perlu kite wat (user toksah tunggu lama2) n application still works even internet connection gone.Best kan..How to do it? byk cra die, depends on what your task needs..

"MEMORY CONSUMPTION"

Haa part nie y aku plig suke nie.Penah x kalu korang wat website or desktop application then bukak task manager tgk braper byk memory consumption application korang?? Mesti xpenah kan, sbb y kite taw ialah janji siap n dpt submit on time. Actually bnde nie penting gak sebenarnye sbb not every user or customer y akn gune application kite nanti ade 2 or 3 gig RAM n Dual Core. Kite selaku programmer, kite kene la consider dorang jgak kan. Dorang pn manusia jgak mcm kite..Sbg contoh, software iNetmon utk dak2 network CS bleh capai 250++ KB total memory consumption n membuatkan laptop aku kdag2 jd slow especially bile turn on sumer module2 die. As a comparison, Office 2010 sometimes hanye dalam 70 - 100 KB jaa n kalu korang tgk, application dorang smooth jer. Senang hati nk menaip wat assignment kan..Dengan kate laen, kalu la korang bleh reduce memory consumption nie ke tahap membanggakan, insyaAllah application korang mesti super duper laju.

Aku bgi contoh la supaya korang mudah paham. Besenye kite declare variable kan. Ntah mane2 kite declare. Asal nk gune jer declare baru. Sedar or x, setiap declaration y kite wat akan menambahkan penggunaan memory. Camni, bile kite declare, system akn sediakan 1 memory address space utk variable tuh n lock utk kegunaan application kite shj. Once kite dh hbis gune, memory address tue still there n lock kecuali kalu kite dispose or null kan variable tue. Cemana aku nk explain erk. Let say la korang ade 1000 lines of programming code. Declare ar 1 global variable type string n gune jer variable tue as a temporary to store anything through out whole programm whenever needed. Jimat memory space sikit. 1 lagi adalah penggunaan List dan String. Cube compare declaration kat bwh nie:

string[] TempString = new string[100];
list TempList = new list();

Bile declare string, kite kene specify size die tul x? Belum tentu kite akn gune sumernye sampai habis. Bile declare jer string array, system dh sediakan n lock 100 memory space utk kite. membazir namanye tu..Xelok membazir ni, kwn syaitan..hehe.Solution nye, gune la List sbb list nie aku bleh kata cemana erk, ermm "memory on demand" kot.Sbb bile kite declare, xperlu specify size. Hanya bile add item dlm list tue je bru la system akn specifykan 1 memory address. Lagi efficient kan?

Contoh laen adalah penggunaan "using" statement dlm Object declaration.Aku bgi contoh code kat bwah nie:

Contoh 1:

void ReadFile()
{
StreamReader ObjReader = new StreamReader(@/"daunkelapasawit.txt");
String temp = ObjReader.Readline();
}

Contoh 2:

void ReadFile()
{
using ( StreamReader ObjReader = new StreamReader(@/"daunkelapasawit.txt"))
{
String temp = ObjReader.Readline();
}
}

Sori ar indentation xbtul, almaklum la write trus kat blog jer, mane ader intelliSense. So ape beza kedua2 contoh kat atas nie? Contoh 1 ada usual object declaration y bese kite buat. Bile kite exit function ReadFile, memory address utk Object tue actually still exist sebenanye. Makin byk bnde2 cmni, mkin berat la application kite. One of the solution kalu dlm C# adalah melalui penggunaan "using" statement. Maksudnye, systeam (or .Net Framework) akn detect bile Object tue dh x digunakan lgi (or out of the function scope), die akn automatically dispose Object tersebut.Dgn kate laen, bile dh xgune, buang jer la..Wat beratkan beg jer nk angkut ke sana ke mari.

Byk lagi cra2 utk makesure program kite running dengan smooth n steady. Nie antara cara2 y bleh kite guna selaku programmer. Ape pun, explore, try n gain knowledge by yourself is better than relying on someone..Gud luck!







.