greyage/blog

Josua Grawitter

The U5 extension

von ,

map of current U5 line, close up

For a long time, I was puzzled by BVG plans to extend U5 through central Berlin. After all, that part of town is already served by three successful lines:

  • the overground Stadtbahn (S3, S5, S7)
  • the underground U2
  • the (tourist-oriented) bus 100

Why build an expensive new underground line at the center of town instead of (for example) connecting the notoriously underserved Weißensee district? The answer finally dawned on me, after watching a few of Jarrett Walker’s lectures on achieving “high-ridership transit”.

Among other points, Walker stresses the importance of connectivity in transit networks; after all people will only use a transit network which gets them to their destination. Specifically, the current U5 reminds me of Tucson’s bus line 15 which ends at its first connecting stop (roughly minute 34 in the video above).

If we look at the U5 through the lens of connectivity we see its problems as a transit line:

  • It only has two important connections: the S-Bahn ring at Frankfurter Allee and the U2 ,U8 and Stadtbahn at Alexanderplatz.
  • Crucially, passengers need to change trains at Alexanderplatz just to keep going west.

This means, many passengers will have to switch trains twice to get to central Berlin. Also, changing trains at Alexanderplatz means venturing into the labyrinth of tunnels between U2, U5, and U8… Clearly, such inconvenience turns some passengers away and therefore increases car traffic along B1 (and the controversial A100 extension).

The U5 extension adds three connection points:

  • Unter den Linden (U6)
  • Brandenburger Tor (S1, S2)
  • Hauptbahnhof (Stadtbahn and long-distance trains)

The first two are obviously useful, because they connect the U5 to important north-south lines; extending its one-change connectivity through Kreuzberg, Neukölln, Reineckendorf, Steglitz and Schöneberg as well as the northern and southern outskirts of Berlin. In some cases using the Ring will get you there faster, but it’s still a massive improvement. (Also consider that U-Bahn trains run more frequently at night than S-Bahn trains.)

map of new areas accessible with a single change

The connection to Hauptbahnhof is also desperately needed. After Deutsche Bahn consolidated its long-distance stations at Hauptbahnhof, a fast, reliable connection there adds access to the entire German train network. Without access to DB trains many U5 passengers might turn to cheap flights from Schönefeld to Hamburg, Munich or Cologne instead of the fast and green ICE trains.

In the end, the only puzzle in U5 extension is BVG’s messaging on it. Is the idea of connectivity deemed to complicated? Apparently so: Both the U5 project group and the state traffic planners praise “better access to Berlin’s famous sights” in their project descriptions, a point which Berlin constituents could not care less about. The state planners finally acknowledge connectivity benefits in their FAQs — hidden among 14 other points.

For a transit project funded by public resources that’s not just arrogant, it’s negligent. The red-red-green coalition is lucky that conservatives did not use the U5 extension in their “wasteful spending” narrative — they might have toppled a great public investment.

Andrea Nahles Vorschlag zur Rentenreform

von ,

1. Aktuelles Rentensystem

Das deutsche Rentensystem hat einen schlichten Anspruch: Jeder Mensch soll im Alter genauso gut leben, wie vorher. Deswegen ist die Rente pro­por­tio­nal zum früheren Einkommen. Finanziert wird die Rente durch Umlagen, das heißt die Rentenbeiträge von Beschäftigten werden gesammelt und auf alle Rentner aufgeteilt. Die Beiträge sind keine Steuern und Rentenkassen sind getrennt vom Staatshaushalt. Der Staat regelt aber, wie groß die Renten und die Rentenbeiträge sind.

Das System hat darüber hinaus viele Feinheiten und Sonderregeln. Ich beschränke mich auf drei Aspekte:

  1. Die Rente ist proportional zum früheren Einkommen.
  2. Es gibt eine maximale Rente.
  3. Die Rente wird für alle Rentner gleichmäßig (prozentual) angepasst.

Außerdem gibt es die Grundsicherung, die der Staat garantieren muss. Wenn die Rente unter die Grundsicherung fällt, muss die Differenz aus öffentlichen Mitteln bezahlt werden.

2. Das Problem

Die aktuelle Debatte wird durch den demographischen Wandel verursacht: Es wird in Zukunft mehr Rentner und weniger Erwerbstätige geben; deshalb schrumpft die Umlage. Im aktuellen System bewirkt das eine flachere Rentenkurve; alle Rentner kriegen (prozentual) weniger und mehr Menschen sind auf staatliche Hilfe angewiesen.

Wenn wir die aktuellen Beitragssätze behalten, werden die Renten kleiner werden, vor allem für Menschen mit großen Renten. Die kleinen Renten ändern sich (absolut) kaum. Die Kosten für den demographischen Wandel würden die Rentner tragen. Es ist eine politische Entscheidung jetzt einzugreifen, um das zu verhindern.

3. Andrea Nahles’ Vorschlag

Andrea Nahles möchte eingreifen, und schlägt folgendes vor: Die Rente für einen idealen durchschnittlichen Lohn soll mindestens 46 Prozent dieses Lohnes betragen. Statt durch Beitragserhöhungen soll das mit öffentlichen Geldern bezahlt werden. Der Staat zahlt nicht wie bisher nur bei kleinen Renten dazu, sondern bei allen Renten.

Der Nahles-Vorschlag löst nicht das Problem der Altersarmut. Stattdessen werden vor allem große Renten bezuschusst. Das klingt ungerecht, aber Nahles Vorschlag ist dennoch solidarisch: Der Zuschuss kommt aus vor allem aus Steuern, die progressiv erhoben werden. Er wird vor allem durch Menschen mit großen Einkommen finanziert. Das ist ein Riesenvorteil gegenüber den Rentenbeiträgen, die regressiv erhoben werden (und vor allem kleine Einkommen belasten).

Nahles Vorschlag ist ein Kompromiss: Es wird weiterhin außschließlich von Jüngeren zu Älteren umverteilt und die junge Generation trägt zukünftig die Kosten für den demographischen Wandel. Innerhalb der jungen Generation wird die Last aber fair verteilt, weil reiche Menschen mehr einzahlen.

4. Alternativen

Wie bereits angedeutet, gibt es zwei offensichtliche Alternativen zu Nahles’ Vorschlag: Kleinere Renten und größere Beiträge. Wir könnten uns auch von der linearen Rentenformel verabschieden. Effektiv bedeutet das eine solidarische Umverteilung zwischen den Rentnern. Bisher ist das ein politisches Tabu. (Tatsächlich könnte auch Nahles’ Vorschlag horizontale Umverteilung bewirken: Zum Beispiel durch eine Vermögenssteuer und durch Steuern auf Renten.)

Denkbar wäre eine flachere Kurve mit einer Mindestrente, die die Grundsicherung garantiert.

Ebenso denkbar ist eine Art bedingungsloses Grundeinkommen (BGE) für Rentner: Alle erhalten den gleichen Rentensatz.

Das BGE ist politisch unwahrscheinlich, aber eine Mindestrente erscheint mir sinnvoll.

Fixing your adressbook using python

von ,

Our phones contain lots of contacts created before we realised omitting the country code was not an option. Fixing all of these by hand would be punishing. Luckily Google’s libphonenumber can handle that task quite well.

Using python this comes down to an extremely compact piece of code, using vobject and David Drysdale’s python port of libphonenumber. Before you use it though, make sure to set your home country in line 14.

(fixvcf.py) download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
import phonenumbers
import vobject

f = open('input.vcf', 'r')
for contact in vobject.readComponents(f):
    if hasattr(contact, 'tel'):
        #print(contact.fn.value.encode('utf-8'))
        for tel in contact.contents['tel']:
            oldnumber = tel.value
            number = phonenumbers.parse(oldnumber,"DE")
            newnumber = phonenumbers.format_number(number,
                        phonenumbers.PhoneNumberFormat.E164)
            tel.value = newnumber
    print(contact.serialize())
sys.exit(0)

The script reads contacts from a vCard-file called “input.vcf” (make sure it is placed in your working directory). It outputs the processed contacts to stdout. Typically you would use it like this:

1
$ python fixvcf.py > output.vcf

This post was inspired by a discussion on MobileMacs. There also exists a more full-featured app for OS X by Karsten Bruns.