Jahr 2009
Das Jahr ist rum, jeder macht seine Jahresrückblick und da bin ich auch einfach mal dabei. Ist tatsächlich relativ viel passiert.
Januar
Der war jetzt nicht besonders spektakulär, da ich ja noch an meiner Diplomarbeit geschrieben habe. Das Einzige erwähnenswerte wäre da jetzt das Assessment-Center das ich mitgemacht habe. War eine kostenlose Veranstaltung eines unabhängigen Finanzdienstleister und ich als Schwabe lass mir sowas nicht entgehen
Februar & März
Noch weniger los als im Januar. Schaffe, Schaffe und bissle an der Diplomarbeit arbeiten. Und abgeben. Leider hatte damals die Weiterbeschäftigung bei meiner Diplomarbeitsfirma nicht geklappt. Macht aber auch nicht allzuviel
Ausserdem hatte ich noch mein Projektmanagement-Seminar, d.h. den ersten von drei Blöcken. Dazu hab ich gar nichts geschrieben, wie mir jetzt auffällt. Naja, brauch ich jetzt auch nicht mehr anfangen.
Auf die Cebit hab ich mich auch begeben. Allerdings war die nicht besonders spannend. Leider in der vollen Wirtschaftskrise, in der ich den Firmen meist nur ein Praktikum aus den Rippen leiern hätt können. Oder halt zu einer der großen Ingenieurdienstleistungsfirmen. Naja, zumindest damals konnt ich mir das gar nicht vorstellen.
April & Mai
LANGWEILIG. Klassische Bewerbungsphase, ein paar Späße mit dem Arbeitsamt. Aushilfe bei meiner Diplomarbeitsfirma. Blablabla. Es war Jurten-WG ein paar kleinere Privatparties und natürlich mein erster Arbeitstag bei meinem inzwischen ehemaligen Arbeitgeber.
Naja, wenn man mein Archiv mal durchforstet, findet man noch die Bacon Explosion. Ein Festmahl
Juni
Auch hier nix besonderes. Warum hab ich am Anfang des Posts eigentlich erzählt das ne Menge passiert ist? Nunja, ich hab meine Wohnung bezogen, mein Cousin hat geheiratet und mein Internet wurde geschaltet. Mikrige 2Mbit. Aber besser als Modem ist es allemal
Juli
David in England besuchen. Standesamt von De und Josi und später im Monat dann noch die kirchliche Trauung. Dazwischen dann noch der Junggesellenabschied. Feuchtfröhlich, alles drei zusammen
August
Sommerlager. Pfadfinder. Zelten. Lagerfeuer. Leider durfte ich nur ein Wochenende daran teilnehmen, aber das war echt gut. Die guten alten Zeiten.
Nachdem ich die ersten Einrichtungsgegenstände nach Karlsruhe transportiert habe, musste die Einweihungsparty natürlich stattfinden. Teilnehmer waren international. Badener, Schwaben, Engländer und Bayern
September
Auf diesen Monat hab ich mich eigentlich am Meisten gefreut. Ich durfte nämlich nach Hamburg und eine Bekanntschaft vertiefen. Details gibts keine, aber Bilder hier, hier und hier. Ausserdem hab ich den Arbeitgeber gewechselt und arbeite jetzt bei einem großen Telekommunikationsunternehmen. Unbefristet
Oktober
Diplomabschlussfeier. Relativ fad, viele Reden, blabla, wie toll wir doch alle sind und ein mittelmässiges Essen. Nunja, dafür die offizielle Verabschiedung vom Studentenstatus. Und danach noch ein paar leckere Cocktails
Ben Hur war auch. Wagenrennen innerhalb der Halle in Stuttgart. Ich dachte ich hätte was darüber geschrieben, ich finds aber nicht mehr :/
November
Auch hier gibt es jetzt nur ein paar Sachen die hängengeblieben sind. Einmal war die die W-JAX. Ich hab da zufälligerweise die Eintrittskarte gewonnen und durfte dann drei Tage lang an einer “professionellen Konferenz” teilnehmen. War schon sehr spannend.
Mein Bruder hat für Familienzuwachs gesorgt, somit bin ich jetzt Onkel einer Nichte
Jennifer Rostock. Ich mag die Band. Defintiv hoffe ich das die noch ein paar mehr Alben rausbringt. Inzwischen hab ich ja auch Singstar und ein Lied von denen auf der PS3. Jippie
Dezember
Ui. Viele Parties, jede Menge Singstar, einmal Speeddating, ne Menge eisdiele und den Zoo so oft gesehen wie das ganze Jahr über nicht. Eigentlich wollte ich auch noch Avatar anschauen, allerdings hatte ich echt keine Zeit bisher
Ausblick
Was soll nächstes Jahr passieren? Ich weiß es nicht. Ich hoffe meine Probezeit läuft weiterhin so gut und ich werde nicht spontan rausgeworfen. Ich hoffe das sich was für mich in der holden Frauenwelt ergibt. Ich hoffe ich komme dazu mir mal Flensburg, Graz, Wien und nochmals London anzuschaun. Ausserrdem steht noch Lausanne auf dem Plan. Im Sommer gibt es defintiv zwei Wochen Sommerlager und eine Woche wandern in Schottland oder Irland.
Der Blog wird weiterexistieren, ich werde hoffentlich wieder mehr schreiben (der Dezember hatte nur drei Einträge, Schande, Schande) und Schweine werden fliegen
Windows 7 und meine Seminararbeit
Damals™, als ich noch Student war, durfte ich mich mit dem Thema "Wie groß ist Windows" im Rahmen einer Seminarbeit beschäftigen. Damals ging es nicht wirklich um die Inhalte, sondern eher um das Präsentieren. Nunja, inzwischen nimmt Windows 7 konkrete Formen an und ich vergleiche mal meine Prognose mit der Wirklichkeit.
Auf Seite 27 meiner Präsentation habe ich behauptet die Systemanforderungen wären:
- Jahr 2010
- 1,8 Ghz CPU
- 1,6 GB Hauptspeicher
- 45 GB HDD
Microsoft behauptet jetzt:
- 1 GHz or faster 32-bit (x86) or 64-bit (x64) processor
- 1 GB RAM (32-bit) / 2 GB RAM (64-bit)
- 16 GB available disk space (32-bit) / 20 GB (64-bit)
- DirectX 9 graphics processor with WDDM 1.0 or higher driver
Naja. Zumindest beim Speicher lag ich einigermassen richtig. Ich bin aber auch sehr froh das es nicht so gekommen ist, wie ich prognostiziert habe. Deshalb schließe ich mit dem Zitat:
„Prognosen sind schwierig, besonders wenn sie die Zukunft betreffen.“
zugeschrieben Karl Valentin, Mark Twain, Winston Churchill u.a.
Openoffice Calc-Chart als SVG
Stephan hat mich auf ein viel schnelleres Verfahren hingewiesen. Update am Ende des Artikels
Da Speichern eines Diagramms als SVG sollte keinen so grossen Aufwand machen. Hinzu kommt noch, das ich Inkscape nicht wirklich bedienen kann, deswegen macht gerade der Schritt keinen Spass. Für Ergänzungen bin ich SEHR dankbar:
Zuerst erstellen wir ein Diagramm mit Calc. Dieses wird dann einmal mit der linken Maustaste ausgewählt und dann mit STRG+C in die Zwischenablage kopiert. Danach öffnen wir Openoffice Draw und drücken einfach mal STRG+V um das Diagramm aus der Zwischenablage in Draw einzufügen.
Danach müssen wir das ganze noch Umwandeln in ein Metafile und noch die Konturen übernehmen. Das sieht man auf den nächsten zwei Bildern.

Dies ist jetzt schon intern eine Vektorgraphic, jetzt muss das ganze nur noch als SVG exportiert werden. Hier bietet Openoffice Draw zwar einen Haken "Selektion", aber dieser hat bei mir irgendwie keine Wirkung, bei mir bleibt das ganze DINA4.
Die exportierte SVG-Datei können wir dann mit Inkscape öffnen. Hier kommt mein Unwissen zum Tragen, ein "Crop to Selection" scheint mir nicht einfach möglich. Hier die "ugly"-Anleitung:
- STRG+A um alles zu markieren.
- Oben in der Symbolleiste von Inkscape gibt es dann ein B und H für Breite und Höhe der Selektion. Diese Werte merken wir uns.
- Mittels STRG+SHIFT+D die Dokumenteinstellungen geöffnet werden.
- Hier die gemerkten Werte aus 2. in den "Benutzerdefiniert"-Kasten in der Karteikarte "Seite" eintragen. Dabei wir die Selektion irgendwie automatisch angepasst in den Proportionen.
- Wieder zurück im SVG-Dokument, gibt es oben neben den B und H-Werten noch die Werte X und Y. Diese beide auf 0 setzen. Danach in die inzwischen anderen Werte bei B und H wieder die Werte von 2. eintragen
Jetzt haben wir ein manuelles "Crop to Selection". Lästig. Dies kann man jetzt wieder als SVG speichern. Ich brauch noch "Kopie speichern unter" und dann "PDF über Cairo", damit ich das mittels Latex auch benutzen kann.
UPDATE:
Anstatt sich zu zwingen den Weg über Inkskape zu gehen, kann man auch einfach von Calc nach Draw und dort die Seite an das Diagramm anpassen. Danach einfach ein PDF-Export mit "Verlustfreier Kompression" und man spart sich den langen Weg.
Tastenkürzel beim TeXnicCenter
Ich nutze gerade das TexNicCenter zum Schreiben meiner Diplomarbeit. Nachdem ich bereits "texify" benutze, hab ich jetzt endlich entdeckt, wie ich bekannte Tastenkürzel aus Officeprogrammen auch hier verwenden kann. Unter dem Menüpunkt Extras > Anpassen findet sich folgender Dialog:
Dort einfach die Kategorie Format wählen, dann noch den Befehl FormatZeichenFett und in das Feld Neue Tastenkombination einfach reinklicken und dann z.B. STRG+B drücken. Dann noch auf Zuweisen, Schließen, Fertig.
Weihnachten, Silvester und “Urlaub”
Die Feiertage sind rum, morgen gehts wieder ins Ausland nach Karlsruhe. Die letzten 1,5 Wochen waren sehr ausgiebig und gut, fast jeden Tag hab ich was mit eisdiele gemacht, viel gefeiert, viel getrunken, gelacht, gelabert, gut gegessen und ne Menge Spass gehabt. Jetzt muss ich mir noch bissle Gedanken über meine Diplomarbeit machen, ist noch bissle Papier bis Mittwoch zu produzieren.
Juppheida, 2009, ich komme.
Javascript: getter und setter
Nix spektakuläres, bin ich gerade rübergestolpert. Nachdem ich mich ja schon über Sichtbarkeit ausgelassen habe, kommt jetzt der Trick wie man getter und setter definiert.
Bisher hab ich das immer so gemacht:
function Field(val){
/** @private */
var value = val;
/** @public*/
this.getValue = function(){
return value;
};
/** @public*/
this.setValue = function(val){
value = val;
};
}
Ist auch wunderbar, allerdings bissle lästig das immer zu schreiben. Deshalb hier das ganze im "Mozilla Style":
function Field(val){
var value = val;
this.__defineGetter__("value", function(){
return value;
});
this.__defineSetter__("value", function(val){
value = val;
});
}
Potthässlich in der Tat, aber macht genau dasselbe wie der Code drüber. Wenn man jetzt ignoriert das "value" umbedingt private sein muss, dann sieht das sogar "schön" aus:
function Field(val){
this.value = val;
}
Field.prototype = {
get value(){
return this._value;
},
set value(val){
this._value = val;
}
};
Bringt mir jetzt nicht so besonders viel, aber vielleicht brauchts ja jemand anders.
Links:
Unix vs. Dos
Jaja, UNIX ("\n") und DOS ("\r\n") Zeilenenden ... FALSCH:
./funD.reinstallExtension.sh : No such file or directoryh: line 3: cd: /cygdrive/c/Dokumente und Einstellungen/matthiasc/Eigene Dateien/Diplomarbeit/ ./funD.reinstallExtension.sh: line 4: $'\r': command not found : No such file or directorysion.sh : No such file or directory.sh : No such file or directorynsion ./funD.reinstallExtension.sh: line 8: $'\r': command not found : No such file or directoryh: line 9: cd: /cygdrive/c/Dokumente und Einstellungen/matthiasc/Eigene Dateien/Diplomarbeit
RICHTIG:
11:20:34 matthiasc@fungdenhut /cygdrive/c/Dokumente und Einstellungen/matthiasc/Eigene Dateien/Diplomarbeit $ ./funD.reinstallExtension.sh 11:20:36 matthiasc@fungdenhut /cygdrive/c/Dokumente und Einstellungen/matthiasc/Eigene Dateien/Diplomarbeit $
jQuery, Tooltip, show() und hide()
Nunja, endlich hab ich das Problem gelöst das ich hatte. Schön wenn man auf Banalitäten hingewiesen werden muss ...
var _PendingHideLink;
var _PendingHideDiv;
$("#someDivId").hover(function() {
if (_PendingHideLink) {
clearTimeout(_PendingHideLink);
}
if (_PendingHideDiv) {
clearTimeout(_PendingHideDiv);
}
}, function() {
_PendingHideDiv = setTimeout(function() {
$("#someDivId").hide();
}, 2000);
});
$(".someLinks").hover(function(e) {
$("#someDivId").show();
}, function() {
_PendingHideLink = setTimeout(function() {
$("#someDivId").hide();
}, 5000);
});
Das macht: Beim positionieren des Mauszeigers übern einen Link ("mouseover") mit der Klasse "someLinks" wird das div mit der Id "someDivId" eingeblendet und nach 5 Sekunden wieder ausgeblendet. AUSSER man geht auf das eingeblendete div, dann bleibts offen, solange bis man das div wieder verlässt ("mouseout"). Dazu sollte man noch wissen das jQuery "hover" als Kombination versteht ($().hover == ($().mouseover; $().mouseout;)). Nunja, UND man sollte wissen das setTimeout eine Id zurückliefert die man mit "clearTimeout" wiederverwenden kann
MochiTest-Lite
Just a reminder to myself, because I want to try that extension:
Mochitest is a unit testing framework created by contributors to Mozilla projects. Mochitest is based on MochiKit , the incredibly useful Javascript library. MochiKit as the basis for writing unit tests has been proven very useful to developing Mozilla applications because of the thick layers of Javscript code in applications like Firefox.
What then, is Mochitest-Lite?
Mochitest, as it is used at Mozilla, requires Python to drive the command line interface, and automate the testing. Python is a very powerful tool for this purpose because, along with automation, it can overwrite and then rewrite configuration files like manifests and preferences, all while having a minimal impact on the application being tested. Mochitest also uses a client-server architecture to serve test documents to the application being tested. On top of that, an application needs to be built with the Mozilla build system to work with Mochitest.This makes sense for large applications like Firefox, but what about a unit testing framework for developers of small XULrunner applications and extensions for existing Mozilla applications? These developers have different requirements. Mochitest-Lite is a way to get the same test writing tools and automation without the overhead of running Mochitest the same way it is used to test Mozilla code.


