Bulix.org » Life snippets

lundi 13 septembre 2010

It's a new dawn

Yes, this blog lives. I'm still very much alive as well, if you care about this sort of things. You're probably asking yourself: where have I been? I was there, here, away and back again. And I don't see the pace of my life slowing down anytime soon. I don't see any reason why it should too.

This summer was definitely what I would call eventful and I won't go into detailing everything I did — with a few exceptions though, so expect some follow up blog posts. The big news these days though is that my L-1B visa has been accepted by the USCIS. I have my embassy appointment scheduled for Wednesday, and I'll be leaving for San Francisco exactly one week after that, on the 22nd!

I'm still amazed how long the procedure took, but I'm happy to see that all this hard work and patience finally brought some results. Now it's real, I'm leaving for a new adventure!

# · Aucun commentaire
dimanche 03 janvier 2010

2009 + 1 = 2010

2009 is over, and with it the first decade of the 21st century. But looking back at this past year, I feel like I have done more in it than during this whole decade combined. I'm not very good at analyzing all that happenned last year and all that may happen this year, so I'll make it brief.

In 2009, I worked. My internship at MontaVista ended in February and I was hired as a full-time engineer starting the following Monday. I still gladly hold this position today.

In 2009, I graduated. As a direct consequence of the point above, this internship concluded my engineering degree. After presenting my work in front of a jury at the UTBM, I graduated with a Master's Degree in computer science engineering.

In 2009, I became an entrepreneur. In October I created an unipersonal company with the "auto-entrepreneur" status to do freelance software development. Obviously, this activity does not (and must not) overlap with my full-time job at MontaVista.

In 2009, I became a teacher. I gave several lectures and their corresponding practical sessions on embedded operating systems and the Linux kernel at the UTBM. In the following week I will be evaluating the students' projects.

In 2009, I continued by studies. Pursuing the second master's degree I started last year with my internship, I tried to follow in the past months the courses for this degree. Of course, working (more than) full-time has made this almost impossible. Exams are next week, we'll see.

In 2009, I traveled. This is definitely one of the years I traveled the most. In the United States first, where I visited San Francisco (of course), but also Las Vegas, Los Angeles and finally New York. But also in Europe, with very cool week-ends in Berlin, Zürich, Lyon, Paris and Nancy.

So, what to expect from 2010?

More work. As I expand my knowledge and experience around the Linux kernel, my assignments at MontaVista will become richer and more complex. The acquisition of the company by Cavium Networks will also surely broaden my horizons towards multicore processors and MIPS platforms.

More travel. I am planning a month-long stay in California in Spring. An opportunity to work from the office for a change, reconnect with my colleagues there and attend the Embedded Linux Conference. But also an opportunity to see again all the friends I have in California! I plan to move around a bit while there. Maybe finally do this Washington trip I was so looking forward to in September?

I will also get some travel opportunities in Europe. I'm planning a one week trek on the northern section GR20 in June, and a trip to the UK in fall for ELCE. Hopefully, I will also be able to visit some new cities: Budapest and London are on my short list.

More teaching? I don't know. I don't have anything planned yet. But if anything, we're looking at less than what I did in 2009.

And finally, more graduating? I certainly hope so, although things don't look very good for now :-)


Anyway, I wish you all a happy new year!

# · Un commentaire
mardi 22 décembre 2009

AETC 2009

AETC2009Bien ancré dans le rythme effréné de ces deux derniers mois, j'ai effectué le 10 décembre un aller-retour express à Paris pour assister à l'ARM European Technical Conference (AETC) 2009 au centre de conférences Cap15 à deux pas de la Tour Eiffel. Ce genre de journées est toujours assez fatigante en particulier à cause du temps de transport depuis Belfort donnant un ratio transport:conférence presque supérieur à 1.

On passera également sur la petite surprise made in SNCF à 5h10 sur le quai de la gare de Belfort : mon train aller et mon train retour étaient supprimés ce jour-là pour cause de grève. Bon, ça arrive, et le chef d'escale nous a échangé gratuitement notre billet pour une place sur le TGV partant un peu plus tard. En tout et pour tout, j'ai eu moins d'une demi-heure de retard, ce qui est plutôt pas mal étant donné le problème.

Bref, un peu d'attente à Belfort et quelques heures dans le TGV à lire Beautiful Code plus tard, me voilà arrivé à Paris où je m'empresse de rejoindre le site de la conférence et profiter de la matinée pour visiter le showroom. J'y retrouve (ou rencontre pour la première fois!) avec grand plaisir quelques collègues de MontaVista, et quelques têtes que j'avais déjà vues ou croisées au Salon RTS ou à l'Embedded Linux Conference Europe un peu plus tôt dans l'année.

Cette fois-ci bien sûr, l'évènement est centré sur les technologies ARM. La prise d'importance en 2009 des architectures ARM dans les domaines de la téléphonie et des netbooks apportant une lumière toute particulière sur les évolutions futures des processeurs ARM, sur l'arrivée récente du Cortex-M3 (high-level, mais low-cost) et des processeurs MP-Core (multicore).

Les entreprises présentes sur le showroom étaient d'horizons très divers, de KEIL et Antycip à Canonical et Microsoft, en passant par (bien sûr) MontaVista, ou encore de petits fondeurs russes venant montrer leurs premiers prototypes. C'est toujours intéressant d'aller rencontrer les gens comme ça, demander ce qu'ils font, sur quoi ils travaillent, quelles technologies ils utilisent. Et répondre à leurs interrogations sur MontaVista Linux 6, directement de la bouche des ingénieurs qui s'en servent quotidiennement pour notre processus de développement (même si en tant que développeur on a pas forcément encore eu l'occasion d'expérimenter tout ce que la plateforme MVL6 permet à nos clients).

Après un petit buffet, l'après-midi a été occupée par les conférences. Particulièrement techniques et principalement centrées sur les aspects matériel des nouvelles technologies ou challenges à venir. Avec 5 tracks en parallèle je n'ai bien sûr (et malheureusement) pas pu assister à toutes ces conférences, mais celles que j'ai suivies étaient vraiment intéressantes :

J'ai malheureusement dû m'enfuir avant la dernière conférence pour attraper mon train retour, qui était du coup un peu plus tôt que prévu si je ne voulais pas rester coincé à Paris. Grand mal m'en a pris, vu que j'avais apparemment été sélectionné parmi les questionnaires de feedback et avait gagné une Nintendo DS ! Mais le tirage au sort a eu lieu après mon départ, et je ne sais pas si quelqu'un d'autre à MontaVista a pu la récupérer pour moi :( Merci à Gilles Blanc de me l'avoir appris indirectement, et après coup, dans son billet sur ce même évènement !

Quoi qu'il en soit, l'AETC est désormais un évènement annuel que j'ajoute à mon calendrier de conférences, et j'espère pouvoir y revenir l'an prochain.

# · Aucun commentaire
vendredi 18 décembre 2009

Interventions UTBM A2009

Et voilà! Cette semaine avait lieu la dernière séance de TP que j'animai en TR54, ainsi que la dernière réunion de TX52, marquant donc la fin de mes interventions au département informatique de l'utbm en automne 2009. Il reste bien sûr toute la partie évaluation, avec la correction des projets de TR54 et l'évaluation du rapport et de la soutenance de Maxime Ripard en TX52, mais mes interventions directes en cours et TPs sont terminées.

L'expérience a nécessité un peu plus d'investissement que je n'avais imaginé, notamment pour la préparation des cours. Connaître un sujet ne fait pas tout : en faire un cours de 2h demande du temps, un niveau de compréhension bien supérieur pour assurer une retransmission efficace de ces connaissances, mais aussi bien du courage pour créer les diapositives ! Trouver et mettre sur pied des sujets de TPs est également un exercice complexe, surtout sans expérience comme moi. Doser la difficulté est peut-être le point le plus sensible.

Je ne suis pas encore sûr de renouveler l'expérience les semestres qui suivent, car mes obligations professionnelles au sein de MontaVista vont sans nulle doute évoluer d'ici là, mais je suis très content d'avoir eu l'opportunité de faire ces quelques interventions ce semestre.

J'en profite pour remettre ici les documents de cours :

  1. le cours sur NxOS et le TP de démarrage NxOS ;
  2. le cours sur le Linux device driver model et le TP sur SysFS (avec sa correction).

Malheureusement le matériel disponible ne nous a pas permis de faire quelque chose de plus lié a du hardware pour le TP, mais apparemment cela a déjà bien occupé les étudiants :)

Note : les documents de cours et TP sont sous Creative Commons Attribution Share-Alike 3.0, et le module noyau est sous GPLv2..

# · Aucun commentaire
lundi 09 novembre 2009

Quoi de neuf sous le soleil

pub/2009/11/09/2009-11-09.mini.jpgPas grand chose, en fait. Parce que le soleil, on ne l'a malheureusement pas beaucoup vu ces derniers temps. Mais bon, vous me connaissez, je ne reste pas pour autant les bras croisés !

Il y a du nouveau dans beaucoup des choses que je mène de front ces temps-ci, à commencer par mon travail pour MontaVista. Mon tuteur de stage, qui était devenu après mon embauche en février mon manager direct, a quitté MontaVista pour poursuivre une autre opportunité professionnelle. J'ai donc depuis quelques semaines un autre manager, tout aussi sympa et efficace. D'un certain côté, c'est pas plus mal de découvrir un autre style de management, de gestion de l'équipe et des projets en cours.

En parlant de projet en cours, les deux principaux qui occupaient mon travail depuis quelques mois (BeagleBoard et OMAP Zoom-II) ont été releasé (MontaVista Announces Additional Platform Support with MontaVista Linux 6), et on va très prochainement passer au MSD suivant. Mais c'est un secret. Enfin, je crois. Toujours sur du ARM/OMAP3, mais d'un style un peu différent, ce qui implique un support matériel un peu différent. De nouvelles choses intéressantes en perspective donc. J'espère que ce nouveau projet me donnera l'occasion de développer un peu.

Pendant qu'on parle de développement, j'ai pris au début de l'automne le statut d'auto-entrepreneur pour porter mon activité de freelance. Mon premier contrat est en très bonne voie, et je pars ce week-end à Zürich pour déployer l'application. Du Django, au cas ou mes récents posts ne vous l'auraient pas déjà fait deviner. J'en profiterai peut-être pour faire un petit field report du déploiement d'une application Django. Ce n'est d'ailleurs pas bien compliqué si on utilise Apache et mod_wsgi, mais on est jamais à l'abri d'un IIS des familles (ce qui compliquerai nettement la tâche vendredi !).

Tout ça me donne l'occasion de me triturer un peu les neurones sur l'établissement de mes factures (d'acompte, pro-forma, et définitive). C'est assez intéressant d'ailleurs pour moi qui n'ai jamais fait GE07 à l'UTBM (l'UV de compta/gestion), et cette aventure de l'auto-entreprenariat m'apprend énormément. Heureusement, j'ai quelques amis vers qui me tourner pour des conseils avisés !

Toujours du côté du travail, j'ai donné ce matin mon premier cours à l'UTBM ! J'enchaine demain avec le TP correspondant. Il s'agit d'un cours d'introduction à NxOS, un OS alternatif et libre pour la brique Lego Mindstorms NXT. Les slides et le poly de TP sont bien sûr disponibles, sous licence libre (Creative Commons Attribution Share-Alike 3.0). Les étudiants ont apparemment bien aimé le cours, notamment pour son aspect relativement technique et bas niveau (rare à l'UTBM), et parce qu'il était fait par quelqu'un qui avait une expérience directe sur le sujet enseigné (rare aussi à l'UTBM). J'espère que le TP de demain se passera bien, mais a priori il n'y a pas de raison :)

Il faut par contre que je commence sérieusement à me bouger pour la préparation des cours suivant. Lundi prochain, je donne un cours d'introduction au noyau Linux, sur l'histoire des systèmes Linux et du noyau, sa conception, son fonctionnement, etc. Puis au mois de décembre, j'aborderai les interactions driver/userspace, notamment via SysFS, avec ce coup-ci un TP, a priori sur uClinux et une carte Altera DE2 éducation. Bref, y a encore du boulot :)

Maxime Ripard, dont je suis le suiveur de TX ce semestre, avance bien dans son travail de création d'un système de slideshow multimédia basé sur une BeagleBoard, et a déjà passé les étapes de familiarisation avec la board et la cross-compilation d'un noyau qui démarre sur la BeagleBoard. On attaque maintenant la création d'un userland, vraisemblablement avec Buildroot ou OpenWrt. Stay tuned.

Sans transition aucune, mais toujours a moitié geek quand même, je lis actuellement plusieurs bouquins assez remarquables. Le premier d'entre eux est le dernier tome de La saga du Commonwealth, de Peter Hamilton (ISBN-13: 978-2811200077, 978-2811200367, 978-2811201111 et 978-2811201609). Je suis dans les 100 dernières pages d'une aventure qui en fait presque 3000 et que j'ai commencé il y a plus d'un an, autant dire que la tension est à son comble ! J'ai hâte de terminer ça et de découvrir ce qui se passe à la fin (je ne suis pas du tout du genre à lire les 2 dernières pages avant de commencer un livre, alors le suspens est intense ;p).

Le second, beaucoup plus court, est The Elements of Style, 50th anniversary edition (ISBN-13: 978-0205632640). C'est une lecture vraiment intéressante si vous voulez améliorer un peu votre écrit anglais. Il contient pas mal de règles de "bonne conduite" de l'écriture anglaise, ainsi qu'un chapitre sur le style, même si c'est une notion assez floue et personnelle.

Enfin, j'ai aussi à mon chevet Beautiful Code (ISBN-13: 978-0596510046) et Beautiful Data (ISBN-13: 978-0596157111), qui sont deux livres assez sympa parce que compartimentés en chapitres complètement indépendants. Comme vous vous en doutez, le premier est sur des morceaux de code que les auteurs trouvent beaux par leur élégance, leur simplicité et ce qu'ils accomplissent. Dans le second, c'est la même chose mais avec les données, leur collecte, leur traitement et leur analyse.

Je bouquine aussi, plus dans le cadre de mon travail, Essential Linux Device Drivers, d'un auteur dont je ne me risquerai pas à prononcer le nom : Sreekrishnan Venkateswaran (ISBN-13: 978-0132396554). C'est probablement le bouquin le mieux foutu, et surtout le plus à jour, sur les pilotes de périphériques pour Linux et dans l'embarqué à ce jour.


Voilà pour les nouvelles ! Je n'attends plus que ma remise de diplôme et le Gala des diplômés de l'UTBM le 21 novembre pour fêter dignement avec les gens de ma promo et ma famille la fin de ces sympathiques années d'études (même si j'en redemande avec mon M2R systèmes embarqués à l'UHA ce semestre ;p) !

# · 2 commentaires
vendredi 23 octobre 2009

There and back again

I was last week at the Embedded Linux Conference Europe 2009, held by the CE Linux Forum at the World Trade Center of Grenoble, France. Yes, I'll spare you their tragically awful logo A perfect occasion to get out of Belfort for a few days, listen to several interesting talks on embedded Linux, and finally meet my colleagues from MontaVista.

I am indeed working as part of a team since I converted to full-time back in March, but I never got the chance to actually meet these colleagues. I was also able to meet a number of people from the embedded Linux community, be them professionals or hobbyists.

So I was in Grenoble from Wednesday, 14th to Saturday, 17th. I had a great time there, discovering the city and attending the conference. I never went to Grenoble before, and was amazed by its geography and the awesome landscapes and views of the surrounding mountains. I probably would have climbed a few of them right away if I had more time!

Anyway, I just wanted to post it the brain dump I did after I got back from Grenoble about the talks I went to during these two days.

A panoramic view of Grenoble from La Bastille

# · Lire toute l'histoire · Un commentaire
mardi 29 septembre 2009

Télétravail et formation

D'importantes étapes franchies dans ma vie professionnelle la semaine passée. Cela fait en effet 1 an que je travaille pour MontaVista Software, dont 6 mois en tant qu'ingénieur diplômé à plein temps. Cette milestone m'a poussé à m'interroger sur le chemin effectué depuis la fin de mes études. Une sorte de bilan personnel différentiel, si vous voulez.

D'un point de vue humain, relations humaines, et organisation, les progrès sont incontestables. Les premiers six mois passés en Californie au siège, puis le changement vers le télétravail à la fin de mon stage m'ont véritablement beaucoup appris sur la vie en entreprise. J'avais bien évidemment beaucoup appris pendant mon stage à Google, en particulier sur les relations intra- et inter- équipe. Mais il faut avouer que le cadre, l'ambiance et même le "concept" entreprise à Google Mountain View sont radicalement différents de ce que l'on trouve dans une entreprise plus traditionnelle -- et encore, on reste ici dans le software.

Le passage au télétravail m'a permis d'évoluer dans d'autres domaines. Sur le partage d'informations, la définition de la priorité de chaque tache en tenant d'avantage compte des relations bloquantes entre les composants, et aussi le travail asynchrone. Je ne partais heureusement pas de zéro, mon expérience passée en télétravail et mes contributions au logiciel libre me familiarisant déjà avec ces problématiques et modes de fonctionnement.

Du côté technique, chaque problème auquel je m'attaque m'en apprend un peu plus sur le noyau Linux ou sur un composant hardware. Le dernier en date, le support du chip bq27000 (un battery gas gauge sensor), qui m'a fait découvrir le HDQ/Dallas 1-wire et la classe power_supply. Mais devant l'étendue des choses à connaitre, tout cela me parait n'être qu'une goute d'eau. J'ai encore des problèmes pour suivre certaines discussions techniques, par manque de connaissances et parfois simplement de "culture générale" hardware ou software.

Je m'interroge donc sur les possibilités de formation et d'auto-formation pour les télé-travailleurs. Le droit à la formation est bien sûr présent et est très important, mais il faut avouer que les formations pour mon domaine sont assez rares (ou loin, donc chères). Free-Electrons par exemple consacre une partie de son activité à la réalisation de formations sur l'embarqué, mais je pense qu'une trop grande partie de leur programme couvre des sujets avec lesquels je suis déjà familier, en grande partie grâce à mon travail pour MontaVista.

J'attends. Peut-être qu'il ne s'agit que d'une question d'expérience. Après tout, je ne suis diplômé que depuis six mois, et le bout de papier (que je n'ai pas encore d'ailleurs) n'apporte pas les connaissances. Je vais donc essayer de lire un chapitre d'un livre technique, ou une série d'articles Wikipedia relatif à mon domaine de travail, par semaine.

Et vous, comment faites-vous pour acquérir des connaissances dans votre domaine de travail ? Est-ce que vous vous reposez uniquement sur l'expérience, qu'elle soit strictement professionnelle ou personnelle, ou accordez-vous un peu de temps à de l'auto-documentation ?

# · 4 commentaires
vendredi 04 septembre 2009

Mon bureau

On m'a souvent demandé à quoi ressemblait mon environnement de travail maintenant que j'étais télé-travailleur. Je vous assure que j'essaie d'être organisé et tout et tout hein. Mais je crois que quand on bosse dans l'embarqué, c'est tout simplement pas possible. Entre les cartes de développement, les alims, cables et hub USB dans tous les sens, ça ne laisse plus beaucoup de place !

Bref, en exclusivité (ou pas vraiment, si vous êtes déjà venu chez moi :P), voici mon coin de salon bureau :

pub/2009/09/04/DSCN0530.mini.JPG

(Oui, j'ai un pot à crayons rose. Et alors ?)

# · 8 commentaires
lundi 10 août 2009

Experiments with in-memory kernel building

This morning, after a short discussion on how build time impacts our productivity. When going through a short change-build-test cycle, a build times of several minutes can really be annoying when the other two steps (changing the code and testing the result) often range in the order of a single minute.

My work at MontaVista for examples implies building kernels. A lot of them. Not so surprising when my title reads "Linux kernel and software developer". A small change to the kernel configuration, or adding debug messages to better track down a problem, and you're on for another cycle. Before my new computer arrived, I was still working on my old XP1700+ (single core, 1.6GHz), and building a kernel took between 3 to 5 minutes, and nearly 20 minutes for a clean build.

My new machine, boasting a Q9400, has 4 cores running at 2.66GHz. A huge improvement in build performance: a clean build only takes a bit more than 3 minutes!

To see how far I could get this to, I wanted to look at the performance gain of using an in-memory filesystem to eliminate the main I/O bottleneck: the hard disk. My machine has 4GB of RAM, and most of it is never used even with dozens of tabs open in Firefox. I thus first created a RAM disk big enough to hold the build:

# mkdir -p /tmp/ram
# mount -t tmpfs -o size=3g tmpfs /tmp/ram

Then, I grabbed the source, and built the kernel using my kernel build tool:

$ cd /tmp/ram/mvlinux/
$ ~/src/sh/ekbuild.sh ~/work/mvista/data/ekbuildrc.arm +clean -modules
Embedded kernel build utility.
  + building ARMv7 linux-2.6.29.6 kernel (arm)
  + using arm-montavista-linux-gnueabi- toolchain:
      MontaVista Linux Sourcery G++ 4.3-213, v4.3.3
  + using 5 processor core(s)
  + cleaning: yes, modules: no

...
Build done. Don't forget to copy arch/arm/boot/uImage!
~/src/sh/ekbuild.sh ~/work/mvista/data/ekbuildrc.arm +clean -modules
  360.71s user 35.36s system 323% cpu 2:02.50 total

How about that! The same build, on my 7200rpm hard disk, took 3:19'. That's almost 40% less. But even with ncores+1, we can see that the 4 cores are not at full potential: time reports only 323% CPU usage time, while this could get closer to 400% on a 4 cores machine. Bumping the number of cores used for the build gave progressively better build times, without of course being linear.

With CORES=8, CPU usage went up to 350% and the build time was down to an impressive 1'53"93. Higher values didn't bring anything more (1'51") at the cost of an overloaded machine, as expected.

Anyways, it is clear here that in-memory kernel building allows for a considerable reduction in the time spent compiling. Too bad RAM disks are such a volatile storage. I'm looking forward to my short trip in the US in September to come back with a high-performance SSD.

What about you? Does your work (or the projects you build) have a long building time? What are the main bottlenecks for you, and what steps did you take to remove (or diminish) them?

# · 3 commentaires
mercredi 05 août 2009

Git, big brother style

Git est un formidable outil de gestion de code source. Résolument différent des autres, pas évident du tout à prendre un main, son utilisation relève de puissantes magies noires. Bien souvent, le tracé de pentacle est obligatoire, et je garde toujours un poulet et ma barrette de RAM sacrificielle à portée de main quand je dois sortir un git rebase bien velu. Juste au cas où. Thomas pourra témoigner des conséquences d'une erreur dans le tracé du-dit pentacle.

Non content de pouvoir manipuler, voire ré-écrire l'histoire avec git rebase, j'ai aujourd'hui fait appel à une incantation plus démoniaque encore : git filter-branch (doc). Me voilà donc employé du ministère de la vérité : corriger le passer pour préparer l'avenir. "Cette faute n'a jamais existé. Il n'y a jamais eu de faute. Mais enfin, de quelle faute parlez-vous ?".

Plus sérieusement. Après un certain nombre (70) de commits cherry-pickés avec une faute, il fallait que je corrige ma faute avant de publier mes changements vers notre serveur Git. Plus précisément, j'avais inséré (entre autres), la ligne suivante:

    Disposition: Backported from Mark Brown's sound-2.6.git tree

Alors que j'avais besoin de (notez la subtile différence, mais elle est importante pour nos scripts) :

    Disposition: Backport from Mark Brown's sound-2.6.git tree

L'operation filter-branch de Git permet de faire pas mal de choses sur le contenu de l'historique, en traitant commit par commit, en y appliquant des "filtres", comme --msg-filter que je veux utiliser ici pour ré-écrire le contenu d'un commit.

J'ai donc dégainé mon sed-fu pour ré-écrire la ligne contenant la faute, et déterminé la liste de commits sur laquelle appliquer cette modification (de N-1 à HEAD). Le tout mis en place, ça donne :

git filter-branch \
  --msg-filter 'sed -e "s/\(\s*\)Disposition: Backported from \(.*\)/\1Disposition: Backport from \2/g"' \
  a5cfddd..

Un petit git push plus tard, et voilà une faute qui n'a jamais existé !

# · Aucun commentaire
dimanche 26 juillet 2009

Une semaine à Paris

J'étais cette semaine rentré sur Paris. J'ai retrouvé mon frère Thomas chez nos parents à Méridon. Étant tous les deux télé-travailleurs dans le même domaine (Linux embarqué), c'était l'occasion pour tous les deux de se revoir et de partager quelques connaissances -- tout en revoyant un peu la famille, cette semaine comprenant en effet les anniversaires de mon frère et de mon père.

Cette semaine de télé-travail était aussi pour moi une première expérience de mobilité dans mon travail. Je travaille en effet d'habitude chez moi, avec le confort de ma machine de travail et de ma chaise de bureau. Travailler une semaine sur le laptop ne permet malheureusement pas d'être aussi efficace, mais a part la lenteur des builds (pas bien dur d'être plus lent que le QuadCore que j'ai sous mon bureau) j'étais heureux de constater qu'il n'y avait aucune barrière technique à la réalisation de mon travail.

La Cantine, par Silicon SentierNous avons même poussé cette mobilité à son extrême jeudi, où nous avons travaillé depuis La Cantine, un espace de travail collaboratif et de co-working situé dans le très beau Passage des Panoramas à Paris, juste à côté de la Bourse. Rejoins par Etienne, Fabien et Florian (de chez OpenPattern), nous avons travaillés, discuté et partagé des connaissances techniques, le tout dans une ambiance très sympathique.

Pouvoir se concentrer réellement sur son travail n'est pas chose facile, et je ne m'y vois pas travailler tous les jours (à mois d'y avoir un bureau au mois). Mais l'objectif était ce jour-là pour nous tout d'abord l'échange et la rencontre, et pour ça c'est mission accomplie. Ce jeudi 23 se tenait également à La Cantine une petite conférence de presse, par le LUG Landinux et en compagnie d'Henri Emmanuelli, pour présenter leur livret "Sur la route des logiciels libres".

Parti le week-end dernier, je viens de revenir sur Belfort après une semaine chargée (mais intéressante, ce sera l'objet d'autres billets) et un retour chaotique en train, avec les remerciements de la SNCF.

# · Aucun commentaire
mercredi 01 juillet 2009

Cross-compilation kernel build tool

pub/2009/07/01/tool.pngMy work as a Linux kernel and software developer involves a lot of kernel builds. Up to a few dozens a day, when repeatedly testing a feature or bisecting the Git history to look for the origin of a problem. Building a kernel for a "normal" computer is usually easy and bogs down to the common one-liner:

# make clean bzImage modules modules_install

But when cross-compiling, you need a CROSS_COMPILE= environment variable set, and if you don't want the modules to go to /lib/modules/`uname -r`/ you need to have INSTALL_MOD_PATH= set. And you probably want that because you most likely use an NFS root for your target system. And you also need your cross-compilation toolchain to be in your PATH variable. With all this, you quickly end up with:

$ export PATH=/a/long/path/to/where/my/toolchain/is/bin:$PATH
$ make ARCH=arm CROSS_COMPILE=my_toolchain- \
   INSTALL_MOD_PATH=/another/long/path/to/where/my/target/rootfs/is \
   clean uImage modules modules_install

It's error prone, and still not easily configurable. So I wrote this little script, ekbuild.sh that takes all the annoyance and complexity away from you and let's you cross-compile kernels more easily.

# · Lire toute l'histoire · Aucun commentaire
lundi 29 juin 2009

Connecting to a Cisco VPN with Linux

Working as a remote, telecommuting engineer for MontaVista Software, I need a way to access the company network from my computer, wherever I am. Until now, this need was fulfilled by a key-protected SSH gateway that we used for tunneling connections to the web proxy, the mail servers and the git shared server.

To provide an easier to use and more multi-platform solution, they recently switched to a Cisco VPN based solution, so I had to investigate how to get this to work properly on my GNU/Linux Debian workstation in a manner that doesn't get into the way of my current network setup at home. The main problem being that OpenVPN setups and Cisco VPNs are not inter-operable, meaning that I could not use the openvpn open-source VPN client to connect to the company network.

# · Lire toute l'histoire · Aucun commentaire
jeudi 25 juin 2009

Howto run Moblin 2 beta in VirtualBox

Today, I gave a quick peek at the Moblin project, which is backed by the Linux Foundation, Intel, MontaVista and others. The Moblin software platforms allows for the creation of Linux-based operating systems targeted at mobile and embedded devices. It provides a middle-ware between the Linux kernel and its drivers for the very specific hardware one can find in an embedded device, and a userland system designed for the target device.

Moblin logo

Since I don't have a supported device on hand (the ideal would be a netbook, but these are too expensive to my taste), I decided to try Moblin in VirtualBox. It turned out to be not as easy as expected, so here's a small summary of what I had to do to get a usable system.

# · Lire toute l'histoire · Aucun commentaire
lundi 08 juin 2009

3 mois plus tard

Il y a à peine plus de trois mois, je revenais de mon stage de fin d'études en Californie avec mon premier CDI en poche. Ma période d'essai est désormais terminée, et il me semble que c'est le moment idéal pour faire un rapide point sur ces premières semaines. Malgré la crise économique qui frappait alors de plein fouet les États-Unis, MontaVista a décidé de m'embaucher pour travailler depuis la France, en télétravail.

Je fais donc partie du tout petit contingent de MontaVistiens en France, tous travaillant à domicile. L'équipe dans laquelle je travaille est quant à elle beaucoup plus répartie, depuis la côte Ouest des États-Unis jusqu'à l'Inde. Quoi qu'il en soit, ces trois premiers mois de télétravail pour MontaVista ont apporté leur lot de changements après mon stage : dans mon travail, dans mon organisation et dans ma vie en général.

# · Lire toute l'histoire · 8 commentaires

1 · 2 · 3