Mein Alter Schatz

Der beste Computerkauf den ich je gemacht habe, war mein Armada 7350 Notebook. Das war jetzt vor 6 Jahren, und in der Zeit hat er mich nur ein paarmal im Stich gelassen. Und der Service war Spitzenklasse, dafür habe ich gern ein paar Mark mehr gezahlt.

Die ersten 3 Jahre lief der Rechner 24/7, und das sage ich nicht nur so, sondern genau so war das. Wenn ich nachts schlief, hat der Rechner oft Profiling-Läufe gemacht. Ich habe ihn in Bus und Bahn und Autos benutzt, im Rucksack durch Deutschland geschleppt, bei Freunden in die Telefonleitung gestöpselt, usw. Wir waren unzertrennlich, mein Armada und ich.

Heute ist er ein wenig in die Jahre gekommen. Die Pentium 166 CPU kann nicht mehr mithalten. 800×600 Pixel Auflösung reichen zwar noch zum programmieren und für Mail, aber ich wünsche mir ständig etwas mehr. Und ich brauche ihn auch nicht mehr so oft. Meine Adressen verwaltet der Palm, Mail lese ich daheim und auf der Arbeit, reisen tue ich nur noch selten, und im Bus lese ich inzwischen wieder Bücher, statt zu programmieren.

Aber heute wird er wieder aus der Versenkung geholt. Ich fahre nach Deutschalnd über die Feiertage, und bei meinen Eltern zu bleiben, ohne einene eigenen Computer, ist einfach undenkbar. Außerdem habe ich 19 Stunden Fährfahrt, in denen ich vielleicht mal zum schreiben komme.

Neue Räder

Heute habe ich endlich Winterreifen gekauft. Für mein Fahrrad natürlich. In Deutschland habe ich die noch nie gesehen, da sind die auch nicht so wichtig, aber hier in Norwegen, wo Bürgersteige mehrere Zentimeter dicke Eisschichten tragen, kommt man ohne spezielle Reifen ins schleudern.

Piggdekk

Jetzt muss ich sie nur noch montieren, aber ich glaube, das mache ich, wenn ich von der Weihnachts-Tour nach Deutschland zurückkomme. Morgen geht’s los.

New Comic: Pondus

I’ve added a RSS feed for english Pondus strips to my site.

Pondus is currently a favourite comic strip of mine. It’s Norwegian like Nemi, and it has a very unusual kind of humour not found in most syndicated cartoons. I’m sure the suthor is influenced by Calvin & Hobbes in some ways, although his subject matter is completely different. check it out.

Thinking of adding a norwegian feed as well.

Eressea und luabind

Für die neue Vinyambar-Partie habe ich mir den Spaß gemacht, Lua-bindings für Eresseas wichtigste Funktionen zu machen. Das bedeutet, ass man jetzt den Server aus lua heraus skripten kann. Der Server ist in dem Sinne nicht mal mehr strikt ein Server, er kann auch für programmatische Änderungen am Datenfile benutzt werden. Das ist cool, und sieht z.B. so aus:

function process(infile, outfile, orders) if read_game(infile)~=0 then print("could not read game") return -1 end read_orders(orders) process_orders() write_passwords() write_reports() if write_game(outfile)~=0 then print("could not write game") return -1 end end

Das ist eine normale Auswertung: Datenfile laden, Befehle lesen, Befehle abarbeiten, Passworte schreiben, Reports schreiben, Datenfile wieder speichern.

Für WdW müssen wir haufenweise Parteien in Allianzen einordnen, Aussetzen, und eine Menge Einheiten mit Startitems für jede der Parteien machen. Da die Daten dafür in der Datenbank stecken, generiere ich mir einfach ein kleines lua-skript daraus:

alliance = add_alliance(13, "Einwohner von Lummerland") position = get_position(13) faction = make_faction(position, alliance, 5, "bla@fasel.de", "Dämonen") ... for faction in factions() do local u = add_unit(faction, position) u:set_skill("magic", 3) u:add_item("money", 1000) end

Das ist nur beispielhaft, das wirkliche Skript ist 200 Zeilen lang.

Das schöne ist, sowas kann ich beliebig weitertreiben. Ich brauche eine Datei, in der der aktuelle Spielstand steht? Kein Problem, einfach eine lua-funktion gemacht, die den in eine Datei rausschriebt.

Das gute daran ist, dass man verschiedene Skripte für verschiedene Vinyambars (oder Eressea) benutzen kann, aber alles den gleichen Server benutzt. Der spielbezogene Teil muss nicht neu kompiliert werden, weil die Skripte zur Laufzeit interpretiert werden.

Das ist toll. Ich kann jedem, der ein eigenes PBEM schreibt, nur empfehlen sich einer Skriptsprache zu bedienen, zumindest um die Kern-Funktionen seines Programmes steuern zu können.

Als Tool benutze ich dazu [url=http://luabind.sf.net]luabind[/url], das erlaubt es sehr einfach, C und C++ Code nach lua zu binden. Dafür ist der ganze Eressea-Server jetzt C++-verträglich geworden (schon vor einer Weile). Der luabind-code sieht in etwa so aus:

void bind_region(lua_State * L) { module(L)[ def("regions", &get_regions, return_stl_iterator), def("get_region", &findregion), class_<struct region>("region") .property("name", &region_getname, &region_setname) .property("info", &region_getinfo, &region_setinfo) .property("terrain", &region_getterrain) .def_readonly("x", &region::x) .def_readonly("y", &region::y) .def_readwrite("age", &region::age) .property("units", &region_units, return_stl_iterator) .property("buildings", &region_buildings, return_stl_iterator) .property("ships", &region_ships, return_stl_iterator) ]; }

Ja, das ist [b]wirklich[/b] reines C++, auch wenn es nicht so ausschaut. Habe ich auch erst nicht glauben können 🙂

Wo die Liebe hinfällt

Auch dieses Jahr schaffe ich es nicht, glücklich Single zu bleiben. Und auch wenn die Hoffnung war, dass sich etwas an meinem “Glücklich Single” Status ändert, sieht es so aus, als wenn lediglich der “glücklich” Teil des Status eine Revision erfährt.

Der Grund für meine emotionale Berg- und Talfahrt ist eine Norwegerin. Endlich, werden diejenigen sagen, die mich kennen. Endlich hat er mal eine getroffen, die ihm gefällt. Ich bin da ja wählerisch, vielleicht sogar zu sehr. Sie ist aber scheinbar noch wählerischer, und so sitze ich hier denn nun mit gebrochenem Herzen.

Habe mir daraufhin prompt Urlaub bis zum nächsten Jahr genommen.

PC-Spiele sind nicht zu teuer

… aber Neo-Geo Spiele gehen etwas an die Schmerzgrenze. $325 für Samurai Spirits Zero sind eine ganz ordentliche Stange Geld, würde ich behaupten.

Wenn ich ein Neo Geo hätte, würde mich das in Verzweiflung stürzen, aber so verzweifle ich lieber darüber, dass ich bei der Funcom-Auktion keines ersteigert habe. Was die Dinger wirklich wert sind, habe ich erst hinterher rausgefunden…