« T-shirt rmll-2018 » : différence entre les versions
Ligne 112 : | Ligne 112 : | ||
[[Fichier:T-shirt-2018-code.png|400px]]<br /> | [[Fichier:T-shirt-2018-code.png|400px]]<br /> | ||
Version code. | Version code. V1 | ||
[[Fichier:T-shirt-2018-programme.png|400px]]<br /> | [[Fichier:T-shirt-2018-programme.png|400px]]<br /> | ||
Version programme. | Version programme. V1 | ||
[[Fichier:T-shirt-simulation.png|800px]]<br /> | [[Fichier:T-shirt-simulation.png|800px]]<br /> | ||
Simulation. | Simulation. V1 | ||
[[Fichier:T-shirt-2018-code-gris.png|400px]]<br /> | |||
Version programme. V2 | |||
[[Fichier:T-shirt-2018-programme-gris-bold.png|400px]]<br /> | |||
Version programme. V2 | |||
==Couleur du tee-shirt== | ==Couleur du tee-shirt== |
Version du 9 mai 2018 à 13:18
Note : le même visuel sera utilisé pour la réalisation de deux autres goodies : tote bag et mug.
Il faudra probablement prévoir deux impressions et donc deux visuels pour le mug (logo au verso).
Slogans à partir du poème de Paul Eluard, Liberté
- Liberté, je code ton nom
- Liberté, je programme ton nom
Commentaires :
Je pense que c'est "par défaut" un teeshirt quand même bien geek, et pas franchement grand public ! Tout comme l'était la version de Théo. Perso, "code" me semble aller comme un gant a cette situation. C'est d'ailleurs l'objet de l'illustration… Autant être cohérent. Antoine
Propositions graphiques
A partir du commentaire de Théo.
Source SVG: [1]
Reconditionnement de l’idée de Théo par Antoine (à finaliser).
Idéalement texte blanc remplacé par du code vraisemblable, même s'il n'est pas fonctionnel.
Propositions de code à intégrer au visuel d'Antoine
Proposition de PoluX
La fonction free dans malloc/memusage.c de la libc GNU.
Note pour les non geeks : ça permet de libèrer la mémoire allouée :-)
/* `free' replacement. We keep track of the memory usage if this is the correct program. */ void free (void *ptr) { struct header *real; /* Determine real implementation if not already happened. */ if (__glibc_unlikely (initialized <= 0)) { if (initialized == -1) return; me (); } /* If this is not the correct program just use the normal function. */ if (not_me) { (*freep) (ptr); return; } /* `free (NULL)' has no effect. */ if (ptr == NULL) { catomic_increment (&calls[idx_free]); return; } /* Determine the pointer to the header. */ real = ((struct header *) ptr) - 1; if (real->magic != MAGIC) { /* This block wasn't allocated here. */ (*freep) (ptr); return; } /* Keep track of number of calls. */ catomic_increment (&calls[idx_free]); /* Keep track of total memory freed using `free'. */ catomic_add (&total[idx_free], real->length); /* Update the allocation data and write out the records if necessary. */ update_data (NULL, 0, real->length); /* Do the real work. */ (*freep) (real); }
En version « compacte » :
~/glibc-2.27$ grep '^free (' malloc/memusage.c -B 3 -A 46 | tr '\n' ' ' | sed -e 's/[ ]\+/ /g' -e 's!/\*[^*]*\*/ !!g' | fold -w 35 void free (void *ptr) { struct head er *real; if (__glibc_unlikely (ini tialized <= 0)) { if (initialized = = -1) return; me (); } if (not_me) { (*freep) (ptr); return; } if (ptr == NULL) { catomic_increment (&cal ls[idx_free]); return; } real = ((s truct header *) ptr) - 1; if (real- >magic != MAGIC) { (*freep) (ptr); return; } catomic_increment (&calls [idx_free]); catomic_add (&total[id x_free], real->length); update_data (NULL, 0, real->length); (*freep) (real); }
Note : la première ligne c'est pas le code, c'est le code de compactage de François :)
Ça commence à "void".
Mise au propre propositions graphiques
Couleur du tee-shirt
Idéalement noir, pour faire ressortir les couleurs blanc et vert fluo du visuel et donner l'illusion d'un terminal. Vert fluo, spécial RMLL.