kuarepoti-dju - the josef multilingual blogosphere


Completing a bunch of bindings: GGZ-Java

Categories: — josef @ 23:07

Once again I spent a part of the day on library bindings and reimplementation in other languages for the GGZ Gaming Zone. Our goal would be to release the next version of GGZ with complete libraries for five programming languages, and we’re now very close already with the recent additions to the Java side.

The jggzdmod library implements the GGZ-server-to-game-server control protocol. It is written in 98% pure Java with a bit of JNI magic because Java lacks quite a few of the advanced socket functions which we need for efficient game launching. There’s now a comparison document for the five languages above regarding socket features and workarounds.


GSoC 2008 offer: Adaptive printer dialogue

Categories: — josef @ 20:25

What does the future of printing look like? While nobody knows for sure, there are certain trends such like the ubiquitous availability of a printing service nearby, available from the user’s computer. When devices are discovered dynamically, their capabilities need to be conveyed to the user. Right now, only the most basic printer options show up as native controls in the printer dialogue, and often the more interesting ones are hidden. Furthermore, printing habits such as always wanting to save on toner translate very badly into the UI at the moment. The Linux Foundations Open Printing group has initiated a move away from today’s inflexible printer dialogues towards something better from a usability and a technical angle.

The Google Summer of Code task of working on the Common Printing Dialogue is about translating usability and interface engineering concepts, together with some more formal research on dynamic GUI generation, into a top-notch GUI to conclude and validate this effort. Two mentors, Jonathan Riddell and me, will be available, and hence up to two students could work on the topic. Contact either of us if you’re a potential student and want to know more about it beforehand or want to propose your own idea related to that one (see contact data below the idea description). If you’re in for more than just the coding, make sure to sign up to KDE’s kde-research and LF’s printing-summit mailing list as well.


Multiplayer scenario

Categories: — josef @ 13:54

Somewhen after midnight last night GGZ 0.99.2 snapshot was uploaded. Just a few hours after, the next cool patch was created. Development runs at high speed at the moment, even though I’m still busy drawing presentation slides like a dull ODP monkey for my 2nd job (lecturer).

After my two FOSDEM presentations and some chatting after each I think that while the software required to achieve high-quality free multiplayer gaming isn’t there yet, the individual puzzle pieces already let us forebode a scenario of some sort, as a guide of what shall (or will) be possible. We have GSoC 2008 proposals coming up for those who want to help out.

The scenario goes like this: Bob wants to play Chess with Eve. (He used to play with Alice but they broke up, just to introduce some dramatic content here.) He might be logged into his GGZ core client already, possibly lurking at the Chess or Freeciv room, or he might hang around on Jabber. As soon as he finds Eve, he’ll launch a game of Chess and selects his favourite client, e.g. GGZBoard. Eve then joins this game using Tagua since she’s on KDE 4. Hurray for protocol compatibility!

Alice joins as a spectator and is totally jealous of the two players. She decides to found a player club called Toxic Pawns and invites tons of people. She’s a good club leader and also a helpful, above-average player and thus gets granted host status, which gives her privileges such as kicking players and sending private table messages, and of course hosting tournaments. In order to accomodate those players who came up with a new set of rules called Rookymotion Chess, who are believed to prefer playing audio files over playing games but like Chess nevertheless, she requests a new room from the community administrator who easily sets one up based on existing room templates through the community web frontend.

Meanwhile, Bob and Eve continue playing individual games, although Eve’s DSL connection often breaks for no reason. Of course, she can regain her abandoned game seat after a reconnection. One day, the server goes down, yet after a reboot all games are being restored. No data is lost, and no data is being leaked due to encrypted connections. The player’s personal page also features a privacy section which Eve prefers a lot to the ad-driven, privacy-invading other social networking sites she knows. Trust is important in online gaming, since technical efforts to prevent cheating can and will always be defeated at some point. But with karma points, veteran status and other community relationship indicators, Eve can rest assured that Bob’s friends are trustworthy people.

So much for the community-oriented view on all the technology which is currently on the work bench. Except for a few shameless plugs, the presentation should have shown that the software is making great progress and it’s about time to think about community and player-oriented concepts. Gaming is still one of the areas where free software isn’t #1, and changing that requires some vision beside the daily coding. Send comments to any game list I’m subscribed to.


KDE on tour: CLT2008, CeBIT

Categories: — josef @ 21:37

The Chemnitzer Linux-Tage just finished - an enjoyable event like every year, with a certain community spirit not often met at events of that size. The KDE booth was staffed by four people (smajewsky, eckhart, tokoe and me). People were mostly interested in KDE 4.1 alpha to put it bluntly :) but we demonstrated 4.0.2 on most of the screens. Ruphy was kind enough to provide us with new oxygen-ised poster templates before the event so we printed two A0-sized posters. Unfortunately the boothbox didn’t make it so we didn’t get most of the booth decoration.

While working on some plasma data provider at the end of the second day we learned that there’s a secret tool called AutoCMake to help with the creation of cmake files. Now what’s totally missing is AutoCConf so we can come up with some decent AutoCTools! Just kidding. Some more serious issues were about my xrandr-powered Xinerama-like setup which Plasma didn’t handle too well. Also dynamically adding and removing batteries of the laptop isn’t well-supported as of yet in the battery applet. Nevertheless, most visitors were satisfied with 4.0.2 quality over their previous 4.0 impressions which they mostly got from CDs shipped with computer magazines.

The next important event for KDE will be CeBIT. According to tackat’s message on kde-events, volunteers are still needed for CeBIT next week. Don’t miss the opportunity to represent the latest trends in free desktops to an audience which still needs that sort of information.


Text-based presentations: Peek at Pyntor

Categories: — josef @ 19:17

Alex asked for text-based presentation software. One decision to take is whether to use text mode only for the creation (e.g. LaTeX presentation classes such as Beamer or Prosper) or for the presentation itself. There’s TPP, the Text Presentation Program, written in Ruby which works fine.

A good choice in between is Pyntor, which is AFAICT the only fully modular presentation program on this planet. And of course it supports TPP slides, but also gives you the full power of Python for any graphical effects. A number of modules, e.g. for displaying SVG, are already included.

Disclaimer: I’m slightly biased towards Pyntor because I wrote it :) It’s not actively maintained at the moment but I’ll glady accept wishlist items.



Categories: — josef @ 23:37

My slides for the FOSDEM Lightning talks were just sent in, nothing can go wrong, except that I’m the last speaker on Sunday and could be trapped into drinking Belgian beer while missing my flight back to Berlin. The devroom slides are also mostly finished.

Now I just need to find the magic KDE boothbox, for it needs to be sent to CLT («Innovation thanks to Freedom»).

Finally, on to creating more slides for my lectures. «The internet as a device» will raise enough questions to close the link to the FOSDEM research room, and will hopefully appeal more to my students than other people’s approaches.


Weekend hacking report

Categories: — josef @ 21:04

After buying a new jacket and several other real-life errands on Saturday, I’ve spent most of the weekend hacking like I haven’t been able for a long time anymore. Not joining IRC or reading too many news proved very valuable for the desired level of productivity. Reaching #11 on CIA today, commit 9700 went into GGZ SVN. The next snapshot (0.99.2) is scheduled to happen live at FOSDEM, and one week before we’ll finally wrap up the changes on the stable branch to release
Most of the recent work in trunk went into the libraries for game developers using C, Python and Ruby. They’re all in a good shape now, and C++ will follow soon. Two side products were created: First, a Python module pyancillary to transmit sockets over other sockets, still not supported by Python out of the box. And second, a new tool ggz-faketable to launch GGZ-enabled game servers and clients from a single tool, allowing central debugging and behaviour analysis of the components without interference of networking issues and without the complexity that running ggzd and client-side game launchers usually involve. And then there was even enough time on Sunday to refresh my pitifully small knowledge of Türkçe, although in light of the trip to Belgium concentrating on Français and Vlaams would be more useful…


Semantically enriched confusion

Categories: — josef @ 20:18

KDE, with its 500 employees, gained 10.9 million dollars in revenue in 2007. However, the future looks tough with Linux (from Seattle) starting to enter the market as a competitor.

Sounds weird, huh? Such content will likely increase on the web if people who think they get semantic relationships (while in reality they don’t) want to create some fortune with little effort. The example in question comes from Zoominfo. However, this is by no means the only site relying on automatic data extraction to build up relationship graphs.
On Pipl, a people search site, the kdelibs relations show some guy named Kio Kio as being our most important contributor. This ‘name’ sounds surreal enough to warrant a combination of those sites with nonsense paper generators to see if the acceptance rate at dubious conferences could be increased.


Die Post und der Datenschutz

Categories: — josef @ 08:38

Vor einiger Zeit hatte ich bei der Datenkrake Post mal angefragt, was denn dran sei an den Berichten über die Weiterleitung aller möglichen und unmöglichen Daten zu den Freunden jenseits des großen Teiches. Bis heute habe ich dazu keine Antwort bekommen. Vermutlich gibt es da diverse Geheimhaltungsklauseln. Möglich ist natürlich auch, dass ich statt dem webbasierten Kontaktformular einen guten alten handgeschriebenen Brief hätte senden müssen, um somit gleich in den Genuss eines Eintrags zu kommen. Mit passender OCR-Software könnte man ja mal diverse OpenPGP-verschlüsselte Briefe aufsetzen. Hm…


Upcoming events - help representing KDE to the locals

Categories: — josef @ 20:36

Missed the KDE 4 release event? No problem, help us preparing some cool stuff for the following events:

FOSDEM, Bruxelles, Belgium, February 23-24.

10th CLT, Chemnitz, Saxony, March 1-2.
(Es werden noch Helfer gesucht, bitte via kde-events oder bei mir melden.)

KDE @ fisl 9.0, Porto Alegre, Brasil, April 17-19.
(Voy a viajar en las regiones de Montevideo y Buenos Aires después el evento. Un encuentro con proponentes del software libre sería deseado.)

Everyone else… help sorting out the current events.kde.org/spread.kde.org lull.


En busca del tesoro andaluz

Categories: — josef @ 09:02

Those who remember aKademy 2005 in Málaga might want to pay another (virtual) visit to the area. The game Nimuh is probably aimed at the younger generation although I really enjoy playing it. Nevertheless I only made it to the level of Sevilla, having conquered Huelva and then deciding that the remaining free time of today must be invested into preparing slides for my upcoming lectures.
While its free CC licence will cause some debate, as it prevents commercial distributors from shipping it, I think it is both nice and important to see free high-quality games with a certain locality aspect, since it puts the community in advantage to major publishers regarding scalability and authenticity. The development of Nimuh is supported by the regional government of Andalucía, and I wish others will follow suit.


Roadmap for multiplayer in KDE 4.1

Categories: — josef @ 21:01

This is an update to the previous roadmap for KDE 4.0. What we have achieved already is game client support, including player statistics, per-room rankings, chat and all the low-level networking transports for quantised and raw packets.

In KDE 4.1, we’re going to provide game server developer with kggzdmod, which mirrors the API of kggzmod to keep the learning curve at an acceptable level. With kggzmod, it will be very easy to manage players, spectators, bots of varying levels, abandoned seats, player and team scoring, savegames and (soon enough) game continuations.

In addition, kggzcore will replace the venerable ggzcore++ library for writing core clients. The old core client (game client launcher) KGGZ, which was first written when KDE 2.0 was close to beta release, will be replaced, too. The name KGGZ already serves nicely as a generic term for all GGZ components in kdegames, hence a new name is sought for the core client. I just checked in the first sources. As opposed to ggzcore++, no more artifacts of the underlying C library will be visible. However, it will still be present, so kdegames will get a new optional dependency. If people volunteer, then we can substitute this part as well, which is mostly state keeping and XML parsing and tons of other minor tasks.

KSquares recently received the initial commit for multiplayer support, although some bits are still lacking.

The GGZ snapshot 0.99.1 will be released soon. For the next snapshot after it, GGZ support shall be complete for all 4 programming languages: C, C++, Python and Ruby.

We’re also still looking for any hero who wants to host a server for us which is currently sitting around idle, searching for a power plug and a network cable. Please contact me if your rack is not full already and you want to become a big name for the free desktop gaming community.


Lufthansa und die Ticketpreise

Categories: — josef @ 20:00

Warum allerdings bei der Untersuchung Internet-Tickets teilweise erheblich teurer gewesen seien als im Reisebüro, konnte sich Lufthansa zunächst nicht erklären. Dies werde man prüfen.

Das war die Reaktion der Lufthansa auf eine Untersuchung der enormen Preisunterschiede im September 2007, welche auch durch die Tagespresse veröffentlicht wurde. Dennoch hat sich nichts getan. Auf der Suche nach vernünftigen Personentransportangeboten von Berlin nach Brüssel bekam ich heute eine Spanne von 150 € bis 1400 € angezeigt. Letzteres bringt mich auch nach Südamerika, egal ob mit oder ohne Lufthansa. Fazit: Null Punkte für Mayrhuber, null Euro von mir seine Angebote.



Categories: — josef @ 10:58

Endlich ist KDE 4.0.0 fertig und die Entwicklung für 4.1 kann beginnen. Wie wäre es mit Mehrspielerunterstützung für KSquares? :)


The wicked world of wireless woes

Categories: — josef @ 11:24

I want to operate my new notebook in master mode. With my old notebook, the MadWifi driver supported this for the Atheros-based internal adapter on its own. With my new notebook, I have several choices, none of which seem to be particularly supported:

  • The internal Intel-based adapter runs with iwl4965 which doesn’t support master mode. In such cases, one can use the HostAP daemon which among other chipsets supports the generic mac80211 layer (named devicescape) on top of which the iwl4965 is built. Unfortunately, the Debian package ships hostapd with devicescape disabled, and trying to build it on my own also failed due to incompatibilities with a new kernel (2.6.22).
  • The external Prism2-based adapter works with Linux-WLAN-ng, which doesn’t support WPA but otherwise works well. Unfortunately, the linux-wlan-ng driver isn’t supported by hostapd. There’s also the hostap driver (without the -d) which supports Prism2 chips, is naturally supported by hostapd and even became part of the kernel sources recently, EXCEPT that it doesn’t support USB-connected Prism2 devices, and mine is one of those.
  • The external Ralink-based adapter is not supported with its native driver (rt61). The new driver version (rx200) is based on mac80211 and will likely lead to the same issues that the iwl4965 has.

Oh well. Of course WLAN adapters are cheap nowadays, but I still would like to see the existing hardware supported :-)


Switch to new GGZ project server

Categories: — josef @ 20:20

At hq.ggzgamingzone.org the GGZ project has found a new home. Since the server is located in Germany, the old one has been renamed to us.ggzgamingzone.org and will remain available for the time being to the developers and for various other projects.

The installation took quite some time. Instead of just moving over the old files, most if not all was installed from scratch. New software such as greylistd, integrit, buildbot, lurker and awstats was also added (although we once had awstats already).

There doesn’t seem to be a way around greylisting. This is what happened within the first hour after the installation:

  2 items, matching   4 requests, are currently whitelisted
  0 items, matching   0 requests, are currently blacklisted
108 items, matching 112 requests, are currently greylisted

I suppose there will be some more work to do on the server in the following days. Afterwards, we should increase our efforts to find a dedicated game server where we can run the software for us and on behalf of other game projects. Sponsors welcome, but be aware of the minimum requirements :)


Linux on Lifebook

Categories: — josef @ 21:55

Due to some interest, my random blog posts about the issues of running free software on a FSC Lifebook E series notebook (the model E8410 specifically) were translated, updated and consolidated on a new URL:
Linux on Lifebook.

It’s probably amazingly stubborn for me to waste my time with hardware issues. But if it saves other people many hours of configuration work and sends some signals to FSC that we’re still waiting for some specs, then it was worth the effort. With the release of Linux 2.6.24 within the next hours, two of the issues will already be solved, but many more remain :(

I also helped configuring a friend’s old notebook today, and surprisingly the first configuration report site we found was written by Lennart. The world is small.


Linux auf Fujitsu-Siemens (FSC) Lifebook E8410

Categories: — josef @ 17:03

Update: Es gibt jetzt eine (englischsprachige) Informationsseite zum Thema Linux auf dem Lifebook.

Nach dem ersten Installationsbericht sind nun ein paar Wochen vergangen, in denen ich mir die Zeit nehmen konnte, die noch ausstehenden Probleme mit dem Notebook zu lösen.

WLAN: Die mysteriösen Abstürze konnten im Intel-Wifi-Bugtracker aufgeklärt werden. Mit der wenig dokumentierten Option insmod iwl4965 disable_hw_scan=1 liefert der Treiber auch brav alle WLAN-Zellen beim Aufruf über wpa_supplicant zurück, was er über iwlist auch so tut. Dennoch muss wpa_supplicant modifiziert werden, damit es auch mit APs funktioniert, die keine SSID aussenden. Der Patch dazu ist nur wenige Zeilen lang, allerdings noch sehr unsauber.

Multimedia-Tasten: Es gibt seit längerer Zeit das Projekt APanel, welches über ein Kernelmodul die speziellen Tasten abfragt und auch weitere Spielereien wie LEDs und das LCD ansteuern kann. Das Modul ist nötig, da die Tasten nicht wie vielleicht vermutet einen X11-Keycode senden. Das Modul schaut im System-ROM (eines der vielen Segmente zwischen 640-kb-RAM und Arbeitsspeicher oberhalb von 1 MB) nach, ob es die Zeichenkette “FJKEYINF” findet. Dummerweise hat der Rechner kein System-ROM-Segment. Der dort befindliche Bereich enthält höchstens die Zeichenketten “FSC SYSTEM” sowie “FJ OEM", die jedoch nicht auf derartige Multimedia-Tasten hindeuten. Die Tastaturcodes von APanel lassen sich aber ohnehin nicht direkt auf das Lifebook übertragen, da es statt Mail und Web z.B. Sicherheit und Stromsparmodus als Tasten gibt. Der APanel-Patch wird zwar derzeit noch gepflegt, dennoch fehlt hier leider die Funktionalität für die aktuelle Rechnergeneration. Aufgrund der bereits bei Lesezugriffen in diesem Speicherbereich ausgelösten Hardware-Operationen ist es auch nicht gerade einfach, dort selbst nach möglichen Signaturen zu suchen. Ein Abscannen des Speicherbereichs mit gedrückten und nichtgedrückten Tasten ist jedenfalls bereits an ganz anderen Problemen gescheitert…

Maus und Touchpad: Sowohl der IMPS2-Treiber als auch der Synaptics-Treiber müssen geladen sein. Dabei ist im Gegensatz zu früheren xorg-Versionen die Option AlwaysCore für letzteren wegzulassen, da sonst die Maus überhaupt nicht mehr funktioniert. Mit Hilfe von qsynaptics kann man die Scrollleiste auf die linke Seite des Touchpads verlagern, da auf der rechten Seite bereits die Doppelklickaktionen (z.B. Einfügen als Emulation der dritten Maustaste) stattfinden. Mit insgesamt 7 virtuellen Tasten kann man viel konfigurieren, z.B. die vorhandene dritte Taste als solche nutzen, anstelle der treiberseitig vorgegebenen Scrollfunktionalität.

ACPI: Das Display wird zwar wie üblich nach 30 Minuten Inaktivität verschleiert, eine Dimmung bei Entfernung des Stromsteckers findet jedoch nicht statt. Auch findet hardwareseitig keine Warnung über fast entleerte Batterien statt, so dass auch hier seitens Linux noch Funktionalität hinzugefügt werden muss. Die Laufzeit liegt im reinen Konsolenmodus ohne weitere Optimierungen bei reichlich 6 Stunden mit beiden Akkus, die Standbyzeit kann auf etwa 60 Stunden geschätzt werden. Eine Wiederaufladung der Akkus schägt mit knapp 5 Stunden zu Buche.
Für die Sperrung der Konsolen benötigt man die aktuelle Entwicklerversion von vlock (2.2-rc4), wobei sich diese leider (wohl auch in Zukunft) nicht im Hintergrund sperren lassen.

Desktop: Mit Hilfe von .Xresources, .Xsession und .blackboxrc lässt sich eine brauchbare Blackbox-Konfiguration erzeugen. Das Tool bbpager enthält noch den Bug, dass es nicht vor blackbox selbst gestartet werden kann.

Fazit: Die meisten Sachen funktionieren nun, wären aber duch einen Einsteiger keinesfalls konfigurierbar gewesen. Dennoch werde ich mal bei FSC nachhaken, ob man die verbleibenden Probleme nicht auch noch lösen kann. Denn insgesamt betrachtet ist das kein schlechter Rechner :)
Einige Funktionalität wie SD-Karten-Leser, UMTS und Hotswap der zweiten Batterie bzw. des DVD-Laufwerks muss dazu noch getestet werden. Alle Skripte und Patches gibt es bei Interesse bei mir.


Privatsphäre auf dem USB-Stick

Categories: — josef @ 21:21

In der heutigen Zeit scheint eine auf Privatsphäre ausgelegte Live-CD ein passendes Weihnachtsgeschenk zu sein. Anscheinend tut sich in dem Bereich auch was. Bereits letztes Jahr wurde anonym.OS auf OpenBSD-Basis veröffentlicht, jedoch seitdem nicht weiterentwickelt. Da das Geschenk auf einem USB-Stick laufen soll, ist OpenBSD auch von daher wenig praktikabel, weil das Umkopieren von CD auf USB unter Beibehaltung der Bootfähigkeit von einem Linux-System aus nichttrivial erscheint.

Zu Beginn dieses Jahres wurde dann unter anderem ein Google Summer of Code-Vorschlag für eine Linux-basierte Live-CD mit Unterstützung der EFF vorgestellt. Google bezahlte den Studenten aber lieber für einen anderen Vorschlag, nämlich eine Paketverwaltung für Windows. Na hoppla :-)

Kürzlich wurde nun die zweite Version von Polippix in die Beta-Phase geschickt. Diese dänische Delikatesse basiert auf Kubuntu und scheint sich großer Unterstützung und Beliebtheit zu erfreuen. Damit ist Polippix das System der Wahl.

Die Verpackung des Sticks wird noch mit ein paar Aufklebern vom Typ defekt bzw. <<</>> verschönert, und fertig ist das Geschenk. Besucher des 24C3 mögen bitte (sofern ich nicht selbst hinkomme, was aber noch nicht klar ist) einen neuen Stapel Aufkleber mitbringen.


Eye-candy and mobility: how to beat e17 and blackbox

Categories: — josef @ 13:38

I’m running e17 occasionally (complete with the entrance login manager) and there’s nothing bad about it from a visual point of view, in fact it is quite attractive and makes many non-Linux users take a look at the screen. I also run blackbox sometimes in hacking mode to eliminate any source of distraction. Blackbox cannot participate in GUI comparisons (it doesn’t really have any), however it is more suitable for the mobile area. Why? If you run dstat(1), you’ll see that after some time (when all caches have been flushed), there’s no disk activity anymore, the disk can spin down and the computer becomes idle. With enlightenment, something constantly wants to write on disk. The culprit is indeed the ‘enlightenment’ binary, although I haven’t yet had the time and urge to look why this is the case. Using strace(1) one can at least see that write() and mmap() are called constantly, and each second open() is called on both the theme directory (wtf?) and the ACPI governor settings.

Now here’s how to beat both e17 and blackbox: Create a visually appealing desktop which doesn’t ever touch the disk unless I tell it to do so. Do not wake up the CPU unneedlessly. Save my battery. Test this out with the current KDE 4 release and all of its applications. Check your QTimers and whatever elese might trigger such events. The KDE 3 default desktop is good at it, although not perfect, so there are still some areas for improvement.

Powered by WordPress