Risk Management Software Engineering

The BIG Dilemma – Should I re-build the good old house?

One of the biggest consideration and dilemma as a software engineer is, should I re-design the system design and clean up the source code or not?


Here is a classic scenario as illustration purpose.

If Mutu’s source code is well designed and clean, Sally is considered lucky to pick up his role to continue and maintain his source code. Otherwise, it will be a nightmare for Sally to try to figure out his design and the dilemma on whether to clean up his source code. Why dilemma to re-design/revamp the system? Cleaning up code is good provided you are well-verse with the entire system design. The main benefit of a clean, organized and well-design system is maintainability. Although I don’t consider myself a talented software engineer, developing a well-maintained source code is one of my principles. I would rather spend a little more time to make the source code more maintainable, so that I don’t have to have sleepless night and headache troubleshooting bugs and for future enhancement.

But, for a large and critical system whereby there were many software engineers have ‘touch’ on the source code, usually new software engineer will opt to take the safer path by not making any unnecessarily big changes, be it to clean the source code or to re-design the system. Re-design the system can cause big impact to the entire system and highly susceptible to bugs too. Much effort is needed also to re-test the new re-vamped version.

Java NetBeans

Invalid jdkhome specified – Cannot locate java installation in specified jdkhome:

You click the NetBeans IDE shortcut and got a message like below:

This is due NetBeans cannot locate java installation in specified jdkhome: C:Program FilesJavajdk1.6.0_22
Most probably you initially installed JDK at the default location above and then you uninstall it and reinstall to another location.

Anyway, to fix this, all you need to do is just go to find netbeans.conf from where you installed your NetBeans. For me, I have it at C:Program FilesNetBeans 6.9.1etc

Once found, open the file and look for something like below:

netbeans_jdkhome=”C:Program FilesJavajdk1.6.0_22″

Then, change the above to the valid path, example


That’s it!


Indirect reference is being made to assembly System.Web.Extensions version

The full error message is:

Error 1 Indirect reference is being made to assembly System.Web.Extensions version, which contains ‘AjaxControlToolkit.CalendarExtender’. This Project references a prior version of System.Web.Extensions version 1.0.61025.0. To use ‘AjaxControlToolkit.CalendarExtender’, you must replace the reference to System.Web.Extensions with version or higher.

After some time finding for the cause, I realize that this is due to the me using the newer version of AjaxControlToolkit.dll. I should use the older version AjaxControlToolkit.dll for my ASP.NET 2.0 development.


Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation

The full error message is

“Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation. Specify the ServiceNotification or DefaultDesktopOnly style to display a notification from a service application.”

This is probably due to you using MsgBox(“so message here.”) for your web application. I learn that you can only use MsgBox for window form application.

So, the solution is to think of other way to display a message to the user.

ASP.NET 2.0 Software Engineering VB.NET

Hide your source code at the browser when hit error

I got a little anxious and embarrassed to see my source code exposed at the browser when I got an error.

Managed to find out that this is due to some setting at the web.config. I just need to set debug to false.

[sourcecode language=”html”]
<compilation debug=”false” />