StatistikenLetzter Artikel: 27.08.2010 22:50
912 Artikel wurden geschrieben
504 Kommentare wurden abgegeben
Blog abonnierenBlogrollahoi polloi
Fefes Blog Bestatterweblog lbrandy.com Dr. Ashen AnT Blog Pirates of Love ipfreaks.de for the good of all of us The Nonbiri Times Animexx Alpha-News L'Antre de la Fangirl Svens Netzblog Joey's Logbook virt music die nachtschwester Anarchaia meidocafe Klopfers Weblog Wooster Collective Inverted Castle Powered by |
Quicksort in Perl - doing it the functional way!Sonntag, 15. August 2010
Da es gestern in der Warpzone einen netten Vortrag über Erlang gab und dabei wieder mal der Quicksort-Algorithmus als besonders klar lesbares Beispiel (unser Beispiel an der Tafel gestern hatte mehr Zeilenumbrüche, hier schwächelt die Wikipedia-Version etwas...) die Vorteile der Notation funktionaler Programmiersprachen demonstrierte, muss ich hier mal den entsprechenden Perl-Code einfügen:
#!/usr/bin/perl
use warnings;
use strict;
sub quicksort(@);
sub quicksort(@) {
my ($pivot, @rest) = (@_);
return () unless defined $pivot;
return ( quicksort( grep { $_ < $pivot } @rest),
$pivot,
quicksort( grep { $_ >= $pivot } @rest) );
}
print join (', ', quicksort(1, 7, 5, 3, 2, 18, 33, 7, 4, 12, 1)) . "\n";
Klar, das kann man unter Perl auch genauso kompliziert und undurchschaubar wie unter C oder ähnlichem schreiben. Perl lässt einem aber wie üblich die Wahl - zwar ist die Syntax nicht so durchgängig wie funktionalen Sprachen auf "mathematische Notation" ausgelegt, aber wie man erkennt, kann man sich auch durchaus in die Richtung bewegen. Funktionieren tut's und an dem Beispiel kann man, wie unter Erlang oder Scala auch, den Pudels Kern, sprich: den Gedanken, der hinter Quicksort steckt, sichtbar machen, ohne sich in der Implementierung zu verlaufen. Als netter Nebeneffekt ist das sogar alles immutable, bei jeder Rekursion wird der Array geklont. Was vermutlich definitiv nicht so effizient abläuft, wie in darauf getrimmten Sprachen... Raichoo hat noch Quicksort in Scala - das hatte ich allerdings etwas übersichtlicher in Erinnerung. Bei der Notation liegt Erlang insgesamt ganz klar vorne. Und ich bilde mir ein, dass sogar die Perl-Variante etwas übersichtlicher als Scala ist - auch wenn ich den doofen Funktionsprototypen vorher deklarieren muss :-) Pokémon SoulSilver Teil 1Montag, 21. Juni 2010
Ich habe mir Pokémon SoulSilver für den DS geholt ... und bin begeistert:
Über 100 Spielstunden habe ich rum (keine Ahnung, woher ich die Zeit nehme) und bin doch gerade erst beim 9. von 16 Orden, also knapp nach der Mitte. Eigentlich habe ich mir das ja als "mal gucken, was daran so gut sein soll" besorgt. Inzwischen verstehen verstehen, warum diese Serie seit 15 Jahren gemolken wird und weltweit so viele Fans hat. Da haben die Entwickler echt was auf die Beine gestellt! Der Einfachheit halber fange ich mal mit einer ganz platten Beschreibung des Spielprinzips an, ohne Tiefgang, einfach das, was einem oberflächlich sofort ins Auge springt: Pokémon spielt sich wie ein typisches RPG. Man rennt über eine Landkarte und wird von Zeit zu Zeit in Kämpfe verwickelt, welche man mit seinen Pokemon austrägt. Dabei läuft man von Ort zu Ort, erfüllt bestimmte Aufgaben und wird in eine Geschichte eingebunden. Man kann mit maximal sechs Pokémon durch die Gegend laufen. Anfangs hat man nur ein eigenes - die anderen muss man sich fangen. Prinzipiell ist jedes "Monster", das man bekämpt, auch ein Pokémon, das man, statt es zu besiegen, fangen kann (jedenfalls kann man das versuchen, es klappt nicht immer). So ist man auch schon bei der bekanntesten Nebensache im Spiel: Versuchen, alle Pokémon, die es gibt, zu fangen. Jedes Pokémon hat dabei bestimmte Statuswerte, außerdem kann es verschiedene Attacken lernen - derer aber immer nur vier. Hat es genug Erfahrungspunkte erkämpft, steigt es einen Level auf und verbessert seine Werte, lernt ggf. neue Attacken (wobei man dann die Wahl hat, alte Attacken zu vergessen oder die neue nicht zu lernen) oder verwandelt sich sogar in ein anderes, meist besseres Pokémon (Evolution). Jedes Pokémon und jeder Angriff werden einem bestimmten Typ zugeordnet, z.B. Normal, Geist, Feuer, Wasser, Pflanze etc. In einem erweiterten Schere-Stein-Papier-Prinzip sind diese Angriffe unterschiedlich wirkungsvoll: Ein Normal-Angriff hat z.B. gegen einen Geist gar keine Wirkung, ein Feuer-Pokémon lässt sich sehr wirkungsvoll mit Wasser bekämpfen und so weiter. Nicht alle Attacken verursachen direkten Schaden, es gibt auch Spezialattacken, die den Gegner verlangsamen, vergiften, verbrennen, direkt aus dem Kampf entfernen, seine Flucht verhindern und so weiter. Natürlich gibt es auch Items einzusetzen: Heiltränke, Gegengift und ähnliches, aber auch Spezialitems zum Ausrüsten, die beispielsweise Wasserangriffe verstärken oder einem Pokémon Erfahrungspunkte zukommen lassen, auch wenn es nicht am Kampf teilgenommen hat. Anders als in anderen Spielen, wo es meist genau eine ideale Waffen- oder Rüstungskombination für jeden Charakter gibt, ist bei Pokémon nichts klar vorgegeben. Die Kombinationsmöglichkeiten sind schier unendlich: Man kann die sechs Plätze in seiner Party aus über 400 Pokémon besetzen, darüber hinaus trifft man beim (Ver-)Lernen der Attacken zwangsläufig Entscheidungen, die die eigene Pokemontruppe ziemlich einzigartig machen. Man muss seinen eigenen Kampfstil und seine eigenen Lieblingspokémon finden. Jeder wird das Spiel anders spielen, sowas wie "das beste Pokémon" gibt es nicht - durch das Schere-Stein-Papier-Prinzip bleiben immer irgendwo Lücken offen, so dass man sich seine Gruppe für bestimmte Kämpfe speziell aussuchen und passend ausstatten muss. Es reicht auf Dauer nicht, einfach mit irgendwelchen sechs Pokémon durch die Gegend zu rennen Das ist für mich bereits ein fundamentaler Punkt, der Pokémon aus der Masse anderer Spiele heraushebt: die Einzigartigkeit des Teams und die Vielzahl der Möglichkeiten, aus der man wählen kann. Kombiniert mit den soliden Konsolen-Rollenspielelementen macht bereits das jede Menge Spaß. Das Spiel hat aber noch viel mehr zu bieten, aber davon schreibe ich ein andermal... Leonardo Campus Run 2010Donnerstag, 17. Juni 2010
...genauer gesagt mal wieder der 5km TK-After-Work-Run - wie schon seit so einigen Jahren.
Das ganze war schon gestern und sitzt mir immer noch in den Knochen bzw. Muskeln - solange ich mich nicht bewege, tut's aber auch nicht weg :-) Ergebnis dieses Jahr: 26'57". Das ging schon mal besser! Knapp anderthalb Minuten schlechter als letztes Jahr. Das Wetter war ok, zwar etwas warm und sonnig, aber leichter Wind. Zumindest nicht schwül, dafür eher leicht staubig. Mein Mund war ausgetrocknet im Ziel. Und nun zur Entschuldigung, warum ich mit der Zeit trotzdem zufrieden bin: Das ganze ging taktisch in die Hose, nicht körperlich. Da dieses Jahr zum ersten Mal mit Transponder-Chips statt Barcode gelaufen wurde, gingen meine umstehenden Kollegen und ich davon aus, dass für jeden seine individuelle Startzeit beim Passieren der Startlinie genommen wird, genau so, wie es auch später im Ziel passiert. Ergo haben wir uns absichtlich ganz hinten am Start aufgestellt - bei knapp 1000 Teilnehmern wohlgemerkt. Diese Entscheidung war doppelt schlecht. Zum einen gab es keine individuelle Startzeit. Es hat bestimmt mindestens 30 Sekunden gedauert, bis sich der Tross in Bewegung gesetzt hatte und wir überhaupt an der Startlinie vorbeikamen. Da lief die offizielle Zeit natürlich schon. Zum anderen bildete sich durch die Teilnehmerzahl in den recht engen Wegen am Anfang des Rundkurses ein ziemliches Gedränge. Auf den ersten 800 Metern bin ich teilweise gegangen statt zu laufen, weil einfach kein Durchkommen war. Das wirkt sich natürlich auch negativ auf die Gesamtzeit aus. Als sich das Knäuel dann langsam auflöste, konnte ich reihenweise und durchgängig andere Leute überholen, aber mein persönliches Ziel "Bernd", den es zu überholen galt, habe ich erst auf den letzten Metern vor dem Ziel zu Gesicht bekommen. Immerhin gab mir das nochmal einen dicken Motivationsschub, den ich zu dem Zeitpunkt dringend nötig hatte. Den persönlichen Wettstreit mit Bernd habe ich also rein nach der Zeit zwar verloren (er war 10 Sekunden schneller), aber auch er zieht die widrigen Startumstände meinerseits zumindest in Betracht. Hauptsache, ich kann es mir schönreden und bin mit der Leistung zufrieden - und das bin ich und das reicht ja :-) Also Vormerken fürs nächste Jahr: WEITER VORNE STARTEN! Und komische Erlebnisse am Rande: Ich hatte meinen Pokéwalker in der Tasche, einmal zum Schritte-Schinden und einmal als improvisierte Uhr. Den erspähte eine Kollegin und tat kund, dass wir demnächst Pokémon tauschen können, sie hat auch so einen, genauer sogar zwei, sie hat nämlich sowohl HeartGold als auch SoulSilver. Was erwachsene Leute so für komische Hobbies haben, tsk tsk tsk ;-) Tiki the KiwiSamstag, 5. Juni 2010
Geil!
Ich habe heute mal einen Spiele-Gebrauchtladen durchstöbert und bin auf New Zealand Story Revolution für den DS gestoßen. Da es gebraucht schön billig war, habe ich es einfach mal mitgenommen. (Und weil es ein "nimm 3, zahl 2"-Angebot gab, habe ich jetzt auch Phoenix Wright - Ace Attorney und ein Bomberman, letzteres müsste man drahtlos mit 8 Leuten spielen können. Rejoyce!) New Zealand Story war einer von den drei Spielautomaten, die ich in meinem Leben jemals ernsthaft mit Münzen gefüttert habe. Ich kannte sogar mal die Position der Warp-Zonen auswendig. Von der DS-Umsetzung hatte ich bis dato nie gehört, aber bei der Gelegenheit musste ich einfach zugreifen. Viel bei der Umsetzung falsch machen kann man eigentlich nicht, zur Not emuliert man das Original einfach stumpf :-) Na ja, was soll ich sagen? Bereits im ersten Level konnte ich die Musik mitsingen. Ist wie Fahrradfahren: verlernt man nicht. Wir werden noch viel Spaß haben, das Spiel und ich. Irgendwann zwischen Pokémon, Castlevania und den anderen Neuerwerbungen... Wann soll ich das alles spielen? Professor Layton und das geheimnisvolle DorfDonnerstag, 13. Mai 2010
Ich habe mein erstes offizielles DS-Spiel durch :-)
Layton war eine gute Empfehlung und hat definitiv Spaß gemacht. Ich habe das Spiel jetzt zwar offiziell gelöst, von der reinen Rätselmenge würde ich aber sagen, dass ich erst bei ca. 70% bin. Ich kann mich noch mit Bonusrätseln und Zusatzfragen vergnügen. Worum geht's bei dem Spiel? Es ist eine Art Detektiv-Adventure in klassischem 2D, allerdings mit leichten Unterschieden: Die Dialoge laufen immer als Zwischensequenzen ab, man kann keine Antwortmöglichkeiten wählen. Und auch die Rätsel erstrecken sich nicht auf das Finden und Kombinieren von Hinweisen, der große Fall im Hintergrund wird quasi automatisch gelöst. Stattdessen kommen einem laufend kleine Knobeleien in die Quere, die man lösen muss, um weiterzukommen. Das können Streichholzverschiebespiele sein, das klassische "Wolf, Schaf und Kohlkopf sicher über den Fluss", Suchbilder, Logikrätsel und - sehr zu meiner Freude - auch mal Scherzfragen. Das ganze Spiel lässt sich komplett mit Stift und Touchpad bedienen, was sehr elegant ist. Das ist definitiv auch für Nicht-Spieler geeignet, damit kommt jeder zurecht, der schon mal ein Kreuzworträtsel in der Zeitung gelöst hat. Zu meiner Überraschung sind die wichtigen Schlüsselszenen sogar komplett animiert, da läuft dann ein waschechter Anime auf dem DS-Bildschirm. Nicht schlecht! In Japan ist glaube ich schon Teil vier draußen, hierzulande steht immerhin schon der zweite Teil in den Regalen. Den werde ich mir bestimmt auch noch besorgen. Intelligente Knobeleien für Zwischendurch machen Spaß. Einziger Kritikpunkt: Die Spieldauer. Ich habe bis 10 Stunden geknobelt, inklusive offline-Nachdenken und nicht-gespeicherten Fehlversuchen komme ich vielleicht auf 12 bis 13 Spielstunden. Machen wir 20 draus, wenn ich jetzt an den Resträtseln noch knabbere - die werden ja nicht gerade leichter. Verglichen mit Pokémon ist das gar nichts: Da bin ich momentan bei exakt 90 Spielstunden und stehe zwischen Siegesstraße und Pokemonliga, also vermutet irgendwo in der Nähe der Hälfte(!). Wenn man dann berücksichtigt, dass beide Spiele das gleiche kosten, kommt Layton beim Spaß/EUR-Quotienten nicht so sehr gut weg... epic soccer failSonntag, 9. Mai 2010
Auch dieses Jahr habe ich wieder mit einem klar definierten Algorithmus an unserer Fußballtipprunde teilgenommen.
Und wieder habe ich empirisch bewiesen, dass es nicht die Leute ohne Ahnung sind, die gewinnen. Ich habe einen glorreichen letzten Platz eingefahren. Wie war dieses Jahr das Vorgehen? Ich habe mir automatisiert Wettquoten aus dem Internet besorgt und habe nach dem Motto "die geringste Quote ist das wahrscheinlichste Ergebnis, da haben sich Profis Gedanken drum gemacht, es geht immerhin um viel Geld" immer die Ergebnisse mit der niedrigsten Quote getippt. In der Spielpause über den Jahreswechsel habe ich einen kapitalen Fehler in meinem Skript bemerkt: Die Quoten wurden sauber verarbeitet und entsprechende Tipps ausgespuckt. Das automatische Eintragen der Tipps in unserer Wettrunde hat auch funktioniert. Leider haben sich beide Programmteile nicht über die Reihenfolge der Tipps geeinigt: Die mühsam errechneten Ergebnisse wurden immer in den falschen Partien getippt. Totaler Murks also. Interessantes Ergebnis: Nach 17 Spieltagen mit dem dicken Fehler kam ich auf 87 Punkte in unserer Tabelle (schon damals eisernes Schlusslicht). In den nächsten 17 Spieltagen ohne den Fehler habe ich dann 93 weitere Punkte eingefahren. Wenn man die Messungenauigkeit abzieht, ist also "totalen Mist tippen" genauso ergiebig wie "die Wettquoten rückwärts tippen". Vielen Dank für diese Information... Die Idee für die kommende Saison steht auch schon (ich hatte damit schon mal experimentiert): Ein großes Regelset aufstellen, als Parameter die bisherigen Saisonergebnisse reinfließen lassen (Anzahl Heimsiege, Torverhältnis, Tabellenplatz...), dann mit brute-force-Algorithmen ausprobieren, bei welcher Gewichtung der Parameter eine simulierte Tippabgabe die meisten Punkte eingebracht hätte. Das wird am ersten Spieltag nicht wissen, was es tun soll, müsste aber mit zunehmender Zeit immer genauer arbeiten. Erste Forschungsergebnisse: Wenn man zu viele Parameter mit zu vielen Werten durchprobiert, rechnet mein Server da ganz schnell mal einen oder mehrere Tage dran. Und die bisher erfolgversprechende Parametergewichtung scheint "es gewinnt der, der in der Tabelle höher steht, alles andere ignorieren" zu sein... Diese Erkenntnis ließe sich dann aber auch einfach in Software gießen - ich muss halt nur weiterhin das Strategieverbot (nicht mehr als 6x Heimsieg) umschiffen. (Programmieren macht mir mehr Spaß, wenn das irgendwie mit der echten Welt interagiert.) #warpzoneSonntag, 9. Mai 2010
Vorhin war ich zum ersten Mal in der warpzone hier in Münster und hab das Hack'n'Breakfast 7 besucht. Es gab Würstchen, einen gehaltenen Vortrag (tiling window manager), einen gehörten Vortrag (Scala), Mate, etwas Rumgehacke (bunte XTerms!) und Gebastele (madplay für das VP6500? es compiliert, ist aber total ungetestet) und paniq auf die Ohren - ich denke, ich werde da bestimmt nochmal vorbeischauen :-)
Der Vergessenheit anheim gefallen sind leider Keysigning und das Finden des Border-Fehlers in dwm-mitch... Aber das werde ich vorerst überleben. Erste EindrückeSonntag, 11. April 2010Tales of Symphonia ~ Dawn of the New WorldTrotz Anime-Szenen im Intro: extrem öde und detailarme 3D-Cutscenes. Holzige Charaktere, leere Level, kein Witz, keine Story, lahme Musik. So gestaltete sich für mich die erste halbe bis dreiviertel Stunde. Da hat mich das SNES-Opening von Tales of Phantasia seinerzeit mehr begeistert. Gut, ich hab mir das Spiel nur gekauft, weil es runtergesetzt war. Da ist aber noch eine umfangreiche Warmwerdephase fällig. (Gekauft weil billig kann aber auch besser funktionieren!) Sakura Taisen V ~ So Long My LoveEndlich da! Zwei Schockmomente: Oh, Englischer Dub (ist aber nicht schlimm - und Gemini hat einen leichten Texanischen Akzent, das ist toll) und oh, ein komplett neuer Cast (aber es gibt Gastauftritte der alten und ich werd's überleben). Aber dann: Sakura Taisen! Nicht in Moon Language! Endlich! Mit japanischen Songs! Mit schmissiger Musik im Hintergrund! Mit guter Optik! Mit sehr stimmungsvollem Menüdesign! Mit verständlichen Texten - so ist das LIPS-System interessant! Und oh, was sind die Kämpfe lang. Unfreiwillige Komik ("Wieso liegt denn da Stroh?"). Bin mal gespannt, wieviele Episoden das sind, die erste hab ich schon durch. Spielspaß! Ich will mehr davon! Da bleibt Pokemon auf dem DS (auch ein ganz übler Zeitfresser) jetzt erstmal liegen, jetzt wird Sakura Taisen gespielt. Na ja, zumindest noch bis heute abend. Ich verleihe nämlich ausgerechnet jetzt meine Wii... Starship PatrolDonnerstag, 25. März 2010
Boah, das war gut!
Wie schon geschrieben, hat mir Starship Patrol für den Nintendo DSi ausgesprochen gut gefallen. Es handelt sich um ein Tower Defense-Spiel, bei dem man Kanonen positioniert, um Gegner abzuschießen, die sich auf vorbestimmten bestimmten Bahnen auf den Spieler stürzen. Das ganz klingt einfach, ist es prinzipiell auch und zusätzlich ist es auch grafisch ziemlich auf retro gestimmt. So ein Spiel hätte sich tatsächlich zu 8bit-Zeiten machen lassen müssen, nur kam da wohl noch wirklich keiner auf die Idee (oder jemand hatte die Idee und ich weiß nichts davon). Dass es sich um ein 5-Euro-Downloadspiel handelt, hat man eigentlich nur am Ende gemerkt: Der "Abspann" beim Durchspielen besteht aus der lapidaren Meldung "Sie haben den Krieg gewonnen. Sie können weiterhin Sektoren nach übrigen Gegnern durchforsten." und man kann weiterspielen. Das muss ich auch, da ich bisher nur 25 von 30 Leveln auf "perfekt" stehen habe (und zwei Level noch gar nicht geschafft habe). Da ist noch genug Motivation übrig. Eine Runde dauert ca. fünf bis zehn Minuten - also ideal für ein kurzes Spiel zwischendurch. Selbst, wenn ich mal alle Level durchhabe, werde ich das Spiel bestimmt noch öfter rausholen und entweder nach neuen Highscores jagen oder einfach so irgendwelche Level nochmal spielen. Bei der Levelanzahl wird das noch etwas dauern, bis ich alles auswendig gelernt habe. Jeder, der 5 Euro übrig hat (oder seine initialen 1000 DSi-Shop-Punkte noch nicht ausgegeben hat), sollte sich das mal angucken und in die engere Erbwerbswahl ziehen. Bei mir steht das Spiel vom Spaßfaktor noch über Professor Layton und das geheimnisvolle Dorf - und das, ohne den Preis mit einzubeziehen. Hier mal ein Beispielvideo auf Youtube. PS: Es scheint eine iPhone-App gleichen Namens zu geben, das ist aber was deutlich anderes. JubiläumSamstag, 20. März 2010
"200 tweets" sagt Twitter. Seit damals.
Damit ist mein Twitter-Account nicht rausgevoted und bekommt eine klare KEEP/BUY-Empfehlung. Und nein, ich habe trotzdem noch nicht rausgefunden, wozu ich das überhaupt benutze. (Mein twirssi hat inzwischen schon einen lokalen Patch, damit ich mehrere Suchbegriffe in einem Abonnement kombinieren kann, aber den wollte Upstream wohl nicht einbauen...)
(Seite 1 von 19, insgesamt 187 Einträge)
» nächste Seite
|
SucheKategorienKommentareeni zu The Atrocity Archives
Fr, 27.08.2010 23:12
Die korrekte Übersetzung von A
rithmancy wäre Arithmomantie.
Ob das bei Harry Potter entspr
echend übernommen wurde [...]
Mi, 18.08.2010 23:26
blog update: Bewegte Wochensch
au http://7ax.de/1l4h #youtube
#video #8bit #streetart #cats
#hannover http://bit.ly [...]
psycorama zu Goldene Regeln fürs Geocachen
Do, 05.08.2010 23:04
Protip am Range: Lass dich nic
ht von Muggeln beissen. :)
mitch zu Servicewüste Deutschland
Do, 29.07.2010 20:23
Heute (also Donnerstag...) 19:
05 neuer Anrufversuch, ich war
aber gar nicht zu Hause. Wie
der die gleiche Textbaus [...]
Verwaltung des Blogs |

