Planet Libre-entreprise.org

February 06, 2010

Emmanuel Saracco

Sortie de gurlchecker 0.12.1

gURLChecker est un vérificateur graphique de sites web pour GNU/Linux et autres systèmes POSIX. Il fonctionne sur un site entier, une page locale ou un fichier de signets.

ChangeLog

  • Evite l'utilisation de la fonction gtk_widget_set_visible() pour préserver la compatibilité Gtk+ 2.18

February 06, 2010 10:12 AM

Labs

gurlchecker 0.12.1 released

Avoid using gtk_widget_set_visible() function to preserve Gtk+ < 2.18 compatibility.

by Emmanuel Saracco at February 06, 2010 09:57 AM

February 04, 2010

Frédéric Péters

FOSDEM 2010, in a hurry

Just like Vincent wrote there is a flurry of activity this weekend in Brussels, thanks to FOSDEM, in fact there is even some people already here today, it will be nice to meet all of you.

I just got confirmation from the t-shirt producer (tip top print): they will be ready tomorrow, thanks a lot to them, if you ever need t-shirts printed in Belgium, they are really friendly.

There is a GNOME event in a bar on Saturday evening, it will happen at « La Porte Noire » (The Black Door) where there is a great collection of Belgian beers, and other beverages (with a special attention to all of you whisky lovers). (and there is the FOSDEM party on Friday evening, at the Delirium Café, where there is also lots of different beers (noticed a pattern?)).

The address and more details are on http://live.gnome.org/Brussels2010/Attendees

See you!

[imagine a "I'm going to fosdem" button here]

by Frédéric Péters at February 04, 2010 11:34 AM

Marseille, vite fait

Du 20 au 23 janvier, c'était semaine radios libres à Marseille, c'était très bien, il y avait plein de gens.

Vieux port

Marseille, 21 janvier 2010

Merci tout le monde, et tout particulièrement à Marie pour l'hébergement.

by Frédéric Péters at February 04, 2010 11:04 AM

January 30, 2010

Labs

gurlchecker 0.12 released

- Added check for Firefox bookmarks (sqlite3 database support). - Added massive delete of all bad links. - Ask confirmation before deleting a link. - Fixed a problem with local file detection. - Added CSV export. - Rewrote connect_thread() method to avoid use of deprecated gethostbyname() function. By the way, it made network management far much stable. - Fixed HTTP header detection with SSL mode. - All extensions can now be managed by user in settings dialog. - Display filters are now cumulative. - Added a FILE protocol filter. - Force all dialogs to be centered. - Some work on libglade new XML. - Some main treeview popup fixes. - Fixed problems with links refresh. - Fixed a problem with main window reactivation after a scan suspend. - Better management when gurlchecker have been built without SSL support. - Fixed a problem with software license in about dialog. - Fixed a problem with HTTP location and HTML META refresh. - Speed optimization. - Security check is now available for bookmarks projects too. - Fixed logic and GUI problems with cookies management. - A huge number of memory leaks fixes. - Code cleaning.

by Emmanuel Saracco at January 30, 2010 03:14 PM

Emmanuel Saracco

Sortie de gurlchecker 0.12

gURLChecker est un vérificateur graphique de sites web pour GNU/Linux et autres systèmes POSIX. Il fonctionne sur un site entier, une page locale ou un fichier de signets.

ChangeLog

Beaucoup d'évolutions et de corrections dans cette nouvelle version. Les principales sont:
  • Export CSV
  • Vérification des signets Firefox
  • Suppression massive des mauvais liens
  • Vérification de la sécurité des signets
  • Nouvelle méthode de filtrage pour le résultat du scan
  • Réécriture de certaines méthodes réseau
  • Corrections HTTPS et HTTP
  • Un très grand nombre de corrections de fuites de mémoire

January 30, 2010 08:30 AM

January 22, 2010

Julien Danjou

On media players: 2 years after

Two years ago, I wrote about my switch from my beloved xmms to audacious.

During this 2 years with Audacious, I suffered a bit. It was working quite fine, but I saw no big progress around it. Life happened, and I had to use a network system to play music. I started to use PulseAudio over TCP, but it does not work well, and does not work at all with Audacious (and even if the plugin is provided by upstream). So I decided to dump it.

And some days ago I discovered Sonata, a MPD client. I never liked MPD so far because all clients I found were lame.

But I really like Sonata. It allows me to listen music the way I still want: load everything in one playlist, listen everything randomly or type a song/artist to jump to it directly in the current playlist. It even has some nice feature (lyrics, so I'll be able to song out loud, covers, tag editing…) and is written in Python and GTK+ (some days I may even hack it!).

You can rest in peace x11amp :-p

by jd at January 22, 2010 08:17 AM

January 13, 2010

Valéry Febvre

Nouveautés Podboy

Deux versions (1.1.0 et 1.2.0) de Podboy ont été publiées depuis le dernier billet. Désolé pour la flemme.

Les développements ont été principalement axés sur des demandes utilisateurs.

Changements de la version 1.2.0 (du 12-01-2010)
  • New feature: show details of episodes in page "Downloads" (like in page "Episodes").
  • New feature: update only the selected podcast in page "Downloads".
  • New feature: episodes can now be tagged as "Ignore" in page "Downloads". All episodes with status "ignore" will be skip when the downloading of all episodes of a podcast will be requested.
  • New feature: import of a list of podcasts via an OPML file (new button "Import" in the page "Podcasts")
  • Fixed occasionnaly incorrect display size of podcasts covers.
Changements de la version 1.1.0 (du 02-01-2010)
  • Unplayed episodes can now be identified by a yellow star.
  • Unplayed/played status of episodes can be manually toggled via a new entry named "Toggle Played Status" in the oversel button "Actions" of page "Episodes".
  • Add possibility to show details of episodes before to play them via a new entry named "Show Details" in the hoversel button "Actions" of page "Episodes".

J'ai également travaillé sur le support des fichiers en format OGG. Malheureusement ce ne fût pas sans certaines déconvenues.

  • Sur mon ordi portable, ca marche parfois mais j'ai très souvent des segfaults au démarrage de la lecture. étant donné que ça marche très bien en ligne de commande avec gst-launch (gst-launch-0.10 filesrc location=/path/to/file.ogg ! oggdemux ! vorbisdec ! audioconvert ! audioresample ! alsasink ), je penche pour un bug dans le binding Python.
  • Sur le FR, c'est diffèrent. Pas moyen de jouer quoi que ce soit. Il semble y avoir un bug dans le pipeline "oogdemux". Même en essayant en ligne de commande avec gst-launch, c'est toujours la même erreur (j'utlise la distribution SHR-unstable):
ERROR: from element /GstPipeline:pipeline0/GstOggDemux:oggdemux0: Internal data stream error.
Additional debug info:
gstoggdemux.c(3251): gst_ogg_demux_loop (): /GstPipeline:pipeline0/GstOggDemux:oggdemux0:
stream stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.

Les versions de Gstreamer sont les mêmes: 0.10.25

Podboy Downloads 6

Podboy Episodes 2

Podboy Episodes 4

by valos at January 13, 2010 07:06 AM

January 08, 2010

Labs

Mise à jour Fusionforge 4.8.1 -&gt; Fusionforge 4.8.2

L'application vient d'être mise à jour, n'hésitez pas à signaler tout problème... (au passage correction d'un bug généré lors de la mise à jour précédent, produisant une liste vide pour l'assignation des trackers.

by Emmanuel Lacour at January 08, 2010 03:48 PM

January 06, 2010

Infos Pratiques

L'API de Wikipedia

Pour constituer un annuaire libre pour les collectivités, dans le cadre du co-marquage, un bot récupère la page Wikipedia de chaque commune de France.

Pour réaliser ce bot, il a fallu utiliser l'API fournie par Mediawiki. Et ce fut une excellente surprise : la documentation est bonne, les fonctions de l'API fournissent elles-mêmes leur documentation et elles peuvent être testées simplement avec un navigateur web. Un exemple à suivre.

by Emmanuel Raviart at January 06, 2010 07:41 AM

January 04, 2010

Frédéric Péters

Voyage en Italie

Quatre semaines, du 6 décembre, au 4 janvier, dans le sud de l'Italie, en Calabre et en Sicile. Le premier soir, un peu de vocabulaire, j'ai appris « alla spina »; je ne pense pas avoir vu de pompe à bière de tout le reste du séjour.

Cathédrale de Palerme, et clémentines

Cathédrale de Palerme

À Palerme il faut absolument faire des photos des petites rues, avec du linge qui pend, et des marchés, avec leurs étals de citrons.

Plage de Cefalù

Cefalù

Décembre par plus de vingt degrés (24° le 30 décembre à Messine), c'est agréable.

Entre Villa San Giovanni et Messine

Traversée de Villa San Giovanni à Messine

Les transports en commun ont une certaine réputation de retards, on ne les a pas trop vécus. Et c'est génial d'aller en ferry à Messine pour moins cher qu'un Arts-Loi — Gare du Midi avec la STIB.

L'Etna

L'Etna, depuis Acireale

De la Sicile, les gens connaissent l'Etna et bien peu les arancini; ils ratent quelque chose. Cela dit en faire l'entièreté du repas de Noël, c'est peut-être pousser un peu.

Scilla, un côté

Scilla

J'ai été pendant trois semaines captivé par l'existence d'une rue Cesare Battisti à Reggio, avant de réaliser qu'il devait s'agir d'un homonyme. Par ailleurs j'ai découvert que le travail de fin d'études de Fanny Ardant est intitulé « Anarchisme et surréalisme ».

Palizzi

Palizzi Superiore

Edward Lear, artiste et poète anglais, a été fasciné par les villages dans la montagne calabraise, et Palizzi en particulier; le gars m'ayant pris en stop — alors que je n'en faisais pas —, en est très fier; il adore son village.

Un grand merci pour l'accueil à Mikaël et Évangéline à Reggio, à Bastien à Palerme, et à Sophie "même si j'ai fait un peu ma chiante (mais toi aussi un peu alors ça va :)".

by Frédéric Péters at January 04, 2010 11:12 AM

December 28, 2009

Infos Pratiques

Combien de mairies ont un site web ?

L'annuaire de l'administration recense 6486 mairies ayant un site web.

L'annuaire de l'AMF en compte 9615, dont 4671 ne figurent pas dans l'annuaire de l'administration.

Quant à Wikipedia, un "bot" a permis d'en recenser 2719, dont 425 n'apparaissant pas dans les 2 précédents annuaires.

Au total, au moins 11582 (6486 + 4671 + 425) communes françaises ont donc un site web.

by Emmanuel Raviart at December 28, 2009 09:29 AM

December 26, 2009

Emmanuel Saracco

Publication du morceau Simple Dream

Publication du morceau Simple Dream.
Enregistrement et mixage avec Ardour.

December 26, 2009 06:16 PM

December 25, 2009

Emmanuel Saracco

Sortie de wbmtranslator 0.7.1

wbmtranslator est un assistant de traduction pour les modules webmin/usermin.

ChangeLog

  • Correction d'un problème avec la détection de l'UTF-8. À présent, toutes les langues devraient apparaître dans les listes, et la traduction UTF-8 peut être gérée.
  • Correction d'un problème de validation de l'email lors de l'envoi de l'archive des traductions.

December 25, 2009 05:42 PM

Labs

wbmtranslator 0.7.1 released

- Fixed a problem with UTF-8 detection. Now all languages appear in lists, and UTF-8 translation can be managed. - Fixed a problem with email validation when sending translation archive.

by Emmanuel Saracco at December 25, 2009 05:29 PM

December 24, 2009

Infos Pratiques

Fichier libre des codes postaux

Jusqu'à présent, pour les différentes applications de co-marquage, nous utilisions le fichier des codes postaux fourni par Jérôme Galichon.

Mais, la liste des codes postaux provenant de Wikipedia est meilleure : 281 codes postaux ont ainsi été corrigés.

by Emmanuel Raviart at December 24, 2009 03:30 PM

December 22, 2009

Julien Danjou

Python cairo and XCB support

cairo has a Python binding (pycairo) since a long time, and some months ago a Python binding for XCB (xpyb) has been released.

Pycairo has no support for creating Xlib surfaces. You can get a Xlib surface from PyGTK and then use Pycairo to draw on it, but there's no way to create one directly.

What I've done is make Pycairo aware of xpyb so it can creates directly an XCB surface from a XCB connection and a drawable.

As said in my mail to the XCB list, I'm now waiting for a review before pushing this upstream. :-)

For the first time, I guess, XCB has beat Xlib support! ;-)

by jd at December 22, 2009 12:01 PM

Valéry Febvre

Nouvelle version 1.0.1 de Podboy

Un nouvelle version de Podboy est disponible.

La grosse nouveauté de cette version, c'est le support du Bluetooth A2DP qui permet enfin d'écouter ses podcasts sans aucun fil. En particulier, si comme pour moi le père Noël vous a apporté ce superbe casque.

Motorola S9

Changements :
  • Added a Bluetooth A2DP support (not yet optimal, mp3 data are not sent directly but transmitted with SBC)
  • No more config file, now settings are stored in database (in table "settings")
  • Fixed callbacks with new python-elementary (revision >= 43900)
  • Added date at the begin of episodes titles
  • Used InnerWindow widget instead of Window widget for confirmation dialogs
  • Added a confirm dialog when a single episode is deleted
  • Speed up startup (~3 seconds less)
  • Renamed Preferences into Settings.
  • Added "About" page
  • Many small fixes here and there

Podboy

Podboy Settings

by valos at December 22, 2009 10:45 AM

December 21, 2009

Emmanuel Saracco

Publication du morceau The Invisible Enemy

Publication du morceau The Invisible Enemy.
Guitares et basse sur de réels instruments, batterie composée sur Hydrogen. Enregistrement et mixage avec Ardour.

December 21, 2009 12:02 AM

December 20, 2009

Julien Danjou

Teething troubles

It's not that often that I start something from scratch. It's an amazing feeling to start a new project, to start writing something new. I like that. It's creation, it's an artistic part of our computing stuff. I feel like a code artist.

And what I like even more is that little feeling that you are going in an unknown land. Some area in this tech world where nobody ever came before you, or only a few pioneers.

That the sensation I got starting to using Cython, Python 3 and various other tools. I just spent half of my time trying to fix problems, rather than working on *my* code. Problems in autoconf macro not knowing Python 2.6 or Python 3.1. Problems and limitations in Cython. And problem in Python.

That last one was a hard one. I'm still a beginner in the Python world: I barely know anything. And I was trying to use something nobody never did: building an embedded Python with a set of built-in modules.

I spent hours trying to find why one type of module importing was badly failing. I finally found the answer thanks to a guy. who has the same problem A guy ? No. A pioneer. What do I say? A hero. He's been my week-hero! Thank you Miguel Lobo because you found the bug I chased for hours and because you even reported it as issue 1644818, including a patch! How not damn wonderful is that?

I will not bore you with the technical details of that bug, since nobody cares. Nobody cares, even the Python guys, since that bug has been opened for 3 years, and nobody even reviewed in that time. I found an old thread about that bug where some guys were wanking about how they should do the review, because Miguel pushed for several weeks to have a review, back in 2007.

But that bug was in my way. I had to do something. So I prepared my mail reader, mounted my web browser and here I was for a uniq quest: getting a Python bug fixed.

At that point, if you did not stop reading earlier, you might get very excited. Don't be, spoiler, it's still not fixed. You'll have to wait the end of the season and see all the episodes I'll have to write to get the end of the story!

Let's continue.

I had to create an account on the Python bug tracking system. That was a trivial task for a man like me (you bet). Then, I launched a verbal attack, something you rarely see in a bug tracking system. Something I knew would awake any developer caring about their software.

Julien Danjou: Is there any chance to see this *bug* fixed someday?

I had the deep feeling that my quest was starting here. How many days would I have to wait until I get an answer? Time was passing. Minutes were ticking while I was waiting, sat in a comfortable sofa in a softly lighted room. It seemed like all my life was shorter than the delay I had to wait to get an answer.

After waiting for hours, suddenly, and only 15 minutes later, I got an answer:

Martin v. Löwis: Please ask on python-dev. I may be willing to revive my five-for-one offer.

Martin? Don't know that guy. Who is he? Who is he like? Will he fix that bug? What is this offer? So many question without an answer. But he asked to ask on python-dev, and I said: challenged accepted! I will write a mail to python-dev to get that bug fixed.

Which I did. I sent a short (but well written you know, I made efforts) "WTF?" to pyhon-dev.

And then the guy asked me to review 5 bugs so he will review and fix this one. And this is how I said that he was pissing me off for blackmailing me to fix a bug that was its "duty".

Therefore, this is the end of the story so far. Will that bug be fixed some day? There's a hope, because another guy jumped in and took the bug assignment.

To be continued.

My conclusion about all that story: that is a little rude to start something new, with new tools, and get quickly into teething troubles. It's even more harsh to enter a community because you just found bugs, and be not very well received when you ask to apply a 10 lines long fix somebody wrote 3 years ago to fix it.

I'll probably still use Python :-), but I get a darker image of its community now.

by jd at December 20, 2009 10:59 AM

December 13, 2009

Emmanuel Saracco

Publication du morceau Criminal Song

Publication du morceau Criminal Song.
Guitares et basse sur de réels instruments, batterie composée sur Hydrogen. Enregistrement et mixage avec Ardour.

December 13, 2009 05:47 PM

December 06, 2009

Labs

wbmtranslator 0.7 released

- Added support for themes translation. - Added support for translation of long description. - Added "trans_webmin" and "trans_working_path" option in a new "line_global" section to avoid buggy themes that were not display them in the configuration page. - Always use UTF-8 for translator assistant. - Updated webmin and Usermin core modules list. - Now include all needed Usermin files. - Fixed a problem in core modules list updater script.

by Emmanuel Saracco at December 06, 2009 06:37 PM

Emmanuel Saracco

Publication du morceau Rough And Ready

Publication du morceau Rough And Ready.
Guitares et basse sur de réels instruments, batterie composée sur Hydrogen. Enregistrement et mixage avec Ardour.

December 06, 2009 12:44 PM

Publication du morceau Bad Sign

Publication du morceau Bad Sign.
Guitares et basse sur de réels instruments, batterie composée sur Hydrogen. Enregistrement et mixage avec Ardour.

December 06, 2009 10:00 AM

December 01, 2009

Frédéric Péters

Sondages

Via Les mots ont un sens, cet article sur le site de Marianne, Sondages en ligne: tous pour l'interdiction des minarets ?, que je prends comme prétexte pour poster ce résultat :

/vrac/securite.png

Le Soir, 28 novembre 2009

by Frédéric Péters at December 01, 2009 05:35 PM

November 27, 2009

Frédéric Péters

Life & Design

This is getting traditional, noting how busy I have been this month, and how little I managed to do in GNOME (it had been weeks since a significant change, but I got back to it with the addition of the nightly buildbot scheduler to JHBuild (bug 591231).

Busy weeks for many things, with the high point this Sunday with an audio workshop for beginners I found myself organizing, and which turned out great, with the motivation to do it again with the same people. But then I was drained for a few terrible days. And even yesterday evening — that should have been a blast (finally the premiere of the short movie of S.) ­— went kind of wasted on my low energy.

The nice thing is holidays are coming soon, more on that later.

Miró

Miró on a calendar. November 27th, 2009

Anyway I didn't have much time for GNOME while I would have loved to push that proposal, quoting myself answering to William Jon McCann, on focusing artists, designers and usability people on "user experience":

With both you and Jeremy Perry who are working hard on the shell design, with Andreas Nilsson and friends¹, with the experienced people from Sun, with designers from OpenSUSE and Ubuntu, in an open but focused channel, we could assert we have a trusted team in charge, and avoid accusations of changes being made by lone runners.

I didn't push, but it was briefly discussed on IRC, and Andreas seemed well motivated ("I'm into whatever you guys come up with"), and it could start as a monthly design about 3.0 materials.

The proposal is on the table, and I am sure the constitution of an "as official as it can get" team working on user experience would be a great asset.

Speaking of design, I will have a few weeks off in Italy, first week in Reggio Calabria, then the plans are less clear, as S. should arrive and join up with me for the rest. Perhaps there will be some days in Palermo as a friend got there a few weeks ago, we will see.

Italian GNOME hackers, especially in the south of Italy, or in Roma (I'll stop there), I will love to meet you, you know my email.

by Frédéric Péters at November 27, 2009 04:20 PM

November 11, 2009

Valéry Febvre

Neomis - une version ordi du jeu électronique Simon

Une application de plus pour nourrir votre Neo ;-) Et encore un jeu !

Après un pseudo le compte est bon, voici Neomis une version ordi du jeu électronique bien connu Simon.

A croire que je suis un peu nostalgique ces temps-ci ? Demain, je fais un Merlin ;-)

Bon, pour ceux qui connaissent pas, c'est un jeu de mémoire et de concentration dans lequel vous devez répéter des séquences de sons et lumières (4 couleurs) aussi longtemps que vous pouvez vous en rappeler! A chaque séquence correcte, le jeu rejoue la séquence en lui rajoutant une couleur / son supplémentaire.

http://code.google.com/p/neomis/

Neomis

Neomis Settings

Neomis High Scores

by valos at November 11, 2009 12:15 AM

November 09, 2009

Julien Danjou

Fuck you GNOME

I had to use GNOME today on a random computer. gnome-terminal was beeping all the time. I say no problem, I know how to disable this:

xset b off

It did not work... Hum. I go in the right menu and see a checkbox "Terminal bell". I click on it. All I got is all my terminal windows going away and:

gnome-terminal3557: segfault at 4 ip 0806f417 sp bf9fd000 error 4 in gnome-terminal8048000+3a000

No kidding. You don't want to use X standard ways and prefers to crash at my face. Fuck you.

by jd at November 09, 2009 04:16 PM

November 08, 2009

Labs

gurlchecker 0.11.1 (unstable) released

- Fixed a problem with export's XSL stylesheet. - Fixed a segfault with new project dialog. - Fixed dist-all target for manpage inclusion. - Do not bother end-user anymore with cookies expiration warning. - XSL enhancement to produce better HTML report. - Use pkg-config to search for the gnutls library. - Do not build manpage on the fly anymore. It is now located in the root package directory. - Cleaning and optimization.

by Emmanuel Saracco at November 08, 2009 05:27 PM

November 04, 2009

Valéry Febvre

NumberX - un jeu de puzzle mathématique

NumberX est la dernière application que j'ai developpé pour l'Openmoko Neo Freerunner.

C'est un jeu de puzzle mathématique qui mettra au défi votre habileté mental en mathématiques!

Quatre nombres aléatoires, entre 1 et 9, vous sont donnés et vous devez les combiner tous ensemble à l'aide des opérateurs arithmétiques de base afin d'obtenir un autre nombre aléatoire.

Chaque puzzle a une solution. La difficulté des énigmes varie, certaines sont faciles et d'autres sont beaucoup plus difficiles!

http://code.google.com/p/numberx/

NumberX puzzle unresolved

NumberX puzzle resolved

by valos at November 04, 2009 12:39 PM

November 01, 2009

Emmanuel Saracco

October 24, 2009

Valéry Febvre

Nouvelle version 1.3.0 de NeoLight

Un nouvelle version de NeoLight est disponible.

Changements :
  • Ajout de 2 nouveaux modes de strobe : le mode Flashlight Color/White et le mode S.O.S.

NeoLight

NeoLight Settings

by valos at October 24, 2009 01:11 PM

October 21, 2009

Frédéric Péters

An evening with threads

I noted on Monday how I have been working on jack mixer recently; to be honest I didn't do much work up to now, replacing some widgets, adding a preferences dialog, easy stuff.

But as I am starting to use it seriously I realized it didn't scale well, I would add five channels and it would burn CPU and memory in a terrific manner. Without much investigation I decided it was caused by the polling for MIDI events, and set out to fix this.

Well, jack_mixer is written in Python and C, Python for GUI stuff and C for jack and computer intensive stuff, and it turned out it's not possible to call back from a C extension to Python code, when using SWIG, so I got to write a manual binding, easy enough, and I got it feature complete quite fast, gaining good looking code along the way, from here:

mixer = jack_mixer_c.create("test")
print "Channels count: %u" % jack_mixer_c.get_channels_count(mixer)
channel = jack_mixer_c.add_channel(mixer, "Channel 1", True)

to there:

mixer = jack_mixer_c.Mixer("test")
print "Channels count: %u" % mixer.channels_count
channel = mixer.add_channel("Channel 1", True)

All was left was to replace the polling by a callback system, and it worked, then it crashed, randomly. And I realized I stepped in the dreaded thread country.

There is the main thread, it's Python, and PyGTK, but then there are threads created by jack, and the callback is called from one of them, from jack thread to Python, where the Global Interpreter Lock reigns, to PyGTK, where you should do everything in a single thread.

After much reading and pestering I believe I reached a working state doing the following things:

  • calling gtk.gdk.threads_init();
  • enclosing the extension PyObject_CallObject call (which calls a Python function from C) between PyGILState_Ensure() and PyGILState_Release();
  • emitting a gobject signal from the Python callback;
  • calling the GTK stuff from a function connected to that signal.

With all of that in place I can now turn knobs and push faders all I want, without crashing.

Unfortunately it didn't address the performance issue, which was in fact much simpler (some widgets were invalidated every 60ms, as their "value changed" computation was wrong).

Lessons learned (again): 1) don't jump to conclusion on the cause of performance issues, 2) it's possible to tame threads.

by Frédéric Péters at October 21, 2009 07:53 AM

October 19, 2009

Julien Danjou

sysrqd 11

Just got a bug report (SIGPIPE when playing with nmap), so I released a 11th version of sysrqd.

by jd at October 19, 2009 09:43 AM

Frédéric Péters

Those Past Weeks

After being quite active for a while with the port of things to the new Bugzilla I went pretty inactive for GNOME, too many other things in life. Of course I helped a little bit in getting 2.28.0 out, made a few patches left and right, and continued publishing the weekly commit digests (they turned one year old without any celebration).

If not in GNOME, where have I been those last weeks? Short list.

I went to Saint-Etienne as a member of a thesis committee (I wrote about this in French).

At work (I know I rarely write about work here) I have been extremely pleased with the participation around the w.c.s. project, mostly from the AUF, it is quite cool to get a real community form around a project. Also I am close to the completion of another project, centered around an OpenOffice.org extension, more on this later.

UC-33 Fader

I got back working on the radio panik website, together with S, definitely low tech. I have also been assembling things, hardware and software, to create a ultra light portable studio, playing with a MIDI control surface. In the process I contributed two patches to jack mixer and immediately got promoted maintainer...

And other things...

But now that 2.28.1 is around the corner, and decisions have to be made on 2.30, I'll get back to GNOME.

by Frédéric Péters at October 19, 2009 08:01 AM

October 03, 2009

Frédéric Péters

Aventures stéphanoises

Je triche un peu et les fais commencer la veille, le soir, quand des plans très précis concernant une utile lessive sont mis à mal par une invitation à venir dîner, d'artichauds et sardines grillées. Pour être honnête ma dernière expérience avec un artichaud doit remonter à 2001 et ne pas être des plus heureuses mais enfin soit, à l'aventure et ma foi de bien bons artichauds et une bien bonne soirée.

Soirée qui laisse donc une lessive sur le tapis et en conséquence me projette dans une chasse au trésor, jeudi matin, pour constituer deux paires de chaussettes appareillées. Objectif atteint, ce qui m'étonne encore aujourd'hui, mais qui est suivi d'un nouvel obstacle : toute ma flemme a eu raison de mes vélléités d'achat de chaussures neuves et celles que je me mets aux pieds, décemment, pour l'objet de mon voyage, ne conviennent pas. Remue-ménage et sublime retour des ABL que je n'ai pas dû porter depuis l'Ardèche. Ainsi paré, en route ! Saint-Étienne me voilà !

5 heures plus tard

Oui, j'y suis, et quelle merveille que ce TER Rhône-Alpes munis de prises électriques. J'ai une adresse, et porté un rapide coup d'œil sur une carte avant de partir, Denfert-Rochereau ? Parfait, tout droit. Je vais un peu trop loin, mate un plan des bus, me réoriente et plus tôt que je ne l'imaginais arrive la rue de ma destination, hôtel annoncé fraîchement rénové, en fait encore en cours de rénovation, qu'à cela ne tienne, chambre 105, ce côté est tout neuf, je glisse ma carte et la porte s'ouvre. Je déballe mes quelques affaires, oups j'ai oublié la mousse à raser, et aïe aïe mon talon, je sors acheter des sparadraps. Merveilleuse invention de la médecine moderne que ceux-ci, me voilà à nouveau marcher sans mal, je m'élance à la découverte de la ville, et me voilà sans le savoir grimper le Crêt de Roc.

Quartier historique des armuriers et des passementiers, construit sur un site collinaire, le Crêt de Roc caractérise fortement le paysage et le patrimoine stéphanois. Il compte 8 000 habitants (chiffres de 1999). Il présente aujourd’hui un habitat ancien fortement dégradé accueillant une population en grande fragilité sociale.

Il n'y a pas à dire, Saint Etienne, c'est encore www.saint-etienne.fr qui en parle le mieux... Pourtant, ces immeubles à flan de colline, ces escaliers montant à travers le quartier, peut-être est-ce juste nostalgie de la Montagne de Bueren mais j'aime assez.

Du haut du crêt de Roc

Crêt de Roc, Saint-Étienne, 1er octobre 2009

Je rejoins alors le centre ville en descendant ces escaliers qui constituent la « Montée du Crêt de Roc ». Place Jean Jaurès, café des artistes, petite pause avec Haruki Murakami, puis place de l'Hôtel de Ville et retour au mien, d'hôtel, pour retrouver Mikaël, local de l'étape, qui sait donc que c'est dans l'autre direction qu'il faut aller, rue des Martyrs (de Vingré). Soirée tranquille vu ce qui l'attend le lendemain et retour au bercail.

Réveil, petit déjeuner et direction l'ISTASE, qui s'appelle maintenant Telecom Saint-Étienne. Pas d'aventure pour moi ici, ma place de membre invité du jury est bien plus décontractante que celle de Mikaël, dont c'est la soutenance. « Identités numériques : gestion inter-organisationnelle centrée sur l'utilisateur et respectueuse de la vie privée », la matinée se déroule sur ce thème, et une fois la très honorable mention acquise, l'après-midi aussi, dans des discussions avec les autres membres du jury et de l'institut. Mais déjà l'heure a trop tourné et c'est le retour en train et la fin de cette courte escapade.

by Frédéric Péters at October 03, 2009 03:48 PM

October 02, 2009

Julien Danjou

Courier to dovecot migration

This week, I've managed to migrate from courier-imap to dovecot at work. I always had a good experience with dovecot, and I still have one.

Dovecot performances are very good in comparison with courier. With that switch, we dropped the CPU usage of the server from 25 % to 10 %, and it's damn faster now. I have no idea why, but I think that it's better written looking at the code, and also that its usage of index files helps a lot.

We got no problem getting things work with public folders either, so the switch was almost painless.

The only problem we had is that Dovecot is too smart for some MUA. Consequently, we hit an 8 years old Mutt bug #969, which I also reported to the Debian BTS as #549204 with a not-well-tested-but-seems-to-work patch.

Thanks to Claws mail, we also found a bug in dovecot 1.2.5, which should be fixed soon. Dovecot upstream is very responsive and that's always something nice to know when you use a free software.

by jd at October 02, 2009 03:03 PM

Labs

Mise à jour GForge 4.5.19 -&gt; Fusionforge 4.8.1

L'application vient d'être mise à jour, n'hésitez pas à signaler tout problème...

by Emmanuel Lacour at October 02, 2009 02:56 PM

September 25, 2009

Easter-eggs

I've lost my files !!!

Bonjour,

À qui cela n'est-il donc jamais arrivé ???

Avec le système de fichiers ext2 il 'y avait la possibilité de retrouver des fichiers effacés à l'aide de Midnight Commander mais avec Ext3 que néni.

Après quelques recherches, j'ai découvert ext3undel. Celui-ci peut être utiliser directement, avec ses options, ou bien propose deux autres exécutables, gabi et ralf qui sont plus simples d'utilisations mais plus globaux.

Ext3undel s'appuie, entre autre, sur foremost, disponible en paquets Debian (Lenny).

Foremost permet de restaurer des fichiers effacés du système en spécifiant des types de fichier, la partition ou image dd concernée, un répertoire de destination des fichiers restaurés ainsi que quelques autres options... Il a l'avantage de pouvoir travailler dur une partition montée ce qui n'est pas forcément le mieux pour éviter l'écrasement d'inodes mais permet de travailler sur des filsystem que l'on ne peut pas démonter ou monter en readonly.

Dans le cas présent, après avoir créer le répertoire de destination, j'ai utilisé la commande :

foremost -s 512 -o /root/photo-finds/ -t jpg /dev/md1

Le résultat est surprenant, pour un répertoire effacé d'une taille d'environ 5 Go, il a récupéré 199 Go de fichiers correspondant au type et sur la partition que j'avais spécifié. Foremost a donc restauré des fichiers effacés depuis longtemps :)

by Pascal Brugier at September 25, 2009 08:08 AM

September 22, 2009

Julien Danjou

Various news: what happend durring summer

It's been a while since I blogged about something. So here's a bunch of things I've done the last month.

Holidays

Well, I've been in holidays one week. :-P

awesome

There have been a huge number of changes between 3.3 (released in June) and 3.4 (almost relesed). I wrote a small but very useful object layer on top of Lua, which adds a class/object system a bit like gobject. I've also replaced all the hooks by per-class/object signals. Finally, the awesome Lua basement are cleaner than they were before, and the extendability is improved. How nice.

We're trying to release 3.4 (rc2 should be out soon), but the development pace is a bit slower than a year before. We're basically almost 2 months late on what was our previous release rate. Not a big deal however.

I've started working on 3.5 slowly. It gonna get amazing new features too. :-)

Google Summer Of Code 2009

I've mentored Mariusz Ceier on XCB GSoC. He worked on adding Xinput2 and XKB extensions. And he managed to do this. His work should be imported ASAP, the discussion has started on XCB maling list last week.

In exchange, Google offered me (and to every mentor) an awful blue t-shirt! Thanks Google! :-P

by jd at September 22, 2009 03:13 PM

September 18, 2009

Christophe Benz

Travailler avec sshfs

Le système de fichiers virtuel http://fuse.sourceforge.net/sshfs.html basé sur http://fuse.sourceforge.net permet de monter un répertoire à travers SSH. Voici quelques astuces qui me sont utiles.

  • je crée un répertoire $HOME/mnt et les sous-répertoires des points de montage
  • je place mes points de montage dans /etc/fstab, par exemple :
sshfs#cbenz@hostname.com:/home/cbenz  /home/cbenz/mnt/hostname     fuse defaults,user,uid=cbenz,allow_other     0 0

On peut aussi placer l'option follow_symlinks, qui suivra les liens côté distant.

  • pour monter et démonter :
$ mount ~/mnt/hostname
$ fusermount -u ~/mnt/hostname

Maintenant qu'on a mis en place les bases, on se rend bien vite compte que certaines commandes sont longues lorsqu'elles manipulent un grand nombre de fichiers/répertoires. Par exemple, si on utilise git, la commande «git status» sera très longue (30sec pour un petit projet) alors qu'en local elle prend <1sec. Solution : un petit script python que j'ai nommé «sshdo», qui exécute la commande côté serveur, en se plaçant dans le répertoire correspondant au répertoire local en cours.

#!/usr/bin/env python
 
import os
import sys
 
if len(sys.argv) < 2:
    print 'please enter a command'
    sys.exit(-1)
 
command = ' '.join(sys.argv[1:])
remote_hostname = os.path.abspath('.').replace(os.environ['HOME']+'/mnt/', '').split('/')[0]
remote_path = os.path.abspath('.').replace(os.environ['HOME']+'/mnt/%s/'%remote_hostname, '')
os.system('ssh %s "cd %s; %s"' % (remote_hostname, remote_path, command))

Utilisation :

$ sshdo git status

Par contre il faut respecter cette arborescence ~/mnt/hostname pour que ça fonctionne.

by Christophe Benz at September 18, 2009 03:11 PM

September 17, 2009

Christophe Benz

GNU screen automatique au login

Quand je me connecte à une machine par SSH, et que je fais des opérations plutôt longues, quelle n'est pas ma (mauvaise) surprise lorsque la connexion coupe, et que je perds le shell en cours. Bien entendu, GNU screen est fait pour ça !

Seulement, je ne pense jamais à l'utiliser. Alors j'ai mis la ligne suivante dans .profile :

[ -x /usr/bin/screen ] && (screen -r || screen)

Si un screen existe déjà, il s'y connecte (option -r), sinon il en lance un.

D'autre part, ce qui m'embête avec screen, c'est le raccourci C-a dont je me sers sans arrêt pour revenir au début de la ligne. Je l'ai changé par C-z dans .screenrc :

escape ^Zz

Et pour scroller (remplacement de shift-pgup/pgdown) ? C-z ESC puis pgup/pgdown, flèches, ou roulette souris.

Là, plus d'excuse pour ne pas utiliser screen.

by Christophe Benz at September 17, 2009 09:17 AM

September 14, 2009

Frédéric Péters

Getting features back in Bugzilla

The migration to Bugzilla 3.4 was a success, Max Kanat-Alexander did a great job porting many of our features, and most important porting them the right way, to be sure we do not end up in a few years stalled with an old Bugzilla again.

Still we had many features in Bugzilla and not all of them could make it, and it's now up to us to work on features we miss. Hacking on a web application written in Perl? The dream of all the GNOME hackers! Not. But I spent some time on this before my laptop broke, and I got back a development Bugzilla running this Saturday.

Helped by Olav and his insistance and doing it the proper way I set to work and by yesterday evening we now got back support for stock answers and the patch report (not yet linked from other pages, and with a different URL imposed by the extension mechanism, example).

In the pipeline I also have a port of the describeusers.cgi page and of the weekly bug summary. Hopefully they will soon be finished and installed.

Rainbow

Bruxelles, August 24th 2009

Actually I wanted to post a picture of "Camembert au miel et pommes de terre au four" as I got a new oven (thanks Chris) and have a great time cooking but the picture didn't turn well, so here's a rainbow for you.

by Frédéric Péters at September 14, 2009 08:57 AM

September 12, 2009

Valéry Febvre

MangerSain sur votre Openmoko - additifs alimentaires

MangerSain est une application qui vous permet de consulter simplement et rapidement une liste des additifs alimentaires et leur toxicité.

Toutes les données proviennent intégralement du site http://mangersain.medicalistes.org.

http://code.google.com/p/mangersain/

MangerSain Search

MangerSain

by valos at September 12, 2009 10:33 AM

September 10, 2009

Christophe Benz

substitutions de commandes bash

Sous Bash, je connaissais la substitution de commande, avec $(cmd) ou `cmd`, par exemple :

$ grep 'body' $(find -name '*.html')

Par contre je découvre la substitution de processus (process substtitution en anglais) : <(cmd) ou >(cmd) C'est pareil, sauf que le résultat de la commande est considéré comme un fichier (un lien depuis /dev/fd vers un pipe en réalité) et non comme une string.

C'est utile avec des commandes travaillant sur des noms de fichiers et ne sachant pas prendre en compte l'entrée standard (stdin).

Par exemple, j'ai écrit un script Python qui extrait les adresses email d'un fichier fourni en paramètres et les affiche sur la sortie standard :

$ extract-emails.py file.txt
$ cat *.txt | extract-emails.py  => erreur, le script ne sait pas faire
$ extract-emails.py <(cat *.txt)

On peut utiliser la forme >(cmd) qui fournit l'entrée standard à la commande cmd.

Exemple de la vie réelle : on utilise git et on veut connaître les fichiers du dépôt n'ayant pas changé depuis les 100 derniers commits :

$ comm -13 <(git diff --name-only HEAD~100 | sort) <(git ls-files | sort)

La commande comm prend 2 fichiers en entrée. Le premier (git diff) fournit la liste des fichiers ayant changé, le second la liste totale des fichiers. La liste des fichiers n'ayant pas changé est la différence du deuxième et du premier, et c'est le rôle de «comm -13».

by Christophe Benz at September 10, 2009 12:51 PM

LodgeIt! le pastebin libre

J'ai découvert le pastebin LodgeIt! dont le code source est libre.

LodgeIt! est écrit en Python et utilise Pygments pour la coloration syntaxique (même auteur).

L'auteur a également écrit un plugin Vim permettant d'envoyer du code directement depuis Vim en tapant ":Lodgeit".

Et comme le code source est libre, il est possible d'installer son propre serveur LodgeIt!.

by Christophe Benz at September 10, 2009 12:16 PM

August 23, 2009

Frédéric Péters

Stepping into the future

Sure my laptop was more than five years old and showing its age at times but I was still quite happy with it, unfortunately some mechanical part broke down and the lid couldn't be closed anymore, not practical.

So I now have a Thinkpad, first time I don't go for a cheap assembled computer, first time I get to buy a Windows licence, scratched as soon as I boot it up.

I still do not have migrated everything, but I got my GNOME development environment set up already, and used the opportunity to fix a build issue with nss on 64bits archs, and while I was at it I also fixed xulrunner to build, using the nspr and nss libraries installed by jhbuild. Mozilla built in jhbuild, the next logical step was to check if I could gnome-shell built in my full jhbuild system, and sure it managed without a glitch.

However starting gnome-shell was a pain, way too slow, actually not slow but terribly sacadated, something was really wrong, as the processor showed little activity. It's finally the day after that I looked at it again and took measurements, how strange, the screen is refreshed only every three seconds! Then I checked with a sample Clutter app and it had the same behaviour, so I looked at Clutter debugging infrastructure and read the Running Clutter page, to learn about the available debugging modes but just below there was a note on CLUTTER_VBLANK and I gave it a try.

CLUTTER_VBLANK=none and voila, it works! I could at last try gnome-shell And to be honest I was pleasantly surprised, I only gave it a shot once, months ago, and it sure improved and is quite usable now (in fact I am using it at this moment), and it goes really well with my dark theme. Congrats to the gnome-shell people!

And now the paint has dried, I'll go back to my Sunday paint job...

Green Paint

by Frédéric Péters at August 23, 2009 12:56 PM

August 21, 2009

Emmanuel Saracco

Voyage Tours - Vienne par l'Eurovélo 6

Mise en ligne du journal de bord de ma randonnée à vélo Tours - Vienne de cet été. De la lecture et des photos!

August 21, 2009 11:59 AM

August 20, 2009

Christophe Benz

démarrer gnome-terminal avec un encodage différent

Pour lancer un gnome-terminal en iso-8859-1, par exemple :

$ env LANG=fr_FR.ISO-8859-1 gnome-terminal --disable-factory

by Christophe Benz at August 20, 2009 04:28 PM

synchro bi-directionnelle par FTP

Synchroniser un site web par FTP, c'est ça peut se faire :

  • à la main en uploadant / downloadant les fichiers dans un client FTP

C'est pénible et on ne s'y retrouve plus.

  • avec lftp et ses commandes mirror / reverse-mirror

C'est long car il parcourt toute l'arborescence. Et la synchro est unidirectionnelle, comme le mot «mirror» l'indique.

Ils utilisent un cache qui accélère grandement la synchro. Cependant le cache doit être stocké au même endroit que les sources du site web, par exemple dans le même dépôt Git. Sinon, il faut le reconstruire à chaque synchro et on perd l'intérêt d'avoir un cache. Cela est faisable mais en pratique j'ai trouvé ça lourd.

De plus, je crois ne pas me tromper, mais la synchro est unidirectionnelle.

Dans mon cas, je souhaite synchroniser un wiki (dokuwiki) dont les fichiers peuvent avoir changé à la fois sur le serveur et sur le client. Il me faut donc une synchronisation bi-directionnelle. J'ai pensé à l'outil Unison qui gère très bien la synchro bi-directionnelle, avec une interface texte en console ou GTK.

Problème : Unison travaille en local ou par SSH, mais pas par FTP.

Solution : utiliser curlftpfs

$ curlftpfs ftp://login:pass@ftp.blabla.org/ /mnt/ftp
$ unison -root www -root /mnt/ftp -force www
$ fusermount -u /mnt/ftp

L'affaire est dans le sac : Unison croit qu'il synchronise deux répertoires locaux. Reste à résoudre les conflits éventuels, et c'est parti pour une synchro. Problème : curlftpfs est lent, il doit sûrement y avoir moyen de lui ajouter un cache, à suivre...

Pour comprendre les options de la ligne de commande unison : RTFM !

by Christophe Benz at August 20, 2009 01:31 PM

August 14, 2009

Julien Danjou

awesome survey 2009

I've created a small survey about awesome. I hope that will allow us to enhance our lovely software. :-)

by jd at August 14, 2009 02:12 PM

August 05, 2009

Julien Danjou

Today's bad pun

If X.Org does a press release, is this an event?

/me goes hidding.

by jd at August 05, 2009 01:40 PM

August 04, 2009

Frédéric Péters

Esperanzah! 2009

Pour la sixième année consécutive une radio éphémère s'installait au festival Esperanzah! : Radio Esperanzah!, quatre journées d'émissions, qui sont maintenant à réécouter en podcast.

Encore un grand merci à tout le monde, et plus particulièrement encore à Autres(M)ondes et à toute l'équipe de la postprod, Annaïs, Joss, Sophie, Tim, Thomas. Et à Frédé pour ses derniers mots à la fin de la carte blanche à SMOD, je ne les ai pas entendu en direct, mais maintenant ils sont montés.

...

by Frédéric Péters at August 04, 2009 03:56 PM

August 03, 2009

Christophe Benz

n95 usb-storage cassé, vive ObexFS

Mon Nokia N95 8GB reboote systématiquement lorsque je le branche en USB. Peu importe que je monte le système de fichiers ou non, il suffit que je branche la prise USB et il reboote sans prévenir. Cela ne se passait pas ainsi lorsque je l'ai acheté, quelque chose a dû se casser, ou c'est le noyau qui fait ça. D'un autre côté, sous Windows, le même problème survient.

Mais passons, car j'ai trouvé une solution : ObexFS en Bluetooth. Nautilus permet d'ouvrir le contenu de mon téléphone grâce à gnome-bluetooth, mais il passe par GVFS. Étant donné que je souhaite utiliser rsync pour sauvegarder le contenu de mon téléphone, cela pose problème. ObexFS est un système de fichiers en espace utilisateur s'appuyant sur FUSE.

Pour s'en servir :

  • il faut installer le paquet obexfs et bluetooth
  • l'utilisateur doit appartenir au groupe fuse
  • il faut identifier l'adresse BD_ADDR (équivalent de MAC pour ethernet) du téléphone (hcitool scan)
  • il faut ajouter ceci dans le fstab :
obexfs#-bXX:XX:XX:XX:XX:XX /mnt/n95 fuse user,fsname=obexfs#-bXX:XX:XX:XX:XX:XX 0 0

(remplacer XX:XX:XX:XX:XX:XX par l'adresse BD_ADDR de votre périphérique)

  • créer le répertoire /mnt/n95 (groupe fuse, avec g+w)
$ mount /mnt/n95
$ ls /mnt/n95
$ umount /mnt/n95

by Christophe Benz at August 03, 2009 07:37 PM

July 20, 2009

Labs

New release of the Libre Entreprise Mediawiki Skin

The Libre Entreprise Mediawiki Skin has released the version 0.95 of the project: http://labs.libre-entreprise.org/frs/?group_id=145 This new version of le-skin project allows its users to configure almost all the color gradient and colors of the skin. See the updated installation and configuration documentation on http://le-skin.easter-eggs.org

by Michaël Parienti at July 20, 2009 03:37 PM

July 17, 2009

Frédéric Péters

Status Control Applet

I had great fun last week in Nantes, participating in the ephemeral radio station, set up thanks to the good folks of Autres (M) Ondes, all the programs we had are available online, on radio.rmll.info.

Obviously it was running exclusively with free software but between Jack, Rivendell, Jamin and friends, there are many components to monitor, and it would have been useful to have a direct view on those processes availability. So I promised to write a small applet, and here it came, pretty basic, but functional.

Status Control Applet

At the moment it is limited to monitoring processes, but it could well be extended to monitor other things, for example that the streaming server is up and serving files correctly.

This has also been the occasion to try Gitorious, it is quite nice, my project is available at gitorious.org/status-control-applet (fwiw this is Python & GPLv2+).

by Frédéric Péters at July 17, 2009 06:54 PM

July 10, 2009

Julien Danjou

TODO list management

My fellow Debian developer Steve Kemp told us about his TODO list management.

While reading his post, I was constantly thinking "been there, been there buddy". Yeah, I've been.

I had the same problem since months, impossibility to track the things I had to do, being computer related stuff or real life ones. The bad thing is that until you write them down, you keep them in mind, and that's exhausting. You know you have, let's say 5, things to do, but unless you write this 5 items down in a TODO list, you will keep thinking about it once in a while. And that's a real lost time.

And that's totally inefficient: imagine you though "it'd be nice if I could buy a USB stick next time I buy some hardware". Well, unless you actually write this somewhere and have the habit to check the "To Buy" category of your TODO list, you're going to buy a replacement hard drive in a hurry some day, and forget about your USB stick.

I think the good practice, which I really recommend to everyone, is to write down as soon as possible what you think you have to do. Don't write it on a small paper you will lose, write it in a TODO list, a paper or electronic one, whatever, but write it, and stop thinking about it. When you'll have time, you'll get your TODO list from your pocket and give a look at it, doing what you can do at that moment. Once in a while, you check that list.

Personally, the tool I chose to handle my TODO list is a Palm Centro phone, which I got for only a hundred of euros. It runs the good old PalmOS, which basically know how to handle TODO list and plannings better than all phones I saw so far (and yes, probably better than your iPhone).

My choice was based on the fact that I've random ideas almost everywhere: that means while hacking, but also while walking in the street, while being in the train or while sleeping (yeah, already happened). And the only thing I always carry with me is my phone, in my pocket.

However, Steve choice may be nice if you have Internet access on your phone, which I haven't since it's too expensive for what it is, in my opinion. :-)

by jd at July 10, 2009 07:29 AM

July 09, 2009

Julien Danjou

Upgrading to dovecot 1.2: hello Sieve!

Last year, I told you I wanted to use Sieve to filter my mail. I did not switch, because of the lacking implementation of some Sieve features inside Dovecot, my preferred IMAP server.

After that disapointement, I kept my 8 years old mail setup, being fetchmail running on my workstation and throwing the mails in procmail, then using mutt locally to read the maildirs. But that's over.

As I told you yesterday, I got a laptop to replace my workstation. It was not possible to continue using such a mail setup, since my laptop can be offline, and so would be my mails.

So I decided to upgrade Dovecot to 1.2. I used the dovecot-1.2-work Subversion branch of our lovely Debian maintainers, and built a Debian package for Lenny. The upgrade from 1.1 was almost painless, since the configuration file did not change heavily.

Then I started to write my little Sieve script. Sieve is a very nice language. Almost user friendly. So in 20 lines I rewrote all my procmail stuff, matching things like List-Id with regex to put the mails automagically in the right folder. I reconfigured mutt to use IMAP, and it works fine. I even reimported my old Maildir via IMAP using mutt too.

I am now a happy IMAP user.

For people wondering why I wanted to switch away from procmail to Sieve: the reason is that Sieve script can be uploaded remotely via managesieve. This means you do not need FTP/SSH/whatever access to put your script. You can, for example, use connect-sieve or the Sieve plugin for Thunderbird/Icedove.

by jd at July 09, 2009 02:43 PM

July 08, 2009

Julien Danjou

New laptop: Lenovo Ideapad U330

After some though, I decided to switch from my big dual screen workstation (called abydos) to a laptop system. I used this workstation for more than 8 years now (with 2 massive hardware changes) on a desk. But my flat not being that big (you know, Paris, it's expensive to rent), I decided to remove my desktop in favor of my guitar setup. Anyway, doing geek stuff all the day at work, I was not sitting at my desk very often.

I've bought a Lenovo Ideapad U330, which is a really nice machine. It's not like a real ThinkPad (ThinkPad are more expensive) but it's still very nice. It has almost everything a good laptop would have, dual core, 4 GB RAM, 320 GB hard drive, WiFi up to 802.11n, DVD writer, webcam, HDMI, etc. And a not-too-small-not-too-big 13.3" LCD display. It's quite light with only 1.9 Kg, but IMHO, I still think it's a bit heavy. YMMV.

I've installed Debian on it (of course) and everything works like a charm. There's only a little bug with the webcam, since the image is upside down. But I'm pretty sure this is already fixed in kernel > 2.6.30. It has been named keller (Stargate fans will know why).

For now I really recommend this laptop. :-)

by jd at July 08, 2009 05:05 PM

July 07, 2009

Frédéric Péters

Back from Rochejean, now in Nantes

I am not at GUADEC, I hope everybody has a great time there; I am not under the Gran Canaria Sun, but I have been to the everchanging weather of Rochejean, which you probably never heard of. I had a really good time visiting a friend I hadn't seen for almost two years, and never since she installed in that small village.

Walking around the place...

view of Longevilles

June 30th 2009, view of Longevilles

next to Lac of Remoray

June 30th 2009, next to the Lac de Remoray

... and taking pictures of the skies.

Rochejean Sky

July 1st, Rochejean Sky

Rochejean Sky

July 3rd, Rochejean Sky

Disconnected of all computer matters for a week, I am now kind of back, in Nantes, for the ephemeral radio covering the "Rencontres Mondiales du Logiciel Libre (Libre Software Meeting)".

by Frédéric Péters at July 07, 2009 06:25 AM