Fight for the Internet 1!

Wednesday, April 15, 2009

KDE 4.2.2 Things are getting good

So I tried KDE 4.2.2 through VMWare today. I'm really pleased with the impressive improvements I see. I feel like I might be jumping the gun by saying this but KDE 4 may very well be ready for me to use. Here is a quick run down of what I checked/noticed since my last review.

System Settings
  • Overall / General: For one thing, the System-Settings area has been filled out a significant amount. Many things are there now that were missing only a few months ago, and what's there seems to work well.
  • Notifications: I need to confirm whether this is easy to disable all sound. By going to Player Settings and choosing No Audio Output, things might be what I want.

    You cannot turn off all the audio notifications in an easy way. I really hate the concept of going through every single program and turning them off. I like my computer to run silently so this is a personal annoyance, but to be honest the previous system under KDE3 was not great, just more usable.
  • Startup: Sweet new interface for adding startup programs/scripts. Very nice. Not tested yet myself but this is a cool feature.
Shortcut Keys Binding
Previously I mentioned that KDE4 seemed to only allow binding a single shortcut key sequence in programs, instead of their KDE3's well-established two sequence binding options. I notice that KDE4 may have added, or at least begun adding, options for binding two keys again. This is great.

Gwenview
Gwenview 2.xx is pretty much ready for use... for me anyway.

When I tested Gwenview, as of today, 90% of the "shitty" zooming issues (enlaring smaller images) previously noted have been resolved. I don't exactly know what source these fixes came from, but they are there. I am not even sure if there are any zoom related problems left.

I tested enlarging small GIF/PNG/JPG files and all of them look very good. It is difficult to say whether the zoom quality is "at the highest possible" while using VMWare but it sure looks quite acceptable for the time being.

The only unusual thing I noticed was on the enlarging of small PNG files. Gwenview may not have been performing perfect binary interpolation on all the sample test images I tested. Regardless, the enlarging zoom was still of a very acceptable level of quality.

Konqueror Preferences/Settings
Konqueror seems to have fixed some of its bugs since I last reviewed it, especially the great many of the issues I care about.
  • View Configuration: Many of the preferences are now saved, in particular Menu: Settings -> Configure Konqueror -> File Management -> Views.

    These were some of the most important for me. Though there seems to be a bug with not displaying the check in the checkbox for enabling "Show Delete in Right Click menu" but the feature is still enabled.
  • Tabbing: Tabbing still seems very solid, but I cannot remember if this successful preference saving was present in my last review. Regardless I take this a good sign of progress.
  • View Mode Icon Size: The bugs with inconsistent view modes icon size have been fixed. This time around, I only had one instance where the zooming was off slightly, but a quick setting of the zoom and the problem never repeat itself.
  • Toolbars: I already mentioned the Toolbars in Konqueror were improved and I am still impressed with them. Nice and usable and still quite configurable. That annoying bug with some element misplacement that occurred with KDE3.5 because of Gwenview integrated image viewing is gone.
Konsole/Console/Terminal profiles
The feature for smoother switching profiles within Konsole has been integrated. Very nice.

Power Management
Yet another sweet looking application I cannot wait to try. This is looking seriously awesome. I have not been able to try this on a mobile device but I will report on it as soon as I do.

Desktop Themes
This is pretty impressive. I guess is just goes to show that KDE can be even more customizable if you want. I don't even know where to begin with all the options. To be bluntly honest, even just testing this a tiny bit with impresses me. I see major potential for smooth and easy eye-candy customization.

Misc.
There are several things which I don't use but their existence is worth noting.
  • Digital Camera integration: I don't use a digital camera so my word is that of a novice but it looks like KDE is providing (or will provide) a pretty good user interface for accessing it. This is a nice thing to have since it promotes inclusion of more users in the future.
  • PDA/PIM utilities: KDE 4 looks to have some nice (and assumably working) PDA/PIM integration and software. I don't use a PDA (yet) but doubtless I will when the 2nd generation of the Google Phones come out. I am glad that KDE has good these utilities.
Themes
When I installed KDE 4.2.x from within Gnome, I ended up with a lot of more color themes... and they were good! When I reinstalled KDE4.2.x from Kubuntu, I was sadly surprised to find it does not ship with some of these themes. I hope that gets fixed because those themes were nice.

Font size
There are still some real font issues, but these may be less of a deal breaker than I first experience. Today in KDE 4.2.2 I set the entire system font size to 7 and then Konqueror and System Settings looked okay. Actually, everything I tested seemed to look just fine after this change. The exception was the Classic-Applications Menu, whose font became quite small but still readable.

Network Manager
I experienced Network Manager problems when using it through VMWare, but I'm not sure how it will perform on an actual system installation. The Knetwork-manager seems to cause a lot of problems for some people, though I have luckily avoided most of these problems through serendipity.

If you are going to use KDE4.x, I would seriously recommend having a diffferent network manager installed and functional. I suggest Gnome's network manager.

Mouse Gestures in Konqueror
Currently I cannot find anyway to enable mouse gestures in Konquorer. I conclude that this feature is not available yet in KDE 4.2. This is unfortunate because I use this feature every day. This is not technically a bug, just a missing feature.

Media:/ protocol
The 'media:/' protocol is not present in KDE4 yet. This is known to the KDE team and it is on their list of things to do.

Conclusion
I am pretty set to use KDE 4.2.2 right now, but I will hold off. I don't have any pressing need to switch yet, and the few missing features are not deal killers but important for me.

Previously, the failure of Konqueror saving settings properly and icon size mismatching was the deal killer for me. But now there only are a few missing features left on my list. Good times.

KDE3.5 an official option for Kubuntu Jaunty

So the Kubuntu team, in their wisdom, is offering an official "remix" version of Ubuntu 9.04 Jaunty pre-setup to use KDE 3.5 instead of KDE4. This is pretty cool in my opinion. I know a lot of users, myself and many of my friends included, are still using KDE 3.5.

The official news posts about it is here: https://wiki.kubuntu.org/Kubuntu/Kde3/Jaunty

I like I have said before in my previous posts, I won't give KDE4 a serious try until their release of KDE4.3 scheduled for June sometime. Prior to this news, I was planning on installing Ubuntu and then throwing KDE3.5 on top. In the meanwhile, this Jaunty with KDE3.5 release saves me a bunch of work.

Saturday, April 11, 2009

Speed up Firefox with TmpFS

Introduction
This shows how to speed up Firefox by running it entirely from RAM to improve speed. Most of the credit for this article should go to here, from which I have taken most of this information, with the exception of improving his shell-script understandability.

Firefox uses SQLlite to store most of its information. As SQLite accesses are I/O bound, Firefox suffers when from disk drive bottleneck and competition for read/writes with other processes.

Create RAM partition

Add this entry in /etc/fstab:

firefox /home/xxxx/.mozilla/firefox/xxxxxxxx.default tmpfs size=128M,noauto,user,exec,uid=1000,gid=1000 0 0
Shell Script
#!/bin/bash

WORKING_LOCATION="/home/jondoe/Sata/Linux/presets/home-configs" # Directory where RAM_DIR and LOCAL_DIR exist
RAM_DIR="/home/
jondoe/Sata/Linux/presets/home-configs/firefox3_ram" # Location mounted TmpFS
LOCAL_DIR="/home/
jondoe/Sata/Linux/presets/home-configs/firefox3_local" # Harddrive folder for out-of-RAM storage

#cd "$WORKING_LOCATION" # Switch to location of working location -- unnecessary if using absolute paths

if [ -z "$(mount | grep -F ${RAM_DIR} )" ]; then # Check if firefox TmpFS already mounted
# Not mounted
mount firefox # Mount it now
fi

# The file '.unpacked_to_ram' is an indicator that we have synced into RAM
if [ ! -f "$RAM_DIR/.unpacked_to_ram" ]; then # Check if we have sync into RAM
echo "No file found indicating synced to RAM"
echo "Executing sync to RAM"
rsync -av --delete --exclude .unpacked_to_ram $LOCAL_DIR/* $RAM_DIR # Execute sync to RAM
echo "Creating note for synced to RAM"
touch "$RAM_DIR/.unpacked_to_ram" # Create note for synced into RAM
else # Already in RAM.
echo "Syncing Firefox3 TmpFS to local folder..."
rsync -av --delete $RAM_DIR/* $LOCAL_DIR # Sync back down to disk
fi

exit
Crontab
*/5 * * * * jondoe bash /home/jondoe/.tmpfs_firefox.sh >> /home//cronlog.txt 2>&1

Thursday, April 9, 2009

Funny Manpage for apt-get

My friend Jeff discovered this today. Thought I would share it.

Tuesday, April 7, 2009

LLVM-GCC vs GCC

So I have been reading up on the LLVM, and on integrating it with GCC. I care about a possible integration of the system because I want Linux programs to continue to be fast. The compiler is an important component in that speed. Furthermore, unlike Microsoft, the GCC project does not have direct communication with Intel Compiler designers, so it is important that GCC compiler be damn good.

From what I read online, it seems like some people like to decry the GCC project as being difficult to contribute to, and perhaps it is... or was. I don't personally believe this after reading experts from The Cathedral and the Bazaar. But I also do not have a lot of experience with the GCC project personally. If nothing else, the history of the GCC since the late 1990s has definitely been one of better community involvement.

Benchmark Data
There is a project called LLVM-GCC which is the combination of GCC and LLVM and I have been trying to collect information on performance between the two compilers. Here follows some of the things I have found.

To note at the beginning, the speed of the compilers is dramatically effected by the CPU architectures they are compiling on. So, an X86_64 architecture compared to Darwin/PPC could give wildly different results for the same code. Many of these tests don't even mention their architectures.

At Cliff Hacks, we see the GCC outperforming LLVM when maximum optimization is enabled (-O3). Unfortunately comparing GCC with -O0 and LLVM standard is fairly invalid, since -O0 effectively ties GCC's hands for speed.

At Laurovenancio, we see LLVM-GCC outperforming GCC by about 2-4%, but this is using GCC 4.1.x. I know from other research that there have been some serious speed improvements in 4.2 and 4.3, and I know that 4.4 is continuing these efforts with Stack management improvements. Because of these updates, I would not take these results as very reliable now.

Leonardo-m's blog is the most recent (2008-12-14) and best illustration of results I have found so far.



These results seem to indicate an overall small speed increase when using LLVM-GCC. The nbody section was a bug which has been reported and fixed already.

If nothing else, the GCC is still an amazing piece of work to be competing so well, even with all of "supposed shortcomings" that I see frequently mentioned in relation to LLVM.

One reason that LLVM has not been adopted into GCC officially is that there are license conflicts between the two projects. I don't really care to list them now, but basically the GCC want to keep things GPL'd and LLVM is more interested in a BSD style license. This is probably because of funding and influence from Apple, their sponsor. I don't fault either party for their intents.

A Final Thought
If LLVM-GCC should become a significantly better/faster/superior/prettier compiler over the GCC, I wonder if there will be a movement to adopt it as the official compiler for Linux distribution packages? I mean, would Debian or Ubuntu start to build their packages with LLVM-GCC if it was a superior compiler? Or would they stick with GCC? Does license matter more than speed? Does "the official Linux compiler" stamp from GCC matter more the perceived performance?

I just hope that if LLVM-GCC should become a "better" compiler that the Linux community, specifically the package maintainers, will consider it as a possibility.

Sunday, April 5, 2009

Quest for a Music Player

Abstract
My experiences personally and impressions while looking for a music player in Linux today.

Introduction
So I have used the music player program Audacious for years. I did this because before it, I used BMP, which is the successor to XMMS, which is a WinAmp Clone and I have used WinAmp ever since I started listening to music on my PC.

Why the search for something new? I have been stuck in Ubuntu Hardy for various reasons, and their version of Audacious has some bugs, because it seems to fail to load a bunch of files that are perfectly valid. Also, because of Hardy's libraries I cannot compile and use their latest version myself.

Another bigger reason is that, I have started to really listen to my entire music collection of a few thousand songs, and Audacious is not really a music manager, just a really good player. So my needs have grown beyond Audacious, though I still think it is a stellar program and the best WinAmp clone ever.

Today I looked around to find a music player that suited my needs. Namely, it needed to the following:
  • Support MP3, OGG, WAV, MPC (very very important), FLAC and WMA (yeah, I have a few, though the format is terrible).
  • Make use of the keyboard for control, preferably something like Audacious/WinAmp
  • Have a mini-mode. (A mode where the GUI is small and unobstrusive). This could be anything from a System Tray icon, to the mini-mode that Audacious/WinAmp do.
  • Support thousands of songs in a massive single playlist.
  • Additionally, it should be easy to use. (Believe me when I tell you this is not the case for most music players out there).
  • Normalization of audio.
JuK
Got me off to a pretty fast start. They were able to import my music quickly and start playing. However, when I reconfigured their shortcut keys, the program stopped working properly. Most of what I assigned did not seem to function properly and soon after the program crashed.

The program also lacked various extra features usually provided by plugins.

In the end, the playlist system seemed quite clunky and did not work very well for me. Doubtless there is a proper way to do it, but it was not apparent to me. The display is not very informative at points, so sometimes I did not know exactly what songs I had queued up. Perhaps it is my style of use, but again I found the keyboard interfering with controlling the system instead of helping it.

Amarok
Amarok and I have a history. Each time I have tried it, I did not like it, but I don't clearly remember why. This time around, after trying to use the program three times, I figured out the trick to the Playlists. Not exactly intuitive but still useable.

Their interface is pretty nice actually. Nice shortcuts. Good random playback system. Nice SystemTray icon.
  • File Information: Initially had some trouble using the interface to examine the filetype and bitrate information for my audio files. But figured it out at last.
  • Volumes Synchronization Problems: I cannot figure out how to make Amarok use KDE's volume. I end up having to control two volume systems and this is kind of annoying. I suspect there is a way to do this, because it would seem like a very important feature.
Amarok hung for a bit when I tried to seek forward/back while certain visualizations were enabled.

Aqualung
Simply failed to load. I'm pretty surprised actually. Normally these things don't happen.

Listen Music Player
Simply not enough control as well as customization for me. It looks like a nice little player but not enough for me.

Exaile
Tried it. I could not customize the keys, and I did not really like their default keys. The big deal was that I simply could not get it to play my music. I was unable to load anything into the play lists. I tried on three separate occasions over a few days. It cannot be done without knowing the black magics I guess. Too bad. Not a usable program.

Conclusion
I went with Amarok and I'm generally quite pleased. The program has a lot of things I wanted in Audacious and I'm organizing my music far more easily than before. There are two things I really want though:
  • Good normalization system: I downloaded and enabled ReplyGain (which was annoyingly not available through Get More Scripts option system within Amarok itself). ReplayGain works alright. There is no AAC/Musepack options in my Linux distro so that is a pity. I believe the plugin is going through and putting Replay Gain values onto my music files, which is cool, but if it is not, then I'm in trouble because a lot of my files don't have a gain value stored in them, certainly not some of my WMAs. (Again, yeah I know they suck).
  • Slim Player Window Like Audacious/XMMS: I really want a slightly slimmer player window for Amarok. Something like Audacious. Even after tweaking the window with KDE's configuration options, it is still rather large.
Update: There is a bug with Amarok 1.4.9. It will not skip forward or back nicely on certain file types, like FLAC or Musepack. This annoying and I hope this behavior has been fixed in Amarok 2.

Wednesday, April 1, 2009

Daemon Tools utility for Linux


Update: Alternatively I have found Furius ISO Mount, to also be a good program for mounting ISO and other CD image formats. Perhaps even better than Gmount. You can find it under the package name 'furiusisomount'.

Just a quick post here: For those of you that use the program Daemon Tools in Windows, you may have lamented the lack of such a program in Linux. (Even though the ability to mount something in Linux with the mount command has been around for longer than Windows itself).

Lament no longer! The program Gmount-ISO comes to the rescue! The package name in Ubuntu/Debian is simply gmountiso. Like Daemon Tools in Windows, Gmount-ISO provides a graphical user interface for mounting ISO files.


See this wiki page for more details.
http://swik.net/gmountiso

One important piece of information for non-Gnome users! You must have the program 'gksu' installed. This is a password authentication program for Gnome, similar to kdesu (used by KDE). You need this or Gmount-ISO won't work.

Though I have never tried it, another program worth looking into would be CDEmu, specifically the linux port of it, GCDEmu. It has more features that Gmount-ISO, but it is not in the repositories of Ubuntu/Debian.