Un calendrier ICS pour le bois du chet…

Nouvelle ville, nouvelle communauté de jeu. Un site sympa pour les rôlistes francophones est le bois du chet. Il offre, outre un forum, un système de calendriers et de résumés de partie. Le problème c’est que je ne veux pas utiliser encore un système de calendrier différent, je préférerais beaucoup que le système s’intégrasse dans iCal, ce qui veut dire supporter le standard ICS. Ce poste est une petite explication sur le format, et comment exporter les informations du bois du chet en ce format.

Le format ICS est un format texte standard (RFC 2445) pour décrire des calendriers. Un bon point de départ pour ce qui est des références est la page de la wikipedia sur le fomat iCal. Le format supporte aussi d’autres fonctionnalités comme les “TODOS” et des entrées de journal, mais je vais me concentrer sur les données de calendrier. Le texte n’est pas du XML, mais simplement des lignes avec des composants, deux points et une valeur. Chaque fichier peut contenir un ou plusieurs événements. Le fichier doit être encodé en UTF-8.

Prenons comme exemple un évènement futur: la thèse de Jonas.


BEGIN:VCALENDAR
VERSION:2.0
PRODID:boisdechet.org/FR
X-WR-CALNAME;VALUE=TEXT:Le Calendrier du bois du chet
BEGIN:VEVENT
UID:538-boisdechet.org
DTSTART:20070301T130000Z
DURATION:PT2H
SUMMARY:Thèse de Jonas
DESCRIPTION:thèse fixée au 1 mars a 14 à Schwerzenbach Schörenstrasse 16.\nLe titre: "Long-term neuro-behaivoural effects of prenatal dexamethasone in Wistar rats and marmoset monkeys".\nJ'ai le pdf si vous êtes intéressés, mailez moi.
ATTENDEE;CN="Steve Jobs":MAILTO:steve.jobs@apple.com
ATTENDEE;CN="Jane Goodall":MAILTO:jane.goodall@janegoodall.org
LOCATION:Schwerzenbach Schörenstrasse 16
URL:http://boisdechet.org/phpcal/templates/eventshow.php?id=538
END:VEVENT
END:VCALENDAR

Les trois premières lignes sont des méta-données: la première ligne définit le format de fichier, la seconde la version. La troisième ligne définit le producteur du calendrier.
La quatrième ligne donne un texte pour décrire le calendrier, il sera utilisé comme titre par des programmes comme iCal. Le reste du fichier est une séquences d’événements. Chaque évènement commence (surprise) par BEGIN:VEVENT et se termine par END:VEVENT. Le fichier se termine par END:VCALENDAR.

La première ligne de l’événement est définit l’identité de celui-ci. Ici il s’agit de la clef de la base de donnée suivie du nom du site. Vient ensuite la date de début de l’événement. Les dates sont au format année-mois-jour-T-heure-minute-seconde-Z. Le caractère Z indique que les heures sont données en UTC (l’événement est à 14:00, d’où l’écriture 130000Z). Le champ DURATION donne la durée de l’évènement
Le champ SUMMARY donne l’intitulé de l’entrée, suivi de la description plus complète. J’ai simplement pris le texte de l’entrée et remplacé les retours chariots par la séquence d’échappement \n et les virgules par \, (et corrigé l’orthographe, mais bon). Les deux lignes suivantes indiquent les participants, “CN” (Contact Name) donne le nom, MAILTO, l’adresse e-mail. La ligne LOCATION: décrit l’emplacement de l’événement et le champ URL décrit, surprise, l’URL qui décrit l’événement.

Capture d'écran de l'événement dans iCal

L’exemple n’est de loin pas complet, il existe de nombreux autre champs pour définir des alarmes, le status des participants et l’âge du capitaine.

Pour finir quelques liens

Commence primary ignition!

LaserJet 6MP Laser Printer

A recurrent element of anime is the old, buried spaceship rising up into the sky out after eons of disuse, vegetation falling of its majestic sides as it unearths itself. The engineer in me always wondered about technology that would still work after such a long disuse. Be it computers or motors, complicated technical devices don’t react well to disuse, so the feeling of restarting old devices is always something special and slightly exciting, especially if we are talking about large crafts. Alas, I doubt there is any old Battlestar buried around my place, only a highway and the of course bunkers, still I got to restart something ancient, or that least feels ancient.

A long time ago, somewhere around 1996, I bought a laser-printer, an HP Laserjet 6MP. At the time, this was quite a good printer, with a 600 DPI resolution and the ability to insert standard RAM SIMMs. And it has a Postscript interpreter- which many newer printers lack. Among the things I recovered from my brother’s place, was this printer. Connecting such printer to a modern laptop is a tad complicated, as the printer has neither USB nor Ethernet interface. I could have used the serial-USB adapter I own, but instead I used another piece of old equipement I recovered: a Dayna Etherprint T Ethernet-Localtalk bridge. The internal twisted pair of this bridge does not work, but it has an AAUI connector, so I used an external Twisted pair transceiver. I then connected the bridge to the printer using a short segment with one length of RJ11 cable and two LanFocus transceiver.

Everything connected I enabled Appletalk on the Ethernet port and lo and behold the LEDs on all the transceivers lit up, and the printer was recognised and setup. I sent a job, it took its time to be spooled, but finally the printer started humming and the paper came out, the print was crisp and clean. Everything worked fine, but then again this is an printer build by the HP of yore. I doubt that nowadays, printers have such a life expectancy…

De cinq en cinq

Un thème trouvé sur le blog d’Amanda: revenir en arrière, de cinq en cinq ans, i.e. les années se terminant en 7 et en 2.

1972
Naissance à Winterthur, à quelques kilomètres au nord de l’endroit où je vis à présent. Évidemment, je ne me souviens de rien, mais je parle encore (mal) le dialecte d’ici.
1977
Saint-Blaise, près de Neuchâtel, un petit village avec vue sur la lac et deux gares avec des trains de couleur différentes! Qu’est-ce qu’on peut demander de plus?
1982
Quatrième année à l’école primaire de la Californie à Collonge-Bellerive, près de Genève. J’ai encore beaucoup de peine avec l’orthographe et la grammaire, ça tombe bien, les enseignantes ont de la peine avec les mathématiques…
1987
Première année au Collège Calvin à Genève. Je suis en latine. Nous sommes sensé être l’élite du canton (après ceux en classique naturellement), le contraste avec le cycle d’orientation est frappant, il y a des gens qui s’habillent sérieusement (surtout parmis les filles), et certains grands ont des voitures. La latine est censément la branche qui me laisse toute les options ouvertes, d’où mon choix, Même si je ne suis pas très bon, c’est intéressant, curieusement je pense que ça m’a pas mal aidé pour certains langages tarabiscoté, notamment le japonais ou le postscript.
1992
Deuxième année à l’Université de Genève, vu le niveau ridicule des maths en Latine au Collège, et le retard pris à cause de l’armée (j’ai d’abord été absent physiquement, ensuite mentalement, quatre mois à ne pas réfléchir, ça laisse des traces), je dois refaire une partie des cours de première (des mathématiques). Je suis quand même une partie des cours de deuxième, de l’informatique à proprement parler. Je commence les choses sérieuses, la programmation en assembleur et en C.
1997
Dernière année à l’Université, je termine mon travail de diplôme et fait plusieurs petits boulots à côté, je suis moniteur aux services informatiques et administrateur système dans un laboratoire. Cet été là, je suis chef d’un camp de voile, c’est le chaos, mais personne ne meurt.
2002
Phase finale, notamment de ma thèse…
2007
Je quitte finalement le monde académique et m’installe à Zürich.

La constante des courses…

Une chose que j’ai remarqué au fil des années, c’est que la somme que je dépense aux super-marché est une constante. Je ne parle pas du point de vue de mon budget, mais plus simplement de la somme que j’ai à payer en passant à la caisse. Pour des grandes courses, i.e. ce que je peux porter à pied, ce qui revient à deux grand cornets en papier, le total revient à environ cent francs.

La marge d’erreur est en général de l’ordre de cinq francs. Cette somme est indépendante de ce que j’achète exactement, du temps et aussi du super-marché que je visite. La somme change selon le pays, mais restait stable, 80€ ou 7000¥. La seule surprise, lorsque j’ai été pour la première fois faire de grand courses au petit super-marché à Wollishofen, a surtout été que le total faisait exactement centre francs, au centime près.

Évidemment, la question pour moi est comment en prenant un nombre variable d’éléments ayant eux même des prix variés on arrive à un total constant. Je serais bien incapable de calculer ces totaux de tête, mais le résultat reste. De plus, j’arrive assez souvent à estimer lorsque je serais au dessus des cent francs, typiquement parce que j’achète autre chose que de la nourriture ou des produits de ménage habituels.

Une possibilité est que ce soit lié au poids. Comme je n’ai pas de voiture, la quantité que je peux transporter est limitée…

Rassembler ce qui est dispersé.

Avant mon départ au Japon, j’avais largement dispersé mes affaires. Si une majorité est allé au garde meuble, j’ai prêté pas mal de choses à divers amis et membres de la famille. Évidemment, tout rassembler n’a pas été une chose simple, et ce n’est que hier que j’ai finalement pu boire mon thé dans ma théière.

Passage à la version 2.0.7

Après avoir exploré la situation et soigneusement fait mes backups, je suis passé à la version 2.0.7 de WordPress. Des discussion sont en cours pour voir si on peut installer une nouvelle version de MySQL, ce qui permettrait de passer à la version 2.1, mais pour l’instant, ce blog risque de rester avec des version 2.0.x.

Fatigue post Ikéa

Clefs Ikéa

Même si j’ai récupéré mes affaires qui étaient restées au garde meuble en France durant mon séjour au Japon, elles étaient minimale, ce qui m’a permis de redécouvrir les joies du montage des meubles Ikéa. Tout s’est bien passé, mais j’ai apprécié l’aide de mes amis ainsi que la visseuse électrique qu’on m’a prêté. Naturellement, je suis à présent l’heureux propriétaire de cinq nouvelles clefs à six pans. Certaines sont d’un modèle nouveau pour moi…