Ubuntu Network Installation with dnsmaq and DD-WRT

The path to get somewhere depends on where you come from, and I often find myself in the situation of having to install Ubuntu without a CD-ROM, on a computer that has buggy or non-supported USB boot. From there, the easy way – I think – is booting from the network, since motherboard usually support PXE.

Booting from the network needs three things:

  • A DHCP server for sending the address of the TFTP server and the pxelinux.cfg file to the DHCP client on the motherboard;
  • A TFTP server setup to serve pxelinux.cfg and the operating system image;
  • The operating system image.

I already have a DHCP server on my home router, and it runs DD-WRT. I had already enabled DNSmasq for DHCP, but I was missing the magic line in Services->Additional DNSMasq Options that tells the motherboard the address of the TFTP server:


DD-WRT can run a TFTP server, but that’s a bit complicated. I decided to install dnsmasq on my Ubuntu desktop, because dnsmasq provides, well, DNS, but also a TFTP server.

sudo apt-get install dnsmasq

It also provides a DHCP server, which will be a problem if connected to my home network because it will fight will my DD-WRT DHCP. So I need to disable that and only enable the TFTP server. I modified /etc/dnsmasq.conf to end up with everything commented-out except:


If fact, it already comes with the DHCP server disabled, because the ‘dhcp-range’ configuration is commented-out by default. I’m specifying the interface because I have more than one network card, and one of them was already busy (used by VirtualBox) and dnsmasq failed to start. Once you’re done with the changes, restart the daemon:

sudo /etc/init.d/dnsmasq restart

You could now try to boot, but the PXE client will complain that it either cannot find a file to boot from, or the mysterious « no boot filename received » message, depending on your firmware. The computer I’m installing has two network cards, and this added a variable to the debugging process, so I plugged both cards in my home switch.

Now this will never work without an operating system to boot. Ubuntu network boot images are available at:


Get the right netboot.tar.gz for your target machine, and decompress it in the TFTP server root (defined above in dnsmasq.conf):

sudo tar -xvzf netboot.tar.gz -C /var/ftpd

You should now be able to boot Ubuntu and proceed with the installation.

It didn’t work very well for me. The TFTP client reported it got a response, but then the computer froze. I checked the logs of the TFTP server for clues, and found that the client requested many files, and among them a vesamenu.c32. Knowing that VESA means graphical, my hypothesis was that the crappy video card isn’t supported, so I commented-out the corresponding line from pxelinux.cfg/default and fixed my problem!

As they say, your mileage may vary.

Evaluating Structure101 with Storm

I won a licence for Structure101 at the last Code Retreat, watched introduction videos, and decided to give it a try. I looked for a decent Java project to run it on, and I picked one of the most starred projects on GitHub: storm.

First, Structure101 wants to know where the bytecode is, so I need to compile storm. I look for compile instructions and I find it contains Clojure sources. Since that should compile to bytecode, I take a chance and keep going.

Compiling Storm

I see storm has a project.clj in the top-level directory mentioning lein, so I install leiningen. The latest is version 2, but I need to use version 1, as per the project.clj and the error I get otherwise:

~/storm (master)? $ lein help
ERROR: requires Leiningen 1.x but you are using 2.0.0-preview10

So I type lein compile, but it ends with a failure:

Compiling backtype.storm.messaging.zmq
1 [main] ERROR org.apache.zookeeper.server.NIOServerCnxn - Thread Thread[main,5,main] died
java.lang.UnsatisfiedLinkError: no jzmq in java.library.path, compiling:(zmq.clj:1)

I find bin/install_zmq.sh and execute it, and get:

checking for ZeroMQ… no
checking zmq.h usability… no
checking zmq.h presence… no
checking for zmq.h… no
configure: error: cannot find zmq.h

It turns out the script does not check if commands failed and goes on with the rest. Before that error, zeromq complained about missing uuid-dev, and I `sudo apt-get install uuid-dev`.

This helps, but then jzmq wants to make org/zeromq/ZMQ.class but can’t find the classdist_noinst.stamp « target ». It turns out this is a known issue with a simple fix to do in src/Makefile.am. Finally `lein compile` completes.

Creating Structure101 project

I go back to Structure101 and create a new local project, picking Static classpath because I’ll point it to the generated `classes` directory. I choose the Logical breakout because I don’t really care how storm organizes its classes for the moment.

I choose the detailed granularity because the code base is not very big, and I guess I can reduce the amount of detail later if the view looks too cluttered.

For now I’ll hide external dependencies to concentrate on the storm codebase.

No excludes, no additional source files, no transformations.

Project Summary

It takes only few seconds to generate the summary.

Storm Project Size

Storm Project Flat Tangles

It also says « The architecture for this project is not defined ». From the text following that note, I understand this is me that needs to define the desired architecture rules that must be obeyed, and which will be used to generate a violations report, possibly viewable in an IDE such as Eclipse or IntelliJ.

Full summary here.

Structure: Exploring Tangles

In the summary, one big tangle that adds Excessive Structural Complexity (XS) is the `backtype.storm` package. Navigating to that package under the Structure tab, from the Package Explorer, I get this:

Dependency graph: backtype.storm

This is the Composition view. The dependency graph shows, at the top, that command, planner, and drpc packages depend on the tangle. At the bottom, the tangle depends on cluster, event, messaging, stats, nimbus, util, and ui. The `generated` package is even lower because it depends on nothing else.

Within the tangle, the first observation I make is that we see both the `backtype.storm` package as well as its subpackages. We can see that classes in `backtype.storm` refer to classes within sub-packages, and vice-versa. This discourages letting a package depend on its parent, where each level in the package hierarchy builts on its leafs.

The reverse of that – leafs depending on its parent – would mean that leafs couldn’t be refered to, other than by a package in a different root package. I see this can lead to interesting discussions, and how enforcing rules can help large teams build maintainable systems.

Back to the diagram, the `tuple` package is clearly a dependency of all other packages. The `utils` package could almost be a leaf, but it has a single reference to the `task` package (going up), although there are 13 references going the other way. This clearly is a smell, and I want to know what is that reference. Highlighting the arrow going up from utils to task, the Dependency breakout pane shows the culprit:

Dependency breakout

It shows that utils.ShellProcess takes a TopologyContext as a parameter. Navigating (with the context menu) to consumers of TopologyContext, I find that it is referenced 160 times from all over the place. This is often what happens with « context » classes: they tend to become a very important holder of state, and it is eventually passed to whoever needs access to any state. As a first step to untangle this, I could move ShellProcess out of utils into its own package, but I can’t find a way to do this in Structure101. This is most likely only possible in Restructure101.

Structure101 also has a standard Class Hierarchy viewer, to which I can navigate from the context menu of any class or interface represented in the dependency graph. For example, here’s `backtype.storm.spout.ISpout`:

Class hierarchy graph: backtype.storm.spout.ISpout

The Good

I feel like I’m navigating classes in Eclipse, but with a bird’s-eye-view. I can see what call what, but instead of jumping from one method to the other, I get lists that interact with my selection in the graph. It feels natural, and lets me explore the code base.

I have been looking at a fairly big project, after all. It is all foreign code to me, so that does affect how fast I can learn to use Structure101 effectively. I’d be interested to use the tool for a new project, seeing the dependencies evolve and provide architectural feedback during development. This introspection would certainly help me understand how to write without tangles from the start.

I have not tried to define an architecture diagram, but I can see how defining a target architecture can be useful in identifying tiny steps to get toward the goal. Moving classes around is relatively easy with a good IDE, but if I was to reduce the dependencies on the TopologyContext class, for example, I would need to keep track of that over a long period.

The Bad

Clojure generates many classes. This makes the experience of looking at class dependencies a bit difficult for that part of the code. However, the navigation and display shows packages first, hiding them unless they are part of a tangle.

Getting the most of the tool requires a bit of reading and trial and error. With experience, key observations would be faster to extract.

The Walkthrough guide refers to an older version of Structure101, and is difficult to follow. The user interface has changed, and there are dead links.

The right-click menu is broken, at least on the latest Ubuntu 12.10. The menu pops, but the mouse does not hightlight the items. Using the keyboard to navigate the contextual menu works, though.

I wish there were more keyboard bindings. Using arrows, enter, space, and context menu would help.


I won’t stop here. I’ll try Restructure101 to resolve problem I see in dependencies, in a « what if » mode of exploration. And the next step would be to use it on code I own and know well.

This is not something I would tell everybody to install, as the US$600 price tag is prohibitive for individuals – Restructure101 is even more expensive. The 30-day trial version can be useful for spot architectural work, but I’m glad I won a licence, as this will give me the opportunity to try it with various projects over a longer period of time.

Télécharger Le Devoir sur une liseuse numérique

Possédant maintenant une liseuse de livres numériques (un Sony e-reader, pas un Kindle!), j’ai cherché comment ajouter le journal Le Devoir à ma liseuse. J’ai cherché un logiciel de gestion de livres électroniques pour Ubuntu Linux, et je suis tombé sur l’excellent logiciel Calibre.

Une fois Calibre lancé, allez ajouter une source de nouvelles:

Dans la liste, vous trouverez Le Devoir dans la rubrique Français:

Vous pouvez alors demander à Calibre de télécharger automatiquement votre journal tous les matins. Comme ça prend plusieurs minutes, c’est pratique que ça soit déjà fait quand on branche la liseuse numérique, car il ne reste qu’à transférer le journal vers votre liseuse. Et si vous laissez la liseuse branchée pendant la nuit, alors le journal est automatiquement ajouté à celle-ci.

Le matin, vous pouvez alors vous lever, débrancher la liseuse, et boire votre café.

Si, comme moi, vous êtes abonnés à la version payante du journal, cette recette ne vous donnera pas accès à tout le contenu. Pour ce faire, il vous faut faire une petite pirouette que je vous décris ci-bas.

Pour les abonnés à la version payante

Comme Calibre ne vient pas avec la « recette » pour récupérer le journal payant, il vous faut la récupérer. Copiez la recette que vous trouverez à ce lien dans votre presse-papier (CTRL-C), en cliquant préalablement sur « raw »:


Revenez à Calibre, et ajoutez une source personnalisée de News:

Collez la recette en basculant dans le mode avancé:

Enfin, planifiez le téléchargement de votre recette personnalisée:

Dans la rubrique « Personnalisé », vous retrouverez votre recette « Le Devoir (abonnement) », où vous devez entrer votre courriel et mot de passe pour le site ledevoir.com:

Bonne lecture!

Hoé! Hoé! Cyclistes de Montréal!

À chacun son vélo, par Clara (sur Flickr)
Photo: Clairette Paquette

Bonjour à tous!

Au retour de mes vacances, j’ai été frappé alors que je circulais en voiture. Je circulais sur l’autoroute 40, direction est, à la hauteur du parc industriel, et je suis tombé dans la lune en regardant défiler le paysage. Ma blonde étant au volant, il n’y avait rien de dangereux. Après avoir traversé des régions entières rasées pour faire pousser du maïs, j’ai été ensuite frappé par l’absence de végétation, la grandeur des stationnements, le smog et la déchéance de l’espèce humaine.

Si je suis tombé en amour avec la ville, c’est assurément à cause du vélo, qui m’a fait visiter les plus jolis coins de la ville, là où on se sent en sécurité, et là où la bonne humeur s’entend. Dix ans plus tard, je veux me bâtir une remorque pour aller à l’épicerie, située à quelques coins de rue de chez moi, pour éviter d’ajouter une voiture à la circulation, et m’imprégner de l’atmosphère du quartier. Car de l’espoir, j’en ai à revendre!

Depuis que j’ai découvert Masse Critique, j’ai une raison de plus d’aimer la ville: je visite Montréal à vélo, en sécurité parce qu’il n’y a pratiquement pas de voitures, et je peux même faire connaissance avec toute sortes de personnes! Le succès de cette sortie est proportionnel au nombre de participants, alors j’envoie ce rappel:

Masse Critique aura lieu ce vendredi 28 août. Le rendez-vous est à 17h30 au Square Phillips, et le départ a lieu à 18h00, à vélo, planche à roulette, patins, échasses, ou ce que vous voulez. C’est comme ça tous les derniers vendredi du mois. Il n’y a pas d’organisateurs, et je ne fais que passer le mot.

Les habitués devraient se faire un devoir d’inviter tous leurs amis, et tous les Facebookiens savent comment écrire « Je VAIS à Masse Critique ce vendredi! Viens-tu avec moi? » Faites passer l’invitation!


Quel parti pour les citoyens de Montréal?

En novembre prochain, des élections auront lieu à Montréal, et les accomplissements de Gérald Tremblay et son équipe seront comparés aux promesses de Louise Harel et de Projet Montréal. Je vais donc faire ici ma petite analyse à moi.

Comparons premièrement les chefs.

Gérald Tremblay a étudié en droit, est titulaire d’une maîtrise en administration des affaires (MBA), et fut élu député au provincial avant de se faire élire à la mairie Montréal.

Louise Harel a étudié en droit et est élue députée puis devient ministre, pilote notamment le dossier visant à réduire le nombre de municipalités au Québec, après quoi elle se lance au municipal.

Richard Bergeron est urbaniste, a travaillé à l’Agence métropolitaine des transports (AMT) de Montréal, après quoi il fonde le parti Projet Montréal et se fait élire comme conseiller dans l’arrondissement du Plateau Mont-Royal l’année suivante.

Vous en conviendrez, ce résumé est plutôt objectif. Maintenant, laissez-moi vous dire ce que j’en pense. Comme citoyen de Montréal, et pour améliorer ma qualité de vie, je fais plus confiance à un urbaniste pour qu’à des gens qui ont étudié en droit.

Parlons maintenant de démocratie.

Gérald Tremblay, chef du parti « Union des citoyens et citoyennes de l’île de Montréal » a changé le nom de son parti pour quelque chose de plus simple, et qui réflète bien sa conception de la démocratie: il a rayé les « citoyens et citoyennes » pour l’appeler plus justement « Union Montréal ».

Louise Harel, depuis qu’elle a forcé des villes à fusionner sans consulter les citoyens, ne représente pas très bien ce qu’est la démocratie. De plus, on apprend avec la démission de la vice-présidente de Vision Montréal que Benoit Labonté, sans aucune consultation de son exécutif, cède sa place à Louise Harel. Si le parti n’est pas capable de démocratie à l’intérieur de lui-même, consulterait-il vraiment la population?

Le parti politique fondé par Richard Bergeron est basé sur les principes de démocratie. Le programme électoral a été bâti démocratiquement par des centaines de citoyens. Dans Plateau Mont-Royal, le conseiller a travaillé pour mettre en place un budget participatif permettant aux citoyens du plateau de disposer de millions de dollars pour des projets de leur choix, chose que la mairesse tente depuis d’arrêter en réduisant le montant affecté.

À Vision Montréal, un budget participatif c’est bien, mais « ça coûte trop cher », selon Anie Samson, mairesse de Villeray-Saint-Michel-Parc Extension. Pourtant, la démocratie ne devrait pas s’appliquer seulement quand c’est rentable.

On voit bien ici que c’est Projet Montréal qui fait avancer la démocratie, et les deux autres partis qui suivent péniblement, en réalisant qu’ils perdent la face devant leur électeurs. On pourra compter sur eux pour reprendre les idées de Projet Montréal en les dénudant de tout leur sens, comme de réduire le budget participatif…

J’ai grand espoir que Projet Montréal emporte les élections en novembre 2009, mais avec un taux de participation de 30%, c’est impossible. Si les citoyens ordinaires connaissaient Projet Montréal, ils iraient voter, car c’est la solution au cynisme et l’antidote du désintéressement.

Tremblay et Harel, c’est du pareil au même: décisions faites en secret, consultations et analyses éternelles, corruption, favoritisme, magouilles, et conception arriérée de l’urbanité.

Avancées de trottoir sur St-Zotique

M. Lavallée,

J’emprunte souvent la piste cyclable sur St-Zotique et j’ai pu voir la construction de deux avancées de trottoir: l’une près de la 5e avenue, l’autre en face du BMR près de la rue Des Écores.

Dans les deux cas, je me demande quelles sont les raisons qui ont poussé la ville à interrompre la piste cyclable de quelques kilomètres de long, forcant ses utilisateurs à se mêler au traffic automobile de façon innattendue et insécuritaire.

Il me semble qu’il aurait été plus judicieux de construire des ilôts afin de laisser la voie libre aux cyclistes, et requérant seulement de la part des piétions de traverser d’abord la piste cyclable pour atteindre l’ilôt, puis de traverser la rue en portant attention aux voitures.

À la place, la ville a créé une situation ridicule, particulìerement devant le BMR où il y a très souvent un véhicule stationné devant l’avancée de trottoir, forcant les cyclistes à se lancer dans la rue, au milieu des voitures, ou à emprunter le trottoir!

Voyez par vous-mêmes l’état de la situation ce matin:

Y a-t-il un nom à ce nouveau type d’aménagement formidable dont je n’ai jamais entendu parler?

Fin du bruit haute fréquence dans le métro

Pouvez-vous entendre ce son? Montez le volume. C’est ce que j’entendais jusqu’à tout récemment dans le métro, sur la ligne orange, et particulièrement à la station Jean-Talon.

Quelqu’un a créé un groupe Facebook pour réclammer de la STM qu’elle cesse l’utilisation du système Mosquito, mais le groupe n’existe plus. Ce groupe avait été trouvé farfelu par beaucoup de gens sur le forum metrodemontreal.com.

Je ne pense pas que la STM a installé un système Mosquito, mais une chose est sûre, il y avait bel et bien un son très aigu dans le métro, parfois très fort, et il émanait des nouveaux haut-parleurs. Ma blonde et mon frère ne l’entendaient pas, mais je ne suis pas le seul à l’avoir entendu, à en juger ce mes recherche sur internet.

Quelqu’un sait-il quand le son a cessé? J’ai pris le métro vendredi dernier et j’ai été surpris de ne plus rien entendre. Pourtant, j’entends encore très bien ce fichier, donc ce n’est pas mon ouïe qui s’est déteriorée!

Mise à jour: sur mes haut-parleurs de bureau, j’entends la sonnerie de cellulaire de 18khz mais pas celle de 19khz. Mon téléphone Nokia N95 n’arrive pas à faire jouer ces sons.

158$ et trois points d’inaptitude

En revenant du travail vendredi soir, j’ai rencontré un automobiliste du type qui pense que les cyclistes n’ont pas leur place dans la rue. Du moins, il a une notion plutôt tordue de la sécurité routière.

Circulant sur Beaubien direction est, juste avant la rue St-Michel, il m’a d’abord dépassé en me frôlant. On me dépasse à distance variable, parfois en prenant complètement la voie à sens inverse, parfois en me laissant un mètre. Mais ce jour-là, c’est environ 50 centimètres que le monsieur me donne, nettement en-dessous de la confortable normale. Mais jusque là, rien de catastrophique.

Ça arrive assez régulièrement. Une fois sur deux, je rattrape l’automobiliste au prochain feu de circulation, et je tente de l’informer que sa conduite est dangeureuse. J’arrive de plus en plus à le faire calmement, pour autant qu’on ne m’insulte pas. À vélo, je peux me faufiler d’un côté ou de l’autre de la voiture, et je dis quelque chose comme: « Bonjour! La prochaine fois que vous dépassez un cycliste, pourriez-vous lui laisser un peu plus de place s’il-vous-plaît? »

Vendredi, j’ai attiré l’attention du chauffeur en faisant aller ma main, mais il n’a pas baissé sa fenêtre. Alors je récite ma phrase en criant, l’automobiliste me répondant par un coup d’accélérateur. Il n’alla pas bien loin puisque la voiture devant lui n’avait pas bougé. Il avait jeté les gants, ce qui me mit en colère et j’allai me placer dans la file, devant lui. Il patientera, ou il me passera sur le corps.

Au feu vert, le cortège de véhicules démarre (moi inclus), et pendant un moment il ne tente pas de me dépasser. Puis, au pire instant je m’apperçois qu’il tente la manoeuvre. La voie à sens inverse est densément peuplée, et s’il s’était déplacé de 5 centimètres plus à gauche, il aurait perdu son rétroviseur. À sa droite, je suis en mode survie. J’observe tout très attentivement, prêt à freiner ou à tourner pour me sortir de ce sandwich de tôle. Quand il a passé, je récite à voix haute sa plaque d’immatriculation.

La semaine dernière, j’ai traversé à un feu rouge. La chaussée était mouillée, ce qui rend bruyant le déplacement des automobiles. C’était le grand silence. La voie était libre, et j’ai traversé après m’être arrêté le pied à terre. Un policier m’a vu, et m’a averti que je pourrais avoir des points d’inaptitude sur mon permis de conduire.

J’étais un peu fâché, mais quand-même content que ça soit mon premier avertissement en 10 ans de cyclisme à Montréal. C’est avec cette amertume que j’ai récité sans cesse jusqu’à chez moi le numéro de la plaque d’immatriculation du chauffard qui avait tenté de me donner une leçon. J’ai appelé la police, qui m’a dit que je devais me présenter à un poste de quartier pour faire ma déposition, ce que j’ai fait immédiatement après.

Le monsieur, propriétaire du véhicule dans lequel se trouvait également deux ou trois passagers (sa femme et ses enfants, vraisemblablement), recevra par la poste un constat d’infraction, une amende de 158$ et trois points d’inaptitude. S’il conteste, il se peut que j’aille en cour donner ma version des faits. Je pourrai imprimer ce billet dans quelques mois pour me rafraîchir la mémoire.

Quoi qu’il arrive, mon petit doigt me dit qu’il va soigner sa conduite, et les rues de Montréal s’en trouveront plus sécuritaires.

Sur la glace

Mon billet précédent aura bientôt 4 mois, et je sens de la pression pour écrire ce nouveau billet. Des membres de ma famille m’ont souligné récemment que j’avais abandonné mon carnet. En réalité, j’ai beaucoup de choses à dire sur ce premier hiver à vélo. Ayant décidé de me concentrer sur un projet d’entreprise avec un ami, le carnet a pris le bord, comme on dit.

À la fin octobre, la grande majorité des cyclistes avait déjà disparu des rues, la température atteignant presque le point de congélation. Je constate que le nombre de cyclistes que je croise n’a pas diminué entre octobre et février.

Jusqu’à environ -5 Celcius, je porte des jeans, un polar et un coupe-vent, une tuque mince, et des petites mitaines à trois doigts. S’il pleut, j’enfile un pantalon de pluie, et les mitaines sont insuffisantes. Je gèle facilement des doigts, alors je préfère des grosses mitaines.

À la même température, parfois j’ai chaud aux mains, parfois j’ai froid. Je n’ai pas compris pourquoi. Ça ne semble pas lié à l’effort physique. Peut-être que c’est le vent? peut-être que c’est ma température corporelle au départ? Comme ça me prend habituellement 20 minutes me rendre au travail, je n’ai pas vraiment le temps d’avoir mal. Dès que j’ai mes grosses mitaines, je peux facilement me réchauffer le pouce en le joignant aux autres doigts pendant 2 minutes. Avec des gants, c’est plus difficile à faire et je dois m’arrêter pour faire un poing ou étendre mes doigts. L’hiver prochain, je vais peut-être me fabriquer un coupe-vent sur le guidon, pour protéger mes mains.

Quand je vais au centre-ville, je dois barrer mon vélo à l’extérieur, et je peux parfois me geler les doigts rapidement si je manipule la clef du cadenas à mains nues. D’ailleurs, cette clef est en train de casser, parce qu’avec mes mitaines, je manipule le cadenas en U pendant que la clef est dedans et je ne m’apperçoit pas que j’appuie dessus. Il faudrait que j’en fasse une copie! Je peux aussi me geler les doigts quand je barre mon vélo à l’intérieur, mais que je manipule mon cadenas congelé à main nues.

J’aime bien ce cadenas, et il fonctionne très bien depuis que j’ai huilé le barrillet. Ce qui fonctionne moins bien, c’est le câble flexible que je traîne avec moi, enroulé autour du cadenas en U. Ce câble possède une gaine en plastique flexible à température normale, mais qui devient très raide à -20 Celcius. Ça peut être fatiguant à utiliser, et à bien y penser, je ne devrais pas avoir peur du vol à -20…

À cette température, je dois mettre mes pantalons de pluie. Sous -20 Celcius, j’envisage ajouter un pantalon de polar, car mes genous ont froid et j’ai peur que ça me blesse, à la longue. Sous -5, je porte toujours des lunettes de ski, pour protéger mes yeux et une partie de mon visage. Le reste est protégé par un foulard en laine polaire. Au-dessus de -10 Celcius, je le porte sur le menton, et je le porte par-dessus la bouche en-dessous de cette température. J’avais acheté un masque troué avec une forme pour le nez, mais j’ai de la misère à respirer avec et comme je dois mettre les lunettes de ski par-dessus, ma respiration s’infiltre dans les lunettes et crée de la buée.

Sur la route, je suis bien visible. J’ai un clignotant arrière, mais surtout, des bretelles réfléchissantes. Je m’étais aussi acheté une veste réfléchissante pour vélo, mais elle était difficile à enfiler. À l’avant, j’ai un clignotant blanc à 5 DEL.

Comme l’été, je roule à 1,5 mètre des voitures stationnées, en ligne la plus droite possible. Si je peux circuler près du trottoir, je le fais à 1 mètre de celui-ci, et dès que je vois un obstacle, 20 à 30 mètres avant, je me déplace vers la gauche dès que possible pour prendre ma place dans la file de voitures. En me positionnant ainsi, j’empêche qu’un automobiliste me dépasse au moment où j’évite l’obstacle.

Si, inversement, je circule à gauche de voitures stationnées et que je rencontre une intersection où il n’y a plus de voitures, je continue habituellement sur une ligne droite pour ne pas avoir à me ré-insérer dangereusement dans la file de voiture après l’intersection. Parfois je dévie un peu vers la droite pour qu’on puisse me dépasser quand je me sens en sécurité, mais souvent je ne me tasse pas pour permettre à quelqu’un d’éviter par la droite un automobiliste qui vire à gauche.

Tout ça, ce n’est rien de spécifique à l’hiver, mais comme on me parle toujours de sécurité quand je parle de vélo l’hiver, ça reste dans le sujet. C’est certain que pour braver l’hiver, il faut avoir bravé l’été.

L’hiver change quand-même un peu ma conduite. L’automne dernier, nous avons eu droit à de la neige, puis de la pluie verglaçante qui a créé des plaques de glaces très épaisses. Rouler sur la glace avec mes pneus à clous n’est pas un problème, mais je ne veux pas rouler à l’intersection de l’asphalte et d’une croûte de 6 cm de glace! Mon pneu ne peut pas tenir en place et je risque de me casser la figure.

Les plaques de glace ont persité pendant un mois ou deux, mais elles se situaient dans la voie où les voitures se stationnent. En période de pointe, le stationnement est interdit d’un côté, le même que j’emprunte. Normalement, je roulerais dans cet espace, mais avec cette glace très inégale, j’ai dû rouler dans la voie de gauche, dans la file de voitures. Souvent, j’avais assez d’espace pour laisser les voitures me dépasser.

Dans les petites rues nord-sud, par contre, je ne laisse pas de place aux dépassements. Ce sont des sens-unique avec des voitures stationnées des deux côtés, et une seule voie libre pour circuler. Quand j’entends une voiture derrière moi, j’attends qu’elle soit à quelques mètres de moi avant de décider si je me tasse un peu pour la laisser passer tranquillement. Si je suis loin d’un feu de circulation, que je le vois tourner au vert, et qu’une voiture me suit, je m’arrête complètement sur le côté pour la laisser passer, par gentillesse. Autrement, en traversant l’intersection je me tasse à droite et je donne du temps aux voitures qui me suivaient pour passer devant moi.

Je suis étonné d’avoir reçu très peu de coups de klaxon pendant l’hiver. L’été, même si j’ai le même comportement, je reçoit un coup ou deux par semaine. J’aimerais bien comprendre.

Une différence importante entre l’été et l’hiver est la vitesse des automobilistes. Sur la neige, les démarrages et freinages sont plus doux, et la vitesse est réduite. Pour moi, c’est l’idéal. Je peux m’insérer dans le trafic et adopter le mode véhiculaire. En fait, je n’ai pas vraiment le choix, car dépasser par la droite signifie rouler dans plus de neige (c’est plus forcant), alors je dois attendre derrière les voitures à un feu rouge. Bref, j’aime les tempêtes de neige parce que vélos et voitures circulent à vitesse égale.

Par contre, pédaler dans la neige, c’est plus forcant. Un centimètre ou deux bien tapé, ça va, mais plus de 5 cm de neige « bardassée » ça commence à freiner le cycliste. Par neige bardassée je parle de cette neige écrasée par des dizaines de voitures et qui forme des sillons derrières les roues. Ces sillons sont d’ailleurs à éviter le plus possible parce qu’ils font dévier la direction. En tempête, je préfère donc rouler là où c’est bien tapé, et où je ne risque pas d’avoir des surprises: nids de poule, sillons, bosses de glace, etc.

Parlant de glace, les pneu à glace, ça marche. Je n’ai jamais dérapé. Je suis allé me pratiquer sur une patinoire fraîche, et j’ai une très bonne adhérence. Il faut seulement faire attention aux virages, qu’il faut prendre à basse vitesse. C’est vrai aussi sur la neige tapée, et j’ai acquis un certain contrôle du dérapage. Je prends maintenant plaisir à déraper, alors que l’hiver et l’automne derniers j’en avais peur. En revenant chez moi ce soir, après une bruine verglaçante, j’ai eu plus peur de tomber quand j’ai débarqué de mon vélo que lorsque je me pratiquais à vélo sur la glace la première fois.

Sur une note plus légère, quand je roule, je ne me prépare pas juste à tomber, mais aussi à me défendre verbalement si un automobiliste enragé tente de m’ôter de son chemin. Voici quelques phrases que j’ai employées ou que j’aimerais employer:

  • T’es pressé d’aller au gym? Je t’attends à la maison mon chéri!
  • Je n’ai pas pris mon Hummer aujourd’hui. Je t’ai laissé un peu d’essence à la pompe là-bas!
  • Tu vas être content, je t’ai laissé une place de stationnement près du travail!
  • Au fait, t’as l’intention de tuer combien de personnes aujourd’hui?

Rassurez-vous, la plupart du temps je ne fais que demander plus d’espace quand on me dépasse!

Fabian, comment a été ton hiver?

La température diminue

Il fallait s’y attendre, puisque l’hiver approche, et à la latitude de Montréal, l’hiver est froid. L’effet est terrible sur la majorité des cyclistes, qui se convertissent en utilisateurs du transport en commun, de la marche, ou de la voiture. Lorsqu’en plus la pluie se mêle à la partie, les pistes cyclables et les rues se vident de leurs cylistes.

Mais il en reste, et pas un petit nombre. Bien au chaud sous mon imperméable et ma laine polaire, j’avance vers ma destination à la même vitesse que cet été, et avec autant de plaisir. Même que je ne suis pas le seul à vouloir continuer à me déplacer à vélo cet hiver.

Il faut simplement prendre une minute de plus pour bien s’habiller avant de partir, car comme dit le proverbe: Il n’y a pas de mauvaise météo, seulement de mauvais vêtements!