So far Microsoft as been considering Linux as if it was they were two persons living on a different side of the world. No contact. Today, they have therefore done a big leap, by releasing drivers for the kernel under the GPL. It's actually only drivers to improve the execution speed of Linux when running in their virtualization engine, much less impressive than if they had released drivers for supporting the hardware of the Xbox for instance. Nevertheless, this is still a very symbolic step, as eventually a part of the kernel might be officially maintained by Microsoft.
The code will very likely be accepted, but for now it's only in the staging tree, the part of the kernel which contains "crap code" which does not yet have the quality to be normal part of the kernel. Indeed, the code looks rather ugly, but hopefully mainly just due to the coding style... Now it's time for everybody interested to go and have a look clean it up or test it.
Probably it's just a little "hello" from Microsoft, and other friendly actions towards Linux will take a very long time to come again.
Monday, July 20, 2009
Thursday, May 21, 2009
And three
There used to be two. Now there are three projects dedicated to create a subtitle editor for gnome. All of them use gtk, but they are written in different languages (C#, C++, and python). I wouldn't mind if they were not each of them crappy. Actually, if just one of them was good, it would be perfectly fine. Unfortunately, they all have flaws so big that after few minutes you give up using them. Either they crash, or they do not show the movie at the same time as the subtitle, or the interface is so much messy that it's impossible to do simple things. In my humble opinion, such a program should be based on gstreamer, and written in python, so I hope Gaupol will get better in this direction...
Opensource should exactly avoid this kind of situation of happening, because everyone can join to the cause and work on improving the existing program. It's really sad to see no such collaboration. At least with the video converters, Arista and Transmageddon seem to have agreed on sharing the forces.
Opensource should exactly avoid this kind of situation of happening, because everyone can join to the cause and work on improving the existing program. It's really sad to see no such collaboration. At least with the video converters, Arista and Transmageddon seem to have agreed on sharing the forces.
Sunday, May 17, 2009
Being the first
Wikipedia provides articles which are supposed to be neutral point of view. It's always funny to look at who was the first inventor of an object in the different wikipedias. One could think they are all equivalent in the content, and are just translations of each-other. It seems national pride of different points of view can easily sneak in.
For example, about a plane, in English you learn that
The first self-powered aircraft was created by an Englishman by the name of John Stringfellow while in French, you learn that Le premier homme ayant déclaré avoir volé à l'aide d'un moteur est le français Clément Ader. So in English, the first one was an Englishman who created the first model plane, while in French, it is a Frenchman who created the first plane with someone inside.
Reading about the motorcycle is also interesting. In English the first motorcycle was designed and built by the German inventors Gottlieb Daimler and Wilhelm Maybach (in 18885), while in French, after some warnings about the difficulty of defining who was the inventor, you learn about the délivrance [...] le 16 mars 1869 à Monsieur Louis-Guillaume Perreaux.
Concerning the cinema, both the English and French versions emphasize on the impossibility of clearly define an inventor. Nevertheless, for those who want a name you find that In 1878, [...] Eadweard Muybridge successfully photographed a horse named "Sallie Gardner" in fast motion using a series of 24 stereoscopic cameras and that certains ont attribué son invention aux frères Lumière, concepteurs du cinématographe en 1895.
For sure, reading in more languages will bring even more interesting point of views. As most of the objects have never suddenly been invented, but slowly evolved, it is rather easy to define the inventor of it has the first citizen having made it evolve. None of the articles is wrong, just slightly biased. So when reading an article it is worthy to have a glance at the other versions just to see how far it can be biased...
For example, about a plane, in English you learn that
The first self-powered aircraft was created by an Englishman by the name of John Stringfellow while in French, you learn that Le premier homme ayant déclaré avoir volé à l'aide d'un moteur est le français Clément Ader. So in English, the first one was an Englishman who created the first model plane, while in French, it is a Frenchman who created the first plane with someone inside.
Reading about the motorcycle is also interesting. In English the first motorcycle was designed and built by the German inventors Gottlieb Daimler and Wilhelm Maybach (in 18885), while in French, after some warnings about the difficulty of defining who was the inventor, you learn about the délivrance [...] le 16 mars 1869 à Monsieur Louis-Guillaume Perreaux.
Concerning the cinema, both the English and French versions emphasize on the impossibility of clearly define an inventor. Nevertheless, for those who want a name you find that In 1878, [...] Eadweard Muybridge successfully photographed a horse named "Sallie Gardner" in fast motion using a series of 24 stereoscopic cameras and that certains ont attribué son invention aux frères Lumière, concepteurs du cinématographe en 1895.
For sure, reading in more languages will bring even more interesting point of views. As most of the objects have never suddenly been invented, but slowly evolved, it is rather easy to define the inventor of it has the first citizen having made it evolve. None of the articles is wrong, just slightly biased. So when reading an article it is worthy to have a glance at the other versions just to see how far it can be biased...
Tuesday, May 5, 2009
Constructive gang
A couple of months ago I was walking in the street and passed in front of me two teenagers with malicious smiles. A few seconds later the bin exploded. The explosion was quite strong, lots of garbage flew away, and with the number of people around it could have easily be hurting someone. But the boys definitely seemed to have had a good time.
It's quite usual to see these gangs of teenagers hanging around without much aim, talking a lot, and from time to time having fun by breaking something. I can somehow understand why those boys are doing this: it allows them to motivate their presence, feel they are doing something together, and change their mind.
What is interesting is that open source contributers are doing exactly the same thing... with the little twist that instead of taking the easy road of destroying things, they are creating things. They come together via internet, they chat and from time to time they add a little contribution to the edifice. No actual big aim, just because it's cool. Well, the difference is that creating is much harder than destroying but also much more gratifying!
It's quite usual to see these gangs of teenagers hanging around without much aim, talking a lot, and from time to time having fun by breaking something. I can somehow understand why those boys are doing this: it allows them to motivate their presence, feel they are doing something together, and change their mind.
What is interesting is that open source contributers are doing exactly the same thing... with the little twist that instead of taking the easy road of destroying things, they are creating things. They come together via internet, they chat and from time to time they add a little contribution to the edifice. No actual big aim, just because it's cool. Well, the difference is that creating is much harder than destroying but also much more gratifying!
Tuesday, November 25, 2008
Automatic rotation on its way
I got a new laptop in January 2008, an HP 2150p. It has a great feature: hard disk protection when the laptop falls. Well, by itself I don't think it's a great feature at all, I'd rather stay very careful and never let the laptop fall at all. However, what this meant is that it contains an accelerometer. Since I discovered this, I've wanted to have a great feature, the same one which is available on the expensive phones (like the iPhone) and in some photo cameras (like my Canon A530), the screen automatically rotates when you physically rotate the device. It's especially useful when reading articles or books: you open the file, rotate the computer and suddenly one page = one screen.
Before going further, let's recap why an accelerometer is useful for this. An accelerometer measures the acceleration, so shouldn't it detect something only when it moves, and not when it is standing rotated or not? Well, all the trick is that we can assume the user is on earth (or a planet more generally), and that the user keeps his fits on the ground. The beauty of the accelerometer is that it detect all the accelerations, including G, the gravity! So, assuming that you are on earth and that you are not taking off in a rocket plane, the main acceleration vector indicates the direction of the ground... so convenient!
Getting the functionality working in Linux was not so hard. Mainly because Yan Burman had already tackled the main problem of writing a driver for the accelerometer. However, the real fun is to have it as a default feature for anyone using Linux. Having the ad-hoc solution is fine, but the generic solution is worth thousand times more! For this, I ended up becoming the maintainer of the driver (now named lis3lv02d) and it got recently accepted in Linus' tree. It will be part of 2.6.28...
But that's merely half the journey. We need also a daemon which observes the data obtained by the accelerometer and rotates the screen accordingly. For now I have my own little script which does this. On the long term it would be good to have it integrated with the normal desktop. Let's say at least in Gnome, I would like to get this feature integrated with the new xrandr plugin.
Last but not least, after some usage I realised that there is an annoying problem when rotating the screen with the laptop: the touchpad stays not rotated. Moving the cursor requires some special mental training! So, the obvious question is how to do that. There is unfortunately no directly available solutions. However, I'm hopeful that with the Input Device Properties that Peter Hutterer added to Xorg, plus the work by Mildred Ki'Lya for changing the rotation of the synaptic touchpad driver. To be totally generic, it would be better if any input device could be rotated (the same way), especially the evdev driver should support this as well...
So the complete ad-hoc solution is nearly there, but not yet. And the generic and upstream solution still needs lots of integration at various levels... but it's on its way! Whoever is also interested is welcome to try to create patchs (for Gnome, for Xorg) and share them.
Before going further, let's recap why an accelerometer is useful for this. An accelerometer measures the acceleration, so shouldn't it detect something only when it moves, and not when it is standing rotated or not? Well, all the trick is that we can assume the user is on earth (or a planet more generally), and that the user keeps his fits on the ground. The beauty of the accelerometer is that it detect all the accelerations, including G, the gravity! So, assuming that you are on earth and that you are not taking off in a rocket plane, the main acceleration vector indicates the direction of the ground... so convenient!
Getting the functionality working in Linux was not so hard. Mainly because Yan Burman had already tackled the main problem of writing a driver for the accelerometer. However, the real fun is to have it as a default feature for anyone using Linux. Having the ad-hoc solution is fine, but the generic solution is worth thousand times more! For this, I ended up becoming the maintainer of the driver (now named lis3lv02d) and it got recently accepted in Linus' tree. It will be part of 2.6.28...
But that's merely half the journey. We need also a daemon which observes the data obtained by the accelerometer and rotates the screen accordingly. For now I have my own little script which does this. On the long term it would be good to have it integrated with the normal desktop. Let's say at least in Gnome, I would like to get this feature integrated with the new xrandr plugin.
Last but not least, after some usage I realised that there is an annoying problem when rotating the screen with the laptop: the touchpad stays not rotated. Moving the cursor requires some special mental training! So, the obvious question is how to do that. There is unfortunately no directly available solutions. However, I'm hopeful that with the Input Device Properties that Peter Hutterer added to Xorg, plus the work by Mildred Ki'Lya for changing the rotation of the synaptic touchpad driver. To be totally generic, it would be better if any input device could be rotated (the same way), especially the evdev driver should support this as well...
So the complete ad-hoc solution is nearly there, but not yet. And the generic and upstream solution still needs lots of integration at various levels... but it's on its way! Whoever is also interested is welcome to try to create patchs (for Gnome, for Xorg) and share them.
Saturday, November 8, 2008
Xorg documentation: what a pain
X.Org provides the official reference implementation of the X Window System. Being the reference, one can expect it to find a default implementation as well as the description of its behaviour and the behaviour of the client applications with the server. Unfortunately, this is done extremely badly, amazingly badly. Up to the point that today, when looking for the description of the XV protocol (you know, the technology that allows you to watch video without overheating your processor), I got lost in their minimalistic wiki, found nothing in google, passed via wikipedia, and ended up in the cvs of the old xfree which has an update in a different file. In the X.Org website all I could find was this page about the conversion of all the documentation to DocBook which doesn't even mention where are the converted documentations!
It's really a pity, because it's make it even harder to code or to debug X. I wish they had something organized as well as the gnome/glib documentation. Actually, on the book shelves of the university, there are a couple of huge official old books on the X reference, so at least an outdated documentation must be exist, it's just impossible to find. If you know, please update the X.Org wiki!
It's really a pity, because it's make it even harder to code or to debug X. I wish they had something organized as well as the gnome/glib documentation. Actually, on the book shelves of the university, there are a couple of huge official old books on the X reference, so at least an outdated documentation must be exist, it's just impossible to find. If you know, please update the X.Org wiki!
Sunday, September 7, 2008
C magics
Recently Linus Torvalds has sent a patch for the e1000 driver. Looking at it, I'm not sure if I should be amazed by the talent of Linus, or by the fact that even after 10 years of using C there are still constructs which I don't know.
It does things like:
and:
Not only I didn't even know this last construct was possible, but Linus reports that overall his patch reduces the stack usage from 1152 bytes to 192 bytes (the total stack is 4K)! Ahhh... how much more to learn about C?
It does things like:
- struct e1000_opt_list speed_list[] = {
:
+ static const struct e1000_opt_list speed_list[] = {
and:
- struct e1000_option opt = {
:
+ opt = (struct e1000_option) {
Not only I didn't even know this last construct was possible, but Linus reports that overall his patch reduces the stack usage from 1152 bytes to 192 bytes (the total stack is 4K)! Ahhh... how much more to learn about C?
Subscribe to:
Posts (Atom)