Quit Facebook

Today, it occurred to me that I actually never really used my Facebook account. Use this link to get rid of your account, too.

Posted in Uncategorized | Leave a comment

Importing a Cisco connection profile in KNetworkManager

My university uses Cisco's proprietary VPN protocol and urges its users to use Cisco's proprietary VPN client software. Since I'm a GNU/Linux user, I didn't want to use those  clumsy applications that didn't integrate well with my Gnome or KDE desktop. First, I used vpnc on the command line (see details on how to set it up for my university). Then, when NetworkManager became usable and allowed me to configure my VPN connections in a GUI, I used the tool cisco-decrypt (also included in most GNU/Linux distributions' vpnc package) to decrypt the obfuscated group password included in the Cisco VPN connection profile file (*.pcf).

I was so used to the later procedure that I didn't realise that in the meantime, NetworkManager and in particular its KDE variant KNetworkManager has an import option that allows one to set up a new connection profile with a *.pcf file.

vpnc1

During the import, cisco-decrypt is called to unscramble the obfuscated group password. Voilà, the connection profile is almost ready - all that's missing is your username and password.

vpnc2

That's very elegant. But is this feature really that obvious? If not, then you might have ended up here :-)

Posted in GNU/Linux, KDE | Leave a comment

Otto Stich: Ich blieb einfach einfach

Letzten Dezember erschien Alt-Bundesrat Otto Stichs Autobiografie. Das Buch ist schnell gelesen und sehr unterhaltsam. Einige Dinge blieben besonders haften:

  • Die "Viererbande" (Andreas Gerwig, Helmut Hubacher, Lilian Uchtenhagen und Walter Renschler) war sich offenbar meist zu schade, mit den anderen Genossen im Berner Volkshaus zu logieren. Stich bezeichnet die vier denn auch als elitär und machtversessen.
  • Das EU-Beitrittsgesuch wurde am 18. Mai 1992 in einer Hauruck-Aktion von den damaligen Bundesräten Flavio Cotti (CVP), Jean-Pascal Delamuraz (FDP), René Felber (SP), Adolf Ogi (SVP) gegen den Willen von Arnold Koller (CVP), Otto Stich (SP) und Kaspar Villiger (FDP) durchgeboxt.
  • Wider besseres Wissen stierte Adolf Ogi (Stichs Initimfeind) den Bau der NEAT inkl. Lötschberg-Simplon- UND Gotthard-Basistunnel durch und verursachte so ein finanzielles Debakel gigantischen Ausmasses. Grund: Ogi wollte seiner Heimat Kandersteg mit dem Lötschberg eine Freude bereiten.

Stich plädiert dafür, eine Maut einzuführen, um den Transitverkehr auf die Schiene zu zwingen. Notfalls müsse man das Transitabkommen mit der EU aufkündigen, welches der Schweiz eh nur zum Nachteil gereiche. Wahrscheinlich wird unsere Regierung nicht genügend Mumm haben, diese Massnahmen aufs Tapet zu bringen. Die 1994 von Volk und Ständen angenommene Alpeninitiative harrt weiterhin ihrer Umsetzung.

Posted in Politics | Leave a comment

Migration from Apache Roller 4.0 to WordPress 3.3.1

For quite some time, I used Apache Roller (version 4) as my weblog software. At first, I wanted to upgrade to version 5, but then, on second thought, dismissed the intention. Instead, I migrated to WordPress. The transition was not easy - probably because I missed some helpful tools. I ran Roller in a Tomcat 6 servlet engine and used Derby as the RDBMS backend. Here's an outline of the steps that were needed to migrate:

  1. Create a MySQL database.
  2. Install the MySQL JDBC JAR file and make sure Tomcat can find it.
  3. Shutdown the Roller webapp.
  4. Adapt roller-custom.properties to use the MySQL rather than the Derby database.
  5. Restart Tomcat (and thereby the Roller webapp).
  6. Access the Roller webapp and initiate the SQL scheme creation.
  7. Shutdown the Roller webapp.
  8. Start a standalone Derby server with the Roller database.
  9. Install openDBcopy, the MySQL JDBC JAR file and the Derby JAR files derbyclient.jar and derbytools.jar.
  10. Start openDBcopy and copy the Derby database to the MySQL database.
  11. Follow these instructions.

If someone's interested in detailed instructions, I'm willing to post them here.

Posted in Weblog | Leave a comment

Buildung R binary packages for Windows with WINE under GNU/Linux

Building Windows binaries of R packages may be tricky. A convenient method is using Uwe Ligges' build service win-builder where you can upload an R source package via FTP, wait for a while and then download the Windows binary from a temporary FTP directory (the link is provided in an email sent to the address specified in the Maintainer field in the DESCRIPTION file of the package). If your package doesn't contain compiled C/C++/Fortran (i.e. only R) code, then you can install the source package (i.e. *.tar.gz file) with install.packages(..., type = "source"). However, you might still need to produce a Windows binary (i.e. *.zip file) in such cases. And maybe you'd like to do that on a GNU/Linux machine. Then then following short tutorial is for you.

First, install the Windows emulator WINE. The following works on openSUSE 11.4 (but can of course be adapted to the distribution of your choice):

Then, download a Windows version of R and install it with WINE (follow the instructions in the graphical installer):

A further prerequisite is a ZIP executable for Windows, e.g. Info-ZIP:

Add the R.exe and zip.exe executables to the Windows (or rather WINE) PATH environment variable for convenience. Open the WINE registry editor and navigate to My Computer > HKEY_CURRENT_USER > Environment. There, create a new string PATH with value C:\Program Files\R\R-2.14.0\bin\i386;C:\Program Files\infozip:

You can check whether PATH is set correctly with the following (just type PATH and hit enter after the WINE terminal has opened):

Now you're ready to build Windows binaries of R packages under GNU/Linux (in case there's no C/C++/Fortran code that needs to be compiled - that would require the setup of an R/Windows development environment, which I haven't tested yet, but see this discussion).
To illustrate, I use Hadley Wickham's extremely useful R package stringr. First, I'll demonstrate how to build the Windows binary with the win-builder. Then, building with WINE is shown.

Get the package source code:

Replace the Maintainer field in the DESCRIPTION file because otherwise Mr. Wickham will receive unrequested email from the win-builder build service:

Next, build the source package (*.tar.gz) and upload it to win-builder. One could do that manually. A nicer way is using Hadley Wickham's devtools package:

Note that the dependency plyr was also installed in the R call above. After a while, check your email for a message by Uwe Ligges (CRAN maintainer for Windows binary packages) and download the Windows binary built by win-builder (note that the follwing URLs are only temporary and probably don't exist anymore):

The procedure using win-builder is convenient, however it involves a number of manual steps and is quite time consuming. Let's see how the same can be achieved with WINE.

Install dependencies for package stringr with the Windows version of R:

Build the binary package with the Windows version of R:

It's that simple once R and the ZIP utility for Windows are set up with WINE.

To finish off, one could compare the Windows binaries produced with win-builder and with WINE:

Posted in R | 4 Comments

Bespassen

Ich dachte, das Verb "bespassen" könnte allenfalls eine Neuschöpfung meinerseits sein - dabei meine ich insbesonder die anhaltende Unterhaltung von Kleinkindern, damit diese nicht losflennen. Doch weit gefehlt. Das Wort existiert offenbar schon länger. Siehe z.B. hier und hier.

Posted in Lenition | Leave a comment

Chaos im Rechnungswesen bei speed-net.ch

Bis vor kurzem hatte ich einen VPS (Virtual Private Server) bei der Firma speed-net.ch. Über das Produkt selbst konnte ich mich nicht beklagen, aber das Chaos im Rechnungswesen bewegte mich schliesslich dazu, zu kündigen und einen anderen Anbieter für virtuelle Servern zu suchen. Die Firma speed-net.ch bietet zwar günstige Produkte an, aber der Mehraufwand, der sich durch die Interaktion mit der Buchhaltungsabteilung ergibt, macht dies wieder wett. Deshalb würde ich allen, die auf der Suche nach günstigen virtuellen Servern sind, davon abraten, bei speed-net.ch einzukaufen. Meine Empfehlung: lieber etwas mehr bezahlen und dafür nicht ständig mit falschen Zahlungserinnerungen oder Drohungen belästigt werden.

Nachfolgend Auszüge aus dem Mailverkehr mit speed-net.ch in chronologischer Reihenfolge.

Mail von speed-net.ch vom 15.11.2010:

Sehr geehrte/r Thomas Zumbrunn,
Sie erhalten diese Nachricht als Hinweis, dass bei uns eine fällige Rechnung offen steht. Womöglich hat sich unsere Zahlungserinnerung mit Ihrer Überweisung gekreuzt oder es ist Ihnen entgangen, dass wir gemäss Konditionen eine Zahlungsfrist von 20 Tagen führen. In diesem Fall freuen wir uns über Ihre schnellstmögliche Zahlung des ausstehenden Betrags.
Bitte darum die Rechnung innerhalb von 5 Tagen zu begleichen.
Fälliger Betrag: CHF 114.65
Fälligkeit: 16.11.2010
!!! WICHTIG !!!
Bitte als Zahlungsgrund Ihre Rechnungs-Nr. angeben!

Die Zahlung war bereits am 10.10.2010 erfolgt, inkl. Angabe der Rechnungs-Nr. Also schrieb ich zurück.

Mail an speed-net.ch vom 15.11.2010:

Sehr geehrte Damen, sehr geehrte Herren
Besagte Rechnung wurde am 10.11.2010 per Postfinance beglichen. Auch die Rechnungs-Nr. habe ich im Mitteilungs-Feld angegeben. Deshalb wundere ich mich ein wenig, dass Sie die Zahlung noch nicht bekommen haben sollen. Könnten Sie mir kurz mitteilen, was schief lief, damit ich künftige Rechnungen korrekt begleichen kann?
Mit freundlichen Grüssen
Thomas Zumbrunn

Daraufhin erhielt ich folgende Antwort:

Mail von speed-net.ch vom 16.11.2010:

Sehr geehrte/r Thomas Zumbrunn,
dies ist eine Zahlungsbestätigung für die Rechnung 20100309, erstellt am 27.10.2010
VPS Plus Aufschaltgebühr CHF 24.95
VPS Plus - ***** (27.10.2010 - 26.04.2011)
Weitere IP-Adressen: 0 x Zusätzliche IP-Adresse CHF 29.70
Control Panel: Keins
Zusätzlicher Arbeitsspeicher: Keins
Zusätzlicher Speicherplatz: Keins CHF 89.70
------------------------------------------------------
Sub Total: CHF 114.65
Guthaben: CHF 0.00
Total: CHF 114.65
Betrag: CHF 114.65
Transaktion #:
Insgesamt gezahlt: CHF 114.65
Verbleibende Bilanz: CHF 0.00
Status: Bezahlt
Sie können Ihre Rechnungen jederzeit einsehen, indem Sie sich in Ihren Kundenbereich einloggen.
Bemerkung: Diese Mail dient als offizieller Beleg für diese Zahlung.
Mit freundlichen Grüssen
Ihr Speed-Net Team

Leider ging es im gleichen Stil weiter.

Mail von speed-net.ch vom 26.04.2011:

Sehr geehrte/r Thomas Zumbrunn,
Sie erhalten diese Nachricht als Hinweis, dass bei uns eine fällige Rechnung offen steht. Womöglich hat sich unsere Zahlungserinnerung mit Ihrer Überweisung gekreuzt oder es ist Ihnen entgangen, dass wir gemäss Konditionen eine Zahlungsfrist von 20 Tagen führen. In diesem Fall freuen wir uns über Ihre schnellstmögliche Zahlung des ausstehenden Betrags.
Bitte darum die Rechnung innerhalb von 5 Tagen zu begleichen.
Fälliger Betrag: CHF 89.70
Fälligkeit: 27.04.2011
!!! WICHTIG !!!
Bitte als Zahlungsgrund Ihre Rechnungs-Nr. angeben!

Diese Rechnung war bereits am am 21.04.2011 bezahlt worden, wiederum unter Angabe der Rechnungs-Nr. Also schrieb ich erneut speed-net.ch an und erhielt wiederum eine Zahlungsbestätigung. Diesmal hakte ich nach.

Mail an speed-net.ch vom 28.04.2011:

Sehr geehrte Damen, sehr geehrte Herren
Besten Dank für die rasche Antwort. Was gedenken Sie zu tun, damit meine Zahlungen bei Ihnen in Zukunft rechtzeitig verbucht werden?
Mit freundlichen Grüssen
Thomas Zumbrunn

Daraufhin erhielt ich folgende lapidare Antwort.

Mail von speed-net.ch vom 28.04.2011:

Guten Abend,
> Besten Dank für die rasche Antwort.
> Was gedenken Sie zu tun, damit meine Zahlungen bei Ihnen in Zukunft
> rechtzeitig verbucht werden?
Gar nichts. Bis eine zahlung verbucht wird geht es zwei bis drei tage.
Mit freundliche Gruessen
Ihre Buchhaltung

Nach erneutem Nachhaken wurde ich wiederum mit der Bemerkung belehrt, dass es wichtig sei, die Rechnungsnummer auf der Zahlung zu vermerken (was ich natürlich getan hatte). Zudem wurde ich auf die Feiertage verwiesen, welche die Verzögerung der Zahlung allenfalls verursacht haben könnte. Wer's glaubt... Weil der Zeitaufwand bei jeder der beiden Rechnungen derart gross war, entschloss ich mich, per Ende der laufenden Vertragsperiode zu kündigen und zu einem etwas teureren, aber hoffentlich bez. Buchhaltung fähigeren ISP zu wechseln.

Mail an speed-net.ch vom 24.09.2011:

Sehr geehrte Damen, sehr geehrte Herren
Ich möchte den VPS Plus (IP ***.***.***.***, Benutzername: *********) per 26.10.2011 kündigen.
Mit freundlichen Grüssen
Thomas Zumbrunn

Das reichte der Buchhaltung nicht.

Mail von speed-net.ch vom 24.09.2011:

Guten Abend,
> Ich möchte den VPS Plus (IP ***.***.***.***, Benutzername: *********) per
> 26.10.2011 kündigen.
Bitte Kuendigen Sie Ihr Produkt auf https://userportal.speed-net.ch
Sie erhalten dan automatisch eine Kuendigungs Bestaetigung.
Mit freundliche Gruessen
Ihre Buchhaltung

Ich tat, was die Buchhaltung (vermutlich der Geschäftsführer von speed-net.ch und Ausübende aller anderen Funktionen in Personalunion) verlangte. Und tatsächlich erhielt ich daraufhin eine Kündigungsbestätigung.

Mail von speed-net.ch vom 6.10.2011:

Sehr geehrte/r Thomas Zumbrunn,
diese Mail ist eine Bestätigung, dass wir Ihre Kündigung für die nachstehenden Produkte/Dienstleistungen erhalten haben.
Produkt/Dienstleistung: VPS Plus
Domain: *****
Wenn Sie sofortige Kündigung eingereicht haben, wird Ihr Account innerhalb der nächsten 24 Stunden stillgelegt. Wenn Sie Kündigung zum Ende der Abrechnungsperiode eingereicht haben, wird Ihr Account noch bis zum nächsten Fälligkeitsdatum, am 27.10.2011, verfügbar sein.
Danke, dass Sie Kunde von Speed-Net waren und wir hoffen, Sie in Zukunft wieder begrüßen zu dürfen.
Mit freundlichen Grüssen
Ihr Speed-Net Team

Uff, geschafft, dachte ich. Zu früh gefreut. Ich vergass die unfähige Buchhaltung.

Mail von speed-net.ch vom 9.12.2011:

Sehr geehrte/r Thomas Zumbrunn,
leider konnten wir innerhalb der Mahnfrist weder einen Zahlungseingang verzeichnen, noch erhielten wir eine Reaktion von Ihrer Seite. Aus diesem Grund haben wir Ihren Account / Webseite bis zur
Begleichung der offenen Posten gesperrt. Bitte beachten Sie, dass ab sofort alle Dienste (E-Mail, FTP, WWW usw.) nicht mehr erreichbar sind. Wir möchten Sie bitten uns zu kontaktieren. Sollten wir weiterhin nichts von Ihnen hören, werden wir von unserem Recht Gebrauch machen und die offene Forderung an unseren Rechtsanwalt weitergeben.
Produkt/Service: VPS Plus
Domain: *****
Fälligkeit: 27.10.2011
Grund: überfällige Zahlung
Mit freundliche Gruesse
Ihr Speed-Net Team

Erstens hatte ich termingerecht gekündigt, und zweitens hatte ich nie eine Mahnung erhalten. Obwohl speed-net.ch drohte, mir einen Rechtsverdreher auf den Hals zu hetzen, antwortete ich.

Mail an speed-net.ch vom 9.12.2011:

Sehr geehrtes Speed-Net Team
Zum wiederholten Male zeigt sich, dass Sie ein Riesenchaos mit Ihrem Abrechnungswesen zu haben scheinen, was auch der Grund war, weshalb ich bei Ihnen per 27.10.2011 gekündigt habe. Sehen Sie sich bitte die weitergeleitete Nachricht an - das ist die Kündigungsbestätigung, welche Sie mir am 6.10.2011 geschickt haben. So gesehen wirkt Ihre Drohung, einen Rechtsanwalt mit der Sache zu betrauen, einfach nur lächerlich - nein, er kommt gar einer Nötigung gleich, und ich sollte eigentlich Ihnen mit einem Rechtsanwalt drohen, für all die Umtriebe, die Sie verursacht haben, weil Sie nicht fähig waren, termingerecht eingegangene Zahlungen richtig zu verbuchen. Interessanterweise haben Sie den Account auch nach dem 27.10.2011 nicht gesperrt, was ich vor ein paar Tagen per Zufall bemerkte, als ich einen Bookmark auf das VPS-Control-Panel anwählte und feststellte, dass ich mich nach wie vor einloggen konnte.
Mit freundlichen Grüssen
Thomas Zumbrunn

Immerhin gab speed-net.ch den Fehler zu, jedoch hoffte ich auch dieses Mal vergebens auf eine Entschuldigung.

Mail von speed-net.ch vom 9.12.2011:

Guten Abend,
> Zum wiederholten Male zeigt sich, dass Sie ein Riesenchaos mit Ihrem
> Abrechnungswesen zu haben scheinen, was auch der Grund war, weshalb ich bei
> Ihnen per 27.10.2011 gekündigt habe. Sehen Sie sich bitte die weitergeleitete
> Nachricht an - das ist die Kündigungsbestätigung, welche Sie mir am 6.10.2011
> geschickt haben. So gesehen wirkt Ihre Drohung, einen Rechtsanwalt mit der
> Sache zu betrauen, einfach nur lächerlich - nein, er kommt gar einer Nötigung
> gleich, und ich sollte eigentlich Ihnen mit einem Rechtsanwalt drohen, für all
> die Umtriebe, die Sie verursacht haben, weil Sie nicht fähig waren,
> termingerecht eingegangene Zahlungen richtig zu verbuchen.
> Interessanterweise haben Sie den Account auch nach dem 27.10.2011 nicht
> gesperrt, was ich vor ein paar Tagen per Zufall bemerkte, als ich einen
> Bookmark auf das VPS-Control-Panel anwählte und feststellte, dass ich mich
> nach wie vor einloggen konnte.
Sie haben Ihr Produkt richtig gekuendigt.
Der Fehler liegt bei uns also am System.
Mit freundliche Gruessen
Ihre Buchhaltung

Mein Fazit: Hände weg von speed-net.ch. Wie bereits erwähnt, die kostengünstigen Angebote mögen verlockend sein, aber das Hin und Her mit der Buchhaltung ist zeitraubend und nervenaufreibend.

Posted in GNU/Linux | 8 Comments

“vereinfachtes ID-Verfahren” der PostFinance

Ich staunte nicht schlecht, als ich feststellte, dass ich mit meiner PostFinance-Card Online-Shopping-Zahlungen tätigen konnte, in dem ich bloss die Karten- und ID-Nummer angab. Das Verfahren nennt sich "vereinfachtes Identifikationsverfahren" und ist u.a. hier und hier beschrieben. Die Monatslimit für dieses Verfahren beträgt CHF 500.-, d.h. der Schaden bei einem Kartenverlust hält sich in Grenzen. Die vereinfachte Identifikation kann man beim Kundendienst der Postfinance zwar sperren zu lassen, aber standardmässig ist dieses Verfahren aktiviert. Meines Erachtens sollte standardmässig nur das Identifikationsverfahren per Kartenleser erlaubt sein.

Posted in Consumption | Leave a comment

Wachstum = Dynamik?

In der Basler Zeitung (BaZ) vom 13. Oktober beschreibt Klaus Kügel, Ökonom aus Reinach (BL), auf Seite 10 unter dem Titel "Einspruch - Die Zukunft beider Basel" die Bevölkerungsentwicklung der beiden Halbkantone Basel-Stadt (BS) und Basel-Landschaft (BL) zwischen 2000 und 2010 im Vergleich zur Entwicklung der schweizerischen Gesamtbevölkerung. Seine Angaben für das Jahr 2000 sind falsch. Die Zahlen für die ständige Wohnbevölkerung der Schweiz und der Kantone können der Website des Bundesamts für Statistik (BFS) entnommen werden (z.B.
hier und hier). Es ist zugegebenermassen nicht ganz einfach, die korrekten Angaben aus dem Wust an Excel-Tabellen, die das BFS zur Verfügung stellt, zu fischen. Die falsch berechneten prozentualen Bevölkerungsanteile der Kantone BS und BL, welche Herr Kügel in seinem BaZ-Artikel nennt, sind nicht weiter schlimm. Haarsträubend sind jedoch die Schlussfolgerungen, die der Ökonom zieht. Weil der relative Anteil der Bevölkerung der Kantone BS und BL gegenüber der Schweizer Gesamtbevölkerung von 6.21 % im Jahre 2000 (Herr Kügel kommt auf den falschen Wert 6.14 %) auf 5.81 % fiel, folgert Herr Kügel, dass mehr Schweizer die Region Basel verliessen, als zuzogen. (Wie er zum Schluss kommt, dass es nur Schweizer sind, die die Region verliessen oder zuzogen, bleibt sein Geheimnis – die Angaben des BFS, die er für seine "Berechnungen" verwendet, beziehen sich auf die ständige Wohnbevölkerung der Schweiz und umfassen so auch Menschen ohne Schweizer Staatsangehörigkeit). Er übersieht dabei, dass absolut gesehen die Bevölkerung in der Region um 11'651 Menschen wuchs. Relatives und absolutes Wachstum gleichzusetzen, ist zwar schon dilettantisch genug. Aber der Ökonom setzt noch einen drauf. Weil er offenbar den Unterschied zwischen relativem und absolutem Wachstum nicht kennt (oder ignoriert?) und meint, die Bevölkerung der Region sei geschrumpft, fragt er sich: "Ist die Region Basel noch dynamisch?" Auch diese Schlussfolgerung entbehrt jeder Grundlage. Ein System, dessen Anzahl Komponenten über die Zeit hinweg nur geringen Schwankungen ausgesetzt ist, kann durchaus hochdynamisch sein, wenn die einzelnen Komponenten einer hohen Austauschrate unterliegen. Ein schönes Beispiel dafür ist unser Körper: Etwa alle sieben Jahre werden ca. 90 % unserer Zellen durch neue ersetzt (vgl. z.B. den Wikipedia-Artikel zum Thema Altern). Die Veränderung der Anzahl Einwohner der Region Basel sagt deshalb nichts über die Dynamik (im eigentlichen Sinn des Worts) der Region aus. Trotzdem setzt Herr Kügel Wachstum mit Dynamik gleich. Dies rührt wohl daher, dass für viele Ökonomen "Dynamik" und "Wachstumsdynamik" ein und dasselbe sind. "Wachstumsdynamik" bezieht sich meines Wissens üblicherweise auf Wirtschaftswachstum, aber Herr Kügel weitet diese Definition auf weitere Formen des Wachstums aus (eben beispielsweise das Bevölkerungswachstum). Damit zementiert er zugleich das Bild des Ökonomen, der an das vermeintlich ewigwährende (Wirtschafts-)Wachstum als Allheilmittel für alle Probleme dieser Welt glaubt. Oder um es mit den Worten von Kenneth Boulding zu sagen: "Anyone who believes exponential growth can go on forever in a finite world is either a madman or an economist." (Leider gibt es für das Zitat keine Quelle.) Für die "Zukunft der Region Basel" benötigen wir nicht nur Menschen, die einfache Rechenaufgaben zu lösen vermögen, sondern v.a. auch Menschen, die begriffen haben, dass wir uns vom (Wirtschafts-)Wachstumszwang lösen und die Weichen in Richtung einer Postwachstumsgesellschaft stellen müssen. Dies betrifft wohlverstanden sowohl das Wirtschafts- als auch das Bevölkerungswachstum.

PS: Obiges habe ich in verkürzter Form in einem auf 1100 Zeichen limitierten Leserbrief an die BaZ geschickt (am 14. Oktober 2011). Bisher wurde er nicht abgedruckt.

Laut Bundesamt für Statistik betrug die ständige Wohnbevölkerung der Schweiz per 31. Dezember 2000 7'204'055. In den Kantonen BS und BL lebten 187'667 (2.61 %) respektive 260'036 (3.61 %) Menschen, zusammen waren dies 447'703 Menschen bzw. 6.21 % der Schweizer Bevölkerung. Ende 2010 lebten in den beiden Halbkantonen 459'354 Menschen bzw. 5.84 % der Schweizer Bevölkerung. Die prozentualen Angaben von Herrn Kügel für das Jahr 2000 sind folglich falsch. Dies wäre nicht weiter schlimm, wenn er sich, basierend auf dem im Vergleich zu anderen Regionen langsameren relativen Bevölkerungswachstum der Region Basel, nicht zu folgender Aussage hätte hinreissen lassen: "Heute hingegen verlassen mehr Schweizer die Region, als zuziehen." Dies ist Unsinn, denn in absoluten Zahlen wuchs die Wohnbevölkerung der beiden Basel zwischen 2000 und 2010 um 11'651 Menschen. Die nachfolgende Aussage ("Ist die Region Basel noch dynamisch?") legt deshalb den Schluss nahe, dass der Ökonom fatalerweise Dynamik mit Wachstum gleichsetzt – kein geeignetes Rezept für "die Zukunft beider Basel", wie ich finde.

Posted in General | Leave a comment

Import Mozilla Firefox passwords in KDE wallet

The KDE wallet manager password integration add-on for Firefox didn't work for me for quite some time. The new release 0.9 in combination with Mozilla Firefox 5.0 works again. So it was time to import all passwords saved in Firefox into my KDE wallet. I found instructions here, but they were out of date. Here's how I proceeded.

First, install the Firefox add-on Password Exporter, restart Firefox, open "Edit > Preferences" and go to the Security tab where you click Import/Export Passwords and then Export Passwords.

Transform the saved XML file with the following XSL stylesheet:

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--
Copyright (C) 2011 Thomas Zumbrunn http://thomas.zumbrunn.name/
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program.  If not, see http://www.gnu.org/licenses/.
-->
<!-- XSL stylesheet to transform XML file exported with Firefox 5.0
Password Exporter 1.2.1 for KDE Wallet Manager 1.7 -->
  <xsl:template match="entries">
    <wallet name="Firefox">
      <folder name="Firefox">
        <xsl:apply-templates />
      </folder>
    </wallet>
  </xsl:template>
  <xsl:template match="entry">
    <map>
      <xsl:attribute name="name">
        <xsl:value-of select="@user"/>
        <xsl:text>,</xsl:text>
        <xsl:value-of select="@host"/>
        <xsl:text>,</xsl:text>
        <xsl:value-of select="@httpRealm"/>
        <xsl:text>,</xsl:text>
        <xsl:value-of select="@formSubmitURL"/>
      </xsl:attribute>
      <xsl:if test="@formSubmitURL != ''">
        <mapentry name="formSubmitURL">
          <xsl:value-of select="@formSubmitURL"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@httpRealm != ''">
        <mapentry name="httpRealm">
          <xsl:value-of select="@httpRealm"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@host != ''">
        <mapentry name="hostname">
          <xsl:value-of select="@host"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@password != ''">
        <mapentry name="password">
          <xsl:value-of select="@password"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@passFieldName != ''">
        <mapentry name="passwordField">
          <xsl:value-of select="@passFieldName"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@user != ''">
        <mapentry name="username">
          <xsl:value-of select="@user"/>
        </mapentry>
      </xsl:if>
      <xsl:if test="@userFieldName != ''">
        <mapentry name="usernameField">
          <xsl:value-of select="@userFieldName"/>
        </mapentry>
      </xsl:if>
    </map>
  </xsl:template>
</xsl:stylesheet>

Finally, open a wallet in KDE wallet (I use version 1.7 as of this writing) and import the XML file resulting from the XSL transformation with File > Import XML.... Done.

Posted in XML | 3 Comments