I'm happy to announce that my contribution to TUG 2011, the next TeX
Users Group International conference, has been accepted. Please find the
title and abstract below.
LaTeX Coding Standards
Because LaTeX (and ultimately TeX) is only a macro-expansion system, the
language does not impose any kind of good software engineering practice,
program structure or coding style whatsoever. As a consequence, writing
beautiful code (for some definition of "beautiful") requires a lot of
self-discipline from the programmer.
Maybe because in the LaTeX world, collaboration is not so widespread
(most packages are single-authored), the idea of some LaTeX Coding
Standards is not so pressing as with other programming languages. Some
people may, and probably have developed their own programming habits,
but when it comes to the LaTeX world as a whole, the situation is close
to anarchy.
Over the years, the permanent flow of personal development experiences
contributed to shape my own taste in terms of coding style. The issues
involved are numerous and their spectrum is very large: they range from
simple code layout (formatting, indentation, naming schemes etc.),
mid-level concerns such as modularity and encapsulation, to very
high-level concerns like package interaction/conflict management and
even some rules for proper social behavior.
In this talk, I will report on all these experiences and describe what I
think are good (or at least better) programming practices. I believe
that such practices do help in terms of code readability,
maintainability and extensibility, all key factors in software
evolution. They help me, perhaps they will help you too.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Dear all,
I'm happy to inform you that my contribution to the next TeX Users Group
international conference, TUG 2012, has been accepted. Please find the
title and abstract below.
Star TeX, the Next Generation
In 2010, I asked Donald Knuth why he chose to design and implement TeX as a
macro-expansion system (as opposed to more traditional procedure calls). His
answer was that:
1/ he wanted something relatively simple for his secretary who was not a
computer scientist,
2/ the very limited computing resources at that time practically mandated the
use of something much lighter than a true programming language.
The first part of the answer left me with a slight feeling of skepticism. It
remains to be seen that TeX is simple to use, and when or where it is, its
underlying implementation has hardly anything to do with it.
The second part of the answer, on the other hand, was both very convincing and
arguably now obsolete as well. Time has passed and the situation today is very
different from what it was 50 years ago. The available computing power has
grown exponentially, and so has our overall skills in language design and
implementation.
Several ideas on how to modernize TeX already exist. Some have been actually
implemented. In this talk, I will present mine. Interestingly enough, it seems
to me that modernizing TeX can start with grounding it in an old yet very
modern programming language: Common Lisp. I will present the key features that
make this language particularly well suited to the task, emphasizing on points
such as extensibility, scriptability and multi-paradigm programming. The
presentation will include reflections about the software engineering aspects
(internals), as well as about the surface layer of TeX itself. Most notably, I
will explore the possibilities of providing a more consistent syntax to the
TeX API, while maintaining backward compatibility with the existing code base.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Hello,
my Onward! 2011 essay, entitled "Biological Realms in Computer Science",
has been published in the ACM Digital Library and is now available
online. You can download it at the following address:
http://www.lrde.epita.fr/~didier/research/publis.php#verna.11.onward
In biology, evolution is usually seen as a tinkering process, different
from what an engineer does when he plans the development of his systems.
Recently, studies have shown that even in biology, there is a part of
good engineering. As computer scientists, we have much more difficulty
to admit that there is also a great deal of tinkering in what we do, and
that our software systems behave more and more like biological realms
every day. This essay relates my personal experience about this
discovery.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Dear collegues,
I'm happy to inform you that our paper entitled
"Generic Image Processing with CLIMB"
has just been accepted to the next European Lisp Symposium (April 30 -
May 1, Zadar, Croatia). Please find the abstract below:
We present Climb, an experimental generic image processing library
written in Common Lisp. Most image processing libraries are developed in
static languages such as C or C++ (often for performance reasons). The
motivation behind Climb is to provide an alternative view of the same
domain, from the perspective of dynamic languages. More precisely, the
main goal of Climb is to explore the dynamic way(s) of addressing the
question of genericity, while applying the research to a concrete
domain. Although still a prototype, Climb already features several
levels of genericity and ships with a set of built-in algorithms as well
as means to combine them.
--
Resistance is futile. You will be jazzimilated.
Scientific site: http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com
EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bicêtre, France
Tel. +33 (0)1 44 08 01 85 Fax. +33 (0)1 53 14 59 22
Chers collègues,
attention : changement d'horaire !
Le séminaire commencera à 14h30 et non à 14h.
Au programme:
* 14h: Le point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images
-- Laurent Najman
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 21 mars 2012 (14h-16h).
Au programme:
* 14h: Le point de vue d'un théoricien sur l'intérêt de la généricité pour le traitement d'images
-- Laurent Najman
Une question fondamentale pour mes recherches est de savoir ce qu'est
une image. Cela peut sembler à première vue une question trop simple :
une image, c'est un ensemble de points. Mais ces points sont reliés
entre eux, c'est ce qu'on appelle une structure, et ils ont des données
de types multiples qui leur sont attachées. La bibliothèque Milena,
développée au LRDE, est une bibliothèque générique dédiée au traitement
d'images. Dans Milena, trois axes indépendants sont développés : l'axe
des structures, l'axe des données, et celui des algorithmes,
c'est-à-dire de ce qu'on peut faire avec une image.
Dans cet exposé, je vais développer plusieurs exemples dans lesquels je
choisirai un algorithme et un type de données, en faisant varier la
structure. Changer la structure, c'est penser les images d'une manière
différente, et c'est quelque chose d'extrêmement porteur en recherche.
- Un premier exemple est celui d'un algorithme classique de
segmentation : la ligne de partage des eaux. Originellement pensé sur
les pixels, sa traduction dans le cadre des arêtes donne le problème
classique d'arbre couvrant de poids minimum. Si la ligne de partage
des eaux est très connue en traitement d'images, les arbres de
poids minimum sont très utilisés en classification. Un pont naturel
est alors établi entre deux communautés différentes, et les idées
provenant de ces deux communautés peuvent être combinées.
- Un deuxième exemple est celui de la représentation arborescente des
images. Pour illustrer, tant les lignes de niveaux que les
composantes connexes des ensembles de niveaux (les coupes) des
images sont naturellement structurées en arbre : deux lignes ou deux
composantes sont soit disjointes soit emboîtées. On peut filtrer
une image en éliminant de l'arbre tous les nœuds qui ne vérifient
pas un critère. Mais on peut aussi considérer l'arbre lui-même comme
une image, et appliquer sur cet arbre un algorithme de traitement
d'images. C'est une idée récursive très riche.
D'autres exemples pourront être développés en fonction du temps : liens
entre ligne de partage des eaux topologique et segmentation
hiérarchique, topologie discrète dans divers cadres...
La bibliothèque Milena permet d’appliquer la plupart des algorithmes
existants à une nouvelle structure, ce qui est un gain de temps
incontestable. Cela permet de se concentrer sur ce qui fait le cœur de
mon métier: chercher un algorithme plus efficace, adapté à un type de
structure, ou encore chercher quelles sont les propriétés mathématiques
d’un algorithme sur une structure donnée.
-- Laurent Najman a reçu l’habilitation à diriger les recherches de
l'université de la Marne-La-Vallée en 2006, un doctorat en mathématiques
appliquées de l’université de Paris-Dauphine en 1994, et un diplôme
d’ingénieur de l'École des Mines de Paris en 1991.
-- Il a travaillé chez Thomson-CSF sur la segmentation d'images
infrarouges en utilisant la morphologie mathématique, chez Animation
Science sur des systèmes de particules pour l'infographie et de la
visualisation scientifique, puis chez OCÉ sur des problèmes d’analyse et
de traitement d'images pour l'impression.
-- Depuis 2002, il est enseignant-chercheur à l’ESIEE, actuellement
professeur, membre du Laboratoire d’Informatique Gaspard-Monge
(Université Paris-Est). Ses recherches portent sur la morphologie
mathématique discrète et l’optimisation discrète.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire
Chers collègues,
La prochaine session du séminaire Performance et Généricité du LRDE
(Laboratoire de Recherche et Développement de l'EPITA) aura lieu le
Mercredi 14 mars 2012 (14h-16h).
Au programme:
* 14h: Reusable Generic Look Ahead Multithreaded Cache - a case study for a high resolution player
-- Guillaume Chatelet
L'industrie des effets spéciaux produit une grande quantité d'images
qu'il faut traiter et afficher. Dans le cadre de ses développements
internes, Mikros Image a développé et mis en Open Source un player
d'images temps réel : duke. Dans cet exposé je décrirai quels sont les
enjeux techniques d'un tel logiciel (allocation mémoire, accès disque,
multiplicité des formats, affichage, traitement...) puis j'expliquerai
plus en détails les étapes de la conception d'un composant essentiel
permettant de lire et décoder le plus rapidement possible les images à
afficher. Ce composant ayant pour but d'être intégré dans d'autres
outils, il doit être réutilisable.
-- Guillaume Chatelet est diplômé de l'ENSICaen et titulaire d'un DEA en
intelligence artificielle et algorithmique. Il travaille en qualité
d'ingénieur recherche et développement à Mikros Image depuis sept ans.
En 2007, il contribue à la bibliothèque Loki, initiée par Andrei
Alexandrescu, puis à la plateforme Eclipse.
Pour plus de renseignements, consultez http://seminaire.lrde.epita.fr/.
L'entrée du séminaire est libre. Merci de bien vouloir diffuser cette
information le plus largement possible.
--
Akim Demaille
Akim.Demaille(a)lrde.epita.fr
_______________________________________________
Seminaire mailing list
Seminaire(a)lrde.epita.fr
https://www.lrde.epita.fr/mailman/listinfo/seminaire