Sébastien Maccagnoni-Munch

geek, photographe, danseur, musicien…

Playing music without any user interface

Honestly, my goal is not to get rid of any user interface. But my home automation system has a very small screen, which would not allow to display much information. That’s why I need something able to play my music without watching at any screen.

The obvious choice for someone who knows many music players on Linux is MPD (Music Player Daemon). This tool is a daemon running in the background and playing whatever we want it to play. Perfect for my needs. But it needs a client to tell it which tracks to play. There are many clients which are able to control a MPD server (on computers, phones, tablets…) but I don’t see « power up a computer and tell the mediacenter to play some files » as an option.

Lire la Suite

Home automation: Installing Hejmo

I will continue using hejmo for my home automation, I’ll also improve resources, probably create new ones…

First, I need to download hejmo :

cd /usr/src
svn checkout http://hejmo.googlecode.com/svn/trunk/ hejmo

Hejmo bus

All hejmo parts communicate through the Hejmo bus, based on D-Bus.

A special instance of D-Bus is started for hejmo, listening on the network.

cd /usr/src/hejmo/hejmobus/
sudo make install
sudo update-rc.d hejmobus defaults
sudo /etc/init.d/hejmobus start

Python-hejmo

Hejmo resources are often (let’s even say always for now) programmes in Python, the python-hejmo package helps a lot…

sudo apt-get install python-dbus python-gobject python-daemon
cd /usr/src/hejmo/python-hejmo
sudo python setup.py install

X10 controller

I’m using a CM15A X10 controller.

I’ve managed to make it work by using the IPLC driver, slightly modified because of the recent modifications in the Linux kernel.

I’ve compiled it on my home automation controller from hejmo‘s repository.

First, the source code may be modified, according to the Linux kernel version ; on line 46, the include statement shoud point either to <linux/autoconf.h> or <generated/autoconf.h>.

cd /usr/src/hejmo/x10_driver/cm15a
sudo -s
make
make install
exit

Resources

First I’m gonna install (but not activate) all resources I’ve created so far.

cd /usr/src/hejmo/resources
sudo ./install.sh
cd /usr/src/hejmo/resources-starter
sudo make install

Home automation and media center: hardware

I’ve been through different ideas for home automation and media center, adding improvements every time I change my home automation infrastructure.

Now, I’m gonna use two computers for this purpose.

Asus EeePC 900

I’ve collected an Asus EeePC 900, perfectly working but with a nearly-empty battery.

It is now meant to be used as the home automation controller and music player.

I’ve detached the screen and hanged it vertically on the wall for global information display.

For the moment, I’ve only started xclock in order to validate the computer’s ability to run 24/7 without overheating or other crash sources.

Operating system

I’ve installed Xubuntu 10.04.2 LTS on this computer :

  • Xubuntu for the interface lightness
  • 10.04 for the long-term support

Kernel

This computer only has 1 GB RAM, so the PAE kernel version is useless.

apt-get install linux-image-generic linux-headers-generic linux-image-generic-pae linux-headers-generic-pae

Packard Bell iMax Mini

I’ve bought a Packard Bell iMax Mini (clone of the Acer Aspire Revo) years ago. At this moment, this computer served as my media center and home automation controller. Now, I’m planning to use it for video viewing only : it is connected to my TV.

Operating system

I’ve installed the latest Ubuntu version on this computer, in order to get profit from any recent improvements.

Mon installation d’Ubuntu

J’utilise un système d’exploitation GNU/Linux depuis 1998. J’ai commencé avec Red Hat, Mandrake, puis longtemps Debian, et enfin Ubuntu (avec GNOME, et j’ai parfois essayé Kubuntu avec KDE). Cette page décrit mon installation, avec deux objectifs :

  • Pouvoir m’y référer pour installer un autre PC ou réinstaller le mien
  • Donner des idées à ceux et celles qui consultent cette page, partager mes connaissances

De manière générale, je réinstalle mon PC à chaque sortie d’une nouvelle version d’ Ubuntu, pour profiter des dernières mises à jour. Je n’aime pas faire une mise à jour majeure, où il y a toujours des artefacts des anciennes installations…

Voici donc quelques notes sur ces installations. Ce billet a pour vocation d’évoluer au fil des nouvelles versions d’Ubuntu.

Lire la Suite

Firefox 4 vs Chromium : match (presque) nul

Lorsque Google a édité son navigateur Chrome ainsi que le navigateur libre Chromium sous-jascent, j’ai décidé d’essayer ce dernier. Il faut avouer que j’ai rapidement été conquis. Peu de perte de place, Javascript très rapide, de nombreux avantages par rapport à Firefox 3.

Il y a quelques jours, Firefox 4 est sorti, et dans un pur esprit libriste, j’ai décidé d’en faire mon navigateur principal au travail, sans même passer par une phase de test. Migration de mes marque-pages, changement des icônes dans mes interfaces, etc.

Malheureusement, j’en suis revenu. La principale raison de ma déception est double…

D’une part, Firefox 4 est beaucoup plus gourmand en mémoire que Chromium 10 : à utilisation égale (une dizaine d’onglets, navigateur ouvert pendant une semaine), Firefox utilise 2 Go de RAM, contre 1,2 Go pour Chromium.

D’autre part, lorsqu’une page devient très consommatrice de processeur ou de mémoire, c’est Firefox dans son ensemble qui se met à ramer, au point de m’empêcher de travailler. La page qui a bloqué Firefox 4 il y a 10 minutes est actuellement en train de charger dans Chromium, la page ne répond plus, je vais peut-être fermer l’onglet en question… mais je peux toujours terminer d’écrire cet article sur mon blog, dans un autre onglet de la même fenêtre du même navigateur !

Ensuite, il y a quelques aspects cosmétiques, celui qui m’a le plus dérangé est le suivant : Lorsque l’on déplace un onglet avec Chromium, le résultat est visuellement très abouti, l’onglet « suit » le curseur tout en restant dans la barre d’onglets ; lorsque l’on fait ce même déplacement d’onglet avec firefox, c’est une icône qui suit le curseur au pixel près, les onglets ne se déplacent pas « en live » dans la barre d’onglets, l’opération qu’on effectue est moins évidente « à l’œil ».

J’ai cependant constaté une nette amélioration par rapport à Firefox 3 : un visuel plus agréable, beaucoup moins de place à l’écran consommée (surtout quand on désactive la barre de menus, on se retrouve à quelque chose d’équivalent à ce qu’on avait avec TinyMeny), un Javascript beaucoup plus véloce. Mais la faculté de Chromium de réellement séparer les différents onglets dans des processus totalement séparés est maintenant pour moi une fonctionnalité majeure, qui permet d’éviter toute perte de temps potentielle liée à une page tierce… Un point d’amélioration majeur de Firefox, j’espère, qui me permettrait de retourner à ce superbe navigateur.

Ecran ultra-large, Ubuntu, et division par deux

Au travail, on vient de me donner un poste fixe, avec un écran 16/9… C’est large ! Si je mets une fenêtre en plein écran, il y a beaucoup trop de place perdue. Afin de gagner de l’espace, j’aimerais diviser l’écran en deux… Après un peu de recherche sur Internet, je suis tombé sur Fake Xinerama ; c’est exactement ce que je veux !

Voici donc la procédure que j’ai suivi pour mettre ça en place :

wget http://ktown.kde.org/~seli/fakexinerama/Xinerama.c
sudo apt-get install libx11-dev libxinerama-dev
sudo gcc -O2 -Wall Xinerama.c -fPIC -o /usr/local/lib/libXinerama.so.1.0 -shared
cd /usr/local/lib
sudo ln -s libXinerama.so.1.0 libXinerama.so.1
sudo ln -s libXinerama.so.1 libXinerama.so
sudo ldconfig

Ensuite, il faut créer le fichier ~/.fakexinerama, qui permet de définir les écrans virtuels. Dans mon cas, j’ai un écran de 1920×1080 pixels, que je divise en 1062×1080 + 858×1080 :

2
0 0 1062 1080
1062 0 858 1080

Et voilà ! Il n’y a plus qu’à se déconnecter et se reconnecter, et l’écran est vu comme un périphérique Xinerama. Avec l’écran vide, on ne se rend pas compte qu’il est divisé en deux ; par contre, quand j’agrandis une fenêtre elle ne prend qu’une partie de l’écran (gauche ou droite, selon où elle était placée auparavant).

Face-de-bouc, ou pas

Wow ! Deux éditos à trois jours d’intervalle ! C’est une période de changement, j’vous dis…

J’ai prévu de faire du ménage dans ma vie, notamment sur Internet, notamment sur Facebook. J’ai donc décidé de supprimer une grande partie des informations sur mon compte Facebook.

  • Où j’ai habité, où j’ai étudié, où j’ai travaillé : quel est l’intérêt pour moi de mettre toutes ces informations sur Facebook ? Aucune ! Pour eux ? Les revendre, pardi !
  • Mes photographies : j’ai un site prévu pour héberger mes photographies, dont c’est l’unique but, un service professionnel que je paye annuellement afin de m’assurer la qualité dont j’ai besoin. Je n’ai pas besoin d’un hébergement de photographies bas-de-gamme
  • Mes « fan pages », mes groupes, ce que j’aime : quel intérêt à partager tout ça ? Si je veux suivre l’évolution d’un musicien, d’une association, d’un groupe quelconque, je peux suivre leur site web, je n’ai pas besoin de Facebook pour ça
  • Mes amis : cet aspect est plus sensible. Clairement, le mot « ami » sur Facebook a une signification spéciale ; pour moi, un « ami » sur Facebook, c’est simplement une personne que l’on connait : ami proche, pote de pote, connaissance lointaine… C’est pourquoi j’ai décidé de supprimer ce lien envers toute personne que je n’arrive pas à identifier : les gens que je n’ai jamais croisés, les gens qui en fait n’en sont pas (groupes de musiques qui ont créé un profil personnel, par exemple), les gens que je ne reconnais pas, les gens dont je ne me rappelle pas…

Au final, Facebook me servira simplement à rester en contact avec des personnes que je ne vois pas souvent, et que je ne peux pas facilement contacter par d’autres moyens… mais dont les nouvelles peuvent m’intéresser !

La messagerie peut également servir à me contacter, mais ce n’est de loin pas le meilleur moyen de me joindre : le téléphone et le courrier électronique, c’est déjà pas mal, non ? En tout cas, je vais beaucoup moins lire mes messages sur Facebook.

J’invite toute personne un tant soit peu curieuse à lire les conditions d’utilisations de Facebook (que chaque utilisateur a acceptée, souvent sans les lire) : http://www.facebook.com/terms.php. Voyez notamment les articles suivants :

  • 2, Partage de votre contenu et de vos informations : vous accordez à Facebook un droit d’utilisation de tout ce que vous publiez, sous-licenciable (cela permet à Facebook de transmettre ce droit d’utilisation à quelqu’un d’autre), sans redevance et mondial
  • 4, Inscription et sécurité des comptes : vous vous engagez à ne pas donner de fausse information (exit les pseudonymes), à n’avoir qu’un seul profil personnel (exit la séparation vie privée / vie professionnelle que certains font)
  • 5, Protection des droits d’autrui : vous autorisez Facebook à juger si un contenu que vous publiez est en infraction et à supprimer des contenus (Facebook vous permet de « faire appel » s’ils ont fait une erreur), justice privée, tout ça…
  • 10, À propos des publicités et d’autres contenus commerciaux diffusés par Facebook : vous autorisez Facebook à donner votre contenu aux annonceurs (dans la limite des paramètres de confidentialité que vous avez configurés dans votre profil – qui le fait ?)

Quoi qu’il en soit, je ne suis pas nécessairement attaché à toute disparition d’Internet : je suis facile à trouver, que ce soit avec mon pseudonyme ou avec mon nom complet. Une simple recherche sur un quelconque moteur suffit !

Et les changements continuent…

Et voilà, c’est fait ! Je viens de quitter Devoteam, j’ai bouclé mes projets (ou presque…) et j’ai rendu mes affaires.

Une page se tourne, je vais maintenant prendre une semaine de repos avant de rejoindre AlterWay, pour un challenge très intéressant !

Beaucoup de projets géniaux cette année. Entre Carambal où on organise des bals folk qui marchent d’enfer, notre vie privée qui évolue très positivement, le nouvel accordéon qui arrivera cet été, et ce changement d’environnement professionnel… ça en fait des choses ; et c’est bon !

Ubuntu : Retour aux anciennes notifications

Une chose que j’ai très peu apprécié a été le passage, en 2009 (Ubuntu 9.04 Jaunty Jackalope), aux nouvelles notifications d’Ubuntu : Notify-OSD.

Ce sont ces espèces de bulles noires qui apparaissent en haut à droite de l’écran :
Notify-OSD

Je leur trouve deux énormes inconvénients :

  • leur placement est fixe, en haut à droite, sans aucune configuration possible
  • il est absolument impossible d’interagir avec ces notifications

Ce dernier point est, selon la page décrivant cette solution (https://wiki.ubuntu.com/NotifyOSD), une fonctionnalité : ça empêcherait les clics malencontreux sur les notifications. À mon avis, cela est une régression, car lorsqu’une notification apparaît, si celle-ci nous intéresse, il faut dans ce cas rechercher l’évènement lié (arrivée d’un message instantané, nouveau tweet, etc), et ça peut être particulièrement compliqué.

J’ai conservé Notify-OSD plus d’un an et demi, essayant de m’y habituer, mais ses limitations me dérangent vraiment.

J’ai donc décidé de repasser à Notification Daemon, l’ancienne solution (et, si j’ai bien compris, la solution par défaut sur les autres systèmes… je n’ai pas testé cela). Je le concède, cette solution est moins jolie que Notify-OSD. Mais il est possible :

  • de déplacer les notifications à un autre coin de l’écran (le coin haut droit me dérange, je préfère le coin bas droit)
  • d’interagir avec les notifications (fermer la notification, ouvrir une fenêtre de messagerie, etc.)

Pour retourner vous aussi à Notification Daemon, c’est facile :

sudo apt-get install --purge notification-daemon notify-osd-

N’oubliez pas ensuite de fermer et rouvrir votre session !

Darktable et F-Spot

Comme je l’ai annoncé, j’utilise Darktable comme outil de développement de mes photographies numériques. Utilisant F-Spot « depuis toujours » pour gérer mes photographies, j’étais un peu embêté par ce changement d’outil. Du coup, j’ai décidé de garder F-Spot, et d’utiliser Darktable uniquement comme une passerelle.

Par conséquent, je vais travailler de la manière suivante :

Je désactive l’import automatique de mes photographies sur F-Spot. Je mets en place deux arborescences, une pour mes photos à développer (~/Photos-Source) et une pour les photos à visualiser (~/Photos). Je copie les nouvelles photographies dans l’arborescence « à développer », puis je les importe dans Darktable. Je traite les photographies puis les exporte vers l’arborescence « à visualiser », et j’importe les photos dans F-Spot. Je peux ensuite étiqueter les photographies, les publier, etc.

Tout cela en attendant une bonne gestion de la bibliothèque dans Darktable…

EDIT 30/12/2010 : finalement, dans F-Spot je n’intègre pas les photographies à l’arborescence du logiciel comme je l’avais prévu ; j’importe les données sans toucher aux fichiers, comme ça si je change de logiciel la migration sera plus facile…

Maison en 3D : SketchUp et Kerkythea

Avec Flavie, nous pensons au futur à moyen terme depuis quelques mois. Et on envisage de construire une maison. Comme on a plein d’idées, on a décidé de les modéliser afin de voir ce que ça donnerait « en vrai ».

C’est pourquoi j’ai commencé à faire ça avec Sweet Home 3D, qui est un bon logiciel dans certains cas, mais assez limité. J’ai ensuite choisi d’utiliser Google SketchUp, qui est très simple et m’offre énormément de flexibilité. Je suis actuellement en train de dessiner une idée de maison.

Mais, en plus de la modélisation, on voulait un bon rendu… Et c’est là que les logiciels de ray-tracing entrent en jeu. Après avoir essayé les versions « gratuites/démo » de Indigo Renderer et Twilight Renderer, j’ai décidé de tester Kerkythea. Avouons-le, ce logiciel n’est pas facile à utiliser. Mais il offre une maîtrise totale sur le rendu des images, et je suis sûr qu’en m’investissant un peu pour apprendre je pourrai obtenir de superbes rendus… que je posterai sur notre site dédié lorsque le modèle sera fini !

Webalizer sur OVH mutualisé

Cela fait pas mal de temps que je veux avoir des statistiques sur mes sites. Actuellement, l’outil par défaut d’OVH mélange les visites de tous les sites hébergés sur mes sous-domaines.

J’ai donc recherché quel outil installer… La dernière fois que j’avais mis en place des statistiques sur un site web, Webalizer était mort, AWStats (que je n’aime pas) évoluait doucement, AWFFull reprenait le flambleau de Webalizer, tout allait bien… Mais maintenant, AWFFull ne semble plus maintenu, j’ai été désespéré… avant de réaliser que le développement de Webalizer a repris, alors c’est parti, on saute sur l’occasion !

Lire la Suite