Tuesday, August 30, 2005


I recently got back from vacation. We ended up going to Florida to see the sites and be tourists.
We visited Disney and the Kennedy Space Center. We cooled off at a water park and the hotel pool. Somehow we missed Hurricane Katrina by a couple hundred miles, and made it back in time to go see Phantom of the Opera!

Too bad I'm missing akademy right now, but we did get a rough game plan ready on Sunday for what SK work needs to be done in the short term. Direction is always a Good Thing(tm).

Friday, August 19, 2005

openSUSE vs. Kubutu

I recently had a need to update my laptop so I figured I'd try a few distros out that I had been hearing a bit of buzz.

Being a Suse user for the last year or so, my first thought was to try out the 10.0 beta1 of openSUSE. The install was pretty nice and clean. Even hitting ESC to see the details during boot had a nice touch of a boot splash background. To my dismay, there was invariable problems getting my wireless card or any wireless card working. There's a list of "most annoying bugs" page that I skipped over at first. After asking some questions in #opensuse, I was directed to that page to find out hotplug support and pcmcia devices were having no luck. Needless to say, that just doesn't cut it for a laptop, and it being a beta I should expect a things such as this.

Moving on to Kubuntu. Nice install as well. One thing I really liked is that there was only 1 cd to work with. openSUSE had 4 cds to do the install. There was a problem I ran into though that had me puzzled. After the initial install, it tells you to reboot to update packages. So following the directions I did just that. It started to boot, and then partway through the boot, the lcd screen starts cycling like a television with bad reception. This made it _very_ difficult to read the terminal. After giving up the installation, I was going to attempt to do an FTP install of Suse 9.3 whereby I removed my wireless card and relied on my wired pcmcia network card. Well, not paying attention during the boot, I missed the timeout before booting from the hard drive. Good thing I missed it too! My Kubuntu install amazingly just worked?! I think there was a problem with either the wireless card during boot, or it relied on a wired connection to do package updates on that first boot. Either way, I now have Kubuntu on my laptop and its currently checking out and compiling the KDE 3.5 branch as we speak.

Now both distros have their high points. Suse with years of experience, not too mention Yast. Kubunutu with its debian base set of tools such as apt-get and the same common codebase as Ubuntu. I'm sticking with Kubuntu for now because I can't deal with pcmcia voodoo while trying to get a KDE 3.5 demo box up and running.

Btw, Ubuntu just released a new version the day after I burned Hoary, and the openSUSE 10.0 beta2 came out two days after my attempt to install it.
So for all I know, these issues have all been fixed.

Thursday, August 04, 2005

0.37 RC2 is out!

After a couple very late nights, SuperKaramba is now at Release Candidate 2. You can grab it from kdelook or from our project site. If everything goes well, this will turn into the 0.37 final release.

Last night marks the inclusion of SuperKaramba into KDE 3.5. *applause* Just in time for the Alpha release on Friday. That being said, we've not decided if we want to try and do one more release before the 3.5 feature freeze on Aug 25th. We really need to shift our gears and start crackin' on Plasma.

Another change in SVN happened last night as well. Smooth Blend has also become part of the KDE 3.5 release. An updated package will be posted to kdelook when I get to it after the weekend.

Pending any errors for either inclusion, I'll be crossing my fingers. Everything built fine for me after a few changes, so hopefully everyone will have access to these on Friday. Not too bad for going from an end user to a KDE developer in just 6 months. ;)

In other news...
I'm going out of town to a wedding for the weekend. If something breaks and you post in our project forum, you'll probably get a response on Monday evening.

Wednesday, August 03, 2005

#ifdef KDE

Let me start this story with the lesson I learned. Discovering an oversight is a humbling event. Recently I had receieved requests to backport SuperKaramba to older versions of KDE. The problem is, KNewStuff was introduced in 3.3, so I had to get around that. I've dealt with conditionally removing code based on the version of KDE before, so I figured this would be a quick and easy task. Those are always famous last words as a deadline passes you by.

First things first, I used what was already defined to make sure that code only got included if you were using KDE > 3.3. That equates to #ifdef KDE_3_3 in our case. It worked great on versions of KDE < 3.3. However I received compile errors on 3.4.
undefined reference to `SKNewStuff::SKNewStuff[in-charge](ThemesDlg*)'

After consulting our buddies on irc.freenode.net #kde-devel, I had someone else going over my code. What we figured is that my SKNewStuff object wasn't getting created. This threw me for a bit because the same #ifdef is in other files and it works just fine.

Further examination by [mX] discovers that I was missing something. The header that defines the KDE_3_3 for the ifdef wasn't being included. *doh* So after a round of adding the proper includes, I finally had it compiling on both versions without fail.

After the svn commit, I received a mail from mattr offering a suggestion. There is a header file, kdeversion.h, that you can use instead of the defines I had. In my defense, the defines were there before I started working on the code. ;)

So, in the future, I'll use his suggestion. Here's an example of what you would do to implement it:
#include <kdeversions.h>

#if KDE_IS_VERSION(3,4,0)
//do stuff for KDE 3.4 or greater
//do stuff for less than KDE 3.4