Gabi und Sascha
Kategorien : Alle | Berlin | Bücher | Fotografie | Java | Linkhalde | Weichware | Verfassung

Was ist Wahrheit? Wahrheit gibt es immer nur im Kontext. Das 11-1=10 ist werden die meisten als wahr hinnehmen. Es ist Schulwissen. Bei 1+1=10 haben die meisten Menschen schon Schwierigkeiten und werden das Ergebniss als falsch bewerten. Im Kontext des Dualsystem sind beide Aussagen aber wahr. Auch Wolfram Alpha liefert bei 1+1=10 zur Zeit false. Dem System fehlt der Kontext.

Vor einigen Jahren war ich mit der Basisarbeit für ein semantisches System für die Biomedizin beschäftigt. Die Biomedizin ist eines der Gebiete, in welchem wirklich gute Taxonomien, Thesaurie und Ontologien existieren. Privatfirmen pflegen solche Informationen und verdienen viel Geld damit. Der Meta-Thesaurus UMLS der National Library of Medicine ist eine grosse freie Quelle für solche Daten. Eines der zentralen Ordnungssysteme ist des Thesaurus bestand damals aus 142 Oberknoten. Das System sah vor, dass aus diesen Knoten der Kontext einer Anfrage ausgewählt wird. Treffer, die diesem Kontext näher kommen, wurden höher gewichtet.

Allerdings sind 142 Oberpunkte ein Problem: Kein Wissenschaftler wird sich durch eine Liste mit 142 Einträgen kämpfen, um die für ihn wichtigen zu finden. Zumal es dann auch wieder auf das Wissen der Unterpunkte ankommt. Ausserdem konnten mehrere Kontexte ausgewählt werden. Es gibt zwei Möglichkeiten aus der Sache heraus zu kommen:

  1. Ein Eingabesystem zu entwickeln, welches dem Wissenschaftler bei der Auswahl unterstützt.
  2. Die Liste der Oberknoten eindampfen.

Beides ist schwierig. Letzteres aber fatal. Hierfür wurde sich entschieden. Die Liste sollte auf 10 Oberpunkte eingedampft werden. UMLS wurde von den besten Wissenschaftlern ihres Faches entwickelt. Es ist ein allgemein anerkannter Standard. Wie alle Standards nicht perfekt. Sicherlich hat es wochen-, monatelange Diskussionen für die Oberpunkte gegeben. Bei uns wurde es von 4 selbsternannten Fachleuten an einem Nachmittag eingedampft. Auch die konnten sich nicht einigen, so das am Ende die lautesten gewannen. Es war spannend die Besprechung mitzuerleben.

Das Projekt ist gescheitert. Weil das Thema Kontext sträflich vernachlässigt wurde.

Am Thema Kontext werden alle semantischen Suchsysteme entweder scheitern, gnadenlos oberflächlich oder hoch spezialisiert sein. Weil es keine Wahrheit gibt. Spätestens bei Religionen und Geschichte wird es kniffelig. Weil nicht alles erfasst werden kann. Hier hilft auch die dynamische Semantik nicht weiter.

Cyc ist auch gescheitert.

10% der Eclipse Nutzer sind nicht zufrieden mit der Entwicklungsumgebung. Dies hat eine Umfrage der Eclipse-Foundation ergeben. Ich gehöre zu den 10%. In den letzten Wochen wurde ich so unzufrieden, dass ich nach 8 Jahren Eclipse zu Netbeans gewechselt bin.

Der Grund für den Wechsel ist recht einfach. Auf meinem XEN Ubuntu (8.04) war Ganymede unzuverlässig. Aus unerfindlichen Gründen musste ich ca. alle 4 Wochen neu installieren. Bei Eclipse nicht so schwer, wenn nur die Standardumgebung genutzt wird. Die nachinstallierten Plugins mussten allerdings immer wieder neu installiert werden. Und damit begann der Ärger. Jenes Plugin braucht genau dieses Plugin, mit einer Versionsnummer auf X-Nachkommastellen genau. Einige Plugins sind von erschreckend schlechter Qualität usw. Die schlechte Maven Unterstützung und der unzuverlässige Subversion Support taten ein übriges (Versionskonflikte mit Kommandozeilen Client).

Bei Netbeans bekomme ich die nötige Umgebung out-of-the-box. Maven Projekte werden automatisch erkannt, Subversion wird sauber unterstützt. Groovy wird ebenfalls standardmässig unterstützt. Das JavaFX Plugin kann einfach nachgeladen werden (Mac OS X Plattform). Einzig das Scala-Plugin musste manuell nachgeladen werden. Und selbst dabei war die Installation intuitiver als bei Ganymede mit seinem dropins-Verzeichnis.

Bis jetzt vermisse ich nichts. Einziger Wermutstropfen: Das Task-Scanning kann manchmal etwas nervig sein. Ausserdem unterstützt der Editor noch nicht die Möglichkeit Whitespace-Zeichen unterschiedlich zu visualisieren. An letzteres hatte ich mich bei Ganymede gewöhnt. Kann aber gut darauf verzichten.

[LADENLOKAL "CURRY 32"] Nachdem unsere favorisierte Currybude das Zeitliche gesegnet hatte, ist es an der Zeit nach Alternative zu suchen. Nach einem Zahnartztermin habe ich «Curry 32» an der Greifswalder Straße Ecke Hufelandstraße ausprobiert. Zur Feier des Tages – er hat gar nicht gebohrt – gönnte ich mir eine Wurst von Neuland. Mit 1.90€ immerhin 60 Cent teurer als die Hausmarke. Aus der Fettpfanne genommen, fragte die Bedienung ob ich es scharf haben möchte. Natürlich. Er streute zusätzlich Chilipulver über den Curry. Es war scharf, aber noch geniessbar. Die Tomatensosse war in Ordnung, aber keine Offenbarung. Die Wurst hatte eine labbrige Pelle und schmeckte nach Bockwurst.

Die subjektive Wertung

Die Wurst war eine einzige Enttäuschung. Die Pelle nicht knackig sondern zäh, der Geschmack nach Bockwurst tat ein Übriges. Die Schärfe des Chilipulvers war einen Tick zu stark.

Fazit

Ich werde noch einmal die Hausmarke probieren, ohne «extra scharf». Die Neulandwurst ist erst einmal raus.

Weiteres

Koordinaten  N52°31'57.88" O13°25'45.25"

Codewort Currywurst

[UNWETTERWOLKEN ÜEBER KREUZBERG DIE AUSSEHEN WIE KRALLEN IM NEBEL. SEHR MYSTISCH]
Kreuzberg

 

Tja, jetzt ist die vierte Staffel fast vorbei und ich habe nur zwei Kommentare geschrieben. Das Next Topmoddel aus dem Jahre 2026 benötigt halt doch noch zahlreiche Mode- und Schminktipps ;-)

Oolite ein C64 Elite Clone. Sehr gutes Game feeling. Und Freedroid, fast ein 1:1 Paradroid Clone.
Und ich? Ich bin alt ;-)

Weitere Zensurmassnahmen gefordert. Natürlich nur zum Schutz der Kinder. Natürlich.

Mit einem sehr schönen Video zum Rumzeigen.

Karl Kraus: Satire, die der Zensor erkennt wird zu Recht verboten.

Mehr

In den letzten Wochen habe ich mir einige neue Regeln beim Schreiben von JUnit Tests angewöhnt.

Kein CamelCase bei Methodennamen

In Tests können Methodennamen bei mir sehr lang werden. Sie beschreiben kurz, was die Methode macht. Dies führt dazu, dass ich bei fehlschlagenden Tests schnell sehe, was eventuell schief gelaufen ist. Lange CamelCase Namen sind allerdings sehr schwer zu lesen. Vor dem Auge verschmelzen die Buchstaben zu einer einzigen Buchstabensuppe. Ich verwende stattdessen inzwischen Unterstriche als Namenstrenner und weiche damit bewusst vom Java Standard ab. Aus einem failingRfc4180WithHeaderAndDifferentColumnCountInFirstDataRow wird ein failing_rfc_4180_with_header_and_different_column_count_in_first_data_row.

Hamcrest API

JUnit wird seit Version 4.4 mit dem Hamcrest API ausgeliefert. Durch die Assertion Methode assertThat und den Hamcrest Matchern werden Zusicherungen besser lesbar. Die Zusicherung kann wie ein Satz gelesen werden. Ein übersetzen des Kontrollflusses entfällt.

Ein Zusicherung, dass zwei Objekte gleich sind wird kann mit dem Standard-Assert assertEquals durchgeführt werden. Erster Parameter ist der erwartete Wert, zweiter Parameter ist der ermittelte Wert.


    assertEquals(erwartet, geliefert);
    assertFalse(erwartet.equals(geliefert));
    

Mit dem Hamcrest API wird dies zum intuitiver lesbaren


    assertThat(geliefert, is(erwartet));
    assertThat(geliefert, is(not(erwartet)));
    

Ich finde, dass gerade das zweite Beispiel sehr schön den Gewinn an Übersichtlichkeit demonstriert.

Weiterhin setzte ich beim Entwickeln auf default Sichtbarkeit der Methoden. Dieses Vorgehen hat sich in den letzten Jahren nicht als Problem herausgestellt. Der Vorteil: bei Composed methods und SLAP kann feingranularer getestet werden. Allerdings mache ich inzwischen derartige Methoden final, wenn die Klasse nicht schon final ist – was bei mir default bei neuen Klassen ist.

[DER BUCHSTABE Ä MIT VERSCHOBENEN UMLAUTPUNKTEN, SO DAS ES AUSSIEHT WIE SEX "VON HINTEN". MASHUP SIND SPRECHBLASEN MIT SYMBOLEN "LIEBE" (BEI FRAUENKOPF, "GELD" BEI MÄNNERKOPF UND "AUTO" HINTER MANN]
Friedrichshain, Kochannstraße Ecke Petersburger Straße

 

Immerhin sitzt die Bahn dick und fett in einem populären Gebäude an der Normannenstaße.

[DEUTSCHE BAHN IM EHEMALIGEN STASI-HAUPTQUARTIER]
Quelle: Wikipedia

 

…wenn die Geburtstagskarten einen hohen Wiedererkennungswert haben.

Wie kann eine Verfassung als Erfolgsmodell gefeiert werden, wenn eine Grundgesetzänderung für gemeinsame IT-Beschaffung von Bund und Ländern durchgeführt werden muss. Eine solche Verfassung ist eine Fehlkonstruktion.

Vielleicht ist doch etwas dran an Christianes Sicht auf das Wesen des Berufs ihres Mannes. Als Fachfremde sieht in uns Entwicklern kleine Götter. Herrscher über den Kodex und die Maschine. Beim Dokumentieren fällt das Herrschaftswissen weg. Zum einen durch die Dokumentation selbst, weil damit Macht weggegeben wird. Zum anderen, weil der Entwickler kein Herrschaftswissen über das Dokumentieren hat.

  • Modelvilla für Katakomben des Kolosseum

So viele digitale Unterschriften hat aktuell die Petition Keine Indizierung und Sperrung von Internetseiten. 50.000 Unterschriften braucht es, damit sich der Petitionsausschuss des Bundestages mit dem Thema befassen muss. 6 Wochen kann unterschrieben werden. Die Petition selbst ist seit 3 Tagen online. Wow :-) Der Souverän zwingt also seine Vertreter sich mit dem Thema ernsthafter zu beschäftigen und nicht einfach sinnleere Sprechblasen wieder zu käuen. Hierdurch zeichnen sich gerade die Abgeordneten der Großen Koalition aus. Ohne einen Funken Verstand wird wird dort unlogisches Kauder-welsch von sich gegeben. Besonders hirnerweichend die Sprechblasen des Abgeordneten Thul von der CDU, die hier köstlich zerlegt und kommentiert werden.

Wenn ihr noch nicht unterschrieben habt, macht hin. Stellt den Schäubles, von der Leyens und Wiefelpützes dieser Republik ein Bein. Zeigt ihnen, dass da draussen auch noch ein aufgeklärtes Volk ist und nicht nur Abgeordnetenstimmvieh.

Update: Gotcha 51290

Schach simuliert eine Tötungshandlung und wird demnächst verboten. Und Jugger sind nahezu gemeingefährlich. Auch verbieten.

Als nächstes wird auch Skat verboten. Schliesslich kann dort gestochen werden. Irgendwie haben diese Innenpolitiker alle einen grossen, ebenfalls gemeinwohlgefährlichen Schatten.

Nachtrag: Müssen wir uns jetzt auch Gedanken über Schiessbuden auf Volksfesten machen?

Hatschi

Es gibt eine einfache Sache, die ich bei der Idee der Bad Banks nicht verstehe: was soll das? Aus meiner naiven Sicht gibt es nur zwei Dinge, die möglich sind:

  1. eine Bad Bank wird vom Steuerzahler finanziert, der auch das Risiko trägt
  2. eine Bad Bank wird von der Good Bank finanziert und ist dann nur Buchhaltungstrick. Die Probleme der Good Bank werden verschleiert. In diesem Fall ist mehr verloren als gewonnen, denn die Probleme werden
    1. nur in die Zukunft verschoben – sollen sich nachfolgende Managergenerationen damit rumärgern
    2. sind Buchhaltungsttricks schon jetzt ein Grund des Übels

Bei den Buchhaltungstricks liegt das Risiko letztlich bei den Besitzern der Good Bank. Wollen diese das Risiko nicht tragen, dann mus die Good Bank eben den Weg allen Irdischen gehen. Die Bank geht in die Pleite und das System wird auf Null zurück gestellt. Das mag nicht schön sein, ist aber eine Alternative.