Kategorien
Praxissemester Sonstiges USA

Gepaeck

Nachdem der Stephan auch endlich mal wieder was geschrieben hat, klaue ich mir die Idee. Nachdem ich nicht das Glueck habe bei einer Fluggesellschaft zu arbeiten, darf/muss ich mich mit folgenden Ausmassen begnuegen:

Economy

2 Koffer a 50 lbs/23 kg mit folgenden Dimensionen: 62 inch/158 cm (Laenge + Breite + Hoehe)

Ist schwieriger als es sich anhoert. Stephan darf ja drei Koffer mitnehmen, ich begnuege mich mit zwei. Einer hat so ca. 53lbs und der andere um die 35. Jetzt muss ich heute mal umschichten. Und den Meterstab (ja, tatsaechlich ein Meterstab und kein Zollstock) ausm Geschaeft hab ich auch eingepackt. Weil irgendwie glaube ich, dass mein zweiter Koffer zu gross ist. Der ist neu, also noch nie geflogen. Nunja, mehr als $100 wird es mich schon nicht kosten. Ist ja nur doppelt so viel, wie der Stephan zahlt. Als der Stephan zahlt. Wie der Stephan zahlt. Als der Stephan zahlt. Nunja, im Zweifelsfall kostet mich der Spass doppelt, weil zu gross UND zu schwer. Ich bezweifle das ich nur einmal Gebuehr zahlen muss, falls (ja, falls, nicht wenn 🙂 ) es dazu kommt.

Schatz hab ich keinen der auf mich warten (ein eher seltenes „fishing for compliments“ meinerseits), da muss halt dann das Schnitzel herhalten. Und nein, nicht in diesem Sinne, wie jetzt manche Herren der Schoepfung vielleicht denken.

Dafuer ist die erste Woche daheim gleich wieder 100% verplant.

Freitag: Anreise mit dem Flugzeug. Von Zuerich mit der Bahn nach Karlsruhe. Dort erstmal Mittagessen. Evtl. mitm Stephan, falls (leider wieder ein falls) der seinen Flug zur geplanten Zeit kriegt. Dann werd ich mich wohl erstmal ne Runde ausruhen, denn Abends gehts zum Fussballspiel KSC – Koeln. Spitzenspiel 🙂 Danach werd ich vermutlich einigermassen angeheitert und voellig uebermuedet aufs Sofa fallen (Ich werde ganz nett aufgenommen als Obdachloser in Karlsruhe), ausschlafen und dann gen Heimat reisen. Den Samstag Abend werde ich … vermutlich verschlafen, dafuer darf ich am Sonntag einen guten alten Bekannten wiedersehen, der nach Frankreich und Peru endlich mal wieder in Deutschland ist. Und danach gleich wieder in der Schweiz. Auf jeden Fall Party.

Montags dann Diplomarbeitsgespraech mit meinem Prof. Und vermutlich Schluesseluebergabe zu meiner neuen Wohnung. Gut, eigentlich zu meiner alten, denn ich ziehe wieder ins Wohnheim. Selbes Zimmer, selber Flur, selbe Nachbarn 🙂 Vermutlich. Also vermutlich Schluesseluebergabe. Je nachdem ob ich nen Termin ausmachen kann oder nicht.

Dienstag bis Donnerstag werde ich dann wohl mein Zimmer einraeumen (ist ja komplett leer und braucht so Sachen wie: Netzwerkkabel, Mehrfachsteckdose, Bettwaesche. Basics 🙂 Freitag bis Sonntag bin ich dann ’nen guten Freund in England besuchen. Und Montags fange ich dann mit der Diplomarbeit an. Nein, mit der zweimonatigen Vorbereitungsphase.

Und dann is auch erstmal gut. Pff, was ein Stress.

Kategorien
Praxissemester Sonstiges

Stehpinkler

Ich habe gerade, ungelogen, aufm Klo einen Typ aufgeweckt, der beim Pinkeln am Urinal eingeschlafen ist. Hand aufm Urinal, Kopf an den Arm gelehnt, Koerper an die Trennwand. Fantastisch. Und ich hatte keine Kamera dabei. Und ich dachte ich waere heute muede.

Kategorien
Java PC & Accessoires Praxissemester Studium

Java Collection Interface

Java hat ein paar nette Klassen. Und weil ich mir nie merken kann was jetzt der Unterschied zwischen ‚Set‘ und ‚List‘ ist, hier die Erklaerung. Deutsch/Englisch gemischt, zumindest was die Benennung angeht.

  • Collection — Die Wurzel der Collection-Hierarchie. Eine Collection repraesentiert eine Gruppe von Objekten, auch bekannt als seine Elemente. Das Collection Interface ist die gemeinsame Basis aller Unterklassen und wird benutzt um die Collections untereinander kompatibel zu machen. Ausserdem ermoeglich es einen allgemeinen Zugang zu allen Collections. Manche Untertypen erlauben Duplikate, andere nicht. Manche sind sortiert, andere nicht.
  • Set — Eine Collection die keine doppelten Elemente erhalten kann. Am Besten erklaert ist das an einem Pokerblatt, bei dem keine Karte doppelt vorkommt. Ausser jemand schwindelt und betruegt, aber das gehoert hier nicht hin.
  • List — eine sortierte Collection (manchmal Sequenz genannt). Listen koennen Duplikate enthalten. Im Prinzip also eine Menge von Football-Star-Sammelkarten, von denen man auch welche doppelt haben kann. Wer Vector kennt, dem kommt das bekannt vor.
  • Queue — eine Collection die mehrere Elemente beinhalten kann. Uebersetzt ist das eine Warteschlange, was auch die Funktion erklaert. Meistens wird FIFO benutzt (aber nicht zwingenderweise), d.h. das was als erstes reinkommt, kommt auch als erstes wieder raus. Warteschlange am Metzger halt.
  • Map — ein Objekt das eine Schluessel-Wert-Beziehung repraesentiert. Hier sind wieder keine doppelten Eintraege erlaubt. Vergleichbar mit Schluessel-Schloss, jeder Schluessel passt nur in ein Schloss. Gut, mein VW-Schluessel passt auch in den Polo eines bekannten, aber wir sprechen hier nicht von Autos 🙂

Quelle: http://java.sun.com/docs/books/tutorial/collections/interfaces/index.html

UPDATE: Noch eine Entscheidungshilfe als Bild:

Java Collections Entscheidungshilfe
Java Collections Entscheidungshilfe
Kategorien
Praxissemester

Java Applets und java.util.logging

So, heute habe ich mich mit der internen Logging-Bibliothek von Java rumgeaergert. Aber fangen wir mal von vorne an. In meinem Praxissemester programmiere ich gerade ein paar Perfomancemessungen in ein Applet ein. Prinzipiell ein simpler Arbeitsgang, aber ich wollte jetzt halt gleich alles ’schoen‘ machen. Nachdem mich ein Freund darauf hingewiesen hat das System.out.println() doch nicht das Wahre ist („fooo, lame, nutz nen Loggingframework. FTW!!!!11einself“), habe ich mich jetzt fuer java.util.logging entschieden. Kann genau das was ich will. Gut, also angefangen:

package foo;
import java.util.logging.*;
public class PerformanceDebug {
	private static Logger logger = Logger.getLogger("foo.PerformanceDebug");
	public PerformanceDebug() {
		Handler handler = new ConsoleHandler();
		handler.setLevel(Level.FINE);
		logger.addHandler(handler);
		logger.setLevel(Level.ALL);
		foobar();
	}
	public void foobar() {
		logger.info("Hello World");
	}
}

Gut. Oder auch nicht, hat naemlich nicht funktioniert. Hat irgendwelche PermissionExceptions geschmissen. Bissle Recherche: Applets laufen in einem beschraenktem Modus, d.h. sie duerfen z.B. nicht irgendwohin schreiben, z.B. mit dem ConsoleHandler. Aber gut, weitere Recherche ergab, dass ich den ConsoleHandler auch weglassen kann, dann schreibt er einfach nach STDOUT, d.h. in die Java Console. Gut.

package foo;
import java.util.logging.*;
public class PerformanceDebug {
	private static Logger logger = Logger.getLogger("foo.PerformanceDebug");
	public PerformanceDebug() {
		logger.setLevel(Level.ALL);
		foobar();
	}
	public void foobar() {
		logger.info("Hello World");
	}
}

Jop, hat erstmal nix gebracht, immer noch Fehlermeldungen (kompilieren tut das uebrigens alles prima). Der ConsoleHandler war gar nicht das einzige Problem, im Applet funktioniert auch Logger.getLogger(„package.class“) nicht. Aber dafuer gibts dann ja Logger.getAnonymousLogger().

package foo;
import java.util.logging.*;
public class PerformanceDebug {
	private static Logger logger = Logger.getAnonymousLogger();
	public PerformanceDebug() {
		logger.setLevel(Level.ALL);
		foobar();
	}
	public void foobar() {
		logger.info("Hello World");
	}
}

Wieder einen Schritt weiter und immer noch nicht am Ziel. Jetzt laeuft es zwar im Applet, aber die Ausgabe ist haesslich (im Sinne von: Ich mag sie nicht :)). Aber dafuer gibts ja java.util.logging.Formatter, damit kann man eigene Formate schreiben. Also flugs eine Subklasse verfasst:

package foo;
import java.util.logging.*;
public class PerformanceDebug {
	private static Logger logger = Logger.getAnonymousLogger();
	public PerformanceDebug() {
		logger.setLevel(Level.ALL);
		foobar();
	}
	public void foobar() {
		logger.info("Hello World");
	}

	public class FooFormatter extends Formatter {

		public String format(LogRecord record) {
			return "Foo:"
				+ record.getMessage()
				+ "\n";
		}
	}
}

Das klappt in jeder Standalone-Applikation und im Applet Viewer, aber im Applet selber gehts wieder nicht. Ein Spass mit den Sicherheitsbeschraenkungen von Applets, da wird das Laden des Formatters einfach unterbunden und eine Exception geschmissen. Also kann ich nicht das machen was ich will. Und Sun hat sich wohl gedacht das man in Applets keine eigenen Formatter braucht. Applets sind eh tot. Genau. Naja, so bringt man auch nen Tag rum, mit wilden Rumprobieren, googlen und fluchen. In diesem Sinne. Feierabend fuer heute.

Kategorien
USA

Dresscode

Nun, seit gestern gibts auch bei mir in der Firma einen „dresscode“, sprich eine Kleiderordnung. Bisher konnte ich ins Geschäft kommen wie ich wollte, solange alle wichtigen Dinge mit Kleidung bedeckt sind 🙂

Kategorien
PHP Praxissemester Sonstiges

__FUNCTION__ in Java

Unter PHP gibt es sogenannte Magische Konstanten. Die sind prima, wenn man z.B. eine Debugfunktion schreiben will, die an bestimmten Stellen sagt wo sie aufgerufen wurde. In Java sieht das dann so aus:

class Debug
{
  public static void print(String msg)
  {
    java.lang.Exception e = new java.lang.Exception();
    StackTraceElement ste[] = e.getStackTrace();
    System.out.println(
        new Date().getTime() + " " +
        ste[1].getClassName() + " " +
        ste[1].getMethodName() + " " +
        msg);
  }
}

Wird aufgerufen mit:

import mein.tolles.package.Debug;
Debug.print("lalala");

Was hiermit nicht geht ist: getFileName() und getLineNumber(), da diese Information nicht zur Verfuegung steht.

Kategorien
Arbeit Praxissemester USA

UPDATE: www.bahn.de

Ueber die Bahn wird viel geschimpft. Ich hatte bisher eigentlich keinen Grund mich zu beschweren und ich bin relativ haeufig gefahren. Zwar immer nur Mittelstrecken (ca 100km) aber das hat immer geklappt. Naja gut, einmal gab es einen Brand auf der Strecke und wir mussten anhalten, aber sowas kommt vor. Und das war einmal in 4 Jahren, das kann ich verschmerzen, auch wenn ich dann 3h Verspaetung hatte 🙂

Kategorien
Sonstiges USA

USA und die Mitarbeiter

Heute wurde ich definitiv verbluefft. Meine Arbeitskarriere ist noch recht jung und vielleicht ist sowas normal, aber ich weiss ja nicht, ich finds eher symptomatisch fuer Amerika.

Kategorien
PC & Accessoires Praxissemester

Ant, ein make in Java

Ich bin im Geschaeft jetzt mal auf ‚Ant‚ gestossen. Ant ist im Prinzip nichts weiteres als niedergeschriebene Anweisungen wie und in welcher Reihenfolge bestimmte Java-Dateien genutzt werden sollen um daraus ein Programm zu schnueren.

Kategorien
Sonstiges Spass USA

Besuch Eltern (Chicago)

Chicago. Drittgroesste Stadt in den USA (Nur Los Angeles und New York sind groesser) und international auf dem 25. Platz. Ich mag Chicago, ich war da jetzt insgesamt schon dreimal, was ich beachtlich finde. Chicago hat einfach mal 10x soviele Einwohner wie Indianapolis (ok, natuerlich ist das ein unfairer Vergleich, da ja zu Chicago noch jede Menge Randgebiete zaehlen), aber trotz allem macht sich das deutlich bemerkbar. Chicago an sich ist schon unglaublich, weil die Stadt ‚erst‘ 1833 gegruendet wurde (naja, gegruendet wurde sie irgendwann 1770, aber als Stadt anerkannt wurde sie dann 1833). 1871 gabs dann ein grosses Feuer, bei dem eigentlich nur zwei Gebaeude ueberlebt haben. Der Wasserturm und das Haus eines Polizisten. Historisch gesehen haben noch vier weitere Gebaeude ueberlebt, die waren aber halt groesstenteils zerstoert, wenn auch deutlich weniger als der Rest der Stadt. Das Haus des Polizisten hat deshalb ueberlebt, weil er den Brand in seinem Gebaeude mit dem Cidre geloescht hat, den er im Keller gelagert hatte. Endlich ist Alkohol mal zu was Nuetze 🙂

Samstags morgens in Chicago angekommen, etwas regnerisch, erstmal das Touristenbuero gestuermt und mit Material ausgestattet. Dann die Michigan Avenue runtergelaufen (Ist die Haupteinkaufsstrasse in Chicago, wird die ‚Magnificent Mile‘ genannt) um eine Riverboat Tour zu machen. Die hat dann 4h gedauert und wir haben eine architektonische Tour durch Chicago gekriegt. Das jetzt hier alles zusammenzufassen dauert mir zu lange, also darf man das in der Wikipedia nachlesen. In Chicago steht unter Anderem auch das groesste Gebaeude in den Vereinigten Staaten und international auf Platz 5 ist der Sears Tower.

Nach der Bootsfahrt sind wir dann ins Hotel (das Congress Plaza) und hatten einen schoenen Ausblick auf den Buckingham Fountain. Bekannt aus der Serie Al Bundy (Maried with Children, bzw. Eine schrecklich nette Familie), dort ist der Brunnen immer im Vorspann zu sehen. Danach sind wir dann durch den Millenium Park Richtung Navy Pier gelaufen und haben uns dort dann das sommerliche Feuerwerk angeschaut (das hat um 22:15 angefangen) danach waren wir dann relativ platt und sind ins Hotel zurueck. Gegessen hatten wir vor dem Feuerwerk in einem netten Restaurant an der Columbus Avenue, ich weiss allerdings den Namen nicht mehr. Am Sonntag morgen sind wir dann eigentlich nur noch die Michigan Avenue hoch und runter gelaufen und haben uns ein paar Geschaefte angeschaut. Da die Rueckfart wieder 4h dauerte, sind wir dann so um 14:00 losgefahren, durften noch eine Umleitung fahren, weil die Interstate gesperrt war und sind dann um 18:30 wieder in Indianapolis gewesen, danach hab ich dann noch nen Hotel fuer meine Eltern gesucht und wir sind Essen gegangen (Bob Evans ist das Restaurant gewesen).

Damit war die Woche dann auch schon rum, da ich am Montag drauf ja schon wieder arbeiten darf. Meine Eltern sind am Montag nochmals nach Indianapolis rein und haben sich den White River State Park angeschaut. Bilder dazu gibts hier. Zur Zeit sind sie in Louisville (liegt an der Grenze von Indiana und Kentucky) und geniessen dort drei Tage lang die Umgebung. Am Donnerstag Abend gehen wir dann noch gemeinsam Essen, den Freitag werden Sie in den Outlets in Edinburgh verbringen um danach an die ‚Seenplatte‘ bei Bloomington zu besuchen. Der Freitag Abend ist dann der letzte Abend und am Samstag frueh um 10 Uhr geht dann der Flieger gen Heimat. Und schon sind zwei Wochen rum.