Mittwoch, November 05, 2008

Hilfe gesucht

Ich habe eine interessante Idee für ein online Spiel.
Da ich aber immer wenn ich an einem größeren Projekt alleine arbeite bald die Lust verliere, brauche ich noch

1 Programmierer mit Erfahrungen mit Hibernate. Angepeilte Umgebung ist Java mit JSF und oder JSP (wenn sich keiner findet auch PHP).

1 Menschen mit guten musiktheoretischen Kenntnissen. Es geht um maschinell erzeugte Melodien.

Nicht dass wir uns missverstehen - es handelt sich um ein Hobbyprojekt und Geld gibt's nicht.
Falls wider erwarten irgendwann einmal Geld dabei herausspringt, wird fair geteilt, aber daran denke ich jetzt noch nicht.

Donnerstag, Oktober 02, 2008

Mixtape

Ich habe gerade mein erstes Mixtape seit mehr als 10 Jahren gemacht.

Samstag, September 27, 2008

The Pragmatic Programmer (Ruby Teil 2)

Ich habe mir jetzt das erste Kapitel einer online Version des Pragmatic Programmers angetan. Dieses Buch scheint die Bibel der Ruby Programmierer zu sein.

Von den Grundlagen gefallen mir die vereinfachten Initialisierungen von Arrays und Maps (Hash) sehr gut. Damit kann man sich viel Mühe und stupide Arbeit sparen.
Beispiele:
[3.1415, "Pi", 2008] erzeugt einen Array
{ 'a' => 'Einleitung', 'b' => 'Grundlagen', 'c' => 'Objekte' } erzeugt eine Map

Vielversprechend sind auch die ominösen Closures, bei denen junge Programmierer, die gerade von Schweinecode-Skriptsprachen umsteigen, feucht werden.

Und die direkte Einbindung von regulären Ausdrücken (mittels =~ und // ) ist auch eine feine Sache.

Aber es ist mir unerträglich mit welcher Selbstverständlichkeit Fakten zurechtgebogen werden, um Ruby im Gegensatz zu anderen Programmiersprachen gut aussehen zu lassen. Da werden die blödesten Rückfälle in alte Zeiten garniert mit den Prädikaten "einfacher", "besser" und ganz wichtig "eleganter". Damit will man doch nur unerfahrene Leser über den Leisten ziehen.

Eine Freude war mir, wie die Möglichkeit Klammern in allen Varianten wegzulassen erst als Feature verkauft wird - und dann im Nachsatz darauf hingewiesen wird, dass man sie lieber setzen sollte, weil man sonst durcheinander kommt.
Der Compiler, den ich verwende, warnt generell davor Klammern bei Methodenaufrufen wegzulassen, um "mit zukünftigen Versionen kompatibel zu sein".

Und wer denkt sich heute noch eine Sprache aus bei der das Ende der Zeile das Ende des Befehls darstellt? Will man damit erreichen, dass man alle Aktionen freiwillig so klein und überschaubar hält, dass das nicht stört?
Aber das stimmt nicht so ganz, denn man kann nach bestimmten Zeichen ( . , ) anscheinend in die nächste Zeile umbrechen.

geht:
[1,
2]

geht nicht:
[1
, 2]

Zitat aus dem Pragmatic Programmer:
Allerdings gab es bis Ruby eine Unterstützung für reguläre Ausdrücke nur in den sogenannten Script-Sprachen wie Perl, Python und awk.
... und Ruby ist keine Skriptsprache? Und Ruby hat nicht seine ganze RegExp Syntax bei Perl abgekupfert? Und andere objektorientierte Sprachen haben keine RegExp Bibliotheken?
Eine "nicht-Skriptsprache" würde wohl kaum einen Unterschied machen, ob der Aufruf oder die Deklaration einer Methode zuerst in einer Datei steht.

Donnerstag, September 25, 2008

Kleinste gemeinsame Obermengen

Heute hatte ich bei der Arbeit ein interessantes Problem.
Es fing ganz harmlos mit "Business Logik" an und reduzierte sich je mehr ich darüber nachdachte auf schlichte Mengenlehre.

Das Kernproblem ist folgendes und sei dem geneigten Leser zur Implementierung überlassen:

Man hat eine Gesamtmenge A von Mengen B.
Diese Mengen B enthalten eventuell gleiche Elemente.
Aufgabe ist es nun "kleinste gemeinsame Obermengen" zu finden. D.h. wenn zwei Mengen gleiche Elemente enthalten, müssen sie vereinigt werden.

Beispiel:
a: [1]
b: [2, 3]
c: [4, 5, 6]
d: [7, 8]
e: [9]
f: [1, 3, 4, 5]

=>
[1, 2, 3, 4, 5, 6], [7, 8], [9]
d.h. a, b, c und f werden vereint. d und e bleiben separat.

Ich habe das ganze mit Maps, Sets und einer Rekursion gelöst. Und irgendwie habe ich das Gefühl, dass es eine einfachere Lösung geben muss.
Vor allem ist mir auf dem Nachhauseweg aufgefallen, dass ich die ganze Aktion vermutlich auch noch für eine andere Gruppierungsebene machen muss...

Ruby

Ich habe jetzt angefangen mir die Programmiersprache Ruby anzusehen.
Koryphäen wie Martin Fowler schwärmen davon. Und das will etwas heißen, denn er hat ein paar wunderbare Bücher über Programmierung geschrieben. Vor allem den Klassiker "
Refactoring: Improving the Design of Existing Code".
Außerdem ist es die Modesprache des Tages.

Und mein erster Eindruck ist: furchtbare Hackersprache. Javascript reloaded.

* Man kann abkürzen wo man will. D.h. Methodenaufrufe brauchen nicht einmal die sonst üblichen Klammern, wenn man keine Parameter hat.
* Membervariabelen werden nicht zwingend deklariert. Sie entstehen quasi bei Benutzung.
* Methodendeklarationen sind arschhäßlich und erinnern mich an 70er Jahre Sprachen. Anstelle von Klammern wird mit "end" gearbeitet. *schauder*
* Überhaupt scheinen die Entwickler eine Allergie gegen Klammern gehabt zu haben, was bei if und ähnlichen Kontrollstrukturen eher zur Verwirrung beiträgt.

Viele Blogs, in denen Ruby gelobt wird, pochen darauf, dass andere Sprachen viel zu unflexibel seien, zu viel Tipparbeit erfordern und den Blick auf das Wesentliche durch zu viel Ballast ("boiler plate code") verschleiern.

Man kann den Code in Ruby zwar durch diverse Umdefinitionen klein halten, aber m.E. leidet die Lesbarkeit sehr darunter. Vermutlich soll der Name von einer gewissen Verwandtschaft mit Perl zeugen. Sozusagen Perl x C++ mit syntaktischen Anlehnungen an Pascal.
Und ich kann mir wirklich nicht vorstellen, wie man da bei einem größeren Projekt noch durchblicken soll. Sobald die ersten Umstrukturierungen kommen, verliert man den Durchblick.

Ich finde Ruby noch unleserlich und verwirrend, aber so ging es mir mit Java 1.1 anfangs auch.
Mal sehen ob sich der Eindruck ändert, wenn ich erst mal etwas damit gemacht habe.

Dienstag, September 16, 2008

Wenn die Hütte brennt erstmal die Taschen füllen

Die Bankangestellten wollen mehr Geld haben.
Vorgestern hieß es noch, die Banken bieten 0,5% und die Gewerkschaft fordert 8%. Heute höre, ich die Angestellten fordern 8% und die Banken bieten 6% an.

Das sind schon spaßige Gesellen diese Bänker. Nahezu alle Banken müssen Abschreibungen in Millionen-, wenn nicht sogar in Millardenhöhe oder gleich den ganzen Laden zu machen - und sie wollen überdurchschnittliche Gehaltssteigerungen. Das erinnert mich irgendwie an Managerboni.

Ich hätte auch gerne 6% mehr Geld. Dann wären meine Anlagen wenigstens im Plus. Aber abgesehen davon, dass die Fondmanager aus schwankenden Märkten nicht das geringste erwirtschaften, kassieren sie ihre Prozente vom angelegten Geld und nähren sich von meinem erarbeiteten Besitz...

Ich werde mein Geld demnächst nur noch fest verzinst anlegen, dann können die machen, was sie wollen.

Dienstag, August 12, 2008

Olympiade in Peking

Jeder versucht sich zu verbessern. Auch Sportmoderatoren.
Aber muss man denn Zuschauer dabei haben?

Schon bei der Eröffnungsfeier wurden die beiden Moderatoren nicht müde bei allem Flaggen- und Lichterzauber immer wieder darauf hinzuweisen, dass China böse ist. Das war wohl so geplant, denn einer der beiden war die "Polit Talkerin" Maischberger.

Eine übermotivierte Sport Moderateuse fragte Lang Lang, nachdem dieser gerade seine Rolle als olympischer Botschafter für Deutschland am Piano wahrgenommen hatte, nach einem Kommentar zu der "Kritik die ja vielfach im Vorfeld der Olympiade an China geübt wird" (aus der Erinnerung nachformuliert) und meinte damit die heißen Themen Tibet, Internetzensur und allgemein die Zugehörigkeit zur erweiterten Achse des Bösen.
Als Lang Lang die Frage ausweichend beantwortet, hakt sie unerbittlich nach und stellt die Frage einfach nochmal, während JB Kerner sich innerlich noch damit beschäftigte wie der Name des Chinesen jetzt korrekt auszusprechen sei. Der in Öffentlichkeitsarbeit geschulte Lang Lang fand allerdings die ideale Antwort, die alle zufriedenstellt. Puh, noch mal knapp dem kalten Krieg entgangen.
Wer will sehen wie Unterhaltungskünstler Fragen zur Politik beantworten? Was sollen sie antworten? "Ich bin hier nicht gerne. Deshalb verbringe ich soviel Zeit wie möglich im Ausland."?

Es gibt sicherlich genügend Gründe Kritik an China zu üben. Aber dafür haben wir schon Sendungen. Mit Moderatoren. Die sich auskennen.
Ausserdem ist die Olympiade auch nicht in China, sondern in Peking, bzw. Bejing. Und Hong Kong. Ok, das habe ich auch nicht verstanden.

Aber vielleicht hört das ganze ja wieder auf, wenn die ersten relevanten Dopingfälle bekannt werden. Dann kann man an anderer Stelle wichtige Fragen stellen.


Dienstag, April 01, 2008

imba

Zukünftige Sitzenbleiber führen derzeit ein neues Wort in die deutsche Sprache ein. Es lautet "imba" und ersetzt cool (zu veraltet), krass (zu ghetto) und ultra (zu affig).

Dabei ist "imba" die Kurzform von "imbalanced", was rein gar nichts in dieser Richtung bedeutet.

Wie jemand in einem Forum dargelegt hat, stammt die Umdeutung daher, dass die WoW Spieler, die mit ihren ganz passabelen Spielfiguren ständig gegen bestimmte Charakterklassen verlieren, diese als imbalanced schimpfen, weil es ja nicht sein kann, dass ihr eigener Charakter Schwächen hat.

Ich habe noch nie WoW gespielt, aber ich stelle mir das in etwa so vor:
Idi (erspäht potentiellen Gegner): Schönen Ring hast du da. Gib her!
Gegner: Zieh Leine.
Idi: Ich schlag dich Krankenhaus!!!11!
Gegner schützt sich mit einem Spruch gegen physische Angriffe, verlangsamt den angreifenden Paladin und schickt ein paar Feuerbälle.
Idi zieht seine Ogertöter Axt mit Schaden +400 und Trefferchance -200.
Magier wirft weitere Feuerbälle.
Idi stirbt.
Idi: Cheater! Dich werd ich melden.

Gegner: Lerne zaubern, dann weißt Du dass alles ganz normal war.

Idi: Magier sind voll imba.

Andere Spieler lesen die Kommentare ohne den jammernden Tonfall zu hören und denken sich, dass die Spieler, die gewonnen haben eigentlich ziemlich cool sind. Und wenn man sich mit Abkürzungen nicht so auskennt und Akronyme wie "lol" und "rofl" laut ausspricht, denkt man sich "imba" bedeute, dass diese Charakterklassen von besonderer Güte seien.

Der Vorwurf, es gebe ein Ungleichgewicht zwischen den Charakterklassen, ist hahnebüchen, weil ein gutes Spiel von Ungleichgewichten (d.h. Stärken und Schwächen) lebt. Man denke an Stein, Schere, Papier. Wenn man die Schere so hochleveln könnte, dass sie auch durch Steine schneidet, verliert das Spiel seinen Reiz. Aber die Schere wird immer Papier schneiden, da kann das Papier noch so viel jammern. Und auch starke Magier werden gegen irgendetwas verwundbar sein.

Jemand der ein Wort wie imbalanced abkürzt, hat also entweder keine Ahnung, was er gerade sagt, oder er ist ein Einzelkind.

Freitag, März 21, 2008

Bürste

Schon länger her...
da rutschte mir beim im-Stehen-Pinkeln meine Zungenbürste (das ist ein Gerät mit dem man sich... egal - jedenfalls wollte ich es mir oral einführen) vom Wasserkasten. Haarscharf am Klo vorbei auf den Boden. Ich konnte ja schließlich keine ruckartigen Bewegungen machen.
"Puh," dachte ich, "das ist ja noch mal gut gegangen. Die packe ich besser mal sicher weg."
Also lege ich sie mit höchster Sorgfalt in meinen Alibert. Möglichst weit nach hinten, damit es keine Überraschungen gibt.
Und wie ich die verspiegelte Tür schwungvoll schließe und mich dabei freue, dass es das Schicksal gut mit mir meint, löst sich meine Zahnbürste aus der Halterung in der selbigen und und fliegt in einem atypischen 15° Winkel ohne Umschweife senkrecht in den Lokus. Plumps. Total versenkt.
Ich hatte noch Ersatz, danke der Nachfrage.

Mittwoch, März 19, 2008

Romantik kommt in kleinen Dosen

Vorgestern habe ich zum ersten mal seit zehn Jahren an meine Oberstufenflamme gedacht. Nicht nur gedacht - ich habe sogar geträumt.
Wir warteten auf Einlass bei einem Konzert oder einer ähnlichen Veranstaltung. Träume sind da ja nicht so genau. Sagen wir also ein Konzert. Tut auch nichts zur Sache.
Seinerzeit ist aus uns nichts geworden, weil ich erst wollte und sie einen Freund hatte. Und später wollte sie und ich hatte die Nase von Beziehungen voll.
Sie ist weggezogen, ich habe sie Jahre später mal besucht um ihr von meiner damaligen Angebeteten vorzuheulen. Danach hat sie auf meine Anrufe nicht mehr reagiert.

Im Traum jedenfalls setzte ich mich neben sie auf eine Bank. Meine Hand berührte ihr Bein. Wir unterhielten uns und ihr Lachen war genau wie damals. Etwas nervig. Aber immerhin lachte sie.
Sie war so ausgelassen, dass sie begann in der sehr komplexen Ampelanlage, die sich über uns befand, artistische Kunststücke vorzuführen. Ich bin nicht leicht zu beeindrucken. Irgendwann gab eines der Lichter statisch nicht ganz korrekt nach und senkte sich mit ihr wieder zu mir herab.
Das Kino öffnete seine Tore und wir gingen hinauf in eine Loge. Konzert - Kino. So sind Träume halt. Ich fühlte mich glücklich. Und ich musste aufs Klo. Ich ließ diese seltsame Erinnerung an die Vergangenheit dort noch einmal Revue passieren, entschieden in diesem Traum einen Sinn zu finden. Irgendwo gab es einen Zusammenhang.
Mein Unterbewußtsein war da allerdings anderer Ansicht und ließ mich die Titelmusik von Mr. Ed summen, als ich wenig später versuchte wieder einzuschlafen.

Dienstag, März 18, 2008

Frühling oder was?

Mein Gott, heute haben alle Autofahrer den Kaffee auf.
Ich bin noch nie so oft an einem Tag mit Lichthupe oder Linksblinken gebeten worden auf die rechte Spur zu wechseln. Und ich fahre selbst nicht unbedingt langsam. Dicht aufgefahren sind sie natürlich alle.

Es waren alle Kaliber dabei: dicke Merceden mit Halogen beschienenen Nummernschildern, polnische Bullys mit Hehlerware und Senioren beim Tagesausflug.
Und alle haben sie was an der Waffel.

Ich hole mir jetzt erst mal ein Bier...