Tabulation code C et driver linux

Rhaa les tabulations, voici un problème qui est vraiment prise de tête quand on code différents logicields en même temps. Selon les règles de codage les tabulations sont interdites et doivent être remplacées par 2, 4 ou 8 espaces, dans d’autres projets les espaces sont quasiment interdit et tous les espacements doivent être fait avec des tabulations, il faut du coup régler sont éditeur de texte pour afficher les tabulations avec 4 espaces ou 8 espaces, …

Le tout toujours codé dans le même langage (C) bien sûr, donc difficile de régler sont éditeur pour s’adapter en fonction du projet.

C’est particulièrement le cas dans le projet ARMadeus, puisque les applications ne doivent pas comporter de tabulation et tous les décalages doivent être fait avec 4 espaces. Alors que le code Kernel (Linux donc en C) condamne presque les espaces et ne doit comporter que des tabulations affichées avec 8 espaces dans l’éditeur de texte.

Heureusement avec vim il y a moyen de s’en sortir avec un petit truc sachant que tous fichier C se rapportant au Kernel dans le projet ARmadeus est toujours contenu dans un répertoire /linux. Le code source officiel linux est dans un répertoire du type :

buildroot/project_build_armv4t/apf9328/linux-2.6.29.6/drivers/*

Alors que le code des drivers kernel spécifique au projet ARMadeus sont dans un répertoire du type :

target/linux/modules/

On a de forte «chance» pour que le code se rapportant à une application ne soit pas contenu dans un répertoire commençant par /linux. Par exemple, la librairie as_devices se trouve dans le répertoire :

target/packages/as_devices/c/

Qui ne contient pas /linux. Il suffit donc de regarder si le mot /linux se trouve dans le PATH au moment de l’ouverture du fichier pour adapter les tabulations correctement. Ce qui peut être fait en ajoutant quelque lignes à son fichier .vimrc :


function ARMadeusCodingRules()
" tab with space
set tabstop=4
set softtabstop=4
set shiftwidth=4
set smarttab
set expandtab
endfunction

function Kernel()
:set tabstop=8
:set softtabstop=8
:set shiftwidth=8
:set nosmarttab
:set noexpandtab
endfunction

function SetKernelIndent()
let filepath = expand( « %:p » )
if match(filepath, »\/linux ») != -1
 » if subdirectory contain /linux* then indent Kernel
:call Kernel()
else
 » else ARMadeus coding rules
:call ARMadeusCodingRules()
endif
endfunction

Voila de quoi éviter bien des prises de tête au moment des commits de code avec le responsable du projet 😉

Publié dans informatique, programmation | Marqué avec , , , , , , , , | Un commentaire

Plouf, plouf la vie parfois fait plouf

J’ai profité de mes deux premiers «plouf» avec ma voile pour faire des tracés GPS de mes vols. Après quelques petites retouches du tracé avec Viking, voici le rendu de mes deux vols du 6 juin.

Premier vol : Fond de carte venant d'open street map, on voit qu'il reste du travail cartographique 😉

Ma voile est une Koyot 26, alors évidemment je n’ai pas pu m’empêcher de faire quelques stat sur le vol pour vérifier la finesse ainsi que le taux de chute :

Taux de chute du premier vol en m/s (en bleu valeur instantanée, en vert valeur lissée sur 10 points)

Ce qui est remarquable dans ce premier vol, c’est que le taux de chute est plus élevé dans la première partie du vol, quand je suis au dessus des arbres. Mais bon, c’est peut être plus une erreur de pilotage qu’un phénomène aérologique en fait, j’étais plus sur les freins parce que poussé par le vent 😉

Sinon pour la finesse, je suis très loin de la finesse annoncé par le constructeur (8.4) :

Finesse du premier vol, un vrai fer à repasser !

Avec une finesse max de 7 durant le vol on est relativement loin des 8.4 théorique 😉

Pour le second vol, j’ai aussi fait quelques stats.

Second vol

Le taux de chute est cette fois bien meilleurs.

taux de chute du second vol (m/s)

Et cette fois on se rapproche de la finesse théorique (me serais-je pris une bulle ?)

Finesse du second vol

Le premier vol a permi de parcourir une distance de 4,495km en 8minutes et le second de 4,75 km en 9minutes. Très lente progression.

Voila à quoi je passe mes dimanches quand ça ne vol pas 😉

Voici le bout de script python qui m’a permis de tracer les graphes pour ceux que ça amuserait .

Sinon pour le titre de l’article, c’est une chanson des Wriggles.

Publié dans Non classé | Marqué avec , , , , , , , , | 2 commentaires

Cocorico IPE

J’avais déjà parlé de l’indice de développement durable conçu par le WWF pour identifier les pays qui ont réussi à concilier bien être humain et soutenabilité écologique. Hé bien l’université de Yale a conçu un autre indice : l’Index de Performance Environnementale.

Cet indice classe les pays du monde selon 10 critères répartis en deux grands axes : La vitalité des écosystèmes (Ecosystem vitality) et la qualité de vie environnementale du pays (Environmental Health). Cet indice est tout à fait intéressant car il va complètement à rebours des dogmes de l’écologisme. En effet alors que l’écologisme tend à déifier le «naturel», et à diaboliser la science et la technologie, ce classement donne une bonne place aux pays ayant fait le choix de technologies blasphématoire comme l’énergie nucléaire ou comme la grande hydraulique pour bannir l’énergie fossile de leurs production électrique.

De plus on remarque que les pays les moins bien classé ne sont pas les «gros pollueur» de la planète comme l’europe, les US ou la chine. Mais plutôt les pays où la population meure de l’environnement. Des pays où l’on empoisonne pas l’eau au chlore pour la rendre potable et éviter ainsi la transmission de dangereuses maladie comme le choléra. Des pays où l’on n’utilise peu de pesticide pour éliminer les moustiques anophèles vecteur du paludisme.

Ah oui aussi. —hormis la France — remarquez kamarade qui l’on retrouve encore dans le top10 de ce classement 😉

Publié dans écologie | Marqué avec , , , , , , , , , | 2 commentaires

Que faire du blanc d’œuf ?

Depuis quelques temps je me pose une question existentielle quand je fais la cuisine (hé oui ça m’arrive !). Beaucoup de recette (en tout cas beaucoup de recette que je fait 😉 ) réclament un jaune d’œuf, du coup il faut sortir un bol, casser un œuf en deux et faire passer le jaune d’une coquille à l’autre de manière à faire tomber le plus de blanc dans le bol tout en évitant de percé le jaune.

Photo d'un œuf

Un fois le jaune récupérer pour la recette ont se retrouve avec un bol de glaire sur les bras. Ce blanc d’œuf n’apparait jamais dans les recettes, au mieux une recette demandera un œuf entier, mais pas «un blanc d’œuf».

J’ai beaucoup de mal à me résoudre à le jeter, c’est du gâchis tout de même !

Alors toi internaute passant par là par hasard, aurais-tu une idée de chose à faire avec un blanc d’œuf ?

Publié dans cuisine | Marqué avec , , , , | 7 commentaires

Mulhouse n’est pas toujours la loose ;-)

Certes, Mulhouse n’est pas une ville remarquable en terme d’architecture, pas vraiment non plus en terme de sorties, et c’est pas vraiment le centre de la France non plus (quoique deux lignes de TGV et un aéroport international y mène !). Mais il y a beaucoup de chose à faire dans les environs. On peut par exemple faire une petite balade en montagne le weekend, de 42km pour rester geek 😉 Et pour rester geek jusqu’au bout j’ai pris mon GPS pour faire une trace et des courbes (j’adore les graphiques 😉 ).

Le tracé ci-dessous indique 97km, tout simplement parce que l’Alsace reste un pays civilisé qui possède encore des lignes de trains fonctionnelles ! Ce qui m’a permis de faire Mulhouse-Oderen en train ( avec une petite pointe à 120 km/h) de monter à vélo par un GR ( en poussant souvent ) de faire la route des crêtes tranquillement (tous les con-sommateurs sont dans les magasins le samedi ) et de me faire une belle petite descente vers Cernay à 60km/h de moyenne (une partie de la route était fermée … pour les bagnoles ;). Puis de rentrer tranquillement avec le dernier train.

Du coup j’ai pu commencer à compléter la route sur OpenStreetMap, qui n’est pas très fournie pour les Vosges.

Le profil du parcours :

Hélas j’ai été suffisamment stupide pour oublier mon appareil photo, la vue depuis le grand ballon est assez exceptionnelle.

Publié dans vélo | Marqué avec , , , , , , | Laisser un commentaire

Hattstattstock : Woodstock n’est pas mort !

3 jours une soirée de paix et de musique

Non l’esprit de Woodstock n’est pas mort, un petit village Alsacien résiste : Hattstatt !

Depuis trois ans maintenant, un vétéran de la cause hippie organise un grand festival sur ses terres en souvenir de ce festival qui consacrait l’apogée du mouvement hippie.

Bouchon historique en alsace autour du festival
Que serait un festival de musique sans son stand anti-nucléaire ?
Expérience psychédélique
Son et lumière
Art psychédélique

Publié dans festival | Marqué avec , , , , , , | 3 commentaires

Vive le vélo pour améliorer la sécurité routière en ville !

Voir FUBICY

La Fédération des Usagers de la Bicyclette (FUBICY) proteste contre le dénigrement régulier dont sont victimes les cyclistes, et rappelle que le vélo contribue à améliorer la sécurité routière.

L’utilisation du vélo dans les déplacements urbains augmente fortement dans notre pays et il devient un moyen de déplacement efficace et incontournable. Un nombre croissant de collectivités locales l’ont bien compris et renforcent aménagements et politiques cyclables. Les nouvelles mesures réglementaires pour créer des zones de circulation apaisée (décret du 30 juillet 2008), témoignent que la prise en compte par l’Etat, du cycliste, s’améliore.

La bicyclette n’est pas un mode de déplacement dangereux

Contrairement à des idées fausses trop souvent reprises la bicyclette est un mode de déplacement qui n’est pas dangereux, même si cyclistes et piétons sont plus vulnérables dans le trafic. En 2007 la baisse du nombre de cyclistes tués est de 21,5% par rapport à 2006 (passant de 182 à 142), et représente la plus forte amélioration de tous les modes de déplacements. Par rapport à 2000, la baisse est de 48%. Quant au nombre de cyclistes blessés, il reste stable, autour de 4500 personnes par an depuis 2005 et pourtant, les déplacements à vélo ont augmenté, stimulés par le développement des vélos en libre-service.

Rouler à vélo en sécurité

Pour protéger les enfants et les jeunes de nombreuses initiatives ont lieu pour que les cyclistes apprennent à rouler en sécurité. Mais pourquoi attribuer au vélo les accidents de jeunes, alors qu’ils se produisent surtout en voiture et en deux roues motorisés ? En 2007, sur 364 jeunes de moins de 18 ans décédés suite à un accident de la route, 155 l’ont été en voiture, 122 en deux-roues à moteur 51 à pied et seulement 17 à bicyclette (source : ONISR Bilan 2007). Il faut le dire aux jeunes, à leurs parents et aux adultes : se déplacer à vélo n’est pas dangereux si le cycliste prend bien sa place et surtout si les véhicules motorisés roulent moins vite et intègrent dans leur comportement que la voirie est faite pour tous. Baisser la vitesse des voitures en ville est une nécessité. Le risque du vélo est créé par les véhicules à moteur : éduquons leurs conducteurs.

Pour la FUBicy, Christophe Raverdy, Président

Publié dans vélo | Marqué avec , , , , | Laisser un commentaire

Une boucle infinie en bash

Un petit pense bête pour tout ceux (dont moi) qui ne se rappellent jamais de la commande à faire en bash pour répéter une commande à l’infini.
Pour afficher « coucou » indéfiniment il suffit de taper :
$ while [ 1 ]; do echo "coucou" ;done;

Sans oublier les espaces bien sûr, par que c’est ça le véritable problème de bash.

Publié dans En bref, informatique | Marqué avec , , , , | 5 commentaires

Chercher remplacer dans un lot de fichiers

Un problème classique quand on fait de la programmation est de pouvoir chercher et remplacer un mot. Par exemple quand on se rend compte que le nom d’une variable n’est pas suffisament significatif ou qu’il ne respecte pas les conventions de codage.

Pour faire un chercher remplacer dans le fichier courant sous vim, il suffit d’utiliser la commande suivante :

:%s/motàremplacer/nouveaumot/gc

Avec :

  • % : sur tout le fichier courant
  • s : la commande (diminutif de search)
  • motàremplacer : On peut ici utiliser la puissance des expressions régulières pour améliorer la recherche.
  • nouveaumot : ideme.
  • g : diminutif de «global» signifie que la recherche ne s’arrêtera pas au premier mot trouvé.
  • c : diminutif de «heu je ne sais pas ;-)» demande l’autorisation d’effectuer le remplacement à chaque occurrence.

Cette commande est particulièrement utile, on l’utilise tout le temps.

Vient ensuite le moment où l’on souhaite faire la même chose mais sur un ensemble de fichier, c’est la qu’intervient la commande magique … vim !

:vim /motàtrouver/ **/*

Avec :

  • vim : la commande de recherche
  • /motàtrouver/ : le mot que l’on cherche, qui peut bien sûr être agrémenté d’expression régulière
  • **/* : wilcard signifiant que l’on souhaite rechercher récursivement dans tous les fichiers du répertoire courant ainsi que dans les sous répertoire

Cette commande vas rechercher le mot dans tout les fichiers du répertoire courant ainsi que dans les sous-répertoires. Vim va se positionner sur la première occurence trouvée. Pour naviguer dans les différentes occurences il suffit d’utiliser les commandes :cnext pour la prochaine occurence et :cprev pour la précédente occurence. Personnellement je trouve ça beaucoup trop long à taper, c’est pourquoi je les ais mappé sur les touches de fonction F9 et F10 en ajoutant deux petites ligne dans mon .vimrc


map <F9> :cp<CR>
map <F10> :cn<CR>

C’est bien beau de pouvoir trouver les mots mais ce que l’on cherche à faire c’est de les remplacer ! Pour cela il suffit de combiner la dernière commande avec le chercher remplacer du début, sauf que cette fois ci on veut remplacer seulement le mot sur lequel on est :

:s/motàremplacer/nouveaumot/c

Et puis on est un peu feignasse donc on ne veut pas retapper la fonction, on va donc la mapper sur une touche de fonction :

:map <F2> :s/motàremplacer/nouveaumot/c<CR>

De cette manière il suffira d’utiliser la touche <F10> pour aller à la prochaine occurrence et sur la touche <F2> pour faire le remplacement si on le désire.

Publié dans programmation | Marqué avec , , | Laisser un commentaire

Tests de vélo couchés chez cycle zen

Profitant de mon petit séjour à Nantes pour les Rencontres Mondiales (Françaises ?) du Logiciel Libre, je suis passé par la case Angers pour essayer des vélos couchés. Situé à La Bohale sur les bord de la Loire, cycle zen permet de tester le plus grand choix de vélo couché en France, moyennant un chèque de 30€ à valoir sur l’achat d’un vélo.

Voici donc quelques impressions sur mes essais :

Nazca pioneer 20-26 guidon dessous

C’est le premier que j’ai testé, les nombres 20-26 donnent la dimension des roues ( 26 pouces à l’arrière et 20 pouce à l’avant). Le premier test est particulièrement tendu, je défi quiconque de réussir à tenir sur un vélo couché guidon bas du premier coup ! Mais un fois qu’on a pigé le truc ( au bout d’une ou deux minutes) c’est magique.

La position couchée permet vraiment de pédaler … confortablement, d’avoir une vraie vue en panoramique sur le paysage, le système de changement de vitesse de ces guidons est extraordinaire.

Nazca Pioneer 20-26

Nazca pioneer 26-26 guidon dessus

Le deuxième vélo était un 26-26 toujours de chez nazca mais avec un guidon haut, qui permet une conduite un peu plus naturelle. Les grandes roues permettent une meilleurs stabilité, et surtout le fait d’être plus haut permet d’être mieux vue et de mieux voir.

Nazca pioneer 26-26

Trike

J’ai quand même profité de cette séance de tests pour essayer des trikes roue directrice arrière et avant (ndlr : seul la roue directrice arrière est disponible en photo ici). C’est très rigolo on a les mêmes impressions que sur un kart, mais sans le bruit 😉 Par contre c’est vraiment trop proche du sol à mon goût, je ne suis pas un rampant tout de même.

Test du Trike roue directive arrière.

Grasshoper FX

À force d’acharnement et de questionnement j’ai quand même réussi à extorquer au vendeur une vraie petite merveille de derrière le comptoir : un couché pliant. Tellement pliant qu’il a les même dimensions que mon Dahon une fois dans sa sacoche. Mais j’ai eu beau taper du pied, je n’ai hélas pas pu l’essayer. Malgré ces grandes qualités, il possède tout de même quelques inconvénients :

  • C’est un 20-20 : je ne suis pas un rampant je vous l’ai déjà dit.
  • Il est beaucoup plus cher qu’un couché classique de chez nazca.
Un couché pliant

Un couché pliant

Donc pour conclure, l’experience a un petit goût de revenez-y mais réfléchissez-bien. Surtout que les vélos sont fabriqués sur demande avec un délais de 8 semaines quand même !

Affaire à suivre …

Publié dans couché, vélo | Marqué avec , , , | Un commentaire