Skip navigation.
KDE Developer's Journals

njaard's blog

njaard's picture

Why do good people do bad things?

arkimedes:~# apt-get install dbus-qt-1-dev
(stuff skipped)
The following NEW packages will be installed:
  dbus-qt-1-dev dbus-qt-1c2 hicolor-icon-theme kdelibs-bin kdelibs-data
  kdelibs4c2 libarts1c2 libaspell15 libfam0 libjasper-1.701-1 libnetpbm10
  libopenexr2c2 menu-xdg netpbm
0 upgraded, 14 newly installed, 0 to remove and 2 not upgraded.
Need to get 19.9MB/21.0MB of archives.
After unpacking 69.5MB of additional disk space will be used.
Do you want to continue [Y/n]?

Ok, I have to investigate. Why does DBUS's Qt bindings want to link to all of Qt?

So I grab the DBUS source code, compile it, do an ldd libdbus-qt-1.so -- to my dismay, it links to libkdecore.so! What gives?

So, upon further investigation into the DBUS build system, I find, much my dismay, the following:

dnl linking to kdecore will give us a bit of help from libtool
if (! kde-config >& /dev/null); then
    have_qt=no
else
    kdelibs=`kde-config --install lib --expandvars 2>/dev/null`
    if test -z $kdelibs -o ! -f $kdelibs/libkdecore.la; then
        have_qt=no
    else
        DBUS_QT_LIBS="$kdelibs/libkdecore.la"
    fi
fi

Brilliant. They link to KDE just because KDE links to Qt, and they need Qt. Sheer brilliance. I'm impressed.

(it should be noted that the cvs version of DBUS doesn't have this problem).

So, I submitted a patch to the Debian maintainers (as that's the distribution I use). I'm sure they'll reject it, as they always do.

njaard's picture

Presentation

Next week, on Wednesday the 18th of May, I will be overseeing a KDE Flamewar (and talking about how to tweak KDE) for the Nottingham Linux Users Group.

Come one, come all!

njaard's picture

two months, and a day

My flight back to California is on the second of June, from Heathrow. I leave San Francisco back to England on the 14th (arriving on the 15th) of September.

That gives me three and a half months of attempting to avoid saying things like "That's five dollars and 50 pence."

njaard's picture

Wintersend

12°C today, and this marks the beginning of the long downward spiral into summer.

English summers are awful, the raindrops form out of the air all around you. The drops hit you and you wake up hours later dazed and with concussion.

Californian summers are of course much nicer, but you still get waves of blistering heat sometimes. I love the winter. I like to wear long coats. I love the winter, not the grey skies, but the wind and the snow (at least when I'm in Britain). The sunlight shining off the rain-soaked pavement. Wintertime.

It means that I'm one step closer to returning home. Once this summer begins, I've just a year left of university.

Oh, by the way, my computer "arkimedes" is back and in working order; time to readapt to its US-keymap.

Happy new KDE 3.4 release!

njaard's picture

Not this again

Apparently, I am a DYO--Dark Dry Offbeat. This makes me a Neurotic.

I believe it. The complete analysis was head-on, in my opinion, but that might just be the result of Confirmation bias (the tendency to see accuracy in astrology, for example).

Oh, and take a look at this -- it's really pretty.

njaard's picture

Software Arrogance/Choose Your Document

Lots of programs in and out of KDE suffer from a condition that I call software arrogance. Consistently, I find such applications completely unusable and thus refuse to use them. Software arrogance is when a program feels it is more important than its user's document.

How is it that a program is written such that the user may feel that the importance of the application is greater than of eir document? First of all, the document has what is seemingly a minor role in comparison to its container. This is obviously apparent in MDI (window-in-window) applications like KDevelop in which you can minimise source windows.

What? Why would you want to minimize the source code window but still have visible all the tools for editing the source code?

It is reasonable to want to show two at a time, and to hide one while looking at another. Then lots of horrible user interface restrictions become apparent as a result of the two documents becoming inseparable from the other. You can't move one of the documents to another virtual desktop, the taskbar becomes meaningless, and, like KDevelop and Microsoft's Visual Studio, your application uses valuable real estate like Starbucks.

Now, some of you may say that you like this window-in-a-window thing because logically, when you use KDevelop, you aren't editing just a source file, but you're editing your entire project, and each window of source code you're editing is fundamentally linked in that regards.

So, I ask, what really is the document? Is the document the project, or is it the source window? Hopefully, at this point in my rant, you'll agree that both are the document. However, KDevelop (and for that matter, Kate) don't treat the project as the document, they just treat the source code as the document, and then add a few tools to manage the project (almost like an afterthought).

Take a look at this screenshot of Kate, and let's look over some of the silly things in it.

  • There are ten menu items
  • What's the difference between a File and a Document, in the menu (apparently it lets you select the file to edit)
  • In the File menu, when you save, does it save the project? It doesn't, but why not? Why make it so easy to not save something?

We should actually let the user know that there is both a project and also a text window. Both of these would be the documents, and it's clear what everything actually is for. (Both of these screenshots are fake)

For now, KWrite remains a great text editor, and it doesn't have the flawed Project stuff.

Maybe my next rant will be on how stupid "IDEAL" is, like how it hides the document when you click on a tab.

njaard's picture

Beauty defined

How was I living without snow all this time?

This stuff is amazing! The essence of beauty.

Truly the best things in life are all around us, why do so many dislike such a lovely gift from nature?

(To put this in context, we've been recieving snow here since Monday, and I've been enjoying every moment of it)

njaard's picture

on DRM in KPDF

By now there's quite the debate (aseigo, tsdgeos) regarding the implementation of DRM in KPDF.

Rather then getting a Blogger account (ahem), I'll post here, where I already have an account.

I feel we have a moral obligation to not implement copy-protection in our software. It is not our job to police our users. Sparing the technical debate ("it won't work anyway because it's open source"), the fact of the matter is that just because the proprietary software does it doesn't mean we should.

Those who design or implement DRM are wrong.

It's that simple.

The wishes of the producers of content are inferior to the moral right to fair use. Not necessarily legal right, as that has been more or less destroyed in the US and EU.

njaard's picture

the IDN problem

Filed against every single major web browser is the bug of "unicode blindness injection" security vulnerability. In short, Unicode letters can look the same as their ascii-equivalents, but lead to a different URL (thereby permitting man-in-the-middle attacks).

My solution consists of verifying that unicode glyphs look different from ascii glyphs (yes, I like the word "glyph"). In my example screenshot, words in parentheses are entirely ascii, those preceding them have a "wrong letter:"

  • the K in KDE is Cyrillic (U041A)
  • the S in RULES is Cyrillic (U0405) (which I'm aware doesn't even exist in Cyrillic)
  • the P in APPLE is also Cyrillic (U0420)
  • the T in MICROSOFT is Greek (U03A4)

However, it does a poor job of identifying K. If this is considered useful, I may be inclined to fix it for inclusion into KDE, otherwise, I'll leave it to be abandonware as I do with everything else.

The idea is that if there's a unicode letter, and the "error report" is high enough, you might warn the user prior to visiting the page.

njaard's picture

Nightwish and Tristania

Last night I saw Nightwish and Tristania in Birmingham. Nightwish was absolutely spectacular and put on a great show!

Tristania, the band I actually want to see was actually a disappointment. They seemed to forget how to play some of their older songs. They definitely are better mastered.

Nightwish, which I did like some in past as well, I now have a new appreciation for. They're incredibly talented, what you hear on their albums is what they actually play, not merely the result of lots of mastering.

So, Chris, Jeff, enjoy them Saturday, and try to not get pushed around too much!

Syndicate content