# Tuesday, 31 July 2007

I have this funny feeling that I've actually posted something like this before... but hey, it's an interesting topic.

As an ISV that works to serve the client's needs and there are many times where we are presented with a requirement where we KNOW it's a critically bad idea which would generally cause a lot of usability problems should we go ahead with the requirement.

But... the client doesn't listen, even though we were brought in there in the first place to advise them as well as develop the system.

Even worse is when the client just puts their foot down and says "You just do what we tell you to do!"

That's when we do what the client tells us to do, but we try our best to take the necessary precautions so that if the problems crop up it either doesn't hurt the system that badly or we can apply our fixes as quickly as possible.

That is... unless the problem is formed at the very core of the system and since everything is built around the core... there's no easy way to fix it once it goes down.

At times like this I really wish that I could just tell the client Look, we're trying our best to help you here, can you please just listen to us? We are looking out for your best interests too you know.


Tuesday, 31 July 2007 00:06:25 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 30 July 2007

Ok, so I'm a bit slow on the bandwagon but.. Silverlight 1.0 RC1 has been released. So you can pick it up here. If you're a developer do pick up the SDK as well. And you're gonna need a new version of Blend 2 for editing purposes, but the download page is a bit weird so why don't you try and find where is the download link and if you fail then click here. For all other information do remember that both the MSDN Silverlight section is available as well as the official Silverlight site on the net (remember it's www.silverlight.NET instead of .com!)

Me? As excited as I over the release I can't help feeling a bit peeved that Windows 2000 support didn't make the cut this time around, would have made a huge difference for me.


Monday, 30 July 2007 10:18:29 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Sunday, 29 July 2007

I got my hands on a fan today.

A USB Fan.

An Oscillating USB Fan.

200707292319_087

It used to have a grill to make it look like a real desktop fan, but it was getting in the way of the blades, so I removed it (it can be seen on the stack behind the fan) but.. more problems, now it's too light so it starts moving around when it's on.

Maybe that's why they use gooseneck cables for USB fans usually?


Sunday, 29 July 2007 23:28:43 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Friday, 27 July 2007

As I expected, Transformers The Movie SUCKED ASS!!! Most people don't agree with me since they say I should have just let go of the fact that I have previous memories about the Transformers that definitely couldn't be fulfilled by the movie. What were my gripes with the movie? Let's see now... the big ass plot holes? The fact that the human characters were useless and unnecessary? The fact that the Autobots are idiots? The fact that the Decepticons have such a small role to play that it felt like a damn joke?

I guess this comic totally sums up my gripes about the movie.

Don't even get me started on the movie tie in games...


Friday, 27 July 2007 18:41:32 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

We shouldn't stop thinking about implementing the feature just because of some security concerns.

So.... If we shouldn't stop implementing a feature due to security concerns, when DO we stop? When something happens and the customer starts complaining?


Friday, 27 July 2007 15:24:43 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Thursday, 26 July 2007

After trying to cut WZ's hair herself and failing, mommy decided to take WZ out to an indian barber and told him to unleash the ELECTRONIC SHEARS OF FURYYYYYYYYYYY!!! on him.

DSC01751

According to mommy, WZ was feeling happy and cheerful when he was sat down in front of the big mirror they have in those barber shops. After all this is his usual reaction in front of a mirror.

But... He started screaming and cried buckets when he heard the shears and felt it rumbling on his head, chopping off his hair.

Upon hearing which I could only ask mommy Why didn't you take a video?


Thursday, 26 July 2007 23:36:05 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Tuesday, 24 July 2007

This is pretty much the reason why I don't want to keep the darn toy tray for the walker on it.

DSC01743

Everyone says the pics I take of WZ show him shocked or surprised, so how about one where mommy's surprised?

DSC01750


Tuesday, 24 July 2007 22:20:33 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 23 July 2007

Been getting a whole lot of spam from people claiming to be my mate, or neighbor, or old schoolmate.

But seriously, I don't know wheter someone has spam bombed me by putting me into some freaking mailing list or it's just another trojan running amuck. Considering that the links inside the email are pointing to raw IP addresses I'm gonna assume it's definetly a virus.


Monday, 23 July 2007 09:52:11 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Sunday, 22 July 2007

200707222051_085

Hmmm.. guess I should have adjusted the exposure a bit, anyway thanks to a friend in the XBox Live community I was able the fondle and molest an iPhone just now.

First impressions, well it's an Apple product alright, shiny, light, slim. No mistake there.

The software keyboard, well I don't know wheter it's because I'm not used to it or something else. Like I mentioned before you can't use your finger nails on the screen to tap the keys, you have to use your finger tips. And it's VERY likely for you to accidentally hit the wrong key if you hold your thumbs at an angle, the OS does some auto error correction by automatically changing illegible words to legal ones like say RWST to TEST. Wonder what happens if you tried to type a Malay SMS?

I was also right about the screen, since it doesn't work with gloves, I wonder how they expect people to use it in Winter? Headsets? Special gloves with Jello tips? Spit on the glove's finger tip before using?

Anyway in case you're wondering, nope.. the phone is still SIM Locked to AT&T so you can't use it with your own SIM card here even if you managed to buy one from the US.

Everything else was as I expected... the UI looks nice, but it's still not a phone for me. Heck.. not having 3G is excusable, but not being able to work as a modem? That's totally unexcusable!!


Sunday, 22 July 2007 22:25:06 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Saturday, 21 July 2007

One of my friends is also trying to upload her son's videos up to her blog, but her camera captures videos in MOV format, I'm gonna guess it's using the Motion JPEG format. Anyway she was saying the files are too big to be uploaded. A quick Google would reveal a lot of video converters around, two that I've heard of (never used myself) are

Me? Well.. mostly my videos are edited in Windows Movie Maker since my camera outputs files in MPEG2 format and that mostly works perfectly with WMM. But if I ever had to convert videos, I just do it manually with FFMPEG. Problem is... you can't download FFMPEG in compiled form from the site, so if you want it you can pick it up here, I got it from one of the other compilation distro sites.

FFMPEG is a command line program and is quite intimidating to use, so read the documentation or.. here's a quick sample of a command that will encode a given video that should be small and suitable for upload to YouTube and such.

ffmpeg -i inputfilename.avi -vcodec xvid -acodec mp3 -b 300k -ab 64k -ac 1 -s 320x240 outputfilename.avi

That will take the filename called inputfilename.avi and will encode using the video codec of xvid with a bitrate of 300k and audio codec of mp3 with a bitrate of 64k, flattening audio down to mono and the outputfilename.avi will have a resolution of 320x240. If the results don't look or sound good, the use a higher bitrate value.


Saturday, 21 July 2007 22:44:20 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
I got a new 2GB Micro SD card for my phone today, it comes with a pretty nifty add on too!!

Saturday, 21 July 2007 17:02:19 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Friday, 20 July 2007

If I ever feel like faking a demo again.

DON'T!!!! JUST DON'T MOTHER FARKING DO IT!!!

But if I absolutely have to.

  1. Ensure that all parties FULLY know their roles, and their steps
  2. Ensure that all faking of data can be done properly and accurately, no seat of pants experiences here.
  3. Ensure that the person doing the presentation if it's not me, can properly ad-lib and adapt to the situation.

But seriously..

DON'T FARKING DO IT!! IT'S NOT WORTH IT!!!


Friday, 20 July 2007 14:48:49 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Thursday, 19 July 2007

Impressive in the sense that I really don't think that the developers of Silverlight expected people to do something like this! Try it out before the Silverlight RC1 is released and they have to update it again to fit some breaking changes.

Windows Vista In Silverlight


Thursday, 19 July 2007 11:40:29 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Wednesday, 18 July 2007

Today my father decide to give WZ his first taste of non milk food, one of my wife's friends gave us a can of Brown Rice, but why is it called Beras Merah (Red Rice) in Malay? Anyway, it makes rice goo.. and according to my father, boy did he gooble it down quickly. Everyone else thinks he's eating it like that cause it's tasty.

Me? I think he's just happy that he can stick something else in his mouth without anyone pulling it out!


Wednesday, 18 July 2007 23:45:03 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

How do you convince your client that yes, you can recreate what they saw on a competitor's system. BUT... the competitor had a lot more time to refine the solution instead of the 2 weeks which your client is giving you right now.


Wednesday, 18 July 2007 00:48:39 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 16 July 2007

Wow... 6 months already.. well, almost. Time flies by so fast when you're counting how old your kid is. And they grow up so fast... from just sleeping on the bed... to squirming.. to rolling around.. to crawling around.. and pretty soon they'll be so different from how they were 3 months ago. So best to remember what ever you've been doing with your babies, cause you never know when they have a change of heart and act differently all of a sudden...

DSC07102

After this picture was taken, WZ learnt how to put his head up while his is lying on his stomach. He doesn't want to sleep on me after that.


Monday, 16 July 2007 01:37:43 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

So.. at 5 months out.. WZ can pretty much chase an Ang Pow around the bed. But that wasn't the case when he was 3 months old, and he was still doing the keep kicking till he flips over style of rolling over.


Monday, 16 July 2007 00:42:03 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Saturday, 14 July 2007

 Look at this place...

200707141402_071

Now... would you buy a gate for your house from a place like this? Look at the weeds!!! Look at the worn out gate, and the menacing looking lock and chain! Looks more like a drug joint than a showroom for house gates. My wife says that the reason they have such a depilated place is that the main office is in Ipoh and they don't want to spend too much money in a showroom to pass on the savings to the customer.

Right.....


Saturday, 14 July 2007 23:25:18 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Friday, 13 July 2007

I bought WZ a colorful ball that crinkles, but all he does with it is chew and drool into it. It doesn't really attract him that much.

But show him an Ang Pow and well.. my mother was right... you don't need to buy colorful shiny toys for your babies to play with.


Friday, 13 July 2007 15:03:03 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [1]  | 
# Thursday, 12 July 2007

Why is it that mobile phone browsing technology just always seems to lag behind actual desktop web browsing technology?

First the mobile phones had WAP, which.. well.. I guess you have to say it was kinda a joke. But it enabled phone to actually browse information on the Internet.. even if said data had to be specially formatted for the particular device.

Then after a long time, mobile phones started adopting the XHTML standard, which although looks SIMILAR to normal web pages, had more stringent rules on formatting and while some phones which supported XHTML could see normal web pages, most of them would still choke on the immense resources required to display the onslaught of angle brackets!

Parallel to this, certain high end phones started appearing which had web browsers that almost shared the same capabilities of a desktop browser. But these phones were expensive, and not for mass consumption.

Recently I saw that many new mass market phones are equipped with pretty capable browsers, therefore.. while the screens, at a resolution of 320x240 might be small, but the majority of the web could finally be browsed even if the viewer might have to scroll around alot.

So I thought that mobile devices have finally caught up... then I started realising that more and more sites are using the AJAX mindset in displaying their information, complex DOM manipulations, etc. etc. A mobile phone browser might be able to support SOME Javascript commands... but definetly not all the scenarios out there so... here we go again..


Thursday, 12 July 2007 23:59:02 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Wednesday, 11 July 2007

So you had the gutso to run your own business, that's great! Good for you!

Just remember to keep every single business transaction and client obligation in SIGNED BLACK AND WHITE DOCUMENTS!!! Because if ever anything turns sour you at least have evidence of what the client went wrong, that you didn't under deliver etc. etc. Also if you want to keep your path of income open and not allow them to give the source to some other person to enhance it for them, state it in the contract.

And in a case where the client DOES run off to some other provider, DON'T out of spite log into the clients system and delete the program from their servers, especially if the client has ALREADY PAID YOU!

That's why a document trail is necessary, so when push comes to shove you can sic a lawyer at them or make sure you can't be sic'ed by their lawyer!

(That said, a good lawyer can pretty much win any case! :P)


Wednesday, 11 July 2007 22:37:57 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 09 July 2007

Ugh.. what a scary feeling. To have your client engage the services of a 3rd party security firm and submit your code over for a code review to see if your code is secure or not.

No offence to those guys, but I guess I'm uneasy for letting someone who's bonus is dictated by how many flaws they find in my code have free reign over it. What would I have to do? Explain in detail why I did all my little hacks, the shortcuts, promise that no external code ever ever ever will run in the component (Just remember.. promising that your code works well is NOT a solution).

I guess the thing that I'm most worried about is, different programmers have different styles and methods of solving a problem. But what if those guys feel that theirs is the best way and then get the client to pressure me to confirm even though my way is just a secure and efficient as theirs?

This is going to be an interesting experience.


Monday, 09 July 2007 13:35:29 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Sunday, 08 July 2007

If you've been shopping for LED lights before you would have noticed that sometimes they are dirt cheap, and sometimes they are EXTREMELY EXPENSIVE!! And yet they all seem to perform exactly the same.

Take for example these round LED light emblems.

200707081838_062

I've seen them being sold under the OSRAM brand name for I think.. around RM40? I got these for RM8.. RM8 for BOTH of them!! And well.. they work.. they shine... So what are you paying for with more money?

Usually a better LED power controller, a cheap light might just directly pump juice from the batteries, decreasing the battery life. But the good thing about LEDs are that even though the battery power might be low you can still get pretty usable light from the LEDs. A brand name LED light might have a proper power controller so that the LEDs will give out a bright light for a longer time compared to the cheap ones.


Sunday, 08 July 2007 19:17:40 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

My wife slapped me in the chest waking me up from my sleep. "WHERE'S WZ!!!??!?!" She screamed. You see, WZ sleeps between us on our bed. But he's a lousy sleeper so he ends up all over the place, at the foot of the bed, the head, in my wife's face, etc. etc.

I scanned the bed in front of me, sure enough.. WZ was missing! This wasn't good, we were always afraid that WZ might roll off the bed, so we bought some bed railings and cordoned off most off the gaps, it should have protected him from most falls. More importantly... if WZ DID fall, and he didn't cry when he did... that would be VERY VERY BAD.

As I was about to freak out, I felt something on my back (I was sleeping on my side) I carefully turned around and.. there was WZ, sleeping VERY SOUNDLY. Heck, his pacifier was still in his mouth!

The question now was how did he get over there? One theory was that he crawled over me, but if he crawled over me, he'd have to fall onto the area beside me, and there's no way the pacifier would stay there. He couldn't have crawled the LONG way around me cause... the way he moves, the pacifier would never stay in his mouth. The 3rd possibility is that I sleep walked.. moved him over beside me and forgot all about it.

And that's scary!


Sunday, 08 July 2007 01:36:42 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Saturday, 07 July 2007

So as I was walking through Low Yat Plaza today when I say this little guy sitting in a display case.

200707071245_060

It's the Fujitsu U1010 one of the errr.. 2nd generation UMPC devices. Which means it's not really meant to be a notebook which you work on, but more like something you carry around which is more powerful than just a PDA (or an OVERPOWERED & OVERPRICED PDA) but is still small enough to carry around almost everywhere. I prefer not to call this a review.. more like a molestation report. :P

The specs are nothing to write home about, with an 800Mhz processor, 1GB of RAM and a 40GB hard disk. Pretty standard fare for an entry level notebook. One of the interesting bits is that it sports a nice 1024x600 screen, making the little 5" display look extremely sharp. And cause it uses the funky Intel chipset.. is able to run with Aero on if that is your wish.

The placement of the touch nib, on the top of the keyboard would seem to make it look as if you're supposed to be using the thing by holding it in your hands kinda like this pic. Which I guess it's more appropraite give that on my 7" P1610 it would already be a bit cramped to type on normally, on the 5" well.. it gets a bit difficult. So it would seem as if the keyboard would be better used as a thumb board, unfortunately it doesn't have the thumb board caveats ie. locking shift key, locking ctrl key, etc. etc.

One thing that left a bad impression on me is that first of all the thing doesn't have a built in VGA or Network port. The salesman tells me that both ports are on an included dongle, only problem is.. the dongle connector is on the center in FRONT of the keyboard, which means it'd get the way if you were trying to work on a table while connected to a wired network. Guess they don't expect you to do it that often.

I hate the fact that there's only ONE USB port on the thing, but I guess I shouldn't complain too much since it's a 5" slim convertible tablet... errr.. book PC.

It's a very interesting device, and let me put it this way.. if you even thought about buying the little devil of a PDA, you REALLY should give the U1010 a look, yes.. the U1010 isn't a phone but lets face it.. you wouldn't use a ceramic tile as a phone right?

I'm still keeping my eye out on the Asus eeePC of course.


Saturday, 07 July 2007 22:13:48 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

5 months, 8 kilograms..

DSC01694

And he's able to sort of sit up on his own, although balance is still a problem right now. Basically he needs to know not to look straight up when he's sitting. Soon.. he will be walking..

DSC01674

With some help at first of course..


Saturday, 07 July 2007 00:06:33 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [1]  | 
# Friday, 06 July 2007
A package from HK was awaiting me when I got home today, it contained 3 items I ordered from PDAir. One works PERFECTLY.. one has me very annoyed.. and one has me in the Why the fark did I waste money on this? mood.

Friday, 06 July 2007 02:16:49 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Wednesday, 04 July 2007

About a month ago the father of PDAs, Jeff Hawkins revealed what he called a revolutionary device, called the Palm Foleo. It's pretty much an ultra light 7" notebook, but.. it's not meant to be a notebook.. it's meant to be a companion device for... your PDA... Oh wow.. a companion device for a companion device. What a GREAT idea! It seems like Jeff Hawkins thinks that there are people who want to work more on their smartphones or PDAs but because it's hard to type a lot on thumbboards people need to have a better working enviroment but not a notebook because notebooks are heavy, and ultra light notebooks are expensive. So a new type of mobile companion appliance is exactly what these people need. All this for a price of a small small sum of USD599 (Screw the rebate cause we're definetly not getting that here!)

My reaction to the announcement was pretty much the same as most people which was.. What the bloody hell was he thinking when he thought of this?

But the kick in the nuts for Mr Hawkins came recently during Computex Taipei 2007, when Asus announced the Asus eeePC. It's a simple 7" notebook that runs on a simple 900Mhz Intel processor, has 512MB of ram, a simple 800x480 display and an 4GB Flash Memory as storage. It's a pretty whimpy machine on all accounts... except for the fact that it's retail price is supposed to be USD 199.

So now the previous statement becomes.. USD 199 for an x86 UMPC which can run Windows, Linux or any other x86 based OS you can think of. Sure it's whimpy.. but it's USD 199!!! Heck.. the 8GB version is supposed to be USD 299 and still it makes an impressive argument. Heck I'm definetly picking one up if the price is < RM1500!

So.. what's the future for the Palm Foleo now that there's a LOW cost ultra light notebook which can do pretty much everything it can do, but because it's only cost USD199 people won't even expect too much from it. The price point is just too good!


Wednesday, 04 July 2007 00:25:42 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Tuesday, 03 July 2007
Now.. what sort of a gadget person would I be if I didn't make a post about the iPhone. Apple fanboys better turn away now cause most feel that I'm biased against Apple. Done? Great...

Tuesday, 03 July 2007 14:10:21 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

When someone asks you "Do you have the proper security clearance for this information?" and you're able to answer... Why yes.. of course I have clearance.

That feels cool in a.. weird way...


Tuesday, 03 July 2007 11:33:31 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Monday, 02 July 2007

If you're a programmer that deals with databases you OWE it to yourself to know what SQL Injection is.

SQL Injection is not a new vulnerability attack, just check out this 3 year old article talking about it.

SQL Injection affects ANY type of data access code, it's not a problem that's specific to MS development platforms, as it is caused by bad coding practices.

SQL Injection is RIDICULOUSLY EASY to protect against (compared to HTML, XSS injection, etc. etc.), but it seems most programmers have no idea how to do it.

If you're a programmer, you owe it to yourself to Google SQL Injection NOW!

Here's some more reference links.

- In the context of ASP.Net
- In the context of MS SQL Server


Monday, 02 July 2007 11:18:27 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
# Sunday, 01 July 2007

When filing claims for purchase in foreign currencies, check how much was charged to the credit card first instead of relying on xe.com to get the current exchange rate and end up claiming for the wrong amount.


Sunday, 01 July 2007 22:58:12 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 

As mentioned in my C730 post, the phone doesn't have a standard audio jack.

BUT... it does have Bluetooth A2DP support, so I decided to get this Creative Bluetooth transmitter dongle set. What is it?

DSC01677

It basically consists of 2 dongles, one is a Bluetooth A2DP receiver with a stereo jack where you can plug in any normal headphones or speakers, etc. etc. The other is a Bluetooth A2DP TRANSMITTER with a stereo plug which you can plug into any standard audio output device.

I was more interested with the A2DP receiver and it paired easily enough with the phone, and within seconds I had music playing on the C730 and piping out of my portable speakers.

I was very satisfied with the solution... until I played a video and discovered the awful truth about the transmitter. THERE'S A DELAY!!! It's almost about a second... which makes it VERY VERY bad for videos since lips doesn't match up!!

Also.. seems like decoding both 480p video and audio and ENCODING audio so that it can be transmitted to the A2DP device is just too much for the puny 400Mhz processor in the C730.

So I thought it was because the C730 was not specialized in performing A2DP transmissions, so I used the Creative A2DP transmitter, plugged it into my DS Lite, and fired up Ouendan 2. Sure enough.. there's a half a second delay on the audio making it very VERY hard to play games with it.

So while it might work for music, this solution would never work for video.. Looks like I'm gonna have to get myself a real cable adapter if I want proper audio output from the phone.


Sunday, 01 July 2007 19:38:54 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  | 
As someone who has been searching for the best portable power solutions, let me just list out a few of the portable power solutions that I have acquired and you too can use if you feel the need to keep that gadget of yours powered.

Sunday, 01 July 2007 19:13:07 (Malay Peninsula Standard Time, UTC+08:00)  #    Comments [0]  |