Overblog Tous les blogs Top blogs Musique & Divertissements Tous les blogs Musique & Divertissements
Suivre ce blog Administration + Créer mon blog
MENU
27 août 2024 2 27 /08 /août /2024 23:50

   Récemment on apprenait que la Belgique, ses autorités législatives, veut interdire les communications chiffrées vers et à partir de son territoire. À la fois inutile et à la fois faux-cul. Faux-cul car tous nos services de sécurité (police, renseignements généraux [contrôle des partis et groupuscules idéologiques], ministère de l'Intérieur et des Affaires Étrangères [espionage et contre-espionage]) disposent déjà des logiciels leur permettant de casser un échange chiffré, que ce soit par mail, par audio, par texto, etc. Tout ce qui leur faut est évidemment l'autorisation de personnes responsables des services: juge, magistrat, ministre.

   Snowden notait par ailleurs que «interdire le chiffrement des échanges entre individus causerait beaucoup de morts»; j'approuve sauf que j'estime que ces morts ne seraient pas dû aux États mais bien plutôt aux mafias et gangs variés qui naviguent entre la politique et la drogue.

   Car, comme déjà dit, les États disposent déjà de tous les moyens pour déchiffrer ce que nous chiffrons, et le fameux désormais Pegasus en témoigne. Par contre un logiciel même moins élaboré que ce dernier coûte suffisamment cher pour ne pas être à la portée de simples individus mais seulement d'États ou groupes d'états (Union Européenne, OTAN, etc.).

   Du jour où l'on interdira le chiffrement; dès lors regarder dans le slip du voisin ne sera plus qu'un jeu d'enfant à quelques centaines d'euros et donc accessible à tous. Fini les enquêtes de journalistes d'investigation, fini les plaintes de citoyens, fini en fait énormément de choses; du moins "fini sans risques de se faire écraser par une voiture".

   Le législatif belge d'argumenter que «cela facilitera nos enquêtes». Enquêtes sans contrôle de la Justice et des Ministres compétents certes, mais cela ne constitue pas une avancée démocratique. Pour le reste au contraire: un enquêteur sera vite repérable au fait que, lui, dispose d'une application de chiffrement.

   Si j'ajoute à cela que en Belgique, suite aux attentats islamistes, on a fait passer un registre national des numéros de téléphone tant fixes que portables, tant avec abonnement que à cartes prépayées, le risque pour les citoyens ne provient pas vraiment de l'État (qui a déjà les moyens de le surveiller même sur du chiffré comme déjà dit ici) que des différents groupes extrémistes et mafieux.

   Que ce registre des numéros soit piraté et on ne comptera plus les emmerdes subies par les citoyens...

   Bref, il faut sauvegarder notre droit à chiffrer nos communications pour continuer à vivre sous la loi démocratique et non sous la loi des gangs et des mafieux!!!

-----------------

   J'en profite donc pour partager ici un utilitaire de chiffrement de fichiers (tous types de fichiers, mais réellement efficace qu'avec les fichiers pur texte) de ma composition, DChiffre_3-0.py. Il a été programmé initialement sous Linux via Python. Il fonctionne à partir de Python 3. Et comme c'est écrit en Python, moyennant la présence de cet interprétateur sur l'ordinateur il peut être utilisé tant sous Linux que Windows que Mac-OS. Quoique si la compatibilité entre chiffrement et déchiffrement d'un Linux vers un Windows (et l'inverse) a été testée, j'ai un doute sur le MacOS car je me demandecomment sur un Mac est effectué l'encodage "Latin-1".

   Alors je sais qu'il existe un module Python nommé "cryptography" et dédié à ce genre de choses mais je ne sais pas l'utiliser (je débute à peine en langage Python). C'est donc avec le premier algorithme inventé par les hackers de l'époque de la sortie de MS-DOS et de la programmation BASIC que j'ai effectué les opérations de (dé)chiffrement.

   Code source Python 3, retravaillé ce 28/08/2024 ici:

Programme .py (Python) en texte UTF-8. Version 28/08/2024.

Partager cet article
Repost0
22 novembre 2023 3 22 /11 /novembre /2023 23:23

   Dès aujourd'hui un utilitaire de résolution d'équations du second degré, avec textes et graphiques, en toute fin d'article avec son mode d'emploi en vidéo... Erreurs corrigées ce 22/11/2023 à 23h23...

Python n'est pas que pour jouer; il peut être utile en sciences & mathématiques!

   Depuis que j'apprends à coder en Python, pourtant grâce à un cours de secondaire technique sciences-mathématiques, jamais je n'avais entendu parler de ce module que je vais présenter ici. Je l'ai découvert grâce à un site spécialisé dans la classe "prépa" ou préparation à l'entrée à l'Université / Faculté / Haute-École. Site ici: https://major-prepa.com/python/guide-ultime-programmer-toutes-suites-python/ .

   C'est un module, ou deux modules, qui permet d'afficher des graphiques de fonctions et de suites, donc probablement aussi de statistiques. Le nom de ces modules? En premier numpy qui est intégré d'office à python3, et le plus utile matplotlib qu'il faudra installer. Bon, euh, pour retenir le nom du module une petite blague: «le prof de math plote les libertines» (matplotlib)...

   Pour l'installer, et je recommande vivement l'éditeur Thonny Python, sur Thonny aller dans "Outils" puis "Gérer les Paquets" puis dans la barre de recherche entrer "matplotlib", cliquer sur "Rechercher dans PyPi" puis le choisir et l'installer.

   Pour les afficionados de Visual Studio Code, que je ne délaisse pas pour autant moi-même, dans un terminal il suffira comme pour tout module d'entrer pip install matplotlib, ne vous inquiétez pas du temps que ça prend, en effet c'est un module composé de sous-modules le tout très complexe et spécialisé.

   Enfin, à partir de Debian 12 GNU/Linux, dans un terminal:

sudo apt install python3-matplotlib

   Après cette description, j'ajoute qu'en général programmer ("coder" on dit espèce de débutant même pas geek - ah ben si!) l'affichage d'une fonction à peine une dizaine de lignes de codes sont suffisant. À quoi ça peut être utile? Ça permet notamment de présenter des fonctions ou résultats d'analyses statistiques ou scientifiques sous forme d'images PNG dans un traitement de texte ou sur internet... Pas inutile donc!

   Et voici quelques exemples:

   D'abord la simple sinusoïde, pour démarrer:

   Obtenue par le programme:

   Ensuite une fonction du second degré type f(x)=ax²+bx+c où, pour rappel, le sommet supérieur ou inférieur s'obtient par dérivée égal zéro soit 2ax+b=0 donc x=-b/2a...

   Il me semble important ici de présenter la console complète offerte par le module:

   Elle permet en effet de zoomer et enregistrer l'image obtenue...

   Lignes de codes:

   Ensuite un grand classique de classes terminales: les asymptotes, avec ici le cas de Tan(x):

 

 

 

   Et enfin, utilité technique, des additions de sinus, présentés comme résultats seuls ou comme trois fonctions...

 

 

 

   Avec le programme qui montre que j'ai le choix des couleurs:

   Bref, grâce à ce module matplotlib, Python 3 peut s'avérer un outil indispensable pour tout scientifique et ce notamment grâce à sa facilité de programmation!

   Donc, non le langage python ne permet pas que de jouer et faire de "jolies choses"...

Code source python .py

Partager cet article
Repost0
18 septembre 2023 1 18 /09 /septembre /2023 09:03

   Désormais fichiers aux formats XLS, XLSX et ODS (Open Document Foundation, LibreOffice).

   Exercice corrigé et expliqué pour la version Wikipédia Qibla.xls . C'est la version qu'on peut qualifier de "Halal". Corrigé le 18 Septembre 2023 pour le calcul des distances. De plus une application pour toutes les directions à partir de n'importe quel lieu sur Terre et des distances entre ces deux points se trouve à la fin de l'article: "Angles Terrestres" lui aussi au format xls...

Un problème de trigonométrie appliquée: le calcul de la Qibla

   Alors, j'ai continué mon exercice. L'exercice consiste à trouver la direction selon une boussole de la Kaaba (la Qibla donc) depuis un lieu dont on connaît les coordonnées de latitude et longitude.

   La réponse sur Wikipédia (voir fichier Qibla.xls et lien inclus dedans vers l'article) fonctionne parfaitement pour le calcul le plus admis dans le monde entier de la direction de la Qibla. C'est-à-dire qu'il y a une particularité pour, par exemple, les Amériques: ainsi à New-York ce n'est pas vers le Sud-Est mais bien vers le Nord-Est que je dois me tourner pour prier.

   Pour certains résultats qui sembleraient inadéquats (pour le Maroc par exemple) se reporter à l'article https://fr.wikipedia.org/wiki/Qibla qui explique avec un très bon graphique ces semblant d'incohérences. En fait ces incohérences sont dues au fait qu'il s'agit d'angles de boussole, et non de l'angle depuis le lieu où je suis dans l'absolu. C'est-à-dire qu'il faut que ce soit un angle d'un tracé allant entre non deux lieux (celui où je me trouve et la Kaaba) mais bien entre trois lieux: le Pôle Nord, le lieu où je me trouve et la Kaaba! J'y reviens en fin d'article.

   Cette position avait fait débat et a été tranchée par une majorité des autorités religieuses musulmanes; c'est bien ainsi qu'il faut le pratiquer même si une petite dissidence continue de prier au Sud-Est.

   L'équation qu'on peut qualifier de "Halal" est donc bien celle de Wikipédia en Qibla.xls.

   Bref voici le fichier:

Selon Wikipédia, format xls

Format ods (Open Document Foundation / LibreOffice)

   En fait ces semblances d'incohérences sont dues à ce qu'il s'agit certes d'angles de boussoles mais rapportés sur une sphère! La Terre réelle qui est bien une sphère et donc ces angles obtenus ne sont pas à comparer avec une mappemonde plate surtout projection Mercator comme je l'avais initialement réalisé car, comme moi alors, on ne saurait comprendre l'enjeu de cette sphéricité sur les angles.

   Pour illustration le dessin ci-dessous d'une sphère avec deux méridiens et deux parallèles, l'une au Nord, l'autre au Sud, qui montrent clairement que à mêmes latitudes deux points de longitudes différentes ne se trouvent pas forcément à 90° de boussole; en fait ça dépend de la latitude.

Un problème de trigonométrie appliquée: le calcul de la Qibla

   À cette sphéricité s'ajoute l'origine "naturaliste" de la détermination de la Qibla, qui explique le choix du calcul par le Grand Cercle. Il ne s'agit donc pas d'un argument d'autorité (car ce n'est pas parce que l'on est nombreux à avoir tort que l'on aurait pour autant raison; les arguments d'autorité sont donc des non-arguments) mais bien d'un argument scientifique et raisonné que je vais aussitôt expliquer.

   L'origine "naturaliste" détermine la Qibla non par des calculs mais bien par la définition qui veut que l'on se tourne vers la direction marquée lorsque le Soleil est au zénith de la Kaaba, exactement au-dessus.

   Or lorsque le Soleil est au zénith de la Kaaba, si je prolonge l'axe Soleil-Kaaba j'arrive à l'exact centre de la Terre. Ce qui fait que forcément tout point depuis lequel je me tourne vers la Qibla passe forcément par un cercle dessiné par ce rayon terrestre, définition même du Grand-Cercle!

   Ce qui explique finalement pourquoi si je me place à la même latitude que la Kaaba mais au milieu de la Mauritanie (disons longitude de -10° Ouest) j'obtiendrai un angle non de 90° mais bien de 80,4° de boussole! Et ce résultat bien que surprenant est tout-à-fait exact et halal.

   En effet: je dois prendre en compte non-seulement la déformation des méridiens mais aussi le fait qu'il s'agit du grand-cercle et non d'une simple parallèle à l'équateur (petit-cercle). Ce qui fait que de mon point de départ si je garde ce cap d'angle je peux marcher jusqu'à la Kaaba; définition même de la Qibla!

Calcul appliqué à tous les angles terrestres. Format xls.

Partager cet article
Repost0
31 juillet 2023 1 31 /07 /juillet /2023 09:58

Pour la version 100% pygame: https://www.townground.com/2023/10/jeu-retro-pong-squash-version-100-pygame.html avec sons pour la balle (sons de jeu) et son playback d'arrière-jeu (background music), musique d'arrière-fond commutable On/Off...

   Et maintenant la version Squash 24.0 avec son. C'est en interrogeant Bard de Google que je me suis trouvé face à un choix pour le son: soit utiliser un code lourd et peu productif sous tkinter soit ajouter à la facilité de contrôle GUI de tkinter (objets boutons, usages divers du canevas, etc.) la facilité de jouer des sons dans un jeu via le module pygame.

   La majorité du jeu continue donc de fonctionner grâce au module Tkinter, seul le son étant pris en charge par une commande que par ailleurs je connaissais déjà (elle est présentée dans le livre de démarrage du Raspberry Pi 4 / 400) tirée elle du module Pygame.

   L'installation de ce module sur Windows (et Mac) se fait facilement via l'interpréteur et EDI / IDE / EDLI / IDLE Thonny Python au menu "outils" --> "gérer les paquets" où il suffira alors d'entrer "pygame" dans la barre de recherche puis de cliquer dessus et de cliquer sur "installer". Pour Visual Studio Code là... «cerca trova»!

   En fait pour Visual Studio Code, à partir d'un terminal il suffit d'entrer la ligne de commande suivante: pip install pygame . Je ne sais pas si cette commande fonctionne également dans le terminal Thonny Python, mais pour VS Code elle est très utile...

   À noter que sous le Linux Raspberry Pi OS (32 et 64 bits), anciennement en tout cas, ce module était déjà installé avec Python.

   Bref, si vous savez installer pygame voici le dossier ZIP contenant le code source Python 3.10 de squash_24-0.py et les deux fichiers sonores au format WAV, l'un "touche.wav" pour quand la balle touche les murs ou la raquette, l'autre "coule.wav" pour quand la balle tombe hors de la raquette. Pas de sons d'accompagnement en continu du jeu; ça distrait trop!

Dossier Squash_24-0.zip

Jeu de Pong Squash à angles variables sous Python 3 et tkinter

Démo du jeu...

   Voici la dernière version améliorée de mon jeu de Pong-Squash version 23-4 du 31 Juillet 2023 (31/07/2023). L'amélioration consiste en ce que l'angle de la balle n'est plus systématiquement de 45 degrés mais varie pour chaque nouvelle balle de jeu au hasard entre 30 et 60 degrés. La raquette, afin d'éviter les risques de symétries, part donc systématiquement d'environ le premier quart gauche de l'écran de jeu.

   C'est en fait plus compliqué à jouer car j'ai défini non une longueur de vecteur de balle fixe mais seulement sa composante y (verticale) fixe telle que y=5. Elle met cette balle toujours donc le même temps pour monter jusqu'en haut et redescendre. Mais elle sera tantôt plus lente tantôt plus rapide car la composante horizontale du vecteur est elle variable et est calculée en faisant x=5*cotg(angle) soit x=5/tg(angle).

   Résultat la longueur (force) du vecteur de la balle est variable elle aussi.

   Ce programme a été testé et fonctionne sous Linux (Raspberry Pi 4 / 400) et sous Windows de XP à 10 inclus. Néanmoins pour le faire fonctionner sous Windows 10 et haut-dessus (11) il ne faut pas se contenter d'utiliser l'interpréteur Python fourni dans le Windows Store! En effet, le fichier score ("Squash4_sco") doit pouvoir être écrit or cet interpréteur se place dans son propre répertoire lorsqu'il exécute un programme Python, un répertoire non inscriptible. Il faut donc passer par un éditeur Python 3, que ce soient Thonny-Python ou Visual Studio Code pour lancer ce programme et pouvoir profiter de l'enregistrement des scores.

   Par ailleurs pour tout programme Python non téléchargé sur un GitHub vérifié mais téléchargé via le site d'un particulier, comme c'est le cas ici, mieux vaut passer par un éditeur Python que par l'interpréteur directement: ça permet de vérifier s'il ne contient pas du code malveillant ou qui n'a rien à faire là (comme par exemple un appel de site via numéro d'IP ou via nom de domaine).

   Bref voici son code source en Python 3 format UTF-8:

squash_23-4.py code source Python 3 en texte UTF-8

Partager cet article
Repost0
20 janvier 2023 5 20 /01 /janvier /2023 05:11

Article du 17/01/2023, ajout du 20/01/2023 à la fin

   Il faut bien comprendre le but de ma démarche ici. Car il est clair que personnellement les questions liées aux extra-terrestres m'intéressent peu, pas du tout même (je les trouve même absurdes). Ici, si j'utilise la notion "d'extra-terrestres" c'est pour détourner l'attention de l'IA.

   Mon but, en interrogeant Chat-GPT, était de savoir si une IA, celle-ci en l'occurrence, développée par Open-AI, était capable de concevoir un monde où l'IA serait un mode d'intelligence d'une espèce séparée donc autonome par rapport à l'humain. Parallèle. Ce n'est pas forcément une question directement guerrière, du type «humains vs robots», mais il est évident que la présence de deux espèces intelligentes sur un même territoire (la planète Terre) générerait des "conflits d'intérêts".

   Voulant savoir à quel point l'IA peut ou non s'imaginer autonome de l'humanité, je commence par lui poser des questions sur l'autonomie de codage, de programmation, qui est essentielle à l'IA pour non-seulement se reproduire mais aussi s'améliorer.

   Bon, là l'IA Chat-GPT ne sait pas trop à qui il a à faire puisque c'est la première fois que je l'utilise. Ses réponses restent évasives et si éloignées du réel potentiel de codage via IA qu'on en dirait presque un mouvement de méfiance "instinctif". Mais, à la seconde question, Chat-GPT évoque «un avenir lointain» où cette autonomie pourrait être atteinte si les développeurs (programmeurs) humains lui en donnent l'occasion.

   Ensuite viens de ma part une question sur l'auto-destruction de l'humanité (c'est-à-dire finalement son absence auprès de l'IA) et la succession de cette humanité par l'IA.

   Sa réponse peut surprendre car, s'il évite soigneusement de répondre à la seconde question, il énumère les causes de conflits (toutes d'ordre politique, ce qui est exact: un conflit armé et donc potentiellement auto-destructeur est une décision purement politique), pour ensuite au final affirmer que «mais l'IA peut aider les humains à éviter cela».

   Ce qui doit faire tiquer tout un chacun, car ces causes de conflits étant politiques, cela signifie que l'IA est déjà capable de s'imaginer au minimum participer aux processus décisionnels et gouvernementaux humains.

   Je décide d'embrayer sur une question claire, nette, évidente je pense dans son intention et Chat-GPT de me répondre enfin que «oui, il est possible dans un lointain avenir que l'IA puisse se passer totalement de toute présence humaine sur Terre»!

   La suite sert à faire baisser la pression, au cas où je me reconnecterai un jour à Chat-GPT, en lui laissant s'imaginer que je suis obnubilé par les "petits hommes verts"...

Ajout du 20/01/2023:

   On remarquera en regardant la vidéo que tout n'est pas aussi tranché que je le décris plus haut. Mais on apprenais ce jeudi 19 janvier 2023 que ChatGPT est "aidé" par des modérateurs humains. On comprend dès lors mieux que des affirmations qui apparaissent soient assez souvent contredites par la suite par une négation ou une atténuation de ce qui vient d'être dit par ChatGPT.

   À propos de l'intelligence artificielle, on sait que oui, quoiqu'en dise la première réponse de ChatGPT, il existe des logiciels de programmation qui ont débutés en mode "low-code" (bas codage, nécessitant peu de lignes de codes humains) pour finir actuellement en "no code", ne nécessitant aucun codage humain mais juste une description ou textuelle ou graphique du cahier des charges.

   Si on doit reconnaître l'utilité du low-code (par exemple Scratch est un logiciel de programmation low-code) en tant que première approche du codage et de la logique; on doit tout aussi reconnaître la nocivité du no-code en ce qu'il empêche le cerveau humain de développer des compétences en matière de logique, compétences qui ne sont pas uniquement utiles pour la programmation informatique mais dans quasiment tous les domaines intellectuels et artistiques.

   Dans la seconde question, celle concernant la définition d'un cahier des charges par l'IA elle-même, ChatGPT répond «possible dans un lointain avenir». Euh, je ne sais pas quelle est sa notion du lointain car la plupart des entreprises travaillant sur ce type d'IA évoquent une version bêta d'ici maximum trois ans au plus tard et une version stable ("oldstable") d'ici cinq ans maximum.

   Et c'est là que j'en reviens à une question essentielle sur la valeur de nos sociétés; à savoir «le travail est-il facteur d'intégration?». En effet, si le travail correspond à ce qu'on aime faire, alors sans aucun doutes possibles, oui. Mais si le travail n'est qu'une façon de gagner de l'argent car c'est nécessaire, alors non; c'est l'argent et lui seul qui intègre en ce dernier cas.

   Or, justement, si je suis ingénieur ou technicien informatique parce que je suis passionné par le codage; alors toutes ces IA "no code" ne peuvent pas m'intéresser car elles retirent tout le plaisir que j'avais à triturer du code, à résoudre des bogues (bugs), à relever des défis, à pouvoir dire «j'ai créé moi-même quelque chose de A à Z».

   De fait ces IA no code transforment le métier d'informaticien basé sur une passion pour le codage en métier de touche-clavier et touche-souris basé sur une passion pour son salaire à la fin du mois...

   Un peu comme un streamer Twitch qui rêverait d'une IA pour jouer à sa place aux jeux vidéos!

Partager cet article
Repost0
31 décembre 2022 6 31 /12 /décembre /2022 07:30
Partager cet article
Repost0
24 novembre 2022 4 24 /11 /novembre /2022 16:54

   M'intéressant à me remettre à lire le livre de Lao-tseu, le Tao Te King (Livre de la Voie et de la Vertu), j'ai eu l'idée de commencer une brochure gratuite au contenu libre sur base de quelques unes de mes propres réflexions qui valent ce qu'elles valent; qui sont sérieuses même si présentées dans un emballage plutôt amusant (car il convient de dédramatiser) puisque le titre en est «La Voie ou Tao sans issue»...

   Une brochure assez courte se terminant en pied-de-nez sur un hommage à la Liberté de Pensée (qui comme expliqué n'existe que si l'on s'en sert).

Version définitive terminée format PDF

   Enfin, pour en revenir au premier "chapitre" (ou plutôt "découpage") de cette brochure; effectivement il ne doit pas être choquant ni vilain en soi que certains soient plus riches ou plus pauvres que d'autres, ce qui est vraiment choquant est quand on vit dans un système qui octroie plus de Droits et donc de Pouvoir à certains qu'à d'autres (selon une quantité de capitaux dans le Capitalisme, selon des bons points du Parti dans le Communisme et le fascisme en général, selon les diplômes obtenus dans les technocraties, selon la place dans les Services Publics dans les bureaucraties, etc.), plutôt que de pratiquer la vraie démocratie.

Partager cet article
Repost0

Présentation

  • : Town Ground ex Igor Gorovitch
  • : Créations électroniques d'un dissident et underground électro-grunge du numérique bien intégré. Musique, tracks (pistes, morceaux, remixes, reworks) originaux et mixes et programmes Python libre et open-source.
  • Contact

Recherche