L-P Huberdeau


Kubuntu 8.04, X.org and xrandr

Posted in General by Louis-Philippe Huberdeau on the March 29th, 2008

A few months ago, I made an update on my system running 7.10 and it turned bad. The package actually got corrected very fast, but I had no time to waste so I re-installed my system. I had been upgrading my Kubuntu distribution since 6.06 and didn’t have any CD for 7.10. To get multiple screens working and the non-conventional screen resolution of my laptop, I had been carrying a heavily customized version of my xorg.conf file and a few scripts to handle the different resolutions I could need (dual head at home, single head when on the road, and a cloned 1024×768 for those times I had to present. Upgrading is always a mess, but I didn’t feel like downloading all updates, so I got an alpha release for 8.04. I was surprised to see it first correctly configured my resolution to 1280×800 and didn’t need that 915resolution fix.

OK. Maybe that wasn’t the smartest move. To keep the story short, I couldn’t get the extra monitor on my desk ever since that upgrade. My xorg.conf file would not work anymore and the configuration tools were broken. Since I had too much to do, I couldn’t get the time to investigate, but today I did. I seems like the way X is handled is having a huge face lift. There was something comforting about the xorg.conf file. If something messed up, you could always fix it by knowing some arcane lines and searching for solutions from lynx. However, it seems like that file is about to go extinct. This is what my file looks like at this time:

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "kbd"
        Option          "XkbRules"      "xorg"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "ca"
EndSection

Section "InputDevice"
        Identifier      "Configured Mouse"
        Driver          "mouse"
EndSection

Section "Device"
        Identifier      "Configured Video Device"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        SubSection "Display"
                Depth 24
                Virtual 2560 1024
        EndSubSection
EndSection

It really is different from the 222 lines file I used to carry over from installation to installation. The only thing specific to my system on it is this section:

        SubSection "Display"
                Depth 24
                Virtual 2560 1024
        EndSubSection

The only purpose of it is to tell the Intel driver to allocate a larger framebuffer at X load time in case I want to extend the Desktop. It made sense before to allocate only what was needed at load, but since you can now change the resolution dynamically, reloading X is not an option.

With fairly simple commands, the resolution can now be changed and it’s mostly safe. Never prevented me from using my computer. The only problem is that the GUIs are lacking at this time, so those commands may not be good for everyone and there are some parameters I wish I didn’t have to understand.

To get my second monitor working, I had to use these commands:

xrandr --output VGA --right-of LVDS
xrandr --newmode 1280x1024 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync
xrandr --addmode VGA 1280x1024
xrandr --output VGA --mode 1280x1024

Other than the second line, this is fairly simple. Tell it where the second monitor should go, register a resolution (Google told me the line, I didn’t figure it out), tell that the resolution applies to the VGA monitor and activate it. In the blink of an eye, the desktop is extended. No need to restart X anymore.

All this messing around with resolutions was always annoying for laptops running Linux. On desktop, all you have to care about is your own setup. However, with a laptop, the setup can really be anything. Now if I could just have a GUI to select the monitor resolution, I would be fully happy. I guess this is all going to arrive before the final release of 8.04. Still, the situation is a lot better than it used to be.

xrandr could use better documentation, but I doubt it was meant to be used by end users. Just calling the command lists the available screens and the known resolutions for them, so that is easy enough. However, the –help option does not help so much with what is expected as an argument. There is some help available on forums and such if you know what to search for.

How can you target the audience?

Posted in General by Louis-Philippe Huberdeau on the March 16th, 2008

Saturday morning. PHP Quebec Conference 2008 came to an end. This year, I was making a presentation on version control techniques, branching methods and general quality assurance elements. This is not quite the typical subject you can expect at a PHP conference, but I still think bringing more general software development topics to web developers is important. It was not the first time and I guess it won’t be the last.

However, reading the feedback forms, I found out that there was great variety within the audience and I don’t know if there is a way I can address everyone. How can it be to give enough information to teach something to those who actually know quite a bit about software development and at the same time not loose those who are self-thought and basically have no structured foundation? I guess this is something I will have to try and solve for the next time I make a presentation. That and my habit of speaking too fast.

Overall, the session went fine and I am happy with it. Other than the fact that I needed 3 laptops to get the projector working, everything went fine. I noticed that I had forgotten my notes after the presentation, so that’s a good sign I didn’t really need them. The negative comments I had in the feedback forms last year didn’t show up again this time, so that’s also a good thing.

Feedback forms are great. Especially when the organization team has someone as dedicated as Anna FIlina to type back all comments and hand them out to the speakers within hours of the session. Fill those comments, write down what you think should be improved. I think most speakers gladly accept the critics when they receive them.

Anyway, if you attended my presentation and have comments about it you didn’t write on the form, feel free to email me. In the same way, if you have questions you couldn’t ask, I would be glad to help out. Who knows, if I ever give this presentation again, I might be able to incorporate a few more details.

Blitzweekend

Posted in General by Louis-Philippe Huberdeau on the March 3rd, 2008

The Blitzweekend was quite a special event. When I first saw the announcements, I thought it was like our CodeFests. In fact, the concept is very similar, but the community is completely different. It’s simply not the same people. In CodeFests, most of us are from the Open Source community. Our goal is to play with technology, collaborate on projects and work together to learn. At the Blitzweekend, this kind of collaboration did not exist so much. Outside of the Tikiwiki room, all projects were isolated. It wasn’t as much about technology as it was about business.

I still had a great time and met with very interesting people, but it wasn’t quite what I expected. Our goal for the week-end was to make a first release of Tikiwiki 1.10, which we decided to label as beta. Otherwise, it was just a great opportunity to get together and meet other contributors. The Rest of Blitzweekend was targeted towards creating a product, starting a company and making a pitch about it. The whole competition thing wasn’t for us, but I thought it was quite nice to see all those ideas.

However, it was hard to evaluate the merit of the projects. Some projects had excellent ideas and made a great pitch, but I couldn’t be convinced that they actually got anything working during the week-end. At best a nice user interface with functional links. No proofs it actually works beyond navigation. In other cases, the projects did realize something over the week-end, but it seemed like a lot was already prepared before the first day. I was a little disappointed by the lack of attention the projects made out of self-interest and passion received. Seemed like the fact that the project was useful to you and was a nice accomplishment in a week-end was of no importance. Unless you were hunting for millions, making a presentation was a waste of time.

Don’t get me wrong, I loved the event and have nothing against entrepreneurship, but I do wish the next editions will leave a little more space for technology and collaboration. On Friday night, there was a moment where people had to raise their hands depending on if they were designers, entrepreneurs or developers. The developers and designers in the room were litterally a minority. How do you actually expect to get a product out the door with such a proportion? Too much focus on business will drive developers away. Sure having a contest for business plans and prototypes is nice, but I don’t think that closing the door to the technical community is such a good idea. I think the first step would be to accept that not everyone takes on the challenge of developping something over the weekend with the sole idea of making millions out of it.

The second step would be to make sure that collaboration can actually happen. If it’s not to be with other people and share something, the challenge can be taken from home and does not require anything else. I wouldn’t have had a problem with answering a few questions and helping out other teams during the week-end.

Anyway, the whole thing was very well organized. Location was suitable, although a little far from downtown, and the shared room was a nice place to meet with the other participants (at least, those that ended up taking breaks).