Informatique

Facebook 2 email

Sunday, 04 May 2014
|
Écrit par
Grégory Soutadé

Un nouveau service accessible depuis Cybelle : f2email. Il s'agit d'une application PHP exploitant la Graph API de Facebook afin d'être notifié par email des nouveaux événements provenant de nos amis et pages que l'on suit.

Au départ le besoin est simple : un restaurateur de Sophia Antipolis publie chaque jour le menu sur un compte Facebook et donc, quasiment chaque jour, on me demande de partager ce menu sur l'intranet. F2email permet désormais d'automatiser ce traitement, mais pas que ! En effet, je vais de moins en moins sur Facebook, pourtant j'aimerais suivre mes "likes" qui sont souvent des groupes de musique que j'aime bien (l'ère de la mailing list est terminée :(). De plus, f2email a été conçu pour être modulaire : actuellement, il n'y a qu'un seul module (email) d'implémenté, mais on pourrait en créer d'autres, comme par exemple l'insertion automatique sur Pastebin ou l'inscription dans des agendas.

Qui dit Facebook, dit convoitises. J'ai toujours peur que le serveur soit corrompu, l'application a donc été développée avec cette idée en tête. C'est pour cela qu'une fois déconnecté (logout), un maximum de permissions sont retirées du jeton d'accès (access token). Il ne restera que les permissions de base, les adresses email (nécessaires pour l'administration et l'envoie d'email), ainsi que les numéros d'identifiants des cibles. Cela fait hélas encore beaucoup, mais comparés aux autres sociétés, ici, tout est fait pour garder un maximum d'anonymat. Il n'y a ni utilisation, ni revente des données personnelles !! Il y a aussi un lien permettant de supprimer toute trace de son passage dans la base de données.

L'application serveur est comme d'habitude disponible sous licence GPL sur ma forge. On pourra aussi remarquer le design épuré dont moi seul a le secret :)

Actuellement, le serveur est programmé pour faire un "run" (aller voir s'il y a des nouvelles) à 11h du soir et 11h du matin. De plus, seules les cinq dernières notifications (par likes/amis) sont transmises. Par contre, ça ne sert à rien de vouloir espionner quelqu'un, la graph API est très restrictive quand on n'est pas ami avec une personne (un peu plus cool pour les pages).

Dynastie 0.2

Monday, 28 April 2014
|
Écrit par
Grégory Soutadé

Logo Dynastie

Voilà un peu plus d'un an que la première version de Dynastie est sortie (et plus d'un an et demi qu'elle est fonctionnelle). La version 0.2 a été crée dans la foulée suite aux remarques (notamment de Denis Bernard), mais elle manquait de substance (juste bon à faire une 0.1.1). Il n'y a pas eu de révolution depuis, mais une suite d'améliorations :

  • Le support de la syntaxe Markdown
  • Les templates "base" supportent l'inclusion de multiples blocs
  • Simplification de l'installation
  • Les marqueurs "dyn:post _ url" et "dyn:post _ full_url" dans la directive "replace", ainsi que "#comment _ number" dans les commentaires
  • Générateurs "Tous les articles" et "Les joies du code" (à partir de la sortie d'un script perl).
  • La recherche d'un article dans l'interface d'administration
  • Quelques bugs corrigés (trim des commentaires, double quotes dans les tag metas, retours à la ligne dans les commentaires).

Contrairement à ma première idée, Markdown fait son entrée dans la place (avec quelques extensions persos). En effet, je me suis rendu compte que la syntaxe épurée était suffisante pour 90% des articles qui n'ont pas besoin de mise en page "complexe". Néanmoins, on y perd au passage le support de la coloration syntaxique.

L'ensemble des fonctionnalités supportées est relativement stable, donc, à priori, peu d'évolutions sont à prévoir dans le futur.

binstats : Basic statistics on binary code

Monday, 21 April 2014
|
Écrit par
Grégory Soutadé

As you may know, my work consists in developing software for embedded devices. We usually says that an embedded device is a peace of hardware with low resources (memory, CPU, flash...) taking in example phones. Nowaday, smartphones have only core software that is really embedded, the rest is sometimes more powerful than the computer I wrote this post. But, don't care, I don't work in telephony. Here (at Neotion), we do really embedded software, with chipsets clocked from 100Mhz to 200Mhz, with available RAM from 1MB to 32MB, and flash up to 8MB.

After years of developments, we can have one or more software that became too big to fit in its allocated flash partition. So, to find the guilty functions, I wrote a simple PERL script (~130 lines) that will count number of instructions for each function from objdump's output (with -ld switch) and displays statistics per function and per file (it doesn't focus on .data or .bss section). To correctly use the script, you have to compile your program with -ggdb option (to have line numbers and file paths), but you can also set optimisations (-OX).

Example with main.c

#include <stdio.h> int function1(int a, int b) { return a*b+4; } int function2(int a, int b, char* c) { printf("Result %d*%d+4 = %s\n", a, b, c); return 0; } int main(int argc, char** argv) { char buf[32]; sprintf(buf, "%d", function1(5, 4)); function2(5, 4, buf); }
> gcc main.c -ggdb -o test > objdump -ld test > test.txt > ./binstats.pl --in test.txt Total instructions 63 63 (100.00%) /home/soutade/main.c 38 main 16 function2 9 function1

There are also options to filter small files, small functions and paths that helps to focus on big ones. Have fun !

gPass v0.4

Monday, 14 April 2014
|
Écrit par
Grégory Soutadé

Logo gPass

L'intégration dans la liste des addons officiels de Firefox a été longue et difficile, et après deux versions (depuis la 0.2), gPass a enfin été accepté ! Le tag vient un peu tard puisque cela fait presque un mois qu'il n'y a plus de restrictions sur le site de Mozilla, mais il y a eu quelques petites améliorations concernant le client web. Désormais tout semble stable.

Cette intégration donne une bonne visibilité à l'addon avec une trentaine d'utilisateurs quotidiens (je ne suis pas inclus dans ces statistiques). Si cela peut paraître dérisoire, il n'en reste pas moins mon projet le plus largement déployé ! Bien sûr, c'est un peu frustrant de ne pas savoir où sont les serveurs hôtes et leurs nombres, mais c'est le but ! Ma grande satisfaction est que gPass est utilisé "partout" dans le monde.

À priori il n'y aura pas d'évolutions hors demandes particulières (pas de retours pour le moment) ou compatibilité avec Firefox, car le projet est "fini", c'est à dire qu'il fait ce qu'on lui demande (et il le fait plutôt bien).

Les joies du code

Monday, 31 March 2014
|
Écrit par
Grégory Soutadé

quand je découvre un force close juste apres ma soumission sur le play store // android

Nouvelle section sur le blog : Les joies du code. Pour ceux qui ne connaissent pas, les joies du code (ljdc) est une page Tumblr sur laquelle les gens proposent quotidiennement un gif animé humoristique et une petite phrase en rapport avec les métiers de l'informatique (développeur la plupart du temps).

Nicolas Lecointre (l'auteur) a aussi créé l'équivalent anglais The coding love. Kevin Bironneau, quant à lui, a essayé de lancer Les joies de la fac sur le même modèle, mais avec moins de succès...

Sur mon blog, je ne propose qu'un "Best of" de ce qu'on trouve sur Tumblr. Les phrases ne sont là que pour indication, car le seul critère est que le gif soit drôle ! Ça m'a aussi permis de faire évoluer Dynastie avec l'ajout d'un nouveau générateur (le code est assez simple au final, mais, même pour moi, le manque de doc et de clarté n'est pas évident à gérer... Vive le typage dynamique !!). Bref, vous pouvez visiter mon best of à l'occasion (il n'apparaîtra pas dans les flux RSS et Atom).

Premier jour de production de l'appli

Au détour d'un gif, ljdc m'a permis de découvrir "Police squad!", une vieille micro série (6 épisodes de 24 minutes) des années 80 absolument délirante. Elle est disponible intégralement sur YouTube (en anglais seulement).

PS : Au passage, le code généré pour chaque gif (en grande partie par Tumblr), en plus d'être irrégulier est absolument IMMONDE !