06/02/2010
Lest
06 fév 2010 - 20:39
Il fallait bien que je trouve quelque chose pour lester ce chariot. N'ayant pas de sac de sable à disposition, je suis allé piocher des trucs lourds dans ma bibliothèque. Je me suis dit que je n'aurais plus besoin de ces livres. Delphi 7, c'est du windows. Et même si je devais me remettre à Java, j'imagine que ce livre, qui a dix ans, est désormais obsolète.
Java 2, c'est lourd. Delphi 7, aussi. Les livres, hein. Je parle bien des livres...
01/02/2010
Mémoires
01 fév 2010 - 14:14
Ce qui suit est une nouvelle Geek, mais pas Polar-Geek. (d'ailleurs Pierre Roussel vient de publier le deuxième épisode de "Le monde est petit", faudrait y aller voir).
D'aucuns verront certainement un lien avec "Le Peuple du tapis", de Terry Pratchett. Je l'ai en effet lu il y a peu de temps, mais en fait, je n'ai fait le rapprochement qu'au moment où j'ai couché cette nouvelle sur le clavier. Les fans de Pratchett m'excuseront, je l'espère.
31/01/2010
Inacadémique
31 jan 2010 - 00:44
Je sais pas pourquoi, j'aime cette photo. Le N&B, le regard vers le bas, le visage coupé en bas et l'oreille tronquée en haut, le flou général qui s'en dégage... Rien n'est classique / académique dans cette photo, mais... elle me parle.
Les photos (publiques) de ma fille sont rares. Profites-en.
30/01/2010
Forum des métiers
30 jan 2010 - 15:26
Ce matin, je suis allé faire l'intervenant au 24ème Forum des Métiers, organisé au collège Saint-Bernard, à Bayonne. Durant trois courtes heures, j'ai pu exposer à des collégiens mon métier, et essayer éventuellement de les aider à faire leur choix. To be geek or not to be geek. J'avais volontairement pris le parti de ne prêcher aucune paroisse particulière : pas un mot sur le libre, pas un mot sur ma spécialisation. J'avais l'étiquette "développeur informatique" et elle suffisait amplement. Évidemment, il fallait essayer d'aborder tous les domaines accessibles au développeur, et ils sont vastes. Pour m'aider à construire une sorte d'argumentaire, j'avais essayé (seul, puis en compagnie de quelques IRCistes de toutes origines) de dresser une sorte de liste de "mots-clés" définissant les principaux axes de mon métier. J'ai pondéré et stocké ça dans une petite appli Django avec affichage dans l'ordre aléatoire ça donne quelque chose comme ça :
Quelques explications :
- Feignantise : normal. Si on se casse (un peu) la tête, c'est pour ne plus avoir à s'emmerder par la suite. C'est fondamentalement parce qu'on en avait marre d'attendre les résultats d'un calcul qu'on a inventé le moyen de les faire plus vite et plus puissamment. Et si on a un outil qui permet de faire plus, ça alimente notre feignantise. Les Frameworks en sont l'exemple le plus criant de vérité : on a un bras de levier plus important et donc on peut aller plus loin que si on devait tout réécrire à chaque fois.
- Anglais : parce qu'il me paraît essentiel de savoir lire et écrire en anglais pour pratiquer notre métier. Toute la doc est en anglais, tous les langages de programmation (à part peut-être Baguette on Snails) sont en anglais, et que si on veut discuter avec les développeurs du monde entier, on doit maîtriser l'anglais. On peut le regretter ou pas, mais c'est comme ça. L'anglais, c'est la lingua franca de notre ère. Et Google Translate est hors de question. Sans compter qu'on doit savoir communiquer, à l'écrit surtout, à l'oral souvent ; en français comme en anglais.
- Curiosité : j'insiste à chaque fois sur ce point. Ce n'est pas une compétence qu'on acquiert, mais une sorte de formatage du cerveau. Un geek, c'est quelqu'un qui apprend. Tout le temps. Si on reste sur ses acquis, on est mort. Si on reste sur du plan-plan, on est dépassé. Ça m'aurait rendu malheureux de continuer à faire du VB4, du Cobol, du JCL, de l'ASP, du PHP. Et peut-être un jour, du Python. Les techniques bougent, les outils émergent, les wagons se choppent ou bien on reste sur le quai. Tristement.
- Rigueur : indispensable aussi. On peut être bordélique, mais y'a un retour de bâton à moyen ou à long terme. Être rigoureux, c'est prévoir aussi à l'avance, anticiper. Se dire que dans six mois, si on revient sur son code, on va comprendre ce qu'il fait. Documenter, rajouter des commentaires et des remarques. Coder proprement, c'est aussi le moyen d'avoir un code maintenable (en correction comme en évolution)
- Café : désolé, pas pu m'en empêcher.
Concernant le forum proprement dit :
- Superbe organisation (bien rodée, 25 ans l'an prochain) et plein de monde. Des gamins avec ou sans parents, mais avec une grande qualité d'écoute.
- Cent pour cent de mecs. Zéro fille. Aucune. À la fois prévisible et étonnant. Prévisible, parce que la filière scientifique et technique est traditionnellement masculine ; étonnant parce que je m'imaginais qu'en 15 ans, les mentalités avaient évolué, ne serait-ce qu'un peu, et qu'on verrait quelques filles nous questionner. Pourtant, les qualités requises par notre métier ne sont aucunement sexuées. Les points que j'ai évoqué ci-dessus ne sont ni l'apanage d'un genre, ni la tare d'un autre. Il faudrait vraiment se pencher sur la question. Je persiste : une fille est aussi bien armée qu'un garçon pour développer. Ou alors, il y a une autre explication : elles n'avaient pas besoin de nos conseils, elles étaient bien informées et elles iront directement dans les bonnes filières, sans hésiter. Mouais.
-
Environ 80% des jeunes que j'ai vu voulaient
faire des jeux vidéo
. Et les 20% restants ne savaient en fait pas ce que voulait dire le terme "développeur". C'est colossal, sinon. Des jeux, des jeux, des jeux, des jeux. Sans qu'ils sachent qu'il y a mille métiers qui gravitent autour de la conception / réalisation de jeux et de l'infime proportion de travailleurs informatiques qui fait effectivement partie d'un équipe qui fabrique ces jeux. Ah... c'est beau les rêves. - Sinon, j'ai vu quelques futurs geeks. Ils promettent au moins autant que la génération actuelle.
26/01/2010
Deux Mille Neuf
26 jan 2010 - 00:16
Excuse-moi de te demander pardon, mais je suis consterné par ma propre prose. Si l'idée principale est bien là, j'ai énuméré des platitudes assez ennuyeuses sur plusieurs paragraphes. Je voulais absolument rédiger un texte avec comme idée pivot "virages" et j'ai complètement dévissé en délayant une sauce bien fade. Désolé, j'essaierai de pas recommencer.
Deux-mille neuf a été une année mouvementée. Une des plus mouvementées de mon existence. Ma propension naturelle à me souvenir des vilaines choses laisse hélas des traces désagréables. Le décès de mon grand-père, les tempêtes et les inondations, la perte de mon travail, la fin du Lugradio Live, tout ça fait très cahoteux (ou cahotique, si on aime les néologismes). Et si on contrebalance ça avec la naissance de ma fille, au beau milieu de cette année, ça chamboule tout.
Je crois que le mot-clé de cette année 2009, tout compte fait, ce fut "virages". Et si je regarde le destin de mes proches, je constate qu'eux aussi ont pris de sacrés virages. Déménagements, emménagements, mises en couple ou ruptures, fermetures de boîtes et ouverture de commerces...
Les virages, si on réfléchit bien, ce n'est pas forcément une mauvaise chose. C'est toujours mieux que d'être arrêté en plein vol, de se crasher sur un mur. Un virage, c'est un changement de direction, mais après tout, la trajectoire a beau changer, on est toujours en mouvement.
Parfois, les virages, on les subit. On a parfois l'impression d'être parti dans le décor, d'avoir perdu les pédales. Et puis non. On est toujours sur la route. Comme si c'était une erreur. Comme si on s'étonnait soi-même d'être toujours sur ses deux pieds. Alors la route serpente, devant soi. Et on reprend le chemin, encore un peu sonné.
J'ai pris un drôle de virage en m'installant sur la Côte Basque, à la faveur d'une formation qui commençait en janvier 2000. Dix ans. En mars prochain, ça fera dix ans que j'habite Bayonne. Et en mars prochain, ma fille aura un an. C'est vertigineux de voir tous les virages que cette décennie a compté. Si on traçait la toute petite ligne qui suit cette trajectoire, avec ses pauses et ses virages, on pourrait s'apercevoir de quel drôle de chemin cela fait. La vue d'ensemble.
Je ne sais pas de quoi l'année 2010 sera faite. Tous les chemins sont encore possibles ; certaines routes paraissent bouchées, d'autres semblent plus confortables. Il y aura certainement d'autres virages. Plus ou moins douloureux, plus ou moins subits. Cette année, et les années à venir. Des portes qui s'ouvriront, d'autres qui seront fermées. Des voyages, des périodes de calme, des colères, des larmes, des rires.
On a beau faire des projets, on aurait du mal à être sûr qu'ils iront au bout. Mais la seule façon de savoir, la seule façon d'être certain qu'on a eu raison ou tort, c'est de rester sur la route, et d'avancer.
Je n'ai pas vraiment d'idée du mot de 2010. Il y a de fortes chances pour qu'il soit "virage".
23/01/2010
Maux de passe (dernière partie)
23 jan 2010 - 12:28
Ce qui suit est la troisième et dernière partie de la nouvelle Polar Geek "Maux de passe". Pour info :
21/01/2010
En préparation
21 jan 2010 - 17:55
Ça se bouscule pas mal depuis peu, alors, on résume, parce qu'il va falloir s'organiser un peu :
- Les premières Rencontres Django francophones viennent d'être annoncées par David et auront donc lieu les 24-25 avril à Marseille. Dans ma TODO, on ajoute : transport (SNCF, c'est minimum 7h20 de train - Avion, c'est Ryanair avec des dates moyennement intéressantes - voiture c'est hypra-galère à l'aller encore pire au retour) et logement (les organisateurs y travaillent).
- Le prochain OggCamp, l'événement open-source qui succède au Lugradio Live aura lieu à Liverpool... le week-end d'après (2-3 mai). Impossible que je le manque celui-ci non plus. Donc, dans la TODO : transport (une des propositions d'Air France table sur un voyage de plus de 24h - Y'a bien EasyJet, mais c'est moyen - Y'a pas Ryanair, ils desservent Biarritz/Liverpool que l'été) et logement (les organisateurs y travaillent aussi).
- Les prochaines RMLL... J'hésite... En même temps, c'est à Bordeaux, donc pas loin. Faudra voir en fonction des intervenants / ceux qui y seront que je connais, etc.
À savoir que pour mon plus grand bonheur, pour les Rencontres et pour OggCamp, on a réussi à me convaincre de préparer une intervention. Donc, dans la TODO : talk for OggCamp et conférence Django.
À part ça, je dois encore écrire et publier le troisième et dernier épisode de "Maux de passe" pour Polar-Geek. Je sais pas quand j'aurai le temps.
Qui a dit que les chômeurs étaient inactifs ?
16/01/2010
Basically me
16 jan 2010 - 23:26
Caricature effectuée, "en direct" pendant mon petit n'importe quoi au Lugradio Live 2009, par Chris Hayes. Publiée sous contrat Creative Commons, CC-BY.
iPod bras, iPod chocolat
16 jan 2010 - 23:05
Petit emprunt du titre à un calemlourd de Sinkrou.
J'ai pêché, j'expie, j'ai pêché, j'expie, j'ai pêché, j'expie, J'ai pêché, j'expie, j'ai pêché, j'expie, j'ai pêché, j'expie.
J'ai voulu donner à Apple sa chance. Ceux qui me connaissent savent que je ne porte pas la firme, ses produits et son Steve Jobs dans mon coeur, pour tout un tas de raison qu'il est inutile de préciser ici, afin d'éviter les trolls préliminaires. C'est mieux de passer directement aux trolls postliminaires.
J'ai voulu acheter un iPod. Depuis le temps que ce produit est vanté par ses utilisateurs, qu'il est devenu synonyme de "lecteur mp3", j'avais de plus en plus envie de tâtouiller ce symbole de la réussite d'Apple. J'avais aussi envie de me racheter un lecteur audio portable ; le précédent était assez obsolète, et pour tout dire tellement peu ergonomique que je n'avais aucun scrupule à m'en séparer. L'interface de l'iPod, il faut le rappeler, est un des principaux arguments de vente.
Après quelques réflexions, et sachant que les iPod sont supportés par la bibliothèque libgpod depuis des lustres, je me suis dit que je ne risquais rien à acheter un iPod. C'est pas comme si j'achetais un Mac à 2 ou 3 SMIC...
Mal m'en a pris. J'ai passé une nuit ou presque pour arriver à la conclusion que cet iPod ne fonctionnerait jamais. J'avais jeté mon dévolu sur un iPod Nano, Cinquième Génération. Un 16Go, vert. C'est joli, le vert.
Branchement, début du chargement. L'Ipod apparaît sur mon bureau. Youki. Je constate que l'arborescence d'un iPod n'est pas celle d'un bête disque dur. Admettons. J'installe gtkpod, qui semble être le programme ad hoc. Il faut que je bataille un moment avant qu'il apparaisse dans les panneaux, mais je passe. Je sélectionne quelques MP3 à copier dans le lecteur, je "synchronise". Petite vérification, les fichiers MP3 sont là, youpi.
Débranchage, rallumage : Zéro fichier dans le lecteur.
Herm. Je passe encore sur les heures (au bas mot, six) que j'ai passé à essayer de comprendre. J'ai tout passé en revue : Banshee, Rhythmbox, Exaile, GtkPod, et autres programmes tous plus ésotériques les uns que les autres. Rien. Aucun n'a été capable de discuter correctement avec l'iPod.
J'ai cherché sur l'ensemble du web et j'ai finalement trouvé la cause du problème. Avant la 5G (cinquième génération) du Nano, Apple utilisait une base de données au format propriétaire pour stocker les méta-données relatives aux fichiers audio (album, pistes, etc). Et c'est ce format que les codeurs de libgpod
et gtkpod
avaient réussi à décoder pour que ces programmes puissent s'interfacer entre GNU/Linux et l'iPod.
Mais depuis la 5G, le format a changé. Forcément, cela a rendu les bibliothèques totalement inutilisables pour mon zouli iPod vert. Mais l'ironie du sort, c'est qu'en fait, Apple utilise à présent un format qui est fondamentalement connu, documenté, et libre : SQLite. Oui, SQLite, dont le code source est du Domaine Public. C'est en passant d'un format fermé à un format totalement ouvert que ma Buntu a été rendue muette devant l'iPod Nano 5G.
La bonne nouvelle, c'est que ce format ouvert va immensément faciliter la tâche des codeurs qui devront mettre à niveau les programmes. La mauvaise, c'est qu'aujourd'hui, là, maintenant, j'ai un lecteur MP3 aussi utile qu'une bicyclette à un poisson. Et qui m'a coûté 179,90 EUR, éco-taxe comprise.
Alors je suis retourné au magasin, et j'ai demandé un remboursement. On m'a conseillé, si je voulais, d'aller choisir un autre lecteur et que j'aurai la différence en bon d'achat. J'ai pris un Samsung YP-R0. Non seulement il a été immédiatement reconnu (après passage en mode MSC plutôt que MTP) par Ubuntu, mais il lit les fichiers OGG et FLAC - ce que ne fait pas l'iPod ; et je rippe tous mes CD en OGG habituellement - ainsi que les DivX. Il fait radio FM, aussi. Et la longévité annoncée de la batterie est meilleure. Et il m'a coûté 70 EUR de moins.
Bonus : à la fin de la doc, j'ai remarqué la copie de la licence GPL, c'est que le lecteur utilise des programmes libres, comme le noyau Linux. Yeah.
Y'a moins bien, mais c'est plus cher.
11/01/2010
Maux de passe (deuxième partie)
11 jan 2010 - 23:39
Suite de l'épisode précédent. Toujours Polar, toujours Geek.
10/01/2010
Polar Geek, version moderne
10 jan 2010 - 00:40
Le tout nouveau tout frais "Polar Geek" est en ligne depuis ce soir. J'ai eu la chance de le développer from scratch, en utilisant Django, en à peu près 6 heures de labeur, étalées sur une journée (2 heures le matin, 4 le soir).
J'y intègrerai progressivement des liens vers les textes qui me parviendront, soit par email, soit via le compte @polardeuxzero (cf. la page "à propos").
Comble du bonheur geek, on y trouvera un flux RSS.
Au pire, si tu veux contribuer mais que tu n'as pas de blog ou d'espace d'expression électronique, tu peux également m'adresser le texte par e-mail et je tâcherai de lui trouver une place dans mon maaaaaagnifique gestionnaire de contenu révolutionnaire (cough).
d'ailleurs, à propos de magnificence, si un designer passe par ici et a envie de bénévoler au secours de mes maigres talents graphiques, qu'il n'hésite pas à se faire connaître. mais je serai pas vexé si tu veux pas bosser gratuit.
Et allez ! contribuez ! contribuez ! contribuez !
08/01/2010
Les hooks mercurial à ton service
08 jan 2010 - 19:32
Voici une recette pour mettre à jour un site statique, en utilisant simplement mercurial et ses mécanismes appelés "hooks".
Pour mettre à jour ce genre de site, on peut utiliser rsync ou un simple client FTP, mais il peut parfois apparaître des différences entre les deux copies (reliquats de renommages, suppressions, déplacements...).
La recette peut certainement être étendue à des sites dynamiques (en PHP, par exemple) ; il sera d'autant plus difficile de l'utiliser dans le cas où la structure de données "cible" aura migré (ajout de champs dans la base de données, par exemple). Autant dire que pour la v0.0.1 de Polar Geek <http://polar-geek.org>, ça marche super bien. Pour une appli Django, ce sera beaucoup plus hasardeux.
Prérequis :
- Mercurial installé sur le poste local
- un serveur sur lequel tu as un accès ssh
- sur ce même serveur, mercurial doit être installé
Pour l'exemple qui suit, j'utilise les serveurs d'alwaysdata <http://alwaysdata.com>, qui ont tout ce qu'il faut là où il faut.
En distant :
Tout d'abord, se connecter à son serveur via SSH
$ ssh <login>@ssh.alwaysdata.com
Password:
$ mkdir --parents /chemin/vers/mon/projet
$ cd /chemin/vers/mon/projet
$ hg init
Ce répertoire sera le réceptacle du projet, c'est à dire une copie du dépôt. J'utilise le chemin absolu, mais il sera peut-être plus court de passer par le chemin relatif (depuis le "home")
En local :
$ hg init projet
$ cd projet
$ mkdir www
$ cd www
$ echo "coucou" > index.html
$ hg add && hg ci -m "premier commit"
Note
Important : les fichiers du site (c'est à dire ceux qui seront exposés sur le virtual host, ceux qui seront effectivement en ligne) doivent se trouver dans un sous-répertoire de "projet". Pourquoi ? parce que s'il en est autrement, n'importe qui pourrait faire
hg clone http://monsite.com/ et récupérer l'intégralité du dépôt. Ça peut être négligeable pour quelqu'un, mais si le site contient du code, des identifiants de BDD, des fichiers "cachés" qui ne doivent pas être révélés, ça peut être gênant. Si le site est effectivement "caché" dans un sous répertoire, on ne pourra pas accéder au dépôt via http.
Il faudra donc, au moment du paramétrage du virtual host, faire pointer ton domaine vers: /chemin/vers/mon/projet/www/
Que se passe-t-il si on "push" le dépôt à ce moment-là ? On pourrait imaginer que, automagiquement, le code distant est synchronisé et les fichiers mis à jour. En fait, non. Ce qu'on met à jour, c'est le dépôt, pas les fichiers en eux-même. De la même manière qu'en faisant hg pull, on ne met pas à jour les fichiers, et qu'en cas de nouveautés, il faut ajouter la commande hg update pour que la copie en local soit le miroir de la copie distante. On peut encore résumer ça à une commande : hg pull -u.
Et quand on fait push, c'est la même chose, malheureusement. Je m'explique - je démarre en local :
$ hg push ssh://<login>@ssh.alwaysdata.com//chemin/vers/mon/projet/
#.... quelques messages concernant la mise a jour
$ ssh <login>@ssh.alwaysdata.com
Password:
$ cd /chemin/vers/mon/projet
$ ls -al
drwxrwxr-x 3 <login> <login> 4096 2010-01-08 15:06 .
dr-xrwx--- 16 www-data <login> 4096 2010-01-08 15:06 ..
drwxrwxr-x 3 <login> <login> 4096 2010-01-08 15:06 .hg
Mais où est le répertoire "www" ? Physiquement, pas là. En fait, il est enregistré dans l'historique du dépôt, mais il se cache bien dans le dossier caché .hg. Pour le voir apparaître : hg update sur le distant et paf le site est à jour.
Mais c'est nul. Ça veut dire que pour une mise à niveau d'un dépôt, il faut se connecter au serveur ssh après avoir fait un "push". Débile. Bouh. Remboursez. C'est gratos ? Ah ben remboursez quand même.
Heureusement qu'on peut paramétrer les "hooks" dans Mercurial. Les hooks, ce sont des actions qui seront exécutées dès lors qu'un "signal" sera apparu sur un dépôt donné. Sur le serveur distant, il suffit de créer (ou modifier) le fichier .hg/hgrc dans le dépôt et ajouter les deux lignes qui suivent.
[hooks]
changegroup = hg update
En français, ça signifie: "dès qu'un changement intervient sur le dépôt, lance la commande 'update'."
Pour s'assurer que ce "hook" fonctionne, il suffit de le tester. Depuis la copie locale, d'abord :
$ echo " les gens" >> index.html
$ hg ci -m "et on fait coucou les gens"
$ hg push ssh://<login>@ssh.alwaysdata.com//chemin/vers/mon/projet/
# ... Messages...
Si tu regardes sur le serveur en distant, le fichier index.html doit être synchrone (ainsi que tous les autres fichiers qui ont été modifiés, déplacés, supprimés, etc.). Bref, le dépôt est l'image fidèle de la copie locale.
Youpi.
Bonus track - je suis feignant
La feignantise, c'est notre moteur. Notre credo. Alors, taper sans arrêt l'adresse du serveur pour les push/pull, etc, c'est la plaie. Il se trouve que si on tape juste la commande hg push ou hg pull, l'adresse du dépôt sur lequel on veut pousser ou tirer est celle définie par le dépôt "default".
Mais comment définit-on ce dépôt, me demandes-tu ? Rien de plus simple. Sur la copie locale de ton dépôt, ouvre ton éditeur de texte favori et ajoute les lignes suivantes au fichier .hg/hgrc:
[paths]
default = ssh://<login>@ssh.alwaysdata.com//chemin/vers/mon/projet/
C'est ainsi qu'on définit le chemin du dépôt par défaut. On peut bien évidemment définir autant de "chemins" qu'on veut, si on aime avoir une copie chez soi et une copie sur bitbucket, sur une clé USB et sur un autre répertoire, etc... par exemple :
[paths]
default = ssh://<login>@ssh.alwaysdata.com//chemin/vers/mon/projet/
bb = ssh://hg@bitbucket.org/<login>/monprojet/
usb = file:///media/disk/monprojet/
one = file:///home/<login>/Ubuntu One/monprojet/
db = file:///home/<login>/Dropbox/monprojet/
Pour pousser sur chacun de ces chemins, une commande:
$ hg push bb # pour pousser sur bitbucket
$ hg push usb # pour pousser sur la clé USB
Oui, des fois je suis un peu paranoïaque, mais au moins, mon "talk" du Lugradio Live se trouvait à sept endroits différents, sur des supports physiques et distants.
Conclusion
Cette manière de faire n'est peut-être pas la meilleure, et est loin d'être la seule. En tous cas, sur des projets "non-sensibles", concernant des mises à jour de media simples (pages HTML, CSS, images, etc), c'est la plus directe: de la même manière que je commite offline, je peux propager mes modifications sur mon serveur de production avec la même commande. On peut bien évidemment rendre la chose plus amusante, en faisant en sorte que le dépôt distant ait sa branche active appelée "prod", et qu'on merge sur cette branche une fois que les modifications sur la branche "default" ont été torture-testée en amont.
Après, tout est affaire de goût. On peut aussi préférer l'excellent Fabric pour les cas où la mise à niveau d'une application nécessite un peu plus qu'une synchronisation de fichiers (et encore... mixer Fabric et Mercurial, ça peut encore être un ticket gagnant)
07/01/2010
Polar Geek, la totale
07 jan 2010 - 19:49
(ou presque)
Bon, le mouvement "Polar Geek" se lance, et monte en puissance tout doucement... Après les deux premières nouvelles (cf. ici même, plus bas), l'ami Merr... pardon... Perriault a perdupassé une heure à écrire la première partie de sa nouvelle : Polar Beer.
De plus, sautant tel le dodo moyen sur ma carte bancaire, je me suis fendu d'un nom de domaine dédié à la nouvelle vague de ce mouvement littéraire dont nous sommes désormais certains qu'il deviendra le mouvement de la décennie, et qu'il marquera le début de ce siècle comme les surréalistes ont marqué le leur... hem... Bon, pas sûr, mais un peu d'auto-satisfaction, ça peut aider, des fois.
Enfin bref, voici (dans sa version 0.0.1beta) : Polar Geek.
Merci de pas hurler sur la pauvreté du contenu et l'inanité du "design", ce site a été fait "à l'arrache" en quelques dizaines de minutes et se verra bientôt mis à niveau. Dès que j'aurais du temps. Pour le moment, c'est une pauvre page statique, que je maintiens à la main dès qu'un nouveau texte apparaît sur la toile. La première mise à niveau intègrera un flux RSS. Faut pas déconner, non plus.
Le moyen le plus sûr d'apparaître sur cette page et les suivantes, ce serait de se faire connaître. Rien de plus simple. Il suffit d'envoyer un email à :
geek _at_ polar _tiret_ geek _point_ org
Je traiterai ASAP en rajoutant un lien vers le texte.
Pour être au courant (ou pour signaler d'autres oeuvres, d'ailleurs), il existe également un compte twitter "polardeuxzero" (admire le jeu de mots, même pas fait exprès). Tu le suis, tu lui envoies un petit mot gentil, merci.
Bon, à présent, tu as de la lecture, et j'espère que bientôt tu en auras encore plus.
06/01/2010
Maux de passe (première partie)
06 jan 2010 - 23:50
Ce qui suit est la première partie d'une nouvelle, inspirée par l'article "Columbo 2.0", par Thibault Jouannic. Je t'encourage d'ailleurs à aller lire ce texte avant de lire celui qui suit. De la belle ouvrage, vraiment.
Ayant beaucoup aimé le style, et l'univers, j'ai de suite vu une ambiance, et un gros potentiel d'histoires autour des NTIC, mashuppées avec de la littérature noire, tendance "hard boiled detective".
Et j'ai plongé dans mon Pyroom pour composer ce premier jet.
Il est évident que toute ressemblance avec des personnes existantes ou ayant existé serait une erreur de ta part.
29/12/2009
Recover JPEG, à la rescousse !
29 déc 2009 - 21:37
J'imagine qu'il est arrivé à tout le monde d'avoir passé plusieurs minutes / heures / jours à modifier ou créer des documents et de les avoir perdu à tout jamais, à cause d'une mauvaise manip, ou d'un coup de pas de chance. C'est pour ça entre autre, que, chat échaudé craignant l'eau froide, on te recommande sur tous les tons, dans toutes les langues et de la manière la plus ferme, DE FAIRE DES SAUVEGARDES. Régulières. Sur plusieurs supports différents. Et de tester ces sauvegardes. Sans quoi, c'est comme si elles n'existaient pas.
Tiens, d'ailleurs, tout en lisant cet article, c'est une bonne idée que je te donne : FAIS TES SAUVEGARDES, MAINTENANT !
Mais il arrive aussi qu'on perde des informations sans que le manque de sauvegarde soit en cause. C'est ce qui m'est arrivé la semaine dernière, et mon désarroi était grand... comme ça.
[mode vie privée]Car la semaine dernière, c'était Noël. Et pour ainsi dire, c'était le premier Noël de ma fille. Ou plutôt, en début de semaine, c'était le pré-Noël chez les beaux-parents, à La Rochelle. Et évidemment, lors de la séance d'ouverture des cadeaux, j'ai mitraillé à l'aide de mon Nikon D70.
Alors quel ne fut pas mon désarroi immense de constater, quelques jours après, à l'occasion du "vrai" Noël, que toutes mes photos avaient disparu de la carte Compact Flash. En fait, la carte affichait 92 photos au compteur, mais seulement une petite dizaine était lisible.[/mode vie privée]
Là, normalement, tu pousses un cri primal du genre "RRRRAAAARGGHHHH". Mais heureusement que les logiciels libres existent. Heureusement que Recover JPEG existe.
Pour l'installer, il suffit d'utiliser Synaptic ou Adept et d'installer le paquetage "recoverjpeg". Si les interfaces graphiques te font peur, tu peux toujours taper la ligne de commande suivante :
$ sudo apt-get install recoverjpeg
Pour récupérer les images qui se trouvent sur une carte, il faut alors :
- te munir de ta carte,
- utiliser un lecteur de carte dans lequel tu peux insérer la dite carte.
- ouvrir un Terminal de ligne de commande (menu Applications -> Accessoires -> Terminal).
Ensuite, il faut taper les lignes de commande suivantes :
$ mkdir a_recuperer
$ cd a_recuperer
$ recoverjpeg /dev/sdb1
Note : le nom du répertoire "cible" de la récup importe peu. Pourvu que tu le retrouves dans ton arborescence.
Note bis : En l'occurrence, /dev/sdb1 est le nom du périphérique de la carte. Il se peut que le nom de ce périphérique soit différent. Pour savoir quel est ce nom, on peut par exemple consulter le résultat de la commande dmesg
. Dans les dernières lignes, on doit trouver des erreurs de lecture sur le périphérique en question. Toujours est-il qu'une fois la commande lancée, recoverjpeg commence à récupérer les images qu'il trouve sur la carte. Et qu'il est bigrement efficace : non seulement il a pu récupérer l'intégralité des photos des jours précédents, mais il a aussi retrouvé des photos qui avaient été prises plusieurs mois auparavant et que j'avais effacé (même un formatage de la carte ne les avait pas totalement fait disparaître).
Évidemment, les 650 images étant nommées de image0000.jpg
à image0650.jpg
, il faut faire un tri et essayer de retrouver où est quoi. Mais c'est un moindre mal. Les photos de Noël sont retrouvées, youpi.