You are in the archive for the Informatique
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.
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
I was trying to download a file via bittorrent when the tracker just died on me. So I asked the people maintaining the tracker what to do and they told me to use the trackerless system (aka DHT). But on Linux I have two choices for DHT. Either the official client that will only use DHT if the torrent specifies it or Azureus, and I didn’t want to install that huge Java mess..
So here comes detrackertorrent, a small python application that just removes the tracker from a torrent and puts the information for trackerless torrent instead. It insists on having a primary node given to it, you can use “router.bittorrent.com:6881” if you have nothing else. I was too lazy to use the saved routing table. Oh and you need to have BitTorrent installed (the official client) and I only tested it with BT 4.2.2 on Gentoo Linux.
After getting my new Athlon64 box, the first thing that I did was to install Gentoo/AMD64. And it has really improved since I left the project.. I was surprised to see that I did not have too many packages to keyword myself, although I did keyword at least a dozen in a last week..
I also started a new job at Maximum Throughput, its my first “real” job (not an internship). I will be working mostly on the next generation of InfinARRAY, their high performance distributed filesystem.
J’ai enfin reçu mon nouvel ordinateur décrit dans le post précédent.. Il fonctionne à merveille, je compile Gentoo/AMD64 en ce moment! Un seul problème majeur, le moniteur, un LG L1910B est la version MVA plutôt que la version S-IPS..Qu’est-ce qui leur prends à LG et Viewsonic (voir le VP191b/s) de faire plusieurs versions ayant des specs complètement différentes mais avec le même numéro de modèle!! Et je n’ai pas encore mes hauts-parleurs que je devrais avoir demain.
J’ai finalement décidé de remplacer mon écran par le L1720P.. un 17″ TN ordinaire.. (sur lequel j’ai un deal ok).. Mais qui a malheureusement pas toutes les qualités que je désire, c’est une solution temporaire avant que la prochaine génération nous arrive.
J’ai enfin craqué, j’ai commandé mon nouvel ordinateur. Je l’ai acheté chez mon ancien employeur, Cyberlogic, qui a ma grande surprise ont des prix comparables à NCIX et Tigerdirect qui sont supposé être vraiment pas cher… Mais en plus ils ont un service super. Donc l’ordi, c’est un AMD Athlon 64 3500+, avec un motherboard MSI nForce4 Ultra, une carte vidéo MSI GeForce 6800GT PCI-Express, 1 gig de ram, un Seagate 7200.8 SATA de 200 gig, l’écran c’est un LG L1910B (un LCD), le boitier c’est un Antec Sonata (silencieux et pas laid), le clavier/souris sans-fil Logitech MX3100 (avec la nouvelle souris Laser de Logitech), un graveur de CD/DVD dual-layer et finalement les haut-parleurs c’est des Logitech Z-5500 (5.1 500W RMS)… Et je vais avoir tout ça pour la fin mes examens!