Archiv für April, 2009

Linksammlung zu “Agilen Methoden”

Auf Arbeit beschäftigen wir uns gerade mit “Agilen Methoden”, insbesondere “Scrum“. Wer jetzt nur Bahnhof versteht: Agile Methoden sind ein Framework an Organisations- und Arbeitsmethoden um Software effizient und transparent zu entwickeln.

Auf del.icio.us habe ich mal eine Linksammlung zu interessanten Webseiten gesammelt: Marcos Links zum Thema Scrum

Wenn die Einführung von Scrum geklappt hat, werde ich dann auch mal berichten. Momentan sind wir noch in der Findungsphase.

Dämonische Hexenmeister

Allianz
Nozdormu (EU)
Stufe 72 Gnom Hexenmeisterin
Talente: 0/51/12 (Dämonologie)
Nach langer Zeit habe ich heute mal wieder länger World of Warcraft gespielt.

Auch nach 4 Jahren kann das Spiel immer noch Spass machen, wie ich finde. Voraussetzung dafür ist aber mittlerweile, dass man die zahlreichen Foren (allen voran das offizielle Forum) nicht liest. Die Grundstimmung der meisten Teilnehmer dort ist ziemlich destruktiv und mir haben sie das Spiel zeitweise ziemlich verleidet. Wenn es nach den Foren geht, ist eigentlich alles was Blizzard macht scheiße und verdammenswert.Warum diese Menschen überhaupt noch in den Foren schreiben, ist mir ein Rätsel.

Aber ich wollte von mir schreiben.

amadana70.jpg Heute war ich nicht nur das erste Mal seit ein paar Wochen wieder in WoW unterwegs, sondern auch noch das erste Mal seit mehreren Monaten mit Amadana, meiner Hexenmeisterin unterwegs. Wie ich auf meiner WoW-Seite ja schon geschrieben habe, war sie lange Zeit mein Hauptcharakter und ich habe heute ein gutes halbes Level auf dem Weg zur 71 mit ihr gespielt.

Wie schon beim Leveln von 60 auf 70 habe ich wieder Dämonologie geskillt, momentan 0/51/10. Ich hatte mit Patch 3.0 ja schon mal kurz in die Talente reingeschaut und so richtig rund sah der Dämonen-Baum damals nicht aus. Mittlerweile mit Patch 3.1 gefällt er mir deutlich besser. Es wird sehr viel in zusätzliche kritische Trefferchance investiert, sodass ich jetzt mit halb epischem Karazhan- und halb blauem 70er-Equipment gut 28% Crit habe, inkl. dem verbesserten Feuestein.

Feuerstein? Warum benutzt er denn Feuersteine, werden sich jetzt manche fragen. Die Zauber- und Feuersteine waren bisher in WoW so ziemlich das nutzloseste am Hexenmeister. Sie waren noch NIE zu irgendwas zunutze, sieht man mal von dem Magie-Dispell auf dem Zauberstein ab, der irgendwann mal eingeführt wurde. Als Dämonologie-Hexer kann ich aber nun +300% Wirksamkeit mit zwei Talentpunkten auf beide Steine skillen, sodass der Feuerstein mit Level 70 6,34% Crit gibt, plus eine scheinbar vernachlässigbare Chance auf zuästzlichen Feuerschaden. Der Zauberstein gibt +1% Schaden auf DoTs und +160 Zaubertempo. Nicht schlecht finde ich, vor allem der Feuerstein ist für Dämo- und sicher auch Zerstörungshexer sehr interessant.

Das sogenannte “Ultimate” Talent “Metamorphose” hat geskillt nun eine Abklingzeit von 2 Minuten, allerdings muss man dafür insgesamt 4 Talentpunkte investieren. Als Solo-Hexer, der noch levelt ganz nett, ob es auch für größere Herausforderungen taugt weiss ich nicht. Mit “Dämonische Energie” haben Hexer nun auch einen “Pet-Rot-mach”-Skill ähnlich wie Jäger. Während Jäger-Pets in der “Rot-Phase” auch noch zusätzlich +20% Schaden machen, erhalten die Hexer-Pets je nach Pet leicht unterschiedliche Fähigkeiten, bei der Teufelswache ist das zum Beispiel +20% Angriffstempo und Immunität gegen alle verlangsamenden Effekte für 15 Sekunden.

Zusätzlich zu den Dämonologie-Talenten habe ich 10 Punkte in Zerstörung für den verbesserten Schattenblitz (+5% Crit-Debuff auf dem Ziel) und Dunkle Macht (-0,5 sek Zauberzeit für Schattenblitz und Verbrennen) investiert. Beides sind Pflichttalente wie ich finde. Während ich früher als Dämo-Hexer meiner Wache hinterhergerannt bin und ein bisschen DoTs verteilt und ein bisschen Leben gesaugt habe, im wesentlichen aber aufgepasst habe, dass die Wache nicht stirbt, bin ich jetzt meist damit beschäftigt Schattenblitze zu zaubern. Nach zwei Stück ist der Gegner meist tot. Ab und zu muss ich ein bisschen Mana reggen mittels Aderlass, Lebenssauber und Lebensblut (von der Kräuterkunde), aber ansonsten freue ich mich an den schönen Crits vom Schattenblitz.

Der Dämo-Hexer ist jedenfalls deutlich runder und besser als zu Burning Crusade Zeiten.

Das Schwarze Loch in Troja – ein Science-Fiction-Artikel

Mehr als 10 Jahre lang war ich ein glühender Stephen King Fan. Vom ersten Buch das ich von ihm 1991 gelesen habe (“The Last Stand”) bis zum siebten Band der “Der Dunkle Turm”-Saga (“Der Turm”) habe ich die meisten (nicht alle) Bücher von ihm käuflich erworben. Alle davon stehen bei mir im Bücherschrank. Das Buch “Der Turm” habe ich jedoch nie zu Ende gelesen. Die Gründe dafür sind aber Teil einer anderen Geschichte.

Eigentlich wollte ich jetzt von einem Autor schreiben, dessen Bücher ich fast noch mehr bewundere wie die von King. Bücher wie die “Hyperion-Gesänge“, “Ilium“, “Olympos“, “Vakuum-Diagramme” und “Zeitschiffe”. Alles großartige Bücher, in denen ich mich verlieren kann. Beim schreiben dieses Artikels ist mir jedoch aufgefallen, dass ich hier zwei Autoren peinlicherweise zu einem vermengt habe: Dan Simmons und Stephen Baxter.

Nach meiner “King-Periode” und nachdem ich den siebten Turm-Roman einfach nicht zu Ende lesen konnte, habe ich mich zunehmend mit moderner Science-Fiction beschäftigt. Nachdem die fantastischen Zukunftsvisionen aus SF-Romanen aus den 50er, 60er und 70er Jahren auch nicht nur annähernd eingetreten sind, haben moderne SF-Romane glaube ich deutlich dazugelernt. Kaum ein Buch das ich gelesen habe und Handlung im “von Menschen besiedelten Weltall” thematisiert, spielt zu nah in der Zukunft. 2-3 Jahrhunderte lassen die meisten vergehen, damit die Menschheit das Weltall besiedelt. SF-Romane, die etwas auf sich halten, setzen auch zunehmend darauf, modernste Theorien der Naturwissenschaften möglichst authentisch (so authentisch wie es bei Theorien nunmal geht) einzubauen, um eine möglichst “realistische” Möglichkeit zu erschaffen, den Weltraum zu bereisen und zu besiedeln.

Landläufig wird so etwas auch als “Hard-SF” bezeichnet. Und genau so liebe ich SF: ohne eine kurze Geschichte der Zeit zumindest einmal gelesen zu haben, von Bosonen und Quarks und Baryonen zumindest schonmal gehört zu haben und sich mit der Stringtheorie beschäftigt zu haben, versteht man den physikalischen Hintergrund dieser Bücher nur bedingt. Manchmal tritt dieser so deutlich hervor, das die meisten unbedarften Leser solche Bücher wohl angewidert weglegen würden. Ich denke da zum Beispiel an “Diaspora” von Greg Eagan, in dem der Autor einer Diaspora der Menschheit hin zu digitalen Lebewesen und schlußendlich in andere Universen so ziemlich alle Strömungen der theorischen Physik, der Biologie und der Astronomie in ein einziges Buch quetscht. Ich bin begeistert!

Dan Simmons und Stephen Baxter sind deutlich zurückhaltender, aber auch diese beiden mischen Stringtheorien und Quanten bunt zusammen mit sprühenden und lebendigen Stories und es ergibt sich ein Mix in dem ich mich verlieren kann. Die bereits oben genannten Bücher habe ich nun schon mehrfach gelesen und es spricht für die beiden, dass ich sie gemeinsam zu einem fiktiven Autor zusammengemischt habe.

In “Ilium” und “Olympos” beispielsweise verbindet Dan Simmons Homers “Ilias” mit den Werken von Shakespeare zu einer reinrassigen Science-Fiction-Geschichte. Die Schauplätze dieser beiden Romane spielen auf einem zukünftigen Mars (der Heimat von griechischen Göttern wie Zeus, Athene und Aphrodite), einer hyper-modernen Erde, die von unwissenden, dummen und nicht einmal des Lesens fähigen Altmenschen bevölkert ist und Troja, dem Ort wo sich Griechen und Trojaner in einem “ewigen Krieg” bekämpfen. Die Charaktere von Shakespeare (z. B. Prospero oder Caliban)  und Homer (Odysseus, Helena, Achilles) werden so geschickt in die moderne SF-Geschichte integriert, dass etwas einzigartiges entsteht. Unbedingte Leseempfehlung!

“Die Zeitschiffe” von Stephen Baxter beginnt dagegen da, wo “Die Zeitmaschine” von H.G. Wells aufgehört hat. Als autorisierte Fortsetzung dieses SF-Klassikers kehrt der bekannte Held zurück zu den Elois und Morlocks, nur um festzustellen, dass seine eigene Zeitreise unvorhersehbare Auswirkungen auf die Zeitlinie hat und nichts mehr so ist wie es war. Nachdem er sich mit einem Morlock angefreundet hat, brechen die beiden auf eine fast unendlich währende Zeit-Odyssee auf, die gegen Ende hin immer merkwürdiger und moderner wird. Der Roman hat durchaus seien Längen, wie eigentlich alle Romane von Baxter, aber die Umgebung die Geschichte ist so interessant, dass ich einfach nicht davon loskommen konnte.

Einen besonderen Platz in meinem Herzen haben auch die diversern Romane von Stephen Baxter aus seinem Xelee-Zyklus eingenommen. In der Qualität und der Spannung durchaus sehr variierend, ist es doch faszinierend eine Geschichte mit einem Spannungbogen über Millionen und Milliarden Jahren zu lesen. Der Menschheit von heute zuzuschauen, die sich über hunderte und tausende und Millionen von Jahren entwickelt und sicher nicht nur zum guten. Wenn wie in “Sternenkinder” in einem bereits mehrere hunterttausend Jahre andauernden Krieg gegen die Xelee Millionen von Kindern nur dazu gezüchtet werden, um in Sekunden bei einem nutzlosen Angriff auf eine Xelee-Basis wie Insekten zu verglühen, ist dies völlige Normalität. Die Xelee als mächtige Überwesen, die sich überhaupt nicht um die Menschheit kümmern und gerade dadurch zum “Hauptfeind” der Menschheit werden, werden in den Büchern, die ich aus diesem Zyklus besitze wenn überhaupt nur am Rande beschrieben, meistens aus der Perspektive der Motte – der eines Menschen, selten aus der entrückten Perspektive eines Erzählers. Sie sind das ultimativ Böse, aber irgendwie auch das Gute, das einen Krieg von der verdorbenen Menschheit aufgezwungen bekommt. Bücher aus dem Xelee-Zyklus sind zum Beispiel: “Transzendenz“, “Vakuum-Diagramme“, “Sternenkinder“.

Lost+Found

via nerdcore

Bessere Suche für Wordpress

Es gibt in der Blogosphäre eine Menge Artikel, die sich mit einer besseren Suche in Wordpress-Blogs beschäftigen. Die Ursache ist ganz klar: die Standardsuche von Wordpress ist in größeren Blogs nicht mehr zu gebrauchen. Die Anzeige von allen gefundenen Artikeln mit dem gesamten Text untereinander, ist bei mehr als 10 Artikeln einfach nur noch unübersichtlich.

Auch ich habe mich deshalb damit beschäftigt und ich bin nun recht zufrieden. Ich nutze dazu momentan zwei Plugins:

Autocompleter

Vorschlagsliste beim Suchen mit Plugin Autocompleter Autocompleter ist schnell und unkompliziert installert und sorgt dafür, daß im Suchfeld oben rechts mittels Ajax (Javascript) eine Vorschlagsliste mit zur Eingabe passenden Tags und Kategorien erscheint. Da ich hier überhaupt keine Kategorien benutze, habe ich natürlich die Kategoriesuche ausgeschaltet. Zuerst habe ich überlegt, das Plugin so umzuschreiben, dass auch noch Titel und Text von Artikeln durchsucht werden. Aber nach kurzem Überlegen habe ich mich dagegen entschieden. Die kurzen Sucheingaben die man typischerweise in solchen Eingabefeldern eingibt, würden die Vorschlagsliste schnell sprengen. Außerdem hätte dies nicht unerhebliche Auswirkungen auf die Datenbank-Performance.

Einzige Voraussetzung damit Autocompleter out-of-the-box funktioniert ist, dass das Theme das Eingabefeld mit der ID “s” belegt. Dies sollte im Regelfall aber immer so sein.

Better Search

Suchergebnisse mit dem Plugin Better Search “Better Search” habe ich installiert, um die Suchergebnisseite selbst zu verbessern. Das Plugin ersetzt nach Installation die normale Ergebnisseite mit seiner eigenen und bietet (unter anderem) folgende Verbesserungen:

  • Artikel werden nur noch mit ihrem Exzerpt dargestellt, dadurch erheblich bessere Übersicht
  • Ergebnisse werden auf mehreren Seiten dargestellt (sog. Pagination), Anzahl der Ergebnisse pro Seite kann der Nutzer selbst einstellen
  • Es wird die Gesamt-Anzahl der Ergebnisse angezeigt
  • Es wird eine sogenannte “Heatmap” von häufig gesuchten Begriffen angezeigt, die Heatmap wird sowohl auf der Ergebnisseite als auch im Dashboard im Admin-Bereich angezeigt

Das Plugin bietet noch ein paar mehr Funktionen, aber dies sind die auffälligsten. Bis auf die “Heatmap” nutze ich auch alles in meinem Blog. Die Anpassung der Ergebnisseite ist aber ein ganzes Stück Arbeit, die sich jedoch lohnt. Meine Ergebnisseite hat mich einige Zeit gekostet, dafür ist sie aber nun optimal in mein Theme integriert. Wie gut sich “Better Search” integriert und wie aufwändig es ist notwendige Anpassungen zu machen, hängt aber vom einzelnen Theme ab.

Zusammen leisten die beiden Plugins bei mir sehr gute Dienste. Offen bleiben für mich aber noch zwei Dinge.

Erstens werden in den Exzerpts auf der Suchergebnisseite die Gallery-Shortcodes nicht ausgewertet. Stattdessen sind Sie im Klartext für den Benutzer zu sehen. Vermutlich wird die Lösung hierfür so aussehen, dass ich sie mit PHP ausfiltern werde. Selbst wenn ich es schaffen würde, Wordpress zu überreden die Codes auszuwerten, würde das wohl vermutlich eher unübersichtlich werden. Zweitens suche ich noch eine Möglichkeit die Suchwörter auf der Ergebnisseite hervorzuheben, um es dem Benutzer einfacher zu machen, einzuschätzen ob seine Suche erfolgreich war. Es gibt dazu zwar einige Plugins, die aber wohl inkompatibel zu “Better Search” sind.

Was tun mit nicht funktionierenden Links?

Ich bin momentan immer noch dabei, meine alten Artikel, die ich aus meinem Serendipity Blog übernommen habe, zu korrigieren, damit alles korrekt angezeigt wird. Dabei muss ich alle möglichen Sachen fixen: alte Links die noch aus uralten Wordpress-Zeiten stammen, alte interne Links, die noch auf den Serendipity-Pfad verweisen, Smilie-Grafik-Links in Text-Smilies zurückverwandeln und nicht zuletzt auch tote externe Links korrigieren.

Für letztere Aufgabe bin ich heute über das sehr nützliche Plugin Broken Link Checker gestolpert. Satte 98 Links wurden mir als nicht funktionsfähig angezeigt. Ein Großteil besteht aus Links auf eine Menge privater Fotos, die ich vor längerem leider aus Versehen gelöscht habe und die ich nicht wiederherstellen kann. Allerdings sind auch viele externe Links tot: sei es weil die Domain nicht mehr existiert oder sei es weil der Betreiber seine Website umstrukturiert hat.

Manches kann ich korrigieren, indem ich per Hand den neuen Link raussuche, manches lässt sich aber einfach nicht mehr wiederherstellen. Kein Wunder bei bis zu 5 Jahre alten Artikeln. Den Link ganz zu löschen, möchte ich aber auch nicht, weil ich ungern Geschichtsfälschung betreibe, der Artikel wurde vor 5 Jahren nunmal mit Link geschrieben, warum sollte ich den Artikel ändern nur weil der Link tot ist? Ausserdem beruht der Artikel zu einem Großteil auf einem Link, der Sinn des Artikels wäre nicht mehr nachvollziehbar, wenn der Link entfernt würde. Dann könnte ich auch gleich den Artikel ganz löschen. Die Links müssten also irgendwie gesondert markiert werden.

Zum Glück markiert der Broken Link Checker schon im Auslieferungszustand diese Links in Artikeln selbständig mit einer eigenen CSS-Klasse und formatiert die Links auf diese Weise automatisch als durchgestrichenen Text. So weiss der informierte Leser was los ist.

Da aber die wenigsten Leser so informiert sind, wäre es natürlich am schönsten, wenn noch zusätzlich ein kleiner Informationstext angezeigt würde. Für so etwas bieten sich Tooltips am besten an. Mit dem Broken Link Checker ist dies aber nicht direkt möglich, sondern erfordert etwas Zusatzarbeit.

Zuerst ist eine Änderung in der broken-link-checker.php des Plugins notwendig. In Zeile 124 muss folgender Text geändert werden:

return $matches[1].$matches[2].$matches[3].' class="broken_link"'.$matches[4].

Daran hängt man den Text als String in HTML-Schreibweise, der als Tooltip erscheinen soll und schliesst diesen mit einem Punkt ab (wichtig!):

"<span><h3>Nicht funktionsfähiger Link</h3>Dieser Link funktioniert nicht.</span>".

Die Zeile muss dann also so aussehen (alles direkt hintereinander in einer Zeile):

return $matches[1].$matches[2].$matches[3].' class="broken_link"'.$matches[4]."<span><h3>Nicht funktionsfähiger Link</h3>Dieser Link funktioniert nicht.</span>".

Der Code sorgt dafür, dass in den Link (<a>) ein <span>-Element eingefügt wird. Dies alleine würde aber nicht zum gewünschten Ziel führen einen Tooltip anzuzeigen. Dazu ist noch ein wenig CSS notwendig, das sich einfach in das dafür vorgesehene Feld in den Link Checker Optionen eingeben lässt:

a.broken_link, a.broken_link:link, a.broken_link:visited, a.broken_link:active  {
  position: relative;
  text-decoration: line-through;
  font-style: italic;
  color: #0000ff;
  }

a.broken_link:hover {
  color: #0000ff;
  background: transparent;
  }

a.broken_link span {
  display: none;
  text-decoration: none;
}

a.broken_link:hover span {
  display: block;
  position: absolute;
  top: 20px;
  left: 0;
  width: 300px;
  z-index: 100;
  color: #000000;
  border:1px solid #000000;
  background: #FFFFCC;
  font: 12px Verdana, sans-serif;
  text-align: left;
  }

a.broken_link span h3 {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weigth: bold;
  color: yellow;
  background-color: gray;
  border: 0px;
  border-bottom: 1px solid black;
}

Danach sollte es sofort funktionieren. Wenn der Benutzer mit der Maus über den weiterhin durchgestrichenen Text fährt, wird der Tooltip mit der Information angezeigt unter dem Mauszeiger angezeigt. Der Text des Tooltips kann natürlich beliebig angepasst werden, ebenso das Design des Tooltips selbst.

Quelle des Tooltips: webbe.de

Jungfernfahrt mit meinem Nissan Skyline

Nach mehreren Bastel-Sessions beim VfR Rüsselsheim in den letzten Wochen bin ich heute nun endlich fertig geworden … mein erstes eigenes RC-Car … yahooo! Hier ein Bild im fertigen (jungfräulichen) Zustand:

Endgültig fertig ... so schön wird er nie mehr aussehen

Bisher durfte ich ja testweise schon ein paar Runden mit Autos von anderen drehen und eigentlich bin ich mit denen gar nicht so schlecht gefahren. Dies war auch ein Grund dazu, das Hobby ernsthaft anzufangen. 

Die ersten Fahrversuche mit meinem eigenen Renner waren jedoch etwas ernüchternd. In Kurven neigte er extrem zum kippen und seitlichem überschlagen, zusätzlich und unabhängig zu meinen Fahrfehlern selbstverständlich ;) Keine Ahnung woran es lag, das Senken des Schwerpunkts in dem die Karosserie nun schon fast am Boden schleift, hat etwas geholfen, ebenso das Wechseln der Vorderräder auf bereits angefahrene ebenso. Richtig glücklich war ich jedoch nicht. Ob es vielleicht an der Masse an Blütenpollen auf der Strecke lag, die vielleicht zu vermehrten Rutschen führten? 

Andere Fahrer beklagen jedenfalls ähnliches, wenn auch nicht so extrem wie bei mir. Das Ergebnis der zahlreichen Überschläge und Bandenrempler, sieht jedenfalls so aus: 

So sah er nach dem ersten Tag aus ...

Naja, Übung macht den Meister. Ich werde den kommenden Frühlung und Sommer hoffentlich noch ein bisschen trainieren und dann wird es hoffentich besser. :)

Erneute Umstellung auf Romulus23.de

Nach meiner letzten Umstellung von Wordpress auf Serendipity habe ich nun erneut die Blogsoftware gewechselt: es wird wieder Wordpress eingesetzt.

Meine Gründe damals auf Serendipity zu wechseln, haben sich nun genau ins Gegenteil verkehrt. Während Wordpress eine geradezu stürmische Entwicklung hinter sich hat, hat Serendipity leider nie den großen Durchbruch geschafft.

Den letztendlichen Anstoss umzustellen hat mir dann eine Testinstallation für eine Bekannte beschert. Sie wollte ein Update für Ihre Homepage und hat mich um Rat gefragt. Ich habe mir Serendipity in einer jungfräulichen Neuinstallation angeschaut und ich habe mir Wordpress angeschaut, ebenfalls jungfräulich. Und dabei haben die beiden Blogsysteme so ähnlich wie Linux und MacOS gewirkt. Serendipity ist eigentlich wie Linux: man kann unglaublich viel einstellen, an Millionen Schräubchen und Reglern drehen, aber man kommt sich völlig verloren vor. Wordpress dagegen sieht sehr hübsch aus und fühlt sich deutlich runder und irgendwie vollständiger an. Wenn man aber mal die Details anschaut, sieht man dass man dann doch eine ziemlich große Flexibilität hat (ähnlich dem Unix-Unterbau bei MacOS).

Deshalb bin ich nun wieder bei Wordpress. Hier eine Liste an Plugins die momentan installiert sind: