Thursday, July 29, 2004

ASP.NET Compiler Error 128

If you ever hit the above error in your ASP.NET application, Scott Hanselman has some words on this.


Tuesday, July 27, 2004

Snorkelling is fun!

I experience my first snorkelling activity while I was in Perhentian Island the last weekend.

I feel a little bit hesitate was at first. I was thinking it is safe for someone who doesn't swim very well like me to do this ? But what the heck, after all that is the whole point I was there for the trip. It is some thing I always wanted to do.

I rented a mask and fins and move out to the sea with my other friends. Once I jump into the seas, MAN! I just feel like doesn't want to get out from there. It is just so exciting to be to see the corals and fish with your own eyes. The fishes pass you in every direction. I wish I can dive in deeper to touch the corals. For those who want to know whether what you see in Nemo is real, now I can tell you it is real.

For those who still haven't try it before, you should. It is not dangereous, you are wearing a life jacket during the snorkelling, you won't sink.



My Camera, Canon Powershot

I recently bought a new camera, Canon Powershot S1 IS. I had a chance to use it during my recent trip to Perhentian Island.
My feedback for this camera is good. It has a good balance of features between a fully automatic and advance feature camera. The camera give you certain granular control on the features such as lighting, exposure, focus and so on. On the other hand even with all these features built in, it doesn't make the camera any difficult to use. It is easy to switch between shooting mode and the menu is easy to navigate.
The only downside of this camera is its size. It is about 1.5 times larger than the IXUS and of course more heavy. But that is not a really serious consideration factor if you are a photographing enthusiastic and the features advantage of that camera outweight everything else.
The design of the camera is slick and it has a thick handle at the right side plus the Image Stabilizer allow you to operate the camera with just one hand(from mode switching to zooming to shooting). I have try to shoot photo using the IXUS camera with one hand, some times the effects are bad because of my hand shakes while taking the photo. With this camera, I don't have this problem. The Image Stabilizer will autocorrect the image if the degree of shaking is within a small threshold.
Its major differentiation features, which is a 10x optical zoom capability is very useful especially when taking outdoor photo and scenery. It give me quite abit of flexibility when positioning my image.
Another feature that I really like alot is it allow me to change my focus frame(I am not sure whether other cameras beside SLR has this feature as well). I change the focus frame which is normally at the center to the side (where my friend is standing in the photo) when taking a sun set photo. The outcome is the flash is now directed to my new focus frame and doesn't spoil the sun set effect. I can see my friend's face and the round shape orange color sun both clear and sharp in the photo.
I would recommend this camera to anyone who want to shoot professional photos but don't want the complexity and technical knowledge of operating a SLR.
Another camera that have similar capability is Olympus C760 and C770. But the cons of these 2 camera is that it use XD memory card which is about twice the price of Compact Flash(used by Canon) of similar storage capacity.

Monday, July 26, 2004

Trip to Pulau Perhentian

Just came back from a 3 day 2 nite trip to Perhentian Island. The island is located at east coast pennisular Malaysia close to Terrenganu. It take about one and half hour drive from Kuala Terrengganu town to the Jetty and another half and hour by boat to the island.
Coincidentally while waiting at the town for a pick up to the jetty, I met one of my friend. He is on his way to Redang Island, another island along the east coast which is also close to Perhentian Island.
The place I stay is  Bubu Long Beach Resort. It is located at Perhentian Kecil. There is only this one major resort along that beach.
Perhentian is a beatiful island. The island is quite isolated and full of visitors from the west. The sea water is greenish and blue and so clear that you can see through into the sea. My major activity there was snorkelling. It feel so great to be able to see the corals with my own eys and swim along side with the fishes.
All I can say for this trip is WOW! Thanks to my friend, Chin Syan who has brought me into this trip.

If you want to know more about Perhentian island, follow these links :

To know more about Pulau Redang, follow these links :


Wednesday, July 21, 2004

People vs Process vs Technology

I just complete conducting a 2 days training on MS Project Server this evening. The latest MS Project Server has some new features that is quite neat, useful and is more stable and pretictable than the previous version. Some of the trainee has very eager to see the collaboration features coz they said that is what they want.
I finally show them these features today together with the process/workflow and at which point of the process use which features and how to use it. I notice quite a few of them got lost in the middle. I have observe this situation in few other places also.
The reason to this is that the technology change how they do their work. In the past, the project manager has to do all the work including updating project status. So they don't need to think much about delegation and process since there is only one central point to do the work.
But the new technology change this in an obvious way.  Let's go though some of them. The comparison is both using MS Project as the project management tool, but one is running in standalone mode, and the other run in server mode.
Project Manager used to do all the updates and communication work himself. Using MS Project Server, some of these work has been automated. For example, whenever a task is assigned to a team member, the team member receive notification and update the task via Project Server Web Access. This eliminate certain level of communication between the 2 parties. And in between this process, there is an approval step which was never happen before.
When MS Project run in standalone mode, everytime a new project is created, the PM switch to resource sheet and simply type in the resource name. But if the PM does this in Project Server, he will mess up the resource management. The PM is suppose to import the resource into the project through the Enterprise Resource Pool. If he simply type in the resource name, the resource won't be made as enterprise resource and therefore no analysis can be made for that resource such as availability and utilization. For example, if you simply assign a resource to a task that happen on a day where the resource has some other work, how do you expect the resource to manage his time, do you want him to work 16hr a day ?
Enterprise resource is a very useful features but it often cause confusion and complexity to the user because they never had this feature before. This is not an enhancement, it simply is a brand new thing.
Looking at this scenerio at a higher perspective, the confusion is neither because the user is dump or the technology is too complex. The user sometime know what they want, but they just can't visualize or express it. The technology can also achieve what they want. So, where is the gap that cause all these confusion?
It is the process. People always think that by buying new software and technology will help them to do their work better. What they don't realize that they have to first analyze, understand, visualize their business process, problem and need first. Without knowing your business process and needs well, you can't dictate what features you really need and where you can apply them.
Technology can only do wonders if you know how to use them effectively, what problem they are trying to solve and where to apply them. And you always have to link this back to your business need.
But don't get me wrong. I am not saying that business willl dictate everything. There is a balance that need to be strike between business need and technology. Technology will  change how people work(whether is for good or bad), and business will also dictate the technology. There will be some compromise. The key here is understand what, how and where to compromise and what new benefits you gain from this compromise and does it justify.
Deploy the technology without the proper process will almost destined to doom. It is very costly to realize this later and fix it late.
Another aspect to consider is the people. You can develop super cool features and introduce super efficient process. But does you user is going to buy it ? Can they accept the new changes ? Are they ready for the changes ? Or are you targeting the right person ? For example, if you are selling a solution that help improve the communication and tranparency of information within an organization, it is always better to start the initiative from top management.
If you are selling a solution that can help people to do work faster, reducing overtime work, it is a good chance that it will work out better if you approach people at the operation level.
Always remember this sequence : People, Process and Technology. End of the day, it is people who develop the business process, and it is people who will sign the cheque and use the product.

Open Source in Malaysia

There have been quite some "perspective" given to the recent annoucement of Malaysia's Goverment initiative to move to OSS.
Here are some links :
And here is my view :
Whether you go for OSS or proprietary software, you still need somebody to build the software. Isn't that still a lockdown ? Isn't that you still have to pay someone to build it ?
Given all the source codes and documentation, does your programmer have all the skills required to make the code changes or to add features ? I believe most people have download some open source application. But how many of you actually go through the source code and documenation in details ? How many of you understand all the bits in such details that you are so confident you can make changes to the code without breaking other part of the software ?
People claim anybody can fix code and patch security error in OSS. But do you really trust the code that is patch by someone that you don't even know and how can you be certain that it is a quality patch?
By adopting OSS software, you can update and make changes to the software at your own pace ? Do you ever have the chance to update your software application at your own pace? Well, you could do it, but perhaps when you are done, you already miss some critical business deadline that render the software useless.
Well, "There is no need to follow the foray to follow the rest in having to upgrade".  I think the issue of upgrade is more of a process rather than a trend. Just because your proprietary vendor release a new version, doesn't mean you need to upgrade as soon as it is available. You should consider your business need and not the version number attached to the software when thinking about upgrade. "Proprietary vendor" like Microsoft, when they release new software, of course they encourage people to upgrade and buy new version because it certainly offer new features advantage and more advance technology, and I think it applies to all other vendors as well. But does Microsoft ever point their gun at you forcing you to upgrade ? I have see NT4 boxes that are still running fine and no urgency to upgrade.
Support issue. Of course OSS has their community web site and forums for discussion. There will be people who will help you there somehow. But who is the ultimate person that is responsible for the software issue ? You might not even know where the OSS software come from. I recently face a issue when deploying a Microsoft product. I contact the local MS subsidiary, on the same day, they escalate the issue to PSS, the PSS engineer contact me and we solve the issue in just 2 email correspondence in less than 2 days. The whole process of support is well documented and done professionally.
Another good point that Marauderz made. I just want the software to work and do the work that I want it to do. Why should I bother with downloading the source code, download the compiler that can compile the code, and go through the documentation for the steps of compiling it. Where does productivity go here ? My parents have no ideas what kernal and compiler is. All they know is double click setup.exe, then goto Start->Programs -> blah blah blah...
So much more points to make, but I think Marauderz have speak the crucial one. I guess I should just stop ranting here.
All the points above set aside, I does support OSS as a platform to share knowledge and no denied that I have learn from some of those source code. But moving  from one technology strategy to another require more thinking that you could think off from the surface.
What is your opinion ?

Tuesday, July 20, 2004

GDI+ Doesn't XOR

Recently I am writing a screen capture program capture in C#. I notice GDI+ is missing one very important function.

It doesn't support drawing using XOR mode. What a big limitation! That mean now I got to research into how to do that using PInvoke. There is a SetROP2 function in GDI32 but using that with manage code pose a new set of complexities on its own.

The other workaround is that I have to save the state of the drawing surface into a Bitmap. But using this technique to draw a wireframe everytime the mouse move on the drawing surface is going to cause my app a big GC hit as everytime the mouse move, I got to dispose and create new Bitmap object to save the state of the drawing surface.

Any of you guys have any solution to this XOR problem?

Labels: ,

Force Of Blog with Me Now

After thinking for so long,  finally sign up myself as a blogger. For the last two months, I have got more and more hook on with blogs. I spend alot of time at nite reading other peoples's blog.
Think this should be fun when posting online people what you are doing.
For .NET enthusiast, if you still not aware of this, these are the blogs that I personally rated as MUST READ : (Brad Abram is the Lead Program Manager for CLR team. His blog contain alots of links to other CLR team bloggers) (Eric Gunnerson is the Program Manager for C# compiler team). (The security guy in MS. Author of Writing Secure Code).
There are alot more interesting blogs that I can't simply list all here.
More to come..