2006/12/20
Ich verkaufe ...
2006/12/13
Ein Fehleinkauf?
Der Artikel stammt aus dem Spieltagsheft der Basketballer des RSV Stahnsdorf (1. Regionalliga Nord) vom 13. Spieltag gegen die TSG Bergedorf, welches Stahnsdorf nach sehr gutem ersten Viertel mit 106:82 gewann. Demnach muss es sich bei Jonathan um einen echten Fehleinkauf handeln :-) Der Manager wurde während und nach dem Spiel mehrfach darauf angesprochen und weiß also auch schon Bescheid ...
2006/12/12
Körperliche Verluste
Meine beiden oberen WZ hatte ich mir bereits vor einem guten Jahr beide einzeln ziehen lassen. Dabei habe ich bereits beide Extreme kennengelernt. Der eine ging einfach, zügig und schnell und am nächsten Tag ging es mir so weit ganz gut.Bei dem anderen bekam ich ein Schlafmittel, welches blutverdünnende Substanzen enthielt. Na ja, bei einer zum Teil leicht nachblutenden Wunde keine gute Idee, denn dadurch blutete es fast 36h weiter in meinem Mund (und das war richtig eklig!) bis ich mir vom Zahnarzt erneut einen Stich machen ließ und ein eklig schmeckendes Wundpulver aufgestreut bekam.
Da meine Zahnarzt doch ziemlichen Respekt vor dem Aufwand beide unteren WZ gleichzeitig zu ziehen hatte (O-Ton: "Es macht für Sie schon einen Unterschid ob ich dafür 60 min brauche oder ein Kieferchirurg nur 30 min."), überwies er mich zu einem erfahrenen Kieferchirurgen. Da ich die Übweisung nicht richtig gelesen hatte, ließ ich mir einen Termin in der Praxis geben und landete in der Geminschaftspraxis beim Rookie statt beim Prof. Dr. Dr.. Noch kaum 30 würde ich schätzen, bekam ich bei ihm immerhin innerhalb von zwei Wochen einen Termin. Ich wollte trotz freier Arztwahl auch nicht wechseln, weil ich dachte, er solle seine Chance auf Erfahrung ja auch mal bekommen. Ist das nicht nobel von mir :-) Der Termin war also nun letzte Woche Mittwoch (ja, da war Nikolaus). Der rechte untere Zahn flutschte in einem Stück raus, wohingegen auf der linken Seite eine Nachspritze nötig war und der Zahn dann auch noch abbrach und nach dem Oberteil noch die beiden Anker rausgeholt wurden. Da ich die Zähne mitbekam, will ich Euch die beiden Prachtburschen bzw. ihre Einzelteile auch nicht vorenthalten:
Man beachte bei dem rechten ganzen Zahn das Loch, was reingebohrt wurde um den Zahn zu entfernen. Auf die blutigen Details will und kann ich nicht eingehen, da ich die Augen trotz Spritzschutz über dem Gesicht durchgehend zu hatte. Für alle Detailliebhaber: Ja, es tat trotzdem weh. Ein brechender Zahn klingt ganz besonders schlimm, aber am fiesesten fand ich den Gestank von Blut und Speichel im Mund.
Mahlzeit ...
2006/11/29
XML in .NET 2.0 (part II)
Folgende Lösung zu 1.)
// Create XMLDocument with xml file
XmlDocument document = new XmlDocument();
document.Load(@"myXmlFile.xml");
XmlNodeList nlType = document.GetElementsByTagName("type");
return nlType.Count;
Kurzum:
- Dokument laden
- Alle Knoten mit einem bestimmten namen ("type") in die Liste laden und
- Die Anzahl der Elemente in der Sammlung zählen
// Select all nodes 'Type'
XmlNodeList nodeList = document.GetElementsByTagName("type");
foreach (XmlNode n in nodeList)
{
currentCounter = 0;
// Create NodeList with all nodes in Mebers whose text for the MemberType is Method
// In plain text: n.SelectNodes(".//MemberType[.='Method']")
XmlNodeList childNodeList = n.SelectNodes(".//" + "memberType" + "[.='" + "Method" + "']");
// Simply count the arraysize
currentCounter = childNodeList.Count;
// Read attribute Name of the Type with '@'
currentClassName = n.SelectSingleNode("./@name").Value.ToString();
// If currentCounter greater than highestCounter ...
if (currentCounter > highestCounter)
{
// ... set variables to save the classname and counter
highestCounter = currentCounter;
highestClassName = currentClassName;
}
}
Kurzum:
- Auf allen "type"-Elementen iterieren
- Die Elemente "memberTye" deren Text "Method" lautet auswählen
- Auf der Liste die Elemenete zählen
- Namen der übergeordneten Klasse ("type") aus dem Attribut "name" auswählen
- Werte auf neue Höchstzahl vergleichen und ggf. als neues Maximum speichern
Wer Interesse an den Materialien meienr Vorlesung hat, kann gerne mal auf http://www.dcl.hpi.uni-potsdam.de/teaching/xml06/ nachsehen.
2006/11/21
XML in .NET 2.0
Eine Aufgabe für die Uni erforderte das Bearbeiten einer XML-Datei. Dabei geht es um das Zählen der Elemente mit einem bestimmten Namen.
Dabei ist die XML-Datei wie folgt aufgebaut:
//... XML-Markup
//<typecollection>
// <types library="ABC">
// <type name="nameABC1">
// <members>
// <membertype>Constructor</membertype>
// </members>
// <members>
// <membertype>Method</membertype>
// </members>
// </type>
// </types>
// <types library="CDE">
// <type name="nameCDE1">
// <members>
// <membertype>Constructor</membertype>
// </members>
// </type>
// </types>
//</typecollection>
So weit so gut.
Was soll damit nun gemacht werden?
1.) Zähle die Menge der Elemente "Type"
2.) Benenne das Elemente vom Type "Type" welches die meisten Kindelemente vom Type "MemberType" mit dem Wert "Method" hat.
Lösung:
Ich verwende dazu den im .NET 2.0 Framework beliebten XMLTextReader, der sequentiell ein XML-Dokument durchläuft und bei jedem Element stehenbleibt und somit eine Aktion ermöglicht.
Folgende Lösung zu 1.):
// Create XMLTextReader with xml file
XmlReader reader = new XmlTextReader("myXmlFile.xml");
//Moves the reader to the root element
reader.MoveToContent();
int currentCounter = 0;
while (reader.Read())
{
// If the element is "Type" and a start-element (without closing-tags would be counted too)
if (reader.Name.Equals(elementName) && reader.IsStartElement())
{
currentCounter++;
}
}
Kurzum:
- Erstelle einen XmlReader mit dem dazu zu bearbeitenden Dokument
- Setze den Reader auf den Beginn des Inhalts der XML-Datei
- Lese die komplette Datei über eine while-Schleife
- Wenn das jeweilige Element ein Starttag für das Element "Type" ist, zähle den Counter hoch
Folgende Lösung zu 2.):
// Create XMLTextReader with xml file
XmlReader reader = new XmlTextReader("myXmlFile.xml");
//Moves the reader to the root element
reader.MoveToContent();
int currentCounter = 0;
string currentClassName = "";
int highestCounter = 0;
string highestClassName = "";
while (reader.Read())
{
// If element = className and node is startelement
if (reader.Name.Equals(className) && reader.NodeType == XmlNodeType.Element)
{
// Read value of attribute 'Name' and set currentCounter = 0
currentClassName = reader.GetAttribute("Name");
currentCounter = 0;
}
// If element = memberType and element is startelement
if (reader.Name.Equals(memberTypeName) && reader.NodeType == XmlNodeType.Element)
{
// If element = memberTypeMethodType
if (reader.ReadElementString(memberTypeName).Equals(memberTypeMethodType))
{
// Increment currentCounter
currentCounter++;
}
}
// If element = className and node is endelement
if (reader.Name.Equals(className) && reader.NodeType == XmlNodeType.EndElement)
{
// Write output to console
Console.WriteLine("Die Klasse '{0}' hat {1} Methoden.", currentClassName, currentCounter.ToString());
// If currentCounter greater than highestCounter ...
if (currentCounter > highestCounter)
{
// ... set variables to save the classname and counter
highestCounter = currentCounter;
highestClassName = currentClassName;
}
}
}
Kurzum:
- Erstelle einen XmlReader mit dem dazu zu bearbeitenden Dokument
- Setze den Reader auf den Beginn des Inhalts der XML-Datei
- Lese die komplette Datei über eine while-Schleife
- Wenn das jeweilige Element ein Starttag für das Element "Type" ist, lies das Attribut Name um zu wissen bei welchem 'Type' man ist
- Wenn das aktuelle Element 'MemberType' und der Wert 'Method' ist (ausgelesen durch
ReadElementString()), zähle den Counter um eins hoch - Wenn das Element 'Type' als schließendes Element auftaucht, überprüfe ob der aktuelle Wert höher als der letzte höchste Wert war und merke ihn Dir ggf. als neuen höchsten Wert
Das war's. Die Schritte 4-6 kann man vielleicht auch eleganter über ein switch-Statement machen, aber der Einfachheit halber habe ich mich dafür entschieden :-)
P.S.: Sorry für die unvorteilhafte Einrückung des Quelltextes, aber ich denke es geht gerade noch so. Falls jemand Probleme dabei hat, einfach Kommentar posten ...
2006/11/16
As time goes by
Eben war ich noch in Nürnberg zu einem 2 1/2-monatigem Praktikum und nun habe ich schon wieder 5 Wochen Uni rum. Ich habe interessante Vorlesungen oder viel mehr Seminare zu besuchen, bin an den Wochenenden viel in Deutschland unterwegs und versuche mich nebenbei noch auf meiner Masterarbeit organisatorisch vorzubereiten. Ach ja ... und arbeiten gehe ich ja auch wieder. Wie Freundin und Familie? Klar habe ich die! Und nein: mein Tag hat nicht mehr als nur 24 Stunden! Aber die können auch reichen :-)
Mit jetzt wieder langsam angewöhnender Zeitplanung kann man so einiges schaffen. Erstmal alle langfristigen Unitermine aufschreiben, dann sortieren (neben Zeit ggf. auch Priorität) und dann überlegen, wann und wo man sich womit beschäftigen kann. Außerdem die Zeit in der S-Bahn konsequent zum Lesen nutzen. Das ist mind. 1h pro Tag; optimal um Paper zu lesen. Und dann in das Schwierigste: in den fiesen Momenten, wo man denkt "jetzt pack ich mich erstmal vor die Glotze" darauf verzichten. Aufgaben für die Uni (zumeist am PC) machen, Lesen, Essen und Aufräumen haben sich dabei zu meinen bevorzugten Allein-zu-Haus-Aktivitäten entwickelt. Na ja, und zu zweit hat man ja noch ein paar zusätzliche Alternativen. Und die müssen auch nicht immer was mit "Arbeit" zu tun haben ... ;-)
2006/11/03
Restart bitte
Nun, einige Rechner-Neustarts später, nutze ich also die Zeit mich lesenderweise mit Codeoptimierungen zu beschäftigen und werde wohl den frühesten Feierabend ever genießen ....
2006/10/23
Ich habe Michael Jordan die Hand geschüttelt!
Die, die mich kennen, wissen es: ich bin sicher keiner der schnell ausflippt, bei Konzerten groß aufgeregt ist oder intensives Verlangen nach Huldigung bestimmter Personen verspürt. Aber es gibt auch so ab und an ganz kleine Ausnahmen. Der Titel verrät es ja bereits, also ist es ja auch keine Überraschung mehr: "Ich habe Michael Jordan die Hand geschüttelt." Wer jetzt nicht weiß, wer Michael Jordan ist, darf unter dem Link gerne nachsehen und sich als Basketball-Banause fühlen ;-).
Ich will dafür noch kurz auf die wichtigen Details eingehen, als ich am letzten Samstag als Schiedsrichter beim Jordan Classic Event dabei war. Das Spiel war schon nur Nebenschauplatz einer riesigen Nike-Werbekampagne, bei der u.a. Das Bo auftrat, die mit "Türlich Türlich" ihren wohl größten Hit performten. (Auf dem Bild sind Marek und ich mit Das Bo.)Zu Beginn des vierten Spielviertel wurde MJ dann angekündigt und kam in die Halle. Meine SR-Kollege Marek, dem ich meine Mitwirkung dort verdanke, und ich saßen bei seiner Ankunft direkt gegenüber dem langen Spielereingang und konnten ihn so in die Halle kommen sehen. Dann zu Beginn des vierten Viertels standen wir direkt neben dem weißen Klippan-Sofa, auf dem Michael Platz nahm, um den Rest vom Spiel anzusehen und den MVP zu küren. Dabei entstanden auch einige Bilder, die ich hoffentlich bald hier online stellen kann. Kurz vor Spielende gab es eine Auszeit. Es war dunkel in der Halle, da oben auf der Videoleinwand ein 60-Sekunden-Trailer mit MJ's größten Moves läuft. Marek und ich stehen also wieder direkt neben MJ und sind uns einig: "Jetzt oder nie". Also Schritt zur Seite und ein kurzes "Hey Michael"mit Shake-Hands. Und dann ab durch die Mitte und noch knapp zwei Minuten Spiel über die Bühne bringen :-)
Später war da noch so ne Breakdance-Ballartisten-Kombo am Start. Die wollten beim Rausgehen auch Michael die Hand schütteln und wurden von der Security abgewiesen :-p
Tja, so kann es kommen ...
2006/10/18
And now: back to reality
Nach den ersten Vorlesungen und Seminaren gestern geht es heute munter weiter. Und wir haben sogar eine VL mit Anwesenheitspflicht und Laufzettel für Unterschriften zur Dokumentation der Anwesenheit. Ich bin verwirrt. Was an anderen Universitäten teils üblich ist zieht nun auch am HPI ein? Ich finde das nicht gut. Das Absitzen von Zeit kann doch kein Kriterium für das Beherrschen von Inhalten sein, oder? Klar gibt es Inhalte, die nur durch Anwesenheit vermittelt werden können. Insbesondere praktischer Stoff, aber so etwas wie Rechtsvorlesungen ... Ich bezweifle das und finde es nicht gut. Aber ich werde ja trotzdem eh zu allen Vorlesungen da sein. ... denke ich ... Mir bleibt ja auch nix anderes übrig. Wer 2x fehlt ist raus :-( Hoffentlich greift das mit der Anwesenheitspflicht nicht um sich ...
Oh Du schöne Zeit des Praktikums
2006/10/11
Was ist nur mit Basketball-Deutschland los?
Überschattet wurde das Turnier durch 2 Spielabbrüche und einen
Turnierausschluss. Ein Berliner Verein hatte versucht, seine nicht in der
Berliner Auswahl befindlichen Spieler nach finanziellen Zuwendungen an den
Landesverband Mecklenburg-Vorpommern (LV MVP) in dessen Landesauswahl antreten
zu lassen. Nach einem Hinweis des DBB, dass es sich nicht um
Landesauswahlspieler handelt, dies der geltenden Ausschreibung widerspricht und
gütliche Einigungsversuche scheiterten, erklärte der Präsident des LV MVP, die
Spieler auf jeden Fall einsetzen zu wollen. Die Mannschaft wurde daraufhin vom
DBB-Vizepräsidenten Jugend Sascha Dieterich vom Turnier ausgeschlossen.
Hiergegen beantragte der LV MVP durch eine Berliner Anwaltskanzlei eine
einstweilige Verfügung beim DBB-Rechtsausschuss mit dem Antrag, die Mannschaft
so zuzulassen, ihr hilfsweise eine Teilnahme außer Konkurrenz zu ermöglichen.
Der Rechtsausschuss ließ die Teilnahme des LV MVP an dem Turnier zu, da eine
Ankündigung rechtswidrigen Verhaltens nach DBB-Ordnungen nicht bestraft werden
kann, bestätigte aber den Ausschluss der Berliner Vereinsspieler. Auch eine
Teilnahme außer Konkurrenz wurde vom Rechtsausschuss ausgeschlossen.
Trotz
des Urteils reiste der LV MVP nur mit 5 Spielern seines Landesverbands und 6
Berliner Spielern an und verlangte (erfolglos) die Zulassung außer Konkurrenz.
Am Nachmittag des ersten Turniertages standen zu Spielbeginn zwar 5 Spieler auf
dem Feld, diese weigerten sich aber zu spielen. Nachdem die Verantwortlichen des
LV MVP keinerlei erkennbare Anstalten machten, die Jugendlichen zum Spielen zu
bewegen, sondern im Gegenteil ein Betreuer die Reaktionen der Beteiligten und
Zuschauer filmte, brachen die Schiedsrichter das Spiel ab. Gegen diesen
Spielabbruch legte der LV MVP (erfolglos) Protest ein. Wegen grober
Unsportlichkeit schloss DBB-Vizepräsident Dieterich den Landesverband vom
weiteren Turnierverlauf aus: „Es ist sehr bedauerlich, dass hier die Plattform
des Bundesjugendlagers benutzt wird, um nicht nur auf dem Rücken der
Jugendlichen aus Berlin und MVP, sondern auch der Gegner und Schiedsrichter,
Streitigkeiten eines Vereins mit seinem Landesverband auszutragen. Kritik, auch
harsche, an der Verbandsstruktur zu äußern, ist eine Sache, ein derartiges
Verhalten vor und während dieses Turniers eine andere."
Wer ganz viel Lust und Zeit hat, kann sich ja auch mal das Forum von Schoenen-Dunk.de zu diesem Thema durchlesen. Dort sind ganz viele "Fans", "Insider", "Fachexperten" und "Basketball-Professoren" aktiv, die durch ihr "Wissen" und ihren "guten Umgang" glänzen und "die Wahrheit und nichts als die Wahrheit" kund tun ;-)
Wohin wird das wohl noch führen? Ich bin gespannt ...
2006/10/10
Neuigkeiten des Tages
Nach einer SMS von meinem Schatz, die an dieser Stelle einmal herzlich gegrüßt sein soll, gibt es am S-Bhf Feuerbachstr. ein neues Graffiti.
Das sind doch auch mal News aus der Heimat :-)
2006/10/09
Lustige Begebenheiten mit der Deutschen Bahn
Die Rückfahrt war kaum weniger "ergreifend". Pünktlich in Leipzig genoss ich die 45 min Aufenthalt zunächst erstmalig in der "DB Lounge" für bahn.comfort Kunden. Das ist ein elitärer Kreis von Vielfahrern oder Bahnliebhabern. Einen frischen O-Saft und eine Tageszeitung später schlenderte ich gemütlich zum Bahnsteig und machte noch einen kurzen Schlenker zum Coffee Culture und gönnte mir einen Karamel Freezer. Am Bahnsteig dann die Durchsage: "... 30 Minuten Verspätung ...". Dann kam der Zug auch noch kurzfristig auf einem anderen Gleis an, was eine lustige Wanderung nach Art der Lemminge zur Folge hatte. Dann die nächste Durchsage "... in umgedrehter Wagenreihenfolge ..." Nun meine Frage: Warum zum Teufel fahren so oft die Wagen in umgekehrter Wagenreihenfolge? Ist das ein Softwarefehler? Den kann man doch beheben, oder? Nicht, dass ich davon viel Ahnung hätte oder so, aber ... Oder ist da einfach nur ein Zugzusammenkoppeltechniker zu blöde Zugteil 1 vor Zugteil 2 zu hängen? Und wieso bemerkt das keiner, bevor der Zug losfährt? Nun aber das Highlight daran (also Info vorweg: Leipzig ist ein Kopfbahnhof): "... die Wagen 21-28 befinden sich an der Spitze des Zuges ...". Nun die spannende Frage: Befindet sich der "vordere" Zugteil in Richtung der Einfahrt des Zuges oder in Richtung der Ausfahrt des Zuges jeweils "vorne"? Offensichtlich beschäftigte die Frage nicht nur mich, denn am Stand der Gleisbeauftragten (das ist die, die den Kummer der Reisenden ertragen muss) fanden sich mehrere Leute mit der Frage ein :-) Nachdem die Dame nach mir die zu meiner Antwort entgegengesetzte Antwort auf die gleiche Frage bekam, fragte ich noch mal nach. Also ist nach Definition der Bahn der "vordere" Zugteil der, der zum Zeitpunkt der Einfahrt des Zuges vorne ist. Macht ja auch Sinn, schließlich stammt die Information vom Zugbegleiter und der denkt wohl kaum an die Ausfahrt seines Zuges aus dem nächsten Kopfbahnhof, sondern schaut viel mehr wie sein Zug gerade aussieht. Eine Frage beschäftigt mich trotzdem noch bei dem Problem der umgekehrten Wagenreihenfolge: Bezieht sich die Umkehr auf alle Wagen, die jeweiligen Wagen der Zugteile oder nur auf die Zugteile?
Beispiel gefällig: Ok! Die Originalreihenfolge lautet: [1, 2, 3, 4] - [5, 6, 7, 8], wobei Wagen 1-4 in einem und Wagen 5-8 im anderen (nicht durchgehbaren) Zugteil sind. Nun die Frage: was verstehst Du unter "umgekehrter Wagenreihenfolge"?
- [4, 3, 2, 1] - [8, 7, 6, 5] Wagenreihenfolge in sich pro Zugteil umgekehrt
- [5, 6, 7, 8] - [1, 2, 3, 4] Zugteile in umgekehrter Wagenreihung
- [8, 7, 6, 5] - [4, 3, 2, 1] Wagenreihenfolge in umgekehrter Wagenreihung umgekehrt
Ich bitte um Eure Meinung!
P.S.: Bei der Bahn sind schon alle drei Varianten unter gekommen ...
2006/10/04
Andere Blogs
Langes Wochenende mit Bea
Freitag: Ankunft Bea, Sightseeing und Bowling
Am Freitag Mittag kam Bea wohl erhalten an. Der Streik der Bahn (aktuelle Streikhotline ist die kostenlose 0 8000 99 66 33, weitere Infos auf der Bahn-Website) führte nicht zu Problemen. Nach kurzer Verschnaufpause zu Hause (Bea: "Ist ja doch ganz schön klein dein Zimmer") ging es in die Altstadt zum Bummeln und Mini-Sightseeing. Bei Australianhomemade haben wir dann erst einmal leckere Pralinen gekauft:
Am Abend trafen wir uns mit meiner Abteilung (neudeutsch: Unit) und hatten eine Stadtführung mit Guide, die aber etwas verwirrt schien, in Schlängellinien durch die Straßen tigerte (und wir hinterher) und Jahreszahlen gekonnt ignorierte. Im Anschluss daran waren wir (ohne den Guide) noch bowlen in einem großen Bowlingcenter. Dort waren wir 21.35h zum Bestellen am Tisch und hatten so richtig Hunger, aber die "Küche hat leider schon zu" ... während im Hintergrund noch Burger und Pommes serviert wurden. Nach kurzem Talk zwischen (meinem) Chef und Bowling-Chef bekamen wir dann noch 3 Pizzen und 2x Pommes für uns Fünf. Bei den beiden Bowlingrunden hatten wir viel Spaß. Während alle anderen sich in der 2. Runde steigern konnten, ging es bei mir abwärts auf der Formkurve ... allerdings auf hohem Niveau ;-)
Samstag: Riesensightseeing und Coyote-Bar
Am Samstag war Nürnberg ansehen angesagt. Dabei haben wir folgende Punkte "abgelaufen":
- Stadtmauer und Kaiserburg
- Lochgefängnisse
- St. Johannis-Friedhof
- Hersperidengärten.
- Kirchweihfest in Fürth
Dann waren wir so richtig fertig. Aber wir hatten ja noch was für den Abend vor: die Coyote-Bar in Nürnberg. (Dazu sollte man den Film Coyote Ugly kennen.) Bei Öffnungszeit ab 22.00h waren wir mit 22.15h die Allerersten. Noch nicht mal die Garderobe war besetzt. Wir konnten also an der langen Theke Platz nehmen. Zu 23.15h war die Bar richtig gut voll und um 23.30h ging der erste Tanz auf der brennenden Theke los. Nach etwas Tanz der sowohl männlichen als auch weiblichen Tänzerinnen wurden die ander Bar sitzenden Gäste mit Wodka pur bzw. Xuxu (einem Erdbeer-Limes auf Wodka-Basis) direkt aus der Flasche in den Mund abgefüllt. Und wir waren dabei. Ganz wichtig: zieht nix besonders "wertvolles" an, da Wodka und Xuxu-Flecken unvermeitlich sind und vor allem der Xuxu tierisch klebt. Und versucht irgendwann vor der Action alle Jacken und sonstiges an der dann hoffentlich besetzten Garderobe abzugeben (P.S.: sie suchen auch noch Aushilfen für die Garderobe). Na ja, dann kam es wie es kommen musste. Irgendwann tanzten auch wir mit auf der Theke! Es war super dort und unbedingt empfehlenswert für jeden Nürnberg-Besucher mit Partyambition. Wer jetzt denkt, dies sei eine Schmuddel-/Nacktbar oder so, irrt sich. Die einzigen die hier was ausziehen sind angeheiterte Gäste. Bleibt ist die Bar auch für Junggesell(inn)en-Abschiede. Wir hatten im Laufe des Abend jeweils zwei dort.
Sonntag: Dokumentationszentrum Reichsparteitagsgelände
Am Sonntag früh waren wir zu einer Lesung im DZRPG (ich kürz das mal einfach so ab). Die Lesung war anlässlich des 60. Jahrestages des Urteilsspruches im Prozess gegen die Kriegsverbrecher des NS-Regimes. War wirklich interessant gemacht, aber unsere Aufnahmefähigkeit war noch leicht beschränkt vom Vorabend. Danach waren wir noch einmal zwei Stunden in der Ausstellung selbst. Dazu gab es so was Suppenkellenartiges als Audiogerät zum ans Ohr halten. Dadurch konnte man entweder (fast) alle Tafeln mit Schrift auf der Tonspur hören oder zusätzliche Audiokommentare zu Filmen. Gut gemacht. Danach sind wir noch 2 Studen durch den Park spaziert, in dem das Deutsche Stadion erbaut werden sollte. Das DZRPG selbst sieht von der einen Seite so ein wenig aus wie das Kolosseum in Rom.
Anschließend wollten wir der fränkischen Küche mal fröhnen. Wir waren im Bratwurst-Röslein und der Reiseführer sagte "kein Gericht über 6,66 EUR" und "lecker und typisch fränkisch". Die Gerichte kosteten alle 7,40 EUR (ich vermute eine Art Sonntags-Karte, da am letzten Do. auch noch Preise von 5,55 EUR auf der Karte am Eingang standen). Essen kam schnell und war gut, aber nicht so außergewähnlich wie vielleicht erhofft. Davon abgesehen hatten wir eine derart unauffällig unfreundliche Bedienung: ganz große Katastrophe. Den Abend machten wir etwas gemütlicher im Loft der Nürnberger Jazzmusiker wo wir uns die Band The Mogos (Motown Gosple & Soul) ansahen. War ganz nett, aber das Publikum uns fehlte mind. eins der beiden folgenden Dinge: a) die persönliche Bekanntschaft mit der Band oder b) die "Stammbesucher"-Status dieser Sonntagskonzertreihe. Außerdem waren wir immer noch ziemlich müde. Zurück zu Hause hatten wir Der Wixxer leider verpasst (bald kommt dann Neues vom Wixxer!), uns aber dann noch Kill Bill Vol. 1 angesehen.
Montag: Frühstück, Mittag, Abendessen
Montag begannen wir mit einem Frühstücksbuffet im Alex zusammen mit Jan (einem anderen Mitpraktikanten) und seiner Freundin Anja. Da wir dort bis zum Mittag verharrten entfiel das Mittagessen. Leider haben Montags alle Museen zu, so dass der Besuch im Nürnberger Spielzeugmuseum sehr zur Enttäuschung von Bea entfiel. Dafür bummelten wir bei leichtem Nieselregen noch einmal zur Insel Schütt und über den Markt in der Altstadt. Die Frage des Abendessens (Bea wollte Käsespätzle) war ein langwieriges Kommunkationsproblem. Letztenendes haben wir leckere Brotaufstriche (in rot mit Schafskäse und viel Knoblauch) und noch Tsatsiki mit einem Fladenbrot gekauft und eine lange Suche nach Kassler bzw. Leberkäse verbracht. Ach und vorher haben wir noch viel länger nach einem Geschenk (das "Was" war sogar schon klar, nur das "Wo" war schwieirg!) für mein Großtantchen gesucht und am Ende auch bekommen. Den Abend haben wir mit Fernsehen und Picknick im Zimmer verbracht. Diesmal gab es Mathilda was als leichte Kost am Abend genau das Richtige war.
Dienstag: Bea fährt heim und ich nach Bamberg
Am Dienstag habe ich Bea zur Bahn gebracht und bin dann selbst nach Bamberg gefahren. Dort habe ich bei strömendem Regen mir die Altstadt und vor allem den Bamberger Dom mit dem darin enthaltenen Kaisergrab sowie dem einzigen nördlich der Alpen gelegenen Papstgrab von Clemens II. angesehen. Sonst gab es weniges, da der Regen echt unschön war ...
2006/09/27
Museumssonntag
Die kostenlose Führung beinhaltet implizit, dass natürlich trotzdem der Eintritt zu bezahlen ist, was mit 3,00 EUR ermäßigt aber vertretbar war. Die Führungsgruppe bestand aus sieben Personen (sechs Rentnerehepaare und ich) und wurde von einer Studentin geführt (was es nicht alles als Nebenjob so gibt …). Wir durften jeder eine Karte ziehen und diese sieben Sehenswürdigkeiten haben wir uns dann gezielt angesehen. Das hat auch nur 45 min gedauert (inkl. Wegen zwischen den Ausstellungsstücken und jeweils kurzer Erklärung). Bei diesem Rundgang hat man gesehen, dass es so richtig viel zu sehen gibt und so habe ich mich nach der Führung entschlossen, noch einmal einen individuellen Rundgang vorzunehmen.
Angefangen hat es bei den 1:1 Ausstellungsstücken. Dort war ein Nachbau des Adlers zu sehen, der ersten deutschen Eisenbahn, die ab 1835 zwischen Nürnberg und Fürth fuhr. Direkt daneben ein Modell des ICE 3 und die ersten Wagen des Königs Ludwig II. und Bismarck. Dann fing die große Ausstellung der Geschichte der Eisenbahn an. Begonnen mit der Zeit der ersten Eisenbahnen, wurde es in den "typischen" Epochen der deutschen Geschichte besonders interessant. Die Bahn zur Zeit der Weimarer Republik, des Nationalsozialismus, die Zeit der anschließenden Trennung der Bahn (ach so: und des deutschen Volkes) in der BRD und DDR bis hin zum heutigen Deutschland einschließlich Sonderausstellungen zu aktuellen Bahnbauten (z.B. Berliner Hauptbahnhof, Hochgeschwindigkeitsstrecke Ingolstadt-München). [Alle Historiker, die Fehler in meinen Begrifflichkeiten finden, bitte ich um Hinweise.]
Alleine dafür habe ich bestimmt zwei Stunden benötigt. Dann kam noch der Teil mit den ganzen Modelleisenbahnen in vielen verschiedenen Maßstäben. Das war nicht so mein Ding, da bin ziemlich schnell durch, denn direkt dahinter kam das Spielparadies mit Modelleisenbahnanlagen, wo man selber Züge fahren lassen konnte :-) Außerdem gab es dort auch eine riesige Anlage, die regelmäßig vorgeführt wurde.
Weitere 15 Minuten habe ich vor den vier Monitoren mit zeitgeschichtlichen Aufnahmen zum Mauerfall verbracht. Schon komisch, wie wenig man aktiv davon mit bekommen hat und wie sehr es einen trotzdem berührt …
Im Anschluss daran war ich im Museum für Telekommunikation. Dort gab es alles über die ersten Boten, die Einführung der Post in den Händen der Familie von Thurn und Taxis, über die Erfindungen wie Morsegeräte, Fernsprecher, Telefon, einer riesigen Ausstellung zu Briefmarken und Briefen der Zeitgeschichte bis hin zu einem Internet-Café zum live ausprobieren der State-of-the-art-Kommunikation. Viel Spaß hatte ich auch bei der Rohrpost, die man selbst auf den Weg bringen durfte :-). Bei den Telefonen gab es riesige Verbindunsganlagen mit Telefonen zum selber wählen. Kennt ihr noch die Telefone mit den Wählscheiben, wo man den Finger in das Loch über der jeweiligen Zahl rein steckte und bis zum Anschlag drehte und es dann zurück brummte ? Da sah man dann wie die Schaltungen klickerten und es dann an einem anderen Appart in dem Raum klingelte. Zu den Morsegeräten gab es einen kleinen Computer, an dem man seinen Namen eingeben konnte und dann versuchte die Morsezeichen richtig nachzumachen mit einem richtigen Taster. Für "Alexander" habe ich 10 Minuten gebraucht; allein das "A" hat mich fast 5 Minuten gekostet, bis ich Dauer der Töne und Pausen so hinbekommen habe, dass es der Computer akzeptierte. Dafür bekam ich den Ausdruck mit Namen und dazugehörigem Morsecode als Ausdruck mit. Überhaupt: fast alles in dem Museum ist neben Bildern und Ausstellungsstücken mit zahlreichen Multimedia-Inhalten wie Videos, Tonaufnahmen, Tafeln zum Drehen/Stecken/Wenden u.v.m. ausgestattet, so dass es wirklich Spaß macht aktiv etwas zu tun.
Nach den fast vier Stunden in den beiden Museen habe ich noch einen Feedbackbogen ausgefüllt und bin dann noch drei Stunden auf das Nürnberger Altstadtfest bei strahlendem Sonnenschein gegangen :-) Das war also mein erster und vermutlich einzig freier Sonntag hier in Nürnberg ...
2006/09/26
Küchen-Quelle-Cup 2006
Nach dem verabredeten Treffpunkt am Fr. unternahmen die drei Kollegen ein intensives Vorgespräch, um ihre Erfahrungen bzgl. der noch eher ungewohnten 3-Mann-Schiedsrichter-Technik auszutauschen. Dann ging es auch schon bald los und nach Ende der ersten 40 Minuten stand es … unentschieden. Zustande kam das ganze durch einen spektakulären Wurf von der Mittellinie. Also noch mal 5 Minuten drauf und dann stand es … unentschieden. Erinnerungen an Deutschland - Angola wurden wach und die Schiedsrichter auch wieder :-) Die nächste Verlängerung entschied dann Bamberg für sich und gewann so gegen Bonn. Im zweiten Spiel gewann Nymburg gegen Nürnberg.
Nach der schönsten Nebensache der Welt (der Dusche nach dem Spiel) und der notwendigen Wäsche der Schiedsrichter-Shirts (damit es am nächsten Tag nicht ganz so stinkt; ach so: An dieser Stelle dank an C.F. aus B. für das Verleihen der drei BBL-Schiedsrichter-Shirts), ging es ab ins Hotel und dort unmittelbar an die Hotelbar. Bei einem Bier bzw. Caipi gab es noch den einen oder anderen (wer zählt schon mit) Ramazotti. Irgendwann gab es dann noch etwas Schlaf …
Am nächsten Tag verabredete man sich zu einer Fahrt nach Palm Beach; ist ja nicht so weit weg :-) Genauer gesagt in Nürnberg-Stein, eine Bade- und Saunalanschaft großen Ausmaßes mit Europas größer freitragender Wasserrutsche … doch dazu später mehr.
Also erst einmal in die Heusauna. Schön schwitzen und dann unter den Freiluftwasserfall zum Abkühlen. Herrlich. Nun schön auf die Liege in der Sonne legen. Natürlich hatte man vorher in geschickt akkurater Manier die Liegen mit den (Hotel-) Handtüchern reserviert ;-) Der Folgeplan in loser Reihenfolge und ohne Rücksicht auf leichte Abweichungen bei einzelnen Personen: russische Sauna, Zitronensauna, Eisgrotte (so fieser eiskalter Sprüheisnebelregen), Eukalyptus-Aromanebelhöhle und Hamam-Bad. Und dazwischen jeweils in der Sonne rum liegen :-) Im Anschluss daran wagten sich die beiden jungen Kollegen J. und A. noch auf die bereits erwähnte größte freitragende Wasserrutsche Europas. Den Start machten sie auf der Rutsche mit den Wasserreifen. Das war für den Anfang ganz nett, aber noch ausbaufähig. Also ab auf die Rutsche mit der blauen Röhre (der Name ist leider dem Gedächtnis entfallen): Ankündigung am Start der Rutsche "Achtung ca. 15m fast freier Fall". Ja, geil! Rauf da und Tatsache: Nach nur 2m anrutschen, kam ein solches Gefälle, dass die Badehose (oder bei dem Badehosen-Vergesser J. die Shorts vom Vortag) kurzzeitig die Haftung mit der Rutsche verlor und ein eben fast freier Fall entstand. Super. Die beiden restlichen Rutschen waren lang und nett, aber nach dem Adrenalin-Kick nicht mehr sooooo überragend. Diesen Saunatag hätten die drei Kollegen sicher den ganzen Tag genießen können, jedoch rief ja schon bald wieder die Pflicht für die beiden übrigen Spiele. Also zurück in die Halle. An der Halle angekommen, traf man wieder auf den netten Parkplatzwächter. Die sind ja ebenso wie Hallenwarte: Die heimlichen Könige. H. fragte also nett, ob man wieder hier parken könnte. Bereits am Vortag musste der Parkplatz nahezu erbettelt werden, da ja bereits alles belegt sei. Dieses "fast alles belegt" war auf dem Parkplatz wie in der Halle: sehr übersichtlich und viele Lücken :-( Man durfte dann auf der "238" parken: Dem vorletzten Parkplatz am anderen Ende des Parkplatzes, obwohl fast alles frei war!
Trotzdem dankbar und lächelnd ging man also in die Kabine zurück. Doch Moment: Was war das denn? Neben der vom Vortag gleichen und frisch gefüllten Brötchenplatte war auch der Kühlschrank wieder aufgefüllt. Doch nicht nur mit Cola, Fanta, Wasser … sondern auch: Bier!
Nachdem der Kollege J. all seine Brötchen bereits vor dem Spiel vertilgte (ok, man hatte auch kein Mittag) ging es zurück aufs Spielfeld.
Das Spiel lief gut und, welch Überraschung: Eine Mannschaft konnte gewinnen. Diesmal ging der Sieg schon nach den regulären 40 Minuten an Bonn gegen Nürnberg. Bereits in diesem Spiel mahnte der erfahrenere Kollege H. immer wieder in den Auszeiten die jungen Kollegen "So und noch noch mal xx Minuten volle Konzentration", wobei xx meist die Anzahl der Minuten bis zur nächsten Viertelpause angab. Dies wiederholte sich in allen weiteren Auszeiten :-) Am Ende des letzten Spiels gab es dann sogar eine Auszeit, in der wenig fachlich Relevantes zu besprechen war und daher mahnten die jungen Kollegen den Papa Schlumpf "Jetzt noch dreimal eine Minute volle Konzentration". H. schaute kurz verwirrt und dann zu den im Gegensatz zum Vortag etwas erwachseneren Cheerleadern :-) So viel Zeit muss auch mal sein. Das Finale Bamberg - Nymburg konnte dann Bamberg für sich entscheiden. J. fuhr die beiden Kollegen zum Hotel und dann selber direkt weiter nach Hause, wohingegen H. und A. noch einen kleinen Schlummertrunk an der Hotelbar zu sich nahmen. H. wunderte sich wie wenig 5cl so sein können und der junge A. wich auf ein Glas Milch aus ;-) Nachdem J. per SMS versicherte, gut zu Hause angekommen zu sein, begaben sich die drei in ihre Schlummerkojen. Und wenn sie wieder aufgewacht sind, werden sie auch bald wieder in anderen Hallen Deutschlands zu sehen sein ...
2006/09/19
MapPoint mit VBA nutzen
Die vollständige Berechnung aller Routenentfernungen dauert derzeit ca. 36h; ich bin also für jegliche Vorschläge zur Optimierung dankbar!
Das Ziel: für alle Personenadressen muss jeweils die Entfernung zu jeder Ortsadresse für die schnellste Route gemessen werden.
Zur technischen Realisierung: die Grundlage ist die Datenbasis aller notwendigen Adressen in Excel. Dabei habe ich für jede Adresse Straße,PLZ, Ort und Land in separaten Spalten. Da nicht immer alle Adresse gefunden werden, habe ich also zuerst die Personen- und Ortsadressen alle geprüft. Die nicht gefundenen Adressen lasse ich eine Fehlerliste eintragen, um danach schnell und einfach Zugriff darauf zu haben und die nicht gefundenene Adressen zu korrigieren bzw. eine "passende" Adresse einzutragen. Bei den Ortsangaben hatte ich Glück, bei wenigen Ausnahmen konnte durch Weglassen von Hausnummernteilen (z.B. "8" statt "8c") oder Hinzufügen einer fiktiven Hausnummer ("1") die Adresse immer gefunden werden. Die Adressen ohne Hausnummern sind meist Gebäude, die als einzige in der Straße stehen und daher wohl über keine Hausnummer verfügen oder die Hausnummer nicht bekannt oder interessant ist. Bei den nicht gefundenen Personenadressen habe ich Rücksprache mit den jeweiligen Personen gehalten, um nicht einfach irgendeine Adresse zu nehmen, sondern eine Adresse, die so nah an der echten Wohnadresse ist, dass die Abweichung bei der Entfernungsberechnug vernachlässigbar klein wird. Ganz wichtig: bei den eher ostlastigen Postleitzahlen darauf achten, dass die Zelle als Text formatiert ist, damit eine führende Null auch wirklich angezeigt und in der nachfolgenden Stringbehandlung übernommen wird. Ein Formatieren der Zellen auf 5-stellige Zahlen mit aufzufüllenden Nullen ohne echte "0" am Anfang hilft da nicht weiter!
Zunächste definiere ich die globalen Variablen (nur Auszug dargestellt) und erstelle die notwendige Anwendung .
'Initialisieren aller Variablen für MapPoint
Dim oMpApp As MapPoint.Application
Dim oMap As MapPoint.Map
Dim oRoute As MapPoint.Route
Dim oLocReferee As MapPoint.Location
Dim oLocGym As MapPoint.Location
'Objekte für die MapPoint-Anwendung
Set oMpApp = GetObject(, "MapPoint.Application")
Set oMap = oMpApp.ActiveMap
Set oRoute = oMap.ActiveRoute
Im Anschluss daran gehe ich mittels Schleifen über den Adressbereich. Da die Personenadressen vollständig in einem anderen Tabellenblatt stehen, habe ich auch gleich mal ein paar Funktionen (hier SVERWEIS) genutzt, um anhand eines Primärschlüssels die benötigten Adressen zu nutzen.
'oLocReferee/oLocGym enthält die jeweiligen Adressen, zusammengesetzt aus Zellwerten, die mittels SVERWEIS (=VLOOKUP) abgefragt wurden
RefereeStreet = WorksheetFunction.VLookup(Cells(1, currentColumn), srRange, RefereeStreetColumn, False)
'genauso für RefereeCity, RefereeZip und RefereeState
RefereeAddress = RefereeStreet & ", " & RefereeCity & ", " & RefereeZip & ", " & RefereeState
'und ebenso für die Ortsadressen
GymAddress = GymStreet & ", " & GymCity & ", " & GymZip & ", " & GymState
Die Routenplanung selbst ist recht simpel. Man nehme zwei Adressen, lasse diese finden, füge sie einer Route hinzu und lasse die Route berechnen. Der Teufel liegt wie so oft im Detail …
'Routenpunkte zur Route hinzufügen
Set oLocReferee = oMap.Find(RefereeAddress)
oRoute.Waypoints.Add oLocReferee
Set oLocGym = oMap.Find(GymAddress)
oRoute.Waypoints.Add oLocGym
'Routenplanung für die schnellste Strecke berechnen und als gerundete, doppelte Strecke eintragen
With oRoute.Waypoints
oRoute.Waypoints.Item.SegmentPreferences = geoSegmentQuickest
oRoute.Calculate
Cells(currentRow, currentColumn) = 2 * Round(oRoute.Distance, 0)
oRoute.Clear
End With
Nun noch einige Details auf die zu achten ist:
- Wer statt der Routenberechnung über die Route mit Waypoints versucht ein einfaches DistanceTo auf zwei Adressen aufzurufen, bekommt noch leichter und vor allem weniger rechneintensiver Werte. Diese geben allerdings die reine Luftlinienentfernung an und sind für Routenplanungen wenig hilfreich.
'DistanceTo berechnet reine Luftlinienentfernung ...
Cells(currentRow, currentColumn) = 2 * Round(oLocReferee.DistanceTo(oLocGym), 0) - die Entfernungsangaben in km darstellen lassen war noch relativ leicht
'Entfernungsberechnung in Kilometern, ist eh Standard-Einstellung für MapPoint Europe, aber sicher ist sicher :-)
oMpApp.Units = geoKm - die Berechnung der Route für die schnellste Strecke verbirgt sich in den Segment-Einstellungen
oRoute.Waypoints.Item.SegmentPreferences = geoSegmentQuickest
Anschließend habe ich noch zahlreiche Formatierungen vorgenommen, um die Tabellenblätter etwas zu "hübschen" :-) Auf die Darstellung davon verzichte ich hier mal. Bei Bedarf kann das nachgefragt werden.
Tipp: viele der VBA-Funktionen lassen sich leichter (als mit der Hilfe) entdecken, wenn man einfach ein Makro aufzeichnet, welches die gewünschte Funktionalität einmal macht und dann den Code anschaut. Da läss sich meist leicht und schnell erkennen, was getan wird und wie man as auf seine eigenen Zwecke anpasst.
2006/09/11
Klemens' Junggesellenabschied
Danach ging es in einen Pub an der Friedrichstr., wo eine befreundete Band von Klemens spielte und wir bei einem der Gigs rein schauten. Dort konnte Klemens dann auch wirklich den letzten Artikel loswerden. Im Austausch erklärten wir den beiden italienischen Pärchen noch den Weg zur Simon-Dach-Str.
Tja, und dann gings zur letzten Station des Abend: "einem Tanzlokal der etwas anderen Art". Wer jetzt denkt, "so richtig lange haben die ja nicht gefeiert" irrt gewaltig. Der bisherige Zeitrahmen (Cocktails, Verkaufstour und Pub) spielte sich so ca. zwischen 19-23.30h ab. Den Rest des Abends, der Nacht und des samstäglichen Morgens (so knapp 7h) waren wir eben in dieser Tanzbar. Um keine bösen Überraschungen zu erleben, haben René und ich bereits 2 Wochen vorher eine kleine Erkundungstour durch wenige vorausgewählte Clubs dieser Art gemacht. Über die Details dieses Abend schweige ich mir hier bewusst aus (auch auf Nachfrage wird es keine Details dazu geben!), denn: "What happen's on the road, stay's on the road." Also nicht nachfragen, sondern irgendwann selber erleben :-) Gegen 7h haben wir die Bar verlassen. Es war schon hell und der Taxifahrer übte sich in Geduld beim Zuhören unseres Geschwafels - oder eher Gelalles. Als ich endlich ins Bett fiel, wurde meine Freundin gerade wach :-) Ihr O-Ton etwas später (ich durfte nur 4h schlafen, da wir noch einen Tanzkurs zur Vorbereitung auf die Hochzeit hatten): "Du hast gestunken wie eine ganze Schnappsbrennerei.". Na ja, Kunsstück: Sekt, Whiskey und Wodka mussten ja irgendwo hin und bevorzugt in mich rein ... Aber: ich hatte keine Schädel und neben überraschend wenig Müdikeit auch keinen sonstigen Kummer :-)
Ach übrigens: dieser Tanzkurs nur wenige Stunden später waren die besten 90 Minuten Tanzkurs, ich je hatte. Hoffentlich hält das bis zur Hochzeit nächste Woche an ...
2006/09/06
Fitnessstudio und Wohnlage in Nürnberg
Apropos, vielleicht sollte ich mal schreiben in welcher Gegend von Nürnberg ich hier so wohne: Nürnberg-Gostenhof ist so ein wenig wie Neukölln (noch nicht ganz wie Wedding). Aldi, Plus und Edeka drängeln sich auf engstem Raum und selbst bei Tageslicht sieht man auch mal ein paar Ratten, die sich auf dem Fußweg tummeln (nicht etwa versteckt im Gebüsch oder so). Mein Zimmer ist völlig ausreichend: möbliert mit einem (wenn auch durchgelegenen) Bett, Schreibtisch, einer Schrankwand mit ganz viel Stauraum und so einem IKEA-Wippstuhl (wie heißt der noch gleich?). Bad und Küche teile ich mit meinem Vermieter, der gleichzeitg auch mein Mitbewohner ist. Sonst gibt es dazu nicht viel zu sagen ...