2006/12/20

Ich verkaufe ...

Ich verkaufe einige Dinge bei Ebay. Würde mich über Gebote freuen. Wer also mal reinschauen und vielleicht mitbieten will, loggt sich bei Ebay ein und sucht nach dem Verläufer BBCoyote2005. Nach Weihnachten kommt bestimmt noch so einiges dazu ;-)

2006/12/13

Ein Fehleinkauf?

Heute möchte ich einen lustigen kleinen Tippfehler vorstellen, der sicher schon mal vorkommen kann, aber nichtsdestotrotz und somit veröffentlichungswert lustig ist:

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

Am letzten Mittwoch habe ich zwei der unwichtigsten köperlichen Verluste erlitten, die es wohl gibt: mir wurden die beiden unteren Weisheitszähne gezogen.

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)

So nun will ich als Nachtrag noch eine weitere Lösung zu dem in http://alexkuechler.blogspot.com/xml_in_dotnetzweinull geschilderten Problem geben. Diese Lösung soll diesmal auf dem Document Object Model beruhen.
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:
  1. Dokument laden
  2. Alle Knoten mit einem bestimmten namen ("type") in die Liste laden und
  3. Die Anzahl der Elemente in der Sammlung zählen
Folgende Lösung zu 2.)
// 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:
  1. Auf allen "type"-Elementen iterieren
  2. Die Elemente "memberTye" deren Text "Method" lautet auswählen
  3. Auf der Liste die Elemenete zählen
  4. Namen der übergeordneten Klasse ("type") aus dem Attribut "name" auswählen
  5. Werte auf neue Höchstzahl vergleichen und ggf. als neues Maximum speichern
Also insgesamt auch nicht schwer.
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

Heute mal wieder ein fachlicher Post ...
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:

  1. Erstelle einen XmlReader mit dem dazu zu bearbeitenden Dokument
  2. Setze den Reader auf den Beginn des Inhalts der XML-Datei
  3. Lese die komplette Datei über eine while-Schleife
  4. Wenn das jeweilige Element ein Starttag für das Element "Type" ist, zähle den Counter hoch
Ganz einfach also. Demnächst folgt noch eine alternative Lösung mittels XML-DOM (Document Object Model) ...

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:

  1. Erstelle einen XmlReader mit dem dazu zu bearbeitenden Dokument
  2. Setze den Reader auf den Beginn des Inhalts der XML-Datei
  3. Lese die komplette Datei über eine while-Schleife
  4. Wenn das jeweilige Element ein Starttag für das Element "Type" ist, lies das Attribut Name um zu wissen bei welchem 'Type' man ist
  5. Wenn das aktuelle Element 'MemberType' und der Wert 'Method' ist (ausgelesen durch
    ReadElementString()), zähle den Counter um eins hoch
  6. 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

Meine Herren, wie die Zeit vergeht ...

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

So, nun bin ich also wieder als Werksstudent bei meinem alten Unternehmen beschäftigt. Und wie leider oftmals üblich habe auch ich den ersten Tag mit Warten auf Benutzerkennungen, Kennwörter und Zugangsberechtigungen verbracht. Ok, das Schicksal teilen viele, aber wer hat denn von der IT Hotline schon mal die Antwort bekommen, das die Profileinrichtung im "Normalfall" DREI Tage dauert? Und überhaupt: laut Vertrag ist heute bereits mein dritter Tag, also warum geht es nicht? Na ja, nun habe ich erstmal ein paar Updates gezogen, den IE 7 installiert und erfreue mich nun erstmalig am Tabbrowsing. Vom Hocker haut es mich immer noch nicht, aber vielleicht erkenne ich den Nutzen ja auch noch ...
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!

"Things that money can't buy" oder "Tage, die man nie vergisst" ...
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

Die Uni und der Alltag haben mich wieder. Das ist schade. Aber ich habe meinen Schatz, meine Freundin Bea, ja auch wieder. Und das ist schön :-)

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

So, das war es also: mein Praktikum in Nürnberg ist vorüber. Am letzten Do. habe ich meine Sachen gepackt und habe Nürnberg nach fast 11 Wochen Praktikum bei Siemens verlassen. Es war eine schöne und interessante Zeit. Ich hoffe der Kontakt zu den anderen Praktikanten von SBS INSIDE bleibt erhalten. Der Abschluss in Starnberg und das Wochenende in München waren ein vollkommen gelungener Abschluss.

2006/10/11

Was ist nur mit Basketball-Deutschland los?

Wie die Tage auf der Website des Deutschen Basketball Bundes (DBB) zu lesen war, kam es beim Bundesjugendlager, dem Wettbewerb der Landesverbände, wo die U16 Spieler für die Nationalmannschaft von den Bundestrainern gesichtet werden, zu politischen Querelen. Dies uferte in dem Ausschluss der Mannschaft von Mecklenburg-Vorpommern. Bevor ich Einzelheiten unvollständig wieder gebe (schließlich war ich ja nicht als Augenzeuge dabei, sondern habe auch nur durch den Bericht davon erfahren!), hier ein Auszug aus o.g. Link, der die Situation darstellt:


Ü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

Wusstet Ihr, dass bei Radio Energy Nürnberg (106,9 FM) die Blitzermeldungen von der "Erlanger Samenbank" präsentiert werden?

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

Am letzten Wochenende war ich bei meinem "Tantchen" zu Besuch. Der genaue Ort der Reise sei nicht näher erwähnt. Viel wichtiger ist, dass mich meine Reise nach Burgstädt (und von da eben noch etwas weiter) führte. Die Reiseroute Nürnberg-Burgstädt-Nürnberg ist leicht: man fährt mit dem mir schon gut bekannten ICE in Richtung Berlin bis Leipzig und ab da mit der Regionalbahn weiter. In Leipzig hat man dann jeweils 45 min Zeit den Bahnhof zu entdecken (andere sagen Aufenthaltszeit dazu). Da am Fr. in München/Nürnberg die Warnstreiks noch ziemlich akut waren, hatte ich ja etwas bedenken bzgl. der pünktlichen Abfahrt. Laut Bahnauskunft sollte der Streik gegen 9h enden und bis Mittag (wann "isst" die Bahn denn so Mittag: 11.30h, 12.30h oder erst 14.00h?) sollten alle Verspätungen wieder eingeholt sein. Bei Abfahrt 13.43h in Nürnberg also ganz gute Aussichten. Und siehe da: keine streikbedingte Verspätung :-) Aber, es gab eine technikbedingte Verspätung und damit das 1. Highlight des Wochenendes: der zweiteilige ICE fuhr wegen Kupplungsproblemen tatsächlich in zwei Einzelteilen. Und ich fuhr erst im zweiten Teil. Die Folge 30 min Verspätung (der erste Zugteil hatte nur 20 min Verspätung --> der Zugabstand scheint dann wohl 10 min zu betragen). Die Umsteigezeit von 45 min in Leipzig fest im Blick kamen wir mit 40 min Verspätung in Leipzig an. Also: Füße in die Hand und im flotten Laufschritt durch den Tunnel zum anderen Gleis. Glück gehabt: Anschluss bekommen.

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"?
  1. [4, 3, 2, 1] - [8, 7, 6, 5] Wagenreihenfolge in sich pro Zugteil umgekehrt
  2. [5, 6, 7, 8] - [1, 2, 3, 4] Zugteile in umgekehrter Wagenreihung
  3. [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

Wer Interesse an kurzen (im Gegensatz zu meinen) und wortgewaltigen Blogs hat, sollte sich http://textspeier.blog.de mal ansehen. Viel Spaß beim Vertreiben von öden Minuten ... und Dank an Gregor für den Hinweis.

Langes Wochenende mit Bea

Das letzte lange Wochenende war meine Freundin Bea hier bei mir in Nürnberg zu Besuch.

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

Am letzten So. war ich im Deutsche Bahn Museum und im Museum für Kommunikation, die praktischerweise im gleichen Gebäude untergebracht sind. Eigentlich hatte ich ja geplant, die kostenlose Führung für ca. 45 min mitzumachen und dann direkt zum Altstadtfest zu gehen. Aber erstens kommt es anders und zweitens als man denkt …

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

Die Kollegen H.P. aus M., J.H. aus L. und A.K. aus N. waren als Schiedsrichter beim Küchen- Quelle -Cup 2006 am 22. und 23.09. in Nürnberg im Einsatz.

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

Um die Routenplanung für ca. 170 Personenadressen zu ca. 120 Ortsadressen automatisiert zu nutzen, habe ich Microsoft MapPoint 2004 Europe mit dem Objektmodell genutzt, um für Excel 2003 ein Makro mittels VBA (Visual Basic for Application) zu schreiben, welches die Berechnung vornimmt.
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

Oh Mann ... in all meinen (aus meiner Sicht weniger wilden) Jugendjahren habe ich wohl noch sie lange einen drauf gemacht! Am letzten Fr. wurde der Junggesellenabschied von Klemens gefeiert. Nach dem Vorglühen in einer Cocktailbar (nahe Uhlandstr.), in der ich schon vom zweiten Cocktail echt wanken musste und trotzdem noch einen dritten trank, zogen wir los. Klemens bekam einen kleinen Bauchladen um und musste Kleinigkeiten verkaufen: Kaugummis, Kondome, Lippenpflegestifte, kleine Schnäppschen, Lollies, Schoko-Hautpflege-Gesichtsmaske und so weiter zu 1 bzw. 2 EUR. Fazit vorweg: er wurde, mit etwas Kämpfen und nach äußerst schwachem Start, auch alles los. Dabei muss man aber festhalten, dass die Deutschen Mitbürger im Großteil eher abweisend sind, wenn Sie jemand anspricht und etwas verkaufen will. Wer kann es Ihnen verübeln: bei all den Zeitungsverkäufern und (eher schlecht) musizierenden "Banden" in Berlin's S- und U-Bahnen ... Die ausländischen Touristen waren da viel zugänglicher. Ok, das Gespräch fing auch meist mit einem "Kann ich Ihnen helfen" (in der jeweiligen bzw. meist englischen Sprache) an und nicht mit einem "Ich würde Ihnen gerne etwas verkaufen". So konnten den Touristen geholfen werden, sie erlebten noch dazu drei nette Berliner (ja, wir waren nur zu dritt an diesem Abend: Und das war auch gut so!) und das anschließende Kaufen von einer Kleinigkeit als Dank war ebenfalls angemessen. Mein Tipp an alle, die ähnliches noch vor sich haben: nehmt (so wie wir) die S-Bahnstrecke zwischen Zoo und Friedrichstr. und macht einen Zwischenstopp am Hauptbahnhof. Da findet man genug Leute und vor allem (meist ausländische) junggesellenabschiedsspielenfreundlichgesinntere Käufer.


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

So, gestern habe ich es endlich auch einmal wieder geschafft, hier in Nürnberg ins Fitnessstudio meiner Wahl zu gehen. Nach sehr gemütlicher Arbeit an den Geräten, ging's dann auch wieder zu meinem Freund dem Laufband mit den netten Einstellungen für wechselndes Tempo und mit einer leichten Steigung (ja, da stellt sich das Laufband tatsächlich vorne hoch, bei wenig Öl hört man es dann auch quietschen). Dann noch etwas Fahrradfahren (bei den geplanten 30 min bin ich noch nicht wieder angekommen nach 3 Monaten Unipause) und vor allem Dehnen und Muskelstabilisierung (kennt jemand den Unterschied zwischen "Stabilisierung" und "Stabilisation"?). Dann gemütlich die 20 min nach Hause laufen und unterwegs noch nen Döner zum Abendessen :-)

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 ...

Mein Bowling-Erfolg :-)

Am letzten Wochenende war ich beim Bundesliga-Lehrgang der Basketball-Schiedsrichter (B-Kader = 2. Bundesliga) für die kommende Saison 2006/07. Dieses Jahr waren wir in Karlsruhe in einer netten Sportschule. Die inhaltlichen Details lasse ich mal beiseite und gehe direkt zum social event über: Bowling. Ich war ja nun schon wirklich lange (leider!) nicht mehr bowlen. Um so mehr Spaß hatten wir knap 60 Leute auf den 10(?) Bahnen. Bei 2 Freispielen konnten alle zeigen, was in Ihnen steckt. Und so fand ich mich am Ende bei einem Ergebnis von 321 Punkten (Pins) wieder. Bei 164 und 157 also eine recht konstante Leistung finde ich. Und das bei zwei gut gemixten Caipis, die beim Spielen mal eben so weggeschlürft wurden. Ach ja ... und (ich gestehe) ein kleiner brauner Tequila mit Orange und Zimt. Nicht so gut wie der silberne wie ich finde, aber der Einladung eines SR-Kollegen konnte ich nicht wiederstehen. Am Ende jedenfalls habe ich mit meinen 321 Pins den insgesamt 2. Platz belegt. Den 1. Platz gewann ein Lehrgangsgast (übrigens mit 322 Pins), insofern habe ich ja schon ein wenig das stolze Gefühl der (für dieses Jahr) beste B-Kader-Schiedsrichter-Bowler zu sein :-) Mein Gewinn: eine Magnumflasche Sekt (1,5l Chardonnay), den ich nun meiner Liebsten schenken werde.

2006/08/31

Start ins Blogging

So, na dann wollen wir mal sehen, ob das hier besser aussieht mit dem Bloggen ...