BooK monte une réunion pirate
Un historique approximatif des réunions de Paris.pm
Malgré les circonstances
exceptionnelles, une mini-réunion
des Perl Mongueurs a eu lieu le
mercredi 2 février, pour ceux qui ne
pouvaient pas dégager
leur samedi, ou pour ceux qui n'ont pas pu
résister à
l'appel de la
sirène du mercredi, faute d'être
attaché
au mât de leur navire. Nous tenons à signaler qu'il ne
s'agit pas d'un
congrès
de Tours, ni d'un
schisme, ni d'un
divorce.
La prochaine réunion regroupera tout le monde
(on espère). Il y avait donc :
- Artur et Philippe ont parlé cartes de communication et drivers
pour icelles. Je dois avouer que j'étais un peu largué...
Toujours est-il que, après avoir connecté une VT100 sur sa
machine Linux, Philippe a essayé d'installer une sonde de
température, et il a l'intention de connecter un minitel.
- Le concours de C assombri
(International Obfuscated C Code Contest)
est lancé. Cela a permis à Philippe de nous présenter
ce qu'il a fait pour l'instant pour l'OPC. J'ai également
rappelé que lors de l'un des premiers OCC, l'un des gagnants
était un certain
Larry Wall, du
JPL
(vous savez, l'auteur de rn et de patch).
- Artur a évoqué sa jeunesse, et son activité de
radio-amateur. Comme c'était au Portugal, et avant 1975,
c'était illégal... Il a également pratiqué la
télévision pirate...
- SETI at home n'a
toujours pas donné de résultat. Mais y a-t-il des chances raisonnables de
succès ? Pendant combien de temps une civilisation utilise-t-elle les
ondes électro-magnétiques pour communiquer ? Et à ce propos, à quelle
distance et depuis quand notre civilisation terrestre est-elle
détectable ? Spoutnik date de 1957, mais pour ceux qui ont lu
Contact de Carl Sagan,
et peut-être ceux qui ont vu le film avec Jodie Foster, il y avait déjà des
émissions 20 ans plus tôt (je n'en dirai pas plus, lisez le roman).
- Artur évoque l'intérêt de miniperl. Pour ceux qui ne
connaissent pas, c'est un interpréteur Perl privé de quelques
fonctionnalités, et brièvement utilisé lorsque vous installez Perl.
Entre autres, il ne peut pas traiter les use et
les require. Mais son avantage est sa faible taille, ce qui
permet de l'utiliser dans des configurations dégradées.
Comme quoi, les grands esprits ont failli se rencontrer...
- Nous avons évoqué la complexité croissante des
projets informatiques. Le nombre de lignes est-il significatif ? Cela
dépend de la façon dont vous identez votre code, et de
l'abondance de commentaires, surtout les commentaires réglementaires du genre
/*------------------------------------------------*/
/* */
/* Fonction : */
/* verif_ligne */
/* */
/* Parametres : */
/* char * buff ligne a controler */
/* */
/* Retour : */
/* int compte-rendu controle */
/* 0 erreur */
/* 1 OK */
/* */
/*------------------------------------------------*/
/* */
/* Date : 31 decembre 1999 */
/* */
/* Auteur : Marcel Dupont */
/* et cetera */
/* gna gna gna */
/* */
/*------------------------------------------------*/
Philippe a évoqué un comptage basé sur les
instructions, ce qui permettrait selon moi de mieux comparer la
complexité d'un programme COBOL et d'un programme APL.
Artur, lui préfère compter les fonctions. [et les function points? -- ndlr]
- Dans la lignée de cette réflexion, Artur nous révèle
que, pour lui, le source du Korn shell est peut-être le source le
plus compliqué qu'il ait jamais consulté. J'ai entendu dire
que le source du Bourne shell était plutôt mal écrit
(variables anti-mnémoniques), et qu'il contenait un
commentaire
du genre "Vous n'êtes pas
censé comprendre ce qui suit".
- Il y a plusieurs années,
Artur avait effectué le portage
d'un shell d'une machine vers une autre. Cela ne s'est pas fait tout seul.
Du coup, quand ses collègues et lui ont pu exécuter
echo
Hello World! ils ont ouvert trois bouteilles de champagne.
- Il faut fouiller dans les scripts shell fournis par les
constructeurs, on y trouve pas mal d'astuces. C'est ainsi qu'Artur a découvert
que l'on pouvait faire l'équivalent du "split" Perl en bidouillant la variable
shell IFS et en effectuant un read. Par exemple, pour imprimer les codes
utilisateurs et les noms d'un fichier passwd du genre :
rms:*:10:14:Richard Stallman:/home/rms:/bin/bash
esr:*:20:14:Eric Raymond:/home/esr:/bin/bash
lwall:*:25:14:Larry Wall:/home/lwall:/bin/bash
tchrist:*:25:14:Tom Christiansen:/home/tchrist:/bin/bash
avec des deux-points, on écrira :
#!/usr/bin/ksh
cat /etc/passwd | (
IFS=':'
read
USER BIDON BIDON BIDON NOM BIDON
while [ -n "$USER" ]
do
echo $USER '-> ' $NOM
read USER BIDON BIDON BIDON NOM BIDON
done)
Et
c'est également de cette façon que j'ai découvert un :
while test1
do
commande_1
done |
commande_2
Je m'en suis inspiré pour un utilitaire
qui permet de lister
les fichiers triés par nom ou par taille
:
#!/bin/sh
# du éventuellement trié par taille
#
du -s * | if [ "$1" = '-t' ]
then
sort -n -r
else
cat
fi |
awk '{printf "%8d %s\n", $1, $2}'
- Artur a regretté que
l'activité de la liste des Perl Mongueurs
soit assez faible en ce moment.
- En revanche, chez les CPAN
testers (dont Artur est membre),
il y a du trafic ! Quand on lit les
Perl News, d'ailleurs, on a
une liste
de 20 ou 30 nouveaux modules toutes les semaines.
- Artur a évoqué un benchmark, qui effectue des opérations lourdes
et coûteuses sur une machine. Si le benchmark constate que la machine
supporte la charge, il forke et continue... Cela me
rappelle le livre du
mouflon, paragraphe 17.12.
- Philippe a voulu frimer au boulot, et
tester un nombre premier avec la regexp de la page 196 du
livre du mouflon, et
que j'avais déjà évoquée.
Mais le nombre à tester dépassait le milliard ! Cela dit, Philippe a eu
très rapidement la réponse : Out of memory. Il a
été obligé de se rabattre sur les commandes standards
UNIX, comme factor(1) ou prime(1).
- Quelques réflexions sur Linux et les diverses
distributions : le
problème est qu'il n'y a pas de norme ou de consensus sur l'architecture
des fichiers d'administration, notamment les fichiers utilisés par
cron.
- Artur et moi avons évoqué la
préhistoire
de l'informatique, époque qu'il a vécue et
dont j'ai eu des témoignages de première
main. C'était l'époque des cartes perforées, des trieuses de
cartes. À cette époque, il y avait des perforatrices
(machines pour faire des trous dans les cartes perforées) et des
perforatrices (dactylos qui travaille sur des cartes à 80 colonnes,
pas des feuilles A4).
Artur a vu une perforatrice (une dame) qui tapait à toute vitesse, sans regarder
son clavier, tout en discutant avec ses collègues. Et en plus, elle ne faisait
jamais d'erreur. J'ai connu moi un "bocal" de perforatrices, et de temps en temps,
elles faisaient la pause, laissaient les cartes perforées, et faisaient du
tricot en bavardant.
Cela dit, il vaut mieux des perforatrices qui
font la distinction entre cartes
perforées et tricot, plutôt
que des étudiants ou des
programmeurs
de chez Motorola qui confondent cartes perforées et dentelle.
En fin de soirée, la direction du bar a cru bon de nous mettre un
peu de musique dans notre sous-sol (où il y avait deux autres
groupes paisibles). Comme cette musique était un peu trop forte,
nous avons préféré ajourner la séance.
HTML 5 - CSS v3
Mongueurs de Paris, le 13 janvier 2013
Copyright © The Paris Perl Mongers, 1999-2024