26 December 2009

WinMo - make own control

Assalamulaikum wbt..

Alhamdulillah, aku masih dikurniakan peluang dan nafas utk menghirup kemanisan Iman dan Islam. Tanpa melenguhkan lutut, aku nk share some important and interesting part dlm Windows Mobile platform development. Wat sesape y xtaw pe die external harddisk, Windows Mobile aka WinMo ini adalah OS bagi PDA. Latest version adalah Windows Mobile 6.5. Masa tahun 2003 dlu, OS nie terbahagi 2 iaitu WinMo for PocketPC and Smartphone. Dalam PDA market segment, selain WinMo adalah Android from Uncle Googlerudin, dan iPhone OS X from Uncle Epaladin.

"DESIGN UI ELEMENT IN WINMO"


Currently, aku tengah develop 1 apps dlm WinMo for Mobile Content Challenge by Maxis and gambarajah y kat atas ni adalah aku punye interface (atleast wat ms nie). 1 thing y sgt2 important y aku nk ckap kn td adalah control dlm WinMo xsame cm dlm desktop development gune WPF or web gune Silverlight. Aku bagi contoh mudah:


Ok, kat atas nie ade 3 button. Dari kiri, button default dlm WPF or Silverlight, button custom dan button default dlm WinMo. WPF dan Silverlight combine with powerfull Expression Blend mmg aku akui, amat menjimat masa programmer dan mengurangkan tahap nk ke tandas mereka. Button default mmg senang nk dibuat secara custom, alasan nye mudah iaitu - senang nk design, XAML kan ader, Blend kan ader. Maka terhasil la button y kat tengah2 tue (button signup utk web aku beb)..Tapi WinMo??? Button y kat belah kanan sekali adalah bukti nye. Korang bleh dpt default saja, nk customize bagi lawa mmg "in your dream" jer la. So, in the end apps akan jd dull, x attractive.

"HOW TO DESIGN WITHOUT INTEGRATED DESIGN TOOL"


Most Windows developer dah bese ngn Expression Blend, tp sayangnye tiada tools sebegitu rupa bagi WinMo developer.So, cmane nk wat custom button y nice to look?? Erm..susah nk kate..bkn nk kate mustahil. Mmg ader cranye, most programmer (stakat y aku search) gune cara manual utk create what ever control y dorang nk gune cam button, combobox, listview and so on. Ape y dimaksudkan ngn cara MANUAL?? haa nie part y paling interesting nih..

Post akn dtg aku akn share secara detail plus with sample code skali cmane nk wat control secara full manual. Skg aku bg overview jer dlu, takut da y pening2 lembu tenusu Dutch Lady plak nanti sbb die memerlukan kefahaman y outstanding dlm "C# Extreme Programming". Dengan kate laen, sape y bleh fham post aku y seterusnye mmg superb (welcome to my club).

Briefly - Kite xkan gune 1 item pun dri toolbox dlm visual studio, so jgn hrap nk jadi drag-drop guy kat cini ok. 1st, draw control y kite nk wat contohnye button gune GDI+ classes. 2nd, bagi property sikit kat die cm Height, Width, Top, Left etc. 3rd, bagi public function untuk assign property y kite bagi td supaya bile press Ctrl+Spacebar intellisense dlm visual studio bleh detect. 4th, bagi event handler y sesuai kat die supaye bleh di klik or mouse over etc. Thats all, sound simple kan?? Ok tue jer dlu kot, nantikan post y seterusnye utk aku perkenalkan ape bes nye Windows Mobile programming kat korang.



P/S: Aku xheran kalu korang xpham ape y aku tulih..post y seterusnye korag akn lagi xphm, dun wory okeh..

25 December 2009

My Extreme Programming

Assalamulaikum wbt..

"WELCOME TO WINDOWS MOBILE DEVELOPMENT"

Post lepas dh talk sal azam hijrah baru aku..kali nie nk talk psal perkembangan terbaru aku, pe y current project n current progress..

Pd programmer2 newbies cm aku y kat luar sane, mksure korag cube wat WinMo platform programming, xkre la gine native C++ or managed code C#. At first mmg ssh, sbb byk sample code kat luar sane y ssh nk faham n berbelit2. Tp percya or x, pas try wat mesti korag tw cmane nk manipulate n utilize C# language ke tahap beyond from other people. Kenape? ha nie y nk cite nie..Usually, ms mula2 aku embark dlm C# nie, byk blaja dri video tutorial n source code kat tenet. Mostly, aku just pick part2 y aku nk gune or fhm je. Coz y laen byk xfhm. So skg, pd org y bace post nie aku nk show C# smart way n extreme programming.

"C# EXTREME PROGRAMMING"

Write code y sgt panjang dlm 1000 lines adalah cra y xbrape smart pd aku. First, bile ade bug, susah nk cri n trace. 2nd, susah nk manage. So, one of my way is to separate it with different but specific classes base on functionality and active time. Aku xnk cite byk sal mende nie coz nie bnde basic n bleh tanya Uncle Googlerudin. One thing y aku nk share adalah cara cmane nk communicate between classes y kite dh buat. Usually, kite akn gune array of string or data table bile nk pass data dlm collection y byk. Tp tahukah anda, array memerlukan kite untuk declare size nye skali, let say string[] a = new string[100]..

At that time, system dh create 100 memory space but unfortunately most of the time kite xgune pon sumer 100 tue..Suggestion aku, the smartest way is to use LIST instead of array bese. Seperti mane y kite taw, list xperlu nk declare size, ape y die taw just add(), remove(),removeat() and so on. Thats mean, put next object on top of other object (cam stack arr). Cara len, pe kate gune enumerable object, Bnde ni function cam list gak, tp lagi dynamic.

"Sample Code"

1. How to use List

public List GetAllData()
{
string query = "select whatData from tableName";
SqlCeConnection conn = new SqlCeConnection(connectionPath); //connection string anda
conn.Open(); //SqlCe adalah DB connection untuk WinMo
SqlCeCommand cmd = new SqlCeCommand(query, conn);
SqlCeDataAdapter da = new SqlCeDataAdapter(query, conn);
DataTable dt = new DataTable();
da.Fill(dt);
conn.Close();

List yourList = new List(); // = depend on type of data, nie aku gune string

for(int i = 0; i < dt.Rows.Count; i++)
{
yourList.Add(dt.Rows[i][0].ToString());
}

return yourList;


Explainantion - Ape y code kat atas wat adalah fetch data from aku punye Sql Server Compact database (thats why gune SqlCe, instead of Sql shj) n fill in all raw data dlm datatable. Then sumer raw data tue aku add dlm 1 LIST one by one. So the advantage is, LIST doesn't need any size to be declared at the first hand, n pastinye, jimat memory consumption as well as avoid software dri lack

2. How to use Enumerable Object

public IEnumerable getCountry()
{
RegionInfo country = new RegionInfo(new CultureInfo("en-US", false).LCID);
List countryNames = new List();

foreach (CultureInfo cul in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
{
country = new RegionInfo(new CultureInfo(cul.Name, false).LCID);

countryNames.Add(country.DisplayName.ToString());
}
IEnumerable nameAdded = countryNames.OrderBy(names => names).Distinct();

return nameAdded;
}

Explaination - Penah x tgk page registration, Yahoo email ker, die mintak korag masukkan country name based on combobox y die bagi. Mane dapat snarai name negara 1 dunia tue?? 200 lebih beb, xkan programmer key in satu2. So, mission code kat atas nie adalah fetch all country name dri dlm system Windows.RegionInfo and add all raw data tue dlm ENUMERABLE object n walla! Korang dh ade snarai 200++ name negara ready to be use.

Ape kelebihan gune 2 menatang nie adelah y cm aku ckp td, bleh avoid software dri lack coz ia jimatkan memory space. Ape y aku minat skali kat bnde nie adalah bile object dh di add dlm List or Enumerable, kite bleh sort die, distinct kn die, mcm2 lagi to maksure data tue btul2 ready untuk di display kn kat mane2 UI element.

24 December 2009

My world..anak FELDA

Assalamulaikum wbt..

Sori pada signbod "STOP" pd post before nie.

So..sempena ngan maal hijrah nie..aku pn nk azam baru jgak..simple jer azam bru aku:

"BE A SOFTWARE ENGINEER"

Dlu ms zaman nk pilih major, naper xplih je major Software Engineer?? Betul gak soklan tue..Jawapan nyer mudah je..sbb MINAT..sbb minat la aku amik network computing as a major..kenape? ha nnti aku gtaw..pd kwn2 n dak2 junior2 y bace post nie, aku nk tanye korag 1 perkara:

"APE DIE BNDE Y KALU KORAG DH START , KORAG XLEH NK STOP??"

Tepuk dada, tanye selera..ape pun jwpannya, tu la die minat and implicit expression bout where and who r you 10 tahun pasni. Pada aku, ade 2 bnde je..BOLA, PROGRAMMING..Bola xyah cite la..die hard fan Barcelona n Chelsea beb..n programing..

"KENAPA PILIH MAJOR NETWORK SEDANGKAN MINAT PROGRAMING??"

Btul jgak soklan tue..aku pn xpnah terpikir sblom nie. Jawapannye :- Sebab dulu aku mmg xsuke+xminat+benci ngn programming..haha..sbb tu jgak la aku amik major network computing..Pd individu2 y ngah bace blog nie, korag jgn igt plak aku mmg dlahirkn dgn buku C++ kat tgn..nk ikut kn, mmg 1st year as a computer science student kat sini, aku kalu bleh nk elak programming n aku pcaya, antara korag pn rmai gak y rse cmtu kn.

"CEMANA BLEH MINAT PROGRAMMING??"

Segalanye bermula bile aku join dlm networking field subjek CST 234 under dr. rahmat n dr. wan tat chee. Pd azri, ko msti tw kn btapa azab nye subjek tue. Masa tu, aku igtkn bleh la hndle hrdware2, satelit broadcast ker. Tp upenye kene wat socket programming..native C plak tue..perghh..sakit jntung ngn ibu jari kaki..waktu tue nk x nk kene la wat jgak kn. So, aku n hadri (thanks to him as my great teammate ever) berkampung kat Lab 1 sejak dri 1st month lagi, di kala budak2 laen tgh bersenang2, g tgk wayang n bla bla bla..bleh kate tu adalah waktu transition plig bsar dlm hidup aku sebagai orag jawa. Nk di pndekkan cite, aku peruntukkan ms 1 week purposely (sbb aku jmpe web site "learn C in 24 hours") utk blaja language C from the very beginning, how to declare int, string, array, struct n what so ever..sbb prinsip aku, kalu aku nk pegi lagi jauh, beyond from other people, aku nk kne ader very strong foundation dlu..Pas lelama run, debug, run, debug, run, debug, aku mula nmpak ape y best n seni dlm progrmming nie. Start dri tue bru aku tw, nape dr. azman minat gile ngn cryptography, nape dr. wan tat chee expert dlm wireless+sensor+robotic..And since then, both of them become my personal idol..hehe.

"BEST KER WAT PRGRAMMING?? WAT SAKIT KEPALA JER"

One thing ble wat programming nie, stiap hari aku akn jmpe bnde baru, cube bnde baru, wn wat bnde baru..mula2 mantapkan language C..pastu aku grak ker Java n SQL (sbb grup dak cine aku sume hampeh)..cukup 1 semester, aku gerak ker C# language and database SQL server+MySql..agak2 cukup 1 week C#, gerak plak ker Windows Presentation Foundation aka WPF (formerly known as Avalon)..n sempat publish 1 project y team aku namakan "BluAds" - an automated bluetooth advertising system. Briefly, bile korang masuk je 1 area cth shoping cmplex, nset korag akn dpt iklan promotion berupa image y mana bleh di redeem utk dpt boucher and etc. Pastu, aku pun industrial training kat 1 company y kecik gile. 1 thing y aku dpt dri company nie ialah aku blaja byk bnde2 bru dlm C#..cmane nk wat user control, cmane nk integrate ngn printer, nk print ape y user taip cm Office Word, nk bg user bleh draw diagram cm Visio n byk lagi..Sumer tue aku dh pnah wat n aku explore sndiri bersifukan Uncle Googlerudin.

"WHAT'S NEXT??"

Rite now, aku dh 3rd year and final year. Berbekalkan experiance dlm C++,Java,C#+Socket programming dan databse SQl server+MySql, aku nk fokus n bagi kaw2 punye dlm FYP aku, bg beyond dri org laen..Skang nie, aku dh embark plak dlm Silverlight technology and Windows Mobile platform, n insyaAllah sikit ms lagi aku nk jengah plak Grid Computing n apply middleware cm Gridspfere or Globus dlm FYP aku..

"WINDOWS MOBILE PLATFORM - ADER BERANI??"

Wat programming dlm Windows Mobile mmg sgt2 mencabar beb..Wat software utk hanset mmeg xsame ngn desktop..byk bnder kene consider cm battery level, signal strength, device orientation potrait ker landscape and ofkos, byak technology bleh explore. Tu y wat aku mkin jatuh cinta..ade 3G, Gprs, Wifi, SMS, MMS, Bluetooth..Perghh..Nak wat UI bkn senang.. Nak ikutkan bleh jer gune default control y ader, tp design mmg hampeh..So aku wat sume control sendri, insyaAllah next post aku akn cite cmana nk wat control sendri..Kalu sblom2 nie kite cumer taw drag drop button jer dlm IDE n tekan Ctrl+spacebar trus kuar sumer property..tp kali nie, aku wat sumer from scratch, draw kat screen, letak property supaya bile tkan ctrl+spacebar leh kuar, n letak event handler sndiri..

Programming dlm Windows Mobile byk mengajar aku ape die seni dlm C# programming. Sgt mengujakan..Sbb tu aku berazam nk jadi software engineer n expert dlm programming language, bkn hanya pada title shj..So, pd korag y bace post nie, programming is wonderful, sbb everyday byk bnde baru akn kite jumpe, n bile da bug, da 1001 cara utk settle kn die..

"BE THE BEST TO BEAT THE BEST"


Pic kakak aku - sorang Electro Engineer kat Petronas Kerteh..sj nk acknowledge coz die byk sponsor aku kat sini..haha

23 December 2009

Assalamulaikum wbt..


Mulai hri nie, blog nie akn dihentikan kerana empunya bdan mlas nk libatkn dri ngn dunia maya nie..sbb die rse-post slah, xpost pn slah..so..gua blah dlu

Result exam aku

Assalamulaikum wbt..


Alhamdulliah, pertama-tamanye dan selamanye kite pnjatkan kesyukuran dgn nikmat y diberikan Allah SWT kepada kite selaku umat manusia y serba pelupa lagi hina, dan y masih lagi diberi peluang utk bernafas di bumi y penuh mehnah dan pancaroba nie. Syukur jg krna kite telah dilahirkan atas tiket selaku hamba Allah dengan Iman sebagai pegangan, Islam sebagai prinsip, dan berbekalkan kalimah syahadah y sememangnya mudah utk dilafaz, tp amat sukar utk diamalkan..

Alhmdulliah jg krna aku msih diberi rezki utk dpt dean list sem nie..thanks pd sumer y mmbantu aku..

16 December 2009

Commando's:Battle of Honour

Assalamulaikum wbt..

Warning!

saje letak gambo nie..sebagai peringatan pd diri n pd kawan2 aku y kat luar sana..

Aku dh agak lame xupdate mende nie..xtaw nk tulih aper..ntahla..

Disebabkan kekurangan idea dan mengurangkan kerinduan pengunjug2 setia..start dri entry akan datang insyaAllah aku nk story sal background diri aku (of koz ar, name pn blog aku)..sj je nk kongsi cerita..mane la tw kot2 Kabir Bakhtiar nk amik wat skrip jalan cite baru..hehe

k..tu jer dlu kot..