Comment détecter un faux profil / How to spot a fake profile

Voici un sujet plus léger, loin des articles scientifiques, mais dont la démarche reste rationnelle et scientifique : comment détecter un faux profil dans un site de rencontre / how to spot a fake profile in a meeting website.

 

Critères de suspicion :

  • Quand la photo présente une personne sensiblement plus belle que la moyenne, c’est louche (mais il peut arriver que la personne soit réellement belle et que ce soit vraiment elle). La photo proviendrait probablement d’internet : avec le navigateur Chrome, faites un clic droit puis «recherche une image sur Google», et vous verrez rapidement s’il s’agit d’une photo volée et usurpée, et le cas échéant l’image sera présente sur d’autres sites web.
  • S’il n’y a qu’une seule photo, souvent c’est mauvais signe. Méfiance confirmée si vous demandez à la personne de se prendre elle-même en photo en tirant la langue par exemple (pour un test), et qu’elle refuse fermement alors que ce test est facile à réaliser quand le profil est authentique.
  • Astuce de hackeur : récupérez la photo du profil en la téléchargeant, puis éditez ensuite celle-ci avec un éditeur hexadécimal gratuit (comme le logiciel HxD Hex Editor, disponible sur http://www.01net.com/telecharger/) puis examinez les métadonnées internes de la photo éditée. Si la photo a été volée à un photographe professionnel, alors attendez-vous à apercevoir les mentions de copyright du photographe. Si c’est le cas, alors c’est bien une photo volée et usurpée, c’est sûr et certain à 100%. En plus, ce vol est illégal : c’est une photo contrefaite. Dans un tel cas, vous pourriez être tenté de dénoncer le fautif au photographe identifié, juste pour faire chier le voleur de photo.  😉
  • Examinez aussi l’arrière-plan dans les photos, il y a parfois des indices sur le lieu (drapeau national, ou site touristique connu). Mais ces indices sont secondaires.
  • Dans un faux profil, il arrive que l’âge déclaré par la personne est assez différent que l’âge apparent (plus jeune) sur la photo. Là aussi, méfiance…
  •  Fréquemment, la description dans un faux profil est bourrée de fautes d’orthographe, et est fréquemment courte, voire même absente. Si la personne n’est pas française, il est assez courant de ne pas apercevoir des signes typiques, comme l’apostrophe par exemple.
  • Si la personne refuse de donner son numéro de téléphone ou de donner son pseudo de compte dans les réseaux sociaux, c’est louche. C’est louche évidemment aussi si la personne refuse de vous rencontrer en vrai.
  • Un faux profil a très souvent une date d’inscription récente.
  • Évitez de donner vos photos personnelles à des personnes inconnues sur internet, car vos photos pourraient se faire usurper…

 

Quelles sont les motivations des créateurs de faux profils dans les sites de rencontre ?

  • Cas n°1 : La personne enjolive la réalité, en mentant par des affirmations ou par des omissions. C’est une façon de se revaloriser aux yeux d’autrui, mais c’est malhonnête et ça tue finalement la confiance. Il paraîtrait que deux tiers des personnes enjolivent plus ou moins leur profil dans les réseaux sociaux… Pffff, ces gens sont superficiels…
  • Cas n°2 : La personne est un escroc dont le but est de soutirer de l’argent à ses victimes. Parfois il s’agit même d’escroquerie sentimentale, un abus de confiance. Parfois il s’agit de chantage.
  • Cas n°3 : Pire encore, je soupçonne certains sites de rencontre d’utiliser des algorithmes automatiques assez sophistiqués qui créent de faux profils à la volée (dont le pseudo contient souvent des chiffres à la fin du nom) et qui génèrent de pseudo-conversations : «Salut ça va ??», afin que les vrais inscrits appâtés tombent dans le panneau et finissent par acheter un abonnement premium… Là aussi, le procédé est malhonnête…

 

D’années en années, la situation empire… Et il n’y a pas que les sites de rencontre, il y a également les réseaux professionnels et les logiciels de messagerie instantanée (avec ou sans webcam) qui sont touchés par le phénomène de faux profils.

Personnellement, les sites de rencontre j’en suis dégoûté… Mais au moins j’ai découvert leurs combines…

 

© 2018 – John Philip C. Manson

 

Générateur de nombres premiers

Il est impossible de ne générer que des nombres premiers au moyen d’un polynôme.
Mais il existe parfois des algorithmes qui donnent un coup de pouce.

Depuis longtemps, je m’intéresse à la découverte des nombres premiers, et j’ai mis au point le 9 janvier 2018 un algorithme intéressant.

  • Soient a, b, c, d, e des nombres premiers supérieurs à 2, donc tous impairs.
  • Alors lorsque ces nombres premiers sont inférieurs à 100, je trouve un nombre ((a*b*c)² – (d*e)²) – 1 qui a une probabilité 7 fois supérieure d’être un nombre premier par rapport à la proportion naturelle 1 / ln (((a*b*c)² – (d*e)²) – 1).
  • Je n’ai pas encore testé pour de plus grands nombres générés.

 

Exemple, je pose :

  • b = 67
  • c = 97
  • d = 13
  • e = 61
  • a = entre 3 inclus et 97 inclus, soit 25 nombres premiers à tester l’un après l’autre.

 

Sur 25 nombres générés par ce calcul, j’obtiens 7 assez grands nombres qui sont premiers !

  • ((7*67*97)² – (13*61)²) – 1 = 2 068 984 199 est premier
  • ((17*67*97)² – (13*61)²) – 1 = 12 205 864 439 est premier
  • ((19*67*97)² – (13*61)²) – 1 = 15 246 928 511 est premier
  • ((23*67*97)² – (13*61)²) – 1 = 22 342 744 679 est premier
  • ((31*67*97)² – (13*61)²) – 1 = 40 589 129 111 est premier
  • ((47*67*97)² – (13*61)²) – 1 = 93 300 906 359 est premier
  • ((89*67*97)² – (13*61)²) – 1 = 334 558 656 071 est premier

Normalement j’aurais dû avoir environ 4% de chance de tomber par hasard sur un nombre premier de 11 chiffres, mais là ça arrive à 28% avec le générateur. Bizarre, non ? Il faudrait explorer ça en profondeur.

Bizarre…

Je me préparais à faire du shopping sur Amazon, dont je suis client depuis de nombreuses années, notamment pour faire une commande prioritaire pour acheter des cartouches de couleurs pour ma fidèle imprimante.

En même temps, je voulais acheter un livre, dont j’en avais fait récemment la recommandation lors d’un article précédent.

Mais voila, en arrivant sur la page commerciale de Amazon France à propos du livre intitulé « Arrêtez de décoder », écrit par Pascal Lardellier, aux Editions de l’Hèbe, c’est affiché comme étant « Actuellement indisponible. Nous ne savons pas quand cet article sera de nouveau approvisionné ni s’il le sera. « 

Il est possible que ce livre ait beaucoup de succès, jusqu’à épuisement des stocks. Je voudrais me procurer ce bouquin… Mais comment ?

En tout cas, l’auteur balance et dénonce beaucoup de dérives, j’aurais voulu le lire. Ce livre dérange t-il certains, au point de nuire à sa diffusion ?…

Après renseignement, je constate que les éditions de l’Hèbe sont un éditeur suisse. La Suisse romande, je crois.

Sur le site de l’éditeur suisse, on peut acheter le livre pour 30 francs suisses, soient 27,13 euros : http://www.lhebe.ch/index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=218&virtuemart_category_id=16

C’est un livre de 160 pages, ISBN 978-2-88485-114-5, sorti en 2008.

 

Faire des statistiques automatiques avec Wikipedia

Faire des statistiques à la main sur Wikipedia est long et pénible. Mais on peut parfois automatiser le travail.

Dans un environnement GNU/Linux, les commandes shell sont souvent très utiles. Voici l’astuce pour créer un échantillon de 100 articles Wikipedia francophones ouverts aléatoirement afin de déterminer l’année de la date de dernière modification.

Voici le code source bash :

#!/bin/bash
wkarticle=1
while [[ $wkarticle -le 100 ]]
do
wget -q -O – https://fr.wikipedia.org/wiki/Sp%C3%A9cial:Page_au_hasard | grep « Derni.re modification de cette page le  » | cut -d’ ‘ -f11 >> wk.log
wkarticle=$(($wkarticle + 1))
sleep 1
done

cat wk.log | grep 2015 | wc -l
cat wk.log | grep 2014 | wc -l
cat wk.log | grep 2013 | wc -l
cat wk.log | grep 2012 | wc -l
cat wk.log | grep 2011 | wc -l
cat wk.log | grep 2010 | wc -l
cat wk.log | grep 2009 | wc -l
cat wk.log | grep 2008 | wc -l
cat wk.log | grep 2007 | wc -l
cat wk.log | grep 2006 | wc -l
cat wk.log | grep 2005 | wc -l
cat wk.log | grep 2004 | wc -l
cat wk.log | grep 2003 | wc -l
cat wk.log | grep 2002 | wc -l
cat wk.log | grep 2001 | wc -l

 

J’ai exécuté le programme, et voici le résultat :

  • 68 15 16 2 1 0 0 0 0 0 0 0 0 0 0.
  • Concrètement, 68% des articles Wikipedia ont été modifiés la dernière fois en 2015. 15% en 2014, 16% en 2013, 2% en 2012, 1% en 2011…

 

Si on veut faire des statistiques avec un échantillon de 1000 articles aléatoires, on doit remplacer dans le code while [[ $wkarticle -le 100 ]] par while [[ $wkarticle -le 1000 ]].

John Philip C. Manson

 

Comment ne plus être dérangé par les appels téléphoniques indésirables ?

Comment ne plus être dérangé par les appels téléphoniques indésirables ?

Chaque jour, en France, nous sommes submergés par des appels non sollicités. Parfois les appelants font du marketing téléphonique à partir des centres d’appel, mais souvent quand on décroche, il n’y a personne au bout du fil.

Exemple de démarchage :

  • L’escroc au bout du fil : « Allô, je vous vends des panneaux solaires pour le prix de 50 000 euros ! C’est bio, c’est écologique ! »
  • Moi :  » Et ta soeur ?! » (puis je raccroche au nez)

Ce genre de problème est très fréquent, beaucoup de gens s’en plaignent, mais ces abus ne sont jamais sanctionnés malgré le ras-le-bol des gens.

Je propose ici une astuce afin de limiter l’agacement à cause du téléphone, afin d’être moins dérangé. La méthode marche en France, via l’opérateur France Telecom, et n’est donc pas  applicable dans les autres pays.

  • Premièrement, configurer votre téléphone mobile de façon à ce que les appels entrants soient directement transférés vers la messagerie, ou plutôt (si vous préférez) vous mettez votre téléphone en mode vibreux ou silencieux (auquel cas vous décidez un transfert automatique vers la messagerie si vous ne répondez pas à l’appel). Ce genre de manip fonctionne bien avec les smartphones.
  • Ensuite, comme c’est votre téléphone fixe qui est la victime des appels indésirables, il va falloir aussi faire une manip : le transfert d’appel. Il suffit de décrocher le combiné, puis de taper sur les touches ceci : *21*06<le reste de votre numéro de tél mobile>#
  • Par exemple : *21*0600000000# si votre n° de mobile est 0600000000. Quand cela est fait, tous les appels entrants vers votre téléphone fixe seront transférés automatiquement vers votre téléphone mobile qui se chargera d’enregistrer les messages des appelants dans la messagerie, et cela sans faire de bruit. En effet, rien de plus casse-couilles d’être fréquemment dérangé pendant les heures de repas, ou durant la nuit, ou pendant qu’on exécute un effort dans les WC…
  • Pour annuler le transfert d’appel, c’est facile :  #21# puis votre téléphone fixe refonctionne comme avant.

Faire des statistiques avec les articles de Wikipedia

Peut-on réaliser des statistiques au moyen de Wikipedia ? A priori, oui.

Sur Google, on peut rechercher certains mots-clés contenus dans les articles du site fr.wikipedia.org. Et faire des comparaisons en ajoutant des mots-clés.

Par exemple, avec cette requête sur Google : -inurl:Discussion -inurl:Catégorie -intitle:Discussion -intitle:Catégorie site:fr.wikipedia.org « né|née le » intitle:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|- » né le »|-« Liste ») inurl:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|-« Liste ») on  constate qu’il y aurait 273 000 personnes répertoriées sur Wikipedia (personnes ayant une notoriété publique : acteurs, musiciens, chanteurs, politiciens, activistes, etc…).

Par exemple, on peut dénombrer combien il y a de personnes (ainsi que leur pourcentage par rapport à leur totalité) qui sont impliquées dans la mouvance New Age : « new age » -inurl:Discussion -inurl:Catégorie -intitle:Discussion -intitle:Catégorie site:fr.wikipedia.org « né|née le » intitle:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|- » né le »|-« Liste ») inurl:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|-« Liste »)

En apparence, il y aurait 275 personnes parmi 273 000 personnalités notoires (soit 0,1%) qui s’adonneraient au New Age.

Et si l’on exclut les musiciens et les compositeurs, cela se réduit à 251 personnes newagers (~0,09%).

C’est curieux ça… Il y aurait proportionnellement peu de newagers, et pourtant on entend souvent parler de New Age à travers le web, les médias en font régulièrement la propagande jusqu’à l’overdose…

L’on peut aussi tenter de déterminer le pourcentage de personnes homosexuelles : homosexuel|homosexualité| »coming out »|lgbt -inurl:Discussion -inurl:Catégorie -intitle:Discussion -intitle:Catégorie site:fr.wikipedia.org « né|née le » intitle:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|- » né le »|-« Liste ») inurl:(-« Catégorie »|-« Discussion »|-« Aide »|-« Projet »|-« Liste »)

soit environ 4790 sur 273 000, soit 1,7%. Ce serait à peu près le même taux général que dans la population, mais ce taux n’est pas connu avec exactitude.

J’ai également trouvé 1470 articles faisant référence aux féministes. Parmi les féministes j’ai relevé 159 articles faisant à la fois référence aux féministes et aux homosexuelles, soit 10,8% environ.

Ensuite, parmi les 273 000 personnes archivées dans Wikipedia, on relève environ 6560 cas où les personnes ont eu un cancer, ou ont un cancer ou sont mortes d’un cancer, soit 2,4%. Cela semble largement sous-représenté par rapport à la réalité (environ 1 quart à 1 tiers des gens ont eu ou ont ou auront un cancer).

Ensuite, parmi les 273 000 personnes dans Wikipedia, on relève environ de 994 à 1060 cas de personnes notoires séropositives mais néanmoins toujours en vie, soit environ 0,37%. Tandis qu’en France, l’on sait qu’il existe 0,23% de personnes séropositives. Les taux sont assez proches.

Pour terminer ce présent article, j’ai constaté 2590 cas d’entrepreneurs parmi 273 000 personnes notoires, soit à peine 1%, ce qui est peu. En effet, en France, seuls environ 6% des gens sont (ou ont été) entrepreneurs, c’est vraiment peu.

 

Ainsi, l’on voit que Wikipedia peut contribuer à faire des statistiques, mais néanmoins les données restent approximatives, et l’on ne doit pas oublier le risque que les données disponibles ne soient pas fiables.

 

Tous traqués par Facebook, même sans avoir de compte ?

Ce n’est pas une découverte, c’est connu depuis des années.

Voici une démonstration :

  • Editer le fichier /etc/hosts sur Linux, ou le fichier C:\windows\system32\drivers\etc\hosts sur windows 7 (via notepad en mode admin).
  • La manip consiste à rerouter votre navigateur web non pas vers Facebook mais vers votre propre IP.
  • Ajouter cette ligne dans le fichier hosts :  192.168.1.12 http://www.facebook.com fr-fr.facebook.com puis sauvegarder. Faut enlever http://, ce fichu texte s’ajoute automatiquement quand je publie ce présent article, alors qu’il ne faut pas mettre http://.
  • Pour savoir votre IP locale sur votre routeur sous Windows : taper ipconfig via l’interpréteur de commandes CMD, (ou ifconfig dans un terminal de Linux), c’est l’adresse IPv4. C’est cette IP qu’il faut indiquer dans la ligne dans hosts.
  • Ensuite, avec netcat avec l’instruction sudo nc -v -l 192.168.1.12 443 (si sous Linux) ou mieux encore au moyen d’un programme Perl (sous Linux ou Windows), on ouvre le port 443 (https) sur votre IP afin de simuler un serveur HTTPS qui remplace le vrai Facebook. Exécuter ensuite le serveur qui se met en écoute sur le port 443.
  • Ouvrir ensuite une page quelconque du web qui contient des modules Facebook intégrés, c’est-à-dire des boutons bleus Facebook typiques (Follow, Share… En français : Suivre, S’abonner, Partager…). Au même moment, le serveur HTTPS détecte que votre navigateur transmet des données vers Facebook (mais ici c’est vers votre serveur intercepteur). La transmission de données vers Facebook survient en l’absence de clics sur les boutons bleus de Facebook, il suffit juste d’ouvrir une page web contenant ces modules. En effet, cela présente un risque de traquage des internautes via les cookies.

Facebook pourrait s’amuser à recouper les données entre elles. Par exemple, supposons que vous ayez un compte FB sur lequel vous êtes actuellement connecté via votre navigateur. Ensuite, supposons que vous recevez une notification par email (en format HTML) en provenance de votre 2e compte Facebook. Vous croyez peut-être que FB ne fera pas le lien entre vos deux comptes même si vous changez votre IP et en effaçant vos cookies ? Hé bien, non, car même par email, les modules Facebook restent actifs, ils sont exécutés lorsque vous ouvrez vos mails pour les lire… Il suffit juste que FB veuille comparer les IP de vos deux comptes, en temps réels, pour s’apercevoir que c’est vous ! Vous aviez cru rester discret ? Erreur, car FB sait tout de vous.

Et aussi, quand on tape des requêtes dans la barre de recherche de personnes sur FB, tous les noms que vous y entrez sont enregistrés définitivement sur le site de FB. En plaçant le curseur de la souris dans cette barre de recherche et en appuyant la flèche du bas, on voit même la liste des requêtes anciennes.

Et supprimer les cookies ne résout en rien le problème de flicage des internautes. On peut être tracé via l’adresse IP, même si on n’est pas logué sur FB.

Les modules FB sont fréquents dans les sites de média, les journaux en ligne : FB sait quels sont les articles de presse en ligne que vous lisez, la plupart des blogs que vous lisez ou ce que vous publiez. Vos petites habitudes sont scannées… Les modules s’appellent en fait des plugins, d’après ce que j’ai examiné dans le code source HTML d’une page web, les plugins sont chargés via une balise IFRAME qui charge un hyperlien de Facebook depuis le site d’origine sur lesquels les plugins sont intégrés.

Mais tout cela, les problèmes posés par l’utilisation de Facebook sont connus depuis des années. Je suis effaré que certains, chercheurs ou journalistes, aient l’air de tomber des nues face à cette « découverte ».

Ah, maintenant vous avez peur ? Vous avez raison.

iconlol

 

Copyright 2015 John Philip C. Manson

 

Le test de Lucas-Lehmer

Jusqu’à présent, j’avais été généralement peu convaincu des textes francophones à propos des contenus sur Wikipedia, à quelques exceptions près. Très souvent, j’ai constaté que la Wikipedia anglophone est sensiblement plus détaillée que la Wikipedia francophone.

Par exemple, j’ai regardé http://fr.wikipedia.org/wiki/Test_de_primalit%C3%A9_de_Lucas-Lehmer_pour_les_nombres_de_Mersenne

Dans cette page, les explications de l’algorithme sont assez confuses. Cependant, j’ai trouvé un détail très intéressant dans l’article anglophone : http://en.wikipedia.org/wiki/Lucas%E2%80%93Lehmer_primality_test

Voici un pseudo-code :

// Determine if Mp = 2p − 1 is prime
Lucas–Lehmer(p)
    var s = 4
    var M = 2p − 1
    repeat p − 2 times:
        s = ((s × s) − 2) mod M
    if s = 0 return PRIME else return COMPOSITE

C’est concis, simple, et propre.
A partir de ce pseudo-code, on peut adapter celui-ci à tous les langages informatiques.

Voici le code Perl que j’ai conçu à partir du pseudo-code :

#!/usr/bin/perl
for ($p = 3; $p <= 100; $p++)
{
$s = 4;
$M = (2 ** $p) – 1;
$k = $p – 2;
for ($i = 1; $i <= $k; $i++)
{
$s = (($s * $s) – 2) % $M;
}
if ($s == 0)
{
print « $M = 2 ^ $p – 1 is prime \n »;
}
}

Cela fonctionne, mais rapidement à partir d’un nombre assez grand, c’est « arrondi » à une expression sous forme de puissances en base 10. Et cela fausse le reste des calculs…

Dont acte :

7 = 2 ^ 3 – 1 is prime
31 = 2 ^ 5 – 1 is prime
127 = 2 ^ 7 – 1 is prime
8191 = 2 ^ 13 – 1 is prime
131071 = 2 ^ 17 – 1 is prime
524287 = 2 ^ 19 – 1 is prime
2147483647 = 2 ^ 31 – 1 is prime
7.20575940379279e+16 = 2 ^ 56 – 1 is prime
2.88230376151712e+17 = 2 ^ 58 – 1 is prime
1.15292150460685e+18 = 2 ^ 60 – 1 is prime
4.61168601842739e+18 = 2 ^ 62 – 1 is prime

Ici, au-delà de 2 puissance 31 – 1, tout est faux.

Mais j’ai une arme secrète : j’ai transposé le code Perl en code Python, et Python ici prouve sa toute-puissance : on a enfin des nombres complets, chiffre par chiffre, sans limite pour les nombres entiers !

Voici le code source en langage Python :

#!/usr/bin/python
p=3
while (p <= 100000):
 s = 4
 M = (2 ** p) – 1
 k = p – 2
 i=1
 while (i <= k):
  s = ((s * s) – 2) % M;
  i=i+1
 if (s == 0):
  print « 2 ^ « , p,  » – 1 is prime »
 p=p+1

Attention cependant, il y a une indentation stricte à respecter dans le script en Python, il peut arriver qu’en collant le code ici l’identation ne soit pas apparente.

Voici les résultats du script Python :

2 ^  3  – 1 is prime
2 ^  5  – 1 is prime
2 ^  7  – 1 is prime
2 ^  13  – 1 is prime
2 ^  17  – 1 is prime
2 ^  19  – 1 is prime
2 ^  31  – 1 is prime
2 ^  61  – 1 is prime
2 ^  89  – 1 is prime
2 ^  107  – 1 is prime
2 ^  127  – 1 is prime
2 ^  521  – 1 is prime
2 ^  607  – 1 is prime
2 ^  1279  – 1 is prime
2 ^  2203  – 1 is prime
2 ^  2281  – 1 is prime
2 ^  3217  – 1 is prime
2 ^ 4253 – 1 is prime
2 ^ 4423 – 1 is prime

La série ci-dessus est 100% exacte.  😉

Plus le nombre à tester est grand, plus le temps de calcul est long…

Pour que ça aille beaucoup plus vite :

  • il faut un calcul informatique distribué, avec des milliers d’ordinateurs qui fonctionnent en commun
  • il faut un ordinateur quantique (le temps de calcul deviendrait alors linéaire et non plus exponentiel)

Je vais bientôt établir le temps de calcul en fonction de l’exposant premier des nombres de Mersenne pour un PC de bureau classique. L’article ici présent sera réédité à cette occasion.

 

Réédition de l’article le 30 décembre 2014 :

 

J’ai modifié le programme Python en y ajoutant le module time, afin d’obtenir un outil qui servira à l’horodatage de chaque ligne de résultat.

 

#!/usr/bin/python
import time
last = time.time()
p=3
while (p <= 100000):
 s = 4
 M = (2 ** p) – 1
 k = p – 2
 i=1
 while (i <= k):
  s = ((s * s) – 2) % M;
  i=i+1
 if (s == 0):
  now = time.time()
  chrono = now – last
  print « t = « , chrono, » s :: 2 ^ « , p,  » – 1 is prime »
 p=p+1

 

Voici le résultat, avec le temps écoulé depuis l’exécution du programme Python :

t =  0.0000138282775879  s :: 2 ^  3  – 1 is prime
t =  0.00019097328186  s :: 2 ^  5  – 1 is prime
t =  0.000243902206421  s :: 2 ^  7  – 1 is prime
t =  0.000355958938599  s :: 2 ^  13  – 1 is prime
t =  0.000600814819336  s :: 2 ^  17  – 1 is prime
t =  0.000720024108887  s :: 2 ^  19  – 1 is prime
t =  0.00141787528992  s :: 2 ^  31  – 1 is prime
t =  0.00507187843323  s :: 2 ^  61  – 1 is prime
t =  0.0113019943237  s :: 2 ^  89  – 1 is prime
t =  0.0172729492188  s :: 2 ^  107  – 1 is prime
t =  0.0260407924652  s :: 2 ^  127  – 1 is prime
t =  0.673669815063  s :: 2 ^  521  – 1 is prime
t =  1.09742283821  s :: 2 ^  607  – 1 is prime
t =  15.6437869072  s :: 2 ^  1279  – 1 is prime
t =  121.935223818  s :: 2 ^  2203  – 1 is prime
t =  138.3559618  s :: 2 ^  2281  – 1 is prime
t =  673.330420017  s :: 2 ^  3217  – 1 is prime
t =  1962.14330792  s :: 2 ^  4253  – 1 is prime
t =  2188.334692  s :: 2 ^  4423  – 1 is prime

 

  • A partir de ces données chronométriques, j’ai pu estimer que le temps de calcul nécessaire pour découvrir M48 qui est le 48e nombre premier de Mersenne est d’environ 300 années avec un PC de bureau ordinaire (AMD Athlon 64×2 dual core 4600+) si on lance le calcul au-delà de M47 tel que P est supérieur à 43112609 (en testant P jusqu’à 57885161) où M47 = 2^P – 1. Je ne peux donc pas me contenter d’un PC classique pour espérer découvrir de nouveaux nombres premiers de Mersenne encore inconnus à ce jour… Il faut donc au moins des centaines de microprocesseurs de PC pour pouvoir découvrir des nombres premiers de Mersenne dans des délais raisonnables.

 

En revanche, j’ai apporté une amélioration entre-temps : pour tout nombre premier de Mersenne (M), l’entier P est toujours un nombre premier impair (à l’exception de 2^2 – 1 = 3 où P est premier mais pair). J’ai donc ajouté un test de primalité de P.

#!/usr/bin/python
import time
last = time.time()
p=3
while (p <= 100000):
 d=2
 lim = int(p ** 0.5)
 produit = 1.000
 while (d <= lim):
  produit = produit * (p % d)
  if (d > 2):
   d=d+2
  if (d == 2):
   d=d+1
   if (produit != 0):
  s = 4
  M = (2 ** p) – 1
  k = p – 2
  i=1
  while (i <= k):
   s = ((s * s) – 2) % M;
   i=i+1
  if (s == 0):
   now = time.time()
   chrono = now – last
   print « t = « , chrono, » s :: 2 ^ « , p,  » – 1 is prime »
 p=p+2

 

Cette fois, avec la nouvelle amélioration du script Python, le calcul est nettement plus rapide.

Résultats :

t =  6.48498535156e-05  s :: 2 ^  3  – 1 is prime
t =  0.000236988067627  s :: 2 ^  5  – 1 is prime
t =  0.000296831130981  s :: 2 ^  7  – 1 is prime
t =  0.000382900238037  s :: 2 ^  13  – 1 is prime
t =  0.000496864318848  s :: 2 ^  17  – 1 is prime
t =  0.000589847564697  s :: 2 ^  19  – 1 is prime
t =  0.000875949859619  s :: 2 ^  31  – 1 is prime
t =  0.00200796127319  s :: 2 ^  61  – 1 is prime
t =  0.0035548210144  s :: 2 ^  89  – 1 is prime
t =  0.00507688522339  s :: 2 ^  107  – 1 is prime
t =  0.00654602050781  s :: 2 ^  127  – 1 is prime
t =  0.151687860489  s :: 2 ^  521  – 1 is prime
t =  0.218498945236  s :: 2 ^  607  – 1 is prime
t =  2.25717282295  s :: 2 ^  1279  – 1 is prime
t =  15.902233839  s :: 2 ^  2203  – 1 is prime
t =  18.2337968349  s :: 2 ^  2281  – 1 is prime
t =  62.6072969437  s :: 2 ^  3217  – 1 is prime
t =  181.48553586  s :: 2 ^  4253  – 1 is prime
t =  206.73643899  s :: 2 ^  4423  – 1 is prime

  • On n’a plus besoin d’attendre 300 années pour déterminer M48 en testant tous les P supérieurs à 43112609, mais seulement un peu plus de 20 ans environ. Mais 20 ans c’est toujours long comme délai. Le calcul distribué est ainsi toujours une nécessité.

 

© 2014 John Philip C. Manson

 

Outillage épistémologique et méthodologie scientifique

Lors de mon surf sur le web, je trouve une page intéressante :

Et notamment celle-ci :

Avec ces lectures-ci, on se doute bien que la recherche documentaire dans la démarche de scepticisme scientifique représente un gros travail et beaucoup de bonne volonté. Ce qui contraste avec les croyances conformistes qui ne sont rien d’autre que de la paresse intellectuelle.

Mais aussi ce lien prête à la réflexion et au doute :

L’un des protagonistes citerait Einstein avec la citation suivante : « Tous ceux qui sont impliqués dans la science finiront par découvrir qu’un esprit, immensément supérieur à l’homme, se manifeste dans les lois de l’univers ». Mais en me renseignant afin de retrouver factuellement si Einstein aurait fait une telle affirmation, je ne trouve rien de convainquant… Citation apocryphe ? En effet, Google ne donne que 9 résultats non probants (si l’on ôte le nom des protagonistes qui ont attribué la citation à Einstein).

En recherchant la même citation en anglais : « Everyone who is seriously involved in the pursuit of science becomes convinced that a spirit is manifest in the laws of the Universe », « a Spirit vastly superior to that of man ». Il est difficile de faire le tri des sites religieux partisans de l’idée que la citation soit authentique. Il faut donc fouiller dans les écrits d’Einstein pour trancher la question. Apocryphe ou authentique, la citation attribuée à Einstein ne constitue cependant pas une preuve objective de l’existence de Dieu. La citation ne sert occasionnellement qu’à faire un argument d’autorité.Dieu n’est pas une hypothèse scientifique, c’est un autre débat… Et un scientifique, n’importe lequel, peut se tromper : Einstein s’est bien trompé à propos de la mécanique quantique par exemple… Il n’y a d’autorité que celle des faits.

Et une phrase d’un des deux protagonistes (voir le lien ci-dessus) m’intrigue beaucoup : « Dieu est une information au sens qu’il est immatériel. Il n’est ni énergie, ni être. Il échappe à toute dénomination, Dieu est transcendant. »

Si Dieu n’est pas défini, comment peut-on être certain de l’avoir rencontré/détecté/découvert ?… Quelques citations (authentiques) d’Einstein expriment ceci :

  • « Je ne peux pas imaginer un Dieu qui récompense et punit l’objet de sa création. Je ne peux pas me figurer un Dieu qui réglerait sa volonté sur l’expérience de la mienne. Je ne veux pas et je ne peux pas concevoir un être qui survivrait à la mort de son corps. Si de pareilles idées se développent en un esprit, je le juge faible, craintif et stupidement égoïste.« 
  • « Définissez-moi d’abord ce que vous entendez par Dieu et je vous dirai si j’y crois.« 
  • « Ce que vous avez lu sur mes convictions religieuses était un mensonge, bien sûr, un mensonge qui est répété systématiquement. Je ne crois pas en un Dieu personnel et je n’ai jamais dit le contraire de cela, je l’ai plutôt exprimé clairement. S’il y a quelque chose en moi que l’on puisse appeler « religieux » ce serait alors mon admiration sans bornes pour les structures de l’univers pour autant que notre science puisse le révéler.  »  (Albert Einstein, lettre du 24 mars 1954)« 

Voici une anecdote, dans un tout autre contexte :

Au cours du mois de décembre (de cette année 2014), lors d’un vide-grenier (sorte de brocante), un proche m’a proposé de récupérer pour moi une encyclopédie ancienne (avec tous les tomes) au cas où cela m’intéresserait. En effet, comme les livres m’intéressent, même anciens, j’ai dit oui. J’ai donc fait l’acquisition des tomes de l’encyclopédie dont le nom est « Nouveau Larousse illustré« . Satisfait du bon état de conservation des volumes, j’ai découvert ensuite que ces tomes furent édités de 1897 à 1904. Certains penseront peut-être que je collectionne des vieilleries désuètes et ringardes. Mais à la lecture de ces tomes, j’ai été surpris de constater des sujets très complets, on y trouve des mathématiques d’un bon niveau, ainsi que des articles assez bien conçus sur la chimie et la musique. Je peux même déclarer que cette encyclopédie, bien qu’assez ancienne, a un niveau de qualité de contenu sensiblement supérieur que tout ce qu’on peut lire la plupart du temps dans Wikipedia (à l’exception toutefois des articles Wikipedia de qualité et qui sont supervisés par des spécialistes). Hé oui, franchement.

Un exemple avec un paragraphe de l’article « CARBONIQUE » :

carbonique

Très intéressant : en 1898, la proportion de CO2 dans l’air était d’environ 3 volumes pour 10 000 volumes d’air (soit 300 ppmv). Actuellement il est d’environ 400 ppmv.

Vous voulez lire les tomes du « Nouveau Larousse illustré » ? C’est possible ! L’encyclopédie est disponible en format PDF ici : https://archive.org/download/nouveaularoussei02laro/nouveaularoussei02laro.pdf (attention, ça pèse 146,1 Mo, pour 866 pages au total, le PDF est assez long à charger les pages lors de son ouverture). Bonne lecture.  😉

 

© 2014 John Philip C. Manson

 

WordScanneur : un script de détection de mots-clés dans un fichier

Suite à mes investigations en ce qui concerne la détection de la présence de mots spécifiques du New Age dans de longs textes à analyser, j’ai réussi à concevoir un programme écrit en langage Perl et destiné à ce but.

 

Voici le code source du programme wordscanneur.pl :

#!/usr/bin/perl
open(FILE, « SOURCE ») or die(« ERREUR »);
open(DST, « >>code.sh »);

while (<FILE>) {
print DST  » « ;
print DST « echo == $_ « ;
print DST  » « ;
print DST « cat DOCUMENT | grep $_ »;
}
close(FILE);
close(DST);
print « OK ! \n\n »;
sleep(2);
`chmod +x code.sh`;

 

Ensuite, on exécute de cette façon dans un terminal shell :

./wordscanneur.pl ; ./code.sh >> wordscan.log

Explication sur le fonctionnement du programme :

Il faut que le programme Perl, ainsi que la liste des mots-clés (structurés ligne par ligne) dans le fichier nommé SOURCE, et ainsi que le fichier DOCUMENT (qui est le fichier, pouvant être gros, à analyser), soient tous dans le même répertoire.

Le programme Perl génère un fichier Bash nommé code.sh qui est automatiquement rendu exécutable. Ensuite, le fichier wordscan.log est créé et il contient le résultat de l’analyse. Quand un des mots-clés est détecté, le script enregistre dans le log un paragraphe entier (jusqu’au caractère de retour de ligne) qui contient un mot-clé prédéfini.

Chaque mot-clé est recherché un à un dans tout le texte à analyser. Cela va plus loin que Google qui cherche un seul mot-clé parmi une ligne de mots dans une requête ou qui cherche la totalité des mots en un bloc. Tout ou un seul, ça ne donne pas grand-chose via Google. Mais analyser un texte en testant chaque mot-clé, un par un, ça marche tellement mieux !

Testé avec succès sous Linux.   😉

Cela fonctionne pour les fichiers au format ASCII, pas pour les fichiers binaires.

 

© 2014 John Philip C. Manson