Impressed by the VirtualBox

>> Tuesday, October 12, 2010

Both my personal computers are now powered by Ubuntu and it has been the case for the past 8 months or so. I must say I am very satisfied and do not regret one bit my Windoze days. Ubuntu has given my aging laptop a second life and has rescued me from the hell of Windoze Vista on my desktop. Overall, things run smoother and faster on both my computers and I can find pretty much anything I need as free application software with generally very few hassles when comes the time to install or update software.

However, there are times when it seems you cannot easily do without Windows. For example, when I need to prepare my income tax report with a piece of software only available on Windows. Just recently, a client asked me to do some maintenance/changes on an Eclipse RCP application we had developed for him a few years ago. Actually, the (Java) program runs pretty well on Linux but I really need to test it on the client's target O/S. I never had any luck with Wine (Windows emulator) on Linux so I tinkered with the idea of configuring my computer for dual boot as a solution but that really did not appeal to me.

That is when I remembered about virtualization and my earlier experiments with Sun's VirtualBox on a Windoze host about a year ago. I had not pursued my investigation very far at the time but the technology appeared promising. Turns out that on my Ubuntu/Linux machine, VBox is a winner. Maybe the product has matured or maybe Linux is just a better host for this technology but I now have a full fledged WinXP machine in a window on my Ubuntu desktop and it is actually running everything I throw at it without a glitch and without any negative impact on the host O/S. I can easily share files, build my Windows RCP application with Eclipse on Linux and run it under (now Oracle's) VBox.

In a nutshell, if you use Linux but occasionally (or regularly) need to run software on Windows, then virtualization in general and VBox in particular is the way to go.




Riguor and ethics in software engineering

>> Friday, October 1, 2010

My formal training is in engineering and I am still a member of the provincial engineer's order or corporation. As such, it is my duty to practice my trade in a professional and ethical manner. My first obligation is to take into account the public interest, my second obligation is to cater to the security of people working on projects for which I have a responsibility. Finally, I must put the interests of my clients before my own or those of my employer. Furthermore, I must apply sound engineering principles in all my professional activities and must refuse to do (or approve) things that I know are wrong or contrary to generally recognized rules even if my customer or employer asks me to. Although I am legally bound by these principles, my personal conviction is that this is the way things should be handled by people practising and profession be it engineering, medicine, accounting or IT.

Now, my domain of work is software design and construction and I work mostly with IT professionals. What is often a surprise to me is how often these principles are not observed and not even promoted. Many professional are quite willing to design and build flawed systems just because their client (or boss) asked them to do things in such a way. As IT specialists and experts, it is our duty to do things according to sound engineering principles and the onus is on us to devise solutions that meet the business requirements of our customers while still respecting good practices.

Obviously, what must be done and how it should be done is subject to interpretation and different people can have different viewpoints on this. Some could argue that if you are not using a formal methodology such as RUP you are not applying sound engineering principles. I cannot agree with such a position. Methodologies are known to get replaced every 4 or 5 years by some new fad. What is considered to be the proper approach today may very well be considered nonsense tomorrow and that is OK. It is called evolution and creativity. Applying good and consistent practices in a given project is important and required but we do not always need to follow a very strict and formal methodology. Other things such as basic principles behind entity relationship modelling are much less subject to schools of thought or fads. To me, accepting to design and build a solution that does not follow ER modelling principles is just wrong and IT professionals should put their foot down and refuse to go along when colleagues or clients insist on modelling things in a funky way. It does not serve the interests of the client and can lead to real problems down the road that can cause financial if not physical damage to individuals and organizations.

Sometimes you just have to protect customers against themselves. Physicians, accountants and engineers are generally very sensitive to, and familiar with such situations. Unfortunately, many IT professionals do not seem to realize the importance of such issues.

So long,



  © Blogger template Webnolia by 2009

Back to TOP