Catégories
Processing Programmation

Nombres entiers aléatoires avec pas différent de 1

Pour générer un entier aléatoire avec un « pas » différent de 1, on peut faire comme ça:

  1. générer un nombre aléatoire (généralement un float)
  2. le diviser par le pas voulu
  3. l’arrondir
  4. le multiplier par le pas

Ca marche bien si les bornes (ci-dessous 30 et 50) sont des multiples du pas.

Exemple: Pas de 5 entre 30 et 50

void draw() {
  println(round(random(30, 50) / 5) * 5);
}

Si les bornes ne sont pas des multiples du pas, il faut en tenir compte:

  1. calculer la plage (max – min)
  2. générer un nombre aléatoire dans la plage avec un pas comme ci-dessus
  3. ajouter le min

Exemple: Pas de 5 entre 32 et 42

void draw() {
 println(32 + round(random(42 - 32) / 5) * 5);
}
Catégories
Internet JavaScript

Facebook anti partage et j’aime forcé

Certains site hébergent des vidéos ou du contenu qu’on est obligé d’aimer ou de partager sur Facebook avant de pouvoir les voir. Je n’aime pas être forcé de la sorte et bien que très souvent le contenu n’en vaut pas vraiment la peine, j’aime le défi qui consiste à faire sauter la barrière Facebook.

Généralement il y a moyen de bricoler pour faire sauter la protection. C’est différent sur chaque site, mais quand j’ai le temps de chercher et que je la trouve, je mettrai la solution ici.

Catégories
Processing Programmation

Processing error « WARNING: RXTX Version mismatch »

Problem

Using Processing 1.5.1, I used to have this message when starting a sketch using serial communication:

WARNING: RXTX Version mismatch
Jar version = RXTX-2.2pre1
native lib Version = RXTX-2.2pre2

Also, I get another error when quitting the sketch:

APP_NAME a quitté de manière imprévue lors de l'utilisation du module librxtxSerial.jnlilib.

Invalid memory access of location 0xb19bdb60 eip=0x6301c90c

Solution

The easiest solution I found is to download Arduino (1.0.1 at that time) and copy 2 fils from Arduino folder to Processing folder.

  • Quit Processing
  • Open Arduino and Processing packages (right click application file, show package content)
  • Find RXTXcomm.jar and librxtxSerial.jnilib in /Applications/Arduino.app/Contents/Resources/Java
  • Find the same files in Processing package (in /Applications/Processing.app/Contents/Resources/Java/modes/java/libraries/serial/library and the macosx subfolder)
  • Copy each file from Arduino folder and replace them in Processing folder
Catégories
Processing Programmation

Kaléidoscope

Cet exemple Processing utilise la classe PGraphics et un masque pour extraire un secteur circulaire d’une image et le reproduire en plusieurs exemplaires, à la manière d’un kaléidoscope.

Catégories
Processing Programmation

Perlin noise: une alternative à random()

La fonction Perlin noise est un générateur de séquence aléatoire qui produit une succession de nombres plus naturellement ordonnée, harmonique comparée à la fonction standard random(). Elle a été inventée par Ken Perlin en 1980 et a été utilisée depuis dans des applications graphiques pour produire des textures procédurales, des mouvements naturels, des formes, des terrains, etc.

Cette application permet de tester différents paramètres liés à la fonction noise() de Processing et de voir les résultats en temps réel.

Catégories
Internet

15 astuces pour ne plus se faire piéger sur le Net

Voici un bon résumé des menaces qui nous guettent sur Internet et auxquelles il faut donc faire attention.

Un homme averti en vaut deux (une femme aussi, d’ailleurs, à peu près dans les mêmes proportions)

A lire, relire, garder et relire de temps en temps.

http://www.commentcamarche.net/faq/32768-15-astuces-pour-ne-plus-se-faire-pieger-sur-le-net

Catégories
Programmation

Solution to disturbing default reminder for Outlook all-day events

Outlook users can define default reminder time for new calendar event. However this applies to normal events with a start hour, not to all-day events. For those events, there is a default value of 18 hours, which sets the reminder at 6am the previous morning. Most people don’t want to be reminded so early.

So I built a solution with a few lines of code to add to Outlook.

This code verifies the reminder hour when a calendar item is saved. If it is set before a minimum hour (default 9am) or after a maximum hour (default 8pm), an alert proposes a new reminder time. The user can accept or deny the proposed value or cancel the closing in case he wants to set another value manually.

Catégories
Internet

email en copie invisible seulement

Depuis longtemps je recevais de temps en temps des emails non décodés, pleins d’informations peu incompréhensibles et des blocs de chiffres et lettres complètement illisibles. J’ai enfin trouvé l’explication et je recommande la lecture de ce billet à tous ceux qui m’envoient ces emails afin qu’ils sachent qu’une partie de leurs destinataires a de la peine à les lire et comment résoudre le problème.

Catégories
Programmation

Choisir la bonne police pour taper du code

De temps en temps, je me repose la même question: est-ce qu’il n’y aurait pas une autre police plus adaptée à l’écriture de code que celle que j’utilise actuellement ?

Les critères principaux d’une bonne police pour le développement sont:

  • monospace pour pouvoir aligner facilement les commentaires et autres blocs de code
  • pouvoir distinguer facilement les o, O et 0 (zéro) ainsi que les i, I et l et L
  • que les {} soient bien lisibles, par rapport aux [] et ()

J’en reviens toujours à Courrier New, mais chacun peut se faire rapidement une idée de ce que donnent les alternatives sur cette page: http://www.codeproject.com/KB/work/FontSurvey.aspx

Edit: j’ai fini par adopter Consolas.

Catégories
Internet JavaScript Programmation

Bookmarklet pour régler le problème de cookies sur localhost avec FireFox

FireFox n’accepte pas les cookies sur http://localhost/… C’est un problème connu et une solution simple est d’utiliser un nom de machine au lieu de localhost.

Si vous avez, comme moi une collection de liens sur localhost, le changement manuel de localhost en ma-machine dans l’url est pénible. Ce bookmarklet (localhost<->ma-machine) le fait automatiquement. Il suffit de le glisser dans une barre de favoris, puis de l’éditer et changer le nom « ma-machine » par celui de votre machine.

Lorsque vous voulez changer l’url de la page courante de http://localhost/ma-page.php en http://ma-machine/ma-page.php, il suffit de cliquer sur le bookmarklet de votre barre d’outils.