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