Skip to content

Trouver l’actualité dominante sur une période donnée

J’ai précédemment évoqué vaguement le projet sur lequel je travaille en ce moment. Cette fois ci, je vais expliquer le truc plus concrètement.

Le problème à résoudre

La génération de mes parents et plus encore celle de mes grand parents savaient globalement mieux utiliser leur mémoire que nos générations. A leur époque, il était tout à fait normal de connaître les noms de l’ensemble des départements français, et ce, en primaire. Je me rappel avoir vu en vidéo une conférence de Michel Serres il y a quelques années traitant des grandes étapes de l’évolution de l’homme. Pour faire court, à chaque fois que l’homme a perdu (un peu) une faculté, c’est parce qu’il a gagné quelque chose de plus intéressant ailleurs. Aujourd’hui, nos machines disposent de capacités de mémorisation (et de calcul) largement supérieures à celles du cerveau humain. Tout naturellement, notre génération a moins besoin de faire travailler sa mémoire et par la force des choses, cette mémoire est moins bonne.

Pour preuve, lorsque je demande dans mon entourage s’ils se souviennent de l’actualité qui les a marqué disons… il y a 3 mois, je n’obtiens pas beaucoup de réponses positives. Précision importante, la notion d’information « importante » est fixée par celui à qui on pose la question. Ainsi, cette notion variera entre un amateur de sport collectifs et une personne suivant l’actualité internationale ou tout autre sujet.

Ce mouvement est inéluctable, alors autant l’accompagner. Je me suis donc demandé par quel moyen il était possible pour chacun de retrouver les actualités qui de son point de vue on eu de l’importance sur une période donnée.

(Continued)

Quelques nouvelles en cette fin juin 2014

Je me concentre actuellement sur l’apprentissage de python. Avec un petit mois de recul (et deux petites applications fonctionnelles) sur ce langage, je peux déjà dire que j’aime assez.

J’ai donc décidé de m’appuyer dessus pour développer mon prochain projet. Pour le moment, ce n’est qu’une idée qui traîne dans ma tête et je ne sais pas encore si elle peut présenter un réel intérêt. Ceci dit, lorsque j’en parle autour de moi, cette idée suscite une certaine curiosité, ce qui est plutôt encourageant. Afin de lever le doute, je réalise donc une première implémentation de cette idée. Cela ne devrait pas prendre trop de temps. Je décrirai l’idée ultérieurement dès que j’aurai quelque chose à présenter.

Pour le reste, je ne travaille pas trop sur le clone de Zelda en ce moment. J’y reviendrai plus tard.

Le jeu de la vie en python

Je débute le python en ce moment et je réalise de petites applications, histoire de me familiariser avec ce langage.

Après avoir achevé une bataille navale rudimentaire (en mode texte et en réseau), je me suis lancé dans l’implémentation du jeu de la vie (pour plus d’infos –> Jeu_de_la_vie (wikipedia)), dans le but de me familiariser avec tkinter.

C’est assez basique mais ça fonctionne.

jeuDeLaVie.png

Mon script est disponible par le lien suivant : JeuDeLaVie

Vie privée, internet, … tout ça … pfff

Je pense que je viens de comprendre quelque chose récemment. Une chose qui m’avait échappé jusqu’alors.

J’ai pris conscience il y a quelques années déjà que le respect de la vie privée était un enjeu important, notamment sur internet en général et sur le web en particulier. Ce n’est pas par pur intérêt technique que j’ai décidé d’auto-héberger mes services internet avec un maximum de logiciels libres. Je pense que ça fait partie des moyens susceptibles de renforcer le respect de ma vie privée sur internet.

Ceci dit, l’auto-hébergement ne protège pas des atteinte à la vie privée lorsqu’on surf sur internet. De nombreux sites collectent des infos et tracent de plus en plus finement leurs visiteurs. Ainsi, certains comme Facebook tracent leurs utilisateurs y compris lorsqu’ils ne sont plus sur le site.
Il existe quand même des moyens pour se prémunir au moins partiellement des effets de ces pratiques. On peut citer le « Do Not Track » à activer dans son navigateur (de moins en moins respecté quand même), des modules à ajouter au navigateur (j’utilise adblock et RequestPolicy sous Firefox), ou simplement la suppression des cookies à la fin de la session.

Bon, ok, tout ceci est connu, vu, revu et rabâché.
Je parle parfois des atteintes à la vie privée sur internet à mon entourage. Je constate que ces problématiques sont généralement plutôt comprises quand on les exposent et pourtant, ça s’arrête là. Dans les faits, le retour à la réalité se fait sans le moindre changement.
J’en ai sans doute parlé à plusieurs dizaines de personnes et rien ne bouge. C’est même souvent de pire en pire. Les services ou logiciels peu respectueux des libertés semblent plus séduisant que ce que j’ai à en dire.

J’ai plusieurs hypothèse pour expliquer ça :

  • Les gens ne se sentent pas concernées individuellement.
  • Ils sont devenus fatalistes et pensent qu’on a quoi qu’il arrive déjà perdu.
  • Ils pensent naïvement que puisqu’ils n’ont rien cacher, il n’y a pas de problème pour tout montrer à qui le veut. Ça c’est juste un raisonnement fallacieux.
  • Ils ont pris goût au confort de tout ces services qui leur veulent du bien.

Une nouvelle hypothèse m’est venue récemment :

  • Les gens n’ont pas (ou plus) le moindre respect pour leur propre vie privée.

Je pense que cette hypothèse est la conséquence de toutes les autres réunies et j’ai l’impression que finalement, c’est la bonne :( .
Cela me fait dire que quoi que l’on propose comme solution technique pour protéger la vie privée, cela n’aura qu’un impact limité, voir très limité, puisqu’on ne cible pas le bon problème.
Quand plus de gens auront pris conscience que leur vie privée a une valeur inestimable, ils seront plus demandeurs de solutions techniques pour la protéger.
Mon constat peut sembler fataliste mais je ne désespère pas totalement…

Pourquoi « faire » des logiciels libres ?

Voici une question récurrente, parmi d’autres, au sujet des logiciels libres :

Pourquoi utiliser des logiciels libres ?

C’est une question intéressante (de mon point de vue) et qui s’adresse à tout un chacun, utilisateur averti ou non. Sur le net (et IRL), une multitude de personnes tentent d’y répondre. Généralement, ces questions à propos des logiciels libres se placent d’un point de vue utilisateur, ce qui est logique puisqu’il y a statistiquement plus d’utilisateurs que de développeurs.

A l’autre bout, d’un point de vue « développeur », la question de la pertinence de ce choix me semble nettement moins abordée. Je vais tenter donc de répondre à la question suivante :

Pourquoi est-ce que je fais des logiciels libres ?

Je précise que mon point de vue est celui que j’adopte dans un cadre personnel (projets perso, sur mon temps libre).
Dans mon cadre professionnel, je n’ai pas la liberté de choisir la licence sous laquelle je place mes softs.

J’utilise des licences libres pour plusieurs raisons

Parce que je suis avant tout un utilisateur de logiciels libres

Il existe des logiciels libres pour presque tout et je n’utilise presque que cela dans mon environnement personnel depuis plusieurs années. Je profite de la qualité des logiciels libres et du travail souvent bénévole de toute une communauté sans que rien ne me soit exigé en retour. Ce sont des raisons éthiques qui m’ont amenées à faire ce choix (ce serait ma réponse principale à la question « Pourquoi utilisez-vous des logiciels libres ? »). Il ne serait pas normal que je profite de ce système pour produire du logiciel privateur.

Parce que j’ai appris énormément grâce au libre accès à l’information

L’informatique est un domaine où étudier signifie aller au delà de ce que le cours nous propose. 50 heures de cours théoriques accompagnés de quelques TD ou TP ne suffisent pas pour maîtriser réellement un langage de programmation par exemple. L’intérêt des cours classiques est de donner des clés permettant d’approfondir le domaine étudié. Je suis donc régulièrement amené à consulter des ressources que je trouve sur internet lorsque je veux aller plus loin sur un sujet. Ce que j’ai appris, je le doit en grande partie à celles et ceux qui ont choisit de partager leurs connaissances ou leurs travaux plutôt que le contraire. A mon tour, j’espère pouvoir aider d’une manière ou d’une autre et faire du logiciel libre me semble être un bon moyen pour y parvenir.

Parce que d’un point de vue pragmatique, on apprend de ses erreurs

Et un bon moyen pour voir et comprendre ses erreur, c’est de commencer par partager son travail et le présenter à ses pairs plus expérimentés. Un logiciel peut fonctionner convenablement en apparence mais comporter des bugs, voir être très mal conçu. J’ai plusieurs fois eu des retours assez critiques sur mes applications de la part de développeur plus chevronnés. Ces retours sont extrêmement utiles et m’ont aidé à progresser. A l’inverse, j’ai tendance à penser qu’une part de ceux qui ne partagent pas les sources de leurs programmes le font par refus ou peur des critiques négatives.
Je ne me considère toujours pas comme un bon développeur mais en montrant mes sources, je progresse, c’est certain.

Parce que je veux protéger mes applications

Je souhaite produire des logiciels respectueux des utilisateurs, notamment par rapport à leur vie privée. Comme expliqué précédemment, en tant qu’utilisateur, je souhaite pouvoir faire confiance aux logiciels que j’utilise. C’est une relation de confiance et pour établir cette confiance je souhaite accorder des droits que je trouve juste à l’utilisateur. Je veux qu’il puisse :

  • utiliser mes logiciels comme il l’entend.
  • voir comment ils fonctionnent.
  • les modifier s’il le désire.
  • en redistribuer des copies, mon seul souhait étant qu’il accorde alors à son tour les mêmes droits sur la nouvelle version.

Ce sont les quatre libertés fondamentales du logiciel libre. Ces libertés permettent de protéger le logiciel des abus dont il pourrait faire l’objet. Je considérerais comme abusif que le fruit de mon travail soit réutilisé en ne respectant pas ces termes.
Note important, c’est mon logiciel et non moi directement que je souhaite protéger en lui appliquant une licence libre. Je pense qu’une fois que l’on a compris cela, on comprend l’une des grosses motivations des développeurs de logiciels libres.

Réponse aux questions qui m’ont parfois été posées

Pourquoi prendre sur mon temps libre pour écrire des programme ?

Ce n’est pas une question propre à l’écriture des logiciels libres mais y répondre permet peut être aussi mieux de comprendre le reste. C’est pour moi quelque chose du même ordre que faire un sport collectif, du bricolage ou de se plonger avec plaisir dans la lecture. Je ne considère pas cela comme du travail car je le fait de mon propre chef et par plaisir. Le développement est quelque chose d’à la fois passionnant et stimulant. Pour que cela reste agréable, je ne m’impose pas de contrainte de temps. Je m’astreint seulement à terminer ce que je commence.

Et l’argent ? Tout travail mérite salaire, non ?

Comme expliqué précédemment, je ne considère pas cette activité comme un travail à proprement parler (même si j’emploie parfois ce terme abusivement). C’est une passion qui mobilise parfois certaines compétences techniques mais qui a vocation à être partagée et la plus ouverte possible.
En contre partie, il est évident que dans un cadre personnel je ne vais pas passer du temps sur des sujets pour lesquels je ne trouve pas d’intérêt personnel. Il est par exemple tout à fait exclu que de mon propre chef, j’apprenne à utiliser une techno propriétaire sur mon temps libre.

Conclusion

Voilà donc quelques unes de mes réponses à cette question.
Dans la mesure du possible, je choisis donc de placer mes logiciels sous licence GPLv3.
Quelques liens au sujet de cette licence :
GPLv3 (en)
GPLv3 (fr)
http://www.gnu.org/licenses/quick-guide-gplv3.fr.html

Projets en cours en ce mois de Mai 2014

Ma version du résolveur de cube étant fonctionnelle, j’ai recommencé à travailler sur mon clone de Zelda.

Le monde que je suis en train de créer sera composé de 11 zones. 5 zones sont déjà presque terminées et 2 autres sont commencées.
Voilà ce que donne l’une des zones presque achevée :

ActionRPG-Bois.png

Ici, une vidéo que je n’avais pas encore postée sur le blog (cette fois, des sons sont présents dans le jeu) :

http://youtu.be/RdnKe4Snr_4

Concernant les donjons je ne sais pas encore combien j’en prévoirai. Il est probable qu’ils soient au nombre de 5 + le château. L’intérieur du château et un donjon sont déjà entamés. Je me concentre sur les mécaniques propres aux donjons avant d’en créer de nouveaux.

Reste aussi un gros travail à faire sur les différentes IA (notamment celles des PNJ ennemis).

A suivre…

Appareil électronique cassé

On pense souvent que lorsqu’une panne survient sur un produit électronique grand public, c’est qu’il est grand temps d’en changer.
Je n’adhère pas à ce point de vue car il est souvent synonyme de gaspillage.

Dernièrement, et en deux occasions, j’ai été confronté à des pannes qui auraient pu être trop rapidement être jugées comme irréparables.
Hors, dans les deux cas, il s’est avéré qu’il a été possible de réparer les appareils.

***

Le premier produit est un appareil photo numérique compact de 2005 (Konica minolta Dimage X60).
Cet appareil fonctionnait bien jusqu’alors, puis, sans doute suite à une chute de trop, le capteur ne semblait plus voir quoi que ce soit. L’accès au menu et aux anciennes photo restait néanmoins possible. Par moment, le capteur semblait de nouveau envoyer des images mais cela ne durait pas plus de quelques secondes. Cela m’a orienté vers un problème de connexion entre le capteur et la carte électronique. J’ai donc démonté l’appareil méthodiquement, bien rebranché chaque nappe, puis j’ai remonté le tout.
Après cette opération, l’appareil photo fonctionne bien de nouveau.

***

Le second produit est mon ordinateur portable datant lui de 2006 (acer aspire 3620).
Depuis un certain temps, l’appareil devenait lent après une certaine durée d’utilisation. Cela pouvait aller jusqu’au blocage de la machine. La cause du problème semblait ici être une chauffe trop importante du processeur (> 90°c avant plantage). Inutile de dire qu’une opération sollicitant un peu le processeur ne faisait qu’accélérer ce phénomène. Un premier démontage partiel de la machine n’avait cependant pas révélé de traces de poussière au niveau du ventilateur. La peur de la casse (des éléments plastique entre autre), m’avait fait m’arrêter l’opération avant le démontage complet.

Le phénomène s’étant accentué et la machine devenant vraiment inutilisable, je me suis décidé à la démonter complètement pour en savoir plus. J’ai cette fois réussi à trouver la notice de démontage de cette machine et je me suis mis à l’œuvre. Il s’avère que mon problème était bien dû à de la poussière accumulée entre le ventilateur et les fines ailettes du radiateur. Il était impossible de le voir sans démonter complètement la machine. Après nettoyage et une fois la machine remontée, l’ordinateur fonctionne de nouveau impeccablement.

***

Dans les deux cas, le problème s’est avéré être simple à diagnostiquer. Pourtant, et même si la remise en état n’a pas nécessité de changement de composant ni de lourds outillages (juste un jeu de tournevis de précision et une petite pince d’électronicien), cela n’a pas été si simple.
En effet, dans les deux cas, on se trouve face à des appareils fortement intégrés (vis très petites, nappe flex un peu partout, risque de casse élevé, montage précis des éléments entre eux…). Les risques étaient élevés, même si dans les deux cas, les appareils n’étaient de mon point de vue déjà plus fonctionnels.
Ces opérations m’ont donc demandé toutes deux un certain temps (à la louche, 2 bonnes heures pour l’appareil photo et plus encore pour l’ordinateur) ainsi qu’une bonne concentration. Une bonne vue n’est pas inutile non plus.

Pourquoi ai-je écris tout ça ?
Pour plusieurs raisons :

  • Déjà parce que je suis content de ne pas avoir cédé à la facilité en décrétant que ces appareils étaient HS.
  • La forte intégration électronique et mécanique peut décourager et, quoi qu’il en soit, rend difficile la remise en état d’un appareil dont la panne a pourtant été identifiée. Je pense qu’il est toujours bon d’essayer et si ça ne marche pas, il n’y a généralement rien à perdre. C’est une manière de se construire son expérience en la matière.
  • Autant la panne de l’appareil photo n’était pas prévisible lors de sa conception, autant celle de l’ordinateur portable l’était. Je suis donc étonné que l’accès aux ailettes de ce radiateur n’ai pas été pense pour être plus simple.

Donc, n’hésitez pas à regarder comment ça fonctionne, surtout quand ça ne fonctionne plus.

Solveur de cube -> ça marche, et ça va encore plus vite !!!

Tout est dans le titre.

https://www.youtube.com/watch?v=XVA8TiN_8TE

Le temps de résolution d’un cube est compris entre 35s et 45s en fonction du nombre de commandes à envoyer aux moteurs de la machine (37s dans la vidéo).

Solveur de cube -> ça marche !!!!

L’idée générale est dans le titre : le résolveur fonctionne enfin !!!
La partie mécanique est bien optimisée. Le soft (recherche de la solution optimale) pourrait par contre encore être bien amélioré mais ça va demander un peu de boulot supplémentaire.

https://www.youtube.com/watch?v=Nl6sbZRm60s

J’ai encore quelques détails à régler mais je mettrai les sources à disposition sous peu.

[edit]

Les sources sont disponibles à l’adresse suivante : http://dev.sujets-libres.fr
Comme pour l’ensemble des projets perso sur lesquels je travaille, l’ensemble des sources dont je suis l’auteur sont placées sous licence libre, à savoir GPLv3.

[/edit]

Le collectionneur professionnel de jeux anciens

Aujourd’hui, j’ai envie de parler d’une catégorie à part de collectionneurs : les collectionneurs professionnels.

Pour moi, un collectionneur au sens large cherche à enrichir sa collection avec de nouvelles pièces. Sa collection prendra une certaine valeur si les objets qui la compose sont rares et/ou en bon état. J’ai toujours pensé qu’un collectionneur de jeux vidéos (anciens par exemple) collectionnait pour jouer ou rejouer à des jeux et qu’il pouvait se séparer de ceux qu’il n’aimait plus par exemple.

Un commerçant, c’est quelqu’un qui vend un objet ou un service. Dans le cas des jeux vidéos, c’est une personne (pas nécessairement passionnée même si ça aide) qui vend des jeux neuf ou d’occasion. Son stock n’est pas tout à fait une collection et les jeux qui le compose changent régulièrement. Les titres qui composent son stock ont peut être moins d’importance que pour le collectionneur qui recherchera des titres bien précis. En soit et de mon point de vue, rien de choquant, c’est fait pour ça.

J’ai toujours vu ces deux catégories comme distinctes mais je me suis peut être trompé car les collectionneurs que j’appelle professionnels sont peut être le chaînon manquant entre les deux catégories précédentes.

***

J’ai récemment échangé ma megadrive contre une master system 2 (il me reste ma megadrive 2). Je suis content de l’échange et j’ai pu voir en plus une collection importante chez la personne avec qui j’ai fait l’échange. Au bas mot, cela représente une centaine de consoles diverses et des jeux partout. Ce collectionneur fonctionne avec le bon coin et a régulièrement une quinzaine d’annonces en même temps (essentiellement pour proposer des échanges). C’est par ce biais que j’ai moi même contacté ce collectionneur.

Bref, je me suis dit qu’il cherchait réellement cette console, même s’il en avait déjà une en vitrine exactement identique (pourquoi pas après tout). Quel ne fut pas mon étonnement lorsque j’ai retrouvé la console que je lui avait échangée, à son tour sur le bon coin dès le lendemain. Il n’y a probablement pas joué du tout après que l’on ai vérifié ensemble qu’elle fonctionnait. La console que j’ai eu en échange devait elle même n’avoir fait que transiter par ce collectionneur.

En soit, ce n’est pas choquant de construire sa collection comme cela mais pour autant, ce n’est pas vraiment ce à quoi je m’attendais. Même si ça ne me regarde pas après tout, je m’attendais à une rencontre avec un collectionneur ayant un réel intérêt pour l’objet que je lui échangeait, et non uniquement pour sa valeur marchande ou pour un échange ultérieur. Après coup, de ce point de vue ça aura été une petite déception pour moi.

***

Ceci dit, ça ne se passe pas tout le temps comme ça. J’ai eu à échanger des jeux avec un autre collectionneur (sonic 1, sonic 2 et home alone contre flashback sur megadrive). J’ai été très content de l’échange et de la brève discussion avec l’autre collectionneur. C’est sympa de rencontrer des retro gamers qui jouent et qui ne se contentent pas d’amasser pour revendre l’essentiel. La rencontre est aussi l’un des intérêts à faire un échange de main à main (plutôt que de passer par l’envoi postal).

***

Il m’arrive moi même d’acheter des lots de jeux (c’est rare mais ça arrive) mais uniquement lorsqu’au moins une partie du lot m’intéresse pour ma collection et parce que ça fait diminuer le prix total par rapport à un achat à l’unité. Dans le mesure où en achetant un lot je sait déjà ce qui m’intéresse et ce que je ne vais éventuellement pas garder, si je suis ma logique précédente, je suis moi même une sorte de « collectionneur professionnel ». Il y a en fait une petite différence entre ce que je fais et ce que fait ce que j’appelle plus haut un collectionneur professionnel : je n’achète que si une partie du lot m’intéresse et je n’achète pas un lot dans le but de m’en séparer intégralement et immédiatement.