NetNight 2000 e.V. veranstaltet Geburtstags-LANParty

März 2000, in Essen steigt die erste NetNight LANParty. Dies ist der Beginn eines Vereins, welcher es sich zur Aufgabe gemacht hat, Computerspieler zusammenzubringen und ihnen das gemeinsame Spielen im Netzwerk zu ermöglichen.

Im März 2010 findet deshalb vom 12. bis 14. die NetNight 15 statt. Sie wird die Geburtstags-LANParty zum 10 Jahrestag des Vereins. Deshalb soll natürlich gebührend gefeiert werden. Wie bereits auf einigen Veranstaltungen zuvor, findet auch die NN15 im Ev. Jugendheim „Quelle“ in Kerken-Nieukerk statt. Für 60 Teilnehmer ist Platz in den Tagungsräumen. Im Obergeschoss befinden sich 31 Betten, welche natürlich durch Feldbetten, Isomatten und Luftmatratzen aufgestockt werden können. Des weiteren gibt es zwei Waschräume (Herren & Damen) mit jeweils 2 Duschen.

Wer jetzt denkt, das wird aber teuer, der irrt. Für gerade mal 15€ ist man dieses Wochenende dabei. Wer sich anmelden möchte, kann dies auf der Internetseite der NetNight 15 tun. –> nn15.nn2k.de

Wer mehr über den NetNight 2000 e.V. erfahren möchte, sollte sich einfach mal unter www.netnight2000.de umschauen.

Spielplan für eine Liga in PHP generieren

Nachdem ich seit geraumer Zeit schon auf der Suche nach einem Weg war um einen Spielplan zu generieren und die eigenen Versuche mit diversen Skizzen irgendwie nicht zum gewünschten Ergebnis geführt haben wurde ich schließlich im Internet fündig.

Auf der Internetseite http://www.x3m.ch wurde ich schließlich fündig. Andy Theiler hatte dort einen Algorithmus umgesetzt, welcher schnell und unkompliziert einen Spielplan generiert. Leider war es nicht möglich auch eine ungerade Zahl an Teams für die Berechnung zu verwenden.

Mit ein paar Veränderungen ist es nun möglich, auch z.B. einen Spielplan mit 5 Spielern zu generieren. In diesem Fall wird einfach in der Klasse die Anzahl der Teams um eins erhöht. Dadurch funktioniert die Berechnung. Da wir aber natürlich nur ein Team weniger haben, werden die Spiele, die mit dem zusätzlichen Team zusammenhängen aussortiert. Würde also bedeuten, dass pro Spieltag ein Team nicht dabei wäre. Im Endeffekt jedoch jeder einmal, bzw. mit Rückrunde zweimal, gegeneinander gespielt hat.

Im Anschluss befindet sich noch die in PHP programmierte Klasse zusammen mit meinen Ergänzungen. Wer das Original sucht, sollte hier einmal vorbei schauen.

Weiterlesen

pLANer für WordPress

Derzeit setzen wir im NetNight2000 Verein verstärkt auf WordPress. Um auch für kommende Veranstaltung mit WordPress arbeiten zu können wird derzeit eine kleine Variante von pLANer als WordPress-Plugin umgesetzt. Hierbei wird es erst einmal nur die grundlegenden Features die wir für pLANer angedacht haben in das Plugin implementiert. Dazu zählen was die Seitenbesucht betrifft natürlich ein Anmeldeformular. Auch eine Teilnehmerliste kann abgerufen werden.

Für die Admins gibt es dann noch ein paar weitere Details. Hier können die alle Daten der Benutzer angesehen und verändert werden, wenn dies nötig sein sollte. Auch das Löschen von Teilnehmern einer Veranstaltung ist schnell erledigt. Ganz wichtig ist auch die Auswahl der aktuellen LAN-Party und die Übersicht aller registrierter Clans.

Das ganze System greift auf die Tabellen von pLANer zurück. WordPress-Tabellen müssen sich deshalb in der gleichen Datenbank befinden, wie die übrigen pLANer-Tabellen.

Durch das Plugin können wir erst einmal WordPress für den Internetauftritt verwenden. Später kann man sich dann entscheiden, ob für das Web pLANer verwendet wird oder nicht. Im Intranet selbst soll jedoch nur pLANer während einer LAN eingesetzt werden.

Formulare in WordPress-Plugins per Session absichern

Es kommt vor, dass man Formulare durch eine zufällige Zeichenfolge vor erneutem Versenden schützen möchte. Um diesen Wert zu speichern, bietet sich die Session des aktuellen Benutzers an. Auch kann dadurch niemand mit einem selbstgebastelten Formular Daten übermitteln. Eine wichtige Schwachstelle wäre dadurch geschlossen.

Will man dies jedoch in einem WordPress-Plugin machen, steht man vor dem Problem, dass WordPress keine Sessions verwendet. Man könnte natürlich auch ein Cookie verwenden, aber nicht alle Besucher lassen Cookies zu. Die Session ist also unsere erste Wahl.

An sich ist das Ganze auch recht simpel. Es reicht, wenn man per add_action() bei ‚init‘ eine simple Funktion aufruft, die prüft, ob bereits eine Session besteht und wenn nicht, diese startet. Somit haben wir eine aktive Session in die wir einen Zufallswert speichern können.

Generieren wir nun unser Formular benötigen wir eine zufällige Zahl, besser sogar eine zufällige Zeichenfolge. Diese wird im Formular als verstecktes Feld eingebunden. Beim Empfang des Formulars wird dann geprüft, ob der Eintrag des Formulars mit der Session übereinstimmt. Als erstes sollte nun der Eintrag in der Session wieder gelöscht oder geleert werden.

Man ist jedoch damit nicht auf WordPress beschränkt, dies funktioniert natürlich überall in PHP wo mit Sessions gearbeitet wird. Zur Absicherung auf jeden Fall zu empfehlen.

Piratenpartei auf Angeltour

Es ist Wahlkampf und derzeit versucht die Piratenpartei in ganz Deutschland Anhänger zu finden um die 5% Hürde zu knacken. Ob sie es schaffen kann, steht zwar nicht in den Sternen, am 27. September wissen wir mehr, jedoch sind wohl mittlerweile einige Meinungsforscher soweit, dass sie den Piraten doch noch eine Chance einräumen zumindest in die Nähe der 5% zu kommen.

Mit einem offenen Brief an alle Nichtwähler ruft die Partei nun dazu auf, aus Protest diesmal nicht zu wählen, sonder ein Kreuzchen für die Piraten zu machen. Ob diese Taktik aufgeht und sich mit viralem Marketing auch die breite Masse erreichen lässt, wissen wir spätestens am Abend nach der Wahl.

Mit VLC Videos im lokalen Netzwerk streamen

Für viele Leute ist VLC derzeit wohl der beste Videoplayer. Er braucht keine Codecs, denn er bringt alles wichtige bereits mit. Doch mit VLC kann man noch mehr, als nur Videos ansehen und Audios anhören.

VLC besitzt eine Komponente um einen Video oder Audio-Stream im Netzwerk zu verteilen. Dabei unterstützt das Programm mehrere Eingangsformate. Neben der Auswahl einer Datei, kann man auch von einem Medium (DVD, Audio-CD, S/VCD), einem anderen Stream (Internet, Netzwerk) oder eine direkte Quelle auswählen.

Für die ersten Versuche kann man jedoch erst einmal eine Videodatei auswählen. Nach dem Start von VLC kann man unter dem Menüpunkt „Medien“ das Kommando „Streaming…“ auswählen. Es erscheint ein Dialog, in dem man die Quelle des Streams auswählen kann. Für den Anfang reicht, wie gesagt ein einfaches Videofile. Unter Windows bietet sich z.B. eines der Beispielvideos an. Ist die Wahl getroffen, geht es unten mit dem Button „Stream“ weiter.

Jetzt sollte man nochmals kurz überprüfen, ob man auch die richtige Quelle gewählt hat. Stimmt alles, geht es mit „Nächstes“ weiter. Alternativ kann man auch direkt auf „Ziele“ klicken. Dort sollte man sehen, dass derzeit ein Stream in eine Datei vorausgewählt ist. Wir wollen jedoch nicht in eine Datei speichern sondern den Stream in unser Netzwerk schicken. Als Ziel wählen wir UDP aus. Nach einem Klick auf „Hinzufügen“ können wir unsere Ziel angeben. Soll der Stream im ganzen Netzwerk verfügbar sein, bedienen wir uns der Broadcast-IP-Adresse. Diese erkennt man daran, dass die letzte Gruppe immer 255 lautet. Wir haben hier dann z.B. die Broadcast-IP 192.168.0.255.

Abschließend müssen wir nur noch die Transcodierung einstellen. Die Voreinstellung für H.264 und AAC können wir ruhig so lassen. Unter „Umcodierungsoptionen“ können wir mit dem Werkzeugsymbol einen Dialog öffnen, der uns genauere Einstellungen des Codecs erlaubt. Schauen wir uns dort unter „Videocodec“ die Bitrate an, fällt auf, dass diese derzeit auf 800 kB/s eingestellt ist. In einem lokalen, kabelgebundenen Netzwerk, ist dies ein recht niedriger Wert. Solange wir lokal sind, können wir also auch ruhig die Bandbreite auf 1600 kB/s verdoppeln. Dadurch schaut nachher unser Videostream deutlich besser aus. Jetzt nur noch kurz mit dem Button „Speichern“ die Einstellungen sichern.

Mit einem abschließenden Klick auf Stream starten wir diesen auch schon. Wir übertragen nun einen Broadcast in unser Netzwerk. Diesen Stream können wir nun von einem anderen PC oder Notebook aus empfangen. Hierzu öffnen wir dort den VLC und wählen unter „Medien“ den Eintrag „Netzwerkstream öffnen“ aus. Hier stellen wir wieder unsere Broadcast-IP ein. Jetzt sollten wir das gesendete Videosignal auffangen und anzeigen können.

Es gibt diverse Szenarien, bei denen man VLC einsetzen könnte. Sei es eine Präsentation, die auf mehreren Computern laufen soll, oder man möchte einen Fernsehsender im Netzwerk verteilen. Seit Version 1.0 ist dies ja nicht nur unter Linux möglich, sondern auch in Windows. Genausogut könnte man regelrecht einen eigenen Fernsehsender betreiben, indem man per Webcam und Mikro ein Videosignal ins Netzwerk einspeist. Versucht es einfach selbst einmal.

pLANer – Alternative zu lansuite

Es war ja beim NetNight Verein immer wieder mal angedacht, eine Software zu schreiben um diverse kleinere und größere Tools zu vereinen. Halt eine Alternative zu schaffen, um lansuite abzulösen, welches auch bei manch einer unserer Veranstaltungen verwendet wurde. Doch ist mir lansuite ein Graus. Es ist einfach zu langsam und in der Bedienung viel zu umständlich. Auch findet sich nicht jeder direkt darin zurecht. Dagegen muss man etwas tun und werden wir etwas tun.

Aus OrgaWare wird nun pLANer. Dieses Projekt ist als OpenSource angelegt und steht unter der GPL v3. Basieren wird es auf PHP 5.3 und wird deshalb auch objektorientiert aufgebaut sein. Also keine stupiden prozedurale Programmierung mehr.

Wann eine erste Version verfügbar ist, kann noch nicht gesagt werden, befindet sich das Projekt doch noch mehr oder weniger im Planungsstadium. Wenn es mehr gibt, werde ich selbstverständlich darüber berichten. Sicher ist jetzt aber schon, es wird eine neue Software geben. Ob wir damit lansuite in die Schranken weisen können und endlich mal eine ordentliche Alternative bieten können, wird sich zeigen. Doch wir sind da Optimisten!

NetNight 14: LAN-Party im Zelt

Bald ist es soweit und vom 04. bis 06. September findet auf dem Jugendzeltplatz in Kerken-Eyll wieder eine NetNight statt. Die Ausgabe 14 hat diesmal jedoch eine Besonderheit zu bieten. Sie findet in einem großen Zelt statt.

Die Teilnehmer müssen sich jedoch jetzt keine Sorgen machen, dass ihre Computer schaden nehmen könnten. Die Zelte sind fest aufgebaut und der Boden ist aus Holz und befindet sich nochmals einige Zentimeter über dem Untergrund. Wer Feuchtigkeit fürchtet, braucht sich also nicht den Kopf zu zerbrechen.

Wer übernachtnen möchte, kann sich entweder in einer Blockhütte niederlassen, ein Feldbett wäre dort eine gute Sache, oder kann sich sein eigenes Zelt mitbringen und dort übernachten.

Abgerundet wird das ganze wieder mit diversen Fun-Turnieren. Dem ein oder anderen sind diese ja bereits bekannt.

Wer jetzt nicht mehr warten möchte, kann sich unter folgender URL zur NetNight 14 anmelden.

–> nn14.nn2k.de

XAMPP Beta mit PHP 5.3

Wer sich etwas schwer damit tut, PHP 5.3 selbst in ein bestehendes XAMPP zu integrieren, der sollte sich einmal die neue Betaversion ansehen. Dort ist diese Version schon integriert. Abgeraten wird jedoch, wie bei jeder Software in diesem Zustand, diese Beta jedoch für produktive Umgebungen zu verwenden. Als Testsystem und für die ersten Gehversuche mit PHP 5.3 völlig ausreichend.

–> apachefriends.org

Galileo Press: PHP 5.3 & MySQL 5.1

Wer sich das im Titel genannte Buch gekauft hat, dem wird beim programmieren schnell auffallen, dass die Verwendung für Namespaces nicht wie beschrieben funktioniert. Die Ursache des Problems liegt jedoch nicht bei den Autoren des meines Erachtens nach herrvorragenden Buches, sondern daran, dass sich die Truppe hinter PHP dazu entschieden hat ein paar Dinge zu verändern.

Hätten wir vorher wie folgt programmiert:

namespace System::Test::Namensraum;

wird daraus nun folgender Code:

namespace System\Test\Namensraum;

Jetzt sollte das ganze wieder richtig funktionieren.

Natürlich stimmen deshalb die Quelltexte auf der CD des Buches nicht mehr. Eine aktualisierte Fassung kann man jedoch über die Internetseite phpundmysql.de beziehen.