Hau den DAU mit der LART-Peitsche

Für jeden gestressten Sys-Admin gibt es jetzt ein Beruhigungsprogramm erster Güte. Es reicht ein fünfminütiger Ausflug auf Systemhelden.de und die Nerven sind wieder im Admin-Halbschlaf-Modus. Andere Nerven liegen dafür im wahrsten Sinne des Wortes blank.

By the way: Hat irgendjemand in den letzten Tagen Kollege Müller gesehen? Das letzte Mal wurde er gesichtet, als er unserem Admin erzählte, er brauche absolut dringend ein Gigabit-Ethernet in seinem Büro….

Ant Styles




        
        
            
                
            
        

Heute bin ich in einem unserer Ant-Build-Skripte über etwas sehr Nettes gestolpert. In einer Config-Datei steht bei uns @jars@. Das läßt sich mit zur Build-Zeit ganz bequem dynamisch ersetzen. Z.B. durch eine Liste von Jars in einem speziellen Verzeichnis, wie im unteren Beispiel.

<propertyregex property="jars.path.appxml"
               input="${jars.path.property}"
               regexp="([^\\.]*)(dist\\\\apps\\\\myapp\\.ear\\\\)([^\\.]*)(\\.jar)"
               replace="&<module&> &<java&>\3\4&</java&> &</module&>"
               casesensitive="false" />

<!-- Copy application.xml and use the correct jars -->
<copy file="${apps.dir}/myapp.ear/META-INF/application.xml"
      toFile="${dist.dir}/myapp.ear/META-INF/application.xml">
  <filterset>
    <filter token="jars"
            value="${jars.path.appxml}" />
  </filterset>
</copy>

Mehr dazu hier: http://ant.apache.org/manual/CoreTypes/filterset.html

Find the Bug

Gestern habe ich ein bißchen rumgehackt und bin mal wieder in den selben Fehler gerannt. Hier mal als Knobelaufgabe für alle Nerds:

Ausschnitt aus einer Java-Methode:

int bereich = 11;
int probSum = 3;
Random r1 = new Random(42);
Random r2 = new Random(23);
for (int i = 0; i < 17 ; i++) {
probSum = (Math.abs(r1.nextInt()) + Math.abs(r2.nextInt())) % bereich;
System.out.println(probSum);
}

Ausgabe z.B:

2

12

-4

Quizfrage: Wie kann es sein, dass probSum nach dieser Zuweisung eine negative Zahl ist?????

Festpreisprojekte sind eine Lüge 1

Schweißtropfen aus dem Leben eines jungen Arbeitnehmers

In der Geschäftswelt, und auch meiner Branche, dem sogenannten “IT-Business”, werden allerlei wilde Dinge praktiziert. In der “IT” gibt es grob zwei Arbeitsschienen: Produkt- und Projektarbeit. Projekte lassen sich wiederum in die Kategorien Dienstleistungsprojekte und Festpreisprojekte unterteilen. Ich beschäftige mich hier, wie der geneigte Leser aus dem Titel ersehen mag mit der zweiten Kategorie. Ich gebe in den folgenden Blog-Einträgen eine kurze Übersicht über Theorie und Praxis, werde dann auf die Vor- und Nachteile zu sprechen kommen und Anfang des nächsten Jahres eine knallharte Conclusio ziehen.

Kapitel 1: Die Theorie

In einem Werkvertrag sichert der eine dem anderen die Erstellung eines definierten Werkes zu und im Gegenzug soll dann eine bestimmte Summe fließen. — Dr. rer. nat. B. Bonzo

Zuerst läßt sich der potentielle Auftraggeber vom Kunden genau sagen, was dieser will. Dann rechnet er einfach aus, wie teuer es ist, die gegebene Aufgabe umzusetzen. Das wird verkündet, anschließend nehmen sich Auftraggeber und Auftragnehmer in die Arme, trinken ein Glas Sekt miteinander und freuen sich über all die neuen Visitenkarten. Über die folgenden Monate herrscht dann rege Betriebsamkeit und emsiges Scharren in allen Fluren. Der Projektleiter harmonsiert gekonnt seine vier Eckpfeiler Time, Quality, Scope und Budget und lenkt das Projekt geradlinieg ins Ziel. Der Auftragnehmer freut sich über einen fairen Gewinn und der Auftraggeber über sein tolles neues Produkt. Beide trinken wieder Sekt und legen die Visitenkarten des anderen zu dem Haufen, der Weihnachtsgrüße kriegt.

Im nächsten Teil: Die Praxis
Stay tuned…

Terroranschläge in Deutschland Anfang Dezember?

Neueste Forschungen der Trendanalysten geben ein schockierendes Bild. Deutschland ist zu Beginn der Adventszeit in höchster Gefahr: Die radikalislamische Befreiungsfront von Palästina plant offenbar Anschläge in deutschen Großstädten. Die Zahlen zeigen: Ganze Terrorcamps, ja sogar Terrorlegionen untersuchen die deutschen Städte. Hier die Hochrechnungen für die Anschlagswahrscheinlichkeit:

Java für Mütter I

Einleitung

Also: Was ist Java? Java ist eine Insel in Indonesien, die für ihren wohlschmeckenden Kaffee bekannt ist. Gleichzeitig ist Java auch eine Programmiersprache. Und obgleich einige Ähnlichkeiten zwischen dem Insel- und dem Programmierleben bestehen, gibt es doch einige kleinere Unterschiede, die ich im Folgenden an die Mutter bringen will.
Die Sprache Java ist eine sogenannte “Objektorientierte Programmiersprache”. Das sagt einem zu Beginn genauso viel wie “Merapi” (ein Vulkan auf der Insel).
Was es wirklich heißt, wird sich im Laufe meines Tutorials herausstellen. Es richtet sich, wie bereits mehrfach erwähnt, an Mütter. Das soll heißen, an Leute, die von Programmieren eigentlich keine Ahnung haben. Ich will hier also nur die Grundlagen vermitteln und keinen Einstieg in professionelle Software-Entwicklung verschaffen. Ich schaffe mir doch keine unnötige Konkurrenz, oder?

Teil 1: Grundschul-Informatik
Jeder kennt Computer. Da laufen Programme drauf. Entweder man hat solche schon mal installiert, oder man ist deutlich zu unfähig, um dieses Tutorial durchzuarbeiten. Vielleich sollte man dann lieber die Zeit im Kindergarten verbringen. Aber was ist ein Programm genau? Ein Programm ist ein Text, in dem man dem Computer Anweisungen gibt, irgendetwas zu machen. Das sind Rechenbefehle oder Speicher- und Ladebefehle, oder auch irgendwelche grafischen Ausgaben, wie Fenster oder Meldungen. Eine Programmiersprache legt fest, WIE man die Befehle formuliert. Wenn man einen korrekt formulierten Programmier-Text hat, kann ein anderes Programm diesen “Code” lesen und den Computer dazu bringen, die gewünschten Sachen zu machen. Es gibt also quasi einen Übersetzer von dem, was man schreibt, in das, was der Computer versteht. Dieser Übersetzer heißt je nach Sprachtyp “Interpreter” oder “Compiler” und erlaubt, eine (relativ) einfach Kommunikation mit dem Computer. Man kann auch selbst mit dem Computer sprechen. Aber dessen Sprache ist sehr unschön. Er versteht nämlich nur Nullen und Einsen und die sprechen wenige Leute fließend. Fehler verzeiht er auch überhaupt nicht gerne.
Java ist also nicht nur eine Programmiersprache, sondern gleichzeitig auch ein Programm: ein Übersetzerprogramm (“javac”) und ein Ausführungsprogramm (“java”). Um also irgendetwas programmieren zu können, müssen wir erstmal was installieren. Die Installation ist genau wie bei anderen Programmen auch: Runterladen. Öffnen. Ganz oft auf OK drücken. Step by Step:
1. Hier JDK 6 herunterladen: Lizenzbedingungen akzeptieren und “windows offline installation, multi language” anklicken. Da es sich um 50 Megabyte handelt reicht hier kein normales Modem.

2. Heruntergeladene Datei öffnen. Accept->Next->Warten->Next->Finish->Read me schließen.

Jetzt haben wir das Grundwerkzeug. Um einfacher Code zu schreiben, ist es auch gut, sich ein kleines Programmierschreib-Programm zu verwenden. Ein solches ist SciTE. Das installieren wir auch mal. Wenn wir das geschafft haben, können wir gleich mit dem ersten Programm starten.

Rezept Usability Chilli

Juhu! Meine Bachelorarbeit über leichtgewichtige Usability-Methoden ist fertig!

Um das müde Fleisch zu stärken, gab es direkt nach der Fertigstellung (4:32 Uhr) erst einmal ein schwergewichtiges tierfreies Chilli. Durch eine aufwändige Expertenevaluation und einen umfangreichen Usability-Test an 4 Probanden, konnte im Anschluß das größte Usability-Problem dieses Gerichtes aufgedeckt werden: Es gibt immer zuwenig. Folgende Maßnahmen werden empfohlen:

  1. Einkaufen:
    • 1 Paprika-Pärchen
    • 1 kleine Aubergine
    • 1 Dose Kidneybohnen
    • 1 Dose Mais
    • 1 Päckchen Passierte Tomaten
    • 1 kleine Dose Tomatenmark
    • 1 akzeptablen Haufen möglichst frischer Chilli (Piri-Piri tun es gut)
    • 1 Zwiebel
    • 1 Packung feine Sojaschnetzel aus dem Bioladen
    • 1 bißchen Soja-Sauce
    • 1 Zehe Knoblauch
    • 1 wenig Kreuzkümmel, Estragon
  2. Kochen:
    • Sojaschnetzel trocken in etwas Öl rösten. Dann immer wieder etwas Wasser und Soja-Sauce zukippen. Es sollte immer gerade soviel sein, dass die Schnetzel nicht anbrennen, sondern aufweichen. Wenn die Schnetzel “durch” sind, noch etwas anbräunen lassen. Nur so kann die richtige Konsistenz erzielt werden.
    • Zwiebel anbraten, Knobl dazu. Dann etwas später die Chillis, die gewürfelten Frischgemüse Paprika und Aubergine einführen.
    • Nach ungefähr 5:34 Minuten die entsafteten Dosen und die Tomatensauce zukippen.
    • Kreuzkümmel und etwas Estragon einstreuen
    • eine Zeitlang kochen lassen
    • gebratene Sojaschnetzel einrühren
  3. Stehenlassen.
    “Je länger man ein Chilli ruhen läßt, desto besser schmeckt es.” (Ignaz Rubinstein)
    Zu lange sollte man ein Chilli jedoch auch nicht ruhen lassen, es entwickeln sich hier gerne allerlei Pilze, Algen und Kleintiere. Eine Reifezeit von 24 Stunden hat sich als praktikabel und lecker erwiesen.
  4. Abschlußarbeit beenden
  5. Essen und sich freuen

(Ich danke insbesondere Julia, Hanna und meinem Vater für die mentale Unterstützung und das elende Korrekturlesen!)

Wahlstatistik oder wer wählt die NPD?

Wenn man versucht, Wahldaten statistisch auszuwerten, könnte man auf die Idee kommen, dass der Intelligenzquotient mit der Wahlentscheidung zusammenhängt. Die Intelligenz wiederum ist ein Produkt aus vielen Einflüßen und müßte eine Gauss-Kurve bilden. Durchschnittliche Intelligenz wählt also SPD und CDU. Debb von der durschnittlichen Intelligenz gibts halt viel. Die Anzahl der NPD-Wähler dagegen ist nicht allzu hoch. Zugegebenerweise ist es, der Mathematik folgend, schwer zu sagen, ob diese geringe Stimmenanzahl auf überdurchschnittlich hohe oder geringe Intelligenz der Wähler zurückzuführen ist. Ich mein… eigentlich ist es ja klar, in welche…. Die Anzahl der ungültigen Stimmen ist höher als die der NPD-Wähler. Also was jetzt: Noch dümmer als Leute die zu doof sind, einen Stimmzettel auszufüllen, sind NPD-Wähler?

Durchaus dieser Ansicht,

bb242 freaks

Auszählung der Erststimmen für Wahlbezirk 11 Kessenich
Endergebnis
(7 von 7 Stimmbezirken ausgezählt)
  2005 2002 Gewinne/Verluste
Stimmen Prozent Stimmen Prozent Stimmen Prozent- punkte
Wahlberechtigte 6.618 6.832 0
Wähler 5.526 83,50 5.843 85,52 -2 -2,02
Ungültige Stimmen 61 0,00 50 0,00 0 0,00
Gültige Stimmen 5.465 100,00 5.793 100,00 0
Ulrich Kelber (SPD) 2.637 48,25 2.592 44,74 +45 +3,51
Dr. Stephan Eisel (CDU) 1.773 32,44 1.734 29,93 +39 +2,51
Dr. Guido Westerwelle (FDP) 386 7,06 744 12,84 -358 -5,78
Jens-Erik Kendzia (GRÜNE) 456 8,34 583 10,06 -127 -1,72
Katina Schubert (Die Linke.) 182 3,33 80 1,38 +102 +1,95
Dr. Peter Malborn (NPD) 31 0,57 +31 +0,57
Quelle: Bundesstadt Bonn – Wahlamt/Statistikstelle 2005