1 December 2009

Do what you love and starve?

Personal Prelude

A couple of years I ago, I read Steve Job's Stanford commencement address “You've got to find what you love”.
This inspired me to not give up my dreams and try to live my passion. Despite my parent's cautioning to get a simple and steady job, I worked for an IT consulting company after graduation and the loads of prestige and money of this profession kept me happy for a while. (I also have to admit that many of my job tasks were interesting and the climate at the company was also excellent.) But then things didn't go as well, a had an assignment that I didn't like, working all on my own. I felt very unhappy, so I decided to take on my old dream of revolutionizing computer programming and applied for grad school. I already had a plan for my research work and I applied directly to the professor who's theories I was going to use.

A year later I started grad school, I took interesting courses, did some TA'ing and most importantly worked on the research that I wanted to work on since my undergrad, but had previously never found anybody to work with. It was a flying start and me and my professor refined my idea into a blueprint for a programming tool that seemed really great. But just as all complicated projects, it had lots of corners and special cases which I couldn't all get into a single clean framework. I was quite disappointed because I had aspired to create a theory that was as simple and beautiful as the very foundational theories of Computer Science which had inspired me to work in research in the first place. Furthermore, although other students in my lab were quite enthusiastic about my research and eager to see my results, I couldn't manage to get any of them closer involved and collaborate with me. Frankly, I was not very open either and tried to find the perfect technical solution for every small subproblem in the way. I slowed down big time and probably seemed very closed and distracted to my lab mates, instead of open-minded and welcoming their collaboration.

How to do what you love

So I started to think about the “do what you love” idea again. At that time, I really loved my research ideas and I still think this project is a great thing to do and would be a great contribution to the world of research in general. But somehow I couldn't deal with the research world and I just couldn't get myself to write that Master's thesis that was the next step in my academic career. I thought about it a long time: how can I get myself to write? I know that rewards don't work for me. I know that getting rid of distraction doesn't work for me (because I will just fall asleep)... so I decided to give up. If I am that bad at what I am doing, it really only makes me depressed. So what does it mean to do what you love? And should one try to do it?

Good articles on the subject are very controversial:
I found it especially interesting that the latter two posts are from the same author and seem to be contradictory at first.

But after I thought about all those things, I think that the contradictions can be resolved. In brief, yes, you should like your work in the sense that you should like doing most of the things that your work requires you to do. But not everybody can make their favorite pass time into a job. There are simply many more people who like to make music (or other forms of art) than people who actually can make a living of it. There are also more amateur athletes than professional athletes, more cinema lovers than professional critics, more sport fans than professional sport reporters. Many people like photography, but very few can do it for money.
I personally like writing so much that I keep a public blog and don't expect to make money from it. They only thing I wish, is to get in touch with people who have similar ideas as I do. Connect, exchange, and communicate. It didn't happen much yet, but I am truly happy about every blog comment that I receive.

A job versus a hobby

Obviously, making money from you favorite pass-time can't work for everybody just because too many people share the same pass-time. Those who can make money from it, are either really good (rock stars), get only little money and possibly need other jobs to make a living (many of the artists in the Fringe festivals, for example), or they have a really hard job which drains a lot of time and energy, probably with most of the job tasks not being the one activity that they actually like. (See Nemko's piece about this.)

If you think about “doing what you love” in the sense that many people love the same things and only few people can do them, the world seems like a zero-sum game: only a few people get the great jobs as rock stars, movie critics, video game testers, photographs, or president of the United States, for that matter. All the others would lose out. But that's obviously not the best way to view things. There is, in fact, some distinction between work and play. And most importantly, the challenge to “find what you love” applies to both! As much as one can be stuck in a stupid and unfulfilling career that sounded great when one was young, one could be stuck with some stupid and unfulfilling hobby, such as golf, just because it's the thing people do, but one never took the time to actually find something interesting!

I think that it's indeed very important to experiment with new activities to find what one really likes to do. Having a truly interesting and satisfying hobby is important for one's happiness and life balance for many reasons. Nobody would stop doing a great activity just because they couldn't make money from it! New and interesting hobbies will not pay you in cash, but they make you happy and thus make you a better person, too! And if you develop a habit of experimenting with new things, this helps your professional life as much as your private life.

In reality, many people achieve a good work live balance by making at least some money from their hobby: I know a person who loves photographing and vowed to get at least enough photo jobs to pay for his camera. I also played at a volunteer theater company where we made just enough money to pay for all our costumes and props. And I know of a sailing school where some instructors teach for free; to them this is not working for free, but getting to sail without paying for the boat! Some people also do not make money by doing what they like, but they save money doing it: this is the case for people who do repairs on their own house, their own computer, their own bike; or those who love to cook and bake or knit and tailor. Those are all just hobbies, but they have an economic impact. For one thing, they encourage people to take a job that leaves them more free-time at the expense of less pay, because those people have inexpensive (or zero-cost) pass-times and all they need to be happy is to spend their time as they please.

And finding those hobbies that make you truly happy is as important a life-task as finding the right career.

Power and prestige

I hope I have convinced my readers now that your job doesn't need to be the thing that you love to do most! Once you assume that your job is mostly there to make money and leave you lots of free time, you might think that it would be best to go for a career with the highest hourly pay. Go for the money! But unfortunately it isn't that simple either. Besides taking your time, work also drains your energy and you don't want to be all drained out by the time you leave your workplace and head to your playground. I think there is still a fundamental problem with people having too little of a clue what different jobs are about and what skills and personality they need.

A large part of the problem is that some jobs are very well-known (and although most people wouldn't do them as a hobby) they are still very much sought-after. Some people call those the “prestigious” jobs which I think is entirely befitting. The prestigious jobs are usually what kids come up with when they have to pick a career. Lawyer, doctor, pilot, all those people you see on TV! Marty Nemko's post cited above makes a good point about how to avoid those jobs and instead going for something rather unknown, which most people wouldn't even think about as a career. As it turns out, if a job is both not well-known and not very easy, it often pays actually pretty well!

When it comes to jobs, prejudices go around just as much as they do about pass-times. Only that it is much harder to actually try something and find out what it really is like. If “doing what you love” and “finding meaning in life” are needs fulfilled by your pass-times, your family, volunteering, and your social life, what are the criteria left to find a job? Obviously, it should pay appropriately, also it should not burn you out or take too much time, furthermore it should not come with any cranky office politics or other inappropriate stress, also it should be legal and ethical. Finally for many people it's also good to have a bit of challenge on the job, but it doesn't need to be super-exciting, since that's what your hobbies are for.
A word about ethical jobs: what I mean is that it not should involve any semi-legal scams such as selling unnecessary stuff to senile old people. I don't mean that every job must work to make the world a better place, e.g. by saving the environment or making sick people well. This is too much asked of a job and better left to volunteering (except for the few who actually can make money that way). All I mean by ethical is ‘fair’.

Where am I going now?

I think that my first career choice as IT consultant was both driven by a desire for money and for prestige. The second one as an academic research was driven by making my pass-time “having ideas” into a career, and obviously by dreams of becoming a famous inventor/professor. Both times I was lucky enough to get just what I wanted (or desired): I got the job, a got admitted to grad school – but neither seemed to be the right thing. Now I hope that I am smart enough to make my next choice closer to what I actually need. In career just as in other parts of life, what we need to make us happy is not always what we think it is. The “need” can be just the opposite of the “desire”. That's why we have to experiment so much. That's why we have to question our believes and find out what part is just cultural perception and external pressure and who we are really on our inside. (Did I want to go consulting just to show my parents that I can do it? Are they right and I should rather take a simple and steady job? In any case I'd rather suffer all my life in bad jobs than admitting that my parents were right; ha!)
Our current culture does just not recognize enough how different people are and there is unfortunately almost no popular knowlegde on how exactly people are different. In our age people have a lot of useless knowledge (starting from things we learn in school and never need in our lives, going to a lot of pop culture and celebrity gossip). But, unfortunately, most people know much too little about themselves. Part of why I have this blog, is to learn more about myself.

grad school memories, part X

α) It's better to have tried and failed than never to have tried at all.

β) It's okay to fail as long as you tried as hard as possibly could. (I don't claim I did!)

γ) Procrastination is okay, but is has to be limited and most importantly: the desire to procrastinate a lot has to be taken as a sign that something is wrong with the work and this has to be fixed!

δ) Everybody has their limits in what they can achieve. The question is not how big or small your limits are, but how you can expand them – and the latter is usually done by overcoming bad habits.

ε) Everybody has to live with the talent they have – the only thing we can change are our attitudes and our habits.

ζ) If you are stuck on a small problem, you might just take a break (procrastinate, yay!) and try again later.

η) But if you are stuck on a bigger problem, procrastination doesn't help. First of all, you need to embrace the new problem as a challenge. Then you get out your toolbox to attack it systematically.

26 November 2009

ICE am Flughafen München: eher nach Prag als nach Salzburg

Mein Blogeintrag von letzter Woche über die Schienen-Regional-Anbindung von MUC, dem Flughafen München, ist zwar interessant and hat ein hübsches Bild, aber mittlerweile glaube ich nicht mehr daran, dass er realistisch ist. Das liegt nicht am einen Tag später von der Bayr. Regierung veröffentlichten Gutachten, welches ganz im Gegenteil sogar ganz ähnliche Linienpläne wie ich zeichnet. Nein, das Gutachten ist sogar ebenso über-optimistisch wie ich es war. Aber wenn man sich die Hintergründe der verschiedenen Streckenprojekte anschaut, so ist es doch nicht mehr ganz stimmig. Das merkte ich, als die Informationen zum Schienenprojekt „Ausbaustrecke 38“ München–Mühldorf–Freilassing(–Salzburg) in der Wikipedia nachlas. Das Projekt dient hauptsächlich als Umgehungsstrecke für München–Rosenheim–Salzburg, welche durch den geplanten Brennerbasistunnel zukünftig überlastet sein wird. Dieser Streckenausbau ist schon seit den 80er Jahren im Bundesverkehrswegeplan enthalten und daher wird allgemein davon ausgegangen, dass er mittelfristig realisiert wird und das dadurch die Verbindung München–Salzburg ganz natürlich am Flughafen vorbeiführt. Die Realität ist aber: mit der Brenner-Strecke ist nicht vor dem Jahr 2030 zu rechnen, daher ist der Ausbau über Mühldorf auch nicht eilig. Außerdem zeigt das Preisschild 2 800 Mio. Euro. Damit befinden wir uns fast schon in den Regionen einer ICE-Neubaustrecke! Und weil sich ja die Bahn und die Bundesregierung einig sind, zunächst die neuen Strecken Frankfurt–Mannheim (neue Riedbahn) und Stuttgart–Ulm zu bauen, wird man diese 2,8 Milliarden nicht mal so schnell übrige haben. Zumal die Verbindung München–Salzburg über Rosenheim noch sehr zufriedenstellend ist – nur eben führt sie nicht am Flughafen vorbei!

Nun zum zweiten Teil: andere Projekte sind schon viel weiter fortgeschritten als unsere ABS 38. Im Bau und bald fertig (lange bevor die Durchbindung zum Flughafen möglich sein wird) ist der vier- bis sechs-gleisige Ausbau Augsburg–München. Damit wird zukünftig die Fahrplanlage der Regionalzüge aus Augsburg so entspannt, dass sie zur Durchbindung zum Flughafen erste Wahl wären!
Außerdem ab nächstem Jahr im Bau: die Elektrifizierung der Strecke München–Memmingen–Lindau(–Zürich) mit geplanter Fertigstellung 2015. Diese dient dem Zulauf zum neuen Gotthardtunnel, welcher im Bau bereits gut fortgeschritten ist. (Die Schweizer haben mit dem Tunneln früher begonnen als die Östereicher!) Damit wären Fernzüge aus Zürich und Regionalzüge aus dem Allgäu auch elektrisch und hätten die Erlaubnis durch einen Tunnel zum Flughafen zu fahren.
Und zuguterletzt: die Donau-Moldau-Bahn München–Regensburg–Pilsen–Prag wird auch ausgebaut und elektrifiziert. Der Bau hat noch nicht begonnen, soll aber angeblich auch schon 2016 fertig sein. In jedem Fall führt das Teilstück München–Regensburg über Freising und eine Einbindung in den Münchner Flughafen böte sich an! Man könnte sogar einen Eurocity Zürich–München–Prag über den Flughafen verkehren lassen! Im Gegensatz zu den Salzburger ICE stehen für alle diese Maßnahmen schon Gelder bereit und die Fertigstellung ist gesichert (wenn man auch mit Verzögerungen rechnen mag).

Der Plan der Bayr. Regierung scheint allerdings zu sein, die Strecke nach Salzburg zunächst zweigleisig auszubauen und nicht zu elektrifizieren. Damit gibt es dort wahrscheinlich keinen Fernverkehr, und es gibt auch keine Durchbindung nach München durch einen Tunnel. Außerdem schlagen die Gutachter den Ausbau der Strecke Ostbahnhof–Ismaning–Flughafen für Expresszüge zum Flughafen vor. Die beiden auf dieser Strecke vorhandenen Tunnel könnten Dieselzüge womöglich durchfahren. Wenn aber auch zwischen Zamdorf und Johanneskirchen ein 4,4 km langer Tunnel gebaut wird, müssen Dieselzüge wohl draußen bleiben. Daher kommt es wohl, dass die Regionalzüge aus Mühldorf im Plan der Gutachter nicht mehr nach München durchgebunden werden. Dies muss aber nicht zwangsläufig so bleiben!

Es bleibt für mich folgendes festzuhalten:
  • in jedem Fall wird am Flughafen ein viergleisiger Regionalbahnhof gebaut an dem in ferner Zukunft auch Fernzüge halten können. Preisschild: 320 Mio Euro.
  • höchst wahrscheinlich werden sich der Freistaat Bayern und seine Landeshauptstadt München darauf einigen, Express-Züge über die Ismaninger Strecke (jetzige S8) von der Stadt zu diesem Regionalbahnhof verkehren zu lassen, weil diese Strecke für den Güterverkehr und die S-Bahn ohnehin ausgebaut werden muss.
  • der Nordtunnel ist ohne Einbindung von ICE und elektrischer R-Bahn aus Mühldorf wenig sinnvoll – er bleibt aber als Option möglich, da der Ausbau der Ismaniger Strecke dazu nicht im Widerspruch steht. Also vielleicht Flughafenexpress 2016 und Nordtunnel 2035?
  • des Ministers Gutachter sahen auch vor, dass die Flughafenexpress-Züge über die zweite Stammstrecke der S-Bahn verkehren. Dazu ist zu sagen: der geplante zweite Tunnel über Marienhof wäre bis 2016 noch nicht fertig, der Flughafenexpress wäre also am Ostbahnhof gestrandet. Außerdem ergäbe sich das Problem, dass Regionalzüge und S-Bahnen unterschiedliche Bahnsteighöhen haben und nicht „barrierefrei“ dieselben Bahnsteige benutzen können. Die Barrierefreiheit ist Heute aber wichtig und teilweise gesetzlich vorgeschrieben. Man könnte für das Problem zwar möglicherweise eine neue Lösung erfinden, aber der Südring könnte beide Probleme lösen: dessen Regionalbahnteil könnte schon 2016 fertig sein, und er erlaubt von der S-Bahn getrennte Regionalbahnsteige am Ostbahnhof, Poccistraße (München Süd) und Hauptbahnhof.
Würde man also die beiden jeweils preisgünstigsten Lösungen „Flughafenexpress über Ismaning“ und „S-Bahn-Stammstrecke Südring“ realisieren so wäre der Bau auch am schnellsten abgeschlossen und der Nordtunnel bliebe als zusätzliche Option für 2035 bestehen. Der Nordtunnel wäre dann gleichzeitig die dritte S-Bahn-Stammstrecke und die Strecke für „München 21“ – der Durchbindung von Zügen unter dem Hauptbahnhof und der Innenstadt. Also haben wir einen realistischen Plan zur kurzfristigen Umsetzung, ohne uns die Option zum Träumen zu verbauen.

18 November 2009

Bayerischer Flughafenexpress München

Als ich vor ein paar Wochen zum ersten Mal von der Alternativplanung für einen Münchner Nordtunnel gehört habe (siehe damaliger Bericht), dachte ich viel darüber nach und fragte mich wie ein Flughafen-Express in München jemals rentabel sein kann, wenn parallel dazu noch Regionalzüge und ICEs und außerdem noch die S-Bahnen auf den existierenden Strecken fahren. Der Flughafenexpress soll Sonderservice (Einchecken in der Innenstadt) bieten und die kürzeste Fahrzeit und dafür etwas teurer sein. Sparsame Fluggäste werden also lieber den Regionalverkehr im Verbundtarif benutzen, was dem Flug-Express die Fahrgäste entzieht und ihn letztendlich noch teurer macht. Außerdem fahren ja zum Flughafen nicht nur Fluggäste, sondern auch für die 23'000 Arbeiter und Angestellten des Flughafens und naher Betriebe. Weitere 50'000 werden im Umfeld des Flughafens erwartet. (Quelle: Initiative Airport-Bahn Südostbayern) Und nicht alle Fluggäste kommen aus der Münchner Innenstadt, sondern sie kommen aus ganz München, dem Umland und allen Teilen Bayerns.

Daher dachte ich mir: wenn man schon den teuren Nordtunnel baut und damit teilweise wohl die für ein zukünftiges Projekt „München 21” reservierten Flächen verwendet, so soll man es auch gleich richtig machen und Regionalzüge im Bereich München durchbinden, so dass nicht nur durchgängige Verbindungen der Region zum Flughafen entstehen, sondern auch ein dichter Takt, der die Stadt selbst mit dem Flughafen verbindet. Diese Variante nutzt die Infrastruktur des Nordtunnels besser als ein exklusiver Flughafenexpress. Sie bietet mehr Direktverbindungen und mehr Anschlussmöglichkeiten.

Einen exklusiven Service kann der Flughafenexpress trotzdem noch bieten, zum Beispiel durch zusätzliche mehrsprachige Zugbegleiter zwischen München und dem Flughafen und Hilfe beim Transport von Gepäck. Außerdem wird der 15-Minuten-Takt zwischen Stadt und Flughafen auch in der Nebenverkehrszeit aufrecht erhalten, wenn die Regionalzüge nur stündlich fahren. Entweder durch Durchbindung anderen Linien oder Einsatz von Pendelzügen ab Hauptbahnhof. Diese zusätzlichen Züge können je nach Bedarf nicht nur am Flughafen wenden, sondern auch bis Erding, Freising (oder Moosburg) weiterfahren. Hier mal eine Skizze, wie ein Linienkonzept aussehen könnte. (Eigentlich ist dieser ganze Beitrag ja nur eine Ausrede, einmal Inkscape auszuprobieren!)

Zur Erklärung der Abbildung: Der Nordtunnel soll vom Hauptbahnhof bis zum Münchner Nordring gegraben werden. An der Münchner Freiheit entsteht ein unterirdischer Regionalbahnhof. Vom Nordring zum Flughafen ist die Trasse größtenteils oberirdisch, wobei neue Bahnhöfe an der Allianz-Area und in Garching entstehen. Der Innenstadt-Tunnel wird von Regional-, Fern- und S-Bahnen genutzt. Ab Nordring verkehren nur noch Regional- und Fernzüge, so dass eine hohe Fahrtgeschwindigkeit erreicht wird. Der ICE fährt ohne Zwischenhalt von Hauptbahnhof bis Flughafen und ist damit natürlich am schnellsten, aber auch die RE-Züge erreichen mit Halt an Münchner Freiheit und Garching noch die für einen Flughafenexpress notwendig kurze Fahrzeit.

Auf einer weiteren Grafik habe ich auch die S-Bahn und zwei weitere Regional-Linien eingezeichnet, anhand der man gut erklären warum gerade die Linien aus Garmisch und Ingolstadt zur Durchbindung ausgewählt wurden und welche die S-Bahn-Strecken entlastet werden, so dass dort ein besseres Angebot möglich wird. Letzterer Vorteil des Nordtunnels wurde schon von Vieregg und Rössler genannt. Der RE Richtung Freising benutzt zur Zeit dieselbe Strecke wie die S-Bahn, welche aber überlastet ist und aufgrund vieler Ortsdurchfahrten nur sehr schwer auszubauen ist. Wenn der RE durch den Nordtunnel fährt, hat die S-Bahn endlich freie Trassen um im 15- oder 10-Minutentakt zu fahren! Ähnliches gilt für den RE Richtung Mühldorf, der bis Markt Schwaben die S-Bahnstrecke Richtung Erding mit benutzt. Durch Umleitung des RE können hier mehr S-Bahnen fahren.

Nun zur Auswahl der durchzubindenden RE Linien. In Frage kommen nur Linien, die häufig und im Takt bedient werden und die außerdem elektrifiziert sind. Neben den beiden direkt an den Flughafen angebundenen Linien kommen hier die Verbindungen nach Augsburg, Ingolstadt (und Nürnberg), Garmisch-Partenkirchen, und Rosenheim. Der Augsburger Züge scheiden als erste aus, weil sie wegen der hohen Belegung der Strecke nicht im Takt verkehren. Diese Strecke in einen Flughafentakt einzubinden birgt die Gefahr von verschleppten Verspätungen. Außerdem ist Augsburg ja bereits durch den Fernverkehr angebunden. Alsdann betrachten wir die Züge aus Rosenheim. Diese sind im Betriebskonzept Nordtunnel die einzigen, die München noch über den Ostbahnhof erreichen. Mit dem Ostbahnhof (und einem zukünftigen Halt Poccistraße) sind diese Züge schon gut an die Stadt München und ihr Nahverkehrsetz angebunden und profitieren weniger als andere von einem zusätzlichen Halt an der Münchner Freiheit. Wenn sie also auch ausscheiden, bleiben uns noch die Verbindungen aus Ingolstadt und Garmisch, welche beide bereits in einem 30-Minutentakt zur Hauptverkehrszeit bedient werden. Und somit ergibt sich der gezeigte Plan.

Durch Führung des ICE nach Salzburg über Mühldorf, verliert Rosenheim diese Verbindung. Deswegen habe ich auf der zweiten Grafik auch den EC nach Innsbruck mit eingezeichnet, der auch weiterhin über Rosenheim fährt (allerdings nur alle zwei Stunden). Die meisten ICE (aus Berlin, Hamburg, Frankfurt, Köln, usw.) enden in München wie bisher am Hauptbahnhof, daher habe ich sie nicht eingezeichnet. Der Innsbrucker EC wird manchmal als ICE über Ingolstadt nach Berlin durchgebunden, dies geschieht aber klassisch als Wende am Hauptbahnhof und ist so selten, dass hierfür keine gesonderte Infrastruktur gebraucht wird.

Die beiden Punkte auf der S-Bahn-Strecke im Nordtunnel sind übrigens die Halte „Pinakotheken” und „Parkstadt Schwabing”. Nicht eingezeichnet ist der Sonderzughalt „Allianz-Arena“, der nur bei Großveranstaltungen bedient wird, sowie zusätzliche Halte am Nordring. Mehr Informationen dazu gibt es bei Vieregg&Rössler.

Münchens S-Bahn Stammstrecke: Milliardenneubau für was?

Das Bayerische Verkehrsministerium hat diese Woche Präsentationsunterlagen zu einem Gutachten veröffentlicht, welches Kosten und Nutzen eines zweiten S-Bahn Citytunnels mit einem Ausbau des Südrings zur zweiten S-Bahn-Stammstrecke vergleicht. Das Resultat wurde von Aktivisten sofort scharf kritisiert. Für den zweiten Tunnel übernahm das Gutachten schlicht die offiziell geschätzten Baukosten, die von vielen als viel zu niedrig bezeichnet werden. Für den Südringausbau wurden die Kosten weit höher angegeben, als von dessen Proponenten bisher geschätzt. Angeblich wurden Kosten für Grundstücke mit eingerechnet, die die Deutsche Bahn von sich selbst kaufen müsste. (Wahrscheinlich hat die Bahn vor, diese Grundstücke anderweitig zu vermarkten und will sich den Kaufpreis nicht entgehen lassen! Falls das so ist, muss es aber nicht schlecht sein. Schließlich könnte man beides haben und die Bahnstrecke teilweise in Tieflage führen und einfach überbauen! Dann wäre auch das Problem des Lärmschutzes gelöst!)

Was für mich aus der Präsentation erschreckend war, ist dass beide Lösungen so einen geringen Kosten-Nutzen-Faktor (KNF) haben. Nach diesem (bundesweit einheitlich vorgeschriebenen) Berechnungsverfahren entsteht ein KNF größer als 1 überhaupt nur, wenn man das Netz in Express- und normale S-Bahnen aufteilt. Denn nur, wenn ein neues Netz auch kürzere Fahrtzeiten liefern kann, erscheint der Nutzen als hoch genug. Der Südring erscheint aber in beiden Fällen als zu teuer und erreicht nur einen KNF von 0,8 während der Tunnel auf einen KNF von 1,15 kommt. Für mich ist ganz klar, dass der Tunnel teurer ist als dargestellt und damit realistisch auch keinen KNF größer 1 erreicht. Im Klartext: beide Projekte sind zu teuer im Vergleich zum erwarteten Nutzen!

Aber worin besteht der Nutzen eigentlich? Man möchte gern mehr S-Bahn-Züge fahren lassen! Ob nun ein 10-Minutentakt in der Hauptverkehrszeit (HVZ) oder eine Mischung aus S-Bahn alle 15 und Express alle 30 Minuten – in jedem Fall wären es sechs Züge pro Stunde auf jeder Linie. Bei sieben Linien wären das 42 Züge die pro Stunde (und Richtung) durch die Müncher Innenstadt rollen müssten, wobei das Limit des Stammstreckentunnels bei 37,5 Zugfahrten pro Stunde liegt, was aber allein schon wegen der zum Aus- und Einsteigen notwendigen Zeiten kritisch ist. Zur Zeit gilt der Tunnel mit 30 Fahrten pro Stunde (F/h) schon als voll (und wenn's nach den Politikern geht: „übervoll“), obwohl manche auch 33 Züge pro Stunde für realistisch möglich halten. Entscheidend ist aber, dass der Tunnel bei weitem nicht das einzige Problem ist. Die zur Zeit 30 F/h setzen sich zusammen aus vier Linien im 20-Minuten-Takt (4×3 = 12 F/h) und drei Linien im 10-Minuten-Takt (3×6 = 18 F/h). Man würde also denken, dass für eine weitere Linie im 10er Takt die Tunnelnutzung auf 33 F/h steigen würde, aber weit gefehlt! Wenn man sich die Situation näher anschaut, so handelt es sich bei den Verstärkerfahrten (also den zusätzlichen Zugfahrten, die einen 20er Takt zum 10er Takt machen) im Westen um Fahrten der S2 ab Dachau, S3 ab Maisach, und S5 (ab 2010: S8) ab Weßling. Im Osten hingegen wird nur die Linie nach Holzkirchen ab Deisenhofen verstärt und die Linie nach Ebersberg ab Zorneding. Wie kommt es dass manche Linien 10er Takt im Westen haben, aber nur 20er Takt im Osten? Ganz einfach: die Verstärkerfahrten enden am Ostbahnhof!

Was müsste man tun, um auf mehr östlichen Linienästen einen 10er Takt anzubieten ohne den Citytunnel mehr zu belasten? Einfach die S-Bahnen ab Ostbahnhof weiter fahren lassen! Aber für wie viele Linien würde dieser Trick funktionieren? Rechnen wir mal: die S-Bahn hat im Osten fünf Äste, wenn diese alle im 10er Takt fahren, wären das 30 F/h – genauso viele wie ohnehin schon im Tunnel fahren. Aber wie ist das möglich? Ebenfalls ganz einfach: drei Linien im 10er Takt aus Westen kommend fahren auf drei östlichen Ästen im 10er Takt weiter. Von den vier anderen Linien fahren jeweils zwei gebündelt auf einem Ast, so dass auch hier ein 10er Takt entsteht. Zu kompliziert? Aber nicht doch: genau das wird ja im ab Dezember 2009 gültigen Fahrplan erreicht: der oben schon erwähnte 10er Takt bis Zorneding besteht aus S4 und S6 welche beide im 20er Takt verkehren. Durch diese Umstellung wurde sogar ein reiner 10-Minuten-Takt erreicht, während bis 2009 auf einigen Linienästen die Züge nur im 9/11 oder sogar 7/13 Takt fuhren.

Was bedeutet dies nun für die angebliche Verstopfung des Innenstadttunnels? Auf allen fünf östlichen Ästen könnte die S-Bahn bereits im 10er Takt fahren, und dazu auf drei westlichen Ästen. Das sind 8 von 12 Ästen. Dazu kommt noch, dass für die S7 wegen der geringen Auslastung kein 10er Takt gewünscht wird. Es bleiben also noch drei Äste, deren Verstärkerzüge nicht in den Tunnel passen. Wollte man diese unbedingt verstärken, könnte man natürlich die entsprechenden Züge einfach im Hauptbahnhof enden lassen (immerhin ist der Hbf mit seinen zwei U-Bahnhöfen, Bahnanschlüssen, Bus, Tram und Innenstadt-naher Lage für viele Fahrgäste ohnehin der Aus- oder Umstiegspunkt), wobei im Umstieg in die Innenstadt an der Donnersbergbrücke oder am Laim am gleichen Bahnsteig und mit nur einer Minute Wartezeit möglich ist.

Wo liegt also der eigentliche Engpaß? Warum wenden die Verstärkerzüge am Ostbahnhof anstelle nach Markt Schwaben oder Unterföhring (oder gleich bis zum Flughafen, da diese Strecke exklusiv der S-Bahn gehört) weiterzufahren? Das eigentliche Problem der Münchner S-Bahn sind die Außenäste! Wenn schon der heutige Tunnel nicht vollständig ausgelastet wird, wie will man einen zweiten Tunnel oder den ausgebauten Südring auslasten? Wozu Milliarden in der Innenstadt investieren, wenn die Züge nicht taktgerecht ins Umland fahren können? Zu den ohnehin schon hohen Kosten der vorgeschlagenen Projekte kommen also noch die Ausbaukosten für die Außenäste hinzu. Die Summe würde nach dieser Rechnung niemals einen NKV größer als 1 erreichen.

Was sollte man also tun? Einen Plan aufstellen, welche Außenäste bis wann auf den 10er Takt (oder ein Express-System) umgestellt werden sollen und deren Ausbaumaßnahmen planen und bepreisen. Im Osten kann der Ausbau unabhängig von Überlegungen zur Stammstrecke erfolgen. Im Westen kann man zunächst einen Verstärker- oder Express-Vorlaufbetrieb mit Ende am Hauptbahnhof aufnehmen. Zu gegebener Zeit kann man dann den Südring teilweise für die S-Bahn (oder nur Express-S-Bahn mit weniger Halten) ausbauen. Wie eine andere Studie aufzeigt, sind dazu nicht wie im zitierten Gutachten angenommen ein viergleisiger Ausbau nötig, sondern zwei Gleise ab dem alten Südbahnhof (Station Poccistraße) reichen vollkommen aus. Wenn man zu dem bedenkt, dass zukünftig der meiste (oder aller) Güterverkehr über den Nordring abgewickelt werden soll, und dass die Fern- und Regionalzüge Richtung Salzburg und Mühlacker zukünftig möglicherweise durch einen Tunnel zum Flughafen fahren (wie von mir schon berichtet, und hier bebildert), und nicht über den Südring. Der Südring kann damit schrittweise zu einer wirklich kostengünstigen Alternative ausgebaut werden.

Die Frage ist also überhaupt nicht, ob man nun einen zweiten Citytunnel oder einen viergleisigen Südring braucht. Die Frage ist: wann werden die Außenäste ausgebaut? Auf welchen Ästen ist ein 10er Takt oder Express-Züge am meisten gewünscht und am ehesten zu erreichen?

Eine volle Version des Gutachtens soll Ende November veröffentlicht werden. Wahrscheinlich müssen die Tunnel-Befürworter in der Politik noch weiter daran herum-manipulieren, damit das Ergebnis weniger knapp aussieht, als es eigentlich ist. Bereits in der oben genannten Präsentation illustrieren die meisten Bilder Nachteile des Südrings ohne auf den Tunnel im Detail einzugehen.

Nachtrag:  Ich habe mir das Angebotskonzept des Gutachtens noch einmal angesehen und mit Schrecken festgestellt, dass das Mehrangebot zur HVZ nur in drei (3) Fahrten pro Stunde besteht! Für 33 statt Heute 30 Züge baut man also einen Milliarden-teuren Tunnel! Das ist ein Skandal von dem in der Presse bisher geschwiegen wird. Aber typisch Bahn und Politik: bei Prestigeprojekten wird geklotzt aber für ein stufenweises Mehrangebot gibt es nicht mal ein paar Millionen.

7 October 2009

Jack loves Germany

Photo der Regiobahn Kaarst–Düsseldorf–Mettmann aus der Broschüre Stadt-Land-Schiene: Erfolgreiche Regionalbahnen der Allianz pro Schiene.

Even better: Citybahn Chemnitz.

1 October 2009

speech to students for the start of school

I like speeches and great words. Maybe some of this, also applies to grad students...
Where you are right now doesn’t have to determine where you’ll end up. No one’s written your destiny for you. Here in America, you write your own destiny. You make your own future.
Barack Obama's Back to School speech, 2009-09-08

28 September 2009

Typography hits the web

“Proper quote marks” I think — and also proper long dashes — make the web a more beautiful place. You don't even need any special software to use them since most programs and web services now use Unicode and just allow you to type the character and then display, store, and transmit it correctly.

More nice typography: CSS 3.0 will include some hyphenation support and for those who can't wait there is already a nice bookmarklet that does hyphenation on the fly in any modern browser! If you ever have to include a very long word (such as Dampfschiffahrtsgesellschaft oder Gesellschafterversammlung) in a text that might end up in a narrow column (such as next to an image) or simply on a mobile device, you can already easily save your layout by inserting a soft hyphen (HTML entity ­). This will tell any modern web browser where to break the word. Here's the example used by the W3C: anti­establish­ment­aria­nism, anti­establish­ment­aria­nism, and anti­establish­ment­aria­nism. Resize your window (or zoom) to see how your web browser automatically hyphenates the word! (No Javascript required.)

Further Reading:
  1. 8 Simple Ways to Improve Typography In Your Designs
  2. The soft hyphen - Variation in web browsers
Appendix: Soft hyphen support in browsers and search engines

Internet Explorer before version 5.0 always displays soft hypens. That's terrible, but IE version ≤ 5 are virtually extinct now, so the problem is less. IE ≥5.0, Firefox ≥3.0, Opera ≥9.0.2, Safari ≥2, and even Lynx ≥2.8.2 all treat soft hyphens correctly, while those other browsers who don't support them will just ignore them. (Source: [2])

Google and other major search engines correctly ignore soft hyphens. (Same source)
In other words: soft hyphens are safe and beneficial to use as of now.

23 September 2009

Ersatz für den Münchner Transrapid

Im letzten Jahr wurde entschieden: München bekommt keinen Transrapid zum Flughafen. Es wäre einfach zu teuer im Vergleich zu dem limitierten Nutzen, da das gesamte Projekt nur für direkte Fahrten vom Flughafen zur Innenstadt dient.
Jetzt wird also überlegt, was man an Stelle das Transrapids bauen sollte, um den Flughafen besser an die Stadt anzubinden. Zur Einführung in das Thema bietet sich folgende schöne Übersicht an:
existierende S-Bahn
(S1 und S8 im Westen bzw. Osten.)
ca. 40 Minuten
Express S-Bahn auf existierender Strecke
(Ost- oder West-Trasse)
ca. 30 Minuten
Express-Zug auf direkter Trasse
ca. 20 Minuten
Transrapid (direkte Trasse)
ca. 10 Minuten

Nach dem der Transrapid ausfällt, stellt sich die Frage: sollte man die existierenden Strecken aufwendig ausbauen, um gerade mal 10 Minuten Beschleunigung zu gewinnen? Oder sollte man doch eine direkte Trasse bauen, die wieder zu großem Teil im Tunnel verlaufen muss und damit in der Größenordnung die Kosten des Transrapids erreicht, aber nicht dessen Fahrzeit?

Die Lösung ist eine elegante Kombination, welche jüngst vom Planungsbüro Vieregg&Rössler vorgestellt wurde: Eine direkte Trasse, die nicht nur von Flughafenzügen genutzt werden kann, sondern auch von einer Vielzahl anderer Züge. Damit erhält man für den (zugegeben: sehr hohen) Preis eines Innenstadt-Tunnels nicht nur eine schnelle Flughafenanbindung in der Größenordnung 20 Minuten, sondern gleichzeitig noch eine verbesserte Einbindung in Regional- und Fernverkehr und eine bessere Verteilung des Nahverkehrs in der Innenstadt, da der Tunnel auch von S-Bahnen genutzt werden kann.

Meiner Ansicht nach, hat die Planung von V&R noch einige Schwächen, aber das Prinzip ist tragbar und vor allem flexibel genug, um alle Schwächen auszugleichen.

Eine Schwachstelle des Konzepts ist der Betriebsplan für S-Bahnen: die Linien S7 und S27 sollen zukünftig durch den Nordtunnel fahren. Eine der Linien endet Heute am Hauptbahnhof, die andere fährt durch den Innenstadt-Tunnel und endet am Ostbahnhof. Es soll also nach dem vorgeschlagenen Plan eine Linien weniger als bisher durch die Innenstadt fahren. Dies steht aber im Widerspruch zum Zweck der S-Bahn als Entlastung für die U-Bahn. Es reicht nicht, an den Pinakotheken zu halten, sondern die Fahrgäste müssen auch an anderen Stellen der Innenstadt abgeholt werden. Die zu ersetzende U9 beginnt ja an der U3/U6 Station Implerstraße wo sie Fahrgäste der U3 und U6 aufnimmt (bzw. ganze Züge). Eine sinnvolle Nordtunnel-S-Bahn sollte also am Südring Poccistraße oder am Marienplatz halten. Wenn man bedenkt, dass die U9 den Innenstadt-Teil der U3/6 entlasten sollte, dann bietet sich Poccistraße als optimale Haltestelle an.

Außerdem wird vor dem Nordtunnel die zweite S-Bahn Stammstrecke (Tieftunnel oder Südring) in Betrieb gehen und dann soll natürlich der Verkehr auf diesen Strecken erhöht werden -- deswegen erhöht man ja die Kapazität. Die Vorzugslösung für den Betrieb des Nordtunnels ist also mindestens eine S-Bahn Linie vom Nordtunnel auf den Südring, plus eine in die Innenstadtstrecke. Wahrscheinlich braucht man realistisch gesehen aber sowieso mindestens drei S-Bahnlinien, um eine sinnvolle Entlastung für U-Bahn darzustellen. Wenn die Wartezeit auf die S-Bahn zehn Minuten beträgt, wird ein Fahrgast an der Pinakothek wohl eher den Fußweg zur U-Bahn auf sich nehmen, oder die Trambahn benutzen, die zwar langsamer ist, dafür aber öfter fährt.

Eine weitere Fragwürdigkeit der Planung ist, ob München wirklich einen dedizierten Flughafenzug braucht, der nur an zwei Stellen der Stadt und am Flughafen hält. Wäre es nicht viel besser, den Flughafen ins städtische und regionale Verkehrsnetz zu integrieren? Man könnte die Regionalexpress-Züge auf zwischen München und Flughafen zu Express-Zügen machen, die genauso schnell wie der Flughafen-Express fahren, aber noch weiter. Und zwischen jeweils zwei RE-Zügen fährt eine S-Bahn zum Flughafen, die nicht nur an vielen Stellen der Innenstadt hält (vorzugsweise City-Tunnel der S-Bahn, alternativ: Südring), sondern auch an Stationen auf dem Weg zum Flughafen. Dadurch würde nicht nur die Gesamtfahrzeit von der Haustür (oder dem Hotel) zum Flughafen verbessert, sondern auch die Auslastungs dieser Verkehrsmittel steigen, da sie auch Passagiere zu anderen Orten als dem Flughafen befördern.
Passagiere mit viel Gepäck würden den Expresszug benutzen, da er am Hauptbahnhof beginnt und dort sehr viel Zeit zum Einsteigen lässt. Geschäftsreisende und andere leicht-bepackte fahren direkt von der nächsten S- oder U-Bahn-Haltestelle.

Es wird wohl ein oder zwei Jahre dauern bis offizielle Stellen die Nordtunnel-Pläne weiter untersuchen. Warten wir ab, welche Optionen dann näher betrachtet werden. Ich bin ziemlich sicher, dass eine City-Tunnel oder Südring-Verbindung dabei ist!

17 September 2009

Stuttgart 21 -- der Widerstand steigt

Der Bahnhof wurde wohl zu einem großen Thema bei den Wahlen zum Gemeinderat in Stuttgart:
Erstmals hat sich in den Kommunalwahlen vom 7. Juni mit den Grünen (25,3 Prozent) die Partei der strikten Projektgegner an die Spitze aller Rathausfraktionen gesetzt. Dagegen sackte die CDU als Partei der bekennenden Projektbefürworter von einst 38,2 (1999) auf 24,3 Prozent ab.
Voller Artikel aus der Welt

Der neue Bahnchef hingegen sieht es wohl pragmatisch und prüft auch die Alternative:
Grube wolle die Kopfbahnhof-Befürwortern treffen und deren Argumente hören, es gebe "keine Tabus mehr". Dem neuen Bahn-Chef sei es durchaus nicht egal, was Stuttgart 21 koste.
Voller Artikel aus den Stuttgarter Nachrichten

Beim geplanten Baubeginn im nächsten Jahr gibt es noch drei Monate Zeit, um das Projekt zu stoppen. Aber die Chancen dafür stehen gut. Und der Alternativplan K 21 steht bereit... er kann sogar noch schneller umgesetzt werden.

15 September 2009

Counter-intuitive happiness

If someone has one thing to do in their life on the completion of which depend many other things, one would think that progress in that one thing would always give that person a sense of accomplishment, advancement and satisfaction.

My Master's thesis is such a thing. And on some days I make progress on it. But usually I fell very down and unaccomplished on the end of such days. Why am I happier on days when I don't write anything on my thesis? Why does good progress on the thesis still leave me unsatisfied and empty?

After a normal day of work, I just need some food, chat, and rest to be good for the next day of work. After a day of thesis writing, even if it just has a couple hours of writing, I am in desperate need of some extra-ordinary reward to make me feel human again. Usually I do something creative, like writing, but I don't have enough energy to make it into some good writing like an interesting blog post or an extension to a Wikipedia-article.

I started grad studies because I wanted to have a creative career. Now, I have to consider the option of taking a less demanding job and rather be creative in my free-time. This didn't work that well, last time I tried, but I haven't tried many pass-times yet.

Now, this was my creative writing for the day. Let's go back to the grind.

Name für den Berliner Flughafen

Hier ein Artikel aus der Welt

Man kann schon an den Vorschlägen sehen, welcher sich letztendlich durchsetzen wird. Ich persönlich bevorzuge ja den Namen "Otto Lilienthal", aber wenn man sich in der Welt umschaut, dann heißen andere Flughäfen John F Kennedy, Charles de Gaulle, und Franz Josef Strauß. Wenn Berlin da mithalten will, dann reicht es nicht das überflüssige Wort "International" im Namen des Flughafens zu haben. Weltweit tragfähig ist allein der Name "Willy Brandt Flughafen Berlin". Und mit Flughafen meine ich natürlich "Flughafen" und nicht "Airport". Das englische Wort können wir getrost dem Flugpersonal und unseren ausländischen Gästen überlassen.

Kommentar der "Welt"

1 September 2009

TIFF pre-choices

Don't you hate those festivals, be it film or live theater, where there are hundreds of programs to see and you have no idea which might be interesting for you? And after spending so many hours to look for interesting shows you pick-list is simply too long to see all of them? Don't you worry! I am here to help you my friends! I have made a list of pre-picks of movies that interest me. I will not see all of them, but let you choose: want to see anything together? Then let's go!

I ordered my picks somewhat, but be not confused by that. They are all just great movies!


Prince of Tears (Taiwan)

The Most Dangerous Man in America: Daniel Ellsberg and the Pentagon Papers

The White Ribbon (Germany)
“Das Weisse Band”

Balibo (Indonesia)


How to Fold a Flag


Good Hair


Google Baby

Once Upon a Time Proletarian (China)

Tales From The Golden Age (Romania)
Amintiri Din Epoca de Aur

German film-makers

In Comparison
Zum Vergleich

Same Same but Different

Soul Kitchen


An Education
Nang Mai
Slovenian Girl
Tales From The Golden Age (Romania)
Amintiri Din Epoca de Aur
Videocracy (Italy)

18 August 2009

What Donald Knuth thinks is worth working on.

From an interview with the Free Software Magazine:

Maybe you feel that some of today’s technologies are still unsatisfactory. If you weren’t busy writing your masterpieces, what technology would you try to revolutionize and in what way?

Well certainly I would try to work for world peace and justice. I tend to think of myself as a citizen of the world; I am pleasantly excited when I see the world getting smaller and people of different cultures working together and respecting their differences. Conversely I am distressed when I learn about deep-seated hatred or when I see people exploiting others or shoving them around pre-emptively.

In what way could the desired revolution come about? Who knows… but I suspect that “Engineers Without Borders” are closer than anybody else to a working strategy by which geeks like me could help.
I totally agree with Prof. Knuth on this!

Maybe the innovations that we need today are more social than they are technological. After all, we all have food, shelter, readily available medical care, and an internet connection. The next thing we'd need is peace and happiness!

17 August 2009

Professoren und ihre Sklaven

Ich meine ja nicht unbedingt, dass all Professoren böse sind. Vielmehr unwissend oder so. Sie richten Schaden an, ohne es zu wissen. Aber was kann man ihnen denn auch vorwerfen. Sie leben und arbeiten nun mal für Ihre Forschung. Viele von Ihnen kennen gar nichts anderes, weil sie vom Studenten zum Doktoranden über Postdoc irgendwann Professor geworden sind. Und die größte Nähe zur Industrie hatten sie vielleicht mal über ein Praktikum oder eine Forschungskooperation mit einer Forschungsabteilung einer großen Firma wie IBM, die selbst ziemlich weit vom normalen Geschäftsablauf entfernt ist.
Der Professor sagt seinem Studenten immer, dass er sich nicht zu viel vornehmen soll, denn nach dem Master kommt ja noch die Promotion, da kann man die Arbeit dann besser machen. Für den Master muss es ja noch nicht wirklich gut sein. Und in der Promotion muss es zwar schon irgendwie substantiell sein, aber man muss nichts so wirklich abschließend gut behandeln, schließlich will man ja nachher als Postdoc auch noch etwas veröffentlichen.
Was diese Generalstrategie der immer währenden Imperfektion nicht behandelt ist einen Ausstiegsplan. Es ist einfach nicht vorgesehen, dass ein Student nach der Promotion nicht weiter in der Wissenschaft bleiben will. Wenn man nämlich nicht selbst in der Wissenschaft bleibt und seine eigenen Ergebnisse weiter entwickelt und immer wieder anderen Forschern vorstellt, dann werden sie ganz einfach sehr schnell vergessen! Der Kandidat erhält zwar seinen Titel, aber die Arbeit ist im Prinzip für die Katz. Für den Papierkorb.

Nun wie ist das bei mir? Ich hatte mich zwar auch ein bisschen auf einen schönen Doktortitel gefreut, aber für so eine Belohnung konnte ich noch nie gut arbeiten. Meine eigentliche Motivation war an einem schönen Thema zu arbeiten, und wenn ich in dem Thema nicht weiter komme, oder es am Ende dann doch niemanden interessiert, dann ist auch meine Motivation weg. Spaß wird zur Quälerei und ich sollte meine wertvolle Zeit und mein Talent besser woanders investieren.

Ich glaube, dass ich in den letzten Monaten nicht zustande gebracht habe, weil ich unterbewusst schon wusste, dass ich mit nur einer Masterarbeit oder einer Promotion meine schöne Idee des Programmbeweisers verwirklichen kann. Leider hat das aber weder mein Professor, noch die lieben Kommilitonen verstanden und konnte mir helfen, meinen eigenen Weg zu finden. Gestern habe ich endlich jemanden gefunden, der mich versteht. Jemand, der mir einfach zuhören kann und sich dann in meine Lage versetzen. Ich habe das Gefühl, dass dies eine Gespräch an einem Nachmittag mich in einen anderen Zustand versetzt hat. Heute konnte ich plötzlich richtig gut arbeiten! Ich kann endlich wieder an die Arbeit denken, ohne gleich Kopfschmerzen zu bekommen oder müde zu werden. Ich weiß jetzt, dass meine Idee nicht mehr zu retten ist. Sie wird vergessen werden, sobald mein Betreuer die Arbeit zu Ende gelesen hat. Aber was ich in der Zeit hier gelernt habe, werde ich nicht vergessen. Und meinen Master-Titel hole ich mir. Man weiß ja nie, wann ich den mal gebrauchen kann! Um Dozent am College oder einer Fachhochschule zu werden, ist er sicher von Nutzen!

Mein lieber Professor hat von all dem leider keine Ahnung. Ich sagte ihm, dass meine vielen Probleme an der Masterarbeit doch sicher kein gutes Zeichen für eine Promotion sind. Doch er meinte nur, ich soll mich ans Schreiben machen und dann wird alles schon werden.

Jetzt, da mir das alles egal ist, da ich keine Sorgen um die Promotion mehr haben muss, geht die Arbeit doch viel leichter von der Hand! Und wozu brauche ich einen Dr.-Titel, wenn ich immer noch (FH-)Professor werden kann!?
Haha! Die Prophezeiung aus dem Kindergarten, wo sie mich Professor Willi nannten, muss doch irgendwann zur Wahrheit werden!

2 August 2009

Why I hate modern Computer Science

First of all, the field should actually be called "Computer Magic", because it doesn't look much like a science. One of the reasons is shown below.

I came upon this blog post which prepared an essay about coping and failure. Now, I am not going to say that computer scientists fail too often, because when working on really hard problems, failure is always part of the game. The problem with much of contemporary Computer Magic, however, is that many things are hard, which actually could be --actually, should to be!-- much simpler.

The author of the above-linked piece explains how for a very simple task, he needs to deal with a lot of computer-internal issues. All he wants to do is, given an already running new mail notification applet, add a functionality that displays the sender of a newly received mail. To do this, he has to deal with five different types of incompatible "strings", only to add:
This simplifies it a bit, but I’m too frustrated to spend more time explaining it.
This should really not be that hard! Given a properly defined interface (API) for the existing libraries, this task would be easy enough for a beginning programmer, not even a CS major, to accomplish. But in reality it needs a well-educated, experienced programmer and even for them, it is still hard and frustrating.

When I started to program, all I had was a BASIC interpreter with an integrated help system and some examples. There was no Google or even Internet access at that time. There were not many functions in the programming environment, all very basic, but well-documented. It was easy and fun to build things on top of that. One of the things we build for school was a little function library for linear algebra and then a simple user interface for that. You could do anything with this environment! Only that the really interesting things would need too much programming, because everything had to be built from scratch.

Nowadays, expectations towards computers are way higher. Instead of a little linear algebra calculator, people would expect an on-line, collaborative learning tool with 3D visualization inclusive. Given how many libraries are available for all kinds of things, this is actually not too hard to do today. But the problem is, that most of the available libraries (and that's across the board, in any domain of CS) are simple too complicated to use, not well documented, and maybe even a little buggy.

Often times, the line between complexity and bugginess is blurred in a frightening way. I think this plays a big part in the field's misery and that's why I'll give you a bigger example to explain it.
Let's look at an imaginary Linear Algebra library, where I can subtract vectors "v" and "w" with the expression "v.subtract(w)". Let's say that I am writing a program that just crashes at this line, and after some debugging I find that during the crash we always have "v == w" and some more testing shows that an expression like "v.subtract(v)" actually always crashes! So, since I am a good person, I will go to the project website for the library and file a bug report. (Spending ten minutes just to sign up for the bug tracking system... I am signed up for so many of them already!)
The next day, I get a reply that my bug was closed and that I should have had a look at the mailing list archives or the web forum for beginning programmers (since there is no other "documentation" than archives from mail, forums, and IRC!) and then I would have seen, that "v.subtract(v)" is wrong code that should actually be "v.subtract(v.copy())".
Then I write back that this workaround doesn't make sense "v.subtract(v)" is the obviously right thing and it should work. With me being so critical of their project, there is actually a chance that the developers will simply ignore my message. But let's suppose that I will get a reply. In this case, the wording will probably be quite upset, saying that " 'v.subtract(v.copy())' is not a workaround, but it's the proper way to do it." And "if [I] knew anything about how the library works, it would be perfectly clear to [me] that I can't pass any object as an argument to its own methods."
Now, I am also getting upset and do my best to reply politely, but firmly, saying that this is precisely the purpose of any library: that one can use it without knowing what's going on behind the scenes.

Do you see the clash of cultures here? I think that the people who do such a bad software design are idiots that create more damage than doing good, because their library has more bugs than features and wastes many people's time. On the other hand, they are probably thinking that I am a stupid idiot who just can't understand that a vector is not the same as a "vector object" and I have to copy the object before passing it as an argument. (But I do know the difference, I am just saying that this is not the best way to do it.)

Please don't ask me what the technical reason for not passing objects to their own methods in this example is. I just made the example up based on similar experiences whose technical details I have thankfully forgotten. 

I think the problem with many libraries, programming languages and other tools is that most of their users just want the functionality and are willing to accept unneeded complexity, probably even thinking that they are just not as smart as the people who made it. And they are revering the people who made it and don't realize that those people are actually way too smart: they create things that are too complex and by consequence waste other people's time.

Greg Wilson writes in an article (PDF) about Free/Libre and Open Source Software's (FLOSS) culture:
The greatest harm done by FLOSS’s cold shoulder is that it chases people away. This is the real cost of any discrimination, including the passive discrimination created by unwelcoming environments. When users (and developers) feel that they’re not welcome, they’ll invest their time elsewhere. What remains is a community that suffers from a lack of diversity and new ideas. Only those who match the definition of a hard-core geek remain, and thus the cycle perpetuates itself.

I think that this statement at least partly generalizes to all of information technology: things here are complex and the people working here love to learn and deal with the intricacies of complex things. People who think that things should be simpler are simply turning away to careers more interesting to them. There are only a very few visionaries who actually understand the complicated things and at the same time work hard to simplify them. (Currently, it seems that Apple and Google employ most of them.)

To finally go back to the initial example of different string types a simple mail notification program has to deal with. Probably some of the complexity of the string types is needed to deal with different character encodings in email. Probably most of the complexity is just historically grown and unnecessary. Only some genius expert knows exactly which is which and how it could be simplified. Maybe even nobody knows all of it, because it all has been written by different people during a long period of time. It's insanely complex and makes your program crash. That why I hate modern Computer Magic.

31 July 2009

How to cook a meal for one-hundred people (and actually feed ninety-five).

Last week I was kitchen lead for the Hot Yam! and here is my experience report.

Short version:
Take a recipe which you like and which you think more people should taste. For me this was "Stewed Taro with Green Onions" which I had discovered after falling in love with taros in Taiwan.
For all other meal components, take some recipes which you liked from previous meals (they should be on the blog). Replace as many ingredients as you can by seasonal things.
Write a shopping list and be around all day so volunteers can ask you questions. They know by themselves how to do all the things needed to make a meal, likely even better than you do.

Long version:
Here are some of the troubles I ran into, some tips, and finally a list of ingredients which I think made up the final meal. (But I am not sure about the details of it.)

My zeroth mistake (before even starting, that is) was to not ask for directions to the Farmer's Market on time. I was saved because one of the volunteers who came shopping knew the location.

My first mistake was to take a recipe off the Hot Yam! blog without checking the numbers. In June, we only cooked for about 50 to 60 people and I was planning for a hundred. Fortunately the recipe was for our dessert and I had bought enough peaches for the crisp and could run and get more of the other stuff, too. So we didn't manage to bake the dessert on the evening before, but we had it all ready to bake in the fridge and it took us almost no extra time to deal with in the morning.

My second mistake was not to check with my lovely volunteers whether they had actually bought all the things on the shopping list. In the case of lentils we had wisely foreseen that the store might not have enough on display and told the shoppers to ask the clerks for refills from the back. But apparently the back of store also ran out and I noticed the lack of lentils only in the early morning when cooking them. In the end, it turned out that having 17 cups of lentils instead of 25 was not much of a problem, but it made me feel that our success was more due to luck than due to skill.

My third mistake was to have three people peel and mince garlic for two hours. Maybe it was less than six person-hours spent on this, but I think that it was a bit of a waste of time, given that there were lots of other things to do. When some of the people had to leave and the garlic was still not done, we just chopped it up coarsely which was good enough for the meal.

My fourth mistake was to give somebody a laborious job and tell him to grab more help once more people showed up. Half an eternity later, he was still doing it by himself and not much advanced, while other people were standing around looking for work.

My fifth mistake was to do things by myself instead of helping people do things. Sometimes I was too busy to know what's going on in the kitchen at large. Also, it's not fun to work by myself when others are working together and happily chat while they do it.

My only advice is what I think is the most important function of the leader: make sure that nothing that needs to be done is forgotten and make sure that new volunteers learn enough to be productive helpers.

Now here come the recipes: For the stew, I bought 27 lbs of taro of which we had to throw one or two away because it didn't meet our high quality standards. For garlic and green onions I don't know how much we actually had. The soy sauce was added to our taste; it was less than a bottle

The salad was planned for 100, we sold about 74 and I think with the volunteer meals, the recipe yielded about 90 to 95 servings. (At one point, we made the salad servings bigger, because it seemed we had more salad than soup, so there is no fixed measure of what a serving is. Feeds any number from 60 hungry people to 120 dieting ones.)

(Except for the onions, I bought all the herbs and veggies myself and the numbers are correct. For the onions, 10 is the number from the shopping list and I only saw them when they were chopped up. Also don't know if it was big or small ones. If recipes really mattered, we should go by weight for everything but liquids!)

7 cups of green lentils (cooked)
10 cups of red lentils (cooked, note: cooks faster than the green ones)
10 onions (marinated in salt overnight, which --as I once read-- makes the softer)

and all those things fresh from the Farmer's Market at Bloor and Borden streets:
5 bunches of coriander (cilantro)
5 bunches of arucula
4 or 5 bunches of basil
4 bunches of oregano
4 FMB green beans
3 FMB red tomatoes
3 FMB yellow tomatoes
4 bunches of baby carrots

freshly squeezed lemon juice (we had about net of lemons that did not give much juice)
less than a bottle of olive oil
other things which only the dressing-making volunteer knows and which might include some apple cider vinegar which I put on her counter.

Personally I was not much involved in making the salad. Maybe that's why I liked the salad most of all meal components.

As a bonus, I conclude my reflections with a list of most memorable moments:
  • my first taste of the salad when I got my full plate served by one of our lovely volunteers.
  • the scent of oregano and basil when I bought them and later every time I passed by the herbal volunteers just to take another fresh breath.
  • me in tears, handing back the unknowingly thrown away onion bottoms to Kira. I felt so sorry for my unqualified messing with her job. (But the tears were due to the frying of garlic.)
  • stewing the taro with Keith.
  • finding a job assignment that did not involve Giovanna washing anything.
  • Guru's smiling face and bright eyes when we went to the farmer's market. (Totally justifying the twisted reasoning I had to make up to justify her coming with me and the men going to Kensington market.)
  • full opportunity to engage with my most-loved job at the Yam: scraping the bottoms of the dessert-pans.
On my next meal there will be German food (but no sausages) and I will make different mistakes to make sure that I keep learning things.

Behind the curtain: Me and Giovanna in a heated debate. "Everything went wrong! We did not have enough lentils, the crisp recipe was not right, this is lacking organization."
- "No, I think you are doing great."
At this point one of our patrons walked up to us: "I just want to say that I am coming here often and this was one of the best meals that I had for a while. It was really delicious."
Giovanna: "There you go."
me: "Maybe you are right."

22 July 2009

new cycling route to the sailing club

I found my favorite cycling route down Beverly Street and along Front St. and Queen's Quay to the sailing club because I once wanted to take a friend and was looking for a calm route specifically for her. It happened to be that this route was also well-paved so I stuck with it and took it every time.
Now, last week I took another friend and found a new route which I like a lot and which is now my preferred alternative to avoid cycling boredom.

View Larger Map

The good think about this route is that all the uphill happens on quite, well-paved residential streets. As a side benefit, most of the isopleth is on Wellesley Street. Not that I care much about bike lanes but at least drivers will not be surprised about bicycles there. :-D

PS: Google's blue line ends at Harthouse Circle because Google doesn't know that you can bike through there to reach Hosking Ave / Harbord St.

20 July 2009

Why I love Quickscript. (One of several reasons.)

"Give me a lever which is long enough," Archimedes exclaimed, "and I will lift the earth."

To everybody who has seen and understand the "Pirates of the Caribbean" movie trilogy it is abundantly clear that even the most insurmountable goals can be accomplished, once you have enough leverage. For me, even after studying English in school for eight years, regularly reading and writing English for nine years, and now living in an English-speaking city for two years, expressing myself clearly has been an insurmountable goal. When I am relaxed and speak without thinking of the language, I will regularly be interrupted by people's "what was that?" and even a repetition won't make me understood. I have to repeat again, or spell out the word that I can't pronounce or try to use another word, which I am hopefully pronouncing better. This is a distraction that throws my stream of thoughts off-track, makes me nervous when I continue, and slowly eats away my confidence in my ability of having a normal conversation.

Quikscript shall be the leverage that is needed to teach me the English language --as it is spoken-- once and for all.  For me, being a visual kind of person, Quikscript is the written face of spoken English, it is the key to see the language, and thereby memorize and master it.

Best of the Fringe

Just two plays which I might see because I missed them in the main Fringe.

As You Puppet
By William Shakespeare and adapted by Hank’s Toy Box Theatre
UPSTAIRS AT BERKELEY: Thursday July 23 – 7pm · Friday July 24 – 7pm · Saturday July 25 – 7pm
Stuffed animals spring to life! When a clever bear named Rosalind is banished by her evil uncle Frederick the crocodile, she and her best kitten friend Celia run away to the forest in search of adventure. Meet a giant orangutan, a prissy hippo, a brave teddy, and a comical bunny named Touchstone in Shakespeare’s “As You Like It” for kids!

A Singularity of Being
By T. Berto
BERKELEY MAINSTAGE: Thursday July 23 – 7pm · Friday July 24 – 7pm · Saturday July 25 – 7pm
*Winner 2009 New Play Contest* Roland Mathers is a brilliant physicist consumed with unraveling Einstein’s Grand Unified Theory. A Singularity of Being explores the life of a genius who’s pursuit to uncover the secrets of the universe unravels the lives of everyone around him. When he develops a life threatening and debilitating disease, Roland sacrifices his happiness on the altar of science.

Tickets are $16.50 each and are available starting July 14, 2009
416.368.3110 or www.canstage.com.
The Berkeley Street Theatre - 26 Berkeley St.

11 July 2009

learn to drive before you build a car, learn to read before you write

Although Computer Science as an education is widely available since several decades, many software-development- and in particular programming-jobs are still done by people with a different educational background. Computer Science (CS) departments are struggling to attract as many students as there is demand for educated Computer Scientists, but it seems that the more students they attract (on top of those who would take CS anyways), the more students will fail during their studies. While recruiters say "we need more graduates with CS degrees", professors whine "we are accepting to many students that have no talent."
In programming in particular there seems to be a divide between programming nerds who just seem to understand programming to a point of completing their assignments, while some others always seem to be estrange to programming and struggle even with simple assignments as soon as some variation into problems is introduced. The question which I want to write about here is: how can we teach programming in a way that helps all students?

I have been helping out with teaching programming since I was an undergrad myself. Seeing how awful student programs looked in the first year I helped with the programming lab, I decided to publish some of the best assignment solutions so that the students would have an example to imitate and an idea of how elegant programming solutions can be. Assignment submissions got much better in the second year!

Since that time, Pascal as a beginner's language has been replaced by Java, and Java by Python, but the problems are still the same. I asked one student with a particularly awful program where she he learned the particular construct which she was abusing there. "Oh, that's from my high school teacher."

When after more than half the course was over, the instructor finally taught students about testing. At that point, I started realizing one of the things that went wrong from the beginning: in our course, students were mostly taught to program little functions, but they were never taught how to use those functions properly and how to test them. I could write an entire blog post on the "test first" paradigm of programming, especially it's important in languages like Python which have no static checking whatsoever. But here, let's concentrate on something more fundamental: the actual understanding of programs, what they do, and how they work.

Most students seem to learn by example and the only official good examples of programs that they see in a typical university course are code snippets small enough to fit on a single lecture slide! Given that material, they are supposed to write entire programs with interworking parts. If I contrast that approach with other disciplines of writing, it just seems ridiculous! In literature, students will read entire novels plus probably some secondary literature, before they write essays of their own. In science, students will read a couple of text books plus tens of journal articles before composing a paper of their own. Furthermore, the first writings of students are usually of secondary nature themselves: summarizing, interpreting, or commenting on some primary work (i.e. an essay about a novel, or a paper about some previously published scientific findings). In programming on the other hand, students will get no reading material, and they have to compose primary works starting from their first labs and assignments!

Here are some ideas how to improve this deplorable situation.
  • A large part of the exercises and assignments has to be devoted to reading and understanding programs that have been hand-selected by the instructor as examples of good programming.
  • Possible exercises which train this are: writing documentation for a given (substantial) piece of code, writing test cases for a given program, write an example use for a given program module, and finally, extend a given program by a small feature.
  • Writing of documentation has to be split into external (what does it do) and internal (how does it work).
  • Testing can first be done for a programm that works according to its documentation, and as soon as the students can do this well, let them test and debug an incorrect (but still well-designed!) program.
The important part about all this, is that students have to read and really understand a large corpus of existing code that has specifically been chosen for its good design. Students will then appreciate how easy it is to understand, extend, and debug really well-written code. They will also see how the different programming constructs they know from lectures are best fit together.

I don't know how many of our field's education problems this approach to teaching is going to solve. But I am sure this is the way to go!

10 July 2009

Sunday is going to be my Fringe Day

Here's a list of shows I might go see on Sunday. I will see at least two of them, let me know, if you want to come or have any praise or advise to drop of!

5 July 2009

Python 3000 migration

I think it's a good thing that Python as a language removes some of its deprecated features and old special cases which no longer make sense.
Few programming languages make such a bold move, although more should. A language that grows ever more complex with time becomes a huge liability. Much of this complexity is unavoidable, but the avoidable one should be avoided! Making the necessary non-backward-compatible changes to a language is an expensive investment because the migration of existing libraries and applications becomes a project of its own for each of those libraries and applications. On the other hand, this investment also has an immense payoff in maintainability and extensibility in the long term.

Now, it has been more than six months since Python 3.0 has been released, but a naive search on Google doesn't turn up any migration information yet! Some people seem to have plans for migration, but there's no experience-report yet. Also, there is no list of libraries that have already moved or are planning to move. Unfortunately it seems that no application or library can be migrated until all of it's dependent libraries have done so. Of course, a project could migrate to 2.6, import feature from future and use the -3 compatibility checking option. But it seems that most are still waiting for the "upstream" projects to move.

Here are some references:
After the 3.0 release it quickly turned out that GvR's original advice: "start all your new projects with Python 3000" is unrealistic: the libraries are just not there yet. But what's realistic (and what I will do) is to write all new code with Python 2.6 and make it as much future-compatible as possible. Then the port to 3.x will be completely automatic, once the new libraries have come out.

29 June 2009

Wiedervereinigung jetzt! - auch auf der Schiene.

Die Südthüringer Zeitung schreibt über den Eisenbahnlückenschluss (Eisenach - Meiningen -) Eisfeld - Coburg. Diesmal spielt auch der Güterverkehr eine Rolle.
Der Artikel erwähnt auch eine Streckenneigung der ICE-Trasse von über 2%. In der Tat sind es aber maximal 2% in einigen Abschnitten. (Wikipedia hat die richtige Zahl und belegt sie auch mit Quellen.)

Immerhin sind die Realisierungschancen für diesen Lückenschluss größer als für die Höllentalbahn zwischen Blankenstein und Marxgrün.

Es wird noch lange dauern bis Deutschland auch auf der Schiene wieder zusammenwächst!

28 June 2009

GMail and SPAM from my professor

I am using GMail since 2005 and for the last four years it did an awesome job of keeping me clear from SPAM. I've had months where not a single SPAM message was delivered. Now, suddenly, I am regularly finding some SPAM in my inbox, most of which has the email address from one of my professors set as the sender. At first I thought, he might have caught a virus that's abusing his computer, but that would have stopped by now, so I think that the spammers are just faking his email address. Oddly enough, the university's spam filter marks the message as SPAM, but GMail doesn't filter it out.
I think here's why: the SPF sender authentificationn declares the sender as permitted, so GMail (rightly) assumes that the professor is really the sender, therefore the mail will not go to the SPAM folder. I think this is right: email from somebody who has sent me many non-spam messages and whom I even sent some messages back should always be trusted. The problem seems to be that some spammer has managed to send SPAM from within inside the university.
I will ask our admins to look into this.

24 June 2009

firefox vs web applications, part III

So after all the trouble my idea from the last post gave me, after seeing how Firefox could not really handle different menu/nav/status bar settings for different windows, because new windows would always get it wrong, I thought why can't we just get rid of that menu bar for all windows. Internet Explorer and Google Chrome don't have a menu bar either! Now, how other browsers look is clearly not an argument for me to change my browser, but I know that a lot of other people like to copy things and so I thought: "There must be a Firefox Add-on that gives Firefox a Google-Chrome-like skin." I've used any skins myself, but I know it's a big thing and if it can help me, let's look for it! And indeed! Even on the first page of recommended Firefox Add-Ons I found one that's named "Personal Menu" and it's prime feature is "to disable the menu bar". I installed it and it's great! It offers a few extra buttons for the nav bar (like a bookmarks and a history button) plus one button that can be entirely customized to contain just those few menu items that one personally needs.
Here's how my Firefox looks like now:
I am keeping the location box and the search box, because I use both often. I like how Firefox now manages bookmarks and history from the location bar!

For comparison, on Windows my Firefox still looks as before:

As you can see, I saved some space by getting rid of the refresh/stop/home buttons which I all control by keyboard shortcuts. Actually I also control the back/forward function by keyboard but I felt that a web browser just doesn't look like a web browser without those buttons. Also, I switched to "small buttons".
Now, I saved one line of screen real estate and I like it! On many pages I still need to do F11 (full screen) to read them well, but I think the browser has become better with much effort. That's good!

19 June 2009

Firefox vs web applications part II (notes)

apparently the only way to remove the menubar from a window is to open a new window via javascript (JS) window.open(url, window_name, 'menubar=no'). This code does not work from a bookmarklet (at least not naively), so I wrote a simple "web application launcher page" which contains links to my web applications via JS.
The syntax of the above JS function also supports a parameter 'status=no' to switch of the status-bar, but this is ignored by Firefox. Actually, whatever the parameters for the new window are, Firefox will recognize the "intention" of opening a new window and will then do it using its own parameters: the location bar will always be visible, but grayed-out (read-only, which is very sensible in general, but not so much  for my applications), and the status bar will be just as in the current setting (menu) "View - Status bar". Since the menu is disabled in the new window, I have to disable the status bar manually in my "web application launcher" window and then click on the link, which gives me a new window without status bar. The same is true for the location bar. I have to disable it manually before I click on the JS link. This is more complicated than it should be!
Best would really be to let me disable the menubar manually, too, and then have the browser simply remember the setting of status/menu/location bar for each website where I actively changed it. Being at it once, it should also remember the window size and position for each website where I manually change it.

There is also a terribly nasty bug: When I open Facebook in this way without a menu bar (no matter what the settings for status and location bar), it will open without scroll bars, but GMail with the same settings has scrollbars! Fortunately I could fix it by adding "scrollbars=yes" to the window.open() call. Just perplexing that GMail does not need it.

Next step for me is to try living with my javascript launcher page and see if it does the job. Stay tuned and tell me if you find alternative solutions.

17 June 2009

the voice of sounds

In English and French (and consequently IPA), the difference between the sounds of 'p' and 'b' is the the latter is voiced and the former is not. In Mandarin Chinese, the difference between the (Pinyin) 'p' and 'b' is that the former is aspirated and the latter is not. In German the difference between the two is not in voicing, because most consonants in German are unvoiced. Generally the difference seems to be in aspiration (just as in Mandarin), but this is not the entire (scientific) truth. Wikipedia writes:
The nature of the phonetic difference between the voiceless lenis consonants and the similarly voiceless fortis consonants is controversial. It is generally described as a difference in articulatory force, and occasionally as a difference in articulatory length; for the most part, it is assumed that one of these characteristics implies the other.
Lenis and fortis here refers to a whole bunch of consonant pairs, written in IPA: /p-b/, /t-d/, /k-ɡ/, /s-z/, /ʃ-ʒ/. In any case, I have to learn how to properly say the voiced English consonants. I have started this training last year, most notably with my effort to make the word "fog" sound different from a four-letter-word and "bug" sound different from a colloquial unit of currency. I still have to train this a lot, but now I am faced with another problem: the IPA sounds /s-z/ in English are both written as "s" (except in zoo and some American spellings like "digitize", "monetize", "analyze"). Although this sound does not distinguish word pairs as often, it can still lead to non-understanding when pronounced wrongly. Furthermore, with an impeccable accent as a long-term goal, I would also like to distinguish /θ-ð/ which are both written as "th" in English. It's unvoiced in "thaw, think, earth, ..." and voiced in "they, the, this, ...". I will have to look up every word to find out; and then learn it again. Fortunately, as I start writing in Quikscript, I have an easy way to remember all those pronunciations.

PS: posts on Quikscript upcoming. ;-)

15 June 2009

web applications and Firefox

I am currently using the following web applications:
  • GMail
  • Facebook
  • Google Docs
  • Google Reader
All of them come with their own navigation infrastructure and in none of them I need Firefox' menu and address bar. In fact, they take up valuable screen space that I would rather use for the web application. Especially Facebook and Google Reader take up so much space for the own navigation that there is barely enough for the content. To view photos in Facebook or read posts in Google Reader, I often have to F11 Firefox into full screen mode.

Wouldn't it be great if Firefox had a web application mode, just like Google Chrome, where the menu and location bar are not displayed? Given that the navigation bar can already be hidden and shown easily, all the is necessary would be to save the visibility state of the bar per each website! So easy to implement!

I just read about the Mozilla Prism Project which is a Browser specific to web applications, but it doesn't seem to be very popular. Their is also a Prism extension for Firefox which I just tried out, but it just doesn't work. The only way to start a webapplication is to first create a shortcut on the desktop (why not just a bookmark?!). I did that and clicked the shortcut only to be left with an ordinary and empty Firefox window. Sucks!

Currently I am experimenting a little and run my Firefox without any location bar. It's actually not too bad, because I can still use Ctrl-L to type adresses. It's the same behavior only using a little dialog window that disappears after hitting Return. Let's see if that can take away some pressure until the Firefox developers show reason.

14 June 2009

crazy linux: so easy and so complicated

Linux-Fans would probably claim it as an advantage of their OS that you can easily move an installation from one hard-disk or partition to another, only need to update boot-manager and fstab, can even keep all your directory-names.
In reality, this simple maneuver can easily lead to a big mess (as in: the system does not boot any more and gives loads of contradictory messages). Here's what happened to me.

I wanted to update my Ubuntu from 8.04 to 8.10 (and maybe 9.x later). One reason to do it is that apparently I can then install Facebook-chat in Pidgin. But this update needs 1.5 Gigs of free space on the root partition and so I had to make a larger partition and move my installation there.

First, it was really easy to create a new partition. Before formatting it, however, I had to restart the computer, just as I would have needed with Windows. Formatting it, was also easy, just call "mkfs.ext3" which I don't remember exactly because it pops up conveniently when pressing TAB at the shell. (Yes, I did partitioning and formatting by hand, because there was no graphical tool for it installed by default and finding one to install would have taken longer...)

Second, I googled on how to copy files, read something about "cp -a" and tried it out. That was a big mistake. The correct command would have been "cp -ax" where the "-x" makes sure that file systems which are mounted under / are not also copied. I was not only so unlucky to waste a lot of time by copying useless stuff (had my windows partition mounted...), it also apparently crashed my computer when it tried to copy some of the virtual file systems under /sys.
After this crash, I copied the remaining data individually (so as to not copy things twice). Since all is working now, I think I didn't miss anything.

Third, making the new partition the one being used is really as easy as changing GRUB's menu.lst and /etc/fstab, and it did it right on the third try, but I still do not know at all what when wrong on my previous tries. On the first try, I just walked into menu.lst and replaced the kernel's root= parameter with the new partition name sda7, ignoring all the fancy UUID names for other partitions which I found very confusing. (And still don't get the point... it makes the system transparent for hard-disk switches, but makes it vulnerable to hard-disk reformatting...).
This first try actually booted my system from the new partition (yay!), but when I typed 'mount' at the prompt, it would show the old partition to be mounted on /. But it actually was the new one. What a blatant lie! This is a severe error on 'mount's side.
Anyway, I decided to do the update of 'fstab', hoping this would solve the problem. I added a line mounting the new partition as /, and changed the line for the old partition to mount as /part1. All obvious things you would think, right? But this actually messed up my boot and brought me more blatant lies. After restarting, there was a weird text-mode message box signed by 'gdm' about X not being able to start. Part of the box was overwritten by a text-mode logon prompt. I logged in and had 'mount' lie to me again. It told me that no partition but the former / was mounted when in fact everything else was mounted. Sucker!
I booted back into the old system (which still worked), google for UUID and then changed the 'menu.lst' as well as 'fstab' to use the UUID instead of /dev/sda7. I also corrected a mistake in fstab where I had typed "default" instead of "defaults". Anyway, in my opinion none of those things should have made a difference, but in reality the new system booted thereafter and I couldn't find any problems any more. Case considered close. Reason for trouble unknown.

It's weird how my perception of computers has changed. It used to be that I wanted to understand how things work, usually helped by reading the manual and trying different things out, and then from that understanding knew how to achieve what I wanted. But now, understanding is totally absent from the process. I just assume that everything will somehow work and when I run into trouble (and only then), I ask Google and try out what somebody else wrote, not even caring who posted it and where.
This is really a black vision of computing; one that's totally opposed to my research approach: in verified programming and refinement, everything is meant to be transparent to people and every step understandable. I really sucks that computers in practice have become like black boxes that we can only control by trial and error, not logic or understanding.
After all, it was easy to copy the Ubuntu installation onto a new partition and I am now happily downloading my update. But the way it went is just not right.

Edit: I had the update run overnight because the download rate was so slow (that's GradHouse...) and it bothered me in the early morning with some decisions that pop up randomly during the update. Overall, Ubuntu now uses 0.9 Gigs more of hard disk space, has a new "switch computer off or change chat status" button, needed reconfiguration of my Quickstart-buttons (those extra keys on the laptop-keyboard), because their keycodes apparently got renamed... Most other things still seem to work and most importantly: I could install Facebook-chat for Pidgin from Google-Code and that works, too. Yay!