0 A.D.

Szene aus 0 a.d. ©wildfiregames.com

Wer schon immer „Age of Empires“ geliebt hat, wird sich über eine Neuentwicklung aus diesem Game-Genre freuen:

0 A.D.

Noch ist das Spiel im Alpha-Stadium(= noch nicht mal Beta), also noch nichts für lange Spieleabende sondern lediglich zur Vorfreude. Dieser Entwicklungsstand äußert sich insbesondere durch den ein oder anderen Absturz, welche besonders ärgerlich sind, weil es noch kein Autosave gibt und man so daran denken muss ab und zu manuell zu speichern.

Die Grafik ist meiner Sicht gelungen und um Längen besser als das was Microsoft mit AoE-online abgeliefert hat. Vor allem die teilweise unglaublichen Details sind faszinierend. Sie kommen durch die freie Kamera auch besonders gut zur Geltung.
Insbesondere die enge Kooperation mit Historikern macht das Spiel auch für History-Fans zu einem Erlebnis

Auch wenn das Spiel noch viele Fehler enthält, so freut man sich schon auf das fertige Spiel.

Neue Website

Nach einigem Schweigen habe ich nun eine komplett neue Website erstellt. Ich hoffe sie gefällt euch.
Was neu ist:

  • Neues Design
  • Neue Galerie
    • Ihr könnt euch nun einloggen und, wenn ich euch freischalte, auch Bilder hochladen
  • Bessere Verwaltung → Mehr News
  • Social-Network-Integration

Ich hab natürlich alle alten Artikel übernommen, so dass nicht verloren geht. nur die Kommentare mussten zurückgesetzt werden

Vollbild unter Java

Mittwoch, den 06. Mai 2009 um 21:37 Uhr

gerade saß ich vor dem Problem unter Java den Vollbildmodus zu aktivieren. Unter Linux heißt das auch Gamemode. Nach langem Suchen hab ich nun die Lösung gefunden.

Sowohl unter Windows als auch unter Linux getestet:

GLCanvas canvas;

boolean fullscreen // ist gesetzt wenn das Fenster 
// im Vollbildmodus angezeigt werden soll 

private static void showWindow() {
if (fullscreen) {
int width = (int) Toolkit.getDefaultToolkit()
.getScreenSize().getWidth();
int height = (int) Toolkit.getDefaultToolkit()
.getScreenSize().getHeight();
canvas.setSize(width, height);

frame.setSize(width, height);
frame.setUndecorated(true);
device.setFullScreenWindow(frame);
} else {
canvas.setSize(width, height);
frame.pack();
Insets insets = frame.getInsets();
frame.setSize(width, height + insets.top);
}
frame.setVisible(true);
frame.repaint();
}

Erklärung:
diese Methode kann zb von der keyPressedHandler Methode aufgerufen werden.

MausEvent auslösen

(vom Dienstag, den 02. Juni 2009 um 07:31 Uhr)

Gerade arbeite ich an einer Funktion die einen Mausklick simulieren soll.

void mouseDragOld(long id, float x, float y) {
int xAbs = (int) (x * frame.getWidth());
int yAbs = (int) (y * frame.getHeight());
Component component = frame.findComponentAt(xAbs, yAbs);
MouseEvent myClick = new MouseEvent(
ElementBindedByTouch, MouseEvent.MOUSE_CLICKED,
System.currentTimeMillis() + 100, xAbs, yAbs, 5, 1, false);
component.dispatchEvent(myClick);
}

Bei einem JButton klappt das sogar mit doClick(int time) noch besser da man einen längeren Klick simulieren kann.

Da ich mit einem Touchscreen arbeite, möchte ich allerdings das drücken und wieder loslassen simulieren.

Das gestaltet sich schwierig, da Swing nicht threadsicher ist.

Falls ich eine Lösung finde, werd ich die hier natürlich auch veröffentlichen.

Zugriff auf Port erzwingen

Heute saß ich am Problem mir (unter Linux) Zugang zu einem bestimmten Port zu erzwingen (in meinem Fall den Port 3333)

ich hab das so gelöst, dass ich die Anwendung abschieße, die an „meinem“ Port horcht:

String[] cmd = { "/bin/sh",
"-c", "kill `netstat -nlepu 2>/dev/null " +
"| awk '/[:]3333 / {split($8,t,\"/\"); print t[1]}'`" };
Process p = Runtime.getRuntime().exec(cmd);

um evtl. Fehler zu erkennen kann man die Ausgabe des Befehls auch noch auf stdout ausgeben:

String line;
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
while ((line = input.readLine()) != null)
System.out.println(line);
input.close();

Erklärung:

netstat -nlepu 2>/dev/null | awk '/[:]3333 / {split($8,t,\"/\"); print t[1]}'

gibt die PID (prozess id) der anwendung zurück, die an dem gewünschenten Port horch.

wobei awk benutzt wird um die ausgabe von netstat zu filtern.

„nlepu“ heißt

  • Rechnernamen nicht auflösen
  • Empfangsbereite Serversockets auflisten
  • Weitere/zusätzliche Informationen anzeigen
  • PID/Programmnamen für Sockets anzeigen
  • auf UDP-Port horchen

Was ist Kälte

+10°C
Die Bewohner von Mietwohnungen in Helsinki drehen die Heizung ab.
Die Lappen (Bewohner Lapplands) pflanzen Blumen.
(Verfasser unbekannt)

+10°C
Die Bewohner von Mietwohnungen in Helsinki drehen die Heizung ab.
Die Lappen (Bewohner Lapplands) pflanzen Blumen.

+5°C
Die Lappen nehmen ein Sonnenbad, falls die Sonne noch über den Horizont steigt.

+2°C
Italienische Autos springen nicht mehr an.

0 °C
Destilliertes Wasser gefriert.

-1 °C
Der Atem wird sichtbar. Zeit, einen Mittelmeerurlaub zu planen.
Die Lappen essen Eis und trinken kaltes Bier.

-4 °C
Die Katze will mit ins Bett.

-10 °C
Zeit, einen Afrikaurlaub zu planen.
Die Lappen gehen zum Schwimmen.

-12 °C
Zu kalt zum Schneien.

-15 °C
Amerikanische Autos springen nicht mehr an.

-18 °C
Die Helsinkier Hausbesitzer drehen die Heizung auf.

-20 °C
Der Atem wird hörbar.

-22 °C
Französische Autos springen nicht mehr an. Zu kalt zum Schlittschuhlaufen.

-23 °C
Politiker beginnen, die Obdachlosen zu bemitleiden.

-24 °C
Deutsche Autos springen nicht mehr an.

-26 °C
Aus dem Atem kann Baumaterial für Iglus geschnitten werden.

-29 °C
Die Katze will unter den Schlafanzug.

-30 °C
Kein richtiges Auto springt mehr an.
Der Lappe flucht, tritt gegen den Reifen und startet seinen Lada.

-31 °C
Zu kalt zum Küssen, die Lippen frieren zusammen.
Lapplands Fußballmannschaft beginnt mit dem Training für den Frühling.

-35 °C
Zeit, ein zweiwöchiges heißes Bad zu planen.
Die Lappen schaufeln den Schnee vom Dach.

-39 °C
Quecksilber gefriert. Zu kalt zum Denken.
Die Lappen schließen den obersten Hemdenknopf.

-40 °C
Das Auto will mit ins Bett.
Die Lappen ziehen einen Pullover an.

-44 °C
Mein finnischer Kollege überlegt, evtl. das Bürofenster zu schließen.

-45 °C
Die Lappen schließen das Klofenster.

-50 °C
Die Seelöwen verlassen Grönland.
Die Lappen tauschen die Fingerhandschuhe gegen Fäustlinge.

-70 °C
Die Eisbären verlassen den Nordpol.
An der Universität Rovaniemi (Lappland)wird ein Langlaufausflug organisiert.

-75 °C
Der Weihnachtsmann verlässt den Polarkreis.
Die Lappen klappen die Ohrenklappen der Mütze runter.

-120 °C
Alkohol gefriert. Folge: Der Lappe ist sauer.

-268 °C
Helium wird flüssig.

-270 °C
Die Hölle friert.

-273,15 °C
Absoluter Nullpunkt. Keine Bewegung der Elementarteilchen.
Die Lappen geben zu: „Ja, es ist etwas kühl, gib‘ mir noch einen Schnaps zum Lutschen“

Und jetzt kennst Du den Unterschied zwischen Lappen und Waschlappen…

Dezibel (dB)

Vergleich zwischen dB Werten und Alltagsgeräuschen.

Dies ist ein ein Vergleich zum besseren Verständnis von Dezibel

dB = Dezibel, eine Einheit für logarithmische Größen wie Schalldruckpegel, Spannungspegel usw.
in diesem Fall: Schalldruck

dies sind Richtwerte, ich übernehme keine Verantwortung für die Richtigkeit oder die aus der Benutzung der Daten entstandenen Gehörschäden.

dB Beschreibung
0 Hörschwelle
10 Blätterrauschen, ruhiges Atmen
20 leises Flüstern, Ticken einer Armbanduhr
25 Grenzwert für gewerblichen Lärm in der Nacht
30 Flüstern
35 Obergrenze für Nachtgeräusche in Wohngebieten, Schlaf-, Lern- und Konzentrationsstörungen möglich
40 leise Unterhaltung, leise Musik
45 übliche Geräusche in der Wohnung, Obergrenze für Taggeräusche in Wohngebieten
50 normale Unterhaltung, Zimmerlautstärke, Regen, Kühlschrankgeräusche
60 laute Unterhaltung, Gruppengespräch, Stressgrenze
65 Kantinenlärm, erhöhtes Risiko für Herz-Kreislauf-Erkrankungen bis hin zum Herzinfarkt
70 Haushalts- und Bürolärm, Fernseher, Schreien, Rasenmäher
75 Verkehrslärm
80 Telefonläuten
85 Presslufthammer, Gehörschutz im Gewerbe vorgeschrieben, jahrelang ausgesetzt treten Hörschäden auf
90 Autohupen, LKW-Fahrgeräusche, Schnarchen
100 Motorrad, ‚Ghettoblaster‘, Kreis- und Motorsäge, Discomusik, Symphoniekonzert
110 Walkman laut, Rockkonzert
120 Gewitterdonner, Flugzeug in geringer Entfernung, Techno-Musik, Hörschäden schon nach kurzer Einwirkung möglich
130 Schmerzschwelle, Autorennen, Düsenflugzeug in geringer Entfernung
140 Gewehrschuss, Raketenstart, EU-Grenzwert zum Schutz vor Hörschäden
170 G3-Gewehr auf kurzer Entfernung, Ohrfeige direkt aufs Ohr
190 innere Verletzungen, Hautverbrennungen, tödlich

( Quelle: Bundesumweltministerium)

Der sizilianische Fischer

der Unterschied zwischen Glück und Erfolg

Diese Geschichte ist meinem Großvater gewidmet,
der sie mir erzählte als ich noch klein war.

An einem sizilianischen Strand lag mal ein Fischer auf seinem Boot und faulenzte.
Da kam ein Geschäftsmann vorbei und fragte ihn, ob er denn nichts zu arbeiten hätte.
„Doch,“, sagte der Fischer, „ich hab heute morgen 2 Stunden gefischt und genug Geld verdient dass ich mich jetzt ausruhen kann“
da meinte der Manager: „aber wenn du jetzt noch mal 2 Stunden hinaus fahren würdest würdest du noch mal so viel fischen“
„Und was bringt mir das?“, fragte der Fischer
„Naja“, analysiert der Manager, „dann würdest du doppelt so viel verdienen!“
„Und dann?“
„dann könntest du dir nach ein paar Wochen ein zweites Boot kaufen!“
„Und dann?“
„irgend wann bist du dann so reich, dass du eine eigene Fischerei Firma gründest!“
„Und dann?“

der Manager erwiderte: „dann bist du irgend wann so reich, dass du gar nicht mehr arbeiten musst. dann kannst du dich hier an den Strand legen und faulenzen“

„Aber das mach ich doch jetzt schon“

Drucker-Treiber für Brother-DCP-110C unter Ubuntu / Linux

mal wieder ein Tipp für Linux / Ubuntu.

Ich habe den etwas älteren Drucker Brother-DCP-110C. Um den Drucker-Treiber dem System hinzuzufügen reicht es die Brother-Quellen einzubinden:

sudo apt-get install brother-cups-wrapper-extra brother-lpr-drivers-extra

für neuere Geräte gibt es hier eine verständliche Anleitung:http://wiki.ubuntuusers.de/Brother/Drucker#Geraete-neuerer-Bauart

Wie beende ich wget?

WGET töten, stoppen oder beenden je nachdem wie man es nennen will
Hier sind 3 Befehle die unter Linux alle dasselbe tun:

> ps aux | grep -i wget | grep -iv grep | awk {'print $2'} | xargs kill -9> 
> pgrep wget|xargs kill -9
> killall -9 wget

Achtung sie beenden alle wget-Instanzen

zur Erklärung: WGET ist ein Linux/Unix Befehl, um eine beliebige Datei z.B. aus dem Internet auf das lokale Dateisystem herunter zu laden.