PROJET AUTOBLOG


BohwaZ

Site original : BohwaZ

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

De PalmOS à Android en musique et en visuel avec SunVox, PixiTracker et PixiVisor

lundi 2 septembre 2013 à 13:51

Alexander Zolotov est un de ces génies dont on se dit qu'il ne doit pas beaucoup dormir. D'abord il est à l'origine de l'un des logiciels de musique électronique les plus complets au monde : SunVox. À l'origine disponible sur PalmOS, il tourne maintenant aussi sur Windows, OSX, Linux, Maemo, Windows Mobile, iOS, Android et MeeGo (ouf !). Si ça c'est pas un logiciel multiplateforme !

SunVox

Il fonctionne évidemment au top et même sur de vieux Palms il encaisse parfaitement des morceaux complexes. Bref ce logiciel est une petite merveille. Pour vous en rendre compte il y a bien sûr le groupe SunVOX sur SoundCloud mais aussi surtout les albums d'Alexander, sortis sous le pseudo de NightRadio. Le premier, Back To The Source est disponible sous la forme peu commune d'un binaire Windows/Linux qui en plus de vous faire écouter la musique telle qu'elle a été composée vous affiche les instruments virtuels qui jouent en live, c'est un peu un mode "visualisation" de SunVox si on veut, bref un album multimédia. Le second, Soul Resonance part du même principe mais en plus joli et cette fois-ci créé avec le langage de programmation du même Alexander : PixiLang.

Ce langage a donné vie à un nouveau projet dénommé PixiTracker, un tracker simplissime pour iOS/OSX/Android/Windows/Linux qui permet de créer très simplement et ludiquement de la musique 8-bits. L'interface est d'ailleurs superbe et un véritable exemple d'ergonomie.

PixiTracker

Il existe en version 16-bits et 1-bit ce qui varie la qualité des samples et donc de la musique résultante. Un player autonome et open source vous permet de réutiliser le moteur de lecture pour un projet d'album visuel par exemple. Là encore un groupe sur SoundCloud vous donnera quelques idées de ce qui est possible.

Mais le logiciel le plus incroyable est probablement PixiVisor. Alexander avait déjà sorti il y a quelques années Virtual ANS un petit logiciel permettant de transformer une image JPEG en fichier audio et vice-versa. Le résultat était étrange mais bizarrement légèrement musical quand même.

PixiVisor

Ici c'est un cran au dessus. Le principe est simple : un appareil émetteur crée une image animée et la diffuse par le son en temps réel, un appareil récepteur retranscrit alors ce son (reçu via une prise jack ou via un microphone) en temps réel en une image. Évidemment c'est pas comme ça qu'on va transmettre de la HD en temps réel, c'est limité à du 64x64 pixels en 10 fps mais tout de même c'est exceptionnel ! Évidemment on pense tout de suite à tout ce que ça peut permettre notamment dans le domaine du VJ-ing (création vidéo en temps réel pour accompagner de la musique électronique), où la musique deviendrait une vraie composante de la vidéo et vice-versa. Mais aussi aux possibilités infinies que cela permet à ceux plus habitués à travailler le son, par exemple il est possible de mélanger plusieurs vidéos via une table de mixage sonore ! Il suffit de regarder les vidéos montrant le logiciel pour voir le potentiel.

Bref cet artiste/programmeur russe me surprend à chaque projet avec quelque chose de génial, j'ai hâte de voir et entendre la suite !

Mozilla ne souhaite pas respecter le "Do Not Track"

vendredi 2 août 2013 à 13:34

Le Do Not Track est un dispositif permettant d'indiquer aux sites web que vous ne souhaitez pas être "traqué" (à des fins publicitaires, statistiques, etc.). Mozilla a participé à ce standard et a été le premier navigateur à l'implémenter.

Pourtant visiblement ça les dérange pas d'activer du tracking sur les sites mozilla.org et autres, au détriment du respect de ce souhait de l'utilisateur. Et ce en incluant un script de suivi des statistiques de Google Analytics. Google qui est aussi le principal et investisseur quasi unique de la Mozilla Foundation. Et quand on soulève le problème sur leur gestionnaire de bug la réponse est : ce n'est pas du tracking parce que Google a promis de ne pas recouper les données des utilisateurs. Circulez y'a rien à voir...

(via LinuxFR.org)

Le web est une poubelle, et tout le monde s'en fout

vendredi 2 août 2013 à 12:24

Depuis maintenant neuf mois que je voyage en Australie sur les routes, mon seul accès au net est via les accès WiFi publics (bibliothèques, centre villes, etc.) ou via une clé 3G-WiFi. Il faut savoir qu'en Australie tous les accès à Internet sont limités. Pour la 3G il n'y a quasiment pas de fair-use, et je paye 20 dollars (15 €) pour 5 Go de données. Les WiFi publics sont limités aussi, souvent à 50 Mo par session. Pour l'ADSL c'est la même chose : pour 60 dollars par mois (45 €, engagement de 24 mois) vous aurez droit à 50 Go de quota chez la plupart des opéraDepuis maintenant neuf mois que je voyage en Australie sur les routes, mon seul accès au net est via les accès WiFi publics (bibliothèques, centre villes, etc.) ou via une clé 3G-WiFi. Il faut savoir qu'en Australie tous les accès à Internet sont limités. Pour la 3G il n'y a quasiment pas de fair-use, et je paye 20 dollars (15 €) pour 5 Go de données. Les WiFi publics sont limités aussi, souvent à 50 Mo par session. Pour l'ADSL c'est la même chose : pour 60 dollars par mois (45 €, engagement de 24 mois) vous aurez droit à 50 Go de quota chez la plupart des opérateurs. Bref vous faites gaffe à ce que vous faites pour garder votre quota...

Et s'il n'y avait que ça, mais la 3G est poussive, et dans les villes les réseaux sont saturés dès 17-18h jusqu'à 22-23h, avec des débits à pleurer, parfois de l'ordre de 1Ko/s. Le reste de la journée ça va mieux, mais reste le problème du quota. Je pensais qu'avec 5 Go je ferais pas mal de choses, je pourrais même télécharger un peu de musique, genre le dernier Lacrymosa sur Altermusique.org, mais je me suis vite rendu compte que mes sessions web bouffaient le quota à vitesse grand V.

Du coup surfer sur le web me fait souvent m'arracher les cheveux. Car les sites web de nos jours sont conçus par des gens qui sont connectés 24h/24 à la fibre, ou à de l'ADSL illimité comme en France. Des gens qui n'en ont rien à foutre de vous faire charger des centaines d'éléments inutiles sur chaque page. Bref des incompétents qui n'ont aucune idée des usages des vrais gens.

Prenons un exemple : Twitter. Ce service propose de relayer des messages de 140 caractères. Déjà passons sur le fait qu'il est impossible de se retrouver dans l'historique des messages de sa timeline : aucune pagination, aucune mémorisation de ce que vous avez lu. Donc quand on n'a pas que ça à foutre de rester connecté 24/24 à suivre des prouts et des images de chatons, bon courage pour retrouver les messages que vous n'avez pas pu lire. Il faut aller sur la timeline et cliquer sur « More Tweets » des dizaines de fois, charger plein de conneries. Ou alors si vous avez activé Javascript il faut faire défiler la page et attendre que le Javascript veuille bien charger l'historique. Rappelez-moi quel est le crétin qui a décrété que le « défilement sans fin » devait remplacer la pagination ? C'est encore pire !

Mais sans même parler de l'ergonomie déplorable de ce site (qui possède des centaines de développeurs, des ergonomes, des designers, etc. et sans parler du chiffre d'affaire colossal), il suffit de vouloir aller voir un tweet en particulier pour constater qu'ils sont nuls à chier leurs dévs. Prenons un exemple : le message de Sam Hocevar de ce 2 août 2013 qui dit « Tapie : c’est par terre ? ». Il fait 25 caractères. 25 octets. Je veux aller le lire, combien va faire la page ? 100, 200, 300 Ko ? Et non c'est pire : 528 Ko. Et encore c'est compressé.

Je veux bien être gentil et dire que la présentation, les menus, tout ça, une page de 100 Ko serait correcte vu que la page ne contient quasiment rien. Mais là franchement, quel foutage de gueule.

Alors, à quoi ça sert tout ça hein ? Déjà il y a 15 Ko de HTML compressé. Une fois décompressé ça donne plus de 100Ko. Y'a déjà un petit souci à ce niveau. Surtout qu'en regardant de près, on y voit plein de CSS/JS imbriqué pour faire trois fois rien (8Ko de CSS pour définir 4 couleurs et 2 images de fond, chapeau), et des tas d'éléments vides qui ne servent qu'à la présentation et au javascript. Je pense que le web sémantique ils doivent pas connaître chez Twitter, surtout quand on voit des perles comme ça :

  <li class="dropdown-divider"></li>

ou encore :

  <li class="dropdown-caret">
    <span class="caret-outer"></span>
    <span class="caret-inner"></span>
  </li>

Vous vous souvenez du design avec des tables ? Twitter lui fait du design avec des listes. Y'a pas à dire, on a grandement évolué...

Vous dites oui mais y'a le cache des éléments statiques. Oui bien sûr, sauf que pas mal d'éléments ont un cache qui ne dure qu'une demie-heure et évidemment mon disque dur n'est pas extensible à merci (sans compter la gestion chaotique des fichiers de cache par Firefox), et je me retrouve à télécharger toutes ces merdes à chaque session...

Twitter est un exemple criant de disproportion, mais je pourrais aussi vous parler de Facebook, dont les pages sont tellements lourdes à charger que si j'en charge une ça bloque le chargement des autres pages. C'est à dire que le chargement d'une page Facebook arrive à saturer une connexion 3G à 2 Mbps pendant plusieurs secondes.

On pourrait penser que des développeurs plus sensibilisés feraient mieux. Oui, mais non. Par exemple le Shaarli de Sebsauvage.net fait 100 Ko, dont 80 de jQuery, tout ça pour... cacher des boutons.

<script>
$(document).ready(function() {
	$('a.qrcode').click(function(){
	  hide_qrcode();
	  var link = $(this).attr('href');
	  $(this).after('<div class="qrcode" onclick="hide_qrcode();return false;"><img src="'+link+'" width="200" height="200"><br>click to close</div>');
	});
});
function hide_qrcode() { $('div.qrcode').remove(); }
</script>

Alors que ça serait bien plus efficace et léger en Javascript natif (arrêtez de faire du jQuery bordel, si vous mettez du javascript dans votre page faites du javascript) :

<script>
(function () {
	document.addEventListener('DOMContentLoaded', function () {
	    document.querySelectorAll('a.qrcode').forEach(function ()
	    	this.onclick = show_qrcode;
	    });
	});

	var show_qrcode = function () {
		hide_qrcode();
		var link = this.getAttribute('href');
		this.innerHtml += '<div class="qrcode" onclick="hide_qrcode();return false;"><img src="'+link+'" width="200" height="200"><br>click to close</div>';
	};

	var hide_qrcode = function () {}
        var div = document.querySelector('div.qrcode');
        div.parentNode.removeChild(div);
    };
} ());
</script>

Un autre exemple : cet article sur le blog de m0le. La page fait 313 Ko. Y'a plein de JS pour faire des trucs rigolos, je sais pas si ça sert mais admettons qu'on veuille les garder. Rien qu'en activant Adblock Edge (remplaçant communautaire d'Adblock), Ghostery et en bloquant cette merdasse inutile qu'est WOT (qui bloque d'ailleurs certains de mes sites sans raison), on descends à 200 Ko. Sérieusement, 113 Ko de tracking, pub et autres gadgets dont je n'ai que foutre comme 99% des visiteurs.

Aller s'il vous plaît un petit effort, pensez au tiers-monde numérique, arrêtez de surcharger vos pages !

Joyeux anniv' sebsauvage !

mardi 9 avril 2013 à 13:37

40 ans

Timo m'a fait part d'une initiative collective visant à souhaiter l'anniversaire de sebsauvage ensemble, au même moment, pour lui faire une jolie et belle surprise.

J'avoue que je me sens obligé et heureux d'y participer.

En effet seb (on peut se tutoyer hein depuis le temps), je te connais depuis longtemps. Depuis 1999 en réalité. D'une époque où je n'avais que 14 ans et où je surfais sur le web en mode texte sur mon minitel avec le 3615 INTERNET d'AlternB (Valentin Lacambre), où je checkais mes mails sur le 3614 FREE et où je visitais des sites web sur CD-ROM qui étaient fournis avec des revues que j'allais acheter chez le marchand de journaux. Bref une époque où je n'avais pas Internet chez moi. Une époque où pour avoir accès à Internet en France il fallait payer un abonnement mensuel de l'ordre de 15 € et les communications téléphoniques à la minute de l'ordre de 0,50 €. Bref un sacré luxe que je ne pouvais pas me payer.

C'est à cette époque que je suis tombé sur ton site (si mes souvenirs sont bons) distribué sur le CD-ROM de l'Écho du Village, où tu avais également écrit des articles très didactiques sur le fonctionnement du MP3 (j'ai encore le magazine chez moi !). J'ai adoré les explications sur l'informatique, j'ai apprécié les coups de gueule et les liens vers des logiciels de qualité. Bref j'ai appris plein de trucs qui m'ont beaucoup servi par la suite. Plus tard j'ai utilisé Le Grand Manitou pour tricher aux jeux vidéos. J'ai utilisé webGobbler pour faire des fonds d'écran au boulot. Et plus récemment j'ai même forké ton projet AutoBlog. Et évidemment il y aussi Shaarli et ZeroBin, que je n'utilise pas mais que je trouve simplement géniaux dans l'idée et la réalisation (bon sauf dans le code).

Bref, en presque quinze ans, on a partagé un bout de chemin et quelques trucs, et le plus beau peut-être c'est que jamais on ne s'est serré la pince, jamais nous ne sommes croisés dans la rue, mais tu as apporté pourtant des éléments importants à ma vie et c'est grâce à des gens comme toi que mon métier est développeur, et que l'informatique me plaît autant, par tout ce que ça apporte et tout ce qu'on partage, simplement avec des bits qui transitent dans des câbles.

Alors merci, et joyeux anniversaire. Et à bientôt !

Dicky - Skyrock.com compression library

dimanche 20 janvier 2013 à 15:42

Dicky is a compression/decompression library from jedisct1 which was developed for the Skyrock.com social network. I don't know if it's still in use nor if it was really used one day. It's main purpose was to compress the text written on blogs by users, who happen to be using a very personal way of using Unicode characters. Just to know what are we talking about here is an example:

ღ...ღ V0us ne pensez pas qu'un bl0g sans déc0 est beauc0up m0ins j0li ღ?ღ Il est tant d'habiller votre skybl0g et v0ici un j0li magazin ღ!ღ ღp0ur skybl0g f0nd blancღ 0u p0ur t0us les autres, suffit de demanderღ Enfin bref, b0n sh0pping et b0nne visite ღTu seras t0uj0urs le ou la bienvenueღ

Well maybe that's not the best example but the basic idea is that they're replacing usual vowels with diacritics or Unicode characters that look the same, eg. 'Voir' is replaced by 'Wôÿr'. Dicky is a solution to help compress efficiently this content, and more important, compress it fast, because it is very high load website. Before Dicky, Skyrock.com was using zlib to compress content. Dicky only handles ISO-8859-1 encoding, not UTF-8.

To use Dicky you have to download its source code from its GitHub page and then you'll need to append this line to the 'dicky_p.h' file:

#define SIZE_T_MAX 102400

Because it's missing from the released package. Then just compile the small test program using:

$ gcc -Wall -o dicky dicky.c test.c

Using Dicky in a program should be easy, just read the test.c program source code or the small API doc from the GitHub page.