[Roller] Deux années déjà

Je délaisse aujourd’hui la technique pour parler de sport et faire un rapide bilan de mes deux premières saisons en club (2014-2015 et 2015-2016).  C’est donc de roller qu’il va être ici question et plus précisément de la discipline vitesse (Inline Speed Skating dans la langue de Shakespeare).

Comme beaucoup, j’ai commencé à faire du roller dès l’enfance, un loisir comme un autre, une façon de s’amuser et de se dépenser en tournant dans le quartier ou en slalomant entre des plots. De moins en moins régulièrement avec les années pour arriver à une pratique « anecdotique » pendant mes années d’études supérieures. Tout va pourtant changer avec mon stage de fin d’étude en 2014, celui-ci m’ayant conduit à Lyon.

J’avais entendu parler je ne sais comment des randonnées roller du vendredi soir, mes rollers étaient donc du voyage. Après une première semaine de travail, le vendredi soir arrivait enfin et je me rendis donc place Bellecour pour participer à la rando organisée par Génération Roller. Au programme en ce début du mois de février, deux boucles d’environ 10 puis 20 km. La première boucle était bien entamée lorsque je croisai par hasard mon tuteur de stage avec un gilet jaune, coïncidence, il avait l’habitude de staffer tous les vendredis. En tout cas, je m’ennuyai un peu sur cette première boucle, ça avançait mais sans plus. Au retour place Bellecour, je n’hésitai donc pas à repartir pour la deuxième boucle dès qu’on me le proposa. Je n’avais pas idée de ce qui m’attendait.

Nous étions une petite vingtaine à prendre le départ et ça roulait déjà plus vite, je perdis rapidement plusieurs mètres et me retrouvai avec le (staffeur) orange de queue. La rando faisait des pauses de temps en temps pour que je puisse raccrocher. Pour cette deuxième boucle, nous prenions de la hauteur en direction de Rillieux-la-Pape. A la moitié du parcours, je déclarai temporairement forfait et montai dans le camion pour me reposer. Mon manque d’entraînement et le petit diamètre de mes roues n’aidait en rien. Après une vingtaine de minutes, on annonça une descente. Je profitai donc d’une pause pour descendre du camion et rejoignis les autres patineurs. Je ne voulais pas manquer la descente après être venu à bout de la montée. Je reçus quelques conseils pour bien aborder la descente à venir puis nous repartîmes. Le reste de la rando se passa bien, j’étais épuisé mais le rythme était moins soutenu dans Lyon centre. Je rejoignis enfin mon appartement à minuit passé; exténué mais satisfait.

Cette première rando marque le début de mon retour vers le roller. Les semaines suivantes, j’y retourne, à la quatrième rando, je participe à l’encadrement et intègre le staff. Je continue comme ça jusqu’à l’issue de mon stage, passant à des roues de diamètre 100mm au passage. Au milieu de l’été, retour dans mon Alsace natale. Je trouve un club à Strasbourg que j’intègre à la mi-septembre, après avoir participé au semi-marathon de l’EO-Race dans l’espace européen de l’entreprise à Schiltigheim. Première expérience de course, premier peloton pour un temps honorable de 52’32 à l’arrivée.

Puis le temps suit son cours, je me dote de patins de vitesse en janvier 2015. Découverte de nouvelles sensations, la platine prend quelques centimètres pour être en mesure d’accueillir des roues de 110mm. Je commence par un diamètre intermédiaire de 105mm. L’année 2015 sera marquée par mes premières compétitions et la découverte de différents formats de course de la discipline avec notamment : 24H, 6H et marathon. Viens ensuite 2016 avec la découverte du format indoor et Open route sur circuit.

Résumé des compétitions:

2014 :
EO-Race, Semi-Marathon, 00:52:32, 36e

2015 :
24H du Mans Roller, équipe endurance à 5, ~43e place
6H roller de Colmar, équipe mixte à 5, 2e place
6H roller de Strasbourg, équipe mixte de 5, 3e place
Vainqueur du challenge 6H Alsace
Marathon roller de Berlin,

2016 :
Indoor Héricourt
Roll’Verte
Open route Rixheim
24H Roller du Mans, Team Alsace, équipe de 10, 10e au général, 6e Prestige
6H roller de Strasbourg, équipe mixte à 5, 2e place
Marathon Roller de Berlin, 1’25’

En deux ans, j’ai pu découvrir un sport que j’affectionne. Si aux premiers abords cela semble simple, on se rend vite compte en pratiquant que la technique est primordiale et fait une grande différence (comme dans tous les sports finalement). Bien qu’ayant commencé tardivement le roller vitesse en comparaison des plus jeunes croisés en compétition et qui finissent inlassablement par me distancer, les progrès sont là et bien visible. J’apprécie donc d’avoir cette marge de progression devant moi, qui me poussent à m’améliorer, à corriger mes défauts pour tendre vers le geste optimal.

[NAS 2/x] Installation

Dans le premier article de cette série, je vous annoncais que j’avais choisi le HP Proliant MicroServer Gen8 pour en faire un NAS. Une fois la machine reçue, il convient de faire quelques adaptations pour rendre son utilisation, et son administration, plus agréable. Pour ces quelques opérations, je me suis à nouveau basé sur l’article très complet de L’Atelier du Geek traitant de l’installation d’OpenMediaVault sur cette machine.

En partant des informations de l’article, je me suis moi aussi doté d’un câble SATA, d’un câble adaptateur d’alimentation floppy vers SATA et d’un disque SSD sur lequel sera installé le système.

nas_1
Le disque SSD placé sur le haut du NAS

On connecte le câble d’alimentation sur une broche d’alimentation libre et au SSD. Pour le câble SATA, rien de bien compliqué, la machine dispose d’un port libre sur l’un de ses côtés. En mettant en place les différents éléments, j’ai constaté que la machine semble également disposer d’un emplacement pour carte SD. Il pourrait donc être intéressant d’effectuer l’installation du système sur une carte SD, plutôt que sur le disque SSD. Ainsi, le pourcentage d’utilisation de l’espace disque serait bien plus optimisé qu’avec le SSD où plusieurs dizaines de gigaoctets sont inutilisés.

nas_2
Câble SATA connecté sur le port libre de la carte mère

Au niveau matériel, notre NAS est donc prêt à fonctionner. Il reste une petite subtilité à effectuer afin de s’assurer que le NAS démarrera sur le SSD. Pour cela, il convient de créer un Array RAID contenant notre disque et de demander au BIOS de booter dessus. Voir l’étape 2 de l’article de L’Atelier du Geek pour tous les détails.

nas_3
Préparation du boot sur le SSD

Une fois ces opérations effectuées, on peut se tourner vers l’installation du système d’exploitation du NAS. J’ai moi aussi choisi OpenMediaVault. On récupère l’ISO, un coup de dd pour créer une clé USB d’installation et le tour est joué, l’installation peut commencer.

Pas de difficultés particulières de ce côté là, des questions classiques pour qui aura déjà installé un système GNU/Linux. Une fois l’installation terminée et le NAS éteint, on peut se tourner vers la mise en place des disques de données.

[Raw Nerve 3] S’examiner objectivement

En janvier 2014, je publiais la traduction de l’article « Lean into the pain » d’Aaron Swartz sous le titre « Plongez dans la douleur« , quatrième article d’une série intitulée Raw Nerve. Deux années plus tard, voici la traduction du troisième article « Look at yourself objectively ». Le style y étant particulier, l’exercice n’est pas des plus aisés. J’espère néanmoins avoir réussi à conserver la pensée de l’auteur dans ce texte que je vous laisse découvrir.

S’examiner objectivement

Cet article est la 3e partie de la série Pensée Sensible.

Dans les années 1840, les hôpitaux étaient des endroits dangereux. Les mères qui y entraient pour y donner naissance ne s’en sortaient souvent pas. Par exemple, au premier service d’obstétrique de l’Hôpital Général de Vienne, 10% des mères mourraient de fièvre puerpérale après avoir donné naissance. Mais, bonne nouvelle: dans la seconde clinique, ce nombre n’était que de 4 %. Les futures mères remarquèrent cela – certaines se seraient mises à genoux et auraient supplié pour être admise dans la seconde clinique. D’autres, en entendant que les nouveaux patients allaient être admis dans la première clinique ce jour-là, préféraient donner la vie dans la rue.

Ignaz Semmelweis, assistant à la première clinique, ne pouvait le supporter. Il commença à chercher désespérément une quelconque explication de cette différence. Il essaya plusieurs choses sans succès. Puis en 1847, un ami de Semmelweis, Jakob Kolletschka était en train de réaliser une autopsie, quand un étudiant le coupa accidentellement avec un scalpel. C’était une blessure bénigne, mais Kolletschka fut terriblement malade et mourut, avec des symptômes similaires à ceux des mères. Cela amena Semmelweis à s’interroger: des « substances mortelles » sur les corps sont-elles responsables de ces morts?

Pour tester cela, il insista pour que les docteurs commencent à se laver les mains avec du chlorure de chaux  (qui enlevait le mieux l’odeur de la mort), avant de s’occuper des femmes enceintes. Les résultats furent bouleversants. En avril 1847, le taux de mortalité était de 18,3 %. Semmelweis institua le lavage des mains à la mi-mai et dès juin, le taux de mortalité s’était écroulé à 2,2 %. Le mois suivant, il était encore inférieur et plus tard dans l’année, celui-ci atteignit zéro – pour la toute première fois.

Vous devez penser que les docteurs auraient été emballés par cette incroyable découverte. À la place, Semmelweis fut attaqué et ridiculisé. Il fut renvoyé de l’hôpital et expulsé de Vienne. « Dans les publications de travaux médicaux, mes enseignements sont soit ignorés, soit attaqués », se plaignait-il. « La faculté médicale de Würzburg récompensa d’un prix une monographie écrite en 1859 dans lequel mes enseignements étaient rejetés ». Même dans sa Vienne natale, des centaines de mères continuaient de mourir chaque année.

Semmelweis se tourna vers l’alcool et son comportement devint de plus en plus changeant. En 1865, il fut interné dans un asile psychiatrique. Là-bas, il fut brutalisé par les gardes, placé en camisole (de force), et enfermé dans une cellule sombre. Il mourut peu après, à l’âge de 47 ans, d’une blessure infectée.[1]

Pourquoi les médecins rejetèrent-ils Ignaz Semmelweis si obstinément ? Eh bien, imaginez qu’on vous explique que vous êtes responsable de la mort de centaines de vos patients. Que vous avez tué les gens que vous étiez sensés protéger. Que vous étiez tellement mauvais dans votre travail, que vous faisiez moins bien que juste donner la vie dans la rue.

Nous savons tous que les gens n’aiment pas entendre de critiques sur eux-mêmes. En effet, nous faisons tout pour l’éviter – et quand nous nous y confrontons, nous tentons de minimiser cela ou de nous justifier. Des psychologues en science cognitive l’ont prouvé dans une douzaine d’expériences: forcez des étudiants à suivre un cours avec une initiation embarrassante, et ils insisteront pour dire que le cours est bien plus intéressant. Faites leur faire une faveur à quelqu’un qu’ils haïssent, et ils commenceront à insister pour dire qu’il l’apprécie. Faites leur faire une petite entorse à l’éthique et ils seront prêts à en faire de plus en plus grande. Au lieu d’accepter que nous avons fait une erreur, et que nous n’aurions pas dû faire d’entorse ou faire une faveur, ou suivre le cours, nous commençons par nous dire que la compromission n’est pas si terrible – et quand la prochaine arrive, nous croyons aux mensonges que nous nous sommes dit, et bondissons vers une nouvelle erreur. Nous haïssons entendre des mauvaises choses à notre propos, donc nous préférons changer notre comportement plutôt que d’admettre simplement que nous avons foiré.[2]

Cela n’aide pas quand nos amis pointent ce que nous avons mal fait. Si nous avons tant peur de nous entendre dire que nous avons fait une erreur, imaginez comme nous haïssons l’entendre venant de quelqu’un d’autre. Et nos amis le savent: la réponse à « Est-ce que cette tenue me boudine? » n’est pas supposé être « oui ». Nous pouvons blaguer à propos de ce que disent nos amis dans notre dos, mais nous le leur disons rarement en face. Même au travail, beaucoup d’effort sont fait pour être sûr que les employés sont isolés des jugements les plus négatifs de leurs supérieurs. Voici ce qu’on nous apprend : faire cinq compliments pour chaque critique, entourer les retours négatifs de retours positifs, la chose la plus importante étant de garder intact l’estime de soi de la personne.

Mais, comme l’a montré Semmelweis, ceci est une habitude dangereuse. Bien sûr, c’est horrible d’entendre que vous êtes en train de tuer des gens – mais c’est bien pire de continuer dans cette voie ! Ce ne doit pas être drôle  d’apprendre que vous êtes paresseux, mais c’est mieux de l’apprendre maintenant que de le découvrir une fois viré. Si vous voulez travailler à devenir meilleur, vous devez commencer par savoir où vous en êtes.

Semmelweis fut défait autant qu’un homme peut l’être. Mais rien de ce que les autres docteurs pouvaient lui faire n’aurait changé les faits. Finalement, les scientifiques prouvèrent la théorie de contamination par les germes et Semmelweis fut disculpé. Aujourd’hui, c’est un héros international: universités et hôpitaux portent son nom, sa maison a été transformé en musée, l’Autriche a même mis sa tête sur une pièce en or de 50 €. Pendant ce temps-là, les docteurs qui s’étaient opposés à lui sont maintenant vu comme des meurtriers bornés.

Continuer la lecture de « [Raw Nerve 3] S’examiner objectivement »

[NAS 1/x] NAS, c’est parti !

La gestion des données numériques peut vite devenir un véritable casse-tête. Dans mon cas, cela se traduit souvent par l’accumulation de plusieurs versions d’un même fichier sur plusieurs supports, parfois par mégarde, parfois pour prévenir la perte de la donnée. Ajouter à cela plusieurs disques externes, d’âges différentes, nécessitant une alimentation externe ou pas et il devient facile de s’y perdre, de ne plus savoir où se situe quelle donnée.

Dans un premier temps, j’ai donc commencé par réaliser un inventaire rapide de mes disques, en triant par type de données, afin d’avoir une idée de la volumétrie. Pas d’outils particuliers à part un bon explorateur de fichiers pour cette étape. Les résultats sont ceux que je pressentais, beaucoup de fichiers vidéo, de nombreux fichiers audio, puis d’autres fichiers comme des photos; en nombre important, mais en plus faible volumétrie.

Après cette étape d’inventaire, c’est posé la question de la pertinence des données. Est-il judicieux de conserver ce film récupéré sur le disque dur d’un ami, en 480 pixels et au son horrible ? De garder cette vidéo d’un court métrage des années 2000 trouvé sur Youtube ? Bref, introduire une étape de nettoyage en même temps que l’inventaire, et en profiter pour supprimer les doublons n’ayant pas lieux d’être. On peut ensuite s’intéresser à la hiérarchisation de la donnée.

Sur l’ensemble de mes données numériques, certaines vont avoir une valeur plus importante que d’autres. C’est le cas notamment des photos numériques prises à divers occasions au fil des ans, des fichiers audio correspondant à l’ensemble de la bibliothèque musicale CD de mes proches, fruit d’un travail de longue haleine passé à extraire chaque disque et à l’ajouter dans la base MusicBrainz lorsque celui-ci n’existait pas. Tout ça pour dire que la perte de certains fichiers est acceptable, tandis que d’autres fichiers se doivent d’être protégé des éventuels problèmes du support.

Toutes ces réflexions m’ont donc conduit à m’intéresser au serveur de données personnelles ou NAS. L’avantage premier étant de pouvoir bénéficier d’une redondance simple des données en utilisant du RAID. J’ai eu à cette occasion la chance de tomber par hasard sur l’article Un NAS 4 baies de qualité et évolutif pour 250€ de L’Atelier du Geek. Pour moi, l’attrait principale de cette machine, outre son prix attractif par rapport au marché des NAS, réside dans la présence de 4 baies de disque dur, ainsi que dans la possibilité d’y installer le système d’exploitation de son choix. De plus, l’article permet de savoir à quoi s’attendre.

C’est donc en toute logique, que je me suis tourné vers un HP Proliant MicroServer Gen8.

Unity3D : gestion des bords de l’écran

Définition du problème

J’ai passé quelques temps à comprendre comment gérer la détection des bords de l’écran pour ne pas que mon gameobject en sorte.

Dans mon cas le gameobject dirigé par le joueur est un cube auquel on ajoute un BoxCollider, la caméra est fixe.

Dans Unity on gère la position d’un objet par son attribut position (un Vector3 donnant le positionnement du centre de l’objet).

Malheureusement pour moi le composant camera de Unity permet seulement de trouver la taille en pixels de l’écran (maCamera.pixelHeight et maCamera.pixelWidth) et donc je me suis mis à chercher un moyen de déterminer en pixel l’endroit où se trouve mon cube afin de savoir si celui-ci est en dehors ou en dedans de l’écran. En gros si mon cube est entièrement visible ou non !

De l’intérêt d’utiliser un BoxCollider

Pour déterminer le centre de mon cube ainsi que sa taille j’utilise les valeurs récupérables dans l’attribut bounds du composant :

//dans start()
joueurX = this.GetComponent<Collider>().bounds.size.x/2;
joueurY = this.GetComponent<Collider>().bounds.size.y/2;

//dans update()  centreJoueurX = this.GetComponent<Collider> ().bounds.center.x; centreJoueurY = this.GetComponent<Collider> ().bounds.center.y; 

Aux tests à effectuer

if (maCamera.WorldToScreenPoint(new Vector3(0,(centreJoueurY+joueurY),0)).y > pixelHeight) {
//on stop le déplacement
directionJoueur = 0;
this.gameObject.transform.localPosition += (-mouvementY * speed * Time.deltaTime);
} 
else if (maCamera.WorldToScreenPoint(new Vector3(0,(centreJoueurY-joueurY),0)).y  < 0) {
directionJoueur = 0;            this.gameObject.transform.localPosition += (mouvementY * speed * Time.deltaTime);
} 
else if (maCamera.WorldToScreenPoint(new Vector3((centreJoueurX+joueurX),0,0)).x > pixelWidth) {
directionJoueur = 0;             this.gameObject.transform.localPosition += (-mouvementX * speed * Time.deltaTime);
}
else if (maCamera.WorldToScreenPoint(new Vector3((centreJoueurX-joueurX),0,0)).x < 0) {
directionJoueur = 0;                                           this.gameObject.transform.localPosition += (mouvementX * speed  * Time.deltaTime);
}


Voilà pour le système utilisé actuellement, on peut bien entendu imaginer un système pour ne pas refaire les tests à chaque update() mais uniquement au moment voulu.