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.

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.
„Unit Testing“ weiterlesen

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.

3/14

Toller Titel, ist das Datum von heute, nur in der englischen Darstellungsweise. Heute ist ja auch der „Huldigt der Zahl PI“-Tag. Was es alles gibt.

Kommen wir zu der Zusammenfassung der letzten Tage, es ist eine Menge passiert, und meistens kam ich nicht dazu es hier zu veröffentlichen. Deswegen wird dies hiermit und sofort nachgeholt:

  • Inzwischen kann ich Boxen flashen. Was bedeutet: Ich kann den FPGA flashen und danach noch das Bios der Box. Näheres wird nicht erwähnt
  • Tank Gauging aus der Sicht des Marketings ist doch ziemlich interessant. Bisher kannte ich nur die Entwicklersicht, aber mal aus dem eigenen Teller auszusteigen um über einen fremden Tellerrand zu blicken hat durchaus Vorteile.
  • Postsendeanträge die nicht funktionieren sind lästig. Und da Nacharbeit teuer ist, hab ich 40 € und 6h Zeit investiert um ein Formular aus Karlsruhe zu besorgen das für mein Visum unentbehrlich ist. Ärgerlich wenn man Vorbereitungen trifft und diese absagen muss, weil eine „fremde“ Macht einem einen Strich durch die Rechnung macht
  • Refactoring ist ein interessantes Thema. Dazu werde ich noch einen eigenen Artikel schreiben.
  • Das Visum J-1 wurde inzwischen genehmigt (der Termin im US-Konsulat Frankfurt war heute) und wird mir im Laufe der nächsten Woche postalisch zugesandt. Ärgerlich ist es nur wenn man Stunden warten muss, weil sich andere Leute nicht an die Vorschriften halten und den kompletten Sicherheitscheck aufhalten, weil Sie mal nicht eine Stunde auf ihr Handy verzichten können. Auf jeden Fall kann der Flug jetzt gebucht werden.
  • Getoastetes Toast mit Schweinerückensteak und Champignonsahnesoße mit gemischtem italienischem Salat ist unglaublich lecker. Interessanterweise kann man mit Fleischkäse auch ein Cordon Bleu machen und das schmeckt dann sogar.

OpenId

So, mein Blog ist jetzt OpenID-fähig. OpenId ist die Identifizierung und Authentifizierung von Benutzern mittels einer URL (hier wäre das http://schwobeseggl.de). Das ist quasi mein Ausweis. Wenn man so eine hat (z.B. über https://meinguter.name), dann kann man sein WordPress-Blog auch OpenId-fähig machen, indem man einfach

<link rel=“openid.server“ href=“https://meinguter.name/index.php/serve“>
<link rel=“openid.delegate“ href=“https://<deinname>.meinguter.name“>

in die header.php im head-Bereich einträgt. Näheres findet man auch in der Wikipedia.

UPDATE: Einfacher gehts mit dem Plugin WP-Yadis.