Saturday, 28 November 2009

Monday, 23 November 2009

E17 vs KDE 4.3.1 -II

After my previous post comparing E17 and KDE 4.3.1, I tried to improve performance on both environments. On KDE, I could not go below 50 degree Celsius.

However, on E17, CPU temperature easily reached to 40 degree Celsius.

I have heard criticisms against E17 that E17 has taken more than 7 years trying to produce what KDE did in less than two years [they are referring to desktop shell]. However, such criticism is quite shallow. On its release KDE lacked a lot in terms of both functionality and stability. Even now, many packages are not complete in terms of functionality. For example, Amarok 2 has a new improved look than Amarok 1.4. However, Amarok 2 lacks ipod sync functionality [not considering the circumventing solutions as they are not for normal users]. Amarok 2 music database was not stable until recently. I have had a messed music database with incorrectly matched artist names and genres. k3b is not properly maintained. Kaffeine recently had a KDE4 port. My next post shall throw more light on "poor" KDE 4.

On the other hand, E17 has not been released but does not have intentions of such premature release to put users in trouble. E17 is clear in its approach and has maintained a standard of stability and functionality [Check out the svn version to verify]. Its performance even on embedded systems is marvellous.

Cooked linux console

Recently while I was playing around with code, there was a log line
printf("foo: skipped '%c'\n", c);

When c was a carriage return; the log line obtained was
'oo: skipped '
This was because carriage return takes the current position to the beginning of the line. Now, as the linux console is cooked by default [Most *nix programs get their tty input via the kernel tty driver in `cooked' mode.], it formatted the whole line and printed the line at once producing the effect.

A simple way to detect parts where the "cooked" console interferes is to run the command from within emacs. Emacs does its own input handling and is not cooked. The same log line in emacs is shown as:
foo: skipped '^M'

These petty issues must be kept in mind while considering portability of software.