Et voilà, suite à la demande de Keus2, mon site est désormais compatible avec les mobiles… Absolument rien à changer de votre coté, mon blog détecte si vous êtes sur un téléphone mobile, un PDA ou un PC/MAC et adapte le site en conséquence…
Doctor Who
Alors que j’étais en train d’écrire la premiere partie du nouvel arc de ma série, je n’ai pas arreté de penser à Doctor Who et plus particulièrement à la nouvelle série. Après le départ de Ten dans un quadruple épisode absolument fantastique, je craignais l’arrivée du 11ème doctor. Les critiques lus de part et d’autre sur le net semble dissiper cette peur, mais surtout j’ai trouvé le générique de cette nouvelle série. Fidèle aux précédents, je le trouve cependant particulièrement bien fait!
Cela faisait longtemps que je n’avais pas posté de billet… Je dois dire que ce billet sera autant geek que personnel… Avec les résultats de l’exam qui approche, les imperfections actuelles de NetBSD 5.0.2, me sont tombés en pleine poire, si bien que j’ai dû, cette semaine, installer plus de système BSD que je n’en ai installé pour me préparer pour l’exam… Le plus triste est de savoir que la prochaine version stable sera merveilleuse, mais actuellement :
- Je n’ai pas d’accès direct à ma carte 3D (une radeon HD4350), ni pour la 3d, ni pour l’EXA et l’XV
- Xen 4.0 n’est toujours pas là…
- Je n’arrive pas à faire fonctionner ma webcam
- Je n’ai pas de son sous firefox 3.6, ni avec flash (a la limite je m’en passerai de ce plugin), ni avec l’HTML5 (lui, par contre, il fait plus mal déjà…)
Savoir que trois de ces points seront réglés à la prochaine stable me fait littéralement péter un câble… Vivement les résultats, histoire que je me calme…
Sous l’arche de la victoire, une jeune femme attend. Elle porte un tailleur, de long cheveux noirs et malgré la nuit et les ténèbres, des lunettes de soleil assez grandes pour cacher une partie de son beau visage. Une mallette est à ses pieds. Une sonnerie se fait retentir, elle sort son téléphone et décroche :
“Je suis au point de rendez-vous… Mon contact à un léger retard… Non, juste que c’est important. Il avait l’air effrayé au téléphone… Ne vous inquiétez pas, je sais ce que je fais…”
Au même moment, dans le bus 0314, Théo, complètement effrayé à l’idée de mourir par cette créature à forme humaine recule instinctivement, butant dans le corps de son ami ce qui le fait tomber a terre. Nathan se tient debout et le regarde de haut. Le jeune homme, tremblant de peur, se relève. Tous les yeux dans le bus son rivé sur Nathan. Et brusquement… celui-ci perd connaissance et s’écroule par terre, ses anciennes blessures réapparaissent. Théo s’effondre, un trou de la taille d’un poing le traverse de part en part à l’endroit ou devrait se trouver son coeur.
Lorsque Nathan revient à lui, il est dans une ambulance le conduisant à l’hôpital de Bordeaux. Un homme ayant la cinquantaine se trouve à ses côtés :
“La justice retiendra la légitime défense”
“Et, qu’est devenu la jeune femme ?”
“Elle va bien grâce à vous… Ah, avant que je n’oublie, je me présente, John Alpha, détective privé…”
Un homme petit et mal habillé sort nerveusement du tram. Il se sent rassuré en voyant la jeune femme sous l’arche, il s’approche d’elle et allume compulsivement une cigarette.
“Vous avez mon pognon ?”
la jeune femme attrape la mallette et l’entre ouvre discrètement, laissant apparaitre des liasse de billets. Lorsque le fumeur tente d’attraper la mallette. Celle-ci se referme brusquement.
“D’abord, l’information que vous m’avez promis. En tout cas, vous avez intérêt à avoir du lourd pour m’avoir poussé à m’exposer en public…”
“C’était plus sur pour ma vie, ici ils seront moins tentés de me tuer”
l’homme regarde nerveusement autour de lui avant de se rapprocher de la jeune femme et de son précieux butin.
“Le fils de Alpha… La confrérie n’y était pour rien, ce n’était qu’un regroupement d’idiot. S’il n’a jamais été retrouvé c’est tout simplement que les 9…”
l’homme est projeté sur un bon mètre, faisant apparaitre une traîné rouge sombre au niveau de la tempe sur toute la longueur. Par réflexe, la jeune femme se cache derrière un des pieds de l’arche, sort son arme et son téléphone.
“Mon informateur est mort… Non, ce n’est pas moi qui l’ai tué… Un sniper avec ce qui semble être un fusil expérimental. mais avant de mourir il a eu le temps de me donner des informations intéressantes : le fils de Alpha serait entre les mains des neufs rois et non entre les mains du deuxième empereur comme nous le pensions… C’est fort peu probable… Si je puis me permettre les trois empereurs ne sont que des vieux séniles, arrogant et ambitieux, aucun d’eux ne prendrait le risque de se lier au neufs rois… Très bien, il en sera fait comme le vous le désirez… Merci votre altesse…”
my_lock
Après dfuBSD c’est au tour de my_lock de faire son apparition sur mon blog, mais celui-ci rentre directement en béta-test. Il s’agit d’un fork (encore un, mais bon celui-là, ça fait un petit moment que je souhaite le coder) du zlock de Epitech : le locker bloque clavier et souris lorsque l’on clique sur la fenêtre et ne les rends que si l’on tape le mot de passe de la personne qui possède la session.
Pourquoi ce fork ?
tout simplement parce que j’aime montrer mon wallpaper et je ne souhaite pas le gâcher par un écran noir chaque fois que je lock ma session
. Plus sérieusement, cela m’a permis de me replonger dans la libX et ce ne fut pas un mal… Encore une fois, le code est sous licence BSD.
De plus j’envisage une série de tutoriel pour les personnes souhaitant se lancer dans le c++ ou souhaitant se remettre dans le bain en me basant sur ce projet.
les sources de version en béta-test sont disponibles içi: my_lock-0.1
Suite de mon billet “Rahlala Orange, je vous adore” à la fin duquel je vous signalais être content d’être un client Free. Et bien Free vient de me confirmer cela en un mail dans lequel ils annoncent que suite à ma plainte pour problème de connexion, je souhaitais être remboursé au prorata sur la période litigieuse. Ils ont accepté et vont me rembourser de 10 euros, jusque-là pas de problème sauf que je n’ai jamais contacté la hotline Free en faisant cette demande… Comme quoi Free ils sont les meilleurs, ils donnent de l’argent à leurs clients sans qu’on le demande quoique ce soit….
L’homme était grand, la vingtaine, cheveux rasés très court, mais l’ombre, très sombre, sur son crane laisse envisager des cheveux noirs. Il porte des baskets, un jeans noir, un col roulé de la même couleur et un long manteau que l’on croirait tout droit sorti de Matrix. Ses yeux, cependant, semblent être en contradiction avec ce gout immodéré pour le noir : d’un bleu très clair, toute personne qui croise son regard semble prise dans quelque chose d’immense, une force incroyable que rien ne peut arreter… Malheureusement pour lui, le jeune délinquant n’a plus toute sa tête à cause de l’alcool et dans sa folie un courage immense apparait.
Il pousse le perturbateur en lui sortant un “dégage !” plein de colère. Alors, qu’il semblait l’avoir remis à sa place et souhaitant récupérer sa main pour s’occuper de la jeune femme, il tente de la ramener vers lui, mais quelque chose semble la bloquer. En effet, l’homme en noir venait de prendre cette main qui lui avait été tendue, la projette vers l’extérieur, ne laissant pas d’autre alternative à son possesseur que de se rapprocher de son adversaire de face. Celui-ci en profite pour poser ses 2 mains sur la poitrine de l’agresseur et le projette contre le pare-brise du bus.
Voyant son ami à terre, le second agresseur se retourne vers ce mur immense qui se dresse désormais entre lui et sa liberté. Il demande :
“Putain, mais t’es qui, toi ?”
“Mon nom est Nathan, mais je crains que cette information ne vous soit d’aucun secours”
Entendant ces derniers mots, le criminel pointent son couteau sous la gorge de la jeune femme
“C’est ce que l’on verra, tu bouges, elle est morte. Théo, réveille toi ! Occupe-toi de ce salopard !”
Comme répondant à cet ordre, le jeune homme ouvre les yeux, comprend la situation, prend son couteau et le plante dans l’épaule de Nathan, puis s’approche de son oreille et lui dit :
“J’en ai pas fini avec toi, mon pote…”
Il lui donne un violent crochet du gauche, faisant s’effondrer le héros. Et le frappe à grand coup de pied dans l’estomac alors que celui-ci est à terre tout en rigolant tel un psychopathe sur le point d’achever sa futur victime.
A chaque fois qu’il envisage de se relever et d’en finir avec les deux lascars, l’image de la jeune femme menacée par le couteau le rappelle à l’ordre, encaissant un à un les coups du lache qui se tenait juste à côté de lui.
Mais, alors que tout espoir semblait perdu, il entend un cri qui semblait n’être à ses oreilles, encore sous le choc des coups, qu’un murmure :
“Releve toi !”
La jeune femme qu’il souhaitait sauver venait de lui signaler qu’elle n’était plus en danger. Mais qu’avait bien pu devenir l’homme qui l’a menacé ? Alors qu’il cherche à droite et à gauche, il le vit, a terre, son propre couteau en pleine poitrine. La jeune femme venait de la sauver… Il se relève devant un jeune criminel médusé. Et au fur et à mesure qu’il se redresse, ses forces semblent revenir et la douleur disparaitre. Dans le bus, la pression venait littéralement de grimper et les vitres ne tardent pas à exploser, permettant à ses passager de survivre. En voyant son adversaire se relever, Théo savait qu’il n’avait aucune chance. Cet adversaire là était un monstre… Un monstre dont les yeux avaient changé de couleurs passant du bleu clair au rouge sang…
dfuBSD
dfuBSD, mon second projet, qui a su attiré l’attention de tant de personne avec le mythique @, arrive sur mon blog. Mais finalement c’est quoi dfuBSD ?
dfuBSD c’est un fork du vieux logiciel dfu-util qui permettait de flasher facilement tout matériel qui respecte la norme DFU (Device Firmware Upgrade) et pour info : l’iphone/itouch respecte cette norme. La fin du nom de mon projet est explicite : le projet est sous licence BSD et est destiné aux systèmes *BSD.
Mais pourquoi un fork ?
le développement de dfu-util a été abandonné, il n’est donc plus à jour. Le deuxième problème est que ce logiciel utilise la libusb qui ne fonctionne plus sur les systèmes *BSD (la couche USB a changé sur ces systèmes). De plus parmi ces systèmes, il y a le mien (NetBSD) qui est réputé pour fonctionner sur le plus grand nombre de plateforme, mais parce que dfu-util ne fonctionne plus, il n’est plus possible d’installer l’OS a la serviette orange sur ces systèmes facilement (je viens de penser à l’instant que se connecter en série et uploader le système directement depuis le NOR doit cependant être possible).
Voilà vous savez tout, mais pour le moment comme je l’ai dit dans un précédent billet l’accès aux matériels lié au driver umodem(4) kernel panic et la stack-trace de ddb pointe directement la couche USB du noyau. J’ai envoyé un PR comme suggéré par reed@, et j’attends sa résolution (ou alors qu’une montée d’adrénaline me pousse à fouiller dans le noyau moi-même, mais tout le monde sait que je hais fouiller le code des autres, surtout s’ils ne respectent pas la norme Epitech…)
je viens de lire un message intéressant sur le forum de developpez, écrit par koala01 (tiens ça me rappelle le nom d’un certain groupe de personnes dans une certaine école informatique… bon ok arrêtons de tourner autour du pot, surtout pour ce qui ignore tout de moi et de mon passé : les koala sont les profs de troisième année à l’école informatique Epitech). Ce message explique pourquoi utiliser using namespace en global est dangereux :
Citation:
Envoyé par razily
en haut tu mets :
using namespace std;(et comme çà t’évites d’écrire de temps en tempsstd::)
Hou lààà… je me méfie de ce genre de conseil à l’emporte pièce…
Il faut bien comprendre que les espaces de noms ne sont pas uniquement là pour faire joli, mais pour limiter les risques d’ambigüité si deux bibliothèques définissent une classe dont le nom est identique, et permettre ainsi d’éviter aux programmeur d’avoir à préfixer le nom de leurs propres classes.
Le gros problème avec la directive
using namespaceest qu’elle a la fâcheuse manie de se répandre partout si elle est placée dans un fichier d’en-tête.Je te rappelle en effet que l’inclusion de fichier est récursive en C++, et donc que si tu met la directive dans un fichier d’en-tête, elle se retrouvera dans tous les fichiers qui incluent le fichier d’en-tête… Y compris dans les fichier qui incluent un fichier qui inclut un fichier qui inclut un fichier (qui… on peut continuer longtemps comme cela ) dans lequel se trouve la directive
Tu risque donc très fort, alors que tu n’aurais eu aucun problème si tu ne l’avais pas mise, de te retrouver avec des ambigüités t’obligeant, malgré tout, à utiliser le nom long (comprend: avec l’espace de noms) si, d’aventure, tu travaille effectivement avec plusieurs bibliothèques.
Il faut donc prendre l’habitude de placer cette directive uniquement dans les fichier d’implémentation dont on est sur qu’il ne seront jamais inclus par ailleurs (ce qui disqualifie donc les fichiers d’implémentation de fonction template).
Et puis,std::, c’est pas si embêtant que ca à écrire
donc arretez de m’emmerder avec vos “utilise un using namespace std; pour rendre ton code plus lisible”…
C’était le coup de gueule de la soirée, merci
Et voilà, déjà une semaine passée… Voici l’état des lieux concernant mes deux projets en cours :
Gaia’s Secret:
Pour ce projet je n’ai pas fait grand-chose étant dans le besoin du module que Greg doit faire, cependant j’ai conçu un module qui permet de récupérer les dossiers $HOME et d’installation, de plus j’ai basculé le projet sur CVS.
Trois modules CVS sont actuellement disponibles : bsd, linux et windows, mais le module bsd est le seul à être rempli à l’heure où j’écris ce billet
dfuBSD :
Ce projet est celui qui a le plus avancé, j’ai commencé à créer ma propre libusb, mais celle-ci est actuellement au point mort suite à un kernel panic lorsque j’accède au tty lié au driver umodem(4) associé au matériel auquel je tente d’accéder. Ce projet est lui aussi passé a CVS.
Encore une fois trois modules sont disponibles : libusb, libdfu et dfubsd. Seul libusb progresse, mais dfubsd contient l’ancienne version (provenant de l’ancien GIT)
pour récupérer un projet:
sous unix/linux:
- pour Gaia’s Secret:
cvs -d:pserver:anonymous@gaiaproject.cvs.sourceforge.net:/cvsroot/gaiaproject co -P nom_du_module
- pour dfuBSD:
cvs -d:pserver:anonymous@dfubsd.cvs.sourceforge.net:/cvsroot/dfubsd co -P nom_du_module
sous windows:
passer par tortoiseCVS (la doc est disponible sur le site officiel et un peu partout sur le net)
