Category: Software Development

  • Python Warts

    I started my own page of Python warts, similar to A. M. Kuchling’s popular page. At the moment it just features one wart (the len() function vs. a length property on container classes). But I plan to add more warts in the future. I will probably concentrate on warts in the standard library. (And there are tons of them.) Two…

  • Google Summer of Code and Networked Tomboy

    My Google Summer of Code application, called Networked Tomboy was accepted. Just to quote myself: Tomboy is a note-taking application for the GNOME desktop. As such it is evolving as a replacement for the traditional ‘sticky notes’ applet and offers several advantages, including easy formatting and wiki-style links. But currently Tomboy notes are limited to the desktop. That means that users can’t…

  • Python Bindings for librsvg

    Background: I started to re-write the old GNOME Chess application in Python. GNOME Chess is still a Gtk+ 1.2 application and as its Debian maintainer I want a modern version in Debian. Of course the chess board should be drawn with Cairo and the chess pieces were supposed to be SVG graphics. After a little research I…

  • Ubuntu (Non-)Collaboration

    Today I discovered on Debian’s Package Tracking System that Ubuntu has patched my Netatalk package. The patch seems to be rather useful (start cnid_metad in init if the user requests it). I just wonder why it was never submitted directly to me. Isn’t it easier just to take the upstream message than to (re-)sync every time I release a new version? Below…

  • Activity Monitor

    The Problem Several applications need to know about user activity. This includes screen savers, RSI prevention tools like Workrave, and IM programs (for automatic away message). Currently each program has to implement activity tracking itself. This means that there is no unified configuration, but also that programs like movie players have to resort to hacks to…

  • Standards

    Mark Pilgrim posted a great article about the problems of many committee standardization processes. Microformats use a different approach: Design for the common case first, think about corner cases only later.

  • Netatalk 2.0.3-2

    I just released Netatalk 2.0.3-2. This version solved the conflict with yudit by renaming /usr/bin/uniconv to /usr/sbin/netatalk-uniconv. As this is a tool that is only required very occasionally (i.e. when updating a volume from one character set to unicode, which hopefully you will only have to do once per volume), this change should be fairly unobstrusive. Resolving…

  • ORBit 2.12.2-2

    Uploaded a new version of ORBit2 that fixes bug #317352. It seems that at some point ORBit2 stopped building the API documentation by default, so it wasn’t included in liborbit2-dev anymore. Fixed that by providing the –enable-gtk-doc configure option. But then the API documentation is in a really bad state. Also noticed that the linc-cleanup-sockets utility…

  • Thoughts on Notifications

    There has been much talk lately about notifications in GNOME. Here are my thoughts. Basically there are different kinds of notifications: Notifications that need attention soon. This includes things like notebook battery running low, a phone call, an IM chat request, or an appointment. Generally these kinds of notifications need to draw attention to themselves without being distracting.…

  • Blogging Application

    To teach myself C# I have written a little GNOME Blogger application for my custom built blog. This is a first test of it. Of course there’s lots of work still left to do. For example, it doesn’t automatically generate the actual HTML/RSS pages by calling the generation script. Also, I still have to do…