Mehr Glück als Verstand: Der Linux-Magazin Wettbewerb ist ausgefochten

Dieser Beitrag ist Teil 3 von 3 in der Serie Linux-Magazin Wettbewerb

    Viele haben nicht mehr daran geglaubt, aber der Wettbewerb des Linuxmagazins ist durchgeführt worden: Im neusten Heft (01/11) sind die Gewinner abgedruckt. Siehe da, ich habs als einziger PHP-Frickler in die Top-20 geschafft:

    Das gute an Programmierwettbewerben ist, dass man mit einer solchen Rangierung für die Zukunft ausgesorgt hat: Reichtum, Jugend, Schönheit, Wein, willige Weiber und einen offiziellen Schutz vor Alterskurzsichtigkeit sind das Minimum das es zu gewinnen gab. Ähhm, nein, sorry, ich hab da was verwechselt.

    Auf jeden Fall: Heeeeeeeeeeerzliche Gratulation den Gewinnern! Gut gemacht! Die Turnierergebnisse und Bots sollen laut Heft alsbald downgeloaded werden können. Ganz im Sinne der Durchführung ist aber bis Dato noch nichts sichtbar. Ich werde sicher analysieren, warum der Frigidor nicht weheheit vor mir liegt. Unter uns gesagt, ist er nämlich viel der bessere Programmierer (der liebe Gott hat mir dafür eine grosse Klappe geschenkt).

    Weiterlesen

    Programmierwettbewerbe: Zeit sollte man haben

    Dieser Beitrag ist Teil 2 von 3 in der Serie Linux-Magazin Wettbewerb

      thinkingLeider kann ich mangels Zeit beim Google AI-Contest nicht mitmachen :(. Und ich habe mich schon so gefreut. Naja, ich hoffe, es gibt einen Nächsten.

      Sehr interessant ist der Verlauf des Wettbewerbs des Linux-Magazins. Alles ging gut bis zum Abgabetermin am 12. September 2010. Ab dann war der Wurm drin: Die versprochenen Bestätigungsmails an die Teilnehmer sind nie eingetroffen und der Organisator ist „abgetaucht“. Die Wettbewerbsteilnehmer haben viel Geduld gezeigt, das Wiki regelmässig von Spam gereinigt und abgewartet.

      Nachdem die ersten unangenehmen Fragen aufgetaucht sind, hat sich die Organisation gemeldet und verkündet, dass ein Bericht in der Novemberausgabe des Magazins erscheinen wird. Das ist er dann auch, aber mehr ist bis jetzt nicht passiert. Der Unmut wird immer grösser, vor allem nachdem eine Teilnehmerliste veröffentlicht wurde, auf der einige Bots fehlen. Leider gibt es weiterhin nur spärlich Neuigkeiten. Eine Community ist ein Dialog: Wird er vom Organisator nicht geführt, führt ihn die Community alleine.

      Wir sind hier organisatorisch mit einem ähnlichen Problem konfrontiert: Programme in vielen Programmiersprachen werden abgegeben und müssen von uns bewertet werden. Auch ein kleiner Mehraufwand pro einzelner Lösung summiert sich schlussendlich zu sehr viel Zeit. Das Einzige, das hilft, ist Denken im Voraus. Klare Richtlinien und Regeln, sonst wird der Aufwand unüberschaubar riesig. Es gibt Beispiele von erfolgreich durchgeführten Wettbewerben: Avaloqix wurde life durchgeführt mit Anwesenden, der Google AI-Contest oder die alten Codezone (Microsoft) Wettbewerbe haben ebenfalls gezeigt, wie es gehen könnte. Ich möchte den Organisatoren vom Linux-Magazin nicht in die Suppe spucken, und wenn sie die Durchführung noch hinkriegen, haben sie meinen grössten Respekt und viel gearbeitet, aber irgendwie war es ein Schnellschuss.

      So ganz per Zufall habe ich noch eine nette Sache entdeckt: Das Freie Magazin führt ebenfalls einen sehr interessanten Wettbewerb durch. Tip: Das LIESMICH im Download lesen :)….

      Jetzt macht auch Google noch ein Programmierwettbewerb

      Ich habe mich schon gefreut: Der Würfler zum Linux-Magazin-Wettbewerb ist fertiggestellt und eigentlich bereit zum Einsenden. Etwas enttäuscht habe ich festgestellt, dass das Problem akademisch gelöst und der optimale Spieler bekannt ist. Nun, der Thrill der noch bleibt ist, dass bei nur 100 Spielen auf 50 Punkte der Zufall eine seeeehr grosse Rolle spielt.

      Doch zu früh gefreut, jetzt kommt das: Die Google AI-Challenge. Man kann nicht mal was gewinnen, aber das Spiel ist unglaublich genial: Es geht darum, Planeten zu erobern:

      Es gibt jetzt schon Starter-Packages für verschiedene Sprachen und das System ist ziemlich offen (für unsere Shell-Krieger 🙂 ). Ab dem 10.09.2010 kann man sich dann offiziell eintragen und losranken.

      Ein Programmierwettbewerb vom Linux Magazin

      Dieser Beitrag ist Teil 1 von 3 in der Serie Linux-Magazin Wettbewerb

        Nachtrag vom 19.08.2010: Ich wurde Opfer von „mod_security“, damit konnte ich keine Artikel mehr editieren, weil ich immer ein „404 Not Found“ präsentiert bekommen habe. DAS ist doch ein Heuler…

        Nun, ich habe eine neue Version des Clients unten hingehäng: Stabiler, so dass er auch eine ganze Nacht über viele Stunden und Verbindungsprobleme hinweg weiterspielt.

        WuerfelOh nein. Frisch erkältet wollte ich mich auf die Arbeiten stürzen, die eigentlich schon letztes Jahr hätten erledigt sein müssen, und nun das: Das Linux-Magazin veranstaltet einen Wettbewerb für Programmierer! Die Details sind in der Ausgabe 09/10 (auch online) beschrieben und es gibt eine Wettbewerbs-Seite dazu.

        Grundsätzlich geht es darum, dass zwei Programme gegeneinander würfeln. Wer zuerst 50 Punkte oder mehr erreicht, hat gewonnen. Ist man am Zuge, so kann man entweder Würfeln oder „Save“n. Bei einem Wurf werden die Augen zu der eigenen Punktzahl hinzugezählt, ausser man würfelt eine 6, dann werden alle Punkte seit dem letzten Save wieder abgezogen. Bei einem Save werden die Punkte gespeichert und der Gegner ist am Zuge.
        Weiterlesen

        Avaloq IT-Adventure Battle-Day

        Dieser Beitrag ist Teil 2 von 2 in der Serie Avaloqix Programmierwettbewerb

          battledaySo, nun ist er also durch, der Avaloq IT Adventure Battle Day. Etwa 40 Anmeldungen verzeichnete Avaloq für den Wettbewerb, die 10 besten Agenten sowie deren Coderz wurden zu diesem Event eingeladen. Das Resultat vorneweg: Mein Agent wurde nach Strich und Faden zerzaust :boxen: und landete auf Platz 8. Nicht den Hauch einer Chance. Ich war schon sehr stolz, in einer solch illusteren Runde überhaupt anwesend sein zu dürfen. Zum Einen war die Veranstaltung Bi-National mit Teams aus Bonn, Köln, Dresden und Berlin, und der Schweiz, zum Anderen bin ich mir schon wie Joe the Plumber vorgekommen :). Mathematikstudenten, Dozenten, passionierte Spieleprogrammierer, die schon während der Präsentation Fachdispute geführt haben :).

          Beim ersten Spieldurchgang haben sich die Programmierer der Agenten vorgestellt und die implementierten Strategien und Taktiken erläutert. Das war wirklich mehr als spannend und lehrreich. Grundsätzlich haben sich zwei Kategorien herausgebildet: Die Bewerter und die Durchspieler (fachlich korrekte Namen aus der Spieletheorie nach Wahl einsetzen).

          Die Bewerter haben verschiedene Faktoren gewichtet miteinander verrechnet: Änderung des Maxflows, Änderung des Current-Flows, eine Kantenwichtigkeit, Quellen- oder Senkenkanten, … Die zweite Gruppe von Agenten hat versucht, möglichst viele Spiele durchzurechnen und so die Züge, bzw. Kanten zu bewerten. Die Durchspieler haben obsiegt (mindestens Rang 1 und 2 gingen an Agenten dieser Kategorie).

          Informatikerkino

          Informatikerkino

          Der Gewinner hat mit einer Vorversion des Agenten schon letztes Jahr gewonnen (obwohl dieser angeblich einen Bug hatte und beim ersten Zug die am schlechtesten bewertete Kante ausgewählt hat 🙂 ). Er war auch der Einzige, der daran gedacht hat, dass die Turnier-Maschinen mehrere Cores haben könnten und diese auch aktiv ausgenutzt hat (an den eigenen Kopf hau! Oft und feste! :kopfklatsch: ). In seinem Handout hat er ein interessantes Paper zur Spieletheorie angegeben.

          Avaloqix hat eine neue Version des Spielfeldes mit erweiterten Debug-Ausgaben gezeigt. Auf einem der Laptops lief ein Matchmaker, der die Agenten automatisch aufeinander los liess; DAS wäre ein gutes Tool gewesen beim Entwickeln :). Sie denken leider eher nicht, dass sie den Wettbewerb noch ein drittes mal durchführen werden. Dafür sind Ideen im Raum, die Spieloberfläche zu opensourcen.

          Der Nachmittag war äusserst spannend und ich habe viel gelernt. Unter Anderem auch, wie hemdsärmelig mein Algorithmus in Tat und Wahrheit war. Etwas mehr Theorie und Optimierung hätten wahrlich nicht geschadet.

          Ich gratuliere allen Gewinnern und danke Avaloq und den Anderen.

          Die Photos sind auf Flickr verfügbar.

          Nachtrag: Juhuu, ich bin doch dabaei in Marrakesch! Das nennt man Lucky Looser :freu: !

          Ich will sie alle: Informatikzertifikate und -kätchen

          CertificationEigentlich ist ja heute der Weltuntergang (made in Switzerland) angesagt. Ob er schon stattgefunden hat kann man übrigens mit der Website Has the Large Hadron Collider destroyed the world yet? überprüfen.

          Diese meine letzten Stunden möchte ich nutzen, um über die Erfahrungen mit Zertifikaten und der Vorbereitung darauf festzuhalten. Was tut man, wenn man im Leben weiterkommen will? Richtig, man heiratet gut und reich. Was macht man wenn man hässlich ist? Richtig: Eine Ausbildung. Was, wenn man dafür zu blöd ist und die Schnauze noch voll hat von einer psychosozialaktiven biologisch abbaubaren lasstunseinanderspürenden Lehramtsausbildung? Richtig: Ein Zertifikat. Und wenn man viel zu viel Schlaf und Zeit hat? Richtig: Viele Zertifikate… :denken:

          Ausserdem macht der Adrenalinkick süchtig 😀 … Darum hier die Erfahrung mit ECDL, LPIC, ZCE und Kollegen…
          Weiterlesen

          Avaloqix: Unterhaltsamer Java-Programmierwettbewerb

          Flow im HirnIch liebe Wettbewerbe und ich liebe das Spielen. Meine inneres, urmännliches Ich springt voll auf das kompetitive Element solcher Veranstaltungen an. Zum Erlegen von Höhlenbären oder für Sportwettkämpfe eigne ich mich definitiv nicht, darum bin ich froh, wenn ab und zu ein Kräftemessen auf meinem – eher wetwarelastigen – Gebiet stattfindet.

          Leider hat es jetzt seit längerer Zeit kein Codeduel (ein spassiger, von Microsoft Schweiz gesponserter/organisierter Event in welchem SOAP-Services gegeneinander angetreten sind, für den es aber leider keine offizielle Website mehr gibt) mehr gegeben und für die kommerzielle Version solcher Wettbewerbe habe ich im Moment wirklich keine Zeit.

          Über die Seite des Schweizerischen Jahres der Informatik bin ich auf Avaloqix gestossen und war sofort begeistert. Am Tag der Informatik am 29. August 2008 in Zürich wird es ein Event speziell zu diesem Wettbewerb geben.

          Das Spiel

          Es geht darum, einen Spieler für eine abgewandelte Version des Shannon Switching Games zu programmieren. Kurz erklärt: Es gibt eine Quelle und ein Senke, die über ganz viele Röhren und Sammelpunkte miteinander verbunden sind. Im ersten Durchgang versucht der eine Spieler einen möglichst grossen Durchfluss zu erzielen indem er Röhren freischaltet, während der andere Spieler ebendies durch das Ausbauen von Röhren zu verhindern versucht. In einer zweiten Runde werden die Rollen der Spieler in demselben Röhrengeflecht getauscht. Gewonnen hat, wer als Durchflussmaximierer den grösseren Durchfluss erzielen konnte.
          Weiterlesen

          Automatisches und mehrfaches submitten von Formularen

          Wirre Gedanken

          FormularDieser Beitrag ist dem Titz gewidmet. Dem Titz, der sich aufgeregt hat :pirate-grumble: , obwohl es gar nicht nötig gewesen wäre und der sich nun mit einer gewissen Teilnehmerredundanz anfreunden muss. Hauptsache ist doch, das PHP fliesst und die Variablen bleiben sauber… Und ein Bierchen würde ich auch noch springen lassen :bier: …

          Eine wichtige Frage zu Beginn: Wieso sollten wir denn automatisch und mehrfach Formulare submitten wollen? Hmm, um den Titz zu ärgern? Weil wir es können? Weil man manchmal tun muss, was man tun muss? Weil man seine 84 Kinder an einem elektronischen Fussballturnier anmelden will :laola: (hat eigentlich schon jemand bemerkt, dass ich neue Smilies und unglaublich Freude daran habe?)? Oder weil man über einen Wettbewerb gestolpert ist, der ebendies nicht verbietet (also das Mehrfachsubmitten, nicht das Kinderanmelden oder die neuen Smilies) und der kein Captcha hat (vielleicht, weil es der Titz vergessen hat)?

          Nachtrag 31.07.2008: Schenken mir doch so unglaublich nette Mitarbeiter einer Versicherung heute morgen am Bahnhof einen Müsliriegel. Und auf diesem eher gesunden Teil hat es, ja rate, oh wissbegieriges Volk, einen Wettbewerb. Ob der Titz wohl am Abend für eine andere Firma weitercoded? Ich werde mich auf jeden Fall während der Zugfahrt mal damit befassen :computer: .

          Vorgehen

          Erster Schritt: Selenium IDE

          Man könnte nun wie wild losprogrammieren, oder aber einen einfacheren Weg wählen. Ein guter Startpunkt für automatisiertes Browsen generell ist die Selenium IDE. Dieses geniale Teil für den Firefox zeichnet wie ein Macrorecorder alles auf, was im Browser gemacht wird. Hat man die Teilnahme beim Wettbewerb einmal so aufgezeichnet, so müssen nur noch die click’s, die das Form absenden, durch clickAndWait’s ersetzt werden, damit vor dem Weiterausfüllen (bei mehrseitigen Formularen) auf die neue Seite gewartet wird. Es empfiehlt sich, eine Abschlussüberprüfung als letzten Schritt hinzuzufügen, um um kontrollieren zu können, ob die Kinder erfolgreich angemeldet wurden (markieren des „Dankeblabla“, dann rechte Maustaste und assertTextPresent).

          Ein Wettbewerb über 2 Seiten. Aufgezeichnet und bearbeitet mit der Selenium IDE.

          Ein Wettbewerb über 2 Seiten. Aufgezeichnet und bearbeitet mit der Selenium IDE.

          Diesen Testcase kann man nun abspeichern und eigentlich immer wieder ausführen. Ein Klick reicht und Firefox rasselt alles schön durch. Den Namen leicht verändern kann man durch Editieren des Skripts…

          Für den zweiten Schritt sollte man das Testscript als PHP exportieren.

          Zweiter Schritt: Selenium RC

          Die Selenium RC Komponente kann den Browser fernsteuern und so ferngesteuert am Wettbewerb teilnehmen. Um sie unter Linux Debian zum Laufen zu kriegen, war ein Bisschen Gemurkse notwendig.

          Weiterlesen

          Wettbewerb für Blogger

          MoneyProBlogger (eifrige Verfolger dieses Blogs wissen, dass der Autor dieses Blogs für mich eine Art Vorbild für gewisse Bloggingaspekte darstellt 😉 ) wird drei Jahre alt. Da er viel Googlesaft zu verschenken hat, hat er in einem Posting aufgerufen, Preise zu spenden, was viele auch getan haben. Und wie: über 50’000$..!

          Ich hab auch gespendet: Ein Set bester Schweizer Schokolade. Bin mal gespannt ob mir das was bringt und ob der Preis überhaupt angenommen wurde 🙂 …

          Auf jeden Fall werden die 50’000$ in den nächsten Tagen und Wochen verschenkt… Wer mitmachen möchte, kann auf der Website vorbeisehen oder den Feed abonnieren.

          Juniorwebaward

          Juhuu, höret die Werbetrommeln: Lernende haben als Projekt eine Page für einen Webaward erstellt: http://mythologie.juniorwebaward.ch/. Ich finde die Seiten wirklich schön und das Thema getroffen ;). Schaut sie Euch an….

          Vielen Dank für die Votings!!! Wir sind auf dem 3. Platz bis jetzt….