Wednesday, May 27, 2009

Virtual Desktops and Cubes on Vista : Compiz, Ubuntu

Recently i been playing with Ubuntu 8.1 and quite fancy the desktop cube that was
available in the Compiz.

If you look at google, there are many Linux users that posted cool videos of this "virtual desktop" and its effects, the comments ranged anywhere from MS bashing to degrading insults to people who chooses to use Windows/Vista instead.

Well here are the good news.

You can download a cheap (Free) and fast virtual desktop manager for Vista here :

It allows you 4 desktop that you can switched via ALT-Num, which is a good hotkey.
Its only 68k, that shows how little work is required to have such functionality in Windows.

"How about the cube! We want the cube!!!"

The cube is available here, you have two options :-

One that is not free :

One that is free :

Have fun!

Wednesday, May 13, 2009

In hardware we put our trust....

This morning i got a call from a customer. Running a powerful custom VPN solution (ipsec) for Windows that i wrote with multi-branch and failure switchover. He was just upgraded to a new version just few days back and now he complains that it hangs the server.

The symptoms are :
- server unresponsive and hangs periodically
- it even hangs while trying to reboot

After we turn on the VNC and remote in, i couldn't find anything wrong with the system. The guy on the other side then exclaim "How did you manage to login? I can't even get the CTRL-ALT-DEL to work". It was then obvious that i could login by asking VNC to send the CTRL-ALT-DEL, so i queried him further and the problem was actually his Keyboard.

An erratic hardware failure on the keyboard (capslock, numlock not responding) gives you the impression that the Server has hung.

This event got me thinking. Why do people always associate failures with Software and not hardwares when a problem first surfaced? I believe the reason lies much to the way sofware are produced compared to hardware. Sure, there are good programmers and bad programmers, they are also good manufacturers and bad manufacturers. But the key lies in the fact that
"bad manufacturers" still have to adhere to certain quality and the fact that creating a hardware requires much resources and after thought before committing to one.

Hardware specifications are dead static and factories that produce it must have certain quality check. If you are planning to produce a cheap alternative graphic card to the market, you will still pay a lot of attention to some quality and testing cause its going to cause you a bomb to start a factory on it. The same goes for keyboard, mouse, webcams and the whole list of hardwares that we associate with the PC. Yea sure, Logitech wares that are made in china have lousy fittings and cheap plastics but it still works as advertised.
Electronic components are "reusable code" at its' highest form. Nobody builds a hardware from scratch, they select the components that are already widely available in the industry and just design its own mold and maybe a few specific components.
Take the Razer mouse for example, the optical component and the RAM are manufactured elsewhere i am sure, while the casing, the scroll wheel and buttons are Razer's design.

Software on the other hand, much of its true value are hidden from the naked eyes. How a particular function is done varies from each programmer and so are its reliability. Much of what users perceive are just GUI while the core engine could fail in a thousand ways.

This brings me back to the Demmings 14 points some believe are the reasons why Japanese goods are viewed as high quality and reliability, it should be practiced in Software manufacturing as well.

Demming's 14 point :-
  • 1."Create constancy of purpose towards improvement". Replace short-term reaction with long-term planning.
  • 2."Adopt the new philosophy". The implication is that management should actually adopt his philosophy, rather than merely expect the workforce to do so.
  • 3."Cease dependence on inspection". If variation is reduced, there is no need to inspect manufactured items for defects, because there won't be any. - (Unit test?)
  • 4."Move towards a single supplier for any one item." Multiple suppliers mean variation between feedstocks. -(Oh dear, not Microsoft pls...)
  • 5."Improve constantly and forever". Constantly strive to reduce variation.
  • 6."Institute training on the job". If people are inadequately trained, they will not all work the same way, and this will introduce variation.
  • 7."Institute leadership". Deming makes a distinction between leadership and mere supervision. The latter is quota- and target-based.
  • 8."Drive out fear". Deming sees management by fear as counter- productive in the long term, because it prevents workers from acting in the organisation's best interests.
  • 9."Break down barriers between departments". Another idea central to TQM is the concept of the 'internal customer', that each department serves not the management, but the other departments that use its outputs.
  • 10."Eliminate slogans". Another central TQM idea is that it's not people who make most mistakes - it's the process they are working within. Harassing the workforce without improving the processes they use is counter-productive.
  • 11."Eliminate management by objectives". Deming saw production targets as encouraging the delivery of poor-quality goods.
  • 12."Remove barriers to pride of workmanship". Many of the other problems outlined reduce worker satisfaction.
  • 13."Institute education and self-improvement".
  • 14."The transformation is everyone's job".