still don't have a title

New python-debianbts in experimental

— Thanks to Peter De Wachter, python-debianbts no longer depends on an external SOAP library

Help needed: creating a WSDL file to interact with debbugs

— I need help from someone with experience in SOAP and debbugs to create a WSDL file for Debian's Bug Tracking System

Investigating popularity of Python build backends over time

— Inspired by a Mastodon post, I wanted to investigate how the popularity of build backends used in pyproject.toml files evolved since the introduction of PEP-0517 in 2015.

dotenv-cli update

— dotenv-cli now ues exec on POSIX systems to create new processes

Blag 2.0 released

— I released a major update on blag, which introduces a few backwards incompatible changes and many improvements.

The State of Python Packaging in 2022

— Every year, I revisit the current best practices for Python packaging. This is my summary for 2022.


— Due to recent events around Twitter, I finally decided to give Mastodon a try.

Keychron keyboards fixed on Linux

— Since Linux 5.19, the Function keys of Keychron keyboards are finally working out of the box.

blag is now available in Debian

— After a year I finally got around creating a Debian package for blag.

Managing dotfiles with GNU Stow

— How to use GNU Stow to manage the symlinks to the dotfile repository.

The State of Python Packaging in 2021

— Every year, I revisit the current best practices for Python packaging. This is my 2021 edition.

Getting the Function keys of a Keychron working on Linux

— The Keychron C1 (and other Keychron models) do not work properly on Linux: the Function keys are not accessible at all, here's how to fix them.

Writing Makefiles for Python Projects

— Exploring two different strategies for using Makefiles in Python projects

Perfection is Achieved When There is Nothing Left to Take Away

— In 14 years since starting this blog, I changed the software several times, with each iteration simplifying requirements and setup.

Installing Debian on a Thinkpad T14s

— Due to non-free firmware it is still difficult to install Debian on recent hardware.

Dear Apple,

— Like Android, Apple should allow other apps like Signal to become the default SMS/MMS app on iOS.

Creating Beautiful Github Streaks

— How to generate git commits in the past to create beautiful github streaks.

Introducing Noir

— noir is a drop-in replacement for black, with the default line length set to 79 characters.

Dotenv CLI

— dotenv-cli is a Python package that provides the dotenv command.

Orphaning reportbug-ng

— After several years without development, it is time to say goodbye to reportbug-ng.

Introducing Litestats

— litestats is a tool that converts Python's profiler output into a sqlite3 database for easier exploration and analysis.

Syncing Exchange Server with Thunderbird 60 (again)


Please Help to Port python-debianbts to Python3

General Resolution is not required

What are the most popular .vimrc options?

How to get the most precise time, comparable between processes in Python?

Wee! Wheezy is out (better late than never)

Synchronizing Google Mail Contacts with Thunderbird

Shiny new iPod Nano 6G... fffffffuuuuuuuuuuuu

Introducing The Art of Asking

Give Camp Berlin looking for volunteers

Awesome Firefox Campaign

Happy Birthday Debian!

Usability of git-http-backend with self signed SSL certificates

Suggestions for a Graphics Tablet?


Can aptitude show older versions of packages if available in /var/cache/apt/archives?

Helping awstats to correctly interpret lighttpd's log format

How to get a list of manually installed packages (and remove the other ones)

No sound with Gnome 3 and pulseaudio?

Speech Recognition Software

KDE4's annoying taskbar

Happy Birthday Debian!

Not coming to DebConf

I'm going to DebConf11

Installing Dropbox in Debian/Sid

Introducing python-ardrone

Dear Lazyweb

Summer School: Advanced Scientific Programming in Python


Canon IXUS 130

Google Summer of Code 2010 Mentor Summit Report

Introducing python-popcon

Weird Konsole Split

Happy Birthday Debian!

Goodbye DebConf10

Debconf: Day 2

linen and towels

I'm going to DebConf10

I may go to Debconf 10

Github announces SVN support

Running Gnome Applets in KDE

Debbugs RW-SOAP API Project in GSoC 2010

apt-get update slow when LANG != C?

Reportbug-ng can now hide closed bugs

Reportbug-ng now supports complex queries

Links not opening in Thunderbird 3?

Query Google Scholar using Python

How to find packages installed/updated yesterday?

git bisect, ccache, cowbuilder



The sorry state of Python in Debian

My eyes! The goggles, they do nothing!

Bundesverdienstkreuz for Matthias Ettrich

Python2.6 Blockers

reportbug-ng has localization support again

Amarok going downhill

Python 2.6 Transition

python-debianbts 1.0 uploaded to unstable

Please help to complete python-debianbts


Gridengine and Qlogin Zombies

Package Completion for Rng


Debconf 11 in Berlin?

LinuxTag 2009

Using rng for bug triaging

Migrating a project from one SVN repository to another using git-svn

Reportbug finally has a GUI!

git-svn branch


Valentine's Day!

Nice(r) console fonts

How many bugs have you fixed today?

Lenny Release General Resolution

Lenny's release date III

Lenovo T500 (shiny new laptop)

rm -rf /


Lenny's release date

Gettext and QT4?

Finally, a Debian Live CD

What is group x in /etc/group for and should I be a member?

My guess for Lenny's release date

Rng 1.0 in unstable

Porting rng to QT4

Maximize vs Maximize to Preferred Size

Segfaults Everywhere

Tab Completion in Python's Interactive Mode

Linux Action Show

Lenny won't ship rng

actual file size does not match size in .changes

Linuxtag 2008

4 months and 10 days without any new Debian developer...

Happy Birthday rng!

The Eagle has Landed

Good Python IDE

Juten Rutsch ins neue Jahr!

Merry Christmas everyone!

On #422085 and #417256

Want to get money for nothing and chicks for free, too?

Forcing win32-loader to use i386?

Time-lapse-video-with-your-webcam mini HOWTO

(Almost) Back

Deserializing SOAP replies with ZSI?

Howto setup a print server for Windows (and others) using CUPS and zeroconf

My top 5 Firefox/Thunderbird annoyances

Rng and others temporary broken

Implement two features and get the third for free!

On Debian Maintainers

Small web calendar sought

Improved filtering for rng

Reportbug-NG finally in testing!

Python, os.fork(), webbrowser and debbugs

What does it take to break rng?


Localizing reportbug-ng (II)

1 Kilobyte = 1000 ± 24 bytes

Rebuilding the Archive Using Cowbuilder (II)


Please help to localize reportbug-ng

Using zeroconf to resolve local hostnames

4GB RAM on a T60?

Last chance for LinuxTag 2007

Making cool panoramic pictures with hugin

New queries for reportbug-ng

Reportbug-NG migrated from SVN to BZR

What about a contest for the next theme?

How long does it take to turn a feature into a bug?

Since More and More People Are Referencing to

Reportbug-NG, Now With Fancy Colors

Dear SoC enthusiasts,

Thanks Lazyweb,

Dear Lazyweb,

Reportbug-NG in Unstable

Reportbug-NG at Alioth

A Screencast is Worth a Thousand Pictures

Etch Won't Ship Wordpress

Pimp My Boot Process (III)

Decoupling Presentation from Logic

Rebuilding the Archive Using Cowbuilder

DPL 2007, Current Candidates

Pimp My Boot Process (II)

Number concerning the next release: 104

First Candidate

RC Bug Triage

Random Firefox Tweaks

Number concerning the next release: 116

Using My Favorite Mailclient When Reporting Bugs

Pimp My Boot Process

Allow myself to introduce.......... myself!

Hello World!