tjansen 

Moving Forward

Monday, 10 May 2004
As the things that I am working on are not KDE-related anymore (and Blogger.com now allows comments :), I have moved my english blog to tjansen.de.

Concept for a hybrid static-/dynamically typed language

Sunday, 14 March 2004
I am watching the static vs dynamic typing wars with some curiosity. On the one hand, I can't understand how to write any large application without the help of static typing. Read More

Playing with the Switch and Foreach Statements

Sunday, 22 February 2004
I've been thinking about C's control statements (if, while, switch, for etc) for a little while, and I think there's some room for improvements in the later two... switch The C# guys have made two interesting modifications to C's switch statement: fall-through is only allowed when there's no statement after the case (thus if a statement follows a case, there must be a break or similar jump statement). Read More

Argument Constraints in the Function Declaration

Saturday, 7 February 2004
The most annoying thing when writing public APIs is that it's a lot of redundant typing. A good API implementation should check all arguments and return a useful error message if an argument is invalid. Read More

The freedesktop.org discussion in three simple points

Thursday, 29 January 2004
I think the whole discussion can be simplified with three points that hopefully everyone can agree to: In the next 12-24 months the only way to get a somewhat competitive desktop is to pile up code from all sources, including kde and gnome, and try to integrate them somehow If you think about the architecture of a desktop in 5-10 years, this mixture of pure C code, Gnome/Glib C code, KDE C++ code, Python, Bash scripts, maybe Mono C# code etc, all with different API conventions and wrapped by various wrapping mechanisms, all that sounds like a horrible nightmare that no one really wants Whether you like freedesktop. Read More

An Alternative Syntax for Multiple Return Values in C-based Languages

Saturday, 24 January 2004
Most functions do not need more than one return value, but when you need more there's no easy way around it. Java has this problem, functions are limited to one return value, and in my experience it is often complicated to get along with this limitation. Read More

Categorizing Classes without Namespaces or Packages

Saturday, 17 January 2004
This time it started with a a thread on kde-core-devel: I wrote about using classes for organizing functions and later wondered why I am using static class methods - that's what C++ has namespaces for. Read More

Combining the Advantages of Qt Signal/Slots and C# Delegates/Events

Sunday, 11 January 2004
My favorite Qt feature is the Signal/Slots mechanism. Before working with Qt I only knew the horrors of Java's event handling by implementing interfaces, and libraries that worked only with simple functions but not with class methods. Read More

Hooray for managed code

Friday, 9 January 2004
For a long time I have hoped that managed code will beat statically compiled code one day. Managed code can make software more secure, CPU-architecture-independent and makes it easier to generate executable code. Read More

10 Things I Hate About XML

Saturday, 27 December 2003
DTDs and everything in the <!DOCTYPE> tag is horrible. The syntax is cryptic, the allowed types are odd and the degree of complexity is very high (parameter entity references!). RelaxNG and even XML Schema are much better solutions, and the XML specification could be reduced by at least 75%. Read More

Property Syntax Revised

Tuesday, 23 December 2003
Since I wrote the last entry about properties, the comments and Groovy changed my mind about the property syntax: I think the accessor method syntax that panzi proposed is much better than my Java-like syntax or the C# syntax. Read More

Programming-by-contract in C-based languages

Monday, 22 December 2003
I do not know much about Eiffel (and I can't stand its Pascal-like syntax...), but the Eiffel feature that I like is design by contract. Design by contract means that function interfaces, the APIs, are seen as a contract between the creator and the user. Read More

Resource management in garbage collecting languages

Saturday, 20 December 2003
One of my favorite C++ features is resource management with stack-allocated objects. It can hardly get more convenient than writing { QMutexLocker m(myMutex); } to protect a resource from concurrent access. Read More

Property syntax

Thursday, 18 December 2003
Today I realized that the property syntax of in all C-based languages sucks. Lets a assume a very simple class called 'SubString' that describes a fragment of a string and has two properties: its length and the index of the first character of the string. Read More

Thought Experiment: XML integrated into a C-like language

Tuesday, 16 December 2003
In recent days I made the following thought experiment: how can XML processing be made easier by integrating XML support into a Java/C#-like programming language. I created the code snippet below to try out what such a language could look like. Read More

The Linux platform and modern GUI-based operating systems

Saturday, 13 December 2003
During the last years I encountered a number of problems in the Linux platform's architecture that cause problems for GUIs on top of it. When I say 'the Linux platform', I refer to the Linux kernel, glibc and the common GNU and Linux tools, but not X11. Read More

Why the attacks on Debian and Savannah were possible (and more will follow)

Thursday, 4 December 2003
In the last two weeks servers of Debian, Savannah and Gentoo have been compromised, as you probably noticed. And they won't be the last ones. Many people brag about the security of free software, but I have never seen a single technical reason why free server systems should be more secure. Read More

What do users want?

Sunday, 16 November 2003
The main problem is to find out what users want. Did you know whether users will like Expose or they will use KXmlRpc before they have been implemented? I don't think so. Read More

Basing the future of free software on cloning the competition

Saturday, 15 November 2003
OSNews has a poll and discussion about integrating Mono into Gnome. As KDE may face a similar decision at some point in the future - what to do when KDE's technology is not competitive anymore - I thought i write my thoughts down in my blog instead of the OSNews forum. Read More

Security and the much needed unification of servers

Thursday, 23 October 2003
Today news sites repeated the monthly Microsoft execute says "Linux is insecure" articles. And while they are comparing apples with oranges (as Linux distributions ship with far more servers and network services than Microsoft offers), it's hard to deny the fact that Linux is also insecure. Read More

4.0 Wishlist: KURL -> KDE::Net::URI + KDE::Net::URL

Sunday, 14 September 2003
I hope this becomes a loose series of various things that I would like to change for KDE 4.0. The code may appear in kdenonbeta/kdeutil where I keep utility classes for the KDE namespace. Read More

Freedesktop.org vs. the KDE platform

Tuesday, 9 September 2003
Seth Nickell wrote a blog entry about the relation between Gnome and KDE. The short summary is that Gnome and KDE are just two flavours of the free desktop(.org) that are technically too different to be merged, but work toward a common higher goal and should thus share as much components and standards as possible. Read More

My KDE 4.0 Wish/Todo list...

Wednesday, 27 August 2003
Ok, with the official presentation of Qt 4 the pandora's box called KDE 4.0 is open, and people start discussing possible changes. So here is my personal contribution of wishes (that I would be willing to work on, of course, at least if I am not the only one): Read More

Automating joining&leaving mailing lists

Saturday, 26 July 2003
The lack of comfort when joining mailing lists is annoying. If anybody wants to make me a little bit less grumpy, try the following: design a XML Scheme / file format to describe a mailing list (and especially how to join and leave it) register a corresponding mime type in KDE add a handler for that file type in KMail, or write a stand-alone app that uses the KMail backend when somebody clicks on a link with that mime type in Konqui, start the handler the handler will, after some GUI to explain it to the user and asking for permission, create a folder for the mailing list in KMail, create a filter for the mailing list, write a mail to the registration address to join and reply automatically to the confirmation mail KMail should have a 'unsubscribe' context menu entry that lets a user unsubscribe automatically That would be useful. Read More