Radjaïdjah Blog

jeudi 31 août 2023

Launch of cryptoskymap.xyz

The Radjaidjah Blog is proud to present cryptoskymap.xyz, a directory of curated resources around the Bitcoin and Ethereum ecosystems.

lundi 6 avril 2020

FAQ : attestation numérique de déplacement dérogatoire

FAQ express sur le générateur gouvernemental d'attestations de déplacement dérogatoire.

La plateforme gouvernementale a-t-elle accès à mes informations personnelles quand je génère l'attestation ?
-> Non
Est-ce que quelque chose m'empêche de générer plusieurs QR codes avec différents horaires ?
-> Non
Les informations figurant dans le QR code sont-elles chiffrées ?
-> Non
Y a-t-il un mécanisme de sécurité pouvant détecter efficacement l'antidatage de l'attestation ?
-> Non
Est-ce une bonne idée d'aller générer mon attestation sur un autre site même si je ne comprends pas trop comment ça marche ?
-> Non

Attestation Deplacement Derogatoire Piscine

Fin

lundi 22 octobre 2018

Stacker, the illusion of control

Stacker is a popular arcade game designed and manufactured by LAI games and commercialized by entertainment distribution companies[1]. It is a successor of Claw cranes.

Stacker Machine

The goal of the game is to align rows of moving blocks on top of each other. A player who can stack eleven rows will win a minor prize, which is usually low in value, sometimes lower in value than the amount of money the player paid to play the game. A player who gets to the top row wins a major prize. The major prize varies from machine but will often include game consoles, cellular phones, and MP3 players.

The gameplay is the following. There is a row of three cubes which move side to side on the screen, at the first row. When the player pushes the start/stop button, the row of squares will stop. Then, another row of three moving squares appears above the previous row, moving faster than the one before it. If the squares do not align directly above the previous set, any overhanging squares will be removed. If the player misses completely, the game is over. The number of available squares is automatically reduced to two, then one, during the game. The goal is to consistently get the squares directly above the previous set, "stacking" them to the minor prize and ultimately major prize levels.

In a typical game, what is observed is the following. The player easily manages to get to the minor prize level, refuses it and carries on. At this point three consecutive successful moves lead to winning a major prize. But from now on, the unit to align with the stack is a single block. Usually if the player is focused enough, he achieves to stack the next block and the penultimate one, however stacking the last one fails by a very small fraction. As a result the player loses his coin. And because he was so close to win, he might want to try again, with the same outcome.

The most interesting part is the last step, the one leading in general to a game loss.

Why does the so far very skilled player lose at the last step? Is it the pressure of winning a phone? The answer is: because the last step is different. It looks the same as the previous ones, but it is not.

Pressing the stop button while the last single block is displayed at the correct position does not necessarily leads to a win. In fact most of the times it leads to a loss, and a posteriori the block is displayed mis-aligned with the stack. Only in certain specific cases a win will be obtained.

LAI Games Stacker operator's manual describe all the internal parameters the owner can set to configure the machine. One of these operators is "P10 = Skill Setting (Major price)", whose description is (Default 8) (Adjustable 1 – 10) This option sets the Skill level for players to reach the Major Prize level, as listed in the table below. As this is a skill game the win rate is only the approximate rate for each difficulty setting. Follows then the corresponding options, with P10 = 1 implying approx 1 win in 20 games, whereas P10 = 10 implying approx 1 win in 800 games. This parameter does not affect the displayed game at all, "P08 = Cube Speed" is a different parameter.

In practice, Stacker behaves as the following. For the sake of simplicity, let's imagine that all players are super skilled (they always press the stop button when the last block is correctly aligned), and that P10 = 8 (approx 1 win in 400 games). Instead of having all players win, only 1 over 400 will win. How to achieve this? Once could propose to throw a 400-side dice to decide if a game is a win, but the skill aspect of the game would be instantaneously lost. A more elegant way to do it is to define ''concretely winning states" as a subset of "appearantly winning states", like the following pseudo-code does:

if block is well aligned:
    if internal_timer_in nanoseconds % 400 == 0:
        proceed to winning
    else if stop_button was pressed before block_duration / 2:   
        move displayed_block to previously_displayed_block
    else:
        move displayed_block to next_to_be_displayed_block
    proceed to losing

This is compatible with purported LAI's statement that Stacker is "100% a game of skill and although it is very difficult, every game played can be a winning game".

However, this theoretically skill game is in practice a luck game, so Stacker is practically a gambling machine. This great video comes to the same conclusion for another arcade game, Cyclone.

Psychologically, having the player close to winning but finally losing is part of the design of this arcade game. Stacker operator's manual describes the machine as a bright and attractive display, simple but exciting game play and a real “Ahh! Just missed” feeling. Indeed the player can see that he was very close, and the belief that the loss is due only to a very tiny amount of bad luck triggers the envy to replay with the confidence to be more accurate next time and win. In reality it can be said that the progressive feelings of self-esteem building with the initial successes, frustration while losing by a near-miss, and hope while deciding to replay, have been entirely engineered by the game designers. You see a game that you control, you live a game who controls you.

Let's conclude with LAI Games' motto: Fun and Profits Go Hand-in hand.

Note

[1] Stacker is not commercialized anymore. It has been superceded by Mega stacker, with tips to buyers to improve its performance (i.e. revenue).

mardi 10 avril 2018

Deepdream, paréidolie algorithmique

Comment les robots rêvent-ils du monde ?

Quelques expériences d'inceptionnisme avec caffe (merci à 贾扬清), le notebook ipython deepdream et le logo d'Ethereum.

deepdream-ether-ref-conv2.gif

deepdream-ether-reduce.gif

deepdream-ether-incep.gif

N'hésitez pas à enregister les gifs pour les voir tranquillement en local si l'animation est trop lente, ou à aller voir d'autres démos.

Pour des effets similaires sur des images de votre choix (portrait, etc), les commandes sont ouvertes, pour un prix modique ! -> commentaires.

lundi 5 mars 2018

Hashquines

Voici une image.

hashquine-md5-demo.gif

Cette image affiche son propre hash md5, d'où son titre de hashquine en hommage aux quine de Gödel Escher Bach, programmes qui affichent exactement leur propre code source.

PS : si vous trouvez une collision de SHA256, RIPE160, RIPE160(SHA256), ou SHA256(SHA256), il est encore temps de clamer votre récompense. Pour SHA-1, c'est trop tard...

mercredi 26 avril 2017

Uncaptcha me

Celles et ceux qui ont déjà posté un commentaire sur le Radjaïdjah Blog ont remarqué qu'ils avaient dû résoudre un petit problème de maths afin de valider l'envoi de leur message.

Ceci afin d'éviter le spam des commentaires par des robots. En effet, le serveur du blog compare le résultat entré par l'utilisateur avec la solution du problème mathématique, et en cas de discordance envoie le commentaire dans un vortex du cyberespace (/dev/null pour les intimes).

En vérité cette protection élémentaire contre le spam est assez facile à contourner.

La plupart des sites voulant s'assurer que l'utilisateur est humain ont recours à des CAPTCHAs (Completely Automated Program to Tell Computers from Humans Apart).

Toute personne dotée de l'esprit d'un programmeur a un jour voulu passer un CAPTCHA de façon automatisée.

Un entraînement à cela est offert via CAPTCHA me if you can, un défi où il s'agit de se poser les bonnes questions (et trouver les bonnes réponses) afin de coder la validation automatique d'un CAPTCHA élémentaire, comme par exemple :

Uncaptcha Me

Plus généralement, root-me propose de nombreux défis ayant trait à la sécurité informatique, répartis dans diverses catégories :

  • App - Script
  • App - Système
  • Cracking
  • Cryptanalyse
  • Forensic
  • Programmation
  • Réaliste
  • Réseau
  • Stéganographie
  • Web - Client
  • Web - Serveur

Entre analyser des ELF, décoder le traffic réseau, identifier des antécédents de hashs, utiliser parcimonieusement la mémoire pour insérer des overflows, trouver rapidement un terme lointain d'une suite récurrente, retrouver une image XORée, et bien plus encore, le site root-me, une plateforme d'apprentissage dédiée au hacking et à la sécurité de l'information propose une large palette d'exercices qui ravira petits et grands.

Un test de Turing est une catégorisation de comportement parmi deux groupes : humains et ordinateurs. Un CAPTCHA est ainsi suppposé être à même de valider la preuve d'un travail humain. Ce qui s'oppose à la preuve de travail informatique (proof of work) sous-jacente à la validation des blocs au sein du protocole Bitcoin, qui est basée sur l'idée du Hashcash, originalement conçu pour... la lutte anti-spam pour les e-mails.

vendredi 14 avril 2017

Les codeurs de l'ombre

Suite de l'article Robozzle (parlant de LightBot et Robozzle), sur les nouvelles méthodes pour apprendre à coder.

Publiée en français aux éditions 404, la série Les codeurs de l'ombre (VO : Secret Coders) (T1 T2 T3) raconte les aventures d'une élève arrivant dans une nouvelle école. C'est une série initiatique sur l'apprentissage de certains concepts de programmation (binaire, variables, fonctions).

Secret Coders Characters

Les éditions 404 ont également publié des variations littéraires des escape games, des escape books, sortes de livres-jeux dont le but est de s'echapper du livre. Par exemple : Prisonnier des Morts.

Tynker est également une approche ludique intéressante pour apprendre à coder.

Enfin, pour s'initier à la logique sous pression, signalons Keep Talking and Nobody Explodes (KTaNE pour les intimes), un jeu coopératif dont le but est de désamorcer des bombes en équipe. Le manuel de déminage a été traduit en français.

Tout cela est très prometteur, si vous connaissez des initiatives francophones similaires n'hésitez pas à les signaler en commentaire.

mardi 19 janvier 2016

Générateur de générateurs

Les aficionados d'art aléatoire trouveront ici une liste de générateurs de textes, sur divers thèmes. Le but de cet article étant de constituer une collection de qualité de littérature générative combinatoire.

À tout seigneur tout honneur, viennent en premier les champions des discours creux, les politiciens.

Ce générateur de langue de bois, fidèle aux enseignements de l'ENA (École Nationale d'Administration), produit des discours politiques que pourrait tenir tout ministre en exercice.

Exemple de -long- discours politique produit par le générateur de langue de bois Exemple de -long- discours politique produit par le générateur de langue de bois

Mesdames, messieurs,

la démocratie participative doit réunir les atouts d'une majorité parlementaire qui responsabiliserait sur l'urgence écologique. Je désirerai que vous jaugiez que la formidable complémentarité des différents courants artistiques doit correspondre aux directives indispensables préalablement établies afin de poursuivre l'effort plus que légitime d'une recherche de la meilleure solution possible. Dès lors, sachez que je me battrai pour faire admettre que la complexité de la réalité Française encourage mon attrait avéré de progresser dans la direction d'un rassemblement des conditions de base pour construire sa vie et envisager son avenir. Aujourd'hui, je voudrais vous dire que la vrai question qui nous est posée en terme de maintien des acquis sociaux doit permettre la libre expression d'un plan correspondant véritablement aux exigences légitimes de chacun. Il faut savoir que la situation réelle doit mettre un coup d’arrêt au sentiment de fuite en avant d'une évolution quoiqu'il arrive indispensable à la préservation de notre mode de vie. J'aimerai que vous mesuriez avec discernement que l'effort prioritaire en faveur du statut précaire des exclus a pour effet voulu la pressante exigence d'une intelligence collective où la République tiendra sa promesse égalitaire.

C’est fort de cette unité et fort de votre présence que je peux aujourd'hui m'adresser à vous en cet instant solennel pour vous dire que la nécessité de répondre à votre inquiétude journalière, que vous soyez jeunes ou âgés, efforce notre conscience à l'inéluctable constat d'une société où nous aurions tous notre place. Inutile de chercher à vous convaincre, vous qui savez déceler le vrai du faux, si j'affirme avec force que le particularisme dû à notre histoire unique se trouve déjà à l'étape avancée d'une France forte, riche et attractive. Je serai toujours le premier à assurer que l’élan populaire tourné vers notre avenir commun propose concrètement l'opposition résolue d'une décroissance tangible du nombre d’individus dans la fatalité. Vous ne mettrez pas ma parole en cause si j'exprime le souhait de pointer du doigt que le projet réaliste et ambitieux pour faire de la ville la capitale de toutes les solidarités doit nous mener au recueil ouvertement irrésistible d'une valorisation plus généreuse des moins aisés. Je dois vous avertir que le développement équitable doit parvenir à la comptabilisation mensuelle d'une valorisation sans concession de nos caractères spécifiques. Je lance un appel à toutes celles et ceux qui veulent entendre que l'intensité habituelle des difficultés de l’entreprise contraint la plupart d'entre nous à repenser les fondements d'un temps et d'une époque en phase avec les innovations afin de ne pas être dépassé.

Je dois vous informer que le reflet de l'idéologie du moment doit renouveler la responsabilisation protectrice et la dynamique d'un déploiement visionnaire revivifiant. La démarche est si importante que je peux attester sans difficulté que le droit fondamental des femmes permet la reconnaissance absolue d'un seul vrai recours qui dit qu'il faut faire son devoir au quotidien. Où que nous mène la dualité de la situation conjoncturelle, l'intégration sociale au profit de la vie associative des quartiers doit prendre en compte les préoccupations de la population de base dans l'élaboration d'un monde plus égalitaire où personne n'aurait la sensation d'être exclu par une société de plus en plus exigeante. Le constat est tel que je peux certifier sans mal que la République du respect encourage la diversité et la sensibilité d'un progrès considérable soutenu par l'entente des différents partenaires sociaux. De plus, vous savez pertinemment que la France généreuse doit s'intégrer à la finalisation globale d'un réaménagement dans lequel quiconque pourra en définitive reconquérir sa distinction. Il faut résolument admettre que la tradition attachée à notre mémoire consubstantielle génère la profonde réflexion d'un retard en terme de gestion de contenu qui peut être très facilement rattrapé.

Je demeure entièrement assuré que la conjoncture actuelle interpelle le citoyen que je suis et nous oblige tous à aller de l'avant dans la voie d'une impulsion avançant vers d’avantage de consentement. Je tiens à vous dire ici ma détermination sans faille pour clamer haut et fort que l'escalade du coût de la vie, notamment en ce qui concerne les énergies fossiles atteint la restructuration profonde d'un avenir s'orientant vers plus de progrès et plus de justice. Beaucoup de nos concitoyens n’ont pas encore fait leur choix et pensent que le regain d'intérêt pour le paquet fiscal, nécessaire à l'augmentation du pouvoir d'achat pour tous entraine une mission somme toute des plus exaltante pour moi : l'élaboration d'une délégation ayant pour objectif la préoccupation de la totalité des problématiques de bon sens. Je garde la réelle conviction que la volonté farouche de sortir notre pays de la crise oriente la conscience collective dans la voie d'un mouvement cheminant vers plus d'unité. Je m'efforce sans relâche pour vous, afin que vous appréhendiez au mieux le fait que la mission qui nous a été confiée véhicule les valeurs d'humanisme d'une Europe socialement et économiquement redressée et capable de peser dans un mode multipolaire. Je confirme tout de suite que la société de consommation, telle que nous la connaissons, oblige à la prise en compte encore plus effective d'une France où les plus assidus seraient récompensés.

Je suis naturellement certain que la puissante divergence locale doit être au centre des débats d'une baisse effective du nombre de personne dans la détresse. Et c'est tout à fait sincère quand je déclare avec conviction que la sécurité des personnes connait, par définition, la tentation d'une rupture sans agitation partisane pour retrouver le chemin du vivre ensemble. En effet, c'est en toute prescience que je peux garantir présentement que l'aspiration plus que légitime de chacun au progrès social confirme l'inaliénable volonté d'une prise en charge complète des laissés pour compte. Il se trouve que la répercussion de l'augmentation récurrente des dépenses se concentre sur les citoyens et les forces sociales qui donne un nouvel élan à la France et qui rends possible, avec votre concours, les changements dont notre pays a besoin. Et c'est en toute honnêteté que j'atteste avec évidence que l'hégémonie du profit au détriment de l'humain a pour conséquence obligatoire l'urgente nécessité d'une exigence politique innovante. Et ce n'est certainement pas vous, mes chers compatriotes, qui me contredirez si je vous dis que la force et la richesse de la diversité guide le dialogue identitaire d'une France où collectivité rime avec solidarité.

Aujourd'hui encore plus qu'hier, personne ne me désavouera si je maintien que la réforme sur les régimes spéciaux nécessite de la majorité des Français qu'ils reconsidèrent le socle d'une prospection émérite, et c'est un symbole. Comme disent les Chinois : Qui n'est pas venu sur la grande muraille n'est pas un brave et qui vient sur la grande muraille conquiert la bravitude. Je ne peux affirmer le point de vue qui conduit à penser que la précaution essentielle de protection doit nous amener au choix réellement impératif d'un projet porteur de véritables espoirs, notamment pour les plus démunis. J'ose prendre des risques en vous disant que l'intelligence participative permet d'affirmer la prise de position résultante de l'ordre juste pour une France plus juste. Présentement, l'acuité des problèmes de la vie quotidienne pilote la clairvoyance fédérative sur la route de solutions rapides correspondant aux grands axes sociaux prioritaires. Il m'appartient de vous prévenir que l'autorité juste justifie la démarche vertueuse d'une autorité permettant la meilleure cohérence possible. Par ailleurs, c'est en toute connaissance de cause que je peux affirmer aujourd'hui que l'identité nationale dans notre pays qui perds ses repères prend la direction conditionnelle d'un suivi plus humain des moins fortunés.

Vous appréhendez sans nul doute que la situation d'exclusion que certains d'entre vous connaissent réitère l'élan nouveau d'une focalisation qui se traduit par un choc de méfiance. De plus, vous connaissez certainement la situation qui mène à dire que la montée des dépenses basiques doit insister sur la rupture du lien social et sur le sentiment de vide d'une société politique n’entendant plus assez l'appel répété des français. Je reste fondamentalement persuadé que le processus de concertation au niveau national et local est l’orientation acquise d'une société où vivre mieux ne rime pas forcement avec travailler plus. Je compte sur vous, raison pour laquelle je vous confie que l'approche sociale dans notre pays justifie les subventions publiques d'un processus allant vers plus d'égalité. Je vous garantis sauf inconduite que la dynamique vertueuse doit conduire à l'ouverture intégrale d'un programme plus humain, plus fraternel et plus juste. J'ai depuis longtemps défendu l'idée que l'exceptionnelle diversité culturelle doit décider de l'avenir d'au moins deux générations compte tenu de la lourdeur d'un encadrement plus propice à l'instauration d'un climat de confiance.

Il faut opiniâtrement accepter que l'effort indispensable de défense véhicule les prémices d'une perception des prémices de la récession dans laquelle se trouvent distinguées des repères utiles. Actuellement, la forte disparité régionale doit être le stimulus d'une postérité allant vers essentiellement plus d’équité. Il est tout à fait normal que je vous dise que la refonte du pacte républicain fait ressortir le réel attrait d'un monde nouveau où chacun ira à son rythme et où nous attendrons ceux qui vont un peu plus lentement sans freiner ceux qui veulent accélérer. J'ai toujours pensé que l'évolution sans concession de notre mode de vie doit s'assimiler à la notion intacte d'une restructuration dans laquelle chacun pourra enfin retrouver sa dignité. Pourquoi devrais-je essayer de vous convaincre, il suffit de regarder les chiffres et de constater que ceux-ci illustrent bien que la juste récompense de la promotion sociale conforte mon désir incontestable d'aller dans le sens d'une force sereine et progressiste qui remettra notre pays sur le chemin de la réussite.

Mesdames, messieurs, je vous remercie de votre attention. Par la même soyez assuré de ma réelle implication et du caractère profond de mon engagement concrétisé ici par les mots pour vous offrir un monde meilleur et plus juste.

Application : Franck Lepage crée un discours en direct (source : Scop le Pavé).

Vient ensuite le monde de l'entreprise et son jargon corporate.

Pour les start-ups entrant dans l'univers capitaliste de la levée de fonds, Pitch French Tech vous aidera à construire quelques phrases pour attirer les investisseurs (utilisables dans l'acsenseur (elevator pitch) ou sur Twitter). Exemple : Notre idée de startup est simple, c'est le Foursquare du massage thaïlandais pour les mères célibataires. Notre but est de nous installer en Thaïlande et poster des photos, comme tous les autres. Dans une seconde étape vous pourrez montrer une superbe présentation à toute une assemblée de business angels grâce aux slides générés par pipotronic, fournisseur de contenu textuel pour vos powerpoints, réunions, plaquettes corporate....

La présentation sera avantageusement complétée par ce générateur de discours universels remplis de grandes phrases qui ne veulent rien dire.

Pour l'univers mystico-médical, un générateur de personnalité basé sur l'effet Barnum, applicable aux consultations psychiatriques, horoscopes, tarot, divination, boule de cristal, cartomancie, etc. Le même site offre un générateur de phrases absurdes et inutiles pour briller en société et épater vos amis, le blablator. (Les lecteurs chez qui la phraséologie mystique réveille une vocation de marabout pourront bien sûr bénéficier d'un générateur de carte de medium.)

Exemple de blabla new age généré par le blablator Exemple de blabla new age généré par le blablator

Il est connu  que l'état pathologique  repose sur une violation des lois ésotériques du vide cosmique qui couvre l'Univers et constitue sa gangue.

Il faut bien prendre en considération le fait avéré que la puissance des forces ancestrales de l'humanité représente une relativité ontologique inséparable d'une relativité énonciative, au sens axiologique, et n'est possible qu'à travers la médiation de machines autopoïétiques.

Au regard de ce qui précède, nous pouvons donc affirmer sans ambages que l'objectivité résiduelle est ce qui résiste au balayage de l'infinie variation des points de vue constituables sur lui.

Les adeptes du New Age anglophones pourront se tourner vers ce générateur cosmique.

Pour la vie personnelle et professionnelle, le site Flemmardise propose des générateurs de lettres d'amours pour femmes, pour hommes, de lettres d'insultes pour femmes, pour hommes, de lettres de ruptures pour femmes, pour hommes, et pour le monde du travail, de lettres de licenciement, et de lettres de démission pour femmes et pour hommes.

Enfin, pour les visiteurs les plus architectes, des générateurs de générateurs (meta-générateurs) : Charabia, et l'historique Dada Engine.

En conclusion, un poème généré par ordinateur :

Comptine aléatoire

lundi 28 septembre 2015

RoboZZle

...ou comment s'initier à la programmation via des jeux sérieux (serious games).

Lightbot est un petit jeu de logique qui propose aux plus jeunes et aux débutants d'appréhender des concepts de programmation comme les instructions, les branchements conditionnels, les boucles, etc, sans avoir à taper du code. Lightbot est un jeu de logique, un casse-tête dont le fonctionnement est basé sur des concepts de programmation. Le jeu est très esthétique, l'objectif de chaque niveau est d'aider un robot à allumer des cases au moyen de commandes.

robozzle-lightbot.png

Jouer en ligne à Lightbot.

Application version junior (4-8 ans) pour smartphone/tablette : Android, iOS.

Application version standard (9 ans et plus) pour smartphone/tablette : Android, iOS.

Robozzle est un jeu plus avancé créé par Igor Ostrovsky, dont le principe est très bien expliqué par le CANOPÉ d'Amiens : étant donné un terrain (constitué de cases carrées bleues, rouges, vertes ou "vides"), comportant une liste d'objectifs (des étoiles), et une position et direction initiale pour un robot, il faut fournir un programme pour le robot qui le fasse passer par tous les objectifs, en un nombre limité (1000) d'étapes et sans sortir du terrain ni passer par une case "vide".

robozzle-icon.png

Le programme du robot est organisé en plusieurs "fonctions", nommées F1 à Fn (avec n variant selon le niveau), et comportant chacune un nombre de pas de programme limité, selon le niveau. Sans inscription pour jouer directement ou avec inscription pour créer vos propres puzzles. Le "langage" du robot est constitué des instructions suivantes (selon le niveau, toutes les instructions ne sont pas nécessairement disponibles) :

  • Avancer
  • Tourner de 90° à droite
  • Tourner de 90° à gauche
  • Appeler une des fonctions (le robot gère une pile d'appels classique)
  • Fixer la couleur de la case actuellement occupée par le robot à une des trois couleurs de terrain.

Toute instruction peut de plus être conditionnée par une des trois couleurs de terrain, auquel cas le robot n'exécutera cette instruction que s'il se trouve sur une case de la couleur correspondante.

Quelques niveaux standards / rigolos : Simple Loop (màj : ne semble plus exister), , Simple Cross,Flooder (màj : ne semble plus exister), Cube Extreme, Turn around.

Pour apprendre l'empilement et la récursion : Recursion Review, Learning Stack, Boomerang, Second kind of memory, Limit yout stack!.

Plus difficiles mais qui en valent la peine : learning the call stack, Power-of-2 generator.

Jouer en ligne à RoboZZle (version javascript), il y a aussi une app : RoboZZle Droid.

Fix the Factory est un jeu similaire, développé par Lego, où un robot doit traverser une salle en contournant les différents obstacles.

Une autre façon visuelle de programmer est la programmation diagrammatique, du style de Lego Mindstorms ou de LabView.

Un jeu de plateau similaire et plus guerrier : Roborally.

Scratch, enfin, est un environnement pédagogique complet développé par le MIT dédié à l'apprentissage de la programmation.

Source : CANOPÉ Académie d'Amiens

lundi 8 septembre 2014

Sauver ses bitcoins de la corruption

Après avoir sauvé sa clef USB, voilà un potentiel moyen de sauver les bitcoins contenus dans un wallet.dat corrompu.

Lorsque le wallet.dat contient des erreurs, bitcoind refuse de le charger, et justifie cela par le message suivant :

EXCEPTION: St13runtime_error
CDB : Error 30, can't open database wallet.dat
bitcoin in Runaway exception

Cela traduit que suite à une erreur d'écriture ou à un quelconque dysfonctionnement, le fichier wallet.dat de bitcoind/bitcoin-qt/bitcoin-core est corrompu et illisible par le client. Or ce fichier contient entre autres toutes les clefs privées des adresses gérées par le portefeuille. 3 cas se présentent alors.

  • Vous avez une copie de secours (backup) à jour du portefeuille ou un dump des clefs privées.
  • Vous avez une copie de secours, mais pas à jour.
  • Vous n'avez pas de copie de secours, ou la copie que vous avez s'avère aussi être corrompue.

Dans le premier cas, tout va bien, il suffit de restaurer la copie ou d'importer le dump.

Le second cas peut advenir lorsqu'entre la sauvegarde de la copie et la corruption du fichier ont eu lieu des transactions. Par exemple, la création d'une nouvelle adresse de réception suivie d'un transfert vers cette adresse. Mais aussi, un envoi de bitcoin peut conduire à cette situation : une adresse A disposant de 10 BTC envoyant 1 BTC vers l'extérieur B envoie simultanément 9 BTC à une adresse de change C qui vient se greffer au portefeuille (c'est une des subtilités du protocole bitcoin pour éviter la double dépense ceci afin de dissimuler dans l'écriture publique de la transaction quelle est la dépense et quel est le reste). Si uniquement la clef privée de A se trouve sur la sauvegarde et pas celle de C, au revoir les 9 BTC si la restauration écrase le fichier corrompu[1].

Dans le troisième cas, pas de backup, il ne vous reste plus que les yeux pour pleurer.

À moins que... bonne nouvelle, il est peut-être possible de récupérer quand même vos pièces virtuelles.

Note

[1] Pour remédier à cette dernière situation, les développeurs de bitcoin ont implémenté un key pool, une sorte de réserve d'adresses libres destinées à être utilisés dans le futur. Ces dernières sont enregistrées dans le portefeuille et la réserve est rechargée en nouvelles adresses à chaque copie de secours effectuée depuis le client.

Lire la suite...

mercredi 24 juillet 2013

Boîte miroir, théorie

Sans trop s'avancer, toute personne qui a lu le livre Gödel, Escher, Bach de Douglas Hofstadter a essayé de filmer un écran ou de mettre face à face deux miroirs se reflétant à l'infini.

Une expérience de pensée étendue consiste à fabriquer une boîte dont l'intérieur ne serait constituée que de matériau réfléchissant (des miroirs), et à imaginer ce que quelqu'un sur place verrait avec toutes ces réflexions (on peut aussi penser aux labyrinthes de miroirs dans les parcs d'attraction).

En mode cubique, une telle boîte kaléidoscopique est facile à fabriquer logiciellement[1] avec un traceur de rayons tel povray. Vue de l'extérieur, une apparence naturelle de cube innocent :

Boîte miroir vue de l'extérieur

Mais à l'intérieur, on ajoute quelques bougies pour avoir une source de lumière, et un univers sans fin est créé :

Boîte miroir vue de l'intérieur

Voilà pour la théorie. Reste à voir ce que ça donne en pratique.

Mise à jour (août 2013) : pour la pratique, voir ici.

Note

[1] Merci d'utiliser le merveilleux formulaire de contact si vous voulez récupérer la scène povray associée.

vendredi 15 février 2013

Parc du prince

Le code source originel du jeu Prince of Persia, mentionné dans l'entrée 5 jeux en flash, a été libéré par son auteur Jordan Mechner.

C’est son père qui, il y a trois semaines, en faisant du rangement, a retrouvé dans un carton trois vieilles disquettes 3.5″, âgées de plus de 20 ans, dans lesquelles se trouvait encore le précieux code source du jeu.

Prince of Persia, de façon très indirecte, a beaucoup influencé le style et le contenu du Radjaïdjah Blog.

Source : Florent Gallaire.

jeudi 10 janvier 2013

Successful random papers

The famous internet RFC 2795 (The Infinite Monkey Protocol Suite) states that a monkey hitting keys at random on a typewriter keyboard for an infinite amount of time will almost surely type a given text, such as the complete works of William Shakespeare.

A modern variation of this monkey-fed typewriter consists of programs outputting random text sequences from a words database and a set of rules called grammar. Such programs are nicknamed generators.

Examples of generators in the area of science are SCIgen who produces meaningless computer science papers, or Mathgen who creates nonsensical math papers. The latter provides even the source code to generate full-size random e-books featuring custom-named authors, which can then be printed out at Lulu.

One can think that target journals for publication of such gems should be world-class journals such as the Journal of Irreproducible Results or the Journal of Universal Rejection, where no failure is to expect.

But it happens that from time to time so-called random papers are accepted in real-world publications. For example, a paper entitled Deconstructing Access Points has been accepted in The Open Information Science Journal, whereas Independent, Negative, Canonically Turing Arrows of Equations and Problems in Applied Formal PDE has been accepted in Advances in Pure Mathematics. As far as conferences are concerned, the talk Rooter: A Methodology for the Typical Unification of Access Points and Redundancy has been accepted at the WMSCI2005 and the talk Towards the Simulation of E-Commerce has been accepted at the 2008 International Conference on Computer Science and Software Engineering.

This highlights that some slimy journals or conferences are ready to accept fees to publish irrelevant non-peer-reviewed papers while it may be deduced that some authors are ready to pay (institutional) money in exchange for easy CV bullets.

It also reminds of Georges Perec's Experimental demonstration of the tomatotopic organization in the Soprano (pdf) and of the Sokal affair[1], which was more of a critic of post-modernism.

Update (March 2015): a more recent hoax in sociology has been ployed and unveiled by Arnaud Saint-Martin and Manuel Quinon after their postmodern-funny-gibberish paper entitled Automobilités postmodernes : quand l'Autolib' fait sensation à Paris has been accepted and published in Sociétés, a journal whose editor-in-chief is the French iconic sociologist Michel Maffesoli.

Note

[1] In 1996 Physics professor Alan Sokal managed to publish his manuscript Transgressing the Boundaries: Towards a Transformative Hermeneutics of Quantum Gravity in the Social Text Spring/Summer "Science Wars" issue. The text included jokes such as: Just as liberal feminists are frequently content with a minimal agenda of legal and social equality for women and 'pro-choice', so liberal (and even some socialist) mathematicians are often content to work within the hegemonic Zermelo–Fraenkel framework (which, reflecting its nineteenth-century liberal origins, already incorporates the axiom of equality) supplemented only by the axiom of choice.