Call for testers: Xnee 3.06.96 (in prep for 3.07)

 Support for X Input* has been added to GNU Xnee. Tests have been performed on:
     Debian Lenny
     Ubuntu 10.04
     Mameo , N900
and things (finally) seems to be working.
Building
---------------
Download:
    http://alpha.gnu.org/gnu/xnee/xnee-3.06.96.tar.gz

... unpack and build:
tar zxvf /home/hesa/gnu/xnee/xnee-3.06.96.tar.gz
cd xnee-3.06.96/
./configure --disable-gui --disable-gnome-applet --enable-xinput2 && make

Before releasing 3.07 it would be great to have some more tests done on other environments. If you can, here's some test cases:

Preparation:
-----------------------------
Execute:
    ./cnee/src/cnee --record --mouse --keyboard -o test-xi.xns -sk q
Move mouse, press and release some keys, ... stop recording by pressing q
Test case 1 "XI Replay":
-----------------------------
    ./cnee/src/cnee --replay -f test-xi.xns
Test case 2 "Core Replay":
-----------------------------
    ./cnee/src/cnee --replay -f test-xi.xns  --force-core-replay
Send feedback to http://lists.gnu.org/mailman/listinfo/bug-xnee  (or to me and I'll compile and anonymize your report and forward it to the list)
*) Multi-touch, multiple input devices ....

xswine: new program for the GNU Xnee suite

I been writing a small program, xswine, that can take a recorded GNU Xnee session file and replay that to swinput . Swinput had its share of changes and a new swinput release will see the light of day any day. The difference betwen replaying using swinput compared to replaying using Xnee itself is that swinput fakes the device events from the kernel and Xnee fakes at X11 level using XTest.

There’s a some questions that need to be solved before a proper xswine release, such as:

  • how to map the device id as recorded from X Input Extension to the “correct” input device as presented by swinput
  • timing – what do we do when we drift away from the start time, but want to keep the recorded diff between events

Currently there’s not much of the recorded X11 events that can be replayed. Here’s the current list:

  • X11 motion event – no
  • X11 button event – no
  • X11 key event – no
  • X Input device motion event – yes!!!
  • X Input device button event – no
  • X Input device key event – no

This means xswine can replay (using the kernel) recorded Multi-touch events!

But if that’s all xswine can do do, why do I bother writing a blog entry. Two reasons:

  1. nobody reads my blog…so nobody will complain about this blog post
  2. I want to “claim” the name xswine

So, what does xswine mean?

X – is for Xnee

swin – is for Swinput

e – dear reader of this blog (just claimed I had zero readers!), help me out … what should e stand for?

If you compile GNU Xnee and swinput (and install) from CVS HEAD you should be able to do:

sudo modprobe swmouse devs=4 && sudo chmod a+rwx /dev/swmouse*
./cnee/src/cnee --record --mouse -o whoa-mule.xns
cat whoa-mule.xns | ./xswine/xswine

Cnee records (partly) on N900/maemo

Some progress have been made on the work to make cnee (part of GNU Xnee) work on the N900. Earlier I reported that replaying works.

Now recording of mouse clicks (press, release) and key press and release works. But, MotionEvent cannot be recorded…. Feels like diving into the X server of N900 is the thing to do.But before that I shall report back to this: http://lists.maemo.org/pipermail/maemo-developers/2010-July/027097.html

If you want to test the last cnee for maemo, here’s a binary built from CVS HEAD 2010-09-12 23.50 (ish):

http://itupw056.itu.chalmers.se/xnee/special-dist/maemo/20100913/cnee

Nomination period open for Nordic Free Software Award

Until October 22 you can nominate a person, a project or an organisation for the Nordic Free Software Award.

The Nordic Free Software Award given to people, projects or organisations in the Nordic countries that have made a prominent contribution to the advancement of Free Software. The award will be announced during FSCONS 2010 in Gothenburg.

Send an email to award at fscons.org with the following information:

  • Name of nominee
  • Description/Bio of the nominee
  • Motivation for the award
  • Description of accomplishments

The Nordic Free Software Award has previously been given to:

  • 2009 Simon Josefsson and Daniel Stenberg
  • 2008 Mats Östling
  • 2007 SkoleLinux
More information about the award can be found here

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?