Collabora has provided me with a new computer: a ThinkPad x60s. Its really nice, extremely light and the battery lasts for a very long time (enough to fly to Europe!). On the inside, it’s almost all Intel, which means that there are Free drivers for everything (now that iwlwifi has been released). Well actually, not everything, one small chip resists, the modem. But it seems to be supported by Linuxant’s hsfmodem (not that I would use it). Did I say that suspending, both to RAM and to disk works like a charm? Hot-plugging an external display also works great with Xrandr 1.2 (again, thanks Intel!). And everything I needed to make it work is right there, in our Portage tree.
We now have a cool Montréal office. It’s still kind of a mess, we just moved in yesterday. You can get a glimpse of another room on the right, its still empty. And we have a fully featured kitchen (and a bathroom).
Monday, I started working at Collabora. Its been a pretty exciting few days, I guess mostly the excitement of the new job, new people (well new person) and new office, which we have yet to find. I can’t say how happy I am to finally be working on Free Software and being paid for it. And now that I do stuff that’s not secret, I hope I’ll be blogging more often (but don’t really count on it).
I’ve kept myself busy doing stuff on Farsight. For those who aren’t familiar with it, Farsight is a gstreamer based system to do voip and videoconferencing. Its currently used in the Nokia 770 and N800 internet tablets.
During the last few weeks, I’ve been playing with my new toy, a bluetooth Logitech Cordless Desktop MX™ 5000 Laser (could they make a shorter name?). I got it as a replacement for my MX 3100 which has battery problems (and the battery on its mouse isn’t replaceable, so they sent me a whole new kit, thanks Logitech!). The MX 5000 has a pretty standard Bluetooth MX1000 mouse, but the really cool thing is the small LCD on the keyboard.
Sadly, there was no way to control it from Linux. I hoped it would be similar to the G15 for which tools exist, but its not. So I got on a quest to use it to its full potention on my favorite Free operating system. Luckily, I found someone who had a similar problem on Windows and did a lot of reverse engineering and made a .NET library. So armed with this library and a Windows usb sniffer, I managed to get most of the screen displaying functionality working. And I created mx5000tools. The core of the tools is a library that incorporates all of my knowledge off the keyboard’s control. There is also a command line utility called mx5000-tool that exposes most of the functionality of the lib for scripts and such. The HID reports returned by some keys of the keyboard are not currently interpreted by the HID driver in my kernel, so I made a small deamon (mx5000d) that translates them into usable ones and then forwards them using uinput (so X can read them with evdev).
I still have some limitations, it seems that some HID reports are not passed to hiddev by the Linux usb hid subsystem, so we dont get events from some of the keys. And it does not work in Bluetooth mode on Linux because Bluez does not yet have full HID support with hiddev. Finally, we still do not know how to change the content of the menus.
I’d also like to improve mx5000d to have features similar to the Windows software with notifications of IM messages and the name of the currently playing song. I guess galago and the d-bus interfaces to gaim/rhythmbox will be pretty useful there.
I spent my whole weekend fixing stuff in GnomeICU. It started by fixing a few bugs.. And then I decided to port the visible/invisible/ignore/online notify lists to use the newer GtkTreeView instead of the old GTK+ 1 style GtkClist.. and I only stopped coding two days later. The MVC implementation is really nice and the GtkModelFilter thing is really powerful. I now have only one data store with the contact list and all the widgets that show the list (or parts of it) are just filtered views of it. And I also implemented my first drag and drop stuff (and it works!). And then when all of this was done, I realized that a bunch of things that worked with the previous versions have stopped working (like changing my user infos or sending contact lists) and obviously AOL still isn’t publishing its protocol. And that killed my motivation. Proprietary networks suck.
It’s also my turn to way in on the Novell/Microsoft deal. Obviously, I find it appalling that a major GNU software distributor would enter in such a deal. But I think it shows a great difference between Novell and Red Hat. And the difference is that there is no member of the Free Software community near the top at Novell. Red Hat was obviously founded by members of the community and they are plenty near the top. It seems that Novell is run purely by business people who are from a proprietary software background at best (and probably are business and accounting majors) and I’m pretty much certain that they had not foreseen the backlash and I’m not sure that they would have cared had they predicted it. That’s why Novell has such an erratic behavior from a software freedom perspective. Remember that Caldera/SCO was founded and filled by ex-Novell people and they were also always a bit ambiguous on the whole Free Software thing (although they did love of good things in the old days).
And finally, it seems that the free software people are winning at Sun. They are freeing Java under the right license. Bravo! And I think the whole community should thank them. Congratulations Sun! You are shinning brighter every day!
Miguel had an interesting comment about the release of Java to the effect that a large corporation could develop massive amounts of code better than a distributed community if it was really focused. And he seems to find that worrying. This really highlights the differences between the Open Source community to which Miguel seems to identify himself, which is interested in the collaborative development of software, instead of the FSF-style Free Software movement which is worries mostly about how the software is distributed, not how its built.
I was tired of having my Firefox not match the theme of the rest of my desktop since in GTK+ 2.10, they changed the theme format. My original plan was to have someone else make the newer package.. But well, I waited and waited and no one else did it.. So I decided to take the plunge. But I could not find a nice script to build them, all I could find was the content of each package on herbs’ devspace. So I decided to try to automate the process as much as I could, in a 32bit chroot with this make.conf and using this script, you it should be possible to rebuild the next generation of packages with minimal effort. Just one tweak, there needs to be a lib32->lib symlink for every lib directory in the 32bit chroot. And it requires quite a bit of patience… The emul-linux-x86-gtklibs-2.10.6 package is now in the tree. I’ll try to see if I can fix the other bugs, it seems that we need a new version of openssl and libasound at least.
I also fix more GnomeICU bugs, I guess I’ll have to make another bugfix release this weekend.
Since I upgraded to Gnome 2.16, I had to enter my password three times on login (gdm, ssh-askpass and evolution/gnome-keyring). and there are limits to everything. Recent blog posts on Planet Gnome inspired me. So I tried to do the same thing on Gentoo. After a lot of wrangling, I ended up finding/fixing two bugs in pam_keyring and getting a working configuration. If you want to do the same thing, emerge sys-auth/pam_ssh and sys-auth/pam_keyring and look at the gdm example in the pam_keyring doc.
My keyboard has way way to many keys. Some of them are mapped into event numbers that are over 0x100 and the Xorg evdev drivers considers those to be mouse buttons.. Which is obviously wrong. After a little digging, I found the problem and I have a patch. I also decide I wanted my old behavior to the windows key back, that is, having it as Mod4 and nothing else, so I made another kinda patch. And now, for the first time since I bought that MX3100 crap, I have everything working the way it should!
After upgrading to Xorg 7.1, my keyboard/mouse combo stopped working properly. I was using the “kbd” for the keyboard and evdev for the mouse (so I can get all 12 buttons.. yes 12 buttons). On Xorg 7.0 I had most of the stuff working, except for some buttons on the keyboard which just refused to work properly. After upgrading, all hell broke loose. And it too me a while to find out why.
Lisez le reste
Last night I went to see SoaP with Alex. I didn’t expect much and I was pleasantly satisfied with the movie. It was really funny. But one scene really annoyed me, the people who made the movie clearly didn’t watch the Explosive decompression episode of MythBusters.
This page is XHTML 1.0 Strict and CSS level 3