le samedi 31 décembre
Bonnes résolutions pour 2006
Euh, je vais être gentil, je vais faire ce que me dis ma maman, euh, et je vais faire mes devoirs, et finir mon mangé, et euh, je vais être gentil...
Voila, on en a fini avec l'hypocrisie.
Euh, je vais être gentil, je vais faire ce que me dis ma maman, euh, et je vais faire mes devoirs, et finir mon mangé, et euh, je vais être gentil...
Voila, on en a fini avec l'hypocrisie.
Bon, voila, j'ai plus ou moins fini d'écrire le plan du cours d'admin système. Est ce qu'il y a des gens pour relire ou apporter des corrections ?
J'avais, pour les tp, pensé faire installer les services dans l'espace utilisateur, mais je ne sais pas si c'est vraiment possible... Vous avez des retour d'expérience à ce sujet ?
Actualité chargée aujourd'hui, comme dirait un pathétique journaliste.
Juste une petite réflexion. On dit que le secret de l'enquête permettra une plus grande séreinité des débats. C'est possible. Mais lorsque l'on regarde comment s'est déroulé l'instruction d'Outrau, dans un secret, et donc une sereinité absolue, on se demande si on a vraiment besoin de sereinité, ou si on ne préfererait pas plus de vérité, même si celle-ci n'est pas toujours bonne à entendre...
J'entend de plus en plus à la radio "la polémique enfle à propos des nouveaux décrets du gouvernement". Il s'agit en effet d'une décision du gouvernement d'ouvrir aux inspecteurs de l'anpe les fichiers d'autres institutions comme le fisc ou l'assédic, entre autre. Que la mesure soit interessante ou pas ne m'interesse pas plus que ça.
Ce qui me gène, c'est qu'on ne dit jamais que la fraude à l'emploi ne porte que sur une infime minorité des cas d'indemnisation du chomage. Donc pourquoi produire une mesure qui de toute façon aura des résultats quasi-nuls ? La réponse est assez complexe, mais il serait naïf de croire qu'elle n'a pas été pensée par les trous du cul du gouvernement : le fait que l'anpe a des pouvoirs suplémentaire fera qu'elle les utilisera. Cette utilisation augmentera la charge de travail et fera que l'anpe sera moins concentré sur son activité première, qui est la recherche d'emploi, pour une activité completement inutile, la traque des éventuels fraudeurs. (À noter que parmis tous les fraudeurs, certains fraudent délibérément pour recevoir des sous en plus, et d'autres le font simplement pour vivre décemment)
L'anpe deviendra donc moins efficace, et c'est là tout l'intérêt pour le gouvernement : l'anpe, ça coute cher pour un résultat qui n'est pas formidable. Il faut donc réduire les coûts sans que ça se voit. On commence donc par rendre l'anpe moins efficace, et une fois cette étape franchie, on déclare qu'elle n'est pas à la hauteur, et on la met en concurrence avec d'autres institutions privées. Jusqu'à présent, ces institutions pricées ont montré leur complete inneficacité. En baissant le niveau de l'anpe, on la rapproche de l'efficacité des institutions privées, pour que celles-ci soient à la hauteur. Et hop, le tour est joué. Et le chômage dans tout ça ? Aucune importance, de toute façon, ça sert à rien.
N'importe quoi ce que je dis ? Pas si sur. Allez donc lire le document de l'ocde dont j'ai donné le lien il y a quelques semaines. Tout y est écrit noir sur blanc, je ne fait qu'interpréter un texte qui existe deja.
Attention, c'est pour les geeks de chez geek...
Je reprend ici un journal de linuxfr.org.
X.org est le site du célèbre serveur X libre qui anime (presque) toutes les interfaces graphiques sous Linux. Ils viennent de passer leur site avec le moteur de site "daCode", initialement codé pour linuxfr. Il se trouve que daCode intègre une tribune libre, sorte de chat asynchrone ou chacun peut taper "coin coin" ou "pan" suivant son humeur.
Cette tribune est donc ici, et le contenu est, disons, habituel : http://www.x.org/board/
Ça y est ! On a vu les deux grand-mères, et tout s'est passé sans trop de difficulté.
Le plus dur fut Paris. Oh joie de revoir ma tante, toujours aussi détestable, toujours aussi conne et semeuse de zizanie ("Evelyne, tu penses quoi des 35 heures ?", oui parce qu'on vote à droite dans ma belle famille...). Pour un repas de noël, sympathique comme remarque. L'incident diplomatique a été évité de peu quand je lui ai déclaré que la politesse ça fonctionnait dans les deux sens.
Ensuite, Rueil. Et là, l'ambiance est différente : ambiance ménage... À 90 ans et plus toutes ses dents, mon autre grand mère voie de moins en moins et refuse de se faire opérer, et refuse de prendre une aide ménagère... Bref, on a passé l'aspirateur avant de faire à manger, entre autre.
Bon, sinon, je me suis décidé le jour même de ce que je voulais avoir comme cadeau. Un peu grace à Mickael, d'ailleurs :-) J'ai pris une DS (la console de nintendo), avec Meteos et Zelda (pour game boy advance). Et tout le monde a été comblé de plein de DVDs. Bref, le 24 au soir (apres Paris & avant Rueil) a été le moment qui a réconcilié tout le monde !
Gargl, on est deja le 23 et je ne sais toujours pas si je vais participer au "reveillon" si on peut appeler ça ainsi du 24, et encore moins ce que je veux pour Noël... Je me laisserais bien tenté par une console, mais j'ai deja suffisament de trucs à faire, et j'ai pas envie de consacrer mon maigre budget annuel dans des jeux videos.
Pfff, ça me saoule cette fin d'année !
Il y a quelques mois, un prof de l'université nous avais accosté en nous expliquant qu'ils cherchaient des chargés de TD et que si on était interressé, il n'y avait qu'à les contacter.
Vu qu'actuellement, je suis sans emploi, je me suis dit que ça serait sympa de répondre à cette offre si sympatique. J'ai donc contacté le prof en question qui a transmis mon message à ses collègues, et j'ai eu une réponse assez rapidement du responsable de l'alternance de l'iut.
Au début, je pensais que je devais assurer les TD et les TP d'un groupe qui suivait déjà les cours d'un autre prof. En fait, non. Je m'occupe du module complet, c'est à dire préparation du cours, du TD, du TP, animation des cours et des TDs/TPs et également l'évaluation finale. Bref, je fais tout, et je suis seul maitre à bord.
Au niveau des matières, je vais faire un cours de système (utilisation et programmation d'un unix quelconque) et d'administration système (avec GNU/Linux comme cobaye). J'en suis à la redaction du cours et des tds, c'est pas évident, mais rien d'insurmontable.
Administrativement par contre, c'est plus compliqué. Pour être payé 70h entre 35 et 40 euros de l'heure, je dois satisfaire à l'une des conditions suivantes : - justifier de 900 heures de salaire entre le 1er septembre 2005 et le 31 aout 2006 - justifier de 334 heures de salaire dans un centre de formation entre le 1er septembre 2005 et le 31 aout 2006 - être étudiant en 3ème cycle.
La première alternative me parait peut envisageable puisqu'il faudrait que je commence a travailler à temps complet en janvier pour effectuer les 900 heures. La seconde n'est pas non plus envisageable.
Pour la troisième condition, c'est un peu plus flou, entre les dates qui ne correspondent plus et des histoires de statistiques, en gros, c'est pas possible.
On m'a donc proposé in extremis une quatrième voie qui est de créer sa propre entreprise. Le principe est de facturer la fac et donc de recevoir les sous de cette façon. Apres moulte consultations de documents du Centre des Formalités des Entreprises, j'en suis arrivé au résultat suivant : je fais faire une EURL sous le régime des microentreprises : impositions sur le revenu, pas de TVA à payer, pas de taxe professionelle la première année, tout semble bien se passer.
Et bien non, le problème, ce sont les charges sociales. La prmière année, elles ne sont pas indexées sur le chiffre d'affaire, mais sont fixes. Et impossible de connaitre le montant exact. Autant dire que si c'est pour payer plus que ce que je vais gagner en charge sociale, ce n'est même pas la peine...
Bon, déjà, comme tous les ans, Noël va se fêter en famille. Et ça va pas être drôle. Cette année encore moins puisque la reine mère a décrétée qu'elle ferait sa sauterie le 24 au soir, ce qui me prive du seul réveillon que j'appréciais (que j'y aille ou pas). Du coté de Rueil, c'est pas non plus la fête puisqu'on doit aller à l'autre bout de la région parisienne, ranger la maison, faire un peu de ménage, pour pouvoir manger un repas qui aura été préparer avec d'obscurs aliments dans d'obscurs plats avec une conversation non moins obscure, avec une ambiance de rien du tout (C'est pas évident de se mettre dans le monde d'une personne de 90 ans).
Un "vrai" repas de Noël est prévu le 26 au soir, pourquoi pas.
Pour le jour de l'an, vu que Mickael ne prévoit plus de faire quelque chose le 1er au soir, il ne reste que le 31 pour faire la fête. Et là, j'ai réfléchi un peu et j'ai trouvé que c'était completement débile que tout le monde fasse la fête au même moment. Comme pour tout évenement unique ou rare, il faut donc s'y prendre à l'avance pour organiser quelque chose avec des gens. Et en ce moment, je n'ai pas la tête à faire la fête sur commande. Je ne suis donc pas rentré sur le marché de la fête en démarchant tout le monde pour savoir ce qu'il faisait, avec qui, où, etc. Je n'ai pas non plus proposé 3 mois à l'avance une super soirée avec maxigens et maxibouffe pour flatter mon égo et mon réseau social.
Bref, je m'aperçois que pour qqn qui veut quelque chose de simple, sans avoir a se prendre la tête sur l'organisation pré et post réveillon, et bien ce n'est pas possible... Et ça, ça me gonfle !
Alors, les règles sont simples, il faut écrire 6 choses au hasard à propos de la personne qui joue (moi), et transmettre les règles à 5 personnes avec injonction de les suivre.
donc :
Les nominés sont Olivier G, lunar, Virginie (l'aimable bestiole qui traine sur mes genoux en attendant à manger et en miaulant à corps et à cris), JWBush, la première personne qui laissera un commentaire sur ce blog à partir de maintenant, et enfin toi, fidèle lecteur.
[1] Vous savez, ce style musical sans paroles, et qui n'existe pas en France (Wikipedia Trance)
Lorsqu'un Parisien évoque Marseille, c'est rarement en bien.
Lorsque j'avais annoncé que mon contrat de travail était basé à Marseille (pour frauder l'Anvar), on m'avait sortit tout un tas de généralités sur le comportement de la majorité de ses habitants... D'ailleurs, ces comportements ont été confirmés par deux Marseillais à qui j'ai eu à faire ya pas longtemps. Il était clair dans le discours de l'ami d'un ami (je ne sais plus comment il s'apelle) que les Parisiens n'était pas bien vu là bas. Mais bon, je me méfie de ces jugements un peu excessifs et sans doute non représentatifs.
Aujourd'hui, ma soeur est revenue d'un voyage à Marseille. À priori, elle ne devait pas connaitre tout ce qu'on raconte entre Marseillais et Parisiens. Je lui demande innocemment "Alors, Marseille, c'était comment ?". Réponse : "C'est très joli, mais alors, les habitants..."
Bref, ça me confirme l'idée que je n'ai strictement rien à foutre dans cette ville aux habitants de merde.
Bon, j'ai fais ce que je voulais faire depuis quelques temps déjà, toiletter un peu la feuille de style pour faire vivre ce blog suivant les saisons... Voila qui est fait, vous rendrez compte des nouveautés pendant ces prochains jours :-)
Un document très intéressant sur ce qui motive réellement les "réformes" actuelles. Une preuve, s'il en fallait une, que tous ce qui se dit à la télévision n'est que pur mensonge et que les populations sont sans cesses manipulées.
Voici une petite chronique de ce que ce tr** du c** nous a deja préparé :
http://www.odebi.org/lct/Leslogspourlesnuls.html
Bonne lecture
Extrait : En l'état, la LCT place donc tous les internautes français sous techno-surveillance policière constante, les considérant de ce fait tous comme des suspects, écarte totalement et volontairement le rôle du juge constitutionnellement gardien des libertés, et instaure sans aucune ambigüité un état policier numérique.
Résumé (par fabien de linuxfr.org) : avec comme corrolaire, et en gros, comme expliqué dans l'article, si un qqun (police..) utilise les logs pour autre chose que la lutte contre le terrorisme, mais pour son usage personel, et bien vous ne pouvez pas vous defendre, celà ne relevera pas de la justice, mais du ministere de l'interieur... un état policier.
![]() | You scored as Charlie. You're Charlie! Sweet, adorable and caring but with a bit of a bad habit.
Who is your "Lost" alter ego? created with QuizFarm.com |
J'ai jamais vraiment abordé le fonctionnement que j'ai choisis pour ce projet. Le principe est simple : un module principale (le nom n'est peut-être pas très bien choisi) au centre du système attend la connexion de tous les autres modules et redistribue les messages reçus vers les modules concernés. Chaque module, à la connexion, précise les messages qu'il veut recevoir, et réagit en fonction des messages qu'il reçoit, en envoyant d'autres messages.
L'idée derrière tout ça est de bâtir un système programmé par évenement : le fonctionnement du programme ne serait qu'une suite d'évenements dont certains seraient la conséquences d'autres, et les autres produits par le matériel sous-jacent (le réseau en l'occurence). L'ensemble communique via des sockets ordinaires, permettant une distribution du système sur plusieurs machines si nécéssaire.
Pour me faciliter la tâche, notamment en ce qui concerne toutes les communications réseaux, je me suis fait une petite bibliothèque de socket qui fonctionne par évenement. Elle commence à devenir mature, puisque je ne la retouche quasiment plus et qu'elle réagit exactement comme je le souhaite (distribution des évenements, bloquante mais pas trop, gestion correcte des déconnexions, etc.). Par dessus cela, j'ai rajouté une couche de protocole pour mettre en forme un minimum la communication. L'échange d'information se fait sous forme de texte. Les données sont envoyées structurées grace à des dictionnaires en python qui sont écrit grace au module pretty print et lu grace à la fonction eval(). Je n'ai donc presqu'aucun travail d'analyse de flux à faire, et la sérialisation se fait toute seule.
Au final, l'écriture d'un module est rendu triviale. Il suffit d'instancier une classe CyberrailConnection, d'enregistrer les type de message qui nous interesse et auxquels sont associés des callback, et enfin d'appeler la fonction main() de cette classe. La négociation avec le module principal se fait tout seul et les évenements arrivent directement. Le module principale envoie toujours au début un message de bienvenue permettant au module de reprendre la main s'il a envie d'initier une communication.
Je pense avoir fait le gros du travail sur la couche de communication entre processus. Le fait de faire découpage clair permet une conception bien plus robuste du système, c'est un avantage non négligeable.
J'apprécie vraiment ce petit outil de KDE. Il a the killer feature : il gère la transparence des png ! Même si c'est de façon rudimentaire pour le moment, c'est super efficace pour faire des schémas propres et vite fait.
Je viens de m'apercevoir qu'un reseau ferré n'était pas vraiment un graphe, voir même pas du tout.
Prenons l'exemple simple d'un graphe connexe :
Comme on peut le voir, le noeud 3 est relié aux noeuds 1, 2 et 4. Si on suit la logique des graphes, les noeuds 1 et 2 sont reliés entre eux par le noeud 3, et un train, par exemple, pourrait passer par le noeud 3 pour aller du noeud 1 au noeud 2. Le probleme, c'est que ça ne marche pas à l'échelle d'une voie.
Prenons un exemple un peu plus proche de la réalité :
Dans cet exemple, les noeuds 1 et 2 sont effectivement reliés par le noeud 3, mais il serait impossible pour un train de passer sur l'autre voie du fait de l'orientation de l'aiguillage. En provenance de 1 ou de 2, les trains ne peuvent que aller vers 4 une fois passés 3.
Toutes ces explications pour montrer que les représentations classiques de graphes en mémoire ne fonctionnent pas pour des voies ferrées. En effet, si on reprend notre exemple, on peut poser les choses de la façon suivante :
{'links': {10: {'link': (1, 3)},
11: {'link': (2, 3)},
12: {'link': (3, 4)}},
'node': {1: {'pos': (1, 1)},
2: {'pos': (2, 1)},
3: {'pos': (2, 2)},
4: {'pos': (2, 3)}}}
Chaque noeud défini ses coordonnées, et chaque lien indique entre quel et quel noeud la liaison est faite. Le problème, c'est que de façon algorithmique, on ne sait absolument pas les chemins qui sont possibles de ceux qui ne le sont pas. Deux solutions à ce probleme :
Donc, pour chaque bout de pièce de rail, on associe une valeur parmis un ensemble de deux valeurs. J'ai pris l'ensemble booléen constitué de deux éléments (vrai et faux). Je ne sais pas si c'est tres pertinent vu que j'enlève complètement la sémantique de valeur de vérité dans ce cadre précis. Les bouts de pièces doivent être racordés de façon à ce qu'un bout de pièce "vrai" soit connecté à un bout de pièce "faux". Cela marche dans tous les cas puisque ces deux morceaux sont forcément en opposition (l'un en face de l'autre). Par contre, certaines pièces, comme des pièces en forme de U auront deux bouts avec la même valeur. Ce n'est pas génant du moment puisque les pièces qui y seront racordées seront à la valeur opposée.
De façon arbitraire, j'ai décidé que les valeurs "vrai" et "faux" seraient répartis de la façon suivante. C'est juste une convention qui marche à tous les coups, mais si à un moment elle n'est pas respectée, le système fonctionnera du moment que les "vrais" bouts sont connectés aux "faux" bouts.
J'aurais pu intercaler "vrai" et "faux". La seule contrainte est que l'opposé d'une branche corresponde à l'opposé d'une valeur.
Cela fonctionne en deux dimensions. Si un jour quelqu'un s'amuse à faire une représentation en 3D, ça marchera aussi. Je part du principe qu'il n'y aura pas d'aiguillage à la verticale (Disgression en passant, le système de gestion accepte n'importe quel type de coordonées (qui sont considérés comme des étiquettes). Libre à vous de mettre en coordonnée "Chez ma grand mère").
Pour notre exemple, cela donnerais :
{'links': {10: {'link': (1, 3), 'side': (False, True)},
11: {'link': (2, 3), 'side': (False, True)},
12: {'link': (3, 4), 'side': (False, True)}},
'node': {1: {'pos': (1, 1)},
2: {'pos': (2, 1)},
3: {'pos': (2, 2)},
4: {'pos': (2, 3)}}}
Notez que la déduction que les noeuds 1 et 2 ne sont pas accessibles l'un à l'autre peut maintenant se faire puisque la valeur de vérité de chacun des bout est "vrai". Par contre, la troisième liaison est possible puisque la valeur est "faux". En image, cela donne :

Pour ceux qui n'ont rien à faire, voici la structure de test sur laquelle je travaille. Elle est un peu différente, mais le principe est le même. Envoyez moi vos images :-)
{'junctions': {(1, 4): {'id': 80},
(4, 1): {'id': 10},
(4, 7): {'id': 70},
(5, 1): {'id': 20},
(5, 7): {'id': 60},
(6, 1): {'id': 30},
(6, 7): {'id': 50},
(9, 4): {'id': 40},
(9, 5): {'id': 90}},
'links': {5: {'link': ((1, 4), (4, 1)), 'side': (True, True)},
15: {'link': ((4, 1), (5, 1)), 'side': (False, True)},
25: {'link': ((5, 1), (6, 1)), 'side': (False, True)},
35: {'link': ((6, 1), (9, 4)), 'side': (False, True)},
45: {'link': ((9, 4), (6, 7)), 'side': (False, False)},
55: {'link': ((6, 7), (5, 7)), 'side': (True, False)},
65: {'link': ((5, 7), (4, 7)), 'side': (True, False)},
75: {'link': ((4, 7), (1, 4)), 'side': (True, False)},
85: {'link': ((9, 4), (9, 5)), 'side': (False, True)}}}