Wednesday, January 27, 2010

What a nice day to begin with, reading these lines

Got it from forwarded email. It made me feel good at where I am now. Anything better, it's a privilege. Anything less, I don't feel like I'll lose anything. I already have what I want.
Siapakah orang yang sibuk? Orang yang sibuk adalah orang yang tidak mengambil berat akan waktu solatnya seolah-olah ia mempunyai kerajaan seperti kerajaan Nabi Sulaiman a.s

Siapakah orang yang manis senyumanya? Orang yang mempunyai senyuman yang manis adalah orang yang ditimpa musibah lalu dia kata "Inna lillahi wainna illaihi rajiuun." Lalu sambil berkata,"Ya Rabbi Aku redha dengan ketentuanMu ini", sambil mengukir senyuman.

Siapakah orang yang kaya? Orang yang kaya adalah orang yang bersyukur dengan apa yang ada dan tidak lupa akan kenikmatan dunia yang sementara ini.

Siapakah orang yang miskin? Orang yang miskin adalah orang tidak puas dengan nikmat yang ada sentiasa menumpuk-numpukkan harta.

Siapakah orang yang rugi? Orang yang rugi adalah orang yang sudah sampai usia pertengahan namun masih berat untuk melakukan ibadat dan amal-amal kebaikan...

Siapakah orang yang paling cantik? Orang yang paling cantik adalah orang yang mempunyai akhlak yang baik.

Siapakah orang yang mempunyai rumah yang paling luas? Orang yang mempunyai rumah yang paling luas adalah orang yang mati membawa amal-amal kebaikan di mana kuburnya akan di perluaskan saujana mata memandang.

Siapakah orang yang mempunyai rumah yang sempit lagi dihimpit? Orang yang mempunyai rumah yang sempit adalah orang yang mati tidak membawa amal-amal kebaikkan lalu kuburnya menghimpitnya...

Siapakah orang yang mempunyai akal? Orang yang mempunyai akal adalah orang-orang yang menghuni syurga kelak kerana telah mengunakan akal sewaktu di dunia untuk menghindari siksa neraka..

Siapakah org yg KEDEKUT ? Orang yg kedekut ialah org yg membiar atau membuang email ini begitu sahaja, malah dia tidak menyampaikan pula pada org lain.

Thursday, January 21, 2010

I'm on semester break!

I suddenly found this huge amount of time. I mean really HUGE. I have week nights and weekends free. Well maybe not to you, but it is that huge if you're studying part time. I was so used to worry about assignments and studying every moment every day, now for the next 3 months I am free! So I've been this free only for a week, I got my room cleaned up - got it into much neater state (heh) by bringing in 3 new proper furnitures - a bed, a study table and a wardrobe. Now everything is in its place and happy.

I'm not going to take pictures of my room (sorry Kak Watiey heheh) - it's such a sacred place for me. But they are very similar like these, except mine all in dark wood colour:



Ok that's done and now last night I started looking at Django + PostgreSQL + Python in general. Was kinda slow, I have this habit of looking too far ahead (maybe it's thinking too much) so I was worried that I would ruin my laptop in the future by blindly install everything inside. Typical woman? Being paranoid of nothing? Yea jumping in too early is not my thing, I'm scared if anything goes wrong. Laptop dies, application breaks, stuff happens yes I know but I don't want it to be because I didn't do my best to prevent it from happening.

Anyway, yea I'm embracing this temporary new found freedom - will put it to good use. Was so tempting to watch TV (I LOVE WATCHING TV - enough said) at nights but like my mom says "TV will be there forever waiting for you, go do something else better" so no worries there. Besides, I like programming. It's like a drug. I remember Harish Pillay said during 2009, "How do you think an author wins an award for his/her book? He/She probably reads alot of other books to write it. So, how do you be good in programming? You read alot of codes."

I love that man.

Thursday, January 14, 2010

Vista in Ubuntu

I had Windows Vista Home Premium installed last night on my Ubuntu machine. I have 2GB RAM and 250GB of hardisk. Initially I wanted to install XP but turned out the only original DVD we have is Vista Home Premium, so be it! I've been wanting to try virtual machine for a long time already but then yesterday that very geek kernel hacker, Nur Hussein, triggered the apt-get move in me with a line "VirtualBox is so cool!".

What's VirtualBox? In layman terms, you can have multiple OS running at the same time on your pc without rebooting. Those of you who only know Windows all their life, yes there are alot of other alternative OS you can try, like Ubuntu. Hey install Ubuntu on your Windows using VirtualBox, that's possible too.

Installing another OS (guest OS) on your existing OS (host OS) will take space and consume memory. In my case, I have allocated 1GB of RAM and 40GB of space for Vista according to its recommended system requirement. So that's 40GB off of my 250GB and if I switch on Vista I have only 1GB left for Ubuntu, which is ok for me (it only takes 384MB of RAM for Ubuntu). So you have to plan your memory allocation carefully as you must allocate as much as you can to let the guest OS run properly but do not do it until your host OS is left with not enough for it to run either.

What do you need for virtual machine?
1. PC that can meet the minimum requirement
2. VirtualBox
3. Guest OS installation CD/DVD

Install VirtualBox
Add deb karmic non-free in /etc/apt/sources.list then sudo apt-get update.

$ sudo apt-get install dkms
$ wget -q -O- | sudo apt-key add -
$ sudo apt-get install virtualbox-3.1

Install Vista on Ubuntu Karmic
1. Insert installation CD/DVD.
2. Follow instructions here. It's well documented!

And then finally.

[caption id="attachment_2141" align="aligncenter" width="602" caption="Windows Vista Home Premium on Ubuntu Karmic"]


I think 40GB of hardisk is abit overkill for me. And 2GB of RAM is kinda limiting for virtual machines. Well, despite all that, I'm going to have fun first and then think. That's the way to go in this crazy days. You'll never know when you're going to be hit with molokov cocktails....

Wednesday, January 6, 2010

Now I know how to mine data

There's just too many techniques on how you can do data mining. In grad school we only got to know 1 technique - by using artificial neural network. There's a tool for this - Weka. Download and install it or sudo apt-get it (yes imagine my surprise when I found out about this).

What's data mining?

Well, basically it's a process to get a knowledge (eg. if customers buy diapers, most likely they will buy beers too) from your data (imagine spreadsheets filled with numbers and strings). You may have thousands of records but how do you make sense of it? You mine those data, and get a pattern. From there you'll get a knowledge. So from this you can put beers next to diapers in supermarkets to increase sales. That's the general idea.

There's a 90% chance that the data you got is not cleaned aka there's missing values, some data are not consistent (eg. in sex can only have F or M, there's a value Q?), and some data are just plain rubbish. The data need to go through preprocessing stage. For missing values, you have to filled them up, either using mean or median values, whichever is best for your data. The same goes to inconsistent data. This is where working with experts in the domain you're working in is very important. You don't want to remove what you think is rubbish but it actually means something.

Then we have data discretization process where you reduce that huge amount of data but they still carry the same value. Afterwards we normalize the data. After this is done, then the data is ready for the modelling exercise.


One of the benefit you get from data mining is classification. It's where you can predict if you have this data (eg. male, married, doesn't have children, have regularly purchase beer for the past year) whether beer purchase is likely. So it will classify to something like this purchase_beer equals to 0 (no) or 1 (yes). In order for the model to predict 0 or 1, the model itself has to be trained with alot of data. Train it until it reaches the accuracy we want, above 90% is good. A trained model with very high accuracy is going to be an asset as you can feed it data and it will spit out what we want.

The most difficult part in doing this for me is the data preprocessing part. You have to have quality cleaned data to produce quality results. You have to carefully select which kind of data is relevant to your goal (eg. would you want to include one's job as one of the attributes considered for the diapers-beers example?) which is why having domain experts is important. They also have to determine how each data should affect the result (eg. job probably affects 10% but marital status affects 80% towards diapers-beers purchase).

I just love AI

There are just so many preprocessing methods & data mining hybrid techniques already been researched by academicians. I'm just so overwhelmed by the amount of technical papers on this. They probably not so much IT savvy like us, the implementors as they call it, but they definitely have the brain on that part of the world. We just have to scour through this massive database and get it to run on our apps. Well, should you need it that is. Coz processing thousands of data can take hours or days, some months, depending on your machine spec.

Open data

While doing data mining assignment last 2 weeks, I became frustrated with the unavailability of data in Malaysia. Sad. Maybe it's still difficult for us to see it now, I'm already imagining all the stuff we can do with those data like in JPA, MOHR, MOH, MOHE - fuhhhh I'm all shuddery now. Even in OSCC, those training feedback forms and MyGOSSCON feedback forms - hmm whatever happened to those?

There are concerns of exposing private data I guess. Well, if you ask me make the data anonymous, as I couldn't care less who got promoted last year. I only want the 'spec' of that person who got promoted - age, sex, location, department, salary, is he respected by peers, does he drive, etc, that kind of stuff, you get the idea.

Hmm.. this will take another 10 years to realise, I think.