Overblog
Suivre ce blog Administration + Créer mon blog
23 avril 2024 2 23 /04 /avril /2024 00:41
1er Mai Fête des Travailleurs... qui se libèrent par le progrès technologique!

   Comme tous les premiers Mai je suis assez horrifié qu'une fête qui vienne tout droit des USA (États-Unis d'Amérique) et qui dans toutes les Amériques (Latine y compris) et en Europe jusqu'à la Seconde Guerre Mondiale a toujours été nommée "Fête des Travailleurs" ("Workers Day", "Dia dos trabalhadores"), soit requalifiée depuis que le nazisme, la collaboration et le pétainisme soient passés par là de "Fête du Travail"!

   Pire encore, en Belgique on a pu ainsi voir tous les partis de la droite (MR) à l'extrême gauche (PTB) mettre en avant une volonté de «redonner de la valeur au travail"! Mort de Rire: l'Humanité a évoluée du singe primitif à l'Homo Sapiens Sapiens grâce uniquement au fait non d'avoir inventé le travail mais bien de vouloir se défaire de cette contingence naturelle!

   L'Histoire de l'évolution de l'humanité est avant tout une Histoire d'Hommes voulant gagner plus de la Terre avec moins d'efforts que leurs ancêtres. C'est de là que provient le progrès, celui du passage à la cueillette-chasse à l'agriculture d'abord, celui de l'usage d'animaux comme force de travail (chevaux et bœufs), et finalement les progrès techniques et technologiques.

   Sans cette volonté d'échapper à un Travail qui n'est pas une invention de l'humanité mais une nécessité imposée par la Nature, le Singe serait resté Singe!

   Par ailleurs, comme je l'ai déjà affirmé à de nombreuses reprises sur ce blog, le progrès technologique induit le progrès social, et cela peut se démontrer assez facilement en observant l'Histoire des Luttes Sociales.

   On le voit en France pour l'âge de la Retraite et en Belgique pour Delhaize: la bourgeoisie dirigeante ne lâche au Peuple que ce qu'elle voulait dès le départ bien lui lâcher et rien de plus!

   Ainsi, si on a abandonné le travail des enfants et les 16 heures de travail par jour, c'est uniquement grâce à l'invention de l'électricité et à la mécanisation de plus en plus répandue. Par ailleurs, Karl Marx lui-même le note: plus le travail devient techniquement complexe, plus il faut former le prolétariat; d'où l'École non plus seulement gratuite mais bien obligatoire. Et en se formant ledit prolétariat peut espérer en arriver à des capacités de réflexion et de logique lui permettant de vouloir faire ce qu'il a toujours rêvé: se libérer du travail d'esclavage!

   Donc travailler à quelque chose plutôt que d'être travaillé par quelque chose ou quelqu'un...

   C'est-à-dire ne plus suivre de leaders, que ce soient leader d'activité (de travail proprement dit), leader d'opinion (organisation, syndicat, parti), leader de gouvernement. Et donc on en arrive alors à la vraie Démocratie, étymologiquement "le Pouvoir pour et par le Peuple lui-même".

Partager cet article
Repost0
8 janvier 2024 1 08 /01 /janvier /2024 06:49

   Enfin, ce lundi 8 janvier 2024, une version beaucoup plus travaillée: pour obliger à faire travailler les capacités graphiques et d'imagination du cerveau il n'y a plus un seul mur en bas mais deux murs, l'un en haut et l'autre en bas! Le mur du bas, pour rendre cela quand même possible, ayant été abaissé.

   C'est Coelho_2 exécutable en coelho_2.py et avec son fichier score propre; le dossier ZIP présent ici contenant l'ensemble des outils. Fonctionne, grâce à Python et pygame, sur Linux, Windows et MacOS.

Dossier ZIP du jeu Coelho_2

Ç'aurait pu être angry rabbit finalement c'est Coelho le lapin de Pâques...

   Avec ce 9 décembre 2023 une version 0.b et un nom de fichier de sauvegarde de scores propre à cette version. Dans cette version le mur ne fait plus seulement 4 mètres (200 pixels) mais 5 mètres (250 pixels); ce qui complique un peu les chances de très gros scores...

   Je reviens avec un jeu réalisé avec le module pygame de Python 3; pour rappel il s'installe par la commande dans le terminal (Linux, Windows ou Mac OS): pip install pygame. Un jeu qui aurait pu donner une espèce de "angry Rabbit" mais ne nous fâchons pas, c'est un jeu tout simplement basé sur les trajectoires paraboliques de la balistique: un lapin lancé à une vitesse initiale avec un angle initial doit sauter au-dessus d'un mur et atteindre un œuf de Pâques en faisant attention de en pas aller trop loin et entrer ainsi dans le territoire des dangereux dinosaures!

   C'est toujours mieux qu'un jeu de canons et bombes ou obus...

   De plus ce jeu est basé sur des données réelles. Ainsi la vitesse maximale que peut atteindre un lapin est de 54 km/h, soit 15 m/s. La gravité terrestre est de 9,81 m/s². De tout cela je tiens compte dans mon jeu.

   Un jeu qui plaira aux petits comme aux grands, mais où les grands seront vachement avantagés pour obtenir de bons scores...

   Il va sans dire que la référence à «un jeu Nowtendo © ® TM» est une petite pique libre et open source à Nintendo...

   Bref voici le dossier ZIP comprenant le module scoremanage.py, le jeu coelho.py et toutes les ressources. Pas de sons dans ce jeu malheureusement. Et comme toujours c'est la prise du pseudonyme qui a été la partie la plus longue à coder!

Dossier ZIP du programme pygame / Python 3 version 0.b

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é.

   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

   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

   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

Présentation

  • : Town Ground anc. Igor Gorovitch
  • : Créations électroniques d'un dissident du numérique bien intégré. Musique style 90's et (un peu) programmation style années 1980 (80's). Les eighties au cœur.
  • Contact

Dons

Pour contribuer et rétribuer le cyber-mendiant que je suis:

https://www.paypal.me/TownGround

Merci à ceux qui le feront.

Recherche

Pages