Bobulate


Archive for the ‘KDE’ Category

I welcome our new gnomic overlords

Monday, November 30th, 2009

The location for GUADEC has been published: the Hague. LWN reports, and it looks like a cool team of folks doing the organizing. I wish them all the best — but they’re competing against the vierdaagse, so it’s no contest, really.

What price Freedom (2)?

Monday, November 30th, 2009

Let’s take a look at what happens when other Free Software operating systems run on my laptop, in terms of power consumption (and nothing else — I’m not going to explain in detail what’s running on each one, and rest assured that the available apps and toolsets in each of these installs is very different, reflecting what I use each OS for):

  • OpenSolaris, display off, nvidia drivers: 31W
  • OpenSolaris, display on, idle, nvidia drivers: 38W
  • OpenSolaris, display on, disk + network activity, nvidia drivers: 52W
  • Just the power brick: 1W

So it looks like Solaris is marginally (2W) better with power than Kubuntu at idle, and this laptop draws quite a lot in regular use. Maybe Solaris is not switching some hardware feature on, like Bluetooth, rather than being more efficient — but I haven’t noticed anything missing (Bluetooth is not something I’d miss). FreeBSD 8 fares no different — roughly same usage numbers as the other two OSsen.

Many commenters suggested trying the nouveau driver — so I did, whatever is available on Kubuntu 9.04 with no updates applied, and it makes no difference in power consumption, fails utterly at resume-from-suspend (nv got me no video, but I could ssh in, while now it just hangs), and is just as slow on logout as the nv driver. Perhaps there’s newer versions available — not something I’m going to experiment with this week.

I was afraid of worms, Roxanne!

Thursday, November 26th, 2009

Verbing weirds language. Language is important, because saying what you mean in such a way that the audience understands what you’re talking about is the whole point of communication, isn’t it. Well, we could say that getting the idea across is what’s important. Great thinkers such as Wittgenstein and Brouwer have thought so. They even said so, or at least tried to get that idea across.

I need to say “PJU25FV3SH3J” for Technorati reasons. It does not mean much to human readers, though.

I need to say “Linux kernel” to mean the stuff you can get here, “GNU/Linux” when I mean that kernel plus a userland composed mostly of GNU software (like a command-line-shell). I’m not sure how to distinguish that from “a software stack built with the GNU development toolchain”, although it’s pretty rare to identify software based on the tools that are used to turn the program into object code.

I could say “Ubuntu” or “OpenSUSE” to mean a collection of software packaged by some organization and partly customized for some specific audience, containing at least the GNU userland, a Linux kernel, and probably a whole bunch of other tools and software packages compiled with the GNU compiler but otherwise outside of that project, and possibly including proprietary software as well.

These words start to have a wider and wider coverage, with less and less specific content. Unless I say “OpenSUSE 11.2” and add a qualifier to make more specific which collection of software I mean. Even then, I should want to indicate which packages or desktop environment I’ve got installed as part of that collection — because there’s choice in how to interpret the words, too.

A word like “freedom” has a fairly short dictionary definition, but you can see that much has been written on different meanings of freedom. That is, as a word it has a wide coverage, which then needs a great deal of talking about to pin down again. Consider Wikipedia’s freedom (philosophy) and freedom (political). Those articles are actually fairly short. I wonder why? And of course we know that “the Four Freedoms” can mean only one thing. Oh, wait .. it doesn’t. I never knew there was a disambiguation page even for that.

Good thing there’s only one Free Beer. Although I must say I prefer the 4.0 release to the 3.0 release, at least in Sweden.

Oddly enough, “FreeBSD” and “OpenSolaris” are so far free of the wordsmithing arguments about what they mean; there’s a kernel and a partly GNU userland (where each FreeBSD release tends to replacce one or two more GNU tools with BSD-licensed tools — such is the nature of licensing) and pretty much the same set of applications you can build on them. In the OpenSolaris case, the GNU tools might even be compiled with a non-GNU compiler. Perhaps these words, names or trademarks are used more like “OpenSUSE” than as a term for an general collection of software. Even if in FreeBSD’s case, it is largely unbranded. Strange world.

Of course, some of these considerations show up now because names can be redefined. I think Aaron sums it up really nicely (edited a little from his dot comment):

if you want to refer to the “whole chunk of stuff i got at once that contains all sorts of stuff” then you can refer to the KDE software compilation. we really want people to be talking about and more aware of KDE as a modular set of software suites. there’s also okular and several dozen other apps that come in the SC, and many more KDE apps that don’t come in the SC. this is why we’re changing the name, because it’s so confusing.

So on weekends, I’m still a KDE dude, but my software engineering is applied to bringing the KDE Software Compilation to OpenSolaris. It doesn’t compile right now (darn you GCC-isms, GNU-isms and Linux-isms), but it will. And at some point in the future I can point again to the %files section of the specfile and say “there! that is what it means!”

Who is KDE?

Saturday, November 21st, 2009

A Fab Four (KDE)Clearly, whiteboard is more my medium than Kolourpaint with a trackpad. However, all of the stores in this area of Berlin close at 2pm, which means we haven’t been able (or rather: forgot to, this morning, and then tried and failed after lunch) to purchase some pens for use in the KDE office. I’m at the office for a board meeting this weekend, where we’ve just been talking about how to report best on the contents of these meetings. Suffice to say that blogging is not the right medium, but at least there’s a sketch of who’s here.

Right, Constantly

Saturday, November 14th, 2009

Markey is right. Some of his commenters are not. So I’ll illustrate, because const-correctness and const-consistency is important for cross-platform quality. In other words, getting it right means that other plaforms than Linux-with-GNU-userland-and-gcc will be able to compile KDE apps in one go.

The main thing about const-consistency is that some compilers mangle the constness of parameters into the function name. Consider the following trivial bit of code:

extern void foo(const int i);

void bar(int i) { };

I compiled this bit on FreeBSD with gcc (which is a platform that doesn’t mangle constness into the name) and Solaris with Sun Studio 12 (which does). The output from nm is like this:

In FreeBSD:
0000000000000000 T _Z3bari
U _Z3fooi

In OpenSolaris:
[22] | 0| 5|FUNC |GLOB |0 |2 |void bar(int)
[__1cDbar6Fi_v_]
[24] | 0| 0|FUNC |GLOB |0 |UNDEF |void foo(const int)
[__1cDfoo6Fki_v_]

The name mangling is clearly different — but note that the parameter of foo() and bar() is typed “i” in both cases by g++, and as “i_v_” and “ki_v_” in Studio. I used nm -C under Solaris to show the de-mangled form of the names as well as the actual symbol. If I add -C against the g++-compiled object, then it prints foo(int) and bar(int) — the constness in the function parameter has disappeared.

The effect of this is that constness does matter on some platforms, and if the interface (e.g. .h file) says “const” then the implementation must do so as well; conversely, if there’s no const in the .h, don’t add a const in the .cc as a safeguard, because it breaks on linking.

As for the stylistic issue of const on POD parameters, well, Ilet’s call that a matter of taste (and the application of the relevant coding style guidelines for the code you’re working on).

QtCreator on OpenSolaris

Saturday, November 14th, 2009

At FSCONS I attended a talk by Johan Thelin — good to see someone whose blog I’ve followed for a long time, but whom I’d never met before — about QtCreator. The talk itself was a bit simple, more a “how to get the toolchain going” than a “deep secrets of Qt creator.” But because I was there I decided to update the OpenSolaris specfile for qtcreator to version 1.2.90 (the latest version for which a source download is available), and it took remarkably little effort to get it going.

Several of the patches from previous versions of the spec had been upstreamed — thanks Ossi — and only the bogus cruft patches remain like dragging in extra libraries and dealing with PTRACE.

The resulting qtcreator.bin works reasonably well — there’s an issue in detecting where Qt is installed, so I had to set that manually and the RPATH isn’t set to include lib/qtcreator/ — which means the method-autocompletion works and it does compile and run an application. I haven’t tried debugging or anything complicated, though.

This bit of Qt coding was in between my talk — on license selection and governance models in Free Software projects, where I was glad to have received useful feedback from the GNU hackers meeting yesterday — and a talk by Christina Haralanova. Just enough time to compile once, and it works.

KDE 4.3.2 on OpenSolaris

Wednesday, November 11th, 2009

For those tracking KDE4 OpenSolaris, I’ve updated the pkg repository for KDE4 packages. There’s a couple of things to note:

  • This build requires nv126 or later. Build 124 introduced some new incompatibilities in OpenSolaris itself, which trips up kdebase-apps builds — this has been hacked around, but we need to find a good fix that we can upstream.
  • There will be no KDE 4.3.3 from the KDE4-OpenSolaris folks. We’re going to focus on 4.4.0, since there’s plenty to chase after there. Hajma has been doing a great job in tracking trunk these days, and I’ve been tagging along with 4.3.2.
  • Upstreaming patches is tough. We intend to actually set up nightly builds that report to the KDE dashboard, as Alexander Neudorf has once again extended the hand of friendship to us non-Linux folks for the dashboard.
  • As always, the source specfiles can be found on solaris.bionicmutton.org/hg/ and they all point to the original upstream sources.

OSOL + KDE 4.3.2

Monday, November 2nd, 2009

A while back I mentioned OpenSolaris packages for KDE 4.3.2, and while strictly true, they weren’t anything to write home about particularly. Some time — and some weekends at home, which is the critical bit — has passed, leading to improved specfiles; I have not published a full package set anywhere public yet.

Main issues that were gotten out of the way: nepomuk-rcgen was crashing on runtime-linking because of bad library order. Minor compile error in kdenetwork, already committed in trunk. That gives us all the regular KDE SVN modules again, plus konversation. I haven’t tried Qt creator this time around. Remaining obvious runtime problem is Akonadi, which doesn’t find the MySQL server (in /usr/mysql/bin, but then I can’t find a way to configure that at all, and all the akonadi tools segfault on startup anyway).

In any case, one step forward, meaning it might be almost done by the time KDE 4.4 comes out.

Going South

Tuesday, October 20th, 2009

Up until today, the furthest south I had been in pursuit of Free Software was Abuja, although that was just a touchdown. I have practiced Free Software in Kano (12.1N) and in Bangalore (13.0N). Today, that barrier gets smashed as I head down to Latinoware in Foz Do Iguacu (25.5S). So that is four continents and the subcontinent (India has a special place in my heart); I have my sights set on Australia this winter, but the Antarctic will probably just not happen.

So, Latinoware. South America’s largest Free Software conference? Eight parallel tracks? I’m tremendously honoured to be giving two talks at the conference. One with my blue hat — KDE — and one with my green hat — FSFE. That’s a technical and project plan talk about what KDE is doing and where it is going, and a project management and legal talk about how Free Software projects can be run. Both topics close to my heart, and I’ll likely talk about what the FSFE does for KDE in the KDE talk and use KDE as an example in the FSFE talk. Hats can be so confusing.

In the meantime, I expect to be slightly out-of-sync with goings-on in Europe. I hope, nay, expect, the network to be better than at some conferences I’ve attended, though. See you soon (Helio, Mauricio, and others).

Free Software for Africa

Tuesday, October 13th, 2009

Some time in march I will need to go back to Kano, Nigeria, hopefully for the second Nigerian Free and Open Source software conference. I’m looking forward to seeing Mustapha (now a proud father) and Ibrahim and Immanu and the rest of the guys again. The news out of Nigeria hasn’t been very good recently, and the Dutch government is advising against travel to the south of the country at all; this doesn’t apply to the north, which I found a wonderful place to visit and talk about Free Software last year. Licensing is always an issue, as are business models.

I was therefore really happy to stumble across the FOSS for Africa wiki with a whole series of educational modules around business models and examples of what works in Africa right now.