Blog Archives

Compiler un exécutable pour Android

Je vais présenter dans ce billet comment compiler un exécutable ARM pour Android, l’intégrer à un APK et l’utiliser dans une application. À titre d’exemple, nous allons intégrer un programme natif, udpxy, dans une application minimale de lecture vidéo. Contexte Le framework multimédia d’Android ne supporte pas nativement la lecture de flux UDP multicast (1, […]

Lecture différée de la webcam d’un Rasberry Pi

L’objectif de ce billet est de parvenir à lire le flux provenant de la caméra d’un Raspberry Pi avec un décalage de quelques secondes (plutôt qu’en direct), avec les outils dédiés que sont raspivid et omxplayer. Contexte Là où je travaille, il y a un babyfoot. Nous avons récemment décidé de l’informatiser un peu pour […]

Le mixage audio

Que se passe-t-il lorsque nous percevons le son provenant de plusieurs sources audio simultanément, par exemple lorsque plusieurs personnes parlent en même temps ? Dans la réalité, ce que nous entendons est la somme de chacun des signaux. Mais si nous voulons mélanger plusieurs pistes audio numériques, nous rencontrons un problème : chaque échantillon d’un signal audio […]

Paradoxes probabilistes

Ce sont des cas d’école, mais j’adore ces quelques paradoxes. La simplicité de leurs énoncés et l’évidence de leur solution nous permettent de répondre en quelques secondes, sans aucune hésitation. Mais en nous trompant. Deux enfants Un couple a deux enfants dont l’un d’eux (au moins) est une fille. Quelle est la probabilité que l’autre […]

Programmes auto-reproducteurs (quines)

Vous êtes-vous déjà demandé comment écrire un programme qui génère son propre code source ? Si vous n’avez jamais essayé, je vous conseille de prendre un peu de temps pour y réfléchir avant de lire la suite. Ce n’est pas évident, car chaque caractère ajouté dans le code source doit également apparaître sur la sortie… Un […]

Résoudre le cube-serpent 300 fois plus rapidement en C

Il y a 3 semaines, j’avais écrit un solveur de cube-serpent en Python. Un commentaire, en apparence anodin, m’a mis dans la tête une question que je ne pouvais pas laisser sans réponse : combien de fois plus rapidement s’exécuterait le même algorithme implémenté en C que celui en Python (interprêté) ? 2× ? 10× ? 50× ? Pour y […]