L'autre jour, je découvrais, via la dépêche sur neovim, un format « comme JSON mais rapide et petit » : MessagePack.
Sérialiser des données est le fait de coder des données depuis un format applicatif interne à un format utilisé pour les communiquer ou les stocker. De fait, on pourrait préférer sérialiser les données dans un format générique afin de les partager avec un maximum d'applications.
Une méthode qui marche bien pour sérialiser, c'est des séquences TLV, soit Type-Length-Value (…)
Journal Modification d'un paquet Debian
Sommaire
Il y a fort longtemps, j'ai modifié mon premier paquet Debian. Puis j'ai eu à le refaire. Puis encore une fois. Mais à chaque fois je notais rien de ma démarche. À chaque fois je recommençais presque de zéro. J'ai donc décidé de m'arrêter un instant pour documenter. Certes ça a été documenté et re-documenté des centaines de fois sur le Web, mais je le fais pour moi (…)
Journal Chantonnons en récursion
Dernièrement, je parlais, avec une connaissance (ça me change de parler tout seul), du très célèbre Yusuf Islam. De cette conversation, l'envie de ré-écouter un peu de sa musique m'a prise à la gorge et je me suis décidé à acheter, légalement, sur iTunes (si ce lien a la couleur d'un lien déjà visité, ne bougez pas, la police arrive) , quelques un de ses grands tubes.
Au détour de la chanson "Can't keep it in", j'entends (…)
Journal Genèse d'un journal
Mon journal précédent parlait de realloc dont on ne contrôlait pas la valeur de retour. Suite à ce journal j'ai été très surpris par le nombre de commentaires clamant que ce n'était pas important, que le noyau se chargerait de tuer le processus, que le programme planterait, … Je vais donc expliquer ce qui m'a amener à écrire ce journal.
Je codais un petit truc vite fait en C et j'avais besoin d'utiliser snprintf
. Cette fonction prend, en paramètre, (…)
Journal realloc
Sur mon netbook avec 1Go de RAM, je déteste particulièrement les programmes qui bouffent de la mémoire dans le vide. Et quand un programme qui affiche la date, le niveau de batterie et deux trois autres informations mangent 4 fois plus que ce qu'utilise xmonad, je suppose un problème.
Je récupère le code source et je regarde. Du C qui est du C++ ou le contraire, mais bon, passons. Je n'ai pas prévu de faire la moindre correction au code. (…)
Journal Netbook et niveau d'exécution
Une petite astuce, évidente (mais les solutions évidentes sont celles dont on ne pense jamais), mais pratique pour gagner quelques petits dixième de watt ou un peu de réactivité sur votre netbook.
Si, comme moi, vous travaillez sur un netbook bas de gamme, vous êtes soucieux de chaque processus tournant en arrière-plan. Et si, comme moi, vous devez faire, parfois, des tests avec des logiciels comme Samba, OpenLDAP, MySQL, Apache, … cette petite astuce est pour vous.
Sur mon netbook (…)
Journal Parlons C, parlons pipe !
Mon livre de chevet, Unleashed C (non je mens, mon livre de chevet reste Playboy, mais ça fait moins sérieux), propose d'implémenter une FIFO (ou "pipe", pour tube en anglais) de la façon suivante (approximativement, j'ai simplifié la représentation (surtout il y avait QUEUE
écrit et je veux pas de problèmes)) :
+----------+
| taille |
+----------+
| debut |-------+
+----------+ |
| fin | |
+----------+ V
| +---+---------+
| | s | donnes |
| +---+---------+
|
(…)
Journal Et Dieu inventa le soutien gorge !
Le C est connu pour ses pointeurs. Les pointeurs sont une merveille pour certains, une horreur pour d'autre. Je sais qu'il s'agit d'un nième débat religieux par ici, mais parlons de C et de pointeurs !
Un vrai moment de détente pour le week-end :D
Le noyau Linux utilise une forme particulière de listes chaînées qui nous permet d'apprécier ce genre de code include/linux/kernel.h:683:
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type
(…)
Fossil, une forge pour DVCS
Fossil est le système de fichiers de Plan9. Ce n'est pas le sujet de cete dépêche.
Fossil c'est aussi un outil de gestion de version décentralisé, DCVS en court. Il est toujours un peu osé, par les temps qui courent, de parler d'un autre DCVS que le très apprécié Git, mais Fossil c'est aussi un peu plus que ça ; un plus qui m'a beaucoup séduit.
Fossil c'est aussi un wiki, un outil de gestion de tickets et une interface Web (et son serveur) dans un seul exécutable. Sans entrer dans les détails, il prend en charge les mêmes fonctionnalités que la plus grande partie des DCVS. Il se veut robuste et fiable, simple, un protocole réseau simple (HTTP) rendu suffisamment efficace pour fonctionner sur une ligne téléphonique 56k et facile d'utilisation (pas de configuration, commande simple). Ça c'est la partie "marketing".
Si la description sonne un peu comme celle de SQLite, ce n'est pas un hasard : Fossil est développé par les mêmes personnes, utilise SQLite pour le stockage et est utilisé comme gestionnaire de versions pour ce projet (et d'autres). Fossil n'est donc pas juste un projet sombre dans un coin du Net.
NdM : merci à Etienne Bagnoud pour son journal.
Journal Fossil
Fossil est le système de fichier de Plan9. Ce n'est pas le sujet de ce journal.
Fossil c'est aussi un outil de gestion de version décentralisé, DCVS en court. Il est toujours un peu osé, par les temps qui court, de parler d'un autre DCVS que le très apprécié Git, mais Fossil c'est aussi un peu plus que ça ; un plus qui m'a beaucoup séduit.
Fossil c'est aussi un wiki, un outil de gestion de ticket et (…)
Journal Internet.jpg, drogue et rock'n'roll
Encore un drame sur Internet : Megaupload ferme, Anonymous attaque, l'EFF dénonce et la MPAA rappelle qu'elle défend la liberté d'expression sur Internet (même lien que pour l'EFF). Voilà ce que j'ai retenu des articles sur le sujet.
Les chiffres indiquent plus de 180 millions d'utilisateurs jetés à la rue. Le plus ironique : quelques heures après les protestations contre SOPA (comprendre "le gouvernement se torche avec vos protestations" ?)
J'ai appris la nouvelle, après avoir perdu trois parties de (…)
Journal Debian GNU/Hurd pour Wheezy ?
D'après les dernières nouvelles du projet Debian GNU/Hurd, on pourrait s'attendre à voir la sortie de officielle vers fin 2012, date estimée pour Debian 7.0 aka Wheezy.
On the organizational side, there is now a real plan to release a Hurd variant of Debian with their next major release, Wheezy.
Au niveau organisationnelle, nous pouvons planifier une variante de Debian basée sur Hurd pour la prochaine sortie majeure : Wheezy.
Journal Google censure !
Pour des raisons de sécurités, évidemment. D'après cet article du Register, tous les sous-domaines de co.cc auraient été supprimés des résultats du moteur de recherche. Ce fournisseur de services Internet serait utilisé par des programmes malicieux.
Protéger le pauvre utilisateur sans défense sur le grand méchant Internet. Est-ce de la responsabilité à Google de protéger l'utilisateur (dans ce cas particulier) ? Non. Actuellement la sécurité informatique est un gag, un énorme gag même, pour la simple est bonne raison (…)
Journal Social Engineering, un nouvel outil sur le marché.
Pour ceux qui s'intéresse, de prêt ou de loin, à l'ingénierie sociale auront très vite compris que l'obtention de données est un élément clé. Plus vous connaissez d'informations sur la victime, plus vous aurez de possibilités d'attaque.
Imaginons, par exemple, que vous voulez vous introduire dans le bureau du boss d'une entreprise afin d'installer un programme malicieux sur son ordinateur. Une solution est de débarquer un jour où il n'est pas là et convaincre sa secrétaire de vous laissez entrer (…)
Journal SSL, et l'escroquerie continue
J'ai déjà parlé de ce sujet ici, je vais donc faire très court.
Dans le journal précédent j'avais déjà parlé des certificats signé pour "localhost" ou autre nom non FQDN. Et bien voilà que le groupe de l'observatoire SSL de l'EFF arrive avec des nouvelles données intéressantes mais effrayantes.
Nos amis, les CA, ont tout simplement signé plus de 37'000 certificats SSL valides ayant des noms bidons. Par exemple, ils ont trouvé 806 certificats ayant comme (…)