GNU Xnee can replay on Maemo / N900

Last week I got a N900 from Pelagicore to make sure GNU Xnee executes on the device. And as soon as Xnee is verified to work on the N900, we can start testing the work done in Xnee to support X Input Extension input devices.

Last Friday I tested Xnee on the N900, by logging in to my development computer (x86) from the N900, using ssh -X. It didn’t work. Since I didn’t know where the problem lied, Xnee or the X server or perhaps the ssh client/server,  I decided to natively build Xnee for N900…. but when to do that?

Today, I finally had some spare time to hack on Xnee and N900. First thing, set up scratchbox. It was great getting to know scratchbox. After scratchbox was installed there was nothing hindering me … or was it?

It took an hour to play around with some new ./configure options, change the autotools config files, add some #define and to add some libs to the linker in order to get an executable cnee for the Maemo device. The compilation worked well (after a while), so I continued with testing cnee on the device.

* Record: does not work

* Replay: works

* Retype: works

so I guess it’s time to dive down into the X server shipped with the device to figure out what’s wrong with RECORD extension in the N900 X server. More info to come….

Thanks Pelagicore for the N900

Andrew Gerrand and GO / FSCONS extra event

June 8, I opened the doors of IT University for an extra FSCONS event arranged by FSCONS and GTUGAndrew Gerrand from Google was here in Gothenburg to talk us through the language Go.

I liked Andrew’s talk btw. Clear. Easy to understand. He seemed to be interested in the questions asked. During the talk theere was a discussion on IDEs and according to Andrew there’s no need for an IDE when writing Go (which is the case (IMHO) when you’re programming for example Java). That sounded promising. Anyhow, let’s talk about Go. I am usually skeptical to new things (a clear sign of a geezer) and to some extent I’ll stay that way regarding Go. At least for a while more. Without any deeper knowledge I present my reflections on the language (as if anyone cares):

When it comes to memory management I feel pretty ok. As a developer it’s easier to let some one else do memory allocation for you (i.e not alloc and free), but at the same time when doing C/C++ I am in control and I can predict a bit better when things happen.

[In a previous version of this blog post I by mistake used the word concurrency to mean the distribution mechanism in Erlang. This is such a big mistake I've decided to rewrite history and edit my blog post - 2010-06-11]

Looking at “cross machine distribution mechanism” (think Erlang) I miss it. I asked Andrew about this and he said that there is none, but I interpreted him as if the door is not closed, but until then we will have to rely on a library (think pthreads in C).  However, if concurrency comes with a virtual machine or run time system (or what ever you want to call it) I am not sure I think it’s worth it. At least not when it comes to the kind of programs I normally write.

I asked Andrew about shared libraries and there is no such thing in Go. I surely understand why, but it would be neat to have. This could be done I guess with the C bindings mechanism in Go.

Enough of my complaints and ramblings. What do I think?…. what is my gut feeling. I am not a big fan of leaning on arguments such as “my inner feel says”, but that’s more or less what I will do.

Why Go?: It’s free software. It seems to be a language with which I can quickly get my things done.

Why not Go?: Not that many targets supported, no shared libs, non concurrency (why not use C instead of Go then?)

I guess I will give it a try…. and that’s not something I say that often. Perhaps write some Xnee bindings for Go.

Makes me wonder, should we invite some one to talk about Go at “the real” FSCONS 2010?

Pedagogical prize to Software teacher Carl Magnus Olsson

My colleague and friend Carl Magnus Olsson just received a prize,  “University of Gothenburg awards teachers for excellent pedagogical contributions to education”. I’ve had the pleasure of working tightly with Carl Magnus for a couple of years and can only say he’s worth it. The amount of hours spent preparing the course, reading and commenting hand ins, reading student papers …..   and his usual verbose email replies.

It is inspiring ….. CMO, You rock

GNU Xnee 3.06 ('Dio') released

We are pleased to announce the availability of GNU Xnee 3.06 ('Dio')

GNU Xnee is a suite of programs that can record, replay and distribute
user actions under the X11 environment. Think of it as a robot that can
imitate the job you just did. GNU Xnee can be used to:
    Automate tests
    Demonstrate programs
    Distribute actions
    Record and replay 'macro'
    Retype the content of a file

Getting the Software
====================

   http://ftp.gnu.org/gnu/xnee/xnee-3.06.tar.gz
   http://ftp.gnu.org/gnu/xnee/xnee-3.06.tar.gz.sig

or one of the mirror sites as found in:

   http://www.gnu.org/prep/ftp.html

Checksums
===========

  md5sum:
	1e68436f4be1ccb896f6db5e38957d1e

  cksum:
        809144464 1598910

New in this release
===================

   * New logo:
       pixmap/512x512/xnee-new.png

   * Build changes:
       configure bails out when building any gui
       and no pkg-config installed

   * Test changes:
       Separated tests:
       * make check  - does not need an X server to connect to
       * make xcheck - needs an X server to connect to

   * Fixed bugs as reported on bug-xnee@gnu.org:
       "crash in xnee_key2string when verbose"
       "cnee causing segfault"

   * New options:
        --no-reparent-recording

   * Options that didn't make it: (added and removed since last 3.05)
        --force-reparent-recording

FSCONS Call for participation

FSCONS needs you!

Do you have a cool software or  hardware you want to talk about, why not do it in Gothenburg (Sweden) at FSCONS? Instructions for submission can be found here: http://fscons.org/cfp

About FSCONS

The Free Society Conference and Nordic Summit (FSCONS) is a meeting place for social change, focused on the future of free software and free society. The conference brings together people from a wide range of fields, and merges the technical with the social, seeking both to activate and challenge. Open discussion and brainstorming are as important as the talks given during the conference.

Preparing GNU Xnee 3.06 (and testing new XI2 features)

It’s been a while since the RECORD problems was found. Anyhow, now they’re solved (in Xorg) and GNU Xnee is now working as it should (given you’re using CVS HEAD and the latest Xorg server). I’ll start preparing a GNU Xnee 3.06 right away.

If you’re checking out the branch: xinput2-support ( http://cvs.savannah.gnu.org/viewvc/xnee/?root=xnee&pathrev=xinput2-support ) you should be able to see the latest happenings when it comes to supporting XInput Extension (especially multiple input devices). I’ve just finished testing 8 (faked using swinput) faked “mouses”. Some 300 000 events were sent and all went fine so we’re actually making some progress here as well.

Speaking about free software in Huskvarna (Sweden), but missed Stockholm

Since we’ve been experiencing the most snow for many many years in Sweden the trains and the tubes don’t seem to be on schedule. And add to that the presentation in Huskvarna (see below) tomorrow it didn’t take much to convince my self and the others (Johan Thelin, Jonas Öberg and Jeremiah Foster) to bail out of the foss-sthlm meeting. Would have been great to see Simon Josefson (he couldn’t come to FOSDEM) and finally buy him the dinner I still owe him.  ….. which reminds me of that ams all of a sudden claims he owes me a dinner. Strange days indeed ;)

Tomorrow I’ll be speaking in Huskvarna about free software. It’s a bit of a tailor made presentation which has been very fun to elaborate on during the last weeks. I’ve made some new friends through this presentation so even before it feels great. Here’s the invitation.

I will speak a bit about the history of free software, GNU, copyright/copyleft, licenses, project management and motivation in the community and bridge to the next speaker (Jeremiah (see above)) by talking a bit about Moblin and Maemo … and yes, Meego.