Catégories
Uncategorized

Nommer ses fichiers comme un pro

Différentes versions d’un fichier. Mais quelle est la plus récente ?

Les suffixes OK, OK OK, final, final final, etc… pour différencier les versions d’un fichier ne sont pas très pratiques et ne donnent pas une image très professionnelle.

Il y a plusieurs manières de faire mieux. Voici trois propositions.

Catégories
Git Programmation Unity

Smartly git ignore assets from the store

# Add to .gitignore

!Assets/Oculus/
Assets/Oculus/*

# ... read more for full config

In a Unity project, we often use assets from the Asset Store or other sources which sometimes happen to be quite big. For example Oculus Integration uses almost 700 MB. There is no point adding this whole folder to git when you can download it from other source. This is especially important when your git repository has size limits, like with GitHub, Gitlab, Bitbucket, etc.

This post shows a way to ignore such a folder, but still track important files such as configuration or a readme file to track the current version and location to install/update.

Catégories
Programmation Unity

Lancer une app Unity sur Oculus Quest

Une application créée avec Unity par exemple, n’apparait pas directement parmi les autres applications sur un casque VR Oculus.

Cette vidéo montre où la trouver et comment la lancer sans devoir la recompiler à chaque fois.

En option, elle montre aussi l’étape d’activation du suivi des mains, ce qui est demandé si l’application le nécessite, comme dans cet exemple.

Catégories
Programmation

Enregistrer une vidéo 16:9 sur Oculus Quest

Vidéo 1920 x 1080 enregistrée directement sur Oculus Quest 2

Par défaut, les vidéos enregistrées sur un casque de réalité virtuelle Oculus Quest ou Oculus Go sont au format carré de 1024 x 1024 pixels.

Voici comment enregistrer des vidéos au format et à la taille que vous voulez, par exemple 1920 x 1080.

Catégories
p5.js Processing Programmation

Understand and play with translate() and rotate()

p5.js and Processing both have a translate() and rotate() function that basically allows to change default position and orientation of axis.

The p5.js sketch available below allows to play with their parameters and immediately see the result as in this demonstration video.

Catégories
Internet

Compte utilisateur Infomaniak et adresse(s) e-mail

Cet article explique la différence entre un compte utilisateur Infomaniak et son adresse e-mail afin d’éviter les confusions, les problèmes d’accès et savoir quel mot de passe utiliser.

Catégories
Internet

Partager des photos

Lorsqu’on veut partager des photos, il existe plusieurs moyens de le faire. Souvent un groupe existe déjà dans une messagerie instantanée et on peut se contenter d’envoyer les photos dans le groupe, chacun pourra alors les télécharger sur son appareil mobile ou utiliser une version de bureau de la messagerie. Cependant, selon les systèmes, la qualité des images partagée ou les métadonnées peuvent être altérées ou perdues.

Cet article analyse le cas particulier de WhatsApp et montre quelles données sont perdues.

Catégories
Internet

Comment reconnaître le hameçonnage ?

Savez-vous reconnaitre un e-mail de hameçonnage ?

Si la réponse est non, lisez la suite.

Catégories
Processing Programmation

Resize event in Processing sketch

Here is how to make the Processing window resizable AND get an event when the window is resized.

Tested with Processing 3.

// For resize event
import java.awt.Canvas;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentAdapter;


void setup() {
  surface.setResizable(true);

  ((Canvas)surface.getNative()).addComponentListener(new ComponentAdapter() {
    @Override public void componentResized(ComponentEvent e) {
      println("resized " + width + " " + height);
    }
  }
  );
}

Catégories
Arduino Programmation

State machine Arduino demo

The LED is either blinking or glowing, but not at the same time. This simple example is a use case for a state machine.

The video shows the led alternating between blinking and glowing using a StateMachine objet and two State inherited objects.

When it comes to program complex interactions with Adrduino, we may benefit from using state machines. This allows to separate the code needed to manage different states of the applications and easily switch from one stat to another.