David's blog

To content | To menu | To search

Free Software / Libre

Entries feed - Comments feed

Tuesday, August 24 2010

La fin du bureau ?

Un aspect social du bureau (licence CC-BY) On parle de plus en plus de la fin du bureau, du desktop, au profit d'« applications » web. Tristan Nitot se pose par exemple la question de l'avenir de Linux sur le poste de travail. Même les développeurs Gnome s'y mettent, comme Luis Villa demandant à la communauté Gnome de prendre à bras le corps le web (« to embrace the web »). Et bien sûr lil faut compter sur Google qui, de Google Chrome à Google Docs, vise à fournir tous les outils et applications pour laisser nos informations dans le nuage (c.-à-d. sur les serveurs de Google), loin de nos PC de bureau et nos portables.

Est-ce que l'avenir du PC et de ses applications est définitivement compromis ?

Certes, les applications web sont très pratiques. Gros utilisateur du webmail, j'apprécie sa disponibilité en toute situation, sur n'importe quelle machine pourvue d'un accès Internet et d'un navigateur. Et l'aspect centralisé des applications web est appréciable lorsqu'on utilise plusieurs machines, dans différents endroits. Enfin et peut-être surtout, l'aspect « social » des applications web peut être vraiment utile. Trouver la réponse à un problème technique dans un forum sur Internet est inappréciable et m'a sauvé plusieurs fois de plusieurs heures de recherches fastidieuses. Par ailleurs, les applications web sont faciles à déployer. Tout le monde à un navigateur sur son poste de travail, chez soi ou au travail. Et en tant qu'informaticien, il devient plus facile de déployer une nouvelle version de l'application.

Pour autant les applications web sont loin d'êtres parfaites et posent même de sérieux problèmes.

En premier lieu et probablement le plus important, nous perdons le contrôle sur nos données. En tant que Libriste convaincu, cela m'inquiète de laisser mes données chez Google ou Yahoo!. Je ne sais pas comment ses données personnelles sont stockées, qui peut y accéder ou même leur pérennité.

En second, les interfaces web sont très pauvres, malgré les progrès indéniables du Web 2.0 et des technologies AJAX. Google, expert et leader en ce domaine, arrive péniblement à finaliser le Glisser-Déplacer dans les dernières versions de GMail, alors que cela existe depuis des (dizaines d' ?) années sur les applications de bureau. Et quel que soit les efforts de programmation, la latence réseau sera toujours là, ralentissant l'interface au point de la rendre malcommode voire inutilisable. Sans compter que le réseau même doit être disponible en permanence, ce qui réduit d'autant la disponibilité des applications.

Alors, quel avenir pour le bureau et ses applications ? Je pense que le bureau n'est pas mort, que ce soit sur un PC de bureau, un ordinateur portable ou un téléphone portable. Par contre, les framework de développements doivent évoluer, prenant en compte dès le départ le réseau et la distribution des données. Pour reprendre un vieux slogan publicitaire de SUN, « the network is the computer » (le réseau est l'ordinateur).

Ces frameworks doivent fournir un moyen simple pour une application de stocker des données sur un ou plusieurs ordinateurs distants, de manière centralisée ou distribuée, et ce de manière sécurisée et authentifiée. Par exemple chaque utilisateur d'application devrait pouvoir facilement mettre en place un serveur pour stocker ses données ou répartir ses données entre plusieurs ordinateurs avec des protocoles Peer to Peer (P2P). La confidentialité des données doit être prise en compte dès le départ, que ce soit sur le bureau de l'ordinateur ou un serveur distant. Les frameworks doivent également fournir des API simples permettant de gérer les problèmes de latence d'un réseau sans que le programmeur soit un expert en réseau et en comprenne toutes les implications. La technologie d'appel de procédures à distance des années 80, les fameux RPC (Remote Procedure Call), encore utilisées dans les applications AJAX avec les XML RPC sont trop limités. D'autres paradigmes doivent être utilisés. Et bien sûr des API doivent être fournis pour développer facilement des applications « sociales » où l'ont peut partager facilement des données avec des autres utilisateurs sur la planète.

En bref, il va falloir inventer le meilleur des deux mondes. Mais un monde où l'utilisateur, le citoyen, garde le contrôle sur ses données. Comme le dit Philippe Meyer, « le progrès est en marche et le futur ne manque pas d'avenir ! » :-)

Correction 2010-08-24 : s/Christian/Tristan/. Merci Thomas ! ;-)

Saturday, August 21 2010

De grands pas vers une téléphonie Libre !

Le projet OsmocomBB a pour objectif de créer une solution de téléphonie GSM (nos téléphones portables de 2e génération dit 2G) entièrement Libre, que ce soit sur le téléphone et la station de base.

Ce projet fait des progrès de jours en jours. Le dernier en date est qu'il a été possible de passer un appel de 20 minutes en utilisant uniquement des logiciels libres, tant sur le téléphone que la station de base !

Le déploiement de telles solutions est encore très loin, ne serait-ce que parce que les fréquences utilisées pour la téléphonie GSM sont soumises à des licences au coût exorbitant. Mais je trouve exaltant cette incursion du Libre dans le royaume du propriétaire et les progrès qui sont fait en si peu de temps ! Relisez le blog d'Harald Welte pour vous en convaincre.

Monday, March 29 2010

Status of OCaml packages on Ubuntu Lucid Lynx (10.04 LTS): transition to OCaml 3.11.2 finished

I don't know who are responsible for this but the OCaml packages of Ubuntu Lucid Lynx 10.04 LTS have all transitioned to OCaml 3.11.2 on main architectures (amd64 and i386). A big thank to the mysterious developer(s)! Even for secondary architectures, all packages have transitioned to 3.11.2 except 3 packages on armel: coq, ssreflect and why.

Of course, having a source OCaml package compiled with the correct version of the OCaml compiler does not make it automatically working so I encourage you to test your preferred Ubuntu OCaml packages in Lucid.

If we now compare the set of source packages available respectively on Debian Unstable and Ubuntu Lucid, the situation is not so perfect. On the 145 OCaml packages available in Unstable, 21 are not at the same stage in Lucid.

There are 5 packages simply not available in Ubuntu:

  • clang 2.6-3
  • llvm 2.6-8
  • llvm-snapshot 20100312-1
  • obrowser 1.1+dfsg-4
  • unison2.27.57 2.27.57-2

There are 11 packages that have been updated in Unstable but not upgraded in Lucid:

  • Package Unstable-version Lucid-Version
  • approx 4.2-1 4.1-1
  • camlpdf 0.5-1 0.4-4
  • coccinelle 0.2.2.deb-1 0.2.0.deb-1ubuntu2
  • graphviz 2.26.3-3 2.20.2-8ubuntu3
  • ocaml-csv 1.2.0-1 1.1.7-2
  • ocaml-ssl 0.4.4-1 0.4.3-3
  • ocaml-text 0.3-1 0.2-3
  • ocsigen 1.3.0-4 1.2.2-1
  • pgocaml 1.4-1 1.3-3
  • postgresql-ocaml 1.12.4-1 1.12.1-2
  • unison 2.32.52-1 2.27.57-2ubuntu2

And lastly there are 5 packages that had minor updates or packaging bug fix in Unstable but not in Lucid:

  • Package Unstable-version Lucid-Version
  • nurpawiki 1.2.3-4 1.2.3-3
  • frama-c 20090902+beryllium+dfsg-5 20090902+beryllium+dfsg-4
  • ocamlgraph 1.3+debian-2 1.3+debian-1
  • sks 1.1.1-2 1.1.1-1ubuntu2
  • ssreflect 1.2+dfsg-4 1.2+dfsg-3

I don't know what to do about those packages or if I can even do anything. According to Ubuntu Lucid release schedule, we are reaching Beta 2 Freeze (on April the 1st) where uploads for packages in main and restricted are held in the queue and are subject to manual approval of the release team.

Do you have any advice?

Beside that, we still have 124 OCaml source packages in good shape in Lucid!

Thursday, January 14 2010

Quick news: OCaml on Ubuntu Lucid and MapOSMatic

OCaml on Ubuntu Lucid

I have updated my scripts to compare Ubuntu OCaml packages to Debian ones. This time, I'm comparing Ubuntu Lucid against Debian testing, as for Lucid packages are imported from Debian testing (because Lucid is a Long Term Support release).

You'll find all the generated files here: http://bentobako.org/ubuntu-ocaml-status/raw/

MapOSMatic

As you have probably seen, we have done major improvements to MapOSMatic during Christmas, at both the web site level and the rendering level. I won't go into details, just read our initial announcement. Since then, we are continuing our improvements on maposmatic web front-end and ocitysmap back-end, with a new web site layout, translation of web site and maps in many languages (Arabic, Brazilian Portuguese, Catalan, Dutch, French, German, Italian and Russian). Many thanks to the numerous contributors!

We still have a lot of things to do or bugs to fix but the feedback is very positive and rewarding! Many thanks!

Thursday, December 3 2009

Installation of Linux Ubuntu Karmic Koala (9.10) on an ASUS UL30A-QX090V laptop

ASUS UL30A -- © 2009 David Mentré, license CC-BY-SA I recently installed an Ubuntu Karmic Koala (9.10) Linux distribution on an ASUS UL30A-QX090V laptop. The installation went rather smoothly. You'll find below the useful details.

Despite being in favour of reimbursement of software bundled with hardware, I decided to keep the pre-installed proprietary Windows 7 64 bits. It will allow me to test Windows 7, compare it with my Ubuntu system and test Free Software on Windows.

Under Windows 7: make room for Linux

One needs to make room for the Linux system on the 320 Gb hard disk. Fortunately, Windows is installed in a 74 GB partition and there is one 208 GB empty partition.

So, go to Windows icon -> Computer -> Right-click -> Manage -> Storage -> Disk Management. Three partitions are available:

  • 14,65 GB: no name and not mounted, probably for system re-installation;
  • 74,52 GB (C:) : Windows 7;
  • 208,92 GB (D:) : DATA, empty partition.

One needs to remove DATA partition. Right-click on this partition and choose Remove volume.

If you have a different laptop with no free partition, it might be useful to know that Windows Vista and Windows 7 can resize partitions using the same pre-installed program.

Under my current Ubuntu computer: prepare the USB installation key

I download the ISO image of the latest Ubuntu Karmic Koala 9.10 in 64 bits version: the machine has 4 GB of RAM and you can only access 3 GB with a 32 bits system.

After download, I checked that the MD5 checksum is correct. In a terminal, do "md5sum ubuntu-9.10-desktop-amd64.iso" and search for the result in the UbuntuHashes web page.

I then use usb-creator to setup an USB key with this dowloaded image. Plug in your USB key. Start usb-creator from System -> Administration -> USB Boot Disk Creator. Select the ISO image you have just downloaded and chose the USB key you have just plugged in. Then press Create button. I chose to not use an area where data can be saved on the USB key.

By the way, usb-creator installs what is needed on the USB key and makes it bootable, but it keeps the FAT32 file system so the key can still be used as a regular USB key to share documents.

On the ASUS UL30A-QX090V Laptop: install Ubuntu

Plug in the USB key and power on the laptop.

By pressing F2 when the ASUS logo is displayed, go to the BIOS and configure it to boot on the USB key. The magic trick: the USB key is seen as a hard drive! So you must go to the hard drive boot order sub-menu to put the USB key in first position, before the real hard drive. Save and exit from the BIOS through F10.

The machine then reboots and should boot on the USB key (or do a cold start by powering off then powering on the laptop).

Install Ubuntu as usual. I used the biggest free space, letting Ubuntu chose the partitioning. As this is a laptop, I also chose to encrypt the user's home folder.

After a reboot, you now have a shiny new Linux system on your laptop! Enjoy! :-)

What's working

I haven't tested everything yet. Right now:

  • Working: wired and wireless network (WiFi tested using WPA2), sound output, display at native screen resolution, extended touchpad (emulation of mouse scroll wheel and right-click), processor frequency scaling according to actual use, SDHC card reader;
  • Not tested: sound input, webcam, battery autonomy, 3D acceleration[1], hibernation, external display output (VGA and HDMI);
  • Not woking: nothing yet! ;-)

Notes

[1] But special effects are available on the desktop, so I assume 3D acceleration can be used

Thursday, November 19 2009

OCaml on Ubuntu: looking for a new maintainer

HELP At some point I helped keeping the OCaml packages on Ubuntu in good shape, especially for the Karmic 9.10 release.

Unfortunately, I have much less free time those days and can no longer monitor OCaml packages on Ubuntu. Is anybody willing to work on this?

The main job is to look at the Debian packages and check if they are currently available in Ubuntu, and rebuild them if necessary. When the OCaml compiler changes (fortunately not so often), one needs to trigger a rebuild of all packages and that can be a bit difficult, mainly because LaunchPad does not provide an interface to rebuild several packages, taking into account their dependencies.

Of course, I would help anybody willing to do that job (explain the needed scripts, issues I had, etc.).

Thursday, September 3 2009

C'est la rentrée !

Helping paw Comme tout le monde, je fais ma rentrée : des tonnes de choses reportées à terminer en urgence et la perspective de nouvelles choses à démarrer.

Côté blog, j'ai décidé de changer sa fréquence avec désormais plus qu'un seul billet par semaine, le jeudi à 13h. Histoire de me laisser un peu de temps pour faire d'autres choses.

Justement, à propos d'autres choses, avec quelques amis on s'est pris une semaine de vacances à coder. Les geeks codeurs comprennent le plaisir qu'on a à faire ce genre de truc. Les autres ont plus de mal. :-) Durant cette semaine on a réalisé un petit projet à partir de zéro. Il ne peut pas encore être diffusé donc je n'en dirais pas plus, si ce n'est qu'il tourne autour d'OpenStreetMap. Stay tuned! ;-)

Monday, July 27 2009

Secure setup of DokuWiki with Lighttpd web server on Debian Lenny

Logo DokuWiki DokuWiki is a very nice wiki programmed in PHP that does not use any database. It is very simple to setup and use. As I am using the lighttpd web server instead of Apache, making a secure installation requires a configuration a bit different from the usual one.

Here is the configuration I am using. Contrary to our installation in Niadomo, I'm using the original source tarball and not the Debian package. It is heavily inspired by installation documentation and security documentation of DokuWiki. I strongly recommend to read this security documentation before doing any installation.

DokuWiki installation

We firstly download and configure DokuWiki so the installed wiki is available as example.com/mydoku, assuming example.com is the name of your web site. I am assuming /var/www is the root directory of your lighttpd server.

 $ cd /tmp
 $ wget http://www.splitbrain.org/_media/projects/dokuwiki/dokuwiki-2009-02-14b.tgz
 $ tar zxf dokuwiki-2009-02-14b.tgz
 
 $ sudo mv /tmp/dokuwiki-2009-02-14 /var/www/mydoku
 $ sudo chown -R www-data:www-data /var/www/mydoku

We then access the configuration script http://example.com/mydoku/install.php to configure it. I won't detail this part as it is up to you to choose a configuration that suites your needs. Refer to DokuWiki install.php instructions for further details.

Making DokuWiki secure

Firstly, we remove the installation script no longer necessary.

 $ sudo rm /var/www/mydoku/install.php

Secondly, we move data/ and bin/ dokuwiki's directories in a separated directory, /usr/local/installed/mydoku. You can choose any directory that suites your setting but it should be outside of the root directory of your web server, in my case /var/www.

 $ sudo mkdir -p /usr/local/installed/mydoku
 
 $ sudo mv /var/www/mydoku/bin /usr/local/installed/mydoku/
 $ sudo mv /var/www/mydoku/data /usr/local/installed/mydoku/
 
 $ sudo mv /var/www/mydoku/README /usr/local/installed/mydoku/
 $ sudo mv /var/www/mydoku/VERSION /usr/local/installed/mydoku/
 $ sudo mv /var/www/mydoku/COPYING /usr/local/installed/mydoku/

Then we configure conf/local.php so that the installed dokuwiki knows how to look for its data and binaries. We use for this the $conf['savedir'] functionnality[1]. We also configure allowdebug to 0, to avoid giving information to attackers in case of error.

 $ sudo vi /var/www/mydoku/conf/local.php

We add the following two lines:

 $conf['savedir'] = '/usr/local/installed/mydoku/data';
 $conf['allowdebug']  = 0;

We then configure lighttpd to avoid deny accesses to inc/ and conf/ directories. We use the very specific Debian way, creating a dedicated lighttpd configuration file and activating it.

$ cat > /etc/lighttpd/conf-available/11-dokuwiki.conf

Add following content:

  $HTTP["url"] =~ "^/mydoku/inc" {
    url.access-deny = ("")
  }
  else $HTTP["url"] =~ "^/mydoku/conf" {
    url.access-deny = ("")
  }

I am simply using regular expressions to deny access to the two directories.

We then enable this configuration and restart dokuwiki.

 $ sudo lighty-enable-mod dokuwiki
 $ sudo invoke-rc.d lighttpd restart

You can now check that the accesses to http://example.com/mydoku/conf/local.php or http://example.com/mydoku/inc/io.php are now denied.

Have fun with your new wiki!

Notes

[1] Some people would call that a hack. ;-)

Thursday, July 23 2009

Transition to OCaml 3.11.1 has started in Karmic

OCaml I previously mentioned that Ubuntu Karmic currently ships with OCaml 3.11.0 and all associated libraries and programs. While it is nice to have a coherent set of OCaml packages, it would be much better to the latest coherent set of OCaml packages in Karmic! :-) Debian initiated its own transition to 3.11.1 about 4 weeks ago and this transition is nearly finished (and took in fact only 3 weeks).

I therefore raised the issue of such a transition for Karmic. After a few questions, it has been agreed upon to start a similar transition in Karmic. Moreover Andrea Gasparini, an Ubuntu's Master Of The Universe (aka MOTU), volunteered to help me. Se we opened the first bug initiating the transition. Overall, there are 124 source packages to synchronize or recompile in 6 successive rounds.

One can monitor the status of the transition of the Ubuntu OCaml transition monitor. A comparative list of source package versions between Debian unstable and Ubuntu karmic is also available.

Thursday, June 25 2009

Transition to OCaml 3.11.1 has started in Debian

Debian The 24th of June, the Debian package for new upstream OCaml 3.11.1 has been uploaded. Thus upload marks the start of the transition to OCaml 3.11.1 in Debian Sid (aka unstable). Right now, the new package has been successfully built on most of Debian supported architectures.

Following this first round, other packages are being uploaded in successive rounds. You can follow this transition on Stéphane Glondu's dedicated OCaml transition monitor.[1]

The count-down has started. We will see how much time it will take to do this transition for the 138 source packages.

- page 1 of 3