[Toulouse-pm] OSCON Jeudi
mirod at xmltwig.com
Thu Jul 10 20:38:20 CDT 2003
Voila le CR de Jeudi. Notez que j'ai rate pas mal du matin... le prix a
payer pour une rude soiree hier ;--(
Si vous allez a YAPC vous pouvez sauter la description du talk de MJD, il
le fait aussi (en plus long) a Paris.
45 minutes by MJD
The Quilt project
(for the French speakers a quilt is un "patchwork")
MJD wrote a program to generate quilt patterns to impress his
girlfriend. He eventually got married to her.
The project was declared highly successful, actually the most
successful he ever did.
"Text::Template" is stable, functional, and no new version
needs to be released. So users complain and worry that it has
been abandonned. Should he just update it every month? (He
blames Microsoft for this deplorable state of mind).
He also found out that people do not want to subclass the
module and instead want him to add features to the module. He
describes how to subclass it and urges not to be afraid of
Getting help from strangers
How to increase your chances to get help when asking help
(from him or other strangers).
Put your name in the email, give context, explain why it is
important (if it is), be polite.
How to progress
* Read books that other people are not reading (so he
cannot tell us which books to read or we would all be
eading the same books ;--)
* Read original source material (Einstein book, Gallilleo's
* Read actively, ask yourself questions while reading
* Take notes
The Holy Grail of computing Science is trying to solve
NP-Complete Problems (if you solve 1 you can solve all of
Even if you cannot find the optimal solution to the problem
that does not mean that you can't find a close enough
solution. So don't give up.
A (very short) song by MJD
When people ask basic questions he tends to just give the
answer, instead of answering "perldoc foo" (he gives a fish
instead of teaching them how to fish) He explains why.
Why Lisp is never going to win
Basically because of the community attitude. He shows a very
funny usenet post from
A message for the Aliens
He shows a real message sent to aliens. It is a REALLY weird
Perl6 Design Philosophy
Simple is better, but not all problems are simple (the
simplest language is just no language, but that's not really
The waterbed theory: you will need some complexity, and if
you simplify an aspect of the language, then an other aspect
will have to be complex.
The talk summarizes the design discussion in *Perl6
Essentials* which I was reading this morning.
Template Toolkit 3
Lots of cool new syntax features, speed improvements.
Andy plans to split up TT in 2: generic template processing
tools in Template::Toolkit and Template::TT2,Template::TT3
(and even Template::Mason, Template::HTML)
He wants the tookit to be more modular, so you can swap out
some parts, replace them, or use equivalent parts from
another toolkit. This will also make debugging easier. It
will also allow for the creation of custom tags, processed by
the templating system.
You could also mix templating systems (have some Mason
templates, some custom ones and some TT3 ones).
Randall throws in the idea that TT4 could compile to Parrot
bytecode, which would open the door to interesting
TT3 will be available.... real soon now! Hopefully by the end
of the year.
TIPS for Learning XSLT
Adam "ziggy" Turoff
XSLT IS a programing language. And a weird one at that. It
actually includes 3 languages: XPath, XSLT and the output
language (HTML, or RSS or whatever)
It encourages incremental development: change -> test. Start
small and grow the program from there. Use XPath as much as
possible. XPath is extremely powerful. It appears in "match"
templates, in "select" expressions, in attribute values
Use the default behavior (visit children for all element and
emit text or attribte nodes)
If multiple templates match, the last one is used: place more
specific matches after generic ones.
You can loop using recursion... but try to avoid it. Iterate
over lists of nodes returned by XPath.
Re-use is done with importing and including, which are
slightly different: include overrides the local definitions,
while import doesn't.
Look at the Docbook stylesheets
Use empty template rules to remove elements
Push vs Pull
process current element, then let templates apply to
children.This is rule based programing.
grab current element and the relevant children, process.
This is closer to procedural programing.
Choose wisely which one to use. Roughly pull is often good
for data (very structured) while push is better for
Cool, that's one distinction that I have always found very
important, but that I rarely see mentioned, at least that
5 things we do wrong with XML
This sounds like a talk for me!
This talk is honor of XML's 5th Anniversary
People are too quick to use XML
Often people just want to be buzzword compliant.
People are too slow to use it
Sometimes XML IS the right solution. Then don't hesitate.
THese things should have schemas
Software change logs, diffs, cooking recipes
Then my laptop died... no more battery
Writing about Perl
Randal Schwartz and Tom Phoenix
To really learn the subject answer questions, on usent or
Perlmonks. Teaching is great because of the immediate
Authoring formats: pod, FrameMaker, troff, LateX (in
increasing order of uglyness)
Writing a book takes a LONG time: a whole day of work per
page. It doesn't really pay either (less than minimum wages).
The book's main point is to raise your profile.
Write the introduction last (when you know what the rest of
the book is).
Perl & XML
More information about the Toulouse-pm