bonne année!

Publié par kAworu
il y a 29 jours

... Ou pas. C'est loin d'être nouvel an et les bonnes résolutions (comme celle par exemple) sont souvent loin de l'esprit trop occupé par la longueur des jupes auxquels nos yeux sont exposés (bien malgré nous, mais on s'en plaint pas) durant l'été.

Pour fêter la résurrection de mon blog (on y croit), voici une nouvelle catégorie "fortune" ou je paste des quotes geek et sympa. J'avais commencé à faire un fichier fortune(1) y a un an environ et maintenant j'en fais profiter mes cher (et sans doute peu nombreux) lecteurs <3

May the Force be with you, kA.

poete pouet

Publié par kAworu
il y a environ un mois

Toi aussi, met de la joie dans ton code

http://code.google.com/p/nfc-tools

                          /*
                           * Many thanks to Charles Baudelaire for helping me
                           * test things and helping you realize your f**king
                           * OS / compiler does not support UTF-8 ;-)
                           */
const uint8_t longdata[660] =  "Dans une terre grasse et pleine d'escargots\n"
                          "Je veux creuser moi-même une fosse profonde,\n"
                          "Où je puisse à loisir étaler mes vieux os\n"
                          "Et dormir dans l'oubli comme un requin dans l'onde.\n"
                          "Je hais les testaments et je hais les tombeaux;\n"
                          "Plutôt que d'implorer une larme du monde,\n"
                          "Vivant, j'aimerais mieux inviter les corbeaux\n"
                          "À saigner tous les bouts de ma carcasse immonde.\n"
                          "Ô vers! noirs compagnons sans oreille et sans yeux,\n"
                          "Voyez venir à vous un mort libre et joyeux;\n"
                          "Philosophes viveurs, fils de la pourriture,\n"
                          "À travers ma ruine allez donc sans remords,\n"
                          "Et dites-moi s'il est encor quelque torture\n"
                          "Pour ce vieux corps sans âme et mort parmi les morts!\n";
const uint8_t elongdata[665] = "\x07" "\xff\x02\x94"
                          "Dans une terre grasse et pleine d'escargots\n"
                          "Je veux creuser moi-même une fosse profonde,\n"
                          "Où je puisse à loisir étaler mes vieux os\n"
                          "Et dormir dans l'oubli comme un requin dans l'onde.\n"
                          "Je hais les testaments et je hais les tombeaux;\n"
                          "Plutôt que d'implorer une larme du monde,\n"
                          "Vivant, j'aimerais mieux inviter les corbeaux\n"
                          "À saigner tous les bouts de ma carcasse immonde.\n"
                          "Ô vers! noirs compagnons sans oreille et sans yeux,\n"
                          "Voyez venir à vous un mort libre et joyeux;\n"
                          "Philosophes viveurs, fils de la pourriture,\n"
                          "À travers ma ruine allez donc sans remords,\n"
                          "Et dites-moi s'il est encor quelque torture\n"
                          "Pour ce vieux corps sans âme et mort parmi les morts!\n"
                          "\xfe";

pointer typedef VS cpp

Publié par kAworu
il y a 4 mois

Faire des typedef de pointeurs (et de manière plus générale, des typedef tout court) SAYMAL. Le truc vicieux c'est que l'utilisation de const devient un peu perturbante, voilà un exemple:

 1 #include <stdio.h>
 2 
 3 typedef int* pint;
 4 
 5 int
 6 main(int argc, char *argv[])
 7 {
 8         int i = 42;
 9         const pint pi = &i;
10 
11         (void)printf("i = %d\n", i);
12 
13         *pi = 12;
14         (void)printf("i = %d\n", i);
15 
16         return (0);
17 }

Ça passe?

it's not simple being cool, but it's cool being simple

Publié par kAworu
il y a 5 mois

On voit souvent que l'avantage d'une liste doublement chaînée c'est de pouvoir ajouter un élément neo avant un élément de la liste e. En fait c'est également possible de le faire avec une liste simplement chaînée, même si on ne dispose pas d'un pointeur sur l'élément qui précède.

xkcd-ize me

Publié par kAworu
il y a 5 mois

Y a un gars qui a eu une idée convi, c'est de faire un programme pour fetcher tout les xkcd (un bonjour like me direz vous). Le souçi c'est qu'il a décidé de coder ça avec les pieds alors voilà une formule d'amour quick'n'dirty en bon vieux shell. Enjoy.

i=1
while [ $i -le 726 ]; do
    uri=$(curl --silent "http://xkcd.com/$i/" | perl -ne 'print $1 if m{Image URL \(for hotlinking/embedding\): (http://imgs\.xkcd\.com/comics/.*\.\w+)}')
    echo -n .
    curl --silent --output "$(printf "%04d" $i)-$(basename "$uri")" "$uri"
    i=$(($i + 1))
done

calloc(3) iz good 4 u

Publié par kAworu
il y a 5 mois

Pour ceux qui ont oublié le C (pas bien!) voilà un petit rappel:

#include <stdlib.h>
void * malloc(size_t size);
void * calloc(size_t number, size_t size);

malloc

Alloue simplement un buffer de taille size et retourne l'adresse. Le contenu du buffer est indéterminé, il est donc d'usage de l'initialiser juste après l'allocation.

calloc

Alloue un buffer de taille (number * size) et retourne l'adresse. Le contenu du buffer est initialisé avec des 0 par calloc. Le résultat est généralement équivalent à:

void *ptr = malloc(number * size);
if (ptr != NULL)
    (void)memset(ptr, 0, number * size);

Mais alors, pourquoi calloc(3) prend deux arguments?