Rauhe Sitten

Baustelle und Greenpeace

08.02.10 (Fahrrad)

An der Baustelle an den Botschaften war heute Stau, da wieder ein LKW-Kran arbeitete und der Verkehr nur einspurig lief.

Am Ende der Baustelle, so nah an der japanischen Botschaft wie möglich, demonstrierte Greenpeace für “Gerechtigkeit für japanische Walschützer”, wenn ich es mir richtig gemerkt habe. Mit einer Walflosse im Schnee, um die roter Saft gekippt wurde. Vielleicht bin ich im Fernsehen?

1 Kommentar »

LCD-Fernseher: 100Hz oder 200Hz

07.02.10 (Fernsehen)

ist für uns egal, da das das erste Feature ist, das wir abgeschaltet haben.

Diesen Video-Look kann ja keiner ertragen.

Keine Kommentare »

Wozu try-catch-finally?

06.02.10 (Computer)

Endlich habe ich Zeit gehabt, mich etwas mit “finally” von Java zu beschäftigen (sprich: Internet bemüht, ausprobiert), hab’ ich mich doch schon öfter gefragt, wozu man das braucht.

Anwendungsbeispiel: ein Datenstrom soll geöffnet, gelesen und geschlossen werden. Dabei können IO-Fehler (und andere Fehler) auftreten, die abgefangen werden sollen. Tritt ein Fehler auf, soll der Strom geschlossen werden. Bisher habe ich das so programmiert:

InputStream stmIn = null;
try {
  stmIn = new InputStream(...);
  stmIn.read();
  stmIn.close();
} catch (Exception e) {
  e.printStackTrace();
  if (stmIn != null) {
    try {
      stmIn.close();
    } catch (Exception e) {
      // ignorieren
    }
  }
}

oder auch so:

InputStream stmIn = null;
try {
  stmIn = new InputStream(...);
  stmIn.read();
  stmIn.close();
} catch (Exception e) {
  e.printStackTrace();
}
if (stmIn != null) {
  try {
    stmIn.close();
  } catch (Exception e) {
    // ignorieren
  }
}

Beide Lösungen haben zwei Nachteile: Erstens muss ich den InputStream vor dem try definieren, damit ich ihn im catch oder danach schließen kann. Zweitens rufe ich zweimal close auf, bei jeder Codeänderung ist das ein potentieller Fehlerfall.

Mein bisheriges Verständnis von finally führte dann zu folgendem Code:

InputStream stmIn = null;
try {
  stmIn = new InputStream(...);
  stmIn.read();
} catch (Exception e) {
  e.printStackTrace();
} finally {
  if (stmIn != null) {
    try {
      stmIn.close();
    } catch (Exception e) {
      // ignorieren
    }
  }
}

Immerhin ein close eingespart, aber elegant ist das noch nicht und das erste Problem ist noch nicht gelöst. Nach dem ausgiebigen Webseitenstudium präferiere ich folgende Lösung:

try {
  InputStream stmIn = null;
  try {
    stmIn = new InputStream(...);
    stmIn.read();
  } finally {
    stmIn.close();
  }
} catch (Exception e) {
  e.printStackTrace();
}

Das ist jetzt elegant. das erste try sorgt für die Verarbeitung der Exceptions, die auf jeden Fall abgearbeitet werden, da das zweite try keinen catch-Block hat. Das zweite try sorgt aber dafür, dass der Datenstrom auf jeden Fall geschlossen wird. Fehler beim Schließen werden ebenfalls abgefangen. Außerhalb des ersten try-catch-Blocks ist der Datenstrom nicht sichtbar, die Variablenkapselung funktioniert.

Update (7.2.10): die Code-Formatierung war komplett daneben, komplett erneuert.

Update 2 (7.2.10): die Formatierung der Webseite zeigt jetzt den Code an :)

4 Kommentare »

Taxisfahrer – Berufskraftfahrer

05.02.10 (Auto, Fahrrad)

Ja, die lieben Kollegen der taxifahrenden Zunft. Sind so routiniert/gut unterwegs, dass sie auch kleinste Räume ausnutzen können. Weil sie das ja einschätzen können. Viel besser als die Gelegenheitsfahrer. Dabei brauchen sie nicht einmal anhalten, wenn sie einen Unfall verursachen. Leider ließ mich mein Handy im Stich, so dass ich das Kennzeichen nicht mehr habe. Hätte aber sowieso nichts genutzt. Wen interessieren schon Kennzeichen?

Die Hand tut jetzt nicht mehr weh, wenigstens nicht hingefallen. Freut man sich ja schon drüber.

Kurze Daten: Landsberger Allee, Höhe KKH Friedrichshain, ich ca. 30 km/h, Taxi ca. 50 km/h, Abstand ca. 5 cm.

Da regt man sich über die Taxis schon nur noch gebremst auf, die wenigstens 50 cm Abstand halten bei Schnee oder Regen und einem nasse Füße bescheren.

Wie hat jemand so schön geschrieben: Ich hab’ genug von dem täglichen unsinnigen Stress, ich will nur ungefährdet von A nach B kommen. Ist das so schwer?

Keine Kommentare »

Es gibt ihn, den guten Tag

04.02.10 (Auto, Fahrrad)

Alle Jahre wieder gibt es den Tag, an dem ich zur Arbeit und zurück komme, ohne dass mir jemand die Vorfahrt nimmt, eng an mir vorbeifährt oder mich umfahren will.

Das war am Mittwoch der Fall. Obwohl ich z.B. die Landsberger Allee oder die Leipziger Straße benutzte.

Es bleibt nur das ungute Gefühl, dass dafür in nächster Zeit wieder ein Rückschlag kommt. Mal sehen.

1 Kommentar »

Innensenator Körting und die Videoüberwachung

27.01.10 (Politik, Recht, Überwachung)

Unser Innensenator, immer für einen Scherz zu haben. Die Videoüberwachung bei der BVG sei u.a. nötig, da im letzten Jahr ein “Einsatz zur Abwehr eines möglichen Terrorangriffs” erfolgt sei. Was muss man sich darunter vorstellen?

“Es gab einen Hinweis auf einen möglichst öffentlichkeitswirksamen Anschlag”, [...] In zwölf Fällen seien zwischen dem 30. September und dem 14. Oktober Bahnhöfe von der Polizei genauer beobachtet worden. Ermittler hätten dazu direkt an den Bildschirmen in der Leitstelle der BVG Platz genommen. Es habe “einen etwas konkreteren” Anhaltspunkt darauf gegeben, “wo Täter auftauchen könnten”, [...] Die Verdachtsmomente hätten sich aber nicht in der Art verdichtet, dass es zu Festnahmen gekommen sei.

Wenn ich das jetzt in die deutsche Umgangssprache überführen müsste, würde ich sagen:

  • Hinweis auf eine Straftat
  • Ermittler haben zwei Wochen(!) lang Videos angeschaut
  • ist nichts bei rausgekommen

Das würde ich unter “normale Polizeiarbeit” einordnen, Rückschläge gibt’s da immer. Wo das jetzt aber ein Hinweis auf die Wirksamkeit von Videoüberwachung sein soll, weiß nur Körting. Andere Erfolgsgeschichten:

  • “wir hätte noch mehr Vandalismus” – also ist nicht mal der Vandalismus zurückgegangen, sondern wahrscheinlich gestiegen, sonst wäre der Rückgang ja der Erfolg
  • Identifizierung von mehr Straftätern

finde ich jetzt kein überzeugendes Argument für flächendeckende dauerhafte automatisierte Überwachung der Bevölkerung.

Wie wäre es, mal wieder Leute bei der BVG einzustellen, die auf jedem Bahnhof rumlaufen und Vandalismus verhindern? Oder in Bussen und Bahnen mitfahren? So wie früher[tm]? Würde auch bei der Arbeitslosenstatistik helfen. Und dem Einzelhandel. Und dem Gesundheitssystem. Und, und, und…

1 Kommentar »

Da hab’ ich die Fernbedienung fallen lassen

25.01.10 (Allgemein)


und hatte noch eine Katze im Arm.

1 Kommentar »

Kulinarischer Tip 2

23.01.10 (Allgemein)

Auch qualitativ hochwertiges Essen verliert an Geschmack, wenn man es anbrennen lässt.

Keine Kommentare »

Kulinarischer Tip

18.01.10 (Allgemein)

Merke: Die Vitamine in Erbsen mit Petersilie werden vom Magen besser aufgenommen, wenn ausreichend Butter zugefügt wird.

3 Kommentare »

147

14.01.10 (Allgemein)

Tage bis zur Fußball-WM. Die Anzeige an der südafrikanischen Botschaft funktioniert wieder nach ihrer kältebedingten Pause.
147 ist auch noch:
- die maximale Punktzahl im Snooker
- in Österreich und der Schweiz ein Telefonhilfedienst

Interessant mit der Telefonnummer: kostenlos, ich nehme an, wegen der Anordnung der Zahlen wurde die 147 gewählt.
In Deutschland heißt das “Nummer gegen Kummer“: 0800 1110333 oder 0800 1110550 für Eltern.

3 Kommentare »