Ph34r Teh pEnGuiN

Damien's blog (a.k.a tuXXX)

Du SCTP pour DiFiSh?

2008-05-20 00:49:55 CEST

J'ai découvert y'a pas longtemps le protocole SCTP, c'est une sorte de super-tcp/udp, c'est plus ou moins à tcp/udp ce que IPv6 est à IPv4.

Quelques features seraient vraiment très intéressantes pour DiFiSh. La première c'est le fait que les paquets restent ordonnés mais gardent en plus leurs limites de messages. C'est à dire que si on envoie m octets puis n octets, le client va tout d'abord lire m octets, puis n octets alors qu'en TCP il aurait pu lire d'un coup m+n octets, ou bien m+2 puis n-2, etc. Du coup pour DiFiSh ça permettrait de supprimer toute la grosse partie de gestion des messages qui sert justement à gérer exactement ça!

La deuxième fonctionnalité c'est le multi-stream sur une même connexion, qui permet d'avoir plusieurs flux dans une même connexion. En TCP la seule manière c'est de créer une nouvelle connexion. Donc ça permettrait de gérer simplement les requètes simultanées (un client qui télécharge un fichier et qui continue à parcourir l'arborescence en même temps par exemple).

Un petit SCTP-over-IPv6 ça serait le top ;) Mais bon ça devra marcher aussi sur de l'IPv4 quand même.

Unionfs? Non, aufs!

2008-03-21 21:56:55 CET

Quand on commence à ne plus avoir de place sur une partition, on se met à utiliser de la place un peu partout sur les autres partitions. Mais au final on se retrouve avec 3 ou 4 partitions avec les données réparties un peu partout.

Une solution, si on a organisé de la même manière les données sur chaque partition, est d'utiliser unionfs. Mais de ce côté là ça a un peu bougé, et c'est maintenant du côté de aufs qu'il faut regarder, qui est une réimplémentation de unionfs 1 (je ne sais pas trop où on peut mettre unionfs 2 là-dedans par contre).

Il suffit de suivre la méthode d'install sur le site, ça marche sans trop de problème. Ensuite, on charge le module avec un simple :

$ modprobe aufs

Et enfin, on monte nos disques :

$ mount none -o ro,dirs=/dir1/=ro:/dir2/=ro:/dir3/=ro /dir_all/

Et voilà, c'est la magie :p.

IRC c'est marrant

2008-03-13 18:38:41 CET

C'est toujours marrant de revenir après une journée et de voir ce que des inconnus nous disent pendant qu'on set pas là sur IRC :

<Mennouchku> salut
<Mennouchku> ca va?
-Mennouchku- You have been ignored.

Ce qui m'énervait ces temps-ci...

2008-03-13 18:35:53 CET

Ce qui m'énervait ces temps-ci, c'était de voir des voitures avec des plaques blanches à l'arrière (alors que normalement c'est blanc à l'avant et jaune à l'arrière).

Mais en fait après avoir rapidement cherché sur le net, un décret du 10 avril 2007 (publié le 10 mai) parle de plaques blanches à l'avant, et jaunes ou blanches à l'arrière.

Tutoriel gnuplot!

2008-02-25 20:57:41 CET

Le contenu

Pendant mon stage de master, j'ai pas mal utilisé gnuplot. On devait également faire un tutoriel sur un outil qu'on utilisait, mon choix s'est donc tout de suite porté sur gnuplot, ça n'as pas de lien direct avec le travail en lui-même, mais c'est un outil qui m'a été bien utile.

Après tout s'est enchaîné et je n'ai pas eu trop le temps d'y repenser. Le responsable master l'a mit sur le site de l'école, mais y'a que la page de garde, les autres manquent.

Du coup, j'ai décidé de mettre ça moi-même en ligne, ça va être plus simple. Le tutoriel est donc disponible sur cette page.

Le code

Puisque j'aime bien la technique aussi, et pour ceux qui sont intéressés, c'est tout fait en XML, et il y a un une feuille de style XSL pour transformer ça en XHTML, chose qui est faite en PHP.

Oui, c'est un peu le même principe que le blog actuel, sauf que là la conversion est toujours server-side.

Vu que c'est pas gros, que j'ai pas toujours trouvé grand chose à ce propos sur le net, et que j'aime bien le concept, je rend tout ça disponible :

  • tuto.xml : le fichier contenant les données (licence CC BY-SA, comme le document lui-même d'ailleurs)
  • tuto.xsl : la feuille de style xsl (domaine public)
  • index.php : le code php qui fait bouger tout ça (domaine public)

Au début je voulais mettre le code php en GPL, et puis je me suis dit que c'était con, parce que trop restrictif, après j'ai pensé à la LGPL, puis à la licence BSD, et quand j'ai vu que je voulais garder juste une phrase à la licence BSD (à savoir "Redistribution and use in source and binary forms, with or without modification, are permitted"), bon là je me suis dit que finalement ça servait à rien ;)

Du coup, faites-vous plaisir, dites-moi si vous avez un quelconque commentaire!