Kategorien
USA

sipgate

Mein Bruder hat mich auf sipgate hingewiesen. Sipgate bietet die Möglichkeit für umsonst (bzw. als prepaid-Angebot) eine Festnetznummer auf Basis von VoIP zu erhalten. Dies ist vor allem in Anbetracht der Tatsache das ich für fünf Monate in die USA gehe besonders interessant, da mich dann jeder unter meiner „deutschen Festnetznummer“ anrufen könnte, obwohl ich mich in Amerika befinde. Nur hat die Sache einen Haken, nämlich innerhalb die AGB: In §12 Schlussbestimmungen steht nämlich unter Punkt drei:

12.3. Die Nutzung von sipgate auf dem Hoheitsgebiet oder durch Bürger der Vereinigten Staaten von Amerika (USA) ist ausgeschlossen.

Wie ärgerlich ist das denn?! Jetzt werde ich höchstwahrscheinlich auf SkypeOut/SkypeIn ausweichen, in Ermangelung eines besseren Angebots

Kategorien
Sonstiges

Gotts Blog

Obwohl ich die Beiträge auf http://gottsblog.de/blog immer sehr gemocht habe, werde ich die Seite aus meiner Linksammlung entfernen. Irgendwie ist die Seite nämlich weg.

Kategorien
Wordpress

WordPress 2.5-RC2

Weil ich es nicht abwarten konnte, hab ich den Release Candidate der 2.5er Version installiert. Wunderprächtig, mir gefällt das neue „gallery“-Plugin das gleich mitgeliefert wird.

Kategorien
PC & Accessoires

Blue-Ray

Nachdem ja unlängst der Kampf zwischen HD-DVD und Blue-Ray sich entschieden hat, werfen die Hersteller endlich ein paar Produkte auf den Markt. Gerade bin ich über dieses Schmankerl gestolpert

PX-B920SA auf plextor.be

Liest so ziemlich alles (CD, DVD, HD-DVD und Blue-Ray) und kann sogar Blue-Ray schreiben. Kostet allerdings (noch) 320 Euro.

UPDATE: Halbes Jahr später (7.11.2008) kostet es schon nur noch ca. 220 €.

Geschwindigkeit von Webseiten

In Zeiten von AJAX sind Webseiten schon fühlbar schneller geworden. Allerdings wird dieser Nutzen meist wieder vergeben, indem Unsummen an Skripten geladen werden oder zuviele unnötige HTTPRequests oder überflüssiger JavaScript-Code. Dies alles kann man mit

YSlow

von Yahoo testen. Dies erweitert die Erweiterung Firebug um ein paar nützliche Funktionen. Natürlich braucht man dafür den Firefox.

Kategorien
Sonstiges Spass

Kurzurlaub am Bodensee

Freitag und Samstag war ich spontan am Bodensee und hab mit Überlingen und Konstanz angeschaut. Da am Freitag das Wetter recht kalt, nass, schneeig und unangenehm war, gibts da kaum Bilder, dafür aber am Samstag ein paar mehr. Der Bodensee ist eine Reise wert 😉

Bilder gibts weiter unten.

Hier, dein Schild!

Weil ich mich heute mal wieder daran erinnert habe:

Doofe Leute sollten Schilder tragen müssen, auf denen "ich bin doof"
steht. Auf diese Weise würde man sich nicht auf sie verlassen, oder?
Du würdest sie nix fragen. Es wäre wie "Tschuldigung, ich... äh,
vergiss es. Hab das Schild nicht gesehen."

Das ist wie bevor ich mit meiner Frau mitten im Umzug war. Unser Haus
war voll mit Kartons, und der Umzugslaster stand in der Einfahrt. Mein
Nachbar kommt rüber und fragt "Hey, du ziehst um?" - "Nö. Wir packen
nur ein oder zweimal die Woche unsere Klamotten ein, um zu sehen, wie
viele Kartons wir brauchen. Hier ist dein Schild."

Vor ein paar Monaten war ich mit nem Freund angeln. Wir zogen sein
Boot an Land, ich hob meinen Fang aus dem Boot. Da kommt dieser Idiot
von der Anlegestelle und fragt "Hey, hast du all die Fische gefangen?"
- "Nö. Ich hab sie überredet aufzugeben. Hier ist Dein Schild."

Ich hab eine dieser Tier-Dokus im Fernsehen gesehen. Da war ein Typ,
der nen Haifisch-Biss-sicheren Anzug erfunden hat. Und es gibt nur
einen Weg, sowas zu testen. "OK, Jimmy, du hast den Anzug an, sieht
gut aus...sie wollen, dass du in dieses Becken mit Haifischen
springst, und du erzählst uns hinterher, ob es weh tut, wenn sie dich
beißen." - "OK, aber halte mein Schild fest! Ich will's nicht
verlieren."

Als ich das letzte Mal nen Plattfuß hatte, fuhr ich zu ner Tankstelle.
Der Wärter kommt raus, wirft nen Blick auf meine Karre und fragt
"Reifen platt?" Ich konnte nicht widerstehen. Ich sagte "Nö. Ich fuhr
so rum, als die anderen drei sich plötzlich aufpumpten. Hier ist dein
Schild."

Wir versuchten letztes Jahr, unser Auto zu verkaufen. Ein Typ kam
rüber zum Haus und fuhr die Karre ne dreiviertel Stunde. Wir kommen
zurück zu Haus, er steigt aus, bückt sich, greift an den Auspuff und
sagt "scheiße, ist das heiß!" Siehst du? Hätte er sein Schild
getragen, hätte ich ihn abhalten können.

Ich hab gelernt, nen Sattelschlepper zu fahren. Ich verschätzte mich
bei der Höhe einer Brücke, verkeilte den LKW und konnte ihn nicht
wieder los kriegen, egal was ich auch versuchte. Über Funk hab ich
Hilfe angefordert. Dann kam ein Polizist und fing an, einen Bericht zu
schreiben. Er stellte die üblichen Fragen... ok... kein Problem. Ich
war mir schon sicher, dass er kein Schild bräuchte... bis er fragte
"also... ihr LKW hat sich verkeilt?" Ich konnte mir nicht helfen! Ich
sah ihn an, blickte zurück zum Sattelschlepper, dann zurück zu ihm und
sagte "Nein, ich liefere eine Brücke. Hier ist dein Schild."

Ich musste den einen Abend lange arbeiten, als ein Kollege reinschaute
und sagte "Du bist immer noch hier?" Ich antwortete "Nö. Ich bin vor
10 Minuten abgehauen. Hier ist dein Schild."

Neulich war ich mit dem Fahrrad unterwegs. Intelligenterweise telefonierte
ich dabei, fuhr freihändig und wollte den Gang wechseln. Ich rutsche mit
dem Fahrrad weg und blieb mit der Hand in der Leitplanke hängen. Ich lag
dann da so lustig auf der Straße 'rum mit nem stylischen Blutfleck neben
mir auf dem Boden. Ich wollte grad aufstehen, als ein älterer Mann neben
mir hielt: "Sind sie hingefallen?" Trotz Schmerzen konnte ich es mir
einfach nicht verkneifen: "Nein, ich liege hier um mich zu sonnen!"
Verdammt, warum hast du dein Schild nicht dabei?
Kategorien
Arbeit Praxissemester USA

Fly like an eagle

Der Flug ist so gut wie gebucht, am 1.4. gehts ab Zürich über Washington nach Indianapolis und am 31.8. dann denselben Weg nur rückwärts 🙂 Das bedeutet das ich eine Hinflugzeit von 9h 20m nach Washington + 1h 30m Aufenthalt + 1h 53m nach Indianapolis habe, macht insgesamt eine Zeit von 12h 43m. Herrlich. Der Rückflug geht ne Stunde schneller.

Kategorien
Praxissemester Studium

Unit Testing

In der Softwareentwicklung gibt es, wie in jeder Ingenieursdisziplin, ein Vorgehensmodell wie komplexe Software am Besten erstellt werden sollte. Diese Planung trennt die einzelnen Schritte der Entwicklung in Teilprobleme auf, die dann weniger komplex und somit leichter zu beherrschen sind.

In der Softwareentwicklung gibt es derer fünf:

  1. Planung
  2. Analyse
  3. Design (Entwurf)
  4. Implementierung
  5. Validation und Verifikation

Ich werde hier nur auf den fünften Teil eingehen, für die ersten Teile empfehle ich jetzt nur einfach spontan mal UMLet.

Kategorien
Praxissemester Studium

Refactoring

Refaktorisierung, wie es auf Deutsch heißt, beschreibt eine Methode um Software „schöner“ zu machen. Jetzt fehlt nur noch die Definition von „schöner“ und dieser Post ist fertig 🙂

Das Problem von Improvisierungen ist, dass diese meist länger leben als sie sollten. Jeder hat bestimmt schonmal daheim ein Brett irgendwo untergelegt und wollte das „später“ dann mal ordentlich festschrauben, oder Ähnliches. Sowas gehört zur Kategorie: „Funktioniert, warum also ändern?!“.

Ähnlich ist das bei Software. Wenn ein armer Student als Praktikant plötzlich eine Software für einen Betrieb schreiben muss, dann kann man nur hoffen, dass er was von „Design, Analyse und Implementierung“ gehört hat, das Lasten- und Pflichtenhefte keine Fremdworte sind und dass Code der „ad hoc“ in den PC getrimmert wird, meist nicht das Gelbe vom Ei ist.  Aber selbst wenn man sich viele Gedanken gemacht hat und diese auch wunderbar mittels UML niedergeschrieben hat, jegliche Spezifikation sich aus den Fingern saugt und dann denkt das man „doch an alles gedacht hat“, so wird man doch meist von der Realität eingeholt und muss seine Software umstrukturieren. Hier greift dann die Refaktorisierung.

Natürlich gibt es auch andere Anwendungsgebiete, wie z.B. Anpassung einer Software an ein neues Betriebssystem, Erweiterung der Funktionalitäten oder Sonstiges, dies alles kann zur Refaktorisierung führen. Wichtigste Grundregel für die Faktorisierung ist aber:

Das System muss bereits laufen

Ohne ein laufendes System gibt es auch keine Refaktorisierung. Zweiter wichtiger Punkt ist die Tatsache dass die Funktionalität nicht geändert werden darf. Dies steht nicht im Widerspruch zur obigen Aussage „Erweiterung der Funktionalitäten“, da das Refactoring tatsächlich erstmal das „Aufräumen“ des Codes ist um dann im Nachhinein neue Features einzubauen.

Refaktorisieren ist relativ einfach. Man will eigentlich nur folgende Ziele erreichen (zitiert aus der Wikipedia):

  • Lesbarkeit
  • Übersichtlichkeit
  • Verständlichkeit
  • Erweiterbarkeit
  • Vermeidung von Redundanz
  • Testbarkeit

Wer schon einmal Klassen mit ein, zwei Funktionen gesehen hat, diese aber 170-180 Zeilen Code jeweils ausmachen, der weiss wie schwer es ist sich in diesen Wulst einzulesen. Warum also, wenn man den Code eh schon verstehen muss, den Code nicht auch gleich verständlicher machen?

Die Mittel der Refaktorisierung sind simpel und meist Schritt für Schritt zu erledigen. Einen schönen Katalog dazu hat Martin Fowler (Refactoring. Wie Sie das Design vorhandener Software verbessern. Addison-Wesley Verlag, ISBN 3-8273-1630-8) erstellt, dort wird über mehrere Kapitel genau erläutert wie man Schritt für Schritt Software „schöner“ macht. Ich empfehle jedem Softwaredesigner dieses Buch zumindest mal anzulesen. Ich werde es mir auch erst noch kaufen müssen, da ich bisher nur „auf der Arbeit“ einen Blick reinwerfen konnte.

Man sollte sich dringend in den Wikipedia-Artikel einlesen, auch wenn dieser recht schmalbrüstig ist. Dort sind aber gute (englische) Artikel verlinkt und ausserdem hat sich jemand die Mühe gemacht den oben erwähnten Katalog von Fowler online zu stellen.