programmation

  • Usvainfinity svg

    Où s'arrête l'infini?

    Par Le 19/08/2020

    Bonjour,

    En Python, pour créer une boucle infinie, il suffit d'écrire ces quelques lignes:

    i = 0
    while 1 < 2 :
        print(i)
        i += 1

    while 1 < 2 signifie tant que 1 est inférieur à 2. Or, dans notre espace-temps, 1 < 2 est une vérité mathématique immuable. Cela signifie que si vous êtes à l'intérieur de la boucle, vous êtes perdu(e)s, vous n'avez aucune chance de vous en sortir.

  • 2014 nordwestufer wittow 06 2

    Envole-moi

    Par Le 10/05/2020

    Mes premiers pas dans le monde professionnel de l'informatique

    Bonjour,

    Aujourd'hui, exceptionnellement, je mets en ligne un article plus personnel que d'habitude. J'ai hésité à le publier avant de finalement me jeter  à l'eau. Il traitera de mes doutes et de mes espoirs concernant un changement radical de vie professionnelle. Pour des raisons liées à ma santé mais également à cause du coronavirus qui a mis en sommeil toute activité économique, j'ai quitté mon emploi de responsable SAV pour accepter un nouveau poste dans une société d'informatique.


    Je commence le 1er juin 2020. J'ai signé un CDD d'un an qui, à terme, doit se transformer en CDI, si d'ici là, notre civilisation ne s'est pas complètement effondrée, bien évidemment. À quarante-sept ans bien tassés, je suis heureux de me lancer dans ce nouveau défi professionnel mais je suis également rempli d'inquiétude parce que d'abord c'est mon caractère, et aussi parce que je suis titulaire d'un DEUG de lettres. À part deux malheureux certificats de MOOC sur le langage Python et le langage C, je n'ai pas le moindre diplôme en informatique. Toutes les connaissances acquises depuis dix ans, je les ai picorées à droite à gauche et entassées dans mon cerveau, en vrac. J'aime les ordinateurs. J'aime coder. Par conséquent, je pense que je vais bien m'amuser. Cela dit, il va falloir que je fasse preuve de rigueur, parce que je ne coderai plus pour mon simple plaisir d'amateur. 

    Comme je n'avais pas de diplôme en informatique à lui présenter, le recruteur m'a dit de venir avec tous les programmes que je me suis amusé à coder, histoire d'évaluer mon niveau. L'entretien a duré plus de deux heures, dans une ambiance tout à fait détendue. Puis, je suis rentré chez moi, rempli d'espoir car j'avais l'impression d'avoir convaincu mon interlocuteur, et cette intuition s'est confirmée quelques jours plus tard.

    Dans sa forme, cette offre d'emploi à laquelle j'ai répondu, se démarquait de toutes les autres. Elle se terminait par ces mots:

    "Quel que soit votre âge, vous êtes le/la bienvenu/e."

    J'ai été agréablement surpris par cette phrase qui était comme une invitation à pousser la porte. D'habitude, on lit plutôt ça:

    "Tu as envie de potentialiser ton énergie au sein d'une team JEUNE et dynamique? Alors n'hésite pas, envoie-nous ton CV!"

    Jeune... Le mot est lâché. Il faut savoir que le racisme antivieux est le seul qui est non seulement toléré mais carrément promu au grade de valeur-socle de notre civilisation occidentale. Pour mesurer toute l'inhumanité qui se cache derrière ce genre d'annonces, amusez-vous à remplacer jeune par blanc.

    "Tu as envie de potentialiser ton énergie au sein d'une team blanche et dynamique?"

    Tout de suite, ça lui donne un cachet un peu plus "Totenkopf"... Si on décide d'exclure une partie de la population, en l'occurrence les non-jeunes, qu'est-ce qui peut empêcher un recruteur de préciser que son offre ne s'adresse pas aux noirs? Et puis, à partir de quel âge n'est-on plus jeune?

    Deuxième chose qui m'a frappé positivement dans l'annonce à laquelle j'ai répondu: le vouvoiement. Je ne sais pas si c'est la même chose en France, mais ici en Allemagne, la nouvelle mode, c'est le "Duzen", le tutoiement à outrance. Parce qu'on est trop kiss cool et qu'il y a une trop bonne ambiance dans notre openspace rempli de baby-foot, on se tutoie dès le premier contact. J'ai personnellement dit à une responsable RH qui me tutoyait d'emblée, que je ne lui en avais pas encore donné la permission. Ai-je besoin de vous préciser que l'entretien s'est terminé prématurément. Et j'ai remarqué quelque chose de très curieux: même après ma remarque lapidaire, elle n'arrivait pas à me vouvoyer. Cette instruction n'était tout simplement pas présente dans son logiciel cérébral ultra formatée. Le vouvoiement, c'est une marque de respect envers autrui. Tout le monde y a droit. Le tutoiement ne vient qu'après, lorsque le respect mutuel engendre la confiance.

    Rien que le terme ressources humaines est une horreur. Une ressource, c'est une substance dans laquelle on puise. On peut extraire du pétrole mais aussi de la ressource humaine. Nous avons atteint un degré de déshumanisation, dont la plupart d'entre nous n'ont pas conscience. À ce propos, je vous invite à lire  Libres d'obéir, dernier ouvrage de l'historien Johann Chapoutot, spécialiste du nazisme. Il est paru chez Gallimard. L'auteur aurait très bien pu le sous-titrer La victoire des vaincus tant il est clair que le nazisme ne s'est pas décomposé avec la capitulation du Reich. Il a investi le champ managérial pour se diffuser dans les entreprises.

    J'ignore si mon parcours est singulier mais ce dont je suis sûr, c'est que j'ai eu beaucoup de veine de tomber sur cette annonce. Je suis conscient de la chance qui m'est offerte, compte tenu des boulets que je traîne:

    • À l'approche de la cinquantaine, j'appartiens à la catégorie des non-jeunes.
    • Je suis un "Quereinsteiger". Ce mot est difficile à traduire en français. Il signifie quelqu'un qui opère une reconversion professionnelle plus ou moins radicale. 
    • Et pour couronner le tout, je suis atteint d'une pathologie assez grave qui m'oblige à organiser mon quotidien d'une façon bien précise, pour compenser une perte d'autonomie insidieuse et progressive. La société informatique qui m'a recruté est au courant. Je ne l'ai pas caché car ça commence à se voir de toute façon. Malgré tout, elle a décidé de me faire confiance. Depuis, je ne cesse de me demander si en France, dans mon pays, j'aurais vraiment pu décrocher un tel travail dans de telles conditions. Permettez-moi d'en douter.

    Pourtant, en me donnant ma chance, cette société d'informatique m'offre la possibilité de ne pas rester à la maison à me morfondre et à déprimer, tout en étant perfusé aux aides sociales. Elle me permet de conserver ma place dans la société, de bouger, d'être actif, et ainsi de freiner l'évolution de ma maladie. Elle me permet tout simplement d'être un homme qui se sent libre.

    2014 nordwestufer wittow 06

    Source de l'image illustrant l'article: 

  • Bolero theme manuscrit

    La boucle infinie expliquée en musique

    Par Le 04/05/2020

    Bonjour,

    Aujourd'hui, je ne vous propose pas d'article sur une application turkmène dénichée dans les profondeurs d'Internet ou sur un de mes douteux programmes Python censé calculer le taux d'azote enfoui dans un tas de compost. Non... Aujourd'hui, place à la musique! 


    Hier, sur le journal du hacker, j'ai découvert un article dont la lecture et le rythme ont tout de suite fait naître en moi l'envie d'écouter le Boléro de Ravel. Ça m'arrive assez souvent d'associer des "objets" cérébraux qui n'ont à priori rien en commun. Par exemple, dans ma tête, un numéro de smartphone tel que le 07 11 22 33 44 n'est pas une série de chiffres mais une suite de départements : Ardèche, Aude, Côtes d'Armor, Gironde et Loire-Atlantique. Je crois que cette faculté s'appelle la synesthésie. Par contre, je n'avais encore jamais associé un article consacré à l'informatique avec une oeuvre musicale, mais dans le cas du Boléro de Ravel, à bien y réfléchir, ce mariage n'est pas si étrange. 

    Bolero theme module

    En fait, cette oeuvre lancinante est construite sur le modèle d'une boucle infinie qui s'achève par un écroulement final. Les solistes se succèdent les uns après les autres, tels les variables d'une liste en état d'itération, et chacun d'entre eux va s'évertuer à s'extraire de cette prison digitale sans jamais y parvenir.

    C'est le chef d'orchestre qui a lancé le programme, et c'est le percussioniste, garant du tempo,  qui se charge d'incrémenter la variable "i" à chaque tour de boucle... sauf que Maurice Ravel ne lui a jamais donné les moyens d'arrêter cette dernière. Alors, il frappe sa caisse consciencieusement. Ça commence tout doucement. C'est presque inaudible, et petit à petit, à mesure que la boucle gonfle, ça monte en pression. 

    Pendant ce temps, les solistes se succèdent. C'est la variable flûte traversière qui ouvre le bal, suivie de la variable clarinette puis du basson. Voici la liste complète jusqu'au grand accord dissonant, prélude à l'écroulement final.

    Bolero

    À mesure que les tours de boucle se succèdent, la pression monte car l'orchestre n'en voit pas la fin. Tout comme avec un ordinateur, la boucle infinie dévore les ressources des musiciens et c'est la panique!... Tandis que l'imperturbable percussionniste, dénué de toute humanité, continue d'incrémenter la variable "i".

    Jamais l'orchestre ne parviendra à s'extraire de la boucle. Tout comme un ordinateur dont les ressources sont totalement acaparées, le Boléro de Ravel se termine dans un grand accord dissonant, prélude à l'écroulement final.

    Il n'existe pas de meilleur exemple que cette oeuvre msicale pour expliquer ce qu'est une boucle infinie et la catastrophe finale qu'elle engendre. Notre monde aussi est prisonnier d'une boucle, celle de l'illusion d'une croissance infinie... Les passagers du Titanic ont coulé au son d'un orchestre interprétant Plus près de toi, mon Dieu. Si nous ne faisons pas un break, notre monde coulera sur le Boléro de Ravel

  • Dice app

    Un dé numérique codé en langage Python

    Par Le 08/03/2020

    Cette après-midi, il ne faisait pas très beau. J'en ai donc profité pour coder une application que mon amie m'avait réclamée, en l'occcurrence un dé numérique. Bien évidemment, j'ai utilisé le langage Python et la bibliothèque Tkinter pour réaliser ce modeste projet. Rien de bien compliqué dans ce code qui comporte moins de 80 lignes. vous le trouverez ici sur mon dépot git. Le fichier lanceur se nomme dices.py.

    À noter l'utilisation du module random pour générer un nombre aléatoire à chaque fois que le dé est lancé. L'application comprend:

    • une fenêtre principale (tk.Tk),
    • un widget Frame (cadre),
    • un widget Label,
    • un widget Button (bouton).

    Ce code est sous licence libre. Vous pouvez donc vous l'approprier et l'améliorer. J'ai mis en ligne une vidéo Youtube qui vous donnera des explications plus détaillées.

     

  • Kalkulilo

    Calculatrice programmée en Python

    Par Le 01/03/2020

    Bonjour,

    Aujourd'hui, j'ai terminé la programmation d'une calculatrice en langage Python. J'ai également utilisé la bibliothèque Tkinter. Le code se trouve ici, sur mon dépôt git. Je vous invite à le télécharger pour en faire ce que bon vous semble. Il est bien évidemment sous licence libre. Ce n'est pas une calculatrice scientifique. Elle est toute simple mais elle fait le travail.

    C'est de la programmation orientée objet (POO). J'ai créé les diférents widgets par instanciation de la classe Calculator() et en appliquant deux méthodes:

    • La méthode calculator() "construit" les touches et l'afficheur.
    • La méthode action() crée les fonctionnalités pour les connecter aux touches respectives. 

    J'ai créé moi-même la classe Calculator() et les méthodes calculator() et action()

     

    Voici une petite vidéo où je donne quelques explications succinctes sur mon code.

     

     

     

expand_less