Ar Tonelico III

2010 February 6
by Einar

Ar Tonelico III cover image

It’s been a while since I blogged about anything non-FOSS. This time I’ll be sharing some impressions on one of the games I’m playing at the moment, that is, Ar Tonelico III (which arrived at my doorstep two days ago). I admit I haven’t been a fan of Gust games (aside from Ar Tonelico, they’re known mostly for the Atelier series), mostly because technically wise they didn’t really perform that well. While I understood they’re a small company, sometimes it was a little too much.

I bought this one because from the movies and information disseminated throughout the net it looked like it was better, so I started reading information, which in turn prompted the buy: it’s also a good way to keep my Japanese in order, as I need to keep up with the language if I want to understand things.

Right now I’ve just played a couple of hours, and it looks decent, although with some technical issues (the characters glide over the terrain, rather than walk). I’ve also seen the infamous Purge System in action (look it up online), which made quite a number of fan sneer for a various number of reasons. As of the story, I can’t say anything at the moment: I’ve just started. At least it is moderately fun.

Here’s a hands-on (Italian) which covers more details. I’ll try to post a few updates in the future (if I don’t forget….)

And here’s a quick video I made with my camera:

http://www.heavensinferno.net/downloads/tonelico3_conv.flv

Learning by example

2010 January 13
tags: , ,
by Einar

With my brand-new SVN account, I just committed some code to kdeexamples, KDE’s example code module. In particular, I committed a simple example which shows how to use KConfigXT via PyKDE4, a simplified version of what I wrote about here.

As most of KDE is C++, and the Python API docs are translated directly from the C++ API docs, it is essential to have good examples to help newcomers learn faster. There are some PyKDE4 examples in the kdebindings module already, but I put mine in kdeexamples for a number of reasons:

  • Clear purpose: kdeexamples is meant exactly for this – example code;
  • Visibility: A central place to find KDE examples even for bindings is optimal, makes easier to find what one is looking for.

Visibility is also important as currently the examples are rather buried inside kdebindings, and as far as I know they aren’t included in the packages of some distributions (at least not openSUSE; YMMV).

I decided to take this route because PyKDE4 is basically the job of one person (Simon Edwards): he does already a great job, but the work is too much for a single person to handle. And due to shortage of human resources, PyKDE4 lacks examples and documentation, and thus it’s not always easy to understand how to use the C++ API in Python. Writing snippets of working code, with extensive comments, is a step in the good direction. And also an opportunity to contribute back to KDE after all these years!

For now there’s just KConfigXT, but I plan on tackling KIO next, as soon as I have time. Of course, help is welcome!

Danbooru Client 0.5 is out

2009 December 27
by Einar

Sometimes answering apparently harmless questions on instant messaging can have unexpected results. In particular, I was telling about Danbooru Client to someone and a question popped up "Why don’t you support pages?". It seemed a nice idea, so I branched off the code (yay for git!) and started working on it.

Well, it took me more than a month to get this thing done… I didn’t spend every day coding, but it was a challenge. Glad it’s over now, which means that Danbooru Client 0.5 is finally available. Grab it at the usual place on kde-apps.org.

Changes in this version:

  • Massive code refactoring and documentation
  • Support for multiple pages: the same query can be repeated multiple pages (shown in a tabbed interface), kind of like browsing the actual Danbooru board;
  • Rating information added to the API;
  • Support for translations (thanks to Pino "pinotree" Toscano for the help): the tarball now contains a .pot file which can be used for translating Danbooru Client. If you make a translation, send the .po file my way and I’ll include it in the next version.

Improvements that I have in the queue:

  • Suppport for pools (every board out there changes the API, so it will require some work);
  • Support for storing password/username using KWallet (through python-keyring, so it works even without KWallet installed);
  • Review usability of the dialogs (I have a separate branch for that);
  • Improve the image download dialog.

On recent KDE SC versions (4.4 beta 2 and onwards) there are some painting issues with regards to the thumbnails, but I’m not sure if the fault is in PyKDE4 or in the underlying libraries. Nothing too bad, luckily: hovering the thumbnails or giving focus to the thumbnail view should be what’s needed.

Here’s a screenshot of the new interface (click to enlarge):

Screenshot of the new interface

Comments and suggestions are always welcome, so don’t hesitate to drop me a line.

As a final word, some thoughts on the work required to get this out of the door. My largest issues are related to garbage collection: Python’s reference counting based GC got a lot in the way, at least because of how the underlying C++ structures work. I had to work a bit to keep references to objects around so I wouldn’t get crashes (accessing an already deleted object). All is well now, and I think my Python/PyQt/PyKDE4 knowledge gained from it. I keep telling myself that I should be writing some tutorials one day…

Living on the edge

2009 December 7
tags:
by Einar

KDE SC 4.4 Beta 1 has been released, and of course I couldn’t stay still. Thanks to the friendly openSUSE Build Service, there were packages available, so I just pointed my zypper sources to KDE:KDE4:UNSTABLE:Desktop repository, adjusted a few other things (mainly other third-party repositories) and updated.

read more…