Informatique

Memstats

Tuesday, 29 July 2014
|
Écrit par
Grégory Soutadé

BSD systems are known to have the highest uptime, but our favorite GNU/Linux system can do the same if we want. At work my computer runs since 260 days without any reboot thanks to Ubuntu (LTS 10.04).

This is cool, nevertheless having software launched for a long time consume a lot of memory (I like to keep terminals and emacs open to save history), especially Firefox uses one to three giga bytes of memory (even in version 30.0). Software not used everyday goes to swap and come back when needed. This process can slow my computer for minutes (when I unlock my session).

The only solution is to kill these applications and restart them properly. I used to track memory eaters with "top" command, but it's hard to see in one time which software is using most of memory.

I wanted to do it for long time, and now it's out ! I wrote a PERL script called memstats that list processes by memory usage (and not by CPU usage like top).

It reads information from /proc/PID/stat and /proc/PID/status, so it's very Linux dependant (sorry BSDs...).

memstats output looks like "top" (because it's a good one).

soutade@cybelle> memstats
  PID    OWNER  VIRT   RES S       TIME         COMMAND
20098  soutade 3.10g 1.80g S   09:00:59         firefox
 1285     root  526m  259m S 6214:00:04            Xorg
 2555  soutade  862m  200m S 6214:00:10  gnome-terminal
 2113  soutade  827m  181m S 6214:00:20     gnome-panel
20081  soutade  866m  153m S   10:00:12     thunderbird
 2122  soutade 1.97g   98m S 6214:00:20        nautilus
 2192  soutade  591m   86m S 6214:00:13 indicator-apple
20104  soutade 1.07g   42m S   09:00:58          pidgin
26536  soutade  627m   40m S   06:00:22           gedit
 6517  soutade  529m   30m S 2816:00:40           emacs
 2845  soutade  442m   27m S   00:00:50           emacs
22935  soutade  449m   23m S  103:00:06           emacs
 2094  soutade  899m   23m S 6214:00:21        metacity
 2207  soutade  393m   11m S 6214:00:13 indicator-messa
 2762  soutade  114m   10m S   00:00:48          python
 9752  soutade  401m    8m S   96:00:18 gnome-screensav
 2070  soutade  766m    7m S 6214:00:22 gnome-settings-
 2914  soutade   94m    6m R   00:00:00        memstats
 2121  soutade  477m    6m S 6214:00:20 notification-da
 2489  soutade  414m    6m S 6214:00:20 update-notifier
23305  soutade  391m    5m S 5641:00:44 ubuntuone-syncd
 2280  soutade  418m    4m S 6214:00:10 gdu-notificatio
 2061  soutade   22m    4m S 6214:00:22     dbus-daemon
 1973     root  192m    4m S 6214:00:32         lightdm
 6886  soutade  581m    4m S 3797:00:46 gnome-keyring-d
 2134  soutade  539m    4m S 6214:00:19 gnome-fallback-
28423  soutade   85m    4m S   05:00:43            bash
 2389  soutade  335m    4m S 6214:00:00 zeitgeist-daemo
 6080  soutade  332m    4m S 3624:00:44      pulseaudio
 2382  soutade  400m    3m S 6214:00:00 zeitgeist-datah

memstats is licenced under GNU GPL v3 and available in my inDefero forge. Have fun !

Embedded Map

Tuesday, 22 July 2014
|
Écrit par
Grégory Soutadé

Rendu OpenStreetMap

Yoann Sculo a commencé il y a quelque temps déjà le recensement des entreprises travaillant dans le logiciel embarqué, l'électronique et l'industrie. C'est une initiative intéressante autant pour celui qui est en recherche d'emploi que pour connaître les différents acteurs du marché. Les entreprises recensées sont des "noSSII" comme il le dit, c'est à dire, non pas des sociétés de services soit disant expertes, mais de vraies entreprises qui font de vrais produits.

De mon point de vue, le monde de l'embarqué étant assez technique et requiert des compétences moins génériques que les autres branches de l'informatique, les entreprises préfèrent capitaliser le savoir en recrutant directement (ou en pré embauche via SSII) leurs ingénieurs. Mais, n'ayant pas encore été confronté à ce problème, je me trompe probablement.

Je vous encourage donc si vous travaillez ou connaissez une telle entreprise à la rajouter dans la liste. Soit pour les plus téméraires en faisant un fork du projet et modifiant le JSON à la main (rien de très compliqué), soit en envoyant directement un mail à Yoann avec les coordonnées, et il se chargera du reste !

36h

Tuesday, 15 July 2014
|
Écrit par
Grégory Soutadé

36 heures d'interruptions, ce sont les joies de l'auto hébergement... Tout commence par une (je suppose) mise à jour de la livebox. Chouet, une nouvelle interface eye candy, mais toujours pas de support de l'IPv6 et moins de contrôle de la livebox... S'ensuit naturellement une déconnexion intempestive. On débranche tout, on rebranche, on fait un reset (non !!!!!!!!!!!).

Bref, il faut vingt-quatre heures pour que je puisse intervenir physiquement sur la box, puis encore deux heures pour retrouver ce satané mot de passe de connexion (heureusement enregistré dans un ancien profil de Firefox). À priori tout est OK, pourtant le serveur n'est pas accessible depuis l'extérieur. Sûrement les DNS qui n'ont pas encore été mis à jour. En fait non, le reset avait aussi effacé les règles NAT. Cinq heures pour m'en rendre compte !

Maintenant tout est redevenu normal (sauf erreur que je n'aurais pas encore rencontrée). Tout ceci souligne (mais je le savais) la fragilité de l'installation :

  • Pas de serveur de secours
  • Pas d'IP fixe (donc coupures régulières de DNS, merci Orange)
  • Pas de carte d'accès à distance style DRAC

Vivement la réplication sur un autre site physique avec un fournisseur d'accès internet indépendant comme FDN et un vrai modem routeur (pas de services inutiles comme le téléphone, la télévision...). Le tout relié à un serveur un peu plus musclé comme l'alléchante Cubox-i2eX. L'idéal serait même un modem sous *BSD pour limiter les backdoors de la NSA/DGSE !

Suivre un site web

Tuesday, 08 July 2014
|
Écrit par
Grégory Soutadé

C'est quoi toutes ces aventures extraconjugales dont tu te vantes sur ton blog ? Enfin chérie ! Tu ne vas tout de même pas croire tout ce qui circule sur internet ?!

Internet ? Ça a commencé il y a dix ans. Un ensemble de machines inter connectées entre elles au niveau mondial. La possibilité d'être en relation avec des gens à l'autre bout de la planète. Le partage de la connaissance pour tous. À l'époque, débit et technologie oblige, il n'y avait que du texte sur Internet. Vinrent ensuite les images, puis les images animées (gif) et maintenant des vidéos HD.

Tout ça pour dire que notre façon de consommer du web a évoluée de manière phénoménale en seulement 10 ans. Oui, je parle bien de "consommer", car si le web offre un degré d’interactivité important, le pourcentage de personnes qui créent du contenu est stable (donc croissant avec le nombre d'internautes) mais, ne nous voilons pas la face, faible. Tout simplement parce que les gens n'ont rien d'intéressant à dire. Les réseaux sociaux ne sont pas un moyen d'expression, juste un moyen de communication, un grand chat en quelque sorte avec partage de photos et vidéos en sus.

Mon hamster ! Mon blog !

Mais sortons de ce constat morose pour proposer quelque chose de positif. On a tous nos sites web préférés, que l'on suit plus ou moins assidûment. La technique empirique pour savoir s'il y a du contenu neuf est d'aller simplement visiter le site en question. Pourtant, il existe un fonctionnalité implémentée quasiment partout et qui répond à ce besoin de manière beaucoup plus efficace : il s'agit des flux de syndication. Plus communément appelés flux RSS ou encore flux Atom (pour les plus modernes). Leur rôle est de condenser dans un fichier standardisé et compréhensible par une machine l'ensemble des nouveautés d'un site (nouveaux articles, nouveaux commentaires, nouvelles vidéos...). Cette idée, c'était le sujet de mon introduction, bien que peu utilisée est pourtant née au début de l'Internet (~1999).

"Oui, mais je ne suis pas une machine !". Certes, la définition de "compréhensible par une machine" est surtout une notion destinée à assurer l'interopérabilité du format. Ce qui nous intéresse en tant qu'humain, c'est surtout d'avoir une interface de présentation. Pour cela, il faut se tourner vers des lecteurs (agrégateurs) de flux RSS/Atom. Le format étant assez simple, il y a des dizaines d'outils disponibles, que ce soit des programmes sur PC, des applications web ou encore des applications mobiles.

Comme pour les chaînes Youtube, il faut "s'abonner" au flux (vous savez, chaque zinzin qui fait une vidéo ne manque pas de le rappeler, alors qu'il y a un flux RSS disponible sur Youtube !) en rentrant l'adresse du flux dans le logiciel (souvent "monsite.fr/feed", "monsite.fr/rss.xml" ou encore "monsite.fr/atom.xml"). L’agrégateur va alors consulter périodiquement le flux et présenter les nouveautés à l'utilisateur. Suite à l'arrêt de Google Reader, cnetfrance donne une liste de 10 logiciels pour le remplacer, même s'il manque les logiciels auto hébergeable tels que FreshRSS ou encore TinyTinyRSS.

Pour ma part, adepte du mail, j'utilise rss2email sur mon serveur. Il convertit une fois par jour les flux auxquels je suis abonnés en emails. Mon lecteur est alors mon webmail. On ne peut, certes, pas trier par catégorie, intérêt ou autres, mais ... je m'en fous.

"C'est chouet, mais je ne vois pas les mentions RSS ou Atom sur mon site web préféré". Un flux RSS contient une "copie" des nouveaux articles. Certains lecteurs téléchargent aussi les images, mais pas tous. Du coup, les statistiques d'un site web sont faussées car les gens ne prennent plus la peine d'y aller, ils lisent simplement le flux. Conséquence : pas de visites = pas de pub, ce qui est un frein pour beaucoup d'éditeurs. Pour contourner cela, certains utilisent un proxy (feedproxy de Google) afin d'identifier les sources et/ou ne mettent qu'une partie de l'article dans le flux pour forcer la visite. Bref, autant dire que le web commercial aimerait bien se séparer de ce bon ami. C'est pourquoi les flux sont de moins en moins mis en avant. Même dans Firefox, pour des raisons de soit disant ergonomie, il n'y a plus la fameuse icône qui indique la présence d'un flux dans la page. Pour la retrouver il faut passer par un addon.

Icône RSS

"Et s'il n'y a pas de flux RSS sur mon site web préféré ?" Dans ce cas, il faut espérer que le site mette à disposition une "API" externe afin de récupérer les informations et de les afficher avec un logiciel tiers. Pour facebook par exemple, j'ai créé f2email qui permet d'envoyer les dernières news par email, parce que oui, j'aime bien les emails :)

Bien évidemment, les flux RSS et Atom sont disponibles pour ce blog. Il y a même les deux icônes en bas du menu de droite.

gPass v0.5

Wednesday, 25 June 2014
|
Écrit par
Grégory Soutadé

Logo gPass

Petit rappel : gPass est un gestionnaire de mot de passes en ligne. C'est une alternative libre à lastpass. Il permet d'héberger un serveur de mot de passe, qui stockera un mot de passe fort et unique pour chaque site web. Les mots de passes sont chiffrés par une "clé maître" que seul l'utilisateur connaît et sont remplacés à la volée dans le formulaire d'authentification.

La modification de code est minime mais importante, car elle rajoute le préfix "@_" en sus de "@@".

Pour s'authentifier, il faudra toujours rentrer son nom d'utilisateur, puis comme mot de passe :

  • @@masterkey pour remplacer sa clé maître par le vrai mot de passe et soumettre automatiquement le formulaire au site web
  • @_masterkey pour remplacer sa clé maître par le vrai mot de passe sans soumettre le formulaire au site web, puis soumission manuelle dans un second temps

Cela permet de contourner le surplus de JavaScript de certains sites qui ne prennent pas en compte la transformation "clé maître" -> "mot de passe".

Le serveur et le module pour Firefox sont téléchargeables sur la page du projet ou directement sur le site de Firefox (addon uniquement).

PS : D'après les statistiques le nombre d'utilisateurs a doublé \o/