Software Woes

Rants, tips and tricks



Friday, September 28, 2007



Workrave on Slackware 12.0

Finally, I built it. Here are the libraries I used:

libsigc++-1.2.7
glibmm-2.12.10
cairomm-1.2.2
gtkmm-2.10.10
gdome2-0.8.1
gnet-2.0.7

The result: workrave-1.8.5

Compiling gtkmm can take ages (see my previous blog entry for machine specs.), so I disabled building of examples, demos and docs:

./configure --prefix=/usr --disable-examples --disable-demos --disable-docs


To reduce dependencies on Workrave, I configured it like this:


./configure --prefix=/usr --disable-gnome --disable-gnomemm --disable-kde --disable-dbus --disable-gconf --disable-registry --disable-debug

Well, I hope disabling this Gnome and KDE deps. will make it run smoothly on IceWM as well.



Thursday, September 27, 2007



GlibMM - is anyone home?

Today I begin my trip into Slackware 12.0 on my workstation. It's an older machine:

Pentium III 550MHz
ATI RADEON GPU
265MB RAM
40GB HDD

In short: Slackware 12.0 with KDE 3.5.7 runs quite smooth on this machine - having 256MB of RAM is crucial.

Installation went fine, without any hickups. I choose full install and it took about 3.7GB of the disk drive. The first problem was after reboot. I choose to start gpm at boot time, and it was messing up the terminal, so ncurses applications would malfuncion. The main problem is that all Slackware setup tools are ncurses based, and also is the Midnight Commander. Since I have a brand new monitor (22" Benq with 1680x1050 resolution), setting up the X server was a problem (if you don't know, the great xorgsetup wizard uses ncurses too). Of course, I didn't know it was gpm that caused the trouble, so I tried all other stuff before figuring that out. Perhaps the main problem is that I have a serial mouse plugged into COM1.

After killing the gpm and restarting, I was able to run xorgsetup and... it detected everything out-of-the-box! Excellent! The only thing I had to change is to set mouse device to /dev/ttyS0 and run startx once more. My Radeon was detected automatically and resolution set to 1680x1050 at 60Hz. Perfect! It even let me specify different keyboard layouts, so I can use them outside of KDE.

Now, onto the software. KDE runs fine, and new Fluxbox is also nice. GQView is included. Yeah!

First thing needed - Workrave. Now, here starts the show. There is no .tgz package, so I decided to build from the source. Workrave needs libsigc++ and glibmm. There is libsigc++ package on linuxpackages.net, but only for libsigc++ 2.0 (unfortunately I learned that after installing), so I downloaded the source from Gnome FTP and compiled. All fine. Then I took glibmm, downloaded the latest version (2.14.0). I ran configure --prefix=/usr and then 'make'. One would expect that Gnome guys are up to it, but it looks like both Linus and Patrick are right regarding their Gnome vs KDE opinion. Anyway, here's what I got:

make[5]: Entering directory `/home/milanb/Desktop/glibmm-2.14.0/glib/glibmm'
...
g++ -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"glibmm\" -I../../glib -I../../glib -I/usr/include/sigc++-2.0 -I/usr/lib/sigc++-2.0/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -g -O2 -Wall -Wno-long-long -MT regex.lo -MD -MP -MF .deps/regex.Tpo -c regex.cc -fPIC -DPIC -o .libs/regex.o

In file included from regex.cc:4:
../../glib/glibmm/regex.h:29:25: error: glib/gregex.h: No such file or directory
../../glib/glibmm/regex.h:594: error: 'GRegexEvalCallback' has not been declared
...and few more pages of errors


It looks like the package isn't able to find its own files. Don't they test thing at least once before releasing?



Monday, September 24, 2007



I'll do it better the second time...

...this just popped out of my fortunes and I like it so much, I have to show it here:

An architect's first work is apt to be spare and clean. He knows he doesn't know what he's doing, so he does it carefully and with great restraint.

As he designs the first work, frill after frill and embellishment after embellishment occur to him. These get stored away to be used "next time". Sooner or later the first system is finished, and the architect, with firm confidence and a demonstrated mastery of that class of systems, is ready to build a second system.

This second is the most dangerous system a man ever designs.
When he does his third and later ones, his prior experiences will confirm each other as to the general characteristics of such systems, and their differences will identify those parts of his experience that are particular and not generalizable.

The general tendency is to over-design the second system, using all the ideas and frills that were cautiously sidetracked on the first one. The result, as Ovid says, is a "big pile".

-- Frederick Brooks, "The Mythical Man Month"



Sunday, September 23, 2007



Slackware 12 has arrived

and it really fulfills the promises. It's just great, at least, what I discovered so far.

The main reason for me to try it out was simulatneous SATA and SMP support. It's worked out-of-the box, I just had to pick a right kernel. Seeing the four penguin images coupled with fast-boot time is really delightful.

But, that's not all. The other usual stuff seems to work ok, and new KDE seems a little bit faster (not! because of 4-core CPU - I also installed it on my old Pentium 3 laptop with 128MB RAM). Other things to enjoy in is easy mounting of removable drives - no more dmesg+mount messing. Although, I somehow managed to get that working properly on 10.2 with 2.6.13 kernel by manually configuring the udev rules - but don't ask me to repeat it on another machine :)

I still have to try new GCC. That would remove all the problems I had with having GCC 3.3.6 and G++ 3.4.4 installed at the same time, and it also removes the bug with precomplied headers when using wxWidgets i Unicode mode. Well, I did use GCC 4.x before but compiling it myself from sources and running in sandbox environment, but that's just not it.

I'm currently messing up with Bluetooth dongle. Bluetooth support comes with Slackware 12.0, but tools are.... well, there are no GUI tools, you have to go to the command line. I just learned about l2ping, hcitool, rfcomm, etc. and it looks like some things are going to be tricky to do as a regular user as some /dev entries get root:root owner and 660 permissions... But, more on that later after I get it to work. Actually, it does work (ping, querying services, etc.) but I want to make a dial-up connection using KPPP. I'm almost there (modem interface responds, and seems to dial, but pppd dies), so I'll probably write more when I finish it.

I expected much more instability given the fact that so many things are new and untested, so I was considering to wait for 12.1 or 12.2 before installing it as my main system, but now I'm having second thoughts about that. As I'm changing my main work machine and installing something from scratch on it, it will most probably be Slackware 12.0.



Monday, September 17, 2007



3D Spam




Those of you who bother to look at the spam you get sometimes, have already noticed how spammers are getting more clever. As text-based filters remove all the possible combinations of V1agr4 or C1ali5, they started to place the text in images. Apparently some anti-spam filters use OCR to detect such things, but now the spammers want to be a step ahead. Frist they introduced some noise into images, but that didn't seem to work, and today I just got my first 3D spam.

Damn spammers, I wish they all get their Internet access denied ... for life.



Thursday, September 13, 2007



VMWare goes open source

Well, I just learned about this, and I'm excited :)

http://open-vm-tools.sourceforge.net/

The Open Virtual Machine Tools (open-vm-tools) are the open source implementation of VMware Tools. They are a set of guest operating system virtualization components that enhance performance and user experience of virtual machines. As virtualization technology rapidly becomes mainstream, each virtualization solution provider implements their own set of tools and utilities to supplement the guest virtual machine. However, most of the implementations are proprietary and are tied to a specific virtualization platform.

With the source code readily available, users of VMware products today (and other virtualization platforms too, in the future) will get these tools bundled and delivered through their distribution specific package manager. This should provide a seamless installation/upgrade experience and ease the burden on sysadmins. In fact, if you are looking to package the source for your favorite Linux distribution, we have included some helpful documentation.

So, you can just say:

apt-get install vmware
yum install vmware
urpmi vmware

and it just flies. The great thing is that technically superior VMWare technology goes open source and all those threats from Microsoft or Xen about putting them out of business soon became completely void now.